mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
- Made the "Rifle sling" feature optional, so we can decide if we like to build an executable with/without the feature
o See: builddefines.h: #define ENABLE_RIFLE_SLING o Note: This feature is NOT the strategy performance killer git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5360 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -5768,6 +5768,7 @@ UINT8 StealItems(SOLDIERTYPE* pSoldier,SOLDIERTYPE* pOpponent, UINT8* ubIndexRet
|
||||
{
|
||||
case HANDPOS:
|
||||
case GUNSLINGPOCKPOS:
|
||||
#ifdef ENABLE_RIFLE_SLING
|
||||
{
|
||||
// Flugente: if item has a weapon sling attached, it can't be stolen
|
||||
if ( HasAttachmentOfClass(pObject, AC_SLING) )
|
||||
@@ -5777,6 +5778,7 @@ UINT8 StealItems(SOLDIERTYPE* pSoldier,SOLDIERTYPE* pOpponent, UINT8* ubIndexRet
|
||||
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
case SECONDHANDPOS:
|
||||
case KNIFEPOCKPOS:
|
||||
case BIGPOCK1POS:
|
||||
|
||||
@@ -3594,6 +3594,7 @@ UINT32 GetInvMovementCost(OBJECTTYPE* pObj, UINT32 old_pos, UINT32 new_pos)
|
||||
cost += uiAPCostToSlot[dst_type];
|
||||
cost += weight_modifier;
|
||||
|
||||
#ifdef ENABLE_RIFLE_SLING
|
||||
// Flugente if we move an item from our hands to the sling, and item has a weapon sling, don't charge any APs
|
||||
if ( 1 == src_type && 7 == dst_type )
|
||||
{
|
||||
@@ -3602,6 +3603,7 @@ UINT32 GetInvMovementCost(OBJECTTYPE* pObj, UINT32 old_pos, UINT32 new_pos)
|
||||
// we simply let go of the item, we can do that because the sling will catch it
|
||||
cost = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (cost > APBPConstants[AP_INV_MAX_COST])
|
||||
cost = APBPConstants[AP_INV_MAX_COST];
|
||||
|
||||
@@ -9477,6 +9477,7 @@ UINT8 SOLDIERTYPE::SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sPo
|
||||
// OK, drop item in main hand...
|
||||
if ( this->inv[ HANDPOS ].exists() == true )
|
||||
{
|
||||
#ifdef ENABLE_RIFLE_SLING
|
||||
// Flugente: If item has an attached rifle sling, place it the sling position instead
|
||||
int bSlot = GUNSLINGPOCKPOS;
|
||||
if ( HasAttachmentOfClass(&(this->inv[ HANDPOS ]), AC_SLING) && TryToPlaceInSlot(this, &(this->inv[ HANDPOS ]), FALSE, bSlot, GUNSLINGPOCKPOS) )
|
||||
@@ -9484,6 +9485,9 @@ UINT8 SOLDIERTYPE::SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sPo
|
||||
;
|
||||
}
|
||||
else if ( !( this->inv[ HANDPOS ].fFlags & OBJECT_UNDROPPABLE ) )
|
||||
#else
|
||||
if ( !( this->inv[ HANDPOS ].fFlags & OBJECT_UNDROPPABLE ) )
|
||||
#endif
|
||||
{
|
||||
// ATE: if our guy, make visible....
|
||||
if ( this->bTeam == gbPlayerNum )
|
||||
|
||||
@@ -3,6 +3,13 @@
|
||||
|
||||
#include "Language Defines.h"
|
||||
|
||||
// -----------------------------
|
||||
// *****************************
|
||||
// WANNE: Enable this define to use the rifle sling feature (Feature was added in Revision: 5207)
|
||||
#define ENABLE_RIFLE_SLING
|
||||
// -----------------------------
|
||||
// *****************************
|
||||
|
||||
// -----------------------------
|
||||
// *****************************
|
||||
// WANNE: Enable this define to show explosives display (Feature was added in Revision: 5210)
|
||||
|
||||
Reference in New Issue
Block a user