mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
MERGED source code from development trunk (revision: 4660)
- New big mercs with either Throwing trait or Show-Off personality use a slightly more fancy animation for throwing knives. (by Sandro & PasHancock) o New animation files: M_K_THRO2.sti git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@4661 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -69,6 +69,8 @@ static UINT16 JUMP_WALL_DOWN_AnimationScript[MAX_FRAMES_PER_ANIM] = { 44,43,42,4
|
||||
|
||||
static UINT16 REMOTE_DET_AnimationScript[MAX_FRAMES_PER_ANIM] = { 1,2,3,4,484,4,5,6,1,442,499,999,0,0,0,0 }; // SANDRO - new animation of remote detonator by PasHancock
|
||||
|
||||
static UINT16 THROW_KNIFE_SP_BM_AnimationScript[MAX_FRAMES_PER_ANIM] = { 757,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,12,13,709,14,15,16,430,16,17,17,18,19,20,21,753,442,499,999,0,0,0,0 };
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -989,6 +991,9 @@ ANIMCONTROLTYPE gAnimControl[ NUMANIMATIONSTATES ] =
|
||||
|
||||
{"JUMP WINDOWS" , 0, 50, (FLOAT)0, ANIM_NOCHANGE_PENDINGCOUNT | ANIM_NORESTART | ANIM_STATIONARY | ANIM_NOSHOW_MARKER | ANIM_MODERATE_EFFORT | ANIM_LOWER_WEAPON | ANIM_NONINTERRUPT, ANIM_STAND, ANIM_CROUCH, -1},
|
||||
|
||||
//SPECIAL THROW KNIFE FOR BIG MALES
|
||||
"THROW KNIFE 2" , 0, 50, (FLOAT)0, ANIM_STATIONARY | ANIM_NOMOVE_MARKER | ANIM_NONINTERRUPT | ANIM_MIN_EFFORT | ANIM_ATTACK , ANIM_STAND, ANIM_STAND, -1,
|
||||
|
||||
};
|
||||
|
||||
ANI_SPEED_DEF gubAnimWalkSpeeds[ TOTALBODYTYPES ] =
|
||||
@@ -1677,6 +1682,7 @@ void InitAnimationSurfacesPerBodytype( )
|
||||
gubAnimSurfaceIndex[ BIGMALE ][ CUTTING_FENCE ] = BGMMEDIC;
|
||||
gubAnimSurfaceIndex[ BIGMALE ][ FROM_INJURED_TRANSITION ] = BGMHURTTRANS;
|
||||
gubAnimSurfaceIndex[ BIGMALE ][ THROW_KNIFE ] = BGMTHROWKNIFE;
|
||||
gubAnimSurfaceIndex[ BIGMALE ][ THROW_KNIFE_SP_BM ] = BGMTHROWKNIFE2;
|
||||
gubAnimSurfaceIndex[ BIGMALE ][ KNIFE_BREATH ] = BGMBREATHKNIFE;
|
||||
gubAnimSurfaceIndex[ BIGMALE ][ KNIFE_GOTOBREATH ] = BGMBREATHKNIFE;
|
||||
gubAnimSurfaceIndex[ BIGMALE ][ KNIFE_ENDBREATH ] = BGMBREATHKNIFE;
|
||||
@@ -3258,6 +3264,8 @@ BOOLEAN LoadAnimationStateInstructions( )
|
||||
|
||||
memcpy(gusAnimInst[USE_REMOTE],REMOTE_DET_AnimationScript,sizeof(REMOTE_DET_AnimationScript)); // SANDRO - new animation of remote detonator by PasHancock
|
||||
|
||||
memcpy(gusAnimInst[THROW_KNIFE_SP_BM],THROW_KNIFE_SP_BM_AnimationScript,sizeof(THROW_KNIFE_SP_BM_AnimationScript)); // SANDRO - new animation of remote detonator by PasHancock
|
||||
|
||||
return( TRUE );
|
||||
}
|
||||
|
||||
|
||||
@@ -560,6 +560,8 @@ enum AnimationStates
|
||||
|
||||
JUMPWINDOWS,
|
||||
|
||||
THROW_KNIFE_SP_BM,
|
||||
|
||||
NUMANIMATIONSTATES
|
||||
|
||||
};
|
||||
|
||||
@@ -515,6 +515,9 @@ AnimationSurfaceType gAnimSurfaceDatabase[ NUMANIMATIONSURFACETYPES ] =
|
||||
RGMUSEREMOTE, "ANIMS\\S_MERC\\S_USEREMOTE.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
BGMUSEREMOTE, "ANIMS\\M_MERC\\M_USEREMOTE.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
RGFUSEREMOTE, "ANIMS\\F_MERC\\F_USEREMOTE.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
|
||||
BGMTHROWKNIFE, "ANIMS\\M_MERC\\M_K_THRO2.STI", S_STRUCT, 0, 8, TO_INIT, NULL, NULL, 0, -1,
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -545,6 +545,8 @@ BGMWITHSTONE,
|
||||
BGMUSEREMOTE,
|
||||
RGFUSEREMOTE,
|
||||
|
||||
BGMTHROWKNIFE2,
|
||||
|
||||
NUMANIMATIONSURFACETYPES
|
||||
|
||||
} AnimationSurfaceTypes;
|
||||
|
||||
@@ -11268,7 +11268,14 @@ void SOLDIERTYPE::EVENT_SoldierBeginKnifeThrowAttack( INT32 sGridNo, UINT8 ubDir
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("!!!!!!! Starting knifethrow attack, bullets left %d", this->bBulletsLeft) );
|
||||
DebugAttackBusy( String( "Begin knife throwing attack: ATB %d\n", gTacticalStatus.ubAttackBusyCount) );
|
||||
|
||||
this->EVENT_InitNewSoldierAnim( THROW_KNIFE, 0 , FALSE );
|
||||
if ( this->ubBodyType == BIGMALE && ((this->ubProfile != NO_PROFILE && gMercProfiles[ this->ubProfile ].bCharacterTrait == CHAR_TRAIT_SHOWOFF) || (HAS_SKILL_TRAIT( this, THROWING_NT ) && gGameOptions.fNewTraitSystem) || (HAS_SKILL_TRAIT( this, THROWING_OT ) && !gGameOptions.fNewTraitSystem) ) )
|
||||
{
|
||||
this->EVENT_InitNewSoldierAnim( THROW_KNIFE_SP_BM, 0 , FALSE );
|
||||
}
|
||||
else
|
||||
{
|
||||
this->EVENT_InitNewSoldierAnim( THROW_KNIFE, 0 , FALSE );
|
||||
}
|
||||
|
||||
// CHANGE DIRECTION AND GOTO ANIMATION NOW
|
||||
this->EVENT_SetSoldierDesiredDirection( ubDirection );
|
||||
@@ -11997,7 +12004,7 @@ void SOLDIERTYPE::HaultSoldierFromSighting( BOOLEAN fFromSightingEnemy )
|
||||
// ATE: Dave, don't kill me
|
||||
// Here, we need to handle the situation when we're throweing a knife and we see somebody
|
||||
// cause for some reason throwing a knie does not use the pTempObject stuff that all other stuff does...
|
||||
if ( this->usPendingAnimation == THROW_KNIFE )
|
||||
if ( this->usPendingAnimation == THROW_KNIFE || this->usPendingAnimation == THROW_KNIFE_SP_BM )
|
||||
{
|
||||
// Decrement attack counter...
|
||||
DebugMsg( TOPIC_JA2, DBG_LEVEL_3, String("@@@@@@@ Reducing attacker busy count..., ending throw knife because saw something") );
|
||||
|
||||
Reference in New Issue
Block a user