A new, updated whiner! Have fun

I have finally completed adapting the whiner to the new custom prompt. This update includes some nice additions such as color coded decrease in hp, mana and moves, an am/pm clock that counts sloth time in regluar time, and a weather indicator (mostly for druids), as well as the ability to be always on without spamming you. Also when used in unison with my previous whiner somewhere below this thread, using if(@charname=@tank), it needs no alias to be switched on and off for tanking and soloing.
Alas, this whiner is designed for Druids mostly (as that is what Xandora is), but will work for anyone.
Below are two versions of the same script, version 1.0 doesnt use the previously mentioned if(@charname=@tank) script, while version 2.0 does. The choice is yours. Enjoy and please, let me know what you think, and if there is anything you'd like to see it do, that it doesn't already.
**NOTE: This scripts are totally self contained and go into one class folder that can be permanently enabled. No need for on/off toggles.
You might notice the #ALIAS at the beginning of the script, for you druids, just place this alias (newprompt) after your shapeshifting alias to automatically convert your shifted prompt to fit the script every time you shift.
Version 1.0 (without switch for tanking and soloing)
#ALIAS newprompt {prompt ~<Time ~= $t | $w | $h/$Hhp $m/$Mma $v/Vmv~>}
#TRIGGER {^~<Time = %1 ~| %2 ~| %3~/%4hp %5~/%6ma %7~/%8mv~>} {
#var timeofday %1
#var weather %2
#var curhp %3
#var maxhp %4
#var curma %5
#var maxma %6
#var curmv %7
#var maxmv %8
#math thirdhp @maxhp-(@maxhp/4)
#math halfhp @maxhp/2
#math criticalhp @maxhp/5
#math thirdma @maxma-(@maxma/4)
#math halfma @maxma/2
#math criticalma @maxma/5
#math thirdmv @maxmv-(@maxmv/4)
#math halfmv @maxmv/2
#math criticalmv @maxmv/5
#math diffhp (@curhp-@lasthp)
#math needhp %abs(@maxhp-@curhp)
#math lasthp @curhp
#VAR hitup {20}
#VAR hitdown {-20}
#if (@curhp>@thirdhp) {#var hpcolor green} {#if (@curhp<@thirdhp AND @curhp>@halfhp) {#var hpcolor cyan} {#if (@curhp<@halfhp AND @curhp>@criticalhp) {#var hpcolor yellow} {#if (@curhp<@criticalhp) {#var hpcolor red}}}}
#if (@curma>@thirdma) {#var macolor green} {#if (@curma<@thirdma AND @curma>@halfhp) {#var macolor cyan} {#if (@curma<@halfma AND @curma>@criticalma) {#var macolor yellow} {#if (@curma<@criticalma) {#var macolor red}}}}
#if (@curmv>@thirdmv) {#var mvcolor green} {#if (@curmv>@thirdmv AND @curmv>@halfmv) {#var mvcolor cyan} {#if (@curmv<@halfmv AND @curmv>@criticalmv) {#var mvcolor yellow} {#if (@curmv<@criticalmv) {#var mvcolor red}}}}
#if (@timeofday > 12) {
#math standardtime @timeofday-12
#var ampm am
#var timeofday @standardtime
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
} {
#if (@timeofday = 0) {
#var timeofday 12
#var ampm am
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
} {
#var ampm pm
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
}
}
#if (@diffhp<>0) {#if (@diffhp>@hitup) {#SUB %ansi(white)"<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp ~[+"%ansi(yellow)@diffhp%ansi(white)" Need:"%ansi(yellow)@needhp%ansi(white)"~] "%ansi(@macolor)@curma"/"%ansi(white)@maxma"ma>")}} {#if (@diffhp<@hitdown) {#SUB %ansi(white)"<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp" ~["%ansi(yellow)@diffhp%ansi(white)" Need:"%ansi(yellow)@needhp%ansi(white)"~] "%ansi(@macolor)@curma"/"%ansi(white)@maxma"ma>"}}
}
Version 2.0 (with switch for tanking and soloing)
#ALIAS newprompt {prompt ~<Time ~= $t | $w | $h/$Hhp $m/$Mma $v/Vmv~>}
#TRIGGER {^~<Time = %1 ~| %2 ~| %3~/%4hp %5~/%6ma %7~/%8mv~>} {
#var timeofday %1
#var weather %2
#var curhp %3
#var maxhp %4
#var curma %5
#var maxma %6
#var curmv %7
#var maxmv %8
#math thirdhp @maxhp-(@maxhp/4)
#math halfhp @maxhp/2
#math criticalhp @maxhp/5
#math thirdma @maxma-(@maxma/4)
#math halfma @maxma/2
#math criticalma @maxma/5
#math thirdmv @maxmv-(@maxmv/4)
#math halfmv @maxmv/2
#math criticalmv @maxmv/5
#math diffhp (@curhp-@lasthp)
#math needhp %abs(@maxhp-@curhp)
#math lasthp @curhp
#VAR hitup {20}
#VAR hitdown {-20}
#if (@curhp>@thirdhp) {#var hpcolor green} {#if (@curhp<@thirdhp AND @curhp>@halfhp) {#var hpcolor cyan} {#if (@curhp<@halfhp AND @curhp>@criticalhp) {#var hpcolor yellow} {#if (@curhp<@criticalhp) {#var hpcolor red}}}}
#if (@curma>@thirdma) {#var macolor green} {#if (@curma<@thirdma AND @curma>@halfhp) {#var macolor cyan} {#if (@curma<@halfma AND @curma>@criticalma) {#var macolor yellow} {#if (@curma<@criticalma) {#var macolor red}}}}
#if (@curmv>@thirdmv) {#var mvcolor green} {#if (@curmv>@thirdmv AND @curmv>@halfmv) {#var mvcolor cyan} {#if (@curmv<@halfmv AND @curmv>@criticalmv) {#var mvcolor yellow} {#if (@curmv<@criticalmv) {#var mvcolor red}}}}
#if (@timeofday > 12) {
#math standardtime @timeofday-12
#var ampm am
#var timeofday @standardtime
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
} {
#if (@timeofday = 0) {
#var timeofday 12
#var ampm am
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
} {
#var ampm pm
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
}
}
#if (@diffhp<>0) {#if (@diffhp>@hitup) {#if (@charname=@tank) {grouptell "["\d02@curhp\c03"|"\d04@maxhp\c03"] "To Full:"<"\d02@needhp\c03"> "HEAL:"<+"\d04@diffhp\c03">"} {#SUB %ansi(white)"<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp ~[+"%ansi(yellow)@diffhp%ansi(white)" Need:"%ansi(yellow)@needhp%ansi(white)"~] "%ansi(@macolor)@curma"/"%ansi(white)@maxma"ma>")}} {#if (@diffhp<@hitdown) {#if (@charname=@tank) {grouptell "["\d02@curhp\c03"|"\d04@maxhp\c03"] "To Full:"<"\d02@needhp\c03"> "DAMG:"<"\d03@diffhp\c03">"} {#SUB %ansi(white)"<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp" ~["%ansi(yellow)@diffhp%ansi(white)" Need:"%ansi(yellow)@needhp%ansi(white)"~] "%ansi(@macolor)@curma"/"%ansi(white)@maxma"ma>"}}}}
}
Enjoy,
Xandora
Alas, this whiner is designed for Druids mostly (as that is what Xandora is), but will work for anyone.
Below are two versions of the same script, version 1.0 doesnt use the previously mentioned if(@charname=@tank) script, while version 2.0 does. The choice is yours. Enjoy and please, let me know what you think, and if there is anything you'd like to see it do, that it doesn't already.
**NOTE: This scripts are totally self contained and go into one class folder that can be permanently enabled. No need for on/off toggles.
You might notice the #ALIAS at the beginning of the script, for you druids, just place this alias (newprompt) after your shapeshifting alias to automatically convert your shifted prompt to fit the script every time you shift.
Version 1.0 (without switch for tanking and soloing)
#ALIAS newprompt {prompt ~<Time ~= $t | $w | $h/$Hhp $m/$Mma $v/Vmv~>}
#TRIGGER {^~<Time = %1 ~| %2 ~| %3~/%4hp %5~/%6ma %7~/%8mv~>} {
#var timeofday %1
#var weather %2
#var curhp %3
#var maxhp %4
#var curma %5
#var maxma %6
#var curmv %7
#var maxmv %8
#math thirdhp @maxhp-(@maxhp/4)
#math halfhp @maxhp/2
#math criticalhp @maxhp/5
#math thirdma @maxma-(@maxma/4)
#math halfma @maxma/2
#math criticalma @maxma/5
#math thirdmv @maxmv-(@maxmv/4)
#math halfmv @maxmv/2
#math criticalmv @maxmv/5
#math diffhp (@curhp-@lasthp)
#math needhp %abs(@maxhp-@curhp)
#math lasthp @curhp
#VAR hitup {20}
#VAR hitdown {-20}
#if (@curhp>@thirdhp) {#var hpcolor green} {#if (@curhp<@thirdhp AND @curhp>@halfhp) {#var hpcolor cyan} {#if (@curhp<@halfhp AND @curhp>@criticalhp) {#var hpcolor yellow} {#if (@curhp<@criticalhp) {#var hpcolor red}}}}
#if (@curma>@thirdma) {#var macolor green} {#if (@curma<@thirdma AND @curma>@halfhp) {#var macolor cyan} {#if (@curma<@halfma AND @curma>@criticalma) {#var macolor yellow} {#if (@curma<@criticalma) {#var macolor red}}}}
#if (@curmv>@thirdmv) {#var mvcolor green} {#if (@curmv>@thirdmv AND @curmv>@halfmv) {#var mvcolor cyan} {#if (@curmv<@halfmv AND @curmv>@criticalmv) {#var mvcolor yellow} {#if (@curmv<@criticalmv) {#var mvcolor red}}}}
#if (@timeofday > 12) {
#math standardtime @timeofday-12
#var ampm am
#var timeofday @standardtime
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
} {
#if (@timeofday = 0) {
#var timeofday 12
#var ampm am
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
} {
#var ampm pm
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
}
}
#if (@diffhp<>0) {#if (@diffhp>@hitup) {#SUB %ansi(white)"<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp ~[+"%ansi(yellow)@diffhp%ansi(white)" Need:"%ansi(yellow)@needhp%ansi(white)"~] "%ansi(@macolor)@curma"/"%ansi(white)@maxma"ma>")}} {#if (@diffhp<@hitdown) {#SUB %ansi(white)"<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp" ~["%ansi(yellow)@diffhp%ansi(white)" Need:"%ansi(yellow)@needhp%ansi(white)"~] "%ansi(@macolor)@curma"/"%ansi(white)@maxma"ma>"}}
}
Version 2.0 (with switch for tanking and soloing)
#ALIAS newprompt {prompt ~<Time ~= $t | $w | $h/$Hhp $m/$Mma $v/Vmv~>}
#TRIGGER {^~<Time = %1 ~| %2 ~| %3~/%4hp %5~/%6ma %7~/%8mv~>} {
#var timeofday %1
#var weather %2
#var curhp %3
#var maxhp %4
#var curma %5
#var maxma %6
#var curmv %7
#var maxmv %8
#math thirdhp @maxhp-(@maxhp/4)
#math halfhp @maxhp/2
#math criticalhp @maxhp/5
#math thirdma @maxma-(@maxma/4)
#math halfma @maxma/2
#math criticalma @maxma/5
#math thirdmv @maxmv-(@maxmv/4)
#math halfmv @maxmv/2
#math criticalmv @maxmv/5
#math diffhp (@curhp-@lasthp)
#math needhp %abs(@maxhp-@curhp)
#math lasthp @curhp
#VAR hitup {20}
#VAR hitdown {-20}
#if (@curhp>@thirdhp) {#var hpcolor green} {#if (@curhp<@thirdhp AND @curhp>@halfhp) {#var hpcolor cyan} {#if (@curhp<@halfhp AND @curhp>@criticalhp) {#var hpcolor yellow} {#if (@curhp<@criticalhp) {#var hpcolor red}}}}
#if (@curma>@thirdma) {#var macolor green} {#if (@curma<@thirdma AND @curma>@halfhp) {#var macolor cyan} {#if (@curma<@halfma AND @curma>@criticalma) {#var macolor yellow} {#if (@curma<@criticalma) {#var macolor red}}}}
#if (@curmv>@thirdmv) {#var mvcolor green} {#if (@curmv>@thirdmv AND @curmv>@halfmv) {#var mvcolor cyan} {#if (@curmv<@halfmv AND @curmv>@criticalmv) {#var mvcolor yellow} {#if (@curmv<@criticalmv) {#var mvcolor red}}}}
#if (@timeofday > 12) {
#math standardtime @timeofday-12
#var ampm am
#var timeofday @standardtime
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
} {
#if (@timeofday = 0) {
#var timeofday 12
#var ampm am
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
} {
#var ampm pm
#SHOW %ansi(white)"~<Time:"@timeofday""@ampm" - "@weather">"
#SUB "~<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp "%ansi(@macolor)@curma%ansi(white)"/"@maxma"ma "%ansi(@mvcolor)@curmv%ansi(white)"mv>"
}
}
#if (@diffhp<>0) {#if (@diffhp>@hitup) {#if (@charname=@tank) {grouptell "["\d02@curhp\c03"|"\d04@maxhp\c03"] "To Full:"<"\d02@needhp\c03"> "HEAL:"<+"\d04@diffhp\c03">"} {#SUB %ansi(white)"<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp"hp ~[+"%ansi(yellow)@diffhp%ansi(white)" Need:"%ansi(yellow)@needhp%ansi(white)"~] "%ansi(@macolor)@curma"/"%ansi(white)@maxma"ma>")}} {#if (@diffhp<@hitdown) {#if (@charname=@tank) {grouptell "["\d02@curhp\c03"|"\d04@maxhp\c03"] "To Full:"<"\d02@needhp\c03"> "DAMG:"<"\d03@diffhp\c03">"} {#SUB %ansi(white)"<"%ansi(@hpcolor)@curhp%ansi(white)"/"@maxhp" ~["%ansi(yellow)@diffhp%ansi(white)" Need:"%ansi(yellow)@needhp%ansi(white)"~] "%ansi(@macolor)@curma"/"%ansi(white)@maxma"ma>"}}}}
}
Enjoy,
Xandora