CancelDrag, StartDrag: update interface panel to change drag icon status.

DrawTraitRadius uses usColour.
Allow to start dragging from any stance, soldier will crouch automatically.
Show draggable objects when drag skill menu is active.
Press [\] key to start dragging object/solder/corpse in front of merc.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9369 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2022-04-24 18:21:44 +00:00
parent cdc605d5ab
commit 904fae7a96
11 changed files with 345 additions and 82 deletions
+18 -2
View File
@@ -562,7 +562,7 @@ INT16 ActionPointCost( SOLDIERTYPE *pSoldier, INT32 sGridNo, INT8 bDir, UINT16 u
sPoints *= gItemSettings.fShieldMovementAPCostModifier;
// Flugente: dragging someone
if ( pSoldier->IsDraggingSomeone( ) )
if ( pSoldier->IsDragging( ) )
sPoints *= gItemSettings.fDragAPCostModifier;
// Flugente: scuba fins reduce movement cost in water, but increase cost on land
@@ -4299,7 +4299,7 @@ INT16 GetAPsStartRun( SOLDIERTYPE *pSoldier )
if ( pSoldier->IsRiotShieldEquipped( ) )
val *= gItemSettings.fShieldMovementAPCostModifier;
if ( pSoldier->IsDraggingSomeone( ) )
if ( pSoldier->IsDragging( ) )
val *= gItemSettings.fDragAPCostModifier;
// Athletics trait
@@ -4667,3 +4667,19 @@ INT16 GetAPsToBreakWindow(SOLDIERTYPE *pSoldier, BOOLEAN fStance)
return MinAPsToPunch(pSoldier, NOWHERE);
}
INT16 GetAPsToStartDrag(SOLDIERTYPE *pSoldier, BOOLEAN fStance)
{
INT16 sAPCost = 0;
if (fStance && gAnimControl[pSoldier->usAnimState].ubEndHeight != ANIM_CROUCH)
{
if (gAnimControl[pSoldier->usAnimState].ubEndHeight > ANIM_CROUCH)
sAPCost += GetAPsCrouch(pSoldier, TRUE);
else
sAPCost += GetAPsProne(pSoldier, TRUE);
}
return sAPCost;
}