Pushed raw files
This commit is contained in:
1 parent
22d0d4d39f
commit
79f967ecc9
5854 files changed
+2989978
No files matched your search
@@ -0,0 +1,19 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\_utility;
|
||||
#include maps\_anim;
|
||||
#include animscripts\shared;
|
||||
|
||||
|
||||
get_flashed_anim()
|
||||
{
|
||||
return anim.civilianFlashedArray[ randomint( anim.civilianFlashedArray.size ) ];
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
flashDuration = self flashBangGetTimeLeftSec();
|
||||
if ( flashDuration <= 0 )
|
||||
return;
|
||||
|
||||
animscripts\flashed::flashBangedLoop( get_flashed_anim(), flashDuration );
|
||||
}
|
||||
@@ -0,0 +1,257 @@
|
||||
#include common_scripts\utility;
|
||||
#include maps\_utility;
|
||||
#include maps\_anim;
|
||||
#include animscripts\shared;
|
||||
|
||||
|
||||
#using_animtree( "generic_human" );
|
||||
|
||||
main()
|
||||
{
|
||||
animscripts\init::main();
|
||||
|
||||
civilian_init();
|
||||
}
|
||||
|
||||
civilian_init()
|
||||
{
|
||||
self.allowdeath = 1;
|
||||
self.disablearrivals = true;
|
||||
self.disableexits = true;
|
||||
self.neverEnableCQB = true;
|
||||
self.alwaysRunForward = true;
|
||||
self OrientMode( "face default" );
|
||||
self.combatmode = "no_cover";
|
||||
self.pushplayer = false;
|
||||
self pushplayer( false );
|
||||
self.a.reactToBulletChance = 1;
|
||||
|
||||
if ( !isdefined( level.initialized_civilian_animations ) )
|
||||
{
|
||||
level.initialized_civilian_animations = true;
|
||||
|
||||
level.scr_anim[ "default_civilian" ][ "run_combat" ][ 0 ] = %civilian_run_upright;
|
||||
|
||||
|
||||
level.scr_anim[ "default_civilian" ][ "run_hunched_combat" ][ 0 ] = %civilian_run_hunched_A;
|
||||
level.scr_anim[ "default_civilian" ][ "run_hunched_combat" ][ 1 ] = %civilian_run_hunched_C;
|
||||
level.scr_anim[ "default_civilian" ][ "run_hunched_combat" ][ 2 ] = %civilian_run_hunched_flinch;
|
||||
//%civilian_run_hunched_B;
|
||||
//%civilian_run_hunched_dodge;
|
||||
|
||||
level.scr_anim[ "default_civilian" ][ "run_noncombat" ][ 0 ] = %civilian_walk_cool;
|
||||
|
||||
weights = [];
|
||||
weights[ 0 ] = 3;
|
||||
weights[ 1 ] = 3;
|
||||
weights[ 2 ] = 1;
|
||||
//weights[ 3 ] = 1;
|
||||
//weights[ 4 ] = 1;
|
||||
|
||||
level.scr_anim[ "default_civilian" ][ "run_hunched_weights" ] = get_cumulative_weights( weights );
|
||||
|
||||
weights = [];
|
||||
weights[ 0 ] = 1;
|
||||
|
||||
level.scr_anim[ "default_civilian" ][ "run_weights" ] = get_cumulative_weights( weights );
|
||||
|
||||
level.scr_anim[ "default_civilian" ][ "idle_noncombat" ][ 0 ] = %unarmed_cowerstand_idle;
|
||||
//level.scr_anim[ "default_civilian" ][ "idle_noncombat" ][ 1 ] = %unarmed_cowerstand_pointidle;
|
||||
|
||||
level.scr_anim[ "default_civilian" ][ "idle_combat" ][ 0 ] = %casual_crouch_v2_idle;
|
||||
level.scr_anim[ "default_civilian" ][ "idle_combat" ][ 1 ] = %unarmed_cowercrouch_idle_duck;
|
||||
|
||||
// this animations look bad
|
||||
//level.scr_anim[ "default_civilian" ][ "idle_combat" ][ 0 ] = %unarmed_crouch_idle1;
|
||||
//level.scr_anim[ "default_civilian" ][ "idle_combat" ][ 1 ] = %unarmed_crouch_twitch1;
|
||||
|
||||
anim.civilianFlashedArray[ 0 ] = %unarmed_cowerstand_react;
|
||||
anim.civilianFlashedArray[ 1 ] = %unarmed_cowercrouch_react_A;
|
||||
anim.civilianFlashedArray[ 2 ] = %unarmed_cowercrouch_react_B;
|
||||
}
|
||||
|
||||
// set the civilians animname to use defaults, or specific group if specified in radiant
|
||||
animName = undefined;
|
||||
if ( isdefined( self.civilian_walk_animation ) )
|
||||
{
|
||||
self.animname = self.civilian_walk_animation;
|
||||
self attachProps( self.civilian_walk_animation );
|
||||
self.alertLevel = "noncombat";
|
||||
startNonCombat();
|
||||
}
|
||||
else
|
||||
{
|
||||
self.animname = "default_civilian";
|
||||
self.alertLevel = "alert";
|
||||
startCombat();
|
||||
}
|
||||
|
||||
self thread checkCombatState();
|
||||
|
||||
// Make sure all required anims exist for this civilian, or set some defaults if they weren't specified
|
||||
assert( isdefined( level.scr_anim[ self.animname ][ "run_noncombat" ] ) );
|
||||
|
||||
self.dropWeapon = false;
|
||||
self DropAIWeapon();
|
||||
self.saved = false;
|
||||
}
|
||||
|
||||
attachProps( anime )
|
||||
{
|
||||
if ( isdefined( self.hasAttachedProps ) )
|
||||
return;
|
||||
|
||||
initCivilianProps();
|
||||
|
||||
prop_model = anim.civilianProps[ anime ];
|
||||
|
||||
if ( isdefined( prop_model ) )
|
||||
{
|
||||
self attach( prop_model, "tag_inhand", true );
|
||||
self.hasAttachedProps = true;
|
||||
}
|
||||
}
|
||||
|
||||
detachProps( anime )
|
||||
{
|
||||
if ( isdefined( self.hasAttachedProps ) )
|
||||
{
|
||||
self.hasAttachedProps = undefined;
|
||||
self detach( anim.civilianProps[ anime ], "tag_inhand" );
|
||||
}
|
||||
}
|
||||
|
||||
initCivilianProps()
|
||||
{
|
||||
if ( isdefined( anim.civilianProps ) )
|
||||
return;
|
||||
|
||||
anim.civilianProps = [];
|
||||
anim.civilianProps[ "civilian_briefcase_walk" ] = "com_metal_briefcase";
|
||||
anim.civilianProps[ "civilian_crazy_walk" ] = "electronics_pda";
|
||||
anim.civilianProps[ "civilian_cellphone_walk" ] = "com_cellphone_on";
|
||||
anim.civilianProps[ "sit_lunch_A" ] = "com_cellphone_on";
|
||||
anim.civilianProps[ "civilian_soda_walk" ] = "ma_cup_single_closed";
|
||||
anim.civilianProps[ "civilian_paper_walk" ] = "paper_memo";
|
||||
anim.civilianProps[ "civilian_coffee_walk" ] = "cs_coffeemug02";
|
||||
anim.civilianProps[ "civilian_pda_walk" ] = "electronics_pda";
|
||||
anim.civilianProps[ "reading1" ] = "open_book";
|
||||
anim.civilianProps[ "reading2" ] = "open_book";
|
||||
anim.civilianProps[ "texting_stand" ] = "electronics_pda";
|
||||
anim.civilianProps[ "texting_sit" ] = "electronics_pda";
|
||||
anim.civilianProps[ "smoking1" ] = "prop_cigarette";
|
||||
anim.civilianProps[ "smoking2" ] = "prop_cigarette";
|
||||
}
|
||||
|
||||
|
||||
startNonCombat()
|
||||
{
|
||||
self.turnRate = 0.2;
|
||||
|
||||
// dodge animations
|
||||
if ( isdefined( self.civilian_walk_animation ) )
|
||||
{
|
||||
dodgeLeft = %civilian_briefcase_walk_dodge_L;
|
||||
dodgeRight = %civilian_briefcase_walk_dodge_R;
|
||||
|
||||
if ( isdefined( level.scr_anim[ self.animname ][ "dodge_left" ] ) )
|
||||
dodgeLeft = level.scr_anim[ self.animname ][ "dodge_left" ];
|
||||
|
||||
if ( isdefined( level.scr_anim[ self.animname ][ "dodge_right" ] ) )
|
||||
dodgeRight = level.scr_anim[ self.animname ][ "dodge_right" ];
|
||||
|
||||
self animscripts\move::setDodgeAnims( dodgeLeft, dodgeRight );
|
||||
}
|
||||
|
||||
// move turn animations
|
||||
if ( isdefined( level.scr_anim[ self.animname ][ "turn_left_90" ] ) )
|
||||
{
|
||||
assert( isdefined( level.scr_anim[ self.animname ][ "turn_right_90" ] ) );
|
||||
self.pathTurnAnimOverrideFunc = animscripts\civilian\civilian_move::civilian_nonCombatMoveTurn;
|
||||
self.pathTurnAnimBlendTime = 0.1;
|
||||
self enable_turnAnims();
|
||||
}
|
||||
else
|
||||
{
|
||||
self disable_turnAnims();
|
||||
}
|
||||
|
||||
self.run_overrideanim = level.scr_anim[ self.animname ][ "run_noncombat" ];
|
||||
self.walk_overrideanim = self.run_overrideanim;
|
||||
|
||||
self.run_overrideBulletReact = undefined;
|
||||
|
||||
if ( self.animname == "default_civilian" )
|
||||
{
|
||||
self.run_override_weights = level.scr_anim[ self.animname ][ "run_weights_noncombat" ];
|
||||
self.walk_override_weights = self.run_override_weights;
|
||||
}
|
||||
}
|
||||
|
||||
startCombat()
|
||||
{
|
||||
self notify( "combat" );
|
||||
|
||||
self animscripts\move::clearDodgeAnims();
|
||||
|
||||
self.pathTurnAnimBlendTime = undefined;
|
||||
self enable_turnAnims();
|
||||
|
||||
self.turnRate = 0.3;
|
||||
|
||||
standing_run = randomint( 3 ) < 1;
|
||||
if ( isdefined( self.force_civilian_stand_run ) )
|
||||
{
|
||||
standing_run = true;
|
||||
}
|
||||
else
|
||||
if ( isdefined( self.force_civilian_hunched_run ) )
|
||||
{
|
||||
standing_run = false;
|
||||
}
|
||||
|
||||
if ( standing_run )
|
||||
{
|
||||
self.pathTurnAnimOverrideFunc = animscripts\civilian\civilian_move::civilian_combatMoveTurn;
|
||||
|
||||
self.run_overrideanim = level.scr_anim[ "default_civilian" ][ "run_combat" ];
|
||||
self.run_override_weights = level.scr_anim[ "default_civilian" ][ "run_weights" ];
|
||||
}
|
||||
else
|
||||
{
|
||||
self.pathTurnAnimOverrideFunc = animscripts\civilian\civilian_move::civilian_combatHunchedMoveTurn;
|
||||
|
||||
self.run_overrideanim = level.scr_anim[ "default_civilian" ][ "run_hunched_combat" ];
|
||||
self.run_override_weights = level.scr_anim[ "default_civilian" ][ "run_hunched_weights" ];
|
||||
}
|
||||
|
||||
self.run_overrideBulletReact = [];
|
||||
self.run_overrideBulletReact[0] = %run_react_stumble;
|
||||
|
||||
self.walk_overrideanim = self.run_overrideanim;
|
||||
self.walk_override_weights = self.run_override_weights;
|
||||
|
||||
detachProps( self.civilian_walk_animation );
|
||||
}
|
||||
|
||||
|
||||
checkCombatState()
|
||||
{
|
||||
self endon( "death" );
|
||||
|
||||
wasInCombat = ( self.alertLevelInt > 1 );
|
||||
|
||||
while ( 1 )
|
||||
{
|
||||
isInCombat = ( self.alertLevelInt > 1 );
|
||||
|
||||
if ( wasInCombat && !isInCombat )
|
||||
startNonCombat();
|
||||
else if ( !wasInCombat && isInCombat )
|
||||
startCombat();
|
||||
|
||||
wasInCombat = isInCombat;
|
||||
|
||||
wait 0.05; // TEMP make this an alert level change wait when code is in.
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
#include animscripts\Utility;
|
||||
|
||||
#using_animtree( "generic_human" );
|
||||
|
||||
main()
|
||||
{
|
||||
animscripts\move::main();
|
||||
}
|
||||
|
||||
|
||||
civilian_nonCombatMoveTurn( angleDiff )
|
||||
{
|
||||
assert( isdefined( level.scr_anim[ self.animname ][ "turn_left_90" ] ) );
|
||||
assert( isdefined( level.scr_anim[ self.animname ][ "turn_right_90" ] ) );
|
||||
|
||||
turnAnim = undefined;
|
||||
|
||||
if ( angleDiff < -60 && angleDiff > -120 )
|
||||
turnAnim = level.scr_anim[ self.animname ][ "turn_left_90" ];
|
||||
|
||||
if ( angleDiff > 60 && angleDiff < 120 )
|
||||
turnAnim = level.scr_anim[ self.animname ][ "turn_right_90" ];
|
||||
|
||||
if ( isdefined( turnAnim ) && animscripts\move::pathChange_canDoTurnAnim( turnAnim ) )
|
||||
return turnAnim;
|
||||
else
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
civilian_combatMoveTurn( angleDiff )
|
||||
{
|
||||
turnAnim = undefined;
|
||||
|
||||
if ( angleDiff < -22.5 )
|
||||
{
|
||||
if ( angleDiff > -45 )
|
||||
turnAnim = %civilian_run_upright_turnL45;
|
||||
else if ( angleDiff > -112.5 )
|
||||
turnAnim = %civilian_run_upright_turnL90;
|
||||
else if ( angleDiff > -157.5 )
|
||||
turnAnim = %civilian_run_upright_turnL135;
|
||||
else
|
||||
turnAnim = %civilian_run_upright_turn180;
|
||||
}
|
||||
else if ( angleDiff > 22.5 )
|
||||
{
|
||||
if ( angleDiff < 45 )
|
||||
turnAnim = %civilian_run_upright_turnR45;
|
||||
else if ( angleDiff < 112.5 )
|
||||
turnAnim = %civilian_run_upright_turnR90;
|
||||
else if ( angleDiff < 157.5 )
|
||||
turnAnim = %civilian_run_upright_turnR135;
|
||||
else
|
||||
turnAnim = %civilian_run_upright_turn180;
|
||||
}
|
||||
|
||||
if ( isdefined( turnAnim ) && animscripts\move::pathChange_canDoTurnAnim( turnAnim ) )
|
||||
return turnAnim;
|
||||
else
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
civilian_combatHunchedMoveTurn( angleDiff )
|
||||
{
|
||||
turnAnim = undefined;
|
||||
largeTurnAnim = undefined;
|
||||
|
||||
if ( angleDiff < -22.5 )
|
||||
{
|
||||
if ( angleDiff > -45 )
|
||||
turnAnim = %civilian_run_hunched_turnL45;
|
||||
else if ( angleDiff > -112.5 )
|
||||
{
|
||||
turnAnim = %civilian_run_hunched_turnL90;
|
||||
largeTurnAnim = randomAnimOfTwo( %civilian_run_hunched_turnL90_slide, %civilian_run_hunched_turnL90_stumble );
|
||||
}
|
||||
else if ( angleDiff > -157.5 )
|
||||
turnAnim = %civilian_run_upright_turnL135;
|
||||
else
|
||||
turnAnim = %civilian_run_upright_turn180;
|
||||
}
|
||||
else if ( angleDiff > 22.5 )
|
||||
{
|
||||
if ( angleDiff < 45 )
|
||||
turnAnim = %civilian_run_hunched_turnR45;
|
||||
else if ( angleDiff < 112.5 )
|
||||
{
|
||||
turnAnim = %civilian_run_hunched_turnR90;
|
||||
largeTurnAnim = randomAnimOfTwo( %civilian_run_hunched_turnR90_slide, %civilian_run_hunched_turnR90_stumble );
|
||||
}
|
||||
else if ( angleDiff < 157.5 )
|
||||
turnAnim = %civilian_run_upright_turnR135;
|
||||
else
|
||||
turnAnim = %civilian_run_upright_turn180;
|
||||
}
|
||||
|
||||
if ( isdefined( largeTurnAnim ) && ( randomint( 3 ) < 2 ) && animscripts\move::pathChange_canDoTurnAnim( largeTurnAnim ) )
|
||||
return largeTurnAnim;
|
||||
|
||||
if ( isdefined( turnAnim ) && animscripts\move::pathChange_canDoTurnAnim( turnAnim ) )
|
||||
return turnAnim;
|
||||
else
|
||||
return undefined;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
main()
|
||||
{
|
||||
animscripts\scripted::main();
|
||||
}
|
||||
Reference in new issue
Block a user