ArcanePariah / Night-of-the-Dead

9 stars 14 forks source link

Newbie help mission log #197

Closed NiktosNOTD closed 6 years ago

NiktosNOTD commented 6 years ago

It's result of community brainstorm gdoc. It has no impact on gameplay other than returning chat fully for use of players, now that story messages got moved out of it. Also letting players catch up on story at a later chosen by them time. Gif is from a slightly older version which still missed some messages but shows the functionality. mission_log

Only story related messages to still display in chat are ones using 'SendTransmission' action (animated portait+ text), and i'm trying to figure out a way to move them too. Dealt with by commit on 19th march

Additions: 1.Layout containing the log, visually same as talent window, appearing in same spot. Functionally it's scrollable label frame with all story text put there dynamically thru triggers as the game progresses. 2.Button for opening the mission log, added to 'TeamStatus' layout, it's 3rd button below stats/medals buttons. 3.Limiting of 'DebugDisplay' frame width to avoid overlapping of story messages onto chat messages. 4.Trigger for handling the opening/closing of the mission log dialog. 5.Variables for storing mision log dialog, buttons to open and close it, as well as the content of the dialog. 6.Created function for creating the log - it runs when a player selects class. 7.Created function that can be used with existing text displays to append the story texts into the mission log. 8.Created function for displaying/appending story related messages. It's intended to replace mesages which were displayed by directly creating them on the spot inside triggers. 9.Created function for displaying/appending story messages that use 'TransmissionSend' action.

Modifications: 1.Modification of 'TeamStatus' layout mentioned in additions point 2. 2.Modification of 'GameUI Override' layout mentioned in additions point 3. 3.Modification of 'ClassCreation' trigger - adding a call to 'MissionLogCreation' function at end 4.Modification of 'Radio NOTD' trigger - adding a local variable to store message before displaying and passing it to 'MissionLogAppend' function. 5.Modification of 'Radio NOTD' trigger - adding a call to 'MissionLogAppend' function at end 6.Modification of 'HideAllDialogsForPlayer' function, adding hiding of 'MissionLog' dialog at end. 7.Modification of 'MarineSpeechNOTD' trigger - adding a local variable to store message before displaying and passing it to 'MissionLogAppend' function. 8.Modification of 'MarineSpeechNOTD' trigger - adding a call to 'MissionLogAppend' function at end 9.Replacing various creations of story text directly within triggers with 'StoryMessageNOTD' function call. 10.Moving of various messages not directly related to story which were displaying in chat or near it to debug window. 11.Replaced various creations of story text that used 'TransmissionSend' with 'TransmissionSendNOTD' 12.Added call for 'MissionLogAppend' action in few places that displayed messages during cutscenes.

Full changelog

Moving of story related messages from being directly displayed in triggers to be displayed with 'StoryMessageNOTD' - they display same text, some got moved to debug panel from chat as result.
List of triggers changed by the above:
-Log Entry Playback :1 instance
-OM1 - Download Cycle :1 instance
-OM3 - Armory Turrets :1 instance
-OM4 - Scrapyard Salvage Cycle :1 instance
-OM6 - Comm Tower Transmission :2 instances
-OM8 - Enter Bridge Terminal :1 instance
-OM11 - Delta-2 :2  instances
-EC Initialize :1 instance
-ECW1 - Enter Mine :2 instances
-AC - Cronus Killed :1 instance
-W2 - Enter Military Base :3 instances
-EC Optional - Cam Mission Start :2 instances
-Optional - Security Cameras Collrvyion :1 instance
-EC - Delta-1 Transport :3 instances
-EC- Civ Reward :1 instance
-Wave 6- Cocoons :1 instance
-Boss 3- Spawn (Menoetes) :1 instance
-Optional - Enter Lab @ Chapte 1 (Dr Bergmann) :1 instance
-Optional - Power Generator Restart :2 instances
-Wave 13 - Bio-Dome D Destroyed :1 instance
-Wave 14- Betrayal :1 instance
-EC OPTIONAL - Truck Destoryed :1 instance
-EC OPTIONAL - Truck Evac Successful :2 instances
-ACW2 - Defend with Sec Team (Armory) :2 instances
-ACW3 - Charlie Found! :1 instance
-ACW5 - Head to the lab :1 instance
-Mine Shaft :2 instances
-ACW9 - Chase Dr Tanaka (Poison Gas) :3 instances
-ACW10 - Showdown at Evac Point :1 instance
-ACW11 - Enter the Airlock :2 instances
-ACW12 a - Vent Control Cycle :1 instance
-ACW15 - Hold Out :1 instance
-STW1 - Here We Go :2 instances
-STW7 - HAL Shutdown Complete :1 instance
-STC2 - Initialize :4 instances
-STW8 - Chase Bergmann :1 instance
-STW 10 - IVAX Mission :4 instances
-STW11 - Hidden Hand Revealed :3 instances
-Sec Team Choice :2 instances
-STW14 - Boss Spawn (Hephaestus) :1 instance
-STC3a - Reactor DL Cycle :1 instance
-STC3a - Reactor DL Complete :1 instance
-STW16 - Reactor Self-Destruct Begins- ESCAPE! :1 instance
-STW17 - EVAC :1 instance
-STC3b - Power Generator Restart :1 instance
-Domes Sealed and Hades Located :2 instances
-Survival Init :3 instances
-Survival W1-5 :2 instances
-Survival W6-10 :1 instance
-Survival W11-15 :1 instance
-Survival W21-25 :1 instance
-Survival W31-35 :1 instance

Moving of various messages not directly related to story which were displaying in chat or near it to debug window. Messages are unchanged just position they display at.
List of affected triggers:
-ZeusLetoAI :1 msg
-ZeusLetoRespawn :2 msgs
-OM8EnterBridgeTerminal :1 msg, also simplified spawning of bbq herself
-Boss1CarapaceHardens33 :1 msg
-BlackOpsAIGunshipSupport :1 msg
-DemeterAI :2 msgs
-DemeterEngaged :2 msgs
-STW1EnterEastWingGateRescue :1 msg
-STBoss2Killed :1 msg
-STW9DrBergmanFound :1 msg
-STC3AReactorCoreTerminalsReached : 1msg
-STC3BThorPilot : 1 msg
-STW15BBioDomeThreat :2 msgs

Small cleanup in 'MarineSpeachNOTD' & 'RadioNOTD' triggers now using 'combinetextmultiple' instead of multiple nested 'combinetext'.

Created 'SendTransmissionNOTD' action which sends a transmission and appends transmission message to 'Mission Log'
Changed occurences of 'SendTransmission' action to use 'SendTransmissionNOTD' - affected triggers:
-EC Initialize :1 instance
-EC -Delta- 1 Transport :1 instance
-Wave 6 - Cocoons :2 instances
-EC Nydus Spawn :1 instance
-Wave 9 -Dr Bergmann Encounter :1 instance
-W10 - Dome A :1 instance
-W11 - Dome B :1 instance
-W12 - Dome C :1 instance
-W13 - Dome D :1 instance
-W14 - Black Ops :1 instance
-ACW1 - Landing :2 instance
-AC - Boss 2 Spawn (Cronus) :3 instances
-AC Closing Cinematic :2 instances
-ST Initialize :3 instances
-STW1 - Enter East Wing Gate (RESCUE) :1 instance
-STW2 - Enter Armory + Deimos :7 instances
-ST Boss 1 - Deimos Engaged :2 instances
-ST Boss 1 (Deimos) - Killed :2 instances
-STW4 - To the Science Lab :1 instance
-STW10 - IVAX Mission :1 instance
-OM7 - Charle (Sec Team) :3 instances
-OM12 - Prisoner 1 (John Anderton) :1 instance
-OM12 - Prisoner 2 (Farica Augustin) :1 instance

Messages played during cutscenes now correctly get added to mision log.
It's achieved by adding 'MissionLogAppend' action right after message is displayed with same contents, affected triggers:
-Boss 1b - Spawn :1 instance
-Boss 2 - Erebos Cinematic :1 instance
-Chapter 2 - Initialize :2 instances
NiktosNOTD commented 6 years ago

Previous commit removed last items from my "TO DO" list.

With this mission log is complete and wont undergo any changes until live game usage shows need for them, be it bugs or changes to content of it.

Contents of mission log are definitely subject to revision. I did not remove any story messages in this rework, only liberty i took is moving messages in survival from tips to storylog, which results in them displaying for all players now instead of subset.

It shouldn't have any high profile bugs as i tested, both locally and online for: 1.Basic functionalities opening/appending/scrolling/remembering scroll position on close -all work 2.How basic functionalities behave when a player dies both with alive and dead predator - no issues, log continues to work 3.How mission log behaves if player never picks a class or picks it late - player not picking is ignored, and his log starts the moment he decides to pick. 4.How mission log interacts with other ui elements - no overlap, in case of occupying same spot opening/closing of elements is automatic.