mirror of
https://github.com/1dot13/source.git
synced 2026-08-12 14:10:23 +02:00
- added new dynamic opinion events, see http://thepit.ja-galaxy-forum.com/index.php?t=msg&th=21961&goto=333259&#msg_333259
- Fix: dynamic opinion events on finishing battle did not occur due to faulty sector coordinates - Fix: dynamic dialogue boxes were displayed with bad screen coordinates - Change: dynamic dialogue is also written into tactical log - Change: in events that require a leader, any merc can be considered leader, not just IMPs git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7807 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+35
-22
@@ -60,6 +60,12 @@ enum
|
||||
|
||||
OPINIONEVENT_BRUTAL_BAD, // other guy killed someone in a brutal fashion, and we dislike that
|
||||
OPINIONEVENT_TEACHER, // other guy taught us and we are grateful
|
||||
OPINIONEVENT_BESTCOMMANDEREVER, // we won a battle through what must be magnificent leadership
|
||||
OPINIONEVENT_BATTLE_SAVIOUR, // other guy saved us in a firefight
|
||||
|
||||
OPINIONEVENT_FRAGTHIEF, // other guy stole our kill
|
||||
OPINIONEVENT_BATTLE_ASSIST, // other guy assisted us in battle
|
||||
OPINIONEVENT_BATTLE_TOOK_PRISONER, // other guy chose to take prisoners instead of killing the enemy
|
||||
|
||||
OPINIONEVENT_MAX
|
||||
};
|
||||
@@ -255,32 +261,32 @@ extern DynamicOpinionEvent gDynamicOpinionEvent[OPINIONEVENT_MAX];
|
||||
#define OPINIONFLAG_STAGE3_TEACHER 0x00000040 //64
|
||||
#define OPINIONFLAG_STAGE4_TEACHER 0x00000080 //128
|
||||
|
||||
/*#define OPINIONFLAG_STAGE1_SOLVECONFLICT_REASON_BAD 0x00000100 //256 // attempted to solve the conflict reasonably, and we thought that was bad
|
||||
#define OPINIONFLAG_STAGE2_SOLVECONFLICT_REASON_BAD 0x00000200 //512
|
||||
#define OPINIONFLAG_STAGE3_SOLVECONFLICT_REASON_BAD 0x00000400 //1024
|
||||
#define OPINIONFLAG_STAGE4_SOLVECONFLICT_REASON_BAD 0x00000800 //2048
|
||||
#define OPINIONFLAG_STAGE1_BESTCOMMANDEREVER 0x00000100 //256 // this guy lead our team to a magnificent victory
|
||||
#define OPINIONFLAG_STAGE2_BESTCOMMANDEREVER 0x00000200 //512
|
||||
#define OPINIONFLAG_STAGE3_BESTCOMMANDEREVER 0x00000400 //1024
|
||||
#define OPINIONFLAG_STAGE4_BESTCOMMANDEREVER 0x00000800 //2048
|
||||
|
||||
#define OPINIONFLAG_STAGE1_SOLVECONFLICT_AGGRESSIVE_GOOD 0x00001000 //4096 // attempted to solve the conflict agressively, and we thought that was good
|
||||
#define OPINIONFLAG_STAGE2_SOLVECONFLICT_AGGRESSIVE_GOOD 0x00002000 //8192
|
||||
#define OPINIONFLAG_STAGE3_SOLVECONFLICT_AGGRESSIVE_GOOD 0x00004000 //16384
|
||||
#define OPINIONFLAG_STAGE4_SOLVECONFLICT_AGGRESSIVE_GOOD 0x00008000 //32768
|
||||
#define OPINIONFLAG_STAGE1_BATTLE_SAVIOUR 0x00001000 //4096 // other guy saved us in a firefight
|
||||
#define OPINIONFLAG_STAGE2_BATTLE_SAVIOUR 0x00002000 //8192
|
||||
#define OPINIONFLAG_STAGE3_BATTLE_SAVIOUR 0x00004000 //16384
|
||||
#define OPINIONFLAG_STAGE4_BATTLE_SAVIOUR 0x00008000 //32768
|
||||
|
||||
#define OPINIONFLAG_STAGE1_SOLVECONFLICT_AGGRESSIVE_BAD 0x00010000 //65536 // attempted to solve the conflict agressively, and we thought that was bad
|
||||
#define OPINIONFLAG_STAGE2_SOLVECONFLICT_AGGRESSIVE_BAD 0x00020000 //131072
|
||||
#define OPINIONFLAG_STAGE3_SOLVECONFLICT_AGGRESSIVE_BAD 0x00040000 //262144
|
||||
#define OPINIONFLAG_STAGE4_SOLVECONFLICT_AGGRESSIVE_BAD 0x00080000 //524288
|
||||
#define OPINIONFLAG_STAGE1_FRAGTHIEF 0x00010000 //65536 // other guy stole our kill
|
||||
#define OPINIONFLAG_STAGE2_FRAGTHIEF 0x00020000 //131072
|
||||
#define OPINIONFLAG_STAGE3_FRAGTHIEF 0x00040000 //262144
|
||||
#define OPINIONFLAG_STAGE4_FRAGTHIEF 0x00080000 //524288
|
||||
|
||||
#define OPINIONFLAG_STAGE1_DISEASE_DISGUSTING 0x00100000 //1048576 // is diseased, which we find disgusting
|
||||
#define OPINIONFLAG_STAGE2_DISEASE_DISGUSTING 0x00200000 //2097152
|
||||
#define OPINIONFLAG_STAGE3_DISEASE_DISGUSTING 0x00400000 //4194304
|
||||
#define OPINIONFLAG_STAGE4_DISEASE_DISGUSTING 0x00800000 //8388608
|
||||
#define OPINIONFLAG_STAGE1_BATTLE_ASSIST 0x00100000 //1048576 // other guy assisted us in battle
|
||||
#define OPINIONFLAG_STAGE2_BATTLE_ASSIST 0x00200000 //2097152
|
||||
#define OPINIONFLAG_STAGE3_BATTLE_ASSIST 0x00400000 //4194304
|
||||
#define OPINIONFLAG_STAGE4_BATTLE_ASSIST 0x00800000 //8388608
|
||||
|
||||
#define OPINIONFLAG_STAGE1_DISEASE_TREATMENT 0x01000000 //16777216 // treated our disease, which we like
|
||||
#define OPINIONFLAG_STAGE2_DISEASE_TREATMENT 0x02000000 //33554432
|
||||
#define OPINIONFLAG_STAGE3_DISEASE_TREATMENT 0x04000000 //67108864
|
||||
#define OPINIONFLAG_STAGE4_DISEASE_TREATMENT 0x08000000 //134217728
|
||||
#define OPINIONFLAG_STAGE1_BATTLE_TOOK_PRISONER 0x01000000 //16777216 // other guy chose to take prisoners instead of killing the enemy
|
||||
#define OPINIONFLAG_STAGE2_BATTLE_TOOK_PRISONER 0x02000000 //33554432
|
||||
#define OPINIONFLAG_STAGE3_BATTLE_TOOK_PRISONER 0x04000000 //67108864
|
||||
#define OPINIONFLAG_STAGE4_BATTLE_TOOK_PRISONER 0x08000000 //134217728
|
||||
|
||||
#define OPINIONFLAG_STAGE1_BRUTAL_GOOD 0x10000000 //268435456 // other guy killed someone in a brutal fashion, and we like that
|
||||
/*#define OPINIONFLAG_STAGE1_BRUTAL_GOOD 0x10000000 //268435456 // other guy killed someone in a brutal fashion, and we like that
|
||||
#define OPINIONFLAG_STAGE2_BRUTAL_GOOD 0x20000000 //536870912
|
||||
#define OPINIONFLAG_STAGE3_BRUTAL_GOOD 0x40000000 //1073741824
|
||||
#define OPINIONFLAG_STAGE4_BRUTAL_GOOD 0x80000000 //2147483648*/
|
||||
@@ -463,11 +469,18 @@ void RolloverDynamicOpinions( UINT8 usProfileA );
|
||||
void CheckForFriendsofHated( SOLDIERTYPE* pSoldier );
|
||||
|
||||
void HandleDynamicOpinionOnContractExtension( UINT8 ubCode, UINT8 usProfile );
|
||||
void HandleDynamicOpinionBattleLosses( );
|
||||
|
||||
// depending on what happened in the battle, our mercs might complain or celebrate
|
||||
void HandleDynamicOpinionBattleFinished( BOOLEAN fBattleWon );
|
||||
void HandleDynamicOpinionRetreat( );
|
||||
void HandleDynamicOpinionTeamDrinking( SOLDIERTYPE* pSoldier );
|
||||
void HandleDynamicOpinionTeaching( SOLDIERTYPE* pSoldier, UINT8 ubStat );
|
||||
|
||||
// some events require a 'leader' - merc the team will regard as the one being in charge, and subsequently being praised or damned for the way things develop
|
||||
UINT32 GetSoldierLeaderRating( SOLDIERTYPE* pSoldier );
|
||||
|
||||
UINT8 GetBestMercLeaderInSector( INT16 sX, INT16 sY, INT8 sZ );
|
||||
|
||||
// get id of a random merc in a sector, provided one exists
|
||||
UINT8 GetRandomMercInSectorNotInList( INT16 sX, INT16 sY, INT8 sZ, std::vector<UINT8> aTaboo, BOOLEAN fImpOnly );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user