diff --git a/src/spottimers.tin b/src/spottimers.tin index e4f51b7..a8bdc95 100644 --- a/src/spottimers.tin +++ b/src/spottimers.tin @@ -2,8 +2,7 @@ #CLASS {xptimers} {open}; #VARIABLE {xptimer_file} {logs/xptimers.log}; -#VARIABLE {xptimersyncdt_file} {logs/features/xptimers_syncdt.log}; -#VARIABLE {xptimersyncvt_file} {logs/features/xptimers_syncvt.log}; +#VARIABLE {xptimersync_file} {logs/features/xptimers_sync.tin}; #VARIABLE {killtimers} { {Delbert}{ @@ -186,7 +185,7 @@ {group}{true} {respawn}{40} } - {the {Tang|Fang|Hong|McSweeney} captain}{ + {the {Tang|Fang|Sung|Hong|McSweeney} captain}{ {time}{0} {name}{bmarket} {group}{true} @@ -198,20 +197,20 @@ {group}{false} {respawn}{40} } -} +}; #VARIABLE {visittimers} { {AMShades}{ {time}{0} {name}{shades} {group}{false} - {respawn}{12} + {respawn}{20} } {ebff897af2b8bb6800a9a8636143099d0714be07}{ {time}{0} {name}{smugglers} {group}{false} - {respawn}{12} + {respawn}{20} } {70546ec71867645ab5c51e9ce6087b75dcf4176f}{ {time}{0} @@ -267,7 +266,7 @@ {group}{false} {respawn}{40} } -} +}; #ALIAS {dtreset} { @@ -279,7 +278,7 @@ #foreach {*visittimers[]} {spot} { #format {visittimers[$spot][time]} {0}; }; - #format {xptimer_message} {%c[XPTimer] %c*%c Resetting all spots to Unseen.} {<188>} {Yellow} {<188>}; + #format {xptimer_message} {[hotspots] <138>* Resetting all spots to Unseen.<099>}; #echo {$xptimer_message}; #variable {dtreset_all} {1}; }; @@ -295,11 +294,11 @@ #list {spot_groups} {find} {$killtimers[$spot][name]} {group_exists}; #if {"$group_exists" == "0"} { #list {spot_groups} {add} {$killtimers[$spot][name]}; - #format {xptimer_message} {%c[XPTimer] %c*%c Resetting death timer for%c $killtimers[$spot][name]%c.} {<188>} {Yellow} {<188>} {Green} {<188>}; + #format {xptimer_message} {[hotspots] <138>* Resetting death timer for%c $killtimers[$spot][name]%c.<099>} {Green} {}; }; }; #else { - #format {xptimer_message} {%c[XPTimer] %c*%c Resetting death timer for%c $killtimers[$spot][name]%c.} {<188>} {Yellow} {<188>} {Green} {<188>}; + #format {xptimer_message} {[hotspots] <138>* Resetting death timer for%c $killtimers[$spot][name]%c.<099>} {Green} {}; }; #format {xp_message_check} {%L} {$xptimer_message}; @@ -318,11 +317,11 @@ #list {spot_groups} {find} {$visittimers[$spot][name]} {group_exists}; #if {"$group_exists" == "0"} { #list {spot_groups} {add} {$visittimers[$spot][name]}; - #format {xptimer_message} {%c[XPTimer] %c*%c Resetting visit timer for%c $visittimers[$spot][name]%c.} {<188>} {Yellow} {<188>} {Green} {<188>}; + #format {xptimer_message} {[hotspots] <138>* Resetting visit timer for%c $visittimers[$spot][name]%c.<099>} {Green} {}; }; }; #else { - #format {xptimer_message} {%c[XPTimer] %c*%c Resetting visit timer for%c $visittimers[$spot][name]%c.} {<188>} {Yellow} {<188>} {Green} {<188>}; + #format {xptimer_message} {[hotspots] <138>* Resetting visit timer for%c $visittimers[$spot][name]%c.<099>} {Green} {}; }; #format {xp_message_check} {%L} {$xptimer_message}; @@ -334,7 +333,7 @@ }; #unvariable {dtreset_all}; -} +}; #ACTION {%1 deals the death blow to %2.} { #foreach {*killtimers[]} {spot} { @@ -342,14 +341,14 @@ #format {killtimers[$spot][time]} {%T}; }; }; -} +}; #ACTION {You kill %1.} { #foreach {*killtimers[]} {spot} { #regex {%1} {$spot} { #format {killtimers[$spot][time]} {%T}; }; }; -} +}; #FUNCTION {write_spot} { #var {spotname} {%1}; @@ -366,14 +365,41 @@ #math {mins} {($mins - (60 - 1)) / 60}; #nop Choose a color-code based on downtime; - #if {$mins > ($spotrespawn + 40)} { - #var {current_spot_color} {<099>}; - }; - #elseif {$mins > ($spotrespawn + 20)} { - #var {current_spot_color} {<119>}; - }; - #elseif {$mins >= $spotrespawn} { - #var {current_spot_color} {<139>}; + #nop #if {$mins > ($spotrespawn + 40)} { + #nop #var {current_spot_color} {<099>}; + #nop }; + #nop #elseif {$mins > ($spotrespawn + 20)} { + #nop #var {current_spot_color} {<119>}; + #nop }; + #nop #elseif {$mins >= $spotrespawn} { + #nop #var {current_spot_color} {<139>}; + #nop }; + #nop #else { + #nop #var {current_spot_color} {<099>}; + #nop }; + + #nop 2/2026 changing scheme here; + #nop if rat is 40, 30-45 yellow, 45-60 red, beyond 60 miss; + #math {low_b} {$spotrespawn - 10}; + #math {up_b} {$spotrespawn + 5}; + #math {miss_b} {$spotrespawn + 20}; + + #nop if we're at or beyond the lower bound; + #if {$mins >= $low_b} { + #nop are we at or below upper bound? YELLOW; + #if {$mins <= $up_b} { + #var {current_spot_color} {<139>}; + }; + + #nop are we beyond the miss zone? show grey; + #elseif {$mins > $miss_b} { + #var {current_spot_color} {<099>}; + }; + + #nop otherwise we're in sweet spot, RED; + #else { + #var {current_spot_color} {<119>}; + }; }; #else { #var {current_spot_color} {<099>}; @@ -392,7 +418,7 @@ }; #return {$spotstring}; -} +}; #ALIAS {dt} { #format {current_time} {%T}; @@ -454,7 +480,7 @@ }; #echo {\n}; -} +}; #ALIAS {/writetimerstofile} { #system {> $xptimer_file}; @@ -505,7 +531,7 @@ #continue; }; - #var {spotstring} {@write_spot{$visittimers[$spot][name];$visittimers[$spot][time];$visittimers[spot][respawn]}}; + #var {spotstring} {@write_spot{$visittimers[$spot][name];$visittimers[$spot][time];$visittimers[$spot][respawn]}}; #line {log} {$xptimer_file} {$spotstring}; }; @@ -513,7 +539,7 @@ #var {spotstring} {@write_spot{$spot;$spot_groups[$spot];$spot_groups_respawn[$spot]}}; #line {log} {$xptimer_file} {$spotstring}; }; -} +}; #EVENT {SEND OUTPUT} {/writetimerstofile;}; @@ -522,114 +548,35 @@ #replace {spot_sync_raw} {=} {;}; #list {spot_sync} {create} {${spot_sync_raw}}; #return {$spot_sync}; -} +}; -#ALIAS {dtload} { - #var {synccount} {0}; - #script {dtsync} {cat $xptimersyncdt_file}; - #script {vtsync} {cat $xptimersyncvt_file}; +#ALIAS {^dtload$} { + #class {dtsync} {clear}; + #class {dtsync} {read} {$xptimersync_file}; + #variable {killtimers} {$killtimers_sync}; + #variable {visittimers} {$visittimers_sync}; - #replace {dtsync[1]} {,} {;}; - #replace {vtsync[1]} {,} {;}; - - #list dtsync_list create {${dtsync[1]}}; - #list vtsync_list create {${vtsync[1]}}; - - #foreach {*dtsync_list[]} {spot} { - #var {syncitem} {@parse_spot{$dtsync_list[$spot]}}; - #var {syncname} {$syncitem[1]}; - #var {synctime} {$syncitem[2]}; - - #foreach {*killtimers[]} {spotident} { - #var {spotname} {$killtimers[$spotident][name]}; - #if {"$spotname" == "$syncname"} { - #var {killtimers[$spotident][time]} {$synctime}; - #math {synccount} {$synccount + 1}; - }; - }; - }; - - #foreach {*vtsync_list[]} {spot} { - #var {syncitem} {@parse_spot{$vtsync_list[$spot]}}; - #var {syncname} {$syncitem[1]}; - #var {synctime} {$syncitem[2]}; - - #foreach {*visittimers[]} {spotident} { - #var {spotname} {$killtimers[$spotident][name]}; - #if {"$spotname" == "$syncname"} { - #var {visittimers[$spotident][time]} {$synctime}; - #math {synccount} {$synccount + 1}; - }; - }; - }; - - #format {dtsync_message} {%c[XPTimer] %c*%c Synced %c%d%c spots from %clast session%c.} {<188>}{Yellow}{<188>}{Orange}{$synccount}{<188>}{Green}{<188>}; + #showme {1}; + #format {dtsync_message} {[hotspots] <138>* Synced all available hotspot timers for %clast session%c from the disk.<099>} {Green}{}; #echo {$dtsync_message}; }; -#ALIAS {dtsave} { +#ALIAS {^dtsave$} { /writetimerstosyncfile; -} + + #showme {2}; + #format {dtsync_message} {[hotspots] <138>* Saved all available hotspot timers from %cthis session%c to the disk.<099>} {Green}{}; + #echo {$dtsync_message}; +}; #ALIAS {/writetimerstosyncfile} { - #nop Write death timers to file; - #system {> $xptimersyncdt_file}; - #var {dtsync_msg} {}; - #var {spot_groups} {}; - #var {spot_groups_respawn} {}; + #class {dtsync} {clear}; + #class {dtsync} {open}; + #var {killtimers_sync} {$killtimers}; + #var {visittimers_sync} {$visittimers}; + #class {dtsync} {close}; - #foreach {*killtimers[]} {spot} { - #if {"$killtimers[$spot][group]" == "true"} { - #if {&spot_groups[$killtimers[$spot][name]] == 0} { - #var {spot_groups[$killtimers[$spot][name]]} {$killtimers[$spot][time]}; - #var {spot_groups_respawn[$killtimers[$spot][name]]} {$killtimers[$spot][respawn]}; - }; - #if {$killtimers[$spot][time] != 0 && $killtimers[$spot][time] > $spot_groups[$killtimers[$spot][name]]} { - #var {spot_groups[$killtimers[$spot][name]]} {$killtimers[$spot][time]}; - #var {spot_groups_respawn[$killtimers[$spot][name]]} {$killtimers[$spot][respawn]}; - }; - - #continue; - }; - - #format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$killtimers[$spot][name]}{$killtimers[$spot][time]}; - }; - - #foreach {*spot_groups[]} {spot} { - #format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$spot}{$spot_groups[$spot]}; - }; - #regex {$dtsync_msg} {^,{(.+)}$} { #var {dtsync_msg} {&1}; }; - #line {log} {$xptimersyncdt_file} {$dtsync_msg}; - - #nop Write visit timers to file; - #system {> $xptimersyncvt_file}; - #var {dtsync_msg} {}; - #var {spot_groups} {}; - #var {spot_groups_respawn} {}; - - #foreach {*visittimers[]} {spot} { - #if {"$visittimers[$spot][group]" == "true"} { - #if {&spot_groups[$visittimers[$spot][name]] == 0} { - #var {spot_groups[$visittimers[$spot][name]]} {$visittimers[$spot][time]}; - #var {spot_groups_respawn[$visittimers[$spot][name]]} {$visittimers[$spot][respawn]}; - }; - #if {$visittimers[$spot][time] != 0 && $visittimers[$spot][time] > $spot_groups[$visittimers[$spot][name]]} { - #var {spot_groups[$visittimers[$spot][name]]} {$visittimers[$spot][time]}; - #var {spot_groups_respawn[$visittimers[$spot][name]]} {$visittimers[$spot][respawn]}; - }; - - #continue; - }; - - #format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$visittimers[$spot][name]}{$visittimers[$spot][time]}; - }; - - #foreach {*spot_groups[]} {spot} { - #format {dtsync_msg} {%s,%s=%d} {$dtsync_msg}{$spot}{$spot_groups[$spot]}; - }; - - #regex {$dtsync_msg} {^,{(.+)}$} { #var {dtsync_msg} {&1}; }; - #line {log} {$xptimersyncvt_file} {$dtsync_msg}; + #class {dtsync} {write} {$xptimersync_file}; }; #ACTION {%1 tells you: ruhs_dtsync=[%2] | ruhs_vtsync=[%3]} { @@ -671,9 +618,9 @@ }; }; - #format {dtsync_message} {%c[XPTimer] %c*%c Synced %c%d%c spots from %c%s%c.} {<188>}{Yellow}{<188>}{Orange}{$synccount}{<188>}{Green}{%1}{<188>}; + #format {dtsync_message} {[hotspots] <138>* Synced %c%d%c spots from %c%s%c.<099>} {Orange}{$synccount}{}{Green}{%1}{}; #echo {$dtsync_message}; -} +}; #ALIAS {dtsync %1} { #var {dtsync_msg} {}; @@ -696,9 +643,9 @@ #format {sync_message} {tell %s ruhs_dtsync=[%s] | ruhs_vtsync=[%s]} {%1} {$dtsync_msg} {$vtsync_msg}; #send {$sync_message}; -} +}; -#nop #EVENT {IAC SB GMCP room.info IAC SE} +#nop #EVENT {IAC SB GMCP room.info IAC SE}; #ALIAS {/spottimercheckroomid %1} { #var {room_info} {%1}; #foreach {*visittimers[]} {spot} { @@ -706,7 +653,7 @@ #format {visittimers[$spot][time]} {%T}; }; }; -} +}; #ALIAS {gsdt} { #var {gsdt_string} {}; @@ -803,6 +750,6 @@ #regex {$gsdt_string} {^{(.+)} \|$} {#var {gsdt_string} {&1}; }; #send {group say $gsdt_string}; -} +}; #CLASS {xptimers} {close};