mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
- Fix: attacking squadmates called OPINIONEVENT_CIV_ATTACKER in addition to OPINIONEVENT_FRIENDLYFIRE dynmic opinion event.
- If a dynmic opinion event's opinion moifier is set to 0, this event is not used, thereby allowing to turn specific events off. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7919 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -1112,6 +1112,10 @@ void AddOpinionEvent( UINT8 usProfileA, UINT8 usProfileB, UINT8 usEvent, BOOLEAN
|
||||
if ( usEvent >= OPINIONEVENT_MAX )
|
||||
return;
|
||||
|
||||
// don't use event if opinion modifier is off (thereby providing an easy way to turn off parts of this feature)
|
||||
if ( !gDynamicOpinionEvent[usEvent].sOpinionModifier )
|
||||
return;
|
||||
|
||||
// we don't want any events for people not on our team or vehicles
|
||||
SOLDIERTYPE* pSoldier = FindSoldierByProfileID( usProfileA, TRUE );
|
||||
if ( !pSoldier || pSoldier->flags.uiStatusFlags & SOLDIER_VEHICLE )
|
||||
|
||||
@@ -3953,7 +3953,7 @@ BOOLEAN HandleSoldierDeath( SOLDIERTYPE *pSoldier , BOOLEAN *pfMadeCorpse )
|
||||
gMercProfiles[ MercPtrs[ ubAttacker ]->ubProfile ].records.usKillsOthers++;
|
||||
|
||||
// Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians
|
||||
if ( pSoldier->aiData.bNeutral || pSoldier->bSide == MercPtrs[ubAttacker]->bSide )
|
||||
if ( pSoldier->bTeam != OUR_TEAM && (pSoldier->aiData.bNeutral || pSoldier->bSide == MercPtrs[ubAttacker]->bSide) )
|
||||
{
|
||||
// not for killing animals though...
|
||||
if ( pSoldier->ubBodyType != CROW && pSoldier->ubBodyType != COW )
|
||||
@@ -3967,7 +3967,7 @@ BOOLEAN HandleSoldierDeath( SOLDIERTYPE *pSoldier , BOOLEAN *pfMadeCorpse )
|
||||
gStrategicStatus.usPlayerKills++;
|
||||
|
||||
// Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians
|
||||
if ( pSoldier->bTeam == CIV_TEAM && (pSoldier->aiData.bNeutral || pSoldier->bSide == MercPtrs[ubAttacker]->bSide) )
|
||||
if ( pSoldier->bTeam != OUR_TEAM && (pSoldier->aiData.bNeutral || pSoldier->bSide == MercPtrs[ubAttacker]->bSide) )
|
||||
{
|
||||
// not for killing animals though...
|
||||
if ( pSoldier->ubBodyType != CROW && pSoldier->ubBodyType != COW )
|
||||
|
||||
@@ -9765,7 +9765,7 @@ UINT8 SOLDIERTYPE::SoldierTakeDamage( INT8 bHeight, INT16 sLifeDeduct, INT16 sBr
|
||||
|
||||
// if this is a civilian, other mercs can complain about mercs shooting innocents
|
||||
// Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians
|
||||
if ( this->aiData.bNeutral || this->bSide == MercPtrs[ubAttacker]->bSide )
|
||||
if ( (this->bTeam != OUR_TEAM) && (this->aiData.bNeutral || this->bSide == MercPtrs[ubAttacker]->bSide) )
|
||||
{
|
||||
// not for killing animals though...
|
||||
if ( this->ubBodyType != CROW && this->ubBodyType != COW )
|
||||
|
||||
Reference in New Issue
Block a user