Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- anoyor
- names {"anoyor", "lich"}
- title "Anoyor"
- descr "Anoyor is scrambling to maintain control."
- extra {}
- "Once a powerful mage, Anoyor turned to the necromantic arts to
- prolong his life. Now, with the aid of his arts and the rich
- source of life the island above provides, he can not only live
- forever but also spread his vile craft and influence throughout
- the world."
- level 199
- alignment -1000
- race RACE_LICH
- sex SEX_MALE
- height 500
- weight 360
- money 1 PLATINUM_PIECE
- exp 300
- ATTACK_DEFENSE(+600, +450)
- NATURAL_DEF(WPN_CLAW, ARM_CHAIN)
- MSET_ABILITY(15,15,2,15,15,15,15,8)
- MSET_WEAPON(1,6,4,10,5,4)
- MSET_SPELL(4,4,2,8,2,8,8,8,8,8,10)
- romflags {CHAR_DETECT_INVISIBLE}
- dilcopy combat_mag@function("fireball_2","",100,2);
- dilbegin lic_ano_req();
- var
- pcname : string;
- item: unitptr;
- pc: unitptr;
- i: integer;
- exdp: extraptr;
- code
- {
- heartbeat:= PULSE_SEC*3;
- :start:
- wait(SFB_CMD,(activator.type == UNIT_ST_PC) and (LICH_ICZ_COMPLETE in activator.quests) and (LICH_PAZ_COMPLETE in activator.quests) and (LICH_GOZ_COMPLETE in activator.quests) and (LICH_CAZ_COMPLETE in activator.quests) and (not (LICH_ANO_ONGOING in activator.quests)) and (not (LICH_ANO_COMPLETE in activator.quests)));
- pc := activator;
- secure(pc, lostpc);
- if (LICH_ANO_ONGOING in pc.quests)
- goto quest_ongoing;
- pause;
- exec("stomp " + pc.name, self);
- pause;
- exec("say Are you frustrated by my assistants?", self);
- pause;
- exec("glare " + pc.name, self);
- pause;
- exec("ask Don't you dare think I am better than them.", self);
- pause;
- exec("say They are misbehaving, they are not meeting my quota.", self);
- pause;
- exec("ask I think I have a solution, don't you?",self);
- pause;
- exec("ask Kill them, you think?", self);
- pause;
- exec("say Well, you can not kill them... I can since I am the end.", self);
- pause;
- exec("say I am getting weary of their crap.",self);
- pause;
- exec("say Do you think you can finish what I have begun?",self);
- pause;
- exec("say Please nod if you want to assist me.", self);
- :accept_loop:
- wait(SFB_CMD, activator #= pc);
- if (command("nod"))
- goto quest_accepted;
- else if (command("shake"))
- goto no_quest;
- else
- {
- exec("say Nod if you agree to help, shake your head otherwise.", self);
- goto accept_loop;
- }
- :no_quest:
- exec("say Knew it, you don't have it in you.", self);
- pause;
- exec("emote starts to wander with his head staring at the ceiling.", self);
- unsecure(pc);
- goto start;
- :quest_accepted:
- pause;
- exec("ask You know, we need to have a soul to survive, right?", self);
- pause;
- exec("say Go and fetch me their souls.",self);
- pause;
- exec("say Once you do, come back here and hand me their souls.",self);
- pause;
- exec("say We will have to teach them a lesson...",self);
- pause;
- exec("say Oh, not both of us, it's me who will deal with them.",self);
- pause;
- exec("look " + pc.name, self);
- pause;
- exec("say You are just doing dirty work for me.",self);
- pause;
- exec("sigh " + pc.name, self);
- pause;
- exec("say Just go away.",self);
- pause;
- addextra(pc.quests, {LICH_ANO_ONGOING}, "");
- unsecure(pc);
- goto start;
- :quest_ongoing:
- exdp := LICH_ANO_ONGOING in pc.quests;
- if (("cazil phylactery" in exdp.names) and ("pazuk phylactery" in exdp.names) and ("gozok phylactery" in exdp.names) and ("iczol phylactery" in exdp.names))
- {
- pause;
- subextra(pc.quests, LICH_ANO_ONGOING);
- addextra(pc.quests, {LICH_ANO_COMPLETE}, "");
- experience(37000, pc);
- item := load("gloves_ord@muerte2");
- item.height := pc.height;
- link(item, pc);
- exec("emote grunts angrily..", self);
- pause;
- exec("say So you have collected all four.",self);
- pause;
- exec("say alright, here it goes.", self);
- pause;
- exec("emote snaps his finger four times.", self);
- pause;
- act ("Iczol the Lich appears before your eyes.", A_SOMEONE, pc, null, null, TO_ALL);
- act ("Pazuk the Lich appears before your eyes.", A_SOMEONE, pc, null, null, TO_ALL);
- act ("Cazil the Lich appears before your eyes.", A_SOMEONE, pc, null, null, TO_ALL);
- act ("Gozok the Lich appears before your eyes.", A_SOMEONE, pc, null, null, TO_ALL);
- pause;
- exec("emote looks at his pathetic assistants.", self);
- pause;
- exec("say Watch and learn, mortal.", self);
- pause;
- exec("emote waves his hands above those four phylacteries on floor.", self);
- pause;
- act ("Pazuk suddenly levitates off the floor and disappeared within purple flash of light.", A_SOMEONE, pc, null, null, TO_ALL);
- pause;
- act ("Gozok suddenly levitates off the floor and disappeared within purple flash of light.", A_SOMEONE, pc, null, null, TO_ALL);
- pause;
- act ("Cazil suddenly levitates off the floor and disappeared within purple flash of light.", A_SOMEONE, pc, null, null, TO_ALL);
- pause;
- act ("Iczol suddenly levitates off the floor and disappeared within purple flash of light.", A_SOMEONE, pc, null, null, TO_ALL);
- pause;
- exec("shrug " + pc.name, self);
- pause;
- exec("say That was easy after all.", self);
- pause;
- exec("say Here's the ordinary gloves as your reward, but examine it closely.",self);
- pause;
- act ("Anoyor gives you the ordinary gloves.", A_SOMEONE, pc, null, null, TO_CHAR);
- act ("Anoyor gives $1n an ordinary gloves.", A_SOMEONE, pc, null, null, TO_REST);
- pause;
- exec("say Enjoy.",self);
- pause;
- }
- unsecure(pc);
- goto start;
- :lostpc:
- exec("say What? Can't even do a little task.", self);
- pause;
- exec("say How will I ever get to kill my assistants.", self);
- pause;
- exec("sigh", self);
- goto start;
- :ohno_combat:
- heartbeat := PULSE_SEC*3;
- exec("say Ok then, so it shall be this way with you...", self);
- pause;
- exec("say You will be beheaded for once!", self);
- pause;
- goto start;
- }
- dilend
- dilbegin lic_ano_giv();
- var
- pc: unitptr;
- item: unitptr;
- exdp: extraptr;
- code
- {
- heartbeat:= PULSE_SEC*3;
- :start:
- wait(SFB_DONE, command("give") and
- (target == self) and
- (activator.type == UNIT_ST_PC) and
- (LICH_ANO_ONGOING in activator.quests) );
- :give:
- pc:= activator;
- item:= medium;
- secure(pc, lostpc);
- exdp:= LICH_ANO_ONGOING in pc.quests;
- if ("iczol phylactery" in self.inside.name)
- {
- addstring(exdp.names, "iczol phylactery");
- exec("say Ha, Iczol couldn't proect his soul!",self);
- destroy(self.inside);
- }
- else if ("cazil phylactery" in self.inside.name)
- {
- addstring(exdp.names, "cazil phylactery");
- exec("ask Didn't Cazil give it up?", self);
- destroy(self.inside);
- }
- else if ("gozok phylactery" in self.inside.name)
- {
- addstring(exdp.names, "gozok phylactery");
- exec("ask Oh, you found Gozok's soul hidden nearby?", self);
- destroy(self.inside);
- }
- else if ("pazuk phylactery" in self.inside.name)
- {
- addstring(exdp.names, "pazuk phylactery");
- exec("say Pazuk is as nasty as he can be.", self);
- destroy(self.inside);
- }
- else
- {
- exec("say I do not want this, "+pc.name +".", self);
- pause;
- exec("say Get the right item please.", self);
- link(self.inside, pc);
- }
- unsecure(pc);
- goto start;
- :lostpc:
- exec("say Now I will never get to dream.", self);
- goto start;
- }
- dilend
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement