refactor spottimer colour logic, add a few spots

This commit is contained in:
Brandon Cornejo 2026-02-08 18:31:57 -06:00
parent 56a75ce844
commit d3136323eb

View File

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