mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +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:
@@ -4653,7 +4653,7 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
|
||||
gMercProfiles[ pAttacker->pSoldier->ubProfile ].records.usKillsOthers++;
|
||||
|
||||
// Flugente: dynamic opinions: if this guy is not hostile towards us, then some mercs will complain about killing civilians
|
||||
if ( pTarget->pSoldier->aiData.bNeutral || pTarget->pSoldier->bSide == pAttacker->pSoldier->bSide )
|
||||
if ( (pTarget->pSoldier->bTeam != OUR_TEAM) && (pTarget->pSoldier->aiData.bNeutral || pTarget->pSoldier->bSide == pAttacker->pSoldier->bSide) )
|
||||
{
|
||||
// not for killing animals though...
|
||||
if ( pTarget->pSoldier->ubBodyType != CROW && pTarget->pSoldier->ubBodyType != COW )
|
||||
|
||||
@@ -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