mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Fix for for using items on enemies on roofs from inside room below. This includes multiple actions like first aid kit, blade or punch that shown path into room below enemy on roof and even allowed to stab from there (with zero chance to hit) or punch from there (clocks running for minute) (by Shadooow).
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9016 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+51
-1
@@ -1647,6 +1647,11 @@ UINT8 HandleKnifeCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActivate
|
||||
INT8 bFutureAim;
|
||||
BOOLEAN fEnoughPoints = TRUE;
|
||||
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return KNIFE_REG_UICURSOR;
|
||||
}
|
||||
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor( pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_MERCS );
|
||||
|
||||
@@ -1779,6 +1784,11 @@ UINT8 HandlePunchCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActivate
|
||||
INT8 bFutureAim;
|
||||
BOOLEAN fEnoughPoints = TRUE;
|
||||
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return ACTION_PUNCH_GRAY;
|
||||
}
|
||||
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor( pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_MERCS );
|
||||
|
||||
@@ -1901,6 +1911,11 @@ UINT8 HandlePunchCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActivate
|
||||
|
||||
UINT8 HandleAidCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActivated, UINT32 uiCursorFlags )
|
||||
{
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return ACTION_FIRSTAID_GRAY;
|
||||
}
|
||||
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor( pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_MERCSFORAID );
|
||||
|
||||
@@ -2119,6 +2134,10 @@ UINT8 HandleRefuelCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCursorF
|
||||
|
||||
UINT8 HandleJarCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCursorFlags )
|
||||
{
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return BAD_JAR_UICURSOR;
|
||||
}
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor( pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_JAR );
|
||||
|
||||
@@ -2138,6 +2157,10 @@ UINT8 HandleTinCanCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCursorF
|
||||
INT32 sIntTileGridNo;
|
||||
LEVELNODE *pIntTile;
|
||||
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return PLACE_TINCAN_RED_UICURSOR;
|
||||
}
|
||||
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor( pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_CAN );
|
||||
@@ -2201,6 +2224,10 @@ UINT8 HandleCameraCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActivat
|
||||
|
||||
UINT8 HandleBloodbagCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActivated, UINT32 uiCursorFlags )
|
||||
{
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return BLOODBAG_RED_UICURSOR;
|
||||
}
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor( pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_APPLYITEM );
|
||||
|
||||
@@ -2220,6 +2247,10 @@ UINT8 HandleBloodbagCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActiv
|
||||
|
||||
UINT8 HandleSplintCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActivated, UINT32 uiCursorFlags )
|
||||
{
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return SPLINT_RED_UICURSOR;
|
||||
}
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor( pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_APPLYITEM );
|
||||
|
||||
@@ -2251,7 +2282,10 @@ UINT8 HandleSplintCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActivat
|
||||
|
||||
UINT8 HandleBombCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActivated, UINT32 uiCursorFlags )
|
||||
{
|
||||
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return PLACE_BOMB_GREY_UICURSOR;
|
||||
}
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor( pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_BOMB );
|
||||
|
||||
@@ -2281,6 +2315,10 @@ UINT8 HandleBombCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, BOOLEAN fActivated
|
||||
|
||||
UINT8 HandleFortificationCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCursorFlags )
|
||||
{
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return FORTIFICATION_RED_UICURSOR;
|
||||
}
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor( pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_FORTIFICATION );
|
||||
|
||||
@@ -2306,6 +2344,10 @@ UINT8 HandleFortificationCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 ui
|
||||
|
||||
UINT8 HandleHandcuffCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCursorFlags )
|
||||
{
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return HANDCUFF_RED_UICURSOR;
|
||||
}
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor( pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_HANDCUFF );
|
||||
|
||||
@@ -2325,6 +2367,10 @@ UINT8 HandleHandcuffCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCurso
|
||||
|
||||
UINT8 HandleApplyItemCursor(SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCursorFlags)
|
||||
{
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return APPLYITEM_RED_UICURSOR;
|
||||
}
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor(pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_APPLYITEM);
|
||||
|
||||
@@ -2343,6 +2389,10 @@ UINT8 HandleApplyItemCursor(SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCurso
|
||||
|
||||
UINT8 HandleHackCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCursorFlags )
|
||||
{
|
||||
if (pSoldier->pathing.bLevel != gsInterfaceLevel)
|
||||
{
|
||||
return NO_UICURSOR;
|
||||
}
|
||||
// DRAW PATH TO GUY
|
||||
HandleUIMovementCursor( pSoldier, uiCursorFlags, sGridNo, MOVEUI_TARGET_INTERACTIVEACTION );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user