From fe656802134127d755d017662fdbb35ba1b63cda Mon Sep 17 00:00:00 2001 From: Alison Watson Date: Sun, 10 Jul 2022 13:38:57 -0600 Subject: [PATCH] + add an option to have hint messages for puzzle item uses + add distinctly colored sprites for the second planet puzzle items * add q2s2 message --- cvarinfo.txt | 1 + graphics/ARTIGMB2.png | Bin 0 -> 926 bytes graphics/ARTIGMG2.png | Bin 0 -> 924 bytes language.txt | 23 +++++++++++++++++++++++ menudef.txt | 1 + sprites/AGB2A0.png | Bin 0 -> 926 bytes sprites/AGG2A0.png | Bin 0 -> 924 bytes vhtzs/events.zsc | 18 ++++++++++++++++++ 8 files changed, 43 insertions(+) create mode 100644 graphics/ARTIGMB2.png create mode 100644 graphics/ARTIGMG2.png create mode 100644 sprites/AGB2A0.png create mode 100644 sprites/AGG2A0.png diff --git a/cvarinfo.txt b/cvarinfo.txt index 1eb13d4..9d46b6b 100644 --- a/cvarinfo.txt +++ b/cvarinfo.txt @@ -7,4 +7,5 @@ server bool vht_player_touchshatter = true; server bool vht_player_questlog = true; user int vht_player_questlogplural = 0; server bool vht_player_scruteswitch = true; +server bool vht_player_scrutepuzzle = true; server int vht_monster_centaur = 2; diff --git a/graphics/ARTIGMB2.png b/graphics/ARTIGMB2.png new file mode 100644 index 0000000000000000000000000000000000000000..0b0aaef333dce79c614749e3aacc507f4b70c8c9 GIT binary patch literal 926 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 literal 0 HcmV?d00001 diff --git a/vhtzs/events.zsc b/vhtzs/events.zsc index 1a42e68..81cb96c 100644 --- a/vhtzs/events.zsc +++ b/vhtzs/events.zsc @@ -45,6 +45,24 @@ class VhtEvents : StaticEventHandler { qh.vhtTick(); } } + override void worldLinePreActivated(WorldEvent e) { + if(vht_player_scrutepuzzle) { + if(e.activatedLine.special == UsePuzzleItem) { + int itemNum = e.activatedLine.args[0]; + bool any = false; + for(let item = e.thing.inv; item; item = item.inv) { + let pi = PuzzleItem(item); + if(pi && pi.puzzleItemNumber == itemNum) { + any = true; + break; + } + } + if(!any) { + Console.midPrint(null, "$VHT_SWI_PUZZLE" .. itemNum, true); + } + } + } + } override void worldLineActivated(WorldEvent e) { if(vht_player_scruteswitch) { let which = "VHT_SWI_" .. level.levelNum .. "_" .. e.activatedLine.index();