; offensive: /onoffvar aoff 0 /onoffvar aoff2 0 /onoffvar aboy 1 /onoffvar aspasm 1 /onoffvar acloud 0 /onoffvar avortex 0 /onoffvar arage 0 /onoffvar aclaw 0 /def melee = /set aoff 0%;/set aoff2 0%;/set asol 0%;/set aspell 0%;/set aboy 1%;/set aclaw 0%;/set aspasm 1%; /set arage 0%; /def sing = /set aoff 1%;/set aoff2 0%;/set asol 1%;/set aspell 0%;/set aboy 0%;/set aclaw 1%;/set aspasm 0%; /set arage 0%; ; defense /onoffvar aprot 1 /onoffvar skin 1 /onoffvar amuse 0 /onoffvar agrace 1 /onoffvar agood 0 /onoffvar aneutral 0 /onoffvar aevil 0 /onoffvar aheat 0 /onoffvar acold 0 /onoffvar amind 0 /onoffvar ablink 1 ; maybe we need some SP for cure, if we're running away: /def -t"^Your legs run away with you\!$" wimpybeep = /send soothe ; new dodge emote == spammy, and too long /def -ag -t"^With swiftness unmatched, you tumble in the nick of time to avoid the" gagdodge = /echo -aCblue You dodge the brunt of the attack!%; /def -ag -t"^of the attack\.$" gagBrunt /def -ag -t"^yourself\.$" gagYself /def -ag -t"^You've already cast a spell this round!$" gagCast /def -aCbggreen -t"^Heartening Laugh fades from you\.$" gagHlaf = /set hlaf 0%; ;********************************* The Fightin' 49th Versifiers! ************************* ; this won't work well with masque on, but it's for your ostensible killing blow triggers ; elsewhere, if you want to only take corpses you produce: /set killermatch Fjord /def -F -p100 -t"^([A-Z][A-Za-z ]+) dealt the killing blow to" killingblow = /set killer %{P1}%; /def -F -p100 -t"^You play a death dirge for the fallen corpse. The corpse slowly$$" kwondivvy = /send di%; ; ************************* BARD HP BAR ********************************** ; Here are the variables you can set with custom_hp: ; $HP$ - Current hit points ; $MHP$ - Max hit points ; $SP$ - Current spell points ; $MSP$ - Max spell points ; $K$ - Karma ; $P$ - Current song and # of rounds left ; $MK$ - Max Karma ; $V$ - Voice ; $MV$ - Max voice (always 100) ; $S$ - # of smiles remaining ; $SR$ - % until smile reset ; $AS$ - Active spells/songs ; $C$ - Target health status ; $NL$ - New line ; $G2N$ - GXP to next level ; $G2N%$- GXP % to next level ; $G2S$ - GXP to spend ; $AU$ - Coins carried (why? bog, I dunno, ask Q) /def hpconfig = /send bset custom_hp H:\&\$HP2\$\& S:\&\$SP2\$\& K:\&\$K2\$\& V:\&\$V\$\& G:\&\$G2N\$\& \&\$C\$\& |\&\$NL\$\& Active:\&\$P\$\&|\&\$AS\$\& | [\&\$S\$\&(\&\$SR\$\&%%)] ;/def hpconfig = /send bset custom_hp H:&$HP$&/&$MHP$& S:&$SP$&/&$MSP$& K:&$K$&/&$MK$& V:&$V$& G:&$G2N$& &$C$& |&$NL$& Active:&$P$&|&$AS$& | [&$S$&(&$SR$&%%)] /set lasthps 0 /set hps 0 /set dmg 0 /set maxhps 0 /set lastsps 0 /set sps 0 /set spcost 0 /set maxsps 0 /set karma 0 /set maxkarma 0 /set voice 0 /set smiles 0 /set smileReset 0 /set maxvoice 100 /set gxp 0 /set total_gxp 0 /set deltagxp 0 /set offenses 0 /set defenses 0 ; ************************* BARD OFFENSE **************************************** /def -F -aBCyellow -mregexp -t"^ Active:(.*)?\|(.*)? \| \[([0-9])\(([0-9]+)\%\)\]$" spells = /if ({P1} =~ '') /set performing 0%;/else /set performing 1%;/endif%; /if ({P2} =~ '') /set defenses 0%;/else /set defenses %P2%;/endif%; /set smiles %P3%; /set smileReset %P4%; /if (regmatch('\*H\*',{defenses})) /set hid 1%;/else /set hid 0%;/endif%; /if (regmatch('MB',{defenses} )) /set mblank 1%;/else /set mblank 0%;/endif%; /if (regmatch('B',{defenses} )) /set blink 1%;/else /set blink 0%;/endif%;; /if (regmatch('cc',{defenses} )) /set claws 1%;/else /set claws 0%;/endif%; /if (! regmatch('HS:',{defenses} )) /set hskin 0%;/endif%; /if (! regmatch('PE:',{defenses} )) /set pevil 0%;/endif%; /if (! regmatch('PG:',{defenses} )) /set pgood 0%;/endif%; /if (! regmatch('PH:',{defenses} )) /set pheat 0%;/endif%; /if (! regmatch('PF:',{defenses} )) /set pcold 0%;/endif%; /if (! regmatch('O:',{defenses} )) /set muse 0%;/endif%; /if (! regmatch('R:',{defenses} )) /set rock 0%;/endif%; /if (aprot & skin & !singing & combat & sps > 74 & regmatch("HS:",defenses) == 0) hs%; /elseif (aprot & ablink & !singing & combat & sps > 200 & regmatch(" B ",defenses) == 0) blink%; /elseif (aprot & aevil & !singing & combat & sps > 48 & regmatch("PE:",defenses) == 0) pevil%; /elseif (aprot & agood & !singing & combat & sps > 48 & regmatch("PG:",defenses) == 0) pgood%; /elseif (aprot & aheat & !singing & combat & sps > 200 & regmatch("PH:",defenses) == 0) pheat%; /elseif (aprot & acold & !singing & combat & sps > 200 & regmatch("PF:",defenses) == 0) pcold%; /elseif (aprot & amind & !singing & combat & sps > 200 & regmatch("MB",defenses) == 0) cast mind blank%; /elseif (hlaf == 0) hlaf%;stats%;/endif%; /def -mregexp -t"^Constitution \+\d \d+ [a-z]+ Heartening Laugh$" checklaf = /set hlaf 1%; /alias hlaf /send heartening laugh%;/set hlaf 1%; ; an expensive way to go about getting these: /def -F -aBCyellow -mregexp -t"AG:([0-9]+)" grace = /eval /set grace %{P1}%; /def -F -aBCyellow -mregexp -t"O:([0-9]+)" muse = /eval /set muse %{P1}%; /def -F -aBCyellow -mregexp -t"PF:([0-9]+)" pcold = /eval /set pcold %{P1}%; /def -F -aBCyellow -mregexp -t"PH:([0-9]+)" pheat = /eval /set pheat %{P1}%; /def -F -aBCyellow -mregexp -t"PN:([0-9]+)" pneutra = /eval /set pnuetral %{P1}%; /def -F -aBCyellow -mregexp -t"PE:([0-9]+)" pevil = /eval /set pevil %{P1}%; /def -F -aBCyellow -mregexp -t"PG:([0-9]+)" pgood = /eval /set pgood %{P1}%; /def -F -aBCyellow -mregexp -t"HS:([0-9]+)" skin = /eval /set hskin %{P1}%; /def -F -aBCyellow -mregexp -t"R:(0-9]+)" rock = /eval /set rock %{P1}%; /alias dm /doProtFast /def doProtFast = /if (skin & hskin < 30) /send cast hardened skin%; /elseif (ablink & !blink) /send cast blink%; /elseif (aevil & pevil < 40) /send cast protection from evil%; /elseif (agood & pgood < 40) /send cast protection from good%; /elseif (aneutral & pneutral < 40) /send cast protection from neutral%; /elseif (aheat & pheat < 40) /send cast protection from heat%; /elseif (acold & pcold < 40) /send cast protection from frost%; /elseif (amind & !mblank) /send cast mind blank%; /elseif (agrace & grace < 100) perform amazing grace%; /elseif (arock & rock < 10) perform i am a rock%; /elseif (amuse & muse < 50) perform o muse%; /elseif (arock & rock < 10) /send perform i am a rock%; /elseif (anumb) /send perform comfortably numb%;/endif%; /send hp%; /def doProt = /if (dark & alight) /checklight%;/endif%; /if (aparty) /qrepeat _crack -1 1 crack%;/endif%; /if (dark2 & alight) /send lumen%;keep torch%;/set dark2 0%;/endif%; /if (nex & nexlevel > 1 & !nexsp & ( aoff|aoff2|aspell )) nexsp%;; /elseif (nex & nexlevel > 4) nexac%; /endif%;; /if (aparty) /qrepeat _drop_corpse -4 1 drop corpse%;/endif%; /if (!singing) /if (skin & hskin < 30) /send cast hardened skin%;/endif%; /if (ablink & !blink) /qrepeat _blink -2 1 /send cast blink%;/endif%; /if (aevil & pevil < 40) /qrepeat _pevil -4 1 /send cast protection from evil%;/endif%; /if (agood & pgood < 40) /qrepeat _pgood -4 1 /send cast protection from good%;/endif%; /if (aneutral & pneutral < 40) /qrepeat _pneutral -4 1 /send cast protection from neutral%;/endif%; /if (aheat & pheat < 40) /qrepeat _pheat -6 1 /send cast protection from heat%;/endif%; /if (acold & pcold < 40) /qrepeat _pcold -6 1 /send cast protection from frost%;/endif%; /if (amind & !mblank) /qrepeat _amind -6 1 /send cast mind blank%;/endif%; /if (avortex) /qrepeat _vortex -0 1 /send cast lightning vortex%;/endif%; /if (acloud) /qrepeat _ncloud -3 1 cloud%;/endif%; /if (aspasm) /qrepeat _spasm -5 1 spasm%;/endif%; /if (aclaw) /qrepeat _claw -7 1 cast cats claw%;/endif%; /if (arage) enrage%;/endif%; /endif%; /if (agrace & grace < 100) /qrepeat _agrace -8 1 perform amazing grace%;/endif%; /if (amuse & muse < 50) /qrepeat _psongs -7 1 perform o muse%;/endif%; /if (aoff & sps > 800) 9%;/qrepeat _sllb -0 1 /send off %{enemy}%; /elseif (amaul & sps < 800) /qrepeat _boy -1 1 boy%; /elseif (aoff & abot & sps < 1000 & voice > 12) /qrepeat _abot -0 1 bota%; /elseif (aboy & voice > 90) /qrepeat _boy -6 1 boy%; /elseif ( aoff ) 9%;os for %{enemy}%;/qrepeat _sllb -2 1 rhythmic actions %{osongrounds} os for %{enemy}:20%; /endif%; ; I like to add a /guild_kill_hook to my kill macro /def guild_pre_kill_hook = /doProt /def guild_post_kill_hook /def -mregexp -t"^The magic of your song, 'Amazing Grace', has faded\.$" grace2 = /set grace 0%; /alias t thunderous bellow %* /alias fly cast wings of the phoenix %* /alias asl alias sl rhythmic actions 12 sol for \$*:20 ; ******************************* BARD OFFENSE ********************************** ; ; Ok, bard non-melee offenses need an instrumental song plus spell for dmg, it's ; a pain in the ass setting up the rhythmic actions loops you'd want to use for ; all dmg combinations, as reviewing this section will attest. ; ; The gist is there is are aliases for casting dmg type and song dmg type, ; c and s, where can be elec, edged, fire, ener, acid, pois, ; mind, and "rain", if you've got it. Then there are a bunch of combos ; of these aliases, so, e.g., to do all elec dmg type "oll", to do the poison ; song with acid spell, "opa", etc. ; ; Then you just type "off " once and there you go, your non-melee offense ; is automated. /alias celec alias oc cast lightning bolt /alias cedge alias oc cast blade dance /alias cfire alias oc cast fire storm /alias cener alias oc cast energy bolt /alias cacid alias oc cast caustic critic /set osongrounds 12 ;;12 /alias sinva alias os perform shower of light%;/set osongrounds 12%;alias off rhythmic actions 1 os/oc/oc/oc/oc/oc/oc/oc/oc/oc/oc/os/os/off /alias selec alias os perform shower of light%;/set osongrounds 12%;alias off rhythmic actions 1 os for \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc for \$*/oc on \$*/os for \$*/os for \$*/off \$* ; 7 rounds /alias spois alias os perform toxic blades%;/set osongrounds 7%;alias off rhythmic actions 1 os for \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/os for \$*/off \$* ; indefinite.... /alias sener alias os perform death march%;/set osongrounds 8%;alias off rhythmic actions 1 os for \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/os for \$*/off \$* ; 9 /alias sacid alias os perform acid rock%;/set osongrounds 9%;alias off rhythmic actions 1 oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/os for \$*/oc on \$*/oc on \$*/os for \$*/off \$* ; 8 /alias smind alias os perform sands of time%;/set osongrounds 8%;alias off rhythmic actions 1 oc on \$*/oc on \$*/oc on \$*/oc on \$*/os for \$*/oc on \$*/oc on \$*/os for \$*/off \$* /alias srain alias os perform rainbow of death%;/set osongrounds 8%;alias off rhythmic actions 1 os for \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/oc on \$*/os for \$*/off \$* /alias poff alias off rhythmic actions 1 oc for \$*/oc on \$*/os for \$*/os for \$*/oc on \$*/os for \$*/os for \$*/oc on \$*/os for \$*/off \$*%;/set osongrounds 3 /alias oll selec%;celec /alias olf selec%;cfire /alias ole selec%;cedge /alias ola selec%;cacid /alias oln selec%;cener /alias opl spois%;celec /alias opf spois%;cfire /alias ope spois%;cedge /alias opa spois%;cacid /alias opn spois%;cener /alias oal sacid%;celec /alias oaf sacid%;cfire /alias oae sacid%;cedge /alias oaa sacid%;cacid /alias oan sacid%;cener /alias onl sener%;celec /alias onf sener%;cfire /alias one sener%;cedge /alias ona sener%;cacid /alias onn sener%;cener /alias orl srain%;celec /alias orf srain%;cfire /alias ore srain%;cedge /alias ora srain%;cacid /alias orn srain%;cener /alias omind smind%; ; Not for botting! For Ballad of the Ancients: /onoffvar abot 0 /onoffvar asong 0 /alias bota /send perform ballad of the ancients %*%;/set pbota 1%; /alias dbota /send cease%;/set pbota 0%; /def -t"^You take a deep breath and focus deep within. Drawing energy from within$" bota1 = /set pbota 1%; /def -t"^You cease your performance of Ballad of the Ancients\.$" bota2 = /set pbota 0%; ; if you have a maul of valyn you want to switch to melee attacks on low sp: /onoffvar amaul 0 ; Gagging more shit: /def -ag -t"^rhythmic actions <#rnds> $" bgag1 /def -ag -t"^e\.g\.: rhythmic actions 2 drink potion/read scroll/$" bgag2 /def -ag -t"^That would make \'drink potion\' happen on round 2 and \'read scroll\'$" bgag3 /def -ag -t"^happen on round 4\. To repeat a command you can put :# on the end,$" bgag4 /def -ag -t"^like smile:20\.$" bgag5 /def -ag -t"^You crack your knuckles and get ready to play\.$" bgag6 /def -ag -t"^You play onward\.\.\.$" bgag7 /def -ag -t"^In a panic, you attempt a calculated action:bandage\.$" bgag8 /def -ag -t"^You're in mid performance, remember\?$" bgag9 /def -ag -t"^Your mystic guardian reminds you to cast cure$" bgag10 /def -ag -t"^Not so fast\.$" bgag11 /def -ag -t"^Remove what\?$" shieldgag /def -ag -t"^You brief every monster in the room\.\.\.$" brieftoolgag /alias report /eval emote reports: HP:%{hps}/%{maxhps} SP:%{sps}/%{maxsps} Karma:%{karma}/%{maxkarma} Voice:%{voice}% ; ************* BARD HP BAR ******************* /def -aBCyellow -mregexp -t"^H:([0-9]+)\/([0-9]+) S:([0-9]+)\/([0-9]+) K:([0-9]+)\/([0-9]+) V:([0-9]+) G:([0-9]+) T?:?([0-9A-Za-z]+)?%? \|$" hpbar = /set wholehp %P0 %; /set lasthps %{hps} %; /set hps %P1 %; /set dmg $[lasthps-hps] %; /set maxhps %P2 %; /set lastsps %{sps} %; /set sps %P3 %; /set spcost $[lastsps-sps] %; /set maxsps %P4 %; /set hpdiff $[maxhps-hps]%; /set hpdiff2 $[maxhps*3/4-hps]%; /set spdiff $[maxsps-sps]%; /set lastkarma %{karma}%; /set karma %P5 %; /set maxkarma %P6 %; /set karmacost $[lastkarma-karma]%; /set lastvoice %{voice} %; /set voice %P7 %; /set dvoice $[lastvoice-voice]%; /if ({dvoice} > 0) /set singing 1%;/else /set singing 0%;/endif%; /set lastgxp %{gxp} %; /set gxp %P8 %; /set deltagxp $[lastgxp-gxp] %; /set total_gxp $[total_gxp+deltagxp]%; /set enemy_health %P9 %; /if ({P9} =~ '') /set combat 0%;/else /eval /set combat 1%;/endif%; /set totaldmg $[totaldmg+dealdmg]%; /echo -p @{Ccyan} dh: %{dmg} ds: %{spcost} dk: %{karmacost} dV: %{dvoice} gxp: %{deltagxp} Last: %{lastRounds}(%{lastTotalDmg}) Curr: %{myrounds}(%{totaldmg}) Dealt: %{dealdmg} %; /set dealdmg=0%; /if (hptyped == 0) /if (ascan == 1) scan%; /endif%; /else /eval /set combat 0 %; /endif%; /if (combat) /if (asafe & hps < maxhps*1/4) /dc%;/endif%; /if ({karma} == {maxkarma}) ; if you want to be more efficient, but a botter ; /if (hpdiff > 10 & spdiff > 15) soothe%;/endif%; ; /if (hpdiff2 > 20) bandage%;/endif%;; /if (hpdiff > 30) karma tap 20%;/endif%; /endif%; /eval /set myrounds $[myrounds+1]%; /eval /set totalRounds $[totalRounds+1]%; /if ( sps >= maxsps-1 & performing & abot & pbota) dbota%;/doProt%;/endif%; /endif%;; /if (!performing) /set pbota 0%;/endif%; /set hptyped 0 %; ; ************************ GAGs and ANSI ********************************** /def -aBCwhite -t"^A wall of thorns summoned by" /def -aCyellow -t"^The force of the Goddess Kourlyn is channeled through the gloves and$" /def -aCyellow -t"^sends a blast of wind at your opponent!$" /def -aCbggreen -aBCwhite -t"^A gray sheen pours over your skin\.$" /def -aCbggreen -aBCwhite -t"^As you complete the spell you begin phasing in and out of view\!$" /def -aBCwhite -t"^Lightning shoots from your hand towards .+$" /def -aBCwhite -t"^.+ inner energy is redirected into a damaging force!$" /def -aCbggreen -aBCwhite -t"^You cast protection from evil on yourself!$" /def -aCbggreen -aBCwhite -t"^You cast protection from good on yourself!$" /def -aCbggreen -aCwhite -t"^You finish your performance with a bow\.$" /def -aCbggreen -aCwhite -t"^A happy thought dawns on you, and a smile draws across your face\.$" /def -aCbggreen -aCwhite -t"^You sing: Evil souls fall to Hell, ever trapped in burning cells!$" ;/def -aCbgblue -aBCwhite -t"^As you complete the spell you begin phasing in and out of view!$" /def -aCbgred -aBCwhite -t"^Your protection from (evil|good|heat|frost) has faded\.$" /def -aCbgred -aBCwhite -t"^Your skin relaxes to a more normal state\.$" /def -aCbgred -aBCwhite -t"^Your voice wavers and fails, you've lost your voice!$" /def -aCbgred -aBCwhite -t"^Your mind feels suddenly more vulnerable\.$" /def -aCbgred -aCwhite -t"^Your claws shimmer and fade from your hands as you go to attack\.$" /def -aCbgred -aCwhite -t"^The force of the attack causes you to stumble and lose your song!$" /def -aCbgred -aCwhite -t"^You step into the strike\.$" /def -aCred -t"^You attempt to anticipate the strike but wind up stepping INTO it!$" /def -aCwhite -t"^.+ appears totally focused on your melody\.$" ; I'm sick of casting light all the time, really! /def -aCbgred -aCwhite -t"^The light flickers out\.$" alight3 = /set dark 1%; /def -t"^A dark room\.$" roomlight = /set dark 1%;/checklight /def -t"^It is too dark\.$" roomlight2 = /set dark 1%;/checklight /def -t"^The light flickers out\.$" blight = /set dark 1%; /def -t"^Your hands have healed somewhat\.$" claws = /set claws 1%; /def checklight = /qrepeat _alight -0 1 /send cast light%;/set dark 0%; /def -aCbgred -aCwhite -t"^The mystic harmony woven around you shimmers and fades\.$" /def -aCbgred -aCwhite -t"^You are currently performing" /def -aCbggreen -aCwhite -t"^Weaving Magic and Song together, you reinforce the strength of your$" /def -aCbggreen -aCwhite -t"^armor, increasing your protection significantly\.$" ; spammy ass guild /def -ag -t"^You strike out with razor sharp claws digging into" /def -ag -t"^In a panic, you attempt a calculated action:" /def -ag -t"^You can't cast a spell while singing\!$" /def -ag -t"^You feel better\.$" /def -ag -t"^Hmm... There does not appear to be a corpse here.$" nocorse = /set corpsesinroom 0%; /def -ag -t"^There is no money here to share!$" /def -ag -t"^That would make 'drink potion' happen on round 2 and 'read scroll' happen$" /def -ag -t"^on round 4. To repeat a command you can put :# on the end, like smile:20.$"