From d4516b02b1100761a6647bfd7523768b5eb87d52 Mon Sep 17 00:00:00 2001 From: Brandon Cornejo Date: Sun, 3 Feb 2019 14:39:47 -0600 Subject: [PATCH] Sausage mission timers, distortion highlights --- src/gmcp.tin | 16 ++++---- src/magic.tin | 4 ++ src/missions.tin | 83 +++++++++++++++++++++++++++++++++------ src/missions/sausages.tin | 6 +-- 4 files changed, 87 insertions(+), 22 deletions(-) diff --git a/src/gmcp.tin b/src/gmcp.tin index a974beb..522851c 100644 --- a/src/gmcp.tin +++ b/src/gmcp.tin @@ -14,15 +14,15 @@ #ALIAS {debug {on|off}} { - #IF {"%1" == "on"} { #VARIABLE debug 1 }; - #ELSE { #VARIABLE debug 0 }; + #IF {"%1" == "on"} { #VARIABLE {debug} {1}; }; + #ELSE { #VARIABLE {debug} {0} }; #SHOWME { Debug is <139>$debug<099> }; #NOP; } #EVENT {IAC SB GMCP char.vitals IAC SE} { - #IF {$debug} { #SHOWME %1 }; + #IF {"$debug" == "1"} { #SHOWME %1 }; #VAR GMCP[oldvitals] {$GMCP[vitals]}; #VAR GMCP[vitals] {%0}; @@ -45,13 +45,13 @@ #EVENT {IAC SB GMCP char.info IAC SE} { - #IF {$debug} { #SHOWME %1 }; + #IF {"$debug" == "1"} { #SHOWME %1 }; #VAR GMCP[charinfo] {%0}; } #EVENT {IAC SB GMCP room.info IAC SE} { - #IF {$debug} { #SHOWME %1 }; + #IF {"$debug" == "1"} { #SHOWME %1 }; #VAR GMCP[room][info] {%0}; /spottimercheckroomid $GMCP[room][info][identifier] @@ -60,18 +60,18 @@ #EVENT {IAC SB GMCP room.map IAC SE} { - #IF {$debug} { #SHOWME %1 }; + #IF {"$debug" == "1"} { #SHOWME %1 }; #VAR {minimap} {%0}; #REPLACE {minimap} {u001b} {}; #SYSTEM {rm logs/minimap.log && touch logs/minimap.log}; - #LINE {log} {logs/minimap.log} {\n\n$minimap}; + #LINE {log} {logs/minimap.log} {$minimap}; #SYSTEM {sed -i -e 's/^/ /' logs/minimap.log}; } #EVENT {IAC SB GMCP room.writtenmap IAC SE} { - #IF {$debug} { #SHOWME %1 }; + #IF {"$debug" == "1"} { #SHOWME %1 }; #VAR GMCP[room][mdt] {%0}; #REPLACE {GMCP[room][mdt]} {\\n} {}; #SYSTEM {rm logs/mapdoortext.log && touch logs/mapdoortext.log}; diff --git a/src/magic.tin b/src/magic.tin index aebc922..85caed9 100644 --- a/src/magic.tin +++ b/src/magic.tin @@ -55,5 +55,9 @@ #NOP ==[Colour FCI Output]== #SUB {The weave indicates that %1 is a %2, with %3 charges remaining.} {The weave indicates that <138>%1<098> is a <138>%2<098> with <158>%3<098> charges remaining.}; +#NOP ==[Library/Distortions]== +#HIGHLIGHT {^The area seems more mundane than before\.$} {green underscore}; +#HIGHLIGHT {^{?>You notice an odd rippling in the air\.|The awful sound of nails being dragged down a blackboard fills the area briefly\.|A distortion in time and space is forming!}$} {red underscore}; + #CLASS {magic} {close}; diff --git a/src/missions.tin b/src/missions.tin index 74d8fc5..58b4051 100644 --- a/src/missions.tin +++ b/src/missions.tin @@ -1,17 +1,21 @@ #CLASS {missiontimers} {kill}; #CLASS {missiontimers} {open}; -#NOP ==[ Load Sausage Mission stuff ]== +#NOP ==[ Load Individual Mission stuff ]== #READ {src/missions/sausages.tin}; +#READ {src/missions/letters.tin}; #ALIAS {missions} { - #if {&missions} { - #echo {<149>[MT] Active Mission Timers:<099>}; - } { #return; }; + #if {&missions == 0} { + #return; + }; #format {current_time} {%T}; #var {mission_display_list} {}; + #nop ==============================; + #nop ===== Sausage Missions =====; + #nop ==============================; #if {&missions[sausage]} { #foreach {$missions[sausage][active_list][]} {player} { #if {&missions[sausage][active_list][$player][easy]} { @@ -40,17 +44,74 @@ }; }; + #nop ==============================; + #nop ===== Dead Letters =====; + #nop ==============================; + #if {&missions[letter]} { + #foreach {$missions[letter][active_list][]} {player} { + #if {&missions[letter][active_list][$player][difficult]} { + #math {mins} { (($current_time - $missions[letter][active_list][$player][difficult]) + 0.5) / 60 }; + #math {mins} {60 - $mins}; - #nop We've compiled all of the different mission timers by-character, now print them out; - #foreach {$mission_display_list[]} {player} { - #foreach {$mission_display_list[$player][%*]} {mt_display} { - #showme {$mt_display}; + #format {mt_display} {\t<129>%s<099> can do another difficult customer letter in <139>%d<099> minutes.<099>} {$player}{$mins}; + #list {mission_display_list[$player]} {add} {$mt_display}; + }; + #if {&missions[letter][active_list][$player][distant]} { + #math {mins} { (($current_time - $missions[letter][active_list][$player][distant]) + 0.5) / 60 }; + #math {mins} {60 - $mins}; + + #format {mt_display} {\t<129>%s<099> can do another distant lands letter in <139>%d<099> minutes.<099>} {$player}{$mins}; + #list {mission_display_list[$player]} {add} {$mt_display}; + }; + #if {&missions[letter][active_list][$player][far]} { + #math {mins} { (($current_time - $missions[letter][active_list][$player][far]) + 0.5) / 60 }; + #math {mins} {60 - $mins}; + + #format {mt_display} {\t<129>%s<099> can do another far away letter in <139>%d<099> minutes.<099>} {$player}{$mins}; + #list {mission_display_list[$player]} {add} {$mt_display}; + }; + #if {&missions[letter][active_list][$player][close]} { + #math {mins} { (($current_time - $missions[letter][active_list][$player][close]) + 0.5) / 60 }; + #math {mins} {60 - $mins}; + + #format {mt_display} {\t<129>%s<099> can do another close-by letter in <139>%d<099> minutes.<099>} {$player}{$mins}; + #list {mission_display_list[$player]} {add} {$mt_display}; + }; + #if {&missions[letter][active_list][$player][local]} { + #math {mins} { (($current_time - $missions[letter][active_list][$player][local]) + 0.5) / 60 }; + #math {mins} {60 - $mins}; + + #format {mt_display} {\t<129>%s<099> can do another local letter in <139>%d<099> minutes.<099>} {$player}{$mins}; + #list {mission_display_list[$player]} {add} {$mt_display}; + }; + }; + #foreach {$missions[letter][retry_list][]} {player} { + #format {missions[letter][retry_list][$GMCP[charinfo][capname]]} {%T}; + #math {mins} { (($current_time - $missions[letter][retry_list][$player]) + 0.5) / 60 }; + #math {mins} {10 - $mins}; + + #format {mt_display} {\t<129>%s<099> can request another letter in <139>%d<099> minutes.<099>} {$player}{$mins}; + #list {mission_display_list[$player]} {add} {$mt_display}; }; + }; -}; -#nop "#event {RECEIVED OUTPUT} {%0}" catches all the things.... one event trigger -#nop and process a bunch of stuff? + #nop ==============================; + #nop ===== Print Missions =====; + #nop ==============================; + #list {mission_display_list} {size} {mdl_count}; + #if {$mdl_count > 0} { + #echo {<149>[MT] Active Mission Timers:<099>}; + #foreach {$mission_display_list[]} {player} { + #foreach {$mission_display_list[$player][%*]} {mt_display} { + #showme {$mt_display}; + }; + }; + } { + #echo {<149>[MT] No current mission timers.<099>}; + }; + +}; #CLASS {missiontimers} {close}; diff --git a/src/missions/sausages.tin b/src/missions/sausages.tin index aeb5e2d..68c7dee 100644 --- a/src/missions/sausages.tin +++ b/src/missions/sausages.tin @@ -42,7 +42,7 @@ #line sub variable { #delay {600} { - #format {sausage_retry_line} {%c[MH] %c*%c %s%c can now ask for a new sausage mission from Sam Slager.} {bold blue} {bold yellow} {bold green}{$GMCP[charinfo][capname]} {bold blue}; + #format {sausage_retry_line} {%c[MT] %c*%c %s%c can now ask for a new sausage mission from Sam Slager.} {bold blue} {bold yellow} {bold green}{$GMCP[charinfo][capname]} {bold blue}; #echo {$sausage_retry_line}; #unvar {sausage_retry_line}; @@ -61,7 +61,7 @@ #line sub variable { #format {delayname} {sausage_easy_%s} {$GMCP[charinfo][capname]}; #delay {$delayname} { - #format {sausage_timer_line} {%c[MH] %c*%c %s can now do another unspiced sausage mission.} {bold blue} {bold yellow} {bold blue} {$GMCP[charinfo][capname]}; + #format {sausage_timer_line} {%c[MT] %c*%c %s can now do another unspiced sausage mission.} {bold blue} {bold yellow} {bold blue} {$GMCP[charinfo][capname]}; #echo {$sausage_timer_line}; #unvar {sausage_timer_line}; @@ -76,7 +76,7 @@ #line sub variable { #format {delayname} {sausage_hard_%s} {$GMCP[charinfo][capname]}; #delay {$delayname} { - #format {sausage_timer_line} {%c[MH] %c*%c %s last finished a spiced sausage mission.} {bold blue} {bold yellow} {bold blue} {$GMCP[charinfo][capname]}; + #format {sausage_timer_line} {%c[MT] %c*%c %s can now do another spiced sausage mission.} {bold blue} {bold yellow} {bold blue} {$GMCP[charinfo][capname]}; #echo {$sausage_timer_line}; #unvar {sausage_timer_line};