New Trait: Snitch (Trait 22) (by anv)

Every midnight snitches will give you a report about their collegues' opinions. Information includes:
- merc whining about high death rate,
- merc whining about player reputation,
- merc whining about his low morale,
- merc whining about some other merc (unliked, not only hated),
- merc planning to quit (leave without renewing contract, only AIM mercs) next day,
- merc whining about player inactivity,
- merc whining about player owing them money (you can only owe money to MERC mercs).

List of snitches (trait 22)
Beth
Bud
Buzz
Carp
Ears
Gary
Hurl
Lance
Leon
Weasel

see: http://www.bears-pit.com/board/ubbthreads.php/topics/329412/Snitches_+_Externalised_morale.html

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6723 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Wanne
2014-01-01 12:02:23 +00:00
parent 224ebe9ba3
commit d5b4599e9c
54 changed files with 1395 additions and 163 deletions
+12 -1
View File
@@ -229,7 +229,7 @@ enum DialogQuoteIDs
#define DIALOGUE_SPECK_CONTACT_PAGE_UI 4
#define DIALOGUE_EXTERNAL_NPC_UI 5
#define DIALOGUE_SHOPKEEPER_UI 6
#define DIALOGUE_SNITCH_UI 7 // anv: special handle for snitch dialogue
#define DIALOGUE_SPECIAL_EVENT_GIVE_ITEM 0x00000001
#define DIALOGUE_SPECIAL_EVENT_TRIGGER_NPC 0x00000002
@@ -278,6 +278,8 @@ enum DialogQuoteIDs
#define MULTIPURPOSE_SPECIAL_EVENT_TEAM_MEMBERS_DONE_TALKING 0x00000002
#endif
#define MULTIPURPOSE_SPECIAL_EVENT_SNITCH_DIALOGUE 0x00000004
#ifdef JA2UB
enum{
JERRY_MELO_FACE = 6,
@@ -340,12 +342,19 @@ BOOLEAN TacticalCharacterDialogueWithSpecialEventEx( SOLDIERTYPE *pSoldier, UINT
// A higher level function used for tactical quotes
BOOLEAN TacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNum );
BOOLEAN SnitchTacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNum, UINT8 ubEventType, UINT8 ubTargetProfile, UINT8 ubSecondaryTargetProfile );
// A higher level function used for tactical quotes
BOOLEAN DelayedTacticalCharacterDialogue( SOLDIERTYPE *pSoldier, UINT16 usQuoteNum );
// A more general purpose function for processing quotes
BOOLEAN CharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex, UINT8 bUIHandlerID, BOOLEAN fFromSoldier, BOOLEAN fDelayed );
BOOLEAN SnitchCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex,
UINT32 uiSpecialEventFlag, UINT32 uiSpecialEventData1, UINT32 uiSpecialEventData2,
UINT32 uiSpecialEventData3, UINT32 uiSpecialEventData4,
UINT8 bUIHandlerID, BOOLEAN fFromSoldier, BOOLEAN fDelayed );
// A special event can be setup which can be queued with other speech
BOOLEAN SpecialCharacterDialogueEvent( UINT32 uiSpecialEventFlag, UINT32 uiSpecialEventData1, UINT32 uiSpecialEventData2, UINT32 uiSpecialEventData3, INT32 iFaceIndex, UINT8 bUIHandlerID );
@@ -355,6 +364,8 @@ BOOLEAN SpecialCharacterDialogueEventWithExtraParam( UINT32 uiSpecialEventFlag,
// execute specific character dialogue
BOOLEAN ExecuteCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex, UINT8 bUIHandlerID, BOOLEAN fSoldier );
BOOLEAN ExecuteSnitchCharacterDialogue( UINT8 ubCharacterNum, UINT16 usQuoteNum, INT32 iFaceIndex, UINT8 bUIHandlerID, UINT8 ubSnitchEventType, UINT8 ubSnitchTargetID, UINT8 ubSecondarySnitchTargetID );
// Called when a face stops talking...
void HandleDialogueEnd( FACETYPE *pFace );