New feature: mercs with a gun-related trait (New trait system only) can use the 'Focus' skill via the skill menu ([$] in tactical). This skill grants an interrupt modifier bonus in the targeted area, but also a penalty outside of it.

For more info, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=20659&goto=350400&#msg_350400

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8432 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2017-07-26 13:49:38 +00:00
parent 7b00af164b
commit 0992a423e7
27 changed files with 203 additions and 45 deletions
+26
View File
@@ -4289,6 +4289,32 @@ void HandleExplosionWarningAnimations( )
}
}
}
// show focus area if skill is active
if ( gusSelectedSoldier != NOBODY )
{
SOLDIERTYPE* pSoldier = MercPtrs[gusSelectedSoldier];
if ( pSoldier->bActive && pSoldier->bInSector && (pSoldier->usSoldierFlagMask2 & SOLDIER_TRAIT_FOCUS) )
{
// checking whether this skill is active is relatively cheap. If it fails, deactivate skill properly
// we cannot use CanUseSkill(...) again though, as this would fail upon opening the menu
if ( pSoldier->CanUseSkill( SKILLS_FOCUS, FALSE, pSoldier->sFocusGridNo ) )
{
// radius depends on range
INT16 range = PythSpacesAway(pSoldier->sFocusGridNo, pSoldier->sGridNo);
INT16 radius = gSkillTraitValues.ubSNFocusRadius * range / 20;
DrawTraitRadius( pSoldier->sFocusGridNo, pSoldier->pathing.bLevel, sqrt( 0.5 ) * (20 + 40 * radius), 8, 0 );
}
else
{
// if condition'S don't apply, deactivate skill. This will cause it to update to status changes very fast
pSoldier->usSoldierFlagMask2 &= ~SOLDIER_TRAIT_FOCUS;
pSoldier->sFocusGridNo = NOWHERE;
}
}
}
}
void DecayBombTimers( void )