Advertisement
Guest User

Untitled

a guest
Nov 8th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.29 KB | None | 0 0
  1. anoyor
  2. names {"anoyor", "lich"}
  3. title "Anoyor"
  4. descr "Anoyor is scrambling to maintain control."
  5. extra {}
  6. "Once a powerful mage, Anoyor turned to the necromantic arts to
  7. prolong his life. Now, with the aid of his arts and the rich
  8. source of life the island above provides, he can not only live
  9. forever but also spread his vile craft and influence throughout
  10. the world."
  11. level 199
  12. alignment -1000
  13. race RACE_LICH
  14. sex SEX_MALE
  15. height 500
  16. weight 360
  17. money 1 PLATINUM_PIECE
  18. exp 300
  19. ATTACK_DEFENSE(+600, +450)
  20. NATURAL_DEF(WPN_CLAW, ARM_CHAIN)
  21. MSET_ABILITY(15,15,2,15,15,15,15,8)
  22. MSET_WEAPON(1,6,4,10,5,4)
  23. MSET_SPELL(4,4,2,8,2,8,8,8,8,8,10)
  24. romflags {CHAR_DETECT_INVISIBLE}
  25. dilcopy combat_mag@function("fireball_2","",100,2);
  26. dilbegin lic_ano_req();
  27. var
  28. pcname : string;
  29. item: unitptr;
  30. pc: unitptr;
  31. i: integer;
  32. exdp: extraptr;
  33.  
  34. code
  35. {
  36.  
  37. heartbeat:= PULSE_SEC*3;
  38.  
  39. :start:
  40. 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)));
  41.  
  42. pc := activator;
  43. secure(pc, lostpc);
  44.  
  45. if (LICH_ANO_ONGOING in pc.quests)
  46. goto quest_ongoing;
  47. pause;
  48. exec("stomp " + pc.name, self);
  49. pause;
  50. exec("say Are you frustrated by my assistants?", self);
  51. pause;
  52. exec("glare " + pc.name, self);
  53. pause;
  54. exec("ask Don't you dare think I am better than them.", self);
  55. pause;
  56. exec("say They are misbehaving, they are not meeting my quota.", self);
  57. pause;
  58. exec("ask I think I have a solution, don't you?",self);
  59. pause;
  60. exec("ask Kill them, you think?", self);
  61. pause;
  62. exec("say Well, you can not kill them... I can since I am the end.", self);
  63. pause;
  64. exec("say I am getting weary of their crap.",self);
  65. pause;
  66. exec("say Do you think you can finish what I have begun?",self);
  67. pause;
  68. exec("say Please nod if you want to assist me.", self);
  69.  
  70. :accept_loop:
  71. wait(SFB_CMD, activator #= pc);
  72. if (command("nod"))
  73. goto quest_accepted;
  74. else if (command("shake"))
  75. goto no_quest;
  76. else
  77. {
  78. exec("say Nod if you agree to help, shake your head otherwise.", self);
  79. goto accept_loop;
  80. }
  81.  
  82.  
  83. :no_quest:
  84. exec("say Knew it, you don't have it in you.", self);
  85. pause;
  86. exec("emote starts to wander with his head staring at the ceiling.", self);
  87. unsecure(pc);
  88. goto start;
  89.  
  90. :quest_accepted:
  91. pause;
  92. exec("ask You know, we need to have a soul to survive, right?", self);
  93. pause;
  94. exec("say Go and fetch me their souls.",self);
  95. pause;
  96. exec("say Once you do, come back here and hand me their souls.",self);
  97. pause;
  98. exec("say We will have to teach them a lesson...",self);
  99. pause;
  100. exec("say Oh, not both of us, it's me who will deal with them.",self);
  101. pause;
  102. exec("look " + pc.name, self);
  103. pause;
  104. exec("say You are just doing dirty work for me.",self);
  105. pause;
  106. exec("sigh " + pc.name, self);
  107. pause;
  108. exec("say Just go away.",self);
  109. pause;
  110. addextra(pc.quests, {LICH_ANO_ONGOING}, "");
  111. unsecure(pc);
  112. goto start;
  113.  
  114. :quest_ongoing:
  115. exdp := LICH_ANO_ONGOING in pc.quests;
  116.  
  117. if (("cazil phylactery" in exdp.names) and ("pazuk phylactery" in exdp.names) and ("gozok phylactery" in exdp.names) and ("iczol phylactery" in exdp.names))
  118. {
  119. pause;
  120. subextra(pc.quests, LICH_ANO_ONGOING);
  121. addextra(pc.quests, {LICH_ANO_COMPLETE}, "");
  122. experience(37000, pc);
  123. item := load("gloves_ord@muerte2");
  124. item.height := pc.height;
  125. link(item, pc);
  126. exec("emote grunts angrily..", self);
  127. pause;
  128. exec("say So you have collected all four.",self);
  129. pause;
  130. exec("say alright, here it goes.", self);
  131. pause;
  132. exec("emote snaps his finger four times.", self);
  133. pause;
  134. act ("Iczol the Lich appears before your eyes.", A_SOMEONE, pc, null, null, TO_ALL);
  135. act ("Pazuk the Lich appears before your eyes.", A_SOMEONE, pc, null, null, TO_ALL);
  136. act ("Cazil the Lich appears before your eyes.", A_SOMEONE, pc, null, null, TO_ALL);
  137. act ("Gozok the Lich appears before your eyes.", A_SOMEONE, pc, null, null, TO_ALL);
  138. pause;
  139. exec("emote looks at his pathetic assistants.", self);
  140. pause;
  141. exec("say Watch and learn, mortal.", self);
  142. pause;
  143. exec("emote waves his hands above those four phylacteries on floor.", self);
  144. pause;
  145. act ("Pazuk suddenly levitates off the floor and disappeared within purple flash of light.", A_SOMEONE, pc, null, null, TO_ALL);
  146. pause;
  147. act ("Gozok suddenly levitates off the floor and disappeared within purple flash of light.", A_SOMEONE, pc, null, null, TO_ALL);
  148. pause;
  149. act ("Cazil suddenly levitates off the floor and disappeared within purple flash of light.", A_SOMEONE, pc, null, null, TO_ALL);
  150. pause;
  151. act ("Iczol suddenly levitates off the floor and disappeared within purple flash of light.", A_SOMEONE, pc, null, null, TO_ALL);
  152. pause;
  153. exec("shrug " + pc.name, self);
  154. pause;
  155. exec("say That was easy after all.", self);
  156. pause;
  157. exec("say Here's the ordinary gloves as your reward, but examine it closely.",self);
  158. pause;
  159. act ("Anoyor gives you the ordinary gloves.", A_SOMEONE, pc, null, null, TO_CHAR);
  160. act ("Anoyor gives $1n an ordinary gloves.", A_SOMEONE, pc, null, null, TO_REST);
  161. pause;
  162. exec("say Enjoy.",self);
  163. pause;
  164. }
  165.  
  166. unsecure(pc);
  167. goto start;
  168.  
  169. :lostpc:
  170. exec("say What? Can't even do a little task.", self);
  171. pause;
  172. exec("say How will I ever get to kill my assistants.", self);
  173. pause;
  174. exec("sigh", self);
  175. goto start;
  176.  
  177. :ohno_combat:
  178. heartbeat := PULSE_SEC*3;
  179. exec("say Ok then, so it shall be this way with you...", self);
  180. pause;
  181. exec("say You will be beheaded for once!", self);
  182. pause;
  183. goto start;
  184. }
  185. dilend
  186.  
  187. dilbegin lic_ano_giv();
  188. var
  189. pc: unitptr;
  190. item: unitptr;
  191. exdp: extraptr;
  192.  
  193. code
  194. {
  195. heartbeat:= PULSE_SEC*3;
  196.  
  197. :start:
  198. wait(SFB_DONE, command("give") and
  199. (target == self) and
  200. (activator.type == UNIT_ST_PC) and
  201. (LICH_ANO_ONGOING in activator.quests) );
  202.  
  203. :give:
  204.  
  205. pc:= activator;
  206. item:= medium;
  207. secure(pc, lostpc);
  208. exdp:= LICH_ANO_ONGOING in pc.quests;
  209.  
  210. if ("iczol phylactery" in self.inside.name)
  211. {
  212. addstring(exdp.names, "iczol phylactery");
  213. exec("say Ha, Iczol couldn't proect his soul!",self);
  214. destroy(self.inside);
  215. }
  216. else if ("cazil phylactery" in self.inside.name)
  217. {
  218. addstring(exdp.names, "cazil phylactery");
  219. exec("ask Didn't Cazil give it up?", self);
  220. destroy(self.inside);
  221. }
  222. else if ("gozok phylactery" in self.inside.name)
  223. {
  224. addstring(exdp.names, "gozok phylactery");
  225. exec("ask Oh, you found Gozok's soul hidden nearby?", self);
  226. destroy(self.inside);
  227. }
  228. else if ("pazuk phylactery" in self.inside.name)
  229. {
  230. addstring(exdp.names, "pazuk phylactery");
  231. exec("say Pazuk is as nasty as he can be.", self);
  232. destroy(self.inside);
  233. }
  234.  
  235. else
  236. {
  237. exec("say I do not want this, "+pc.name +".", self);
  238. pause;
  239. exec("say Get the right item please.", self);
  240. link(self.inside, pc);
  241. }
  242.  
  243. unsecure(pc);
  244. goto start;
  245.  
  246. :lostpc:
  247. exec("say Now I will never get to dream.", self);
  248. goto start;
  249. }
  250. dilend
  251. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement