- New Feature: Block iron sights (by Flugente)

o if a gun/attachment has the boolean tag <BlockIronSight> in Items.xml, a gun's iron sights wont be selectable while selecting scope modes.
o if using dual weapons, only iron sights can be used
o new attachmentclass: AC_IRONSIGHT (4194304) for attachable iron sights (display on gun is different from reflex sights, no other differences... yet)

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5291 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2012-05-20 17:18:28 +00:00
parent eb2ca0ba70
commit 93ea315502
7 changed files with 145 additions and 40 deletions
+18
View File
@@ -12458,6 +12458,24 @@ void SOLDIERTYPE::ReLoadSoldierAnimationDueToHandItemChange( UINT16 usOldItem, U
{
fNewRifle = TRUE;
}
// Flugente: if we are using dual weapons, only allow iron sights (we can't look through two scopes simultaneously, can we?)
if ( (Item[ inv[ HANDPOS ].usItem ].usItemClass & IC_WEAPON) && (Item[ inv[ SECONDHANDPOS ].usItem ].usItemClass & IC_WEAPON) )
{
std::map<INT8, OBJECTTYPE*> ObjList;
GetScopeLists(&inv[ HANDPOS ], ObjList);
std::map<INT8, OBJECTTYPE*>::iterator itend = ObjList.end();
for (std::map<INT8, OBJECTTYPE*>::iterator it = ObjList.begin(); it != itend; ++it)
{
if ( (*it).second != NULL )
{
bScopeMode = (*it).first;
}
else
break;
}
}
}
}