Affects.tf

From AvatarWiki
Revision as of 21:22, 10 October 2008 by Sulfar (talk | contribs) (Replaces 30some triggers with 2 lines of tf code *toe*)
Jump to navigation Jump to search

Bug reports, suggestions and/or diffs are appreciated, sulfar _AT_ inbox +DOT+ com

/require lisp.tf

/echo %% /aff <spell>       Shows affects list for <spell>
/echo %% /sick              Shows how sick you are
/echo %% /chkaff            Shows which spells you are *not* affected by

;Custom color the affects list..
;Paint all of the affects list green
/def -i -p999 -F -PCgreen -mregexp -t"^Spell: '.*" affects_green

;yellow for some spells i might want to check more than others
/def -i -p998 -F -PCyellow -mregexp -t"^Spell: '(steel|iron|bark|pass|fly|water|heigh|conc).*" affects_yellow

;white for spells i most probably want to find quickly
/def -i -p998 -F -PCwhite -mregexp -t"^Spell: '(sanc|scramble|hand).*" affects_white


;You can "/aff sanc" and it'll only show the sanctuary line
;or use a regexp, "/aff sanc|fren"
/def -i aff = \
        /def -i -t"You are affected by:" _aff_affected = \
                /def -p900 -mregexp -t"^Spell: '%{1}.*" _aff_spell%%;\
                /def -p899 -ag -mregexp -t"^Spell: '" _aff_gag_other_affects%%;\
                /repeat -0.3 1 /undef _aff_affected _aff_spell _aff_gag_other_affects%;\
        affects

;Just a /sick macro.
/def -i sick = \
        /set sick_poison 0%;\
        /set sick_disease 0%;\
        /def -t"You are affected by:" _sick_affected = \
                /def -p900 -mregexp -t"^Spell: '(poison|toxin|biotoxin|venom)'.*" _sick_poison = /test $$$[++sick_poison] %%;\
                /def -p900 -mregexp -t"^Spell: '(virus|plague)'.*" _sick_disease = /test $$$[++sick_disease]%%;\
                /def -p899 -ag -mregexp -t"^Spell: '" _sick_gag_other_affects%%;\
                /repeat -0.3 1 \
                        /undef _sick_affected _sick_poison _sick_disease _sick_gag_other_affects%%%;\
                gtell %%%%% I am affected by: %%%sick_poison poisons and %%%sick_disease diseases%;\
        affects

;/chkaff will show you the spells from the chkaff_list by which
;you're *not* affected.
/def -i chkaff = \
        /set chkaff_list= |BR| sanctuary |R| awen foci fortitudes \
                invincibility barkskin steel_skeleton iron_skin |W| protection_evil bless holy_aura \
                holy_armor armor water_breathing energy_shield displacement body_brace \
                mental_barrier calcify_flesh biofeedback anticipate adrenaline_pump concentrate \
                pass_door fly shield stone_skin giant_strength |G| frenzy |B| heighten_senses%;\
        /set chkaff 1%;\
        affects

/def -i -p100 -F -E(chkaff) -t"You are affected by:" chkaff_affected = \
        /repeat -0.3 1 \
                /set chkaff 0%%;\
                gtell %%%% I am *not* affected by %%chkaff_list

/def -i -p100 -F -E(chkaff) -mregexp -t"^Spell: '(.+)' .+" chkaff_spell = \
        /let affect=$[replace(" ", "_", {P1})]%;\
        /set chkaff_list=$(/remove %affect %chkaff_list)