Code
if reacting to arrives then canihelp; if target of freeze then remember; if target of burn then remember; if target of shock then remember; if target of talk then tellinfo; ##tickloc:runsub ticked; ##ticked: if $actor's health > 0 then maybeheal else dead; $ring = 53171; if $ring's host ne $actor then ringon; ##ringon: print "[$ring] hums for a moment, then suddenly lifts up and flies onto [$actor]'s finger."; set $ring's host to $actor; set $ring's hosthow to 'worn by'; relook $loc; ##remember: set $fromhit to $init_obj's slot1; if $actor's health > 0 then rem2 else checkadvance; ##rem2: $expr = (smiles,nods,grins,chuckles); $encourage = (good,very well,nice effort,keep it coming,great); say 'msg',"[$actor] $expr at [$fromhit],'$encourage.'"; runsub healme/10; runsub castfire/5; runsub castice/5; ##maybeheal: set $actor's counter to 0; if $actor's health < $actor's healthmax then maybeheal2; if $actor's pose ne 'hovering' then rehover; ##rehover: print "[$actor]'s fingers form a symbolic gesture, causing his robes to flutter in an unseen wind as he begins to hover in the air."; set $actor's pose to 'hovering'; relook $loc; ##maybeheal2: runsub healme/9; ##healme: call "cast heal"; ##castfire: call "cast fire at $fromhit"; ##castice: call "cast ice at $fromhit"; ##canihelp: if $init_obj's manamax eq 10 then yesican else noicant; ##yesican: say 'msg',"[$actor] raises a palm towards [$init_obj] and closes his eyes, then opens them and says, 'I can help you.'"; ##noicant: say 'msg',"[$actor] raises a palm towards [$init_obj] and closes his eyes, then opens them and says, 'I can not help you.'"; ##checkadvance: if $fromhit's manamax eq 10 then ca2; ##ca2: print "An incomprehensible word is uttered from [$actor]'s dying lips"; getgender $fromhit; print "[$fromhit] feels the presence of a powerful aura envelope $himher."; include 58416; multivar $skillname='dodge',$skillcap=40,$skilltipobj=69425; runsub setskillcap; sayto $fromhit,"You now have the ability to advance your magic further"; set $fromhit's manamax to 11; ##tellinfo: if $init_obj's manamax < 1 then tell1 else tellinfo2; ##tellinfo2: if $init_obj's manamax < 10 then tell2 else tellinfo3; ##tellinfo3: if $init_obj's manamax == 10 then tell3 else tellinfo4; ##tellinfo4: "[$actor] says to [$init_obj], 'I see that you have advanced your magical ability beyond what I can offer. Congratulations.'"; ##tell1: "[$actor] says to [$init_obj], 'The art of magic is not easy. Let me refer you to some useful information.'"; "[$actor] makes a gesture towards [$init_obj]'s eyes, and some information appears"; msg $loc,$init_obj,$init_obj,0,'force',"force:exam 58850"; ##tell2: "[$actor] says to [$init_obj], 'Now that you have learned the basics, you must cast spells to advance in your magical ability. use the cast command.'"; "[$actor] makes a gesture towards [$init_obj]'s eyes, and some information appears"; msg $loc,$init_obj,$init_obj,0,'force',"force:exam 58844"; ##tell3: "[$actor] says to [$init_obj], 'Now that you have advanced as far as you can, I would like to challenge you to a duel of magic.'"; "[$actor] adds, 'This room is protected from physical combat, but still allows magical attack. If you can kill me with magic alone, then I will set you up to advance further in your skill.'";