Zist basic cleric bot
Jump to navigation
Jump to search
Originally written by Zistrosk
Zist basic cleric bot
#CLASS {System|Automapper}
#CLASS {System} {enable}
#CLASS {System|Keypad} {enable}
#CLASS {Autolog} {enable}
#CLASS {System|AutomapperAll} {enable}
#CLASS {System|Directions} {enable}
#CLASS {System|DirectionsDiag} {enable}
#CLASS {System|KeypadDiag} {enable}
#CLASS {logon}
#CLASS {password}
#CLASS {penter}
#CLASS {brewon}
#CLASS {ticktimer}
#CLASS {prompt}
#CLASS {promptset}
#CLASS {overweight}
#CLASS {handsfull}
#CLASS {bio}
#CLASS {tranceup}
#CLASS {autoreconnect}
#CLASS {armorstart}
#CLASS {ticktimerarmorspam}
#CLASS {uplift}
#CLASS {upliftfail}
#CLASS {deadlycheck}
#CLASS 0
#ALIAS brewit {#if (@brewscribe = 1) {hold empty;brew @pot};#if (@brewscribe = 2) {hold blank;scribe @pot};save;#t+ brewon}
#ALIAS ticktimer1 {#alias ticktimer (save;#if (@mana < @manafull) {trance} );#ts 30} "ticktimer"
#ALIAS tranceup {ticktimer1;#if (@mana < @manafull) {#var manadiff @manafull;#math manadiff @manafull-@mana;#math manadiff @manadiff/50;title is trancing be patient;emote is trancing @manadiff times...;#ts 600;#loop 1,@manadiff (trance;save);emote is done trancing;title is ready to cast spells}}
#ALIAS promptset {prompt ~&c~{~&W~%h~&R~/~&g~%H~&Wh~&c~|~&W~%m~&R~/~&g~%M~&Wmp~&c~|~&W~%v~&R~/~&g~%V~&Wmv~&c~|~&p~%g~&Wgp~&c~}~&w} "promptset"
#ALIAS bio1 {bio;~/c;#wait 1000;Clerical Healer Bot; ------------------------------------------------------------------------------;Tell me: (to get spells, tell me the following keyword(s));armor light (to get a ball of light);bless poison (cure poison of course);curse (to remove curse) refresh;fireshield report (and I'll report!);float scry;fly sanc (to get sanctuary);heal uplift somebody (to uplift somebody);.;------------------------------------------------------------------------------;#wait 4000; To use autobrew/autoscribe:;Give me an empty flask or blank scroll;tell me brew spellname or scribe spellname;I will attempt to brew/scribe your request and then hand it back to you.;Tell me cancel to stop brewing/scribing.;.;Useful Brews : Antimagic Shell, Cure Poison, Cure Blindness, Fireshield,;Grounding, Heal, Remove Curse, Sanctuary, Scry, Shockshield, True Sight;.;If I ask you to cast create fire, please do, or tell me cancel.; ------------------------------------------------------------------------------;.;/s;whois yourcharname} "bio"
#ALIAS ticktimer {save;#if (@mana < @manafull) {trance}}
#ALIAS ticktimerarmorspam {#alias ticktimer (#10 cast 'armor' @armorspam;trance );#ts 50} "ticktimerarmorspam"
#ALIAS brewsomething {tell @person What would you like me to brew? tell me brew spellname;#var brewscribe 1;save;#noop brewscribe = 1 if brew, 2 if scribe}
#ALIAS deadlycheck {#t+ deadlycheck;whois @person0}
#ALIAS scribesomething {tell @person What would you like me to scribe? tell me scribe spellname;#var brewscribe 2;save;#noop brewscribe = 1 if brew, 2 if scribe}
#ALIAS returnall {hold sceptre;drop 10 flask;drop 10 blank;drop 10 potion;drop 10 scroll;save}
#VAR manadiff {23}
#VAR health {1094}
#VAR healthfull {1094}
#VAR mana {1447}
#VAR manafull {1447}
#VAR person {nobody}
#VAR temp {10026}
#VAR pot {grounding}
#VAR brewscribe {1}
#VAR now {24Nov01|11:50:05}
#VAR temp2 {26}
#VAR armorspam {nobody}
#VAR uprequestor {nobody}
#VAR uptarget {nobody}
#VAR person0 {nobody}
#VAR action {nothing}
#VAR person1 {nobody}
#VAR linebefore1 { }
#VAR linebefore2 { }
#VAR resptime {10193}
#TRIGGER {You disappear into the void.} {save;smile}
#TRIGGER {^By what name are you known} {yourcharname} "logon" {nocr|prompt}
#TRIGGER {^Name:} {yourcharname} "logon" {nocr|prompt}
#TRIGGER {^Password:} {yourpassword;save;time;promptset;ticktimer1;title is ready to cast spells;#name yourcharname;#t- brewon} "password" {nocr|prompt}
#TRIGGER {Press [ENTER] } {save;time;stand} "penter" {prompt}
#TRIGGER {(%w) whispers to you '} {whisper %1 Try using "TELL" to get spells from me}
#TRIGGER {(%w) tells you 'armor'} {cast 'armor' %1;save}
#TRIGGER {(%w) tells you 'float'} {cast 'float' %1;save}
#TRIGGER {(%w) tells you 'fly'} {cast 'fly' %1;save}
#TRIGGER {(%w) tells you 'light'} {cast 'continual light';give ball %1;drop ball;sac ball;save}
#TRIGGER {(%w) tells you 'refresh'} {cast 'refresh' %1;save}
#TRIGGER {(%w) tells you 'report'} {report;save}
#TRIGGER {(%w) tells you 'scry'} {cast 'scry' %1;save}
#TRIGGER {(%w) tells you 'fireshield'} {cast 'fireshield' %1;save}
#TRIGGER {(%w) tells you 'poison'} {cast 'cure poison' %1;save}
#TRIGGER {(%w) tells you 'bless'} {cast 'bless' %1;save}
#TRIGGER {(%w) tells you 'heal'} {cast 'heal' %1;save}
#TRIGGER {(%w) tells you 'sanc'} {cast 'sanc' %1;save}
#TRIGGER {(%w) tells you 'uplift (%w)} {#var uprequestor %1;#var uptarget %2;#if (@uptarget = "please") {#var uptarget @uprequestor};#if (@uptarget = "me") {#var uptarget @uprequestor};#2 cast 'uplift' @uptarget;#t+ upliftfail;save} "uplift"
#TRIGGER {(%w) tells you 'curse'} {cast 'remove curse' %1;save}
#TRIGGER {(%w) gives you an empty flask.} {#var person0 %1;#var person {"nobody"};#var action {"brewsomething"};#t+ deadlycheck;deadlycheck}
#TRIGGER {(%w) tells you 'brew (%w)'} {#if (@person = %1) {#var pot %2;brewit}}
#TRIGGER {(%w) tells you 'brew (%w) (%w)'} {#if (@person = %1) {#var temp %concat(%2," ");#var pot %concat(@temp,%3);brewit}}
#TRIGGER {You brew up a} {remove empty;remove blank;wear storm;give flask @person;give blank @person;#2 drop blank;#2 drop empty;drop potion;drop scroll;save;#var person {"nobody"};#t- brewon}
#TRIGGER {You failed} {brewit;save} "brewon"
#TRIGGER {A tickle in your nose} {brewit;save} "brewon"
#TRIGGER {You lost your concentration} {brewit;save} "brewon"
#TRIGGER {There must be a fire in the room to brew a potion.} {say I need a fire to brew. Please cast create fire. This is a recording...;brewit} "brewon"
#TRIGGER {You cannot brew that spell} {tell @person Sorry that spell cannot be brewed.;save;remove empty;remove blank;wear storm;give flask @person;give blank @person;#2 drop blank;#2 drop empty;drop potion;drop scroll;#t- brewon}
#TRIGGER {You don't have enough mana.} {emote is out of Mana. Trancing...;tranceup} "tranceup"
#TRIGGER {^yourcharname is out of Mana. Trancing...} {tranceup}
#TRIGGER {You have not learned that spell} {tell @person Sorry that spell is not a cleric spell or was spelt wrong.;save;remove empty;remove blank;wear storm;give flask @person;give blank @person;#2 drop blank;#2 drop empty;drop potion;drop scroll;#t- brewon}
#TRIGGER {^~{(%d)/(%d)h|(%d)/(%d)mp|(%d)/(%d)mv|(%d)gp} {#var health %1;#var healthfull %2;#var mana %3;#var manafull %4;#var resptime %ctime} "prompt" {prompt}
#TRIGGER {(%w) can't carry that much weight.} {#var person %1;tell %1 You can't carry that much weight?;drop empty} "overweight"
#TRIGGER {(%w) has (%w) hands full.} {#var person %1;tell %1 Your hands are full;drop empty} "handsfull"
#TRIGGER {(%w) tells you 'portal (%w)'} {#var person %1;cast 'portal' %2;save}
#TRIGGER {There is already a portal in this room.} {tell @person Sorry, there is already a portal in this room.;save}
#TRIGGER {(%w) tells you 'return'} {returnall}
#TRIGGER {(%w) now follows you.} {group all;c 'major invocation';c 'minor invocation';c bless %1;cast 'armor' %1;cast 'indignation';cast 'holy sanctity';group disband;save}
#TRIGGER {Something distracts you} {brewit;save} "brewon"
#TRIGGER {(%w) tells you 'cancel'} {#t- brewon;remove empty;give empty @person;remove blank;give blank @person;hold storm;save}
#TRIGGER {(%w) gives you a blank scroll} {#var person0 %1;#var person {"nobody"};#var action {"scribesomething"};#t+ deadlycheck;deadlycheck}
#TRIGGER {(%w) tells you 'scribe (%w)'} {#if (@person = %1) {#var pot %2;brewit}}
#TRIGGER {(%w) tells you 'scribe (%w) (%w)'} {#if (@person = %1) {#var temp %concat(%2," ");#var pot %concat(@temp,%3);brewit}}
#TRIGGER {You magically scribe} {remove empty;remove blank;wear storm;give potion @person;give scroll @person;#2 drop blank;#2 drop empty;drop potion;drop scroll;save;#var person {"nobody"};#t- brewon}
#TRIGGER {yourcharname is done trancing} {ticktimer1}
#TRIGGER {They aren't here} {drop blank;drop empty;drop potion;drop scroll;ticktimer1} "tranceup"
#TRIGGER {A twitch in your eye} {brewit;save} "brewon"
#TRIGGER {You get a mental block} {brewit;save} "brewon"
#TRIGGER {(%w) says 'armorspam'} {say Armorspam Activated!!! Please leave this room when you want armorspam to end!!!;#var armorspam %1;ticktimerarmorspam;#wait 5000;ticktimer;save} "armorstart"
#TRIGGER {A barrier in the planes prevents you from reaching them.} {tell @uptarget A barrier in the planes stopped me from uplifting you.;#if (@uprequestor <> @uptarget) {tell @uprequestor A barrier in the planes stopped me from uplifting @uptarget.};#t- upliftfail} "upliftfail"
#TRIGGER {You reach across the planes and aid (%w)...} {#if (@uprequestor <> %1) {tell @uprequestor Uplift successful to %1.};#t- upliftfail} "uplift"
#TRIGGER {(%w) has accumulated} {#t- deadlycheck;#var person1 %1;#var linebefore1 %line2;#var linebefore2 %line3;#if (%pos("seat",@linebefore1) > 0) {#var linebefore1 @linebefore2};#if (@person0 = @person1) {#if (%pos("non-deadly",@linebefore1) > 0) {#show NON DEADLY;#var person @person0;@action} {#var brewscribe 0;shake %1;say You are deadly %1 and I cannot help you.;returnit}}} "deadlycheck"
#ALARM "Alarm0" *10:00 {#var temp %ctime;#alarm +5 {#var now %time(ddmmmyy|hh:mm:ss);#var temp2 0;#math temp2 %ctime-@temp;#IF (@temp2 = 0) {#CON;#show RECONNECT AT @now} {#var temp2 0;#math temp2 %ctime-@resptime;#show TIME SINCE LAST MUD RESPONSE - @temp2 seconds;#IF (@temp2 > 120) {#CON;#show RECONNECT DUE TO LAG AT @now} {#show reconnection not necessary at @now;#show connected for %ctime seconds}}}} "autoreconnect"
#TRIGGER {Saved...} {#var resptime %ctime} "autoreconnect"