This commit is contained in:
6arelyFuture 2023-04-13 17:30:38 +02:00
commit 013c6f3b4d
Signed by: Future
GPG Key ID: FA77F074E98D98A5
921 changed files with 337975 additions and 0 deletions

199
codescripts/character.gsc Normal file

File diff suppressed because one or more lines are too long

26
codescripts/delete.csc Normal file

File diff suppressed because one or more lines are too long

26
codescripts/delete.gsc Normal file

File diff suppressed because one or more lines are too long

401
codescripts/struct.csc Normal file

File diff suppressed because one or more lines are too long

420
codescripts/struct.gsc Normal file

File diff suppressed because one or more lines are too long

60
core/_multi_extracam.csc Normal file

File diff suppressed because one or more lines are too long

873
cp/_objectives.gsc Normal file

File diff suppressed because one or more lines are too long

450
cp/_oed.gsc Normal file

File diff suppressed because one or more lines are too long

24
cp/_oed.gsh Normal file
View File

@ -0,0 +1,24 @@
// Name of the visionset file
// alias in script
// priority vs other visionsets
// number of steps when ramping in/out
// activation ramp-in time
// How long to hold after ramp-in is done and before ramping-out
// deactivation ramp-out time

1967
cp/_util.gsc Normal file

File diff suppressed because one or more lines are too long

308
cp/bonuszm/_bonuszm.gsh Normal file
View File

@ -0,0 +1,308 @@
// ----------------------
// AI RELATED
//-----------------------
// 100 Deg
// 180 Deg
// ----------------------
// SPAWNERS
//-----------------------
// ----------------------
// AITYPES
//-----------------------
// ----------------------
// DROPS
//-----------------------
// FFOTD ( 11/03/2015 ) Fix for DT#141451
// Following list comes from the # texture/material index column of the weaponOptions.csv. Any indexes beyond these ones are post ship versions,
// which we do not want to use. The following indexes will not change at all in post ship environment so they are safe to use.
// ----------------------
// POST FX
//-----------------------
// ----------------------
// GDT DATA
//-----------------------
// ----------------------
// WEAPONS
//-----------------------
// Weapons Table path
// weapon
// min_attachments
// max_attachments
// attachments
// magicbox_only
// ----------------------
// PATHABILITY - FOR AI
//-----------------------
// ----------------------
// REACHABILITY - FOR PLAYER
//-----------------------
// ----------------------
// MATURE
//-----------------------
// ----------------------
// Zombie Suicide Explosion
//-----------------------
// ----------------------
// Zombie Sparky
//-----------------------
// ----------------------
// Deimos Zombie
//-----------------------
// ----------------------
// ETHEREAL OVERLAY
//-----------------------
// ----------------------
// SPAWNING
//-----------------------

115
cp/cybercom/_cybercom.gsh Normal file
View File

@ -0,0 +1,115 @@
//Control Set
//Martial Set
//Chaos Set
//rigs
// Enumerations for the different types of arm pulse patterns.
//1023

File diff suppressed because one or more lines are too long

19
mp/_acousticsensor.csc Normal file

File diff suppressed because one or more lines are too long

19
mp/_acousticsensor.gsc Normal file

File diff suppressed because one or more lines are too long

714
mp/_ambient.csc Normal file

File diff suppressed because one or more lines are too long

88
mp/_arena.gsc Normal file

File diff suppressed because one or more lines are too long

55
mp/_armblade.gsc Normal file

File diff suppressed because one or more lines are too long

91
mp/_armor.gsc Normal file
View File

@ -0,0 +1,91 @@
#using scripts\codescripts\struct;
#using scripts\shared\callbacks_shared;
#using scripts\shared\clientfield_shared;
#using scripts\shared\math_shared;
#using scripts\shared\system_shared;
#using scripts\shared\util_shared;
#precache( "lui_menu_data", "hudItems.armorPercent" );
#namespace armor;
function setLightArmorHP( newValue )
{
if ( IsDefined( newValue ) )
{
self.lightArmorHP = newValue;
if( IsPlayer( self ) && IsDefined( self.maxLightArmorHP ) && self.maxLightArmorHP > 0 )
{
lightArmorPercent = math::clamp( self.lightArmorHP / self.maxLightArmorHP, 0, 1 );
self SetControllerUIModelValue( "hudItems.armorPercent", lightArmorPercent );
}
}
else
{
self.lightArmorHP = undefined;
self.maxLightArmorHP = undefined;
self SetControllerUIModelValue( "hudItems.armorPercent", 0 );
}
}
/////////////////////////////////////////////////////////////////
// ARMOR: give a health boost
function setLightArmor( optionalArmorValue )
{
self notify( "give_light_armor" );
if( IsDefined( self.lightArmorHP ) )
unsetLightArmor();
self thread removeLightArmorOnDeath();
self thread removeLightArmorOnMatchEnd();
if( IsDefined( optionalArmorValue ) )
self.maxLightArmorHP = optionalArmorValue;
else
self.maxLightArmorHP = 150;
self setLightArmorHP( self.maxLightArmorHP );
}
function removeLightArmorOnDeath()
{
self endon ( "disconnect" );
self endon( "give_light_armor" );
self endon( "remove_light_armor" );
self waittill ( "death" );
unsetLightArmor();
}
function unsetLightArmor()
{
self setLightArmorHP( undefined );
self notify( "remove_light_armor" );
}
function removeLightArmorOnMatchEnd()
{
self endon ( "disconnect" );
self endon ( "remove_light_armor" );
level waittill( "game_ended" );
self thread unsetLightArmor();
}
function hasLightArmor()
{
return ( IsDefined( self.lightArmorHP ) && self.lightArmorHP > 0 );
}
function getArmor()
{
if( IsDefined( self.lightArmorHP ) )
{
return self.lightArmorHP;
}
return 0;
}

332
mp/_art.gsc Normal file

File diff suppressed because one or more lines are too long

17
mp/_ballistic_knife.gsc Normal file

File diff suppressed because one or more lines are too long

15
mp/_bb.gsc Normal file

File diff suppressed because one or more lines are too long

279
mp/_behavior_tracker.gsc Normal file
View File

@ -0,0 +1,279 @@
#using scripts\shared\math_shared;
#namespace behaviorTracker;
/////////////////////////////////////////////////////
///// Inititialize & Finaliize ////
/////////////////////////////////////////////////////
function SetupTraits()
{
if ( isDefined( self.behaviorTracker.traits ) )
return;
self.behaviorTracker.traits = [];
// Define the traits with a default value. This default value will be used if we dont have stats.
// Add the information to the BBPrint()
self.behaviorTracker.traits["effectiveCombat"] = 0.5;
self.behaviorTracker.traits["effectiveWallRunCombat"] = 0.5;
self.behaviorTracker.traits["effectiveDoubleJumpCombat"] = 0.5;
self.behaviorTracker.traits["effectiveSlideCombat"] = 0.5;
if ( self.behaviorTracker.version != 0 )
{
traits = getArrayKeys( self.behaviorTracker.traits );
for ( i = 0; i < traits.size; i++ )
{
trait = traits[i];
self.behaviorTracker.traits[trait] = float( self GetTraitStatValue( trait ) );
}
}
}
function Initialize()
{
if ( isdefined( self.pers["isBot"] ) )
return;
if ( isDefined( self.behaviorTracker ) )
return;
if ( isdefined( level.disableBehaviorTracker ) && level.disableBehaviorTracker == true )
return;
self.behaviorTracker = spawnstruct();
self.behaviorTracker.version = int( self GetTraitStatValue( "version" ) );
self.behaviorTracker.numRecords = int( self GetTraitStatValue( "numRecords" ) ) + 1;
self SetupTraits();
self.behaviorTracker.valid = true;
}
function Finalize()
{
if ( !( self IsAllowed() ) )
return;
self SetTraitStats();
self PrintTrackerToBlackBox();
}
/////////////////////////////////////////////////////
///// Utility Functions ////
/////////////////////////////////////////////////////
function IsAllowed()
{
if ( !isDefined( self ) )
return false;
if ( !isDefined( self.behaviorTracker ) )
return false;
if ( !self.behaviorTracker.valid )
return false;
if ( isdefined( level.disableBehaviorTracker ) && level.disableBehaviorTracker == true )
return false;
return true;
}
function PrintTrackerToBlackBox()
{
// Prepare the list of traits & its values
// TODO: Construct the string with all the traits so that it can just be added as a single variable in the print.
/*traitsStr = "";
traits = getArrayKeys( self.behaviorTracker.traits );
for ( i = 0; i < traits.size; i++ )
{
trait = traits[i];
value = self.behaviorTracker.traits[trait];
traitsStr = traitsStr + trait + " " + value + " ";
}
bbPrint( "mpbehaviortracker", "username %s version %d numRecords %d %s", self.name, self.behaviorTracker.version, self.behaviorTracker.numRecords, traitsStr ); */
bbPrint( "mpbehaviortracker", "username %s version %d numRecords %d effectiveSlideCombat %f effectiveDoubleJumpCombat %f effectiveWallRunCombat %f effectiveCombat %f",
self.name, self.behaviorTracker.version, self.behaviorTracker.numRecords, self.behaviorTracker.traits["effectiveSlideCombat"],
self.behaviorTracker.traits["effectiveDoubleJumpCombat"], self.behaviorTracker.traits["effectiveWallRunCombat"], self.behaviorTracker.traits["effectiveCombat"] );
}
/////////////////////////////////////////////////////
///// Set, Get & Update Trait ////
/////////////////////////////////////////////////////
function GetTraitValue( trait )
{
return self.behaviorTracker.traits[ trait ];
}
function SetTraitValue( trait, value )
{
self.behaviorTracker.traits[trait] = value;
}
function UpdateTrait( trait, percent )
{
if ( !( self IsAllowed() ) )
return;
math::clamp( percent, -1.0, 1.0 );
currentValue = self GetTraitValue( trait );
if ( percent >= 0 )
{
delta = ( 1.0 - currentValue ) * percent;
}
else
{
delta = ( currentValue - 0.0 ) * percent;
}
weightedDelta = 0.1 * delta;
newValue = currentvalue + weightedDelta;
newValue = math::clamp( newValue, 0.0, 1.0 );
self SetTraitValue( trait, newValue );
bbprint( "mpbehaviortraitupdate", "username %s trait %s percent %f", self.name, trait, percent );
}
/////////////////////////////////////////////////////
///// Game Side Hooks ////
/////////////////////////////////////////////////////
function UpdatePlayerDamage( attacker, victim, damage )
{
if ( isDefined( victim ) && victim IsAllowed() )
{
damageRatio = float( damage ) / float( victim.maxhealth );
math::clamp( damageRatio, 0.0, 1.0 );
damageRatio = damageRatio * -1.0; // Negative damage percent since this is the victim
victim UpdateTrait( "effectiveCombat", damageRatio );
if ( victim IsWallRunning() )
{
victim UpdateTrait( "effectiveWallRunCombat", damageRatio );
}
if ( victim IsSliding() )
{
victim UpdateTrait( "effectiveSlideCombat", damageRatio );
}
if ( victim IsDoubleJumping() )
{
victim UpdateTrait( "effectiveDoubleJumpCombat", damageRatio );
}
}
if ( isDefined( attacker ) && ( attacker IsAllowed() ) && attacker != victim )
{
damageRatio = float( damage ) / float( attacker.maxhealth );
math::clamp( damageRatio, 0.0, 1.0 );
attacker UpdateTrait( "effectiveCombat", damageRatio );
if ( attacker IsWallRunning() )
{
attacker UpdateTrait( "effectiveWallRunCombat", damageRatio );
}
if ( attacker IsSliding() )
{
attacker UpdateTrait( "effectiveSlideCombat", damageRatio );
}
if ( attacker IsDoubleJumping() )
{
attacker UpdateTrait( "effectiveDoubleJumpCombat", damageRatio );
}
}
}
function UpdatePlayerKilled( attacker, victim )
{
if ( isDefined( victim ) && victim IsAllowed() )
{
// Passing -1.0 since to denote negative 100%.
victim UpdateTrait( "effectiveCombat", -1.0 );
if ( victim IsWallRunning() )
{
victim UpdateTrait( "effectiveWallRunCombat", -1.0 );
}
if ( victim IsSliding() )
{
victim UpdateTrait( "effectiveSlideCombat", -1.0 );
}
if ( victim IsDoubleJumping() )
{
victim UpdateTrait( "effectiveDoubleJumpCombat", -1.0 );
}
}
if ( isDefined( attacker ) && ( attacker IsAllowed() ) && attacker != victim )
{
// Passing 1.0 since to denote positive 100%.
attacker UpdateTrait( "effectiveCombat", 1.0 );
if ( attacker IsWallRunning() )
{
attacker UpdateTrait( "effectiveWallRunCombat", 1.0 );
}
if ( attacker IsSliding() )
{
attacker UpdateTrait( "effectiveSlideCombat", 1.0 );
}
if ( attacker IsDoubleJumping() )
{
attacker UpdateTrait( "effectiveDoubleJumpCombat", 1.0 );
}
}
}
/////////////////////////////////////////////////////
///// Stats Related ////
/////////////////////////////////////////////////////
function SetTraitStats()
{
if ( self.behaviorTracker.version == 0 )
return;
self.behaviorTracker.numRecords = self.behaviorTracker.numRecords + 1;
self SetTraitStatValue( "numRecords", self.behaviorTracker.numRecords );
traits = getArrayKeys( self.behaviorTracker.traits );
for ( i = 0; i < traits.size; i++ )
{
trait = traits[i];
value = self.behaviorTracker.traits[trait];
self SetTraitStatValue( trait, value );
}
}
function GetTraitStatValue( trait )
{
return self getDStat( "behaviorTracker", trait );
}
function SetTraitStatValue( trait, value )
{
self setDStat( "behaviorTracker", trait, value );
}

File diff suppressed because one or more lines are too long

13
mp/_bonuscard.gsh Normal file
View File

@ -0,0 +1,13 @@
// bonusCards_t

19
mp/_bouncingbetty.csc Normal file

File diff suppressed because one or more lines are too long

23
mp/_bouncingbetty.gsc Normal file

File diff suppressed because one or more lines are too long

301
mp/_callbacks.csc Normal file

File diff suppressed because one or more lines are too long

64
mp/_callbacks.gsc Normal file

File diff suppressed because one or more lines are too long

1952
mp/_challenges.gsc Normal file

File diff suppressed because one or more lines are too long

45
mp/_claymore.csc Normal file

File diff suppressed because one or more lines are too long

991
mp/_contracts.gsc Normal file

File diff suppressed because one or more lines are too long

16
mp/_contracts.gsh Normal file
View File

@ -0,0 +1,16 @@
//
// mp contract header
//

32
mp/_ctf.csc Normal file

File diff suppressed because one or more lines are too long

16
mp/_decoy.csc Normal file

File diff suppressed because one or more lines are too long

19
mp/_decoy.gsc Normal file

File diff suppressed because one or more lines are too long

48
mp/_destructible.csc Normal file

File diff suppressed because one or more lines are too long

610
mp/_destructible.gsc Normal file

File diff suppressed because one or more lines are too long

2
mp/_destructible.gsh Normal file
View File

@ -0,0 +1,2 @@

915
mp/_devgui.gsc Normal file

File diff suppressed because one or more lines are too long

319
mp/_end_game_flow.csc Normal file

File diff suppressed because one or more lines are too long

19
mp/_entityheadicons.gsc Normal file

File diff suppressed because one or more lines are too long

147
mp/_events.gsc Normal file

File diff suppressed because one or more lines are too long

120
mp/_explosive_bolt.csc Normal file

File diff suppressed because one or more lines are too long

60
mp/_explosive_bolt.gsc Normal file

File diff suppressed because one or more lines are too long

21
mp/_flashgrenades.csc Normal file

File diff suppressed because one or more lines are too long

19
mp/_flashgrenades.gsc Normal file

File diff suppressed because one or more lines are too long

488
mp/_gameadvertisement.gsc Normal file

File diff suppressed because one or more lines are too long

459
mp/_gamerep.gsc Normal file

File diff suppressed because one or more lines are too long

39
mp/_global_fx.csc Normal file

File diff suppressed because one or more lines are too long

173
mp/_gravity_spikes.csc Normal file

File diff suppressed because one or more lines are too long

18
mp/_hacker_tool.csc Normal file

File diff suppressed because one or more lines are too long

19
mp/_hacker_tool.gsc Normal file

File diff suppressed because one or more lines are too long

2
mp/_hacker_tool.gsh Normal file
View File

@ -0,0 +1,2 @@

File diff suppressed because one or more lines are too long

1213
mp/_helicopter_sounds.csc Normal file

File diff suppressed because one or more lines are too long

23
mp/_hive_gun.csc Normal file

File diff suppressed because one or more lines are too long

19
mp/_hive_gun.gsc Normal file

File diff suppressed because one or more lines are too long

488
mp/_incendiary.gsc Normal file

File diff suppressed because one or more lines are too long

275
mp/_laststand.gsc Normal file

File diff suppressed because one or more lines are too long

22
mp/_lightninggun.csc Normal file

File diff suppressed because one or more lines are too long

18
mp/_lightninggun.gsc Normal file

File diff suppressed because one or more lines are too long

160
mp/_load.csc Normal file

File diff suppressed because one or more lines are too long

214
mp/_load.gsc Normal file

File diff suppressed because one or more lines are too long

380
mp/_mgturret.gsc Normal file

File diff suppressed because one or more lines are too long

40
mp/_multi_extracam.csc Normal file

File diff suppressed because one or more lines are too long

185
mp/_nuketown_mannequin.gsc Normal file

File diff suppressed because one or more lines are too long

746
mp/_perks.csc Normal file

File diff suppressed because one or more lines are too long

290
mp/_perks.gsc Normal file

File diff suppressed because one or more lines are too long

537
mp/_pickup_items.gsc Normal file

File diff suppressed because one or more lines are too long

17
mp/_pickup_items.gsh Normal file
View File

@ -0,0 +1,17 @@

22
mp/_proximity_grenade.csc Normal file

File diff suppressed because one or more lines are too long

20
mp/_proximity_grenade.gsc Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

87
mp/_rat.gsc Normal file

File diff suppressed because one or more lines are too long

296
mp/_rewindobjects.csc Normal file

File diff suppressed because one or more lines are too long

20
mp/_riotshield.csc Normal file

File diff suppressed because one or more lines are too long

23
mp/_riotshield.gsc Normal file

File diff suppressed because one or more lines are too long

92
mp/_rotating_object.csc Normal file

File diff suppressed because one or more lines are too long

19
mp/_satchel_charge.csc Normal file

File diff suppressed because one or more lines are too long

18
mp/_satchel_charge.gsc Normal file

File diff suppressed because one or more lines are too long

1694
mp/_scoreevents.gsc Normal file

File diff suppressed because one or more lines are too long

22
mp/_scrambler.csc Normal file

File diff suppressed because one or more lines are too long

20
mp/_scrambler.gsc Normal file

File diff suppressed because one or more lines are too long

19
mp/_sensor_grenade.gsc Normal file

File diff suppressed because one or more lines are too long

58
mp/_shoutcaster.csc Normal file
View File

@ -0,0 +1,58 @@
#using scripts\codescripts\struct;
#using scripts\shared\system_shared;
#namespace shoutcaster;
function is_shoutcaster(localClientNum)
{
return IsShoutcaster(localClientNum);
}
function is_shoutcaster_using_team_identity(localClientNum)
{
return (is_shoutcaster(localClientNum) && GetShoutcasterSetting(localClientNum, "shoutcaster_team_identity" ));
}
function get_team_color_id( localClientNum, team )
{
if ( team == "allies" )
{
return GetShoutcasterSetting(localClientNum, "shoutcaster_fe_team1_color" );
}
return GetShoutcasterSetting(localClientNum, "shoutcaster_fe_team2_color" );
}
function get_team_color_fx( localClientNum, team, script_bundle )
{
color = get_team_color_id( localClientNum, team );
return script_bundle.objects[color].fx_colorid;
}
function get_color_fx( localClientNum, script_bundle )
{
effects = [];
effects["allies"] = get_team_color_fx( localClientNum, "allies", script_bundle );
effects["axis"] = get_team_color_fx( localClientNum, "axis", script_bundle );
return effects;
}
function is_friendly( localClientNum )
{
localplayer = getlocalplayer( localClientNum );
scorepanel_flipped = GetShoutcasterSetting(localClientNum, "shoutcaster_flip_scorepanel" );
if ( !scorepanel_flipped )
friendly = ( self.team == "allies" );
else
friendly = ( self.team == "axis" );
return friendly;
}

21
mp/_smokegrenade.gsc Normal file

File diff suppressed because one or more lines are too long

15
mp/_tabun.gsc Normal file

File diff suppressed because one or more lines are too long

20
mp/_tacticalinsertion.csc Normal file

File diff suppressed because one or more lines are too long

21
mp/_tacticalinsertion.gsc Normal file

File diff suppressed because one or more lines are too long

355
mp/_teamops.gsc Normal file

File diff suppressed because one or more lines are too long

13
mp/_teamops.gsh Normal file
View File

@ -0,0 +1,13 @@

15
mp/_teamset.csc Normal file

File diff suppressed because one or more lines are too long

192
mp/_teargrenades.gsc Normal file

File diff suppressed because one or more lines are too long

116
mp/_threat_detector.csc Normal file

File diff suppressed because one or more lines are too long

187
mp/_threat_detector.gsc Normal file

File diff suppressed because one or more lines are too long

21
mp/_trophy_system.csc Normal file

File diff suppressed because one or more lines are too long

20
mp/_trophy_system.gsc Normal file

File diff suppressed because one or more lines are too long

10
mp/_util.csc Normal file

File diff suppressed because one or more lines are too long

1270
mp/_util.gsc Normal file

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More