OrcsMemory.txt 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924
  1. //===== rAthena Script =======================================
  2. //= Orc's Memory
  3. //===== By: ==================================================
  4. //= L0ne_W0lf
  5. //===== Current Version: =====================================
  6. //= 1.7
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= [Official Conversion]
  11. //= Relive the memory of an orc.
  12. //===== Additional Comments: =================================
  13. //= 1.0 First version. [L0ne_W0lf]
  14. //= 1.1 First round of bugfixes. (bugreport:3928) [L0ne_W0lf]
  15. //= Fixed some npcs calling wrong events.
  16. //= Fixed Depraved Orc Spirit spawn point
  17. //= Fixed an NPC that was never being enabled.
  18. //= 1.1a Second round from bugreport. (bugreport:3928) [L0ne_W0lf]
  19. //= Fixed first warp never enabling, issue not seen
  20. //= because of a local source mod.
  21. //= Corrected the IDs for the Vengeful Orc Spirit and
  22. //= Shaman Cargalache, copy/paste fail.
  23. //= Changed spawn point for dungeon according to spawn
  24. //= point on iRO.
  25. //= 1.2 More bugfixes, mostly typos. :O (bugreport:3944) [L0ne_W0lf]
  26. //= Fixed some varaibles (types/values) as well.
  27. //= 1.3 Disabled an exploit related to the orc hero spawn. [L0ne_W0lf]
  28. //= Corrected the variable type for party leader name.
  29. //= 1.4 Fixed donpcevent calling non-existant npc. (bugreport:4039) [L0ne_W0lf]
  30. //= 1.5 Fixed a checkquest condition never setting quest. [L0ne_W0lf]
  31. //= 1.6 Added 'instance_check_party' command to the script for proper checking if
  32. //= the invoking party meets the requirements to join the Memorial Dungeon.
  33. //= 1.7 Instance system rewrite. [Euphy]
  34. //============================================================
  35. // Entrance
  36. //============================================================
  37. gef_fild10,242,202,0 script Dimensional Gorge Piece 406,{
  38. set .@party_id,getcharid(1);
  39. set .@p_name$,getpartyname(.@party_id);
  40. set .@md_name$,"Orc's Memory";
  41. if (!instance_check_party(.@party_id,2,30,80)) {
  42. mes "Only users between Levels ^ff000030 ~ 80^000000 can enter this Dungeon.";
  43. close;
  44. }
  45. set .@orctime,checkquest(12059,PLAYTIME);
  46. if (.@orctime == -1) {
  47. if (getcharid(0) == getpartyleader(.@party_id,2)) {
  48. mes "Party status confirmed. Would you like to book entrance to the "+.@md_name$+"?";
  49. next;
  50. switch(select("Reserve the "+.@md_name$+":Enter the Dungeon:Cancel")) {
  51. case 1:
  52. if (instance_create(.@md_name$) < 0) {
  53. mes "Party Name: "+.@p_name$;
  54. mes "Party Leader: "+strcharinfo(0);
  55. mes "^0000ff"+.@md_name$+" ^000000 - Reservation Failed.";
  56. close;
  57. }
  58. mes "^0000ff"+.@md_name$+"^000000- Attempting to book an entrance";
  59. mes "After making a reservation, you have to select 'Enter the Dungeon' from the menu if you wish to enter the "+.@md_name$+".";
  60. close;
  61. case 2:
  62. callsub L_Enter,0;
  63. case 3:
  64. close;
  65. }
  66. }
  67. if(select(.@md_name$ + " Enter the Memorial Dungeon:Cancel") == 2)
  68. end;
  69. callsub L_Enter,1;
  70. } else if (.@orctime == 0 || .@orctime == 1) {
  71. mes "You can enter the Dungeon if it has been generated.";
  72. next;
  73. if(select("Enter the Dungeon "+.@md_name$+":Cancel") == 2)
  74. close;
  75. callsub L_Enter,0;
  76. } else if (.@orctime == 2) {
  77. mes "^0000ffAll records and after-effects related to the Orc's Memory Dungeon are deleted. You can now regenerate or re-enter the dungeon.^000000";
  78. erasequest 12059;
  79. close;
  80. }
  81. mes "In order to generate a dungeon you must be the Party Leader and have at least 2 members in the party.";
  82. close;
  83. L_Enter:
  84. switch(instance_enter("Orc's Memory")) {
  85. case 3:
  86. mes "An unknown error has occurred.";
  87. close;
  88. case 2:
  89. mes "Memorial Dungeon Orc's Memory does not exist.";
  90. mes "Memorial Dungeon has been destroyed by the Party Leader, or because of the time limit. Please try again after 2 hours.";
  91. close;
  92. case 1:
  93. mes "Only a member of the party can enter the Memorial Dungeon.";
  94. close;
  95. case 0:
  96. mapannounce "gef_fild10",.@p_name$+" party's member "+strcharinfo(0)+" has entered the Orc's Memory.",bc_map,"0x00ff99";
  97. if (checkquest(12059) == -1) setquest 12059;
  98. //warp "1@orcs",179,15;
  99. if (getarg(0) == 0) close;
  100. else end;
  101. }
  102. }
  103. gef_fild10,238,202,6 script Mad Scientist#orc 865,{
  104. if (BaseLevel < 50) {
  105. mes "The Mad Scientist doesn't seem to notice you and keeps mumbling to himself...";
  106. close;
  107. }
  108. if (mad == 0) {
  109. mes "[Mad Scientist]";
  110. mes "Haha, no Orcs are coming near me!";
  111. mes "The power of the Dimensional Gorge is undefeatable!!";
  112. next;
  113. switch(select("Orcs don't attack you?:You wish!")) {
  114. case 1:
  115. mes "[Mad Scientist]";
  116. mes "Yeah, yeah.. I know it's hard to belive. I don't blame ya.";
  117. mes "I used to study the Dimensional Gorge discovered near Morroc.";
  118. mes "According to my research, the minerals found there have enormous power inside them!";
  119. next;
  120. break;
  121. case 2:
  122. mes "[Mad Scientist]";
  123. mes "You are a pretty distrustful person, huh?";
  124. next;
  125. break;
  126. }
  127. select("Oh? Like what, travel to alternate space?");
  128. mes "[Mad Scientist]";
  129. mes "Very smart! I have actually just done that! See that statue over there? It's not your normal Monolith!";
  130. next;
  131. mes "[Mad Scientist]";
  132. mes "I have created it with a combination of our technology and the unlimited energy I discovered from the Gorge! Want to try it?";
  133. next;
  134. select("...Um, that doesn't sound legal?");
  135. mes "[Mad Scientist]";
  136. mes "Hey, since when did something so interesting have to be legal!? How about it! You can talk to the Orcs! C'mon!";
  137. next;
  138. mes "[Mad Scientist]";
  139. mes "Chances are they'll just give you lots of instructions once they see you, so just wing it! They're always saying the same thing, to the point where I memorized them!";
  140. next;
  141. switch(select("Alright... What do I do?:Umm, maybe not.")) {
  142. case 1:
  143. mes "[Mad Scientist]";
  144. mes "Very good! Just sit in the hands of this statue! And try to act natural when you're in there!";
  145. set mad,1;
  146. close;
  147. case 2:
  148. mes "[Mad Scientist]";
  149. mes "Oh fine, be that way!";
  150. close;
  151. }
  152. } else if (mad == 1) {
  153. mes "[Mad Scientist]";
  154. mes "Hmm? Put your hand on that Monemus Statue if you want to experience traveling through dimensions!";
  155. close;
  156. } else {
  157. set mad,1;
  158. end;
  159. }
  160. }
  161. // Orc's Memory Floor 1
  162. //============================================================
  163. 1@orcs,180,30,0 script #Resurrect Monsters1 844,{
  164. end;
  165. OnInstanceInit:
  166. disablenpc instance_npcname("#Resurrect Monsters1");
  167. end;
  168. OnDisable:
  169. stopnpctimer;
  170. killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
  171. end;
  172. OnEnable:
  173. enablenpc instance_npcname("#Resurrect Monsters1");
  174. monster instance_mapname("1@orcs"),0,0,"Orc Warrior",1023,30,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
  175. end;
  176. OnMyMobDead:
  177. set .@map$, instance_mapname("1@orcs");
  178. set .@mob_dead_num, 30 - mobcount(.@map$,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead");
  179. if (.@mob_dead_num > 0) {
  180. set .@mob_ran,rand(1,30);
  181. if (.@mob_ran > 29) {
  182. monster .@map$,0,0,"Orc Warrior",1023,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
  183. }
  184. else if ((.@mob_ran > 28) && (.@mob_ran < 30)) {
  185. monster .@map$,0,0,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
  186. if (rand(1,10) == 9) {
  187. mapannounce .@map$, "High Orc: We need more defenses! Get more people here!",bc_map,"0xff4444";
  188. }
  189. }
  190. else if ((.@mob_ran > 26) && (.@mob_ran < 29)) {
  191. areamonster .@map$,41,91,51,81,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
  192. if (rand(1,10) == 9) {
  193. mapannounce .@map$, "Where are the High Orcs!? Get them to stop the enemies!",bc_map,"0xff4444";
  194. }
  195. }
  196. else {
  197. areamonster .@map$,17,187,27,177,"High Orc",1213,.@mob_dead_num,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
  198. if (rand(1,5) == 3) {
  199. mapannounce .@map$, "Caution: The army's starting to concentrate at Zone No. 4.",bc_map,"0x77ff77";
  200. }
  201. if (rand(1,100) == 50) {
  202. initnpctimer;
  203. }
  204. }
  205. }
  206. end;
  207. OnTimer10:
  208. mapannounce instance_mapname("1@orcs"), "Shouts of the Chief Orc of Safeguards: Looks like this will take longer than expected. Summon the Stalactic Golems!",bc_map,"0xff4444";
  209. end;
  210. OnTimer4010:
  211. set .@map$, instance_mapname("1@orcs");
  212. mapannounce .@map$, "Stalactic Golems are digging out of the deep underground.",bc_map,"0x77ff77";
  213. areamonster .@map$,17,187,27,177,"Stalactic Golem",1278,20,instance_npcname("#Resurrect Monsters1")+"::OnMyMobDead";
  214. stopnpctimer;
  215. end;
  216. }
  217. 1@orcs,180,30,0 script #Resurrect Monsters2 844,{
  218. end;
  219. OnInstanceInit:
  220. disablenpc instance_npcname("#Resurrect Monsters2");
  221. end;
  222. OnDisable:
  223. killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
  224. end;
  225. OnEnable:
  226. enablenpc instance_npcname("#Resurrect Monsters2");
  227. monster instance_mapname("1@orcs"),0,0,"Trained Wolf",1106,15,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
  228. end;
  229. OnMyMobDead:
  230. set .@map$, instance_mapname("1@orcs");
  231. set .@mob_dead_num, 15 - mobcount(.@map$,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead");
  232. if (rand(1,30) > 15) {
  233. if (.@mob_dead_num > 0) {
  234. monster .@map$,0,0,"Trained Wolf",1106,.@mob_dead_num,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
  235. }
  236. }
  237. else {
  238. if (.@mob_dead_num > 0) {
  239. areamonster .@map$,17,187,27,177,"Trained Wolf",1106,.@mob_dead_num,instance_npcname("#Resurrect Monsters2")+"::OnMyMobDead";
  240. }
  241. }
  242. end;
  243. }
  244. 1@orcs,180,30,0 script #Resurrect Monsters3 844,{
  245. end;
  246. OnInstanceInit:
  247. disablenpc instance_npcname("#Resurrect Monsters3");
  248. end;
  249. OnDisable:
  250. killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
  251. end;
  252. OnEnable:
  253. enablenpc instance_npcname("#Resurrect Monsters3");
  254. monster instance_mapname("1@orcs"),0,0,"Orc Archer",1189,15,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
  255. end;
  256. OnMyMobDead:
  257. set .@map$, instance_mapname("1@orcs");
  258. set .@mob_dead_num, 15 - mobcount(.@map$,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead");
  259. set .@mob_ran,rand(1,30);
  260. if (.@mob_ran > 29) {
  261. if (.@mob_dead_num > 0) {
  262. monster .@map$,0,0,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
  263. }
  264. }
  265. else if ((.@mob_ran > 26) && (.@mob_ran < 30)) {
  266. if (.@mob_dead_num > 0) {
  267. areamonster .@map$,43,155,47,159,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
  268. if (rand(1,3) == 3) {
  269. mapannounce .@map$, "High Orc: Attack them from behind! Cut off their support!",bc_map,"0xff4444";
  270. }
  271. }
  272. }
  273. else {
  274. if (.@mob_dead_num > 0) {
  275. areamonster .@map$,17,187,27,177,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#Resurrect Monsters3")+"::OnMyMobDead";
  276. }
  277. }
  278. end;
  279. }
  280. 1@orcs,180,30,0 script #Resurrect Monsters4 844,{
  281. end;
  282. OnInstanceInit:
  283. enablenpc instance_npcname("#Resurrect Monsters4");
  284. areamonster instance_mapname("1@orcs"),98,35,178,115,"Anopheles",1627,10,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead";
  285. end;
  286. OnMyMobDead:
  287. set .@map$, instance_mapname("1@orcs");
  288. set .@mob_dead_num, 10 - mobcount(.@map$,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead");
  289. if (.@mob_dead_num > 0) {
  290. monster .@map$,0,0,"Anopheles",1627,.@mob_dead_num,instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead";
  291. }
  292. end;
  293. OnDisable:
  294. killmonster instance_mapname("1@orcs"),instance_npcname("#Resurrect Monsters4")+"::OnMyMobDead";
  295. end;
  296. }
  297. 1@orcs,180,29,4 script Kruger#1-1 433,{
  298. donpcevent instance_npcname("Kruger#1-2")+"::OnEnable";
  299. end;
  300. }
  301. 1@orcs,180,29,4 script Kruger#1-2 433,{
  302. end;
  303. OnInstanceInit:
  304. disablenpc instance_npcname("Kruger#1-2");
  305. end;
  306. OnEnable:
  307. disablenpc instance_npcname("Kruger#1-1");
  308. enablenpc instance_npcname("Kruger#1-2");
  309. initnpctimer;
  310. end;
  311. OnTimer10:
  312. mapannounce instance_mapname("1@orcs"), "Kruger: Damn... What took you so long!! I don't have all day!!",bc_map,"0xffff00";
  313. end;
  314. OnTimer5710:
  315. mapannounce instance_mapname("1@orcs"), "Kruger: My plan was to let our comrades open the gate, but it's all ruined since I got busted by the Orc Shaman.",bc_map,"0xffff00";
  316. end;
  317. OnTimer14610:
  318. mapannounce instance_mapname("1@orcs"), "Shouts of the Chief Orc of Safeguards: I smell a rat.. Send some patrols to the entrance!!",bc_map,"0xff4444";
  319. end;
  320. OnTimer20210:
  321. mapannounce instance_mapname("1@orcs"), "Kruger: Darn it.. They'll be here any minute. Ok. Listen to me now.",bc_map,"0xffff00";
  322. end;
  323. OnTimer24910:
  324. mapannounce instance_mapname("1@orcs"), "Kruger: The Orc Shaman has sealed the 1st basement by dividing it into 4 zones. Each zone has one Enchanted Orc who has the power to unseal the next zone.",bc_map,"0xffff00";
  325. end;
  326. OnTimer34310:
  327. mapannounce instance_mapname("1@orcs"), "Kruger: Find those Enchanted Orcs and get rid of them to move to the next zone.",bc_map,"0xffff00";
  328. end;
  329. OnTimer39710:
  330. mapannounce instance_mapname("1@orcs"), "Kruger: Try to avoid encountering Orcs other then the Enchanted ones. Everytime you kill a normal Orc, High Orcs will gather at the last path to the 2nd floor.",bc_map,"0xffff00";
  331. end;
  332. OnTimer49210:
  333. mapannounce instance_mapname("1@orcs"), "Kruger: In the worst case, the path to the 2nd floor could be completely blocked. For your own sake, you should be as sneaky as possible.",bc_map,"0xffff00";
  334. end;
  335. OnTimer56310:
  336. mapannounce instance_mapname("1@orcs"), "Mission: Sneak in and get rid of the 'Enchanted Orcs'. Avoiding battles with other Orcs is the best way of getting into the 2nd floor.",bc_map,"0x44ffff";
  337. donpcevent instance_npcname("#Resurrect Monsters1")+"::OnEnable";
  338. donpcevent instance_npcname("#Resurrect Monsters2")+"::OnEnable";
  339. donpcevent instance_npcname("#Resurrect Monsters3")+"::OnEnable";
  340. disablenpc instance_npcname("Kruger#1-2");
  341. end;
  342. OnTimer60000:
  343. areamonster instance_mapname("1@orcs"),137,83,143,89,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead";
  344. stopnpctimer;
  345. end;
  346. }
  347. 1@orcs,168,125,0 script B1 Area 1 45,3,3,{
  348. OnInstanceInit:
  349. disablenpc instance_npcname("B1 Area 1");
  350. end;
  351. OnEnable:
  352. enablenpc instance_npcname("B1 Area 1");
  353. areamonster instance_mapname("1@orcs"),103,105,109,111,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead1";
  354. end;
  355. OnTouch:
  356. warp instance_mapname("1@orcs"),168,130;
  357. end;
  358. OnContinue:
  359. donpcevent instance_npcname("B1 Area 2")+"::OnEnable";
  360. initnpctimer;
  361. end;
  362. OnTimer10300:
  363. mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: The Orcs here used to be my companions. They just lost their will ever since the Orc Shaman started to control them with her magic.",bc_map,"0xff4499";
  364. end;
  365. OnTimer18700:
  366. mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: There's nothing we can do but to defeat the Orc Shaman if we want to save the remaining tribes.",bc_map,"0xff4499";
  367. stopnpctimer;
  368. end;
  369. }
  370. 1@orcs,89,94,0 script B1 Area 2 45,3,3,{
  371. OnInstanceInit:
  372. disablenpc instance_npcname("B1 Area 2");
  373. end;
  374. OnEnable:
  375. enablenpc instance_npcname("B1 Area 2");
  376. areamonster instance_mapname("1@orcs"),32,40,38,46,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead2";
  377. end;
  378. OnTouch:
  379. warp instance_mapname("1@orcs"),85,85;
  380. end;
  381. OnContinue:
  382. donpcevent instance_npcname("B1 Area 3")+"::OnEnable";
  383. initnpctimer;
  384. end;
  385. OnTimer30300:
  386. mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: I saw the bodies of our tribe. It seems that the Orc Shaman used those Orcs for her rituals.",bc_map,"0xff4499";
  387. end;
  388. OnTimer37600:
  389. mapannounce instance_mapname("1@orcs"), "Kruger's Whisper: ... It all has to do with me. I am responsible for this evil.",bc_map,"0xff4499";
  390. stopnpctimer;
  391. end;
  392. }
  393. 1@orcs,38,105,0 script B1 Area 3 45,3,3,{
  394. OnInstanceInit:
  395. disablenpc instance_npcname("B1 Area 3");
  396. end;
  397. OnEnable:
  398. enablenpc instance_npcname("B1 Area 3");
  399. areamonster instance_mapname("1@orcs"),19,177,25,183,"Enchanted Orc",1023,1,instance_npcname("B1 Area Mobs")+"::OnMyMobDead3";
  400. end;
  401. OnTouch:
  402. warp instance_mapname("1@orcs"),38,110;
  403. end;
  404. OnContinue:
  405. donpcevent instance_npcname("B1 Area 4")+"::OnEnable";
  406. initnpctimer;
  407. end;
  408. OnTimer30300:
  409. mapannounce instance_mapname("1@orcs"), "Please, hang in there!",bc_map,"0xff4499";
  410. end;
  411. OnTimer32700:
  412. mapannounce instance_mapname("1@orcs"), "We'll get some rest when we get to the 2nd basement after passing through here.",bc_map,"0xff4499";
  413. stopnpctimer;
  414. end;
  415. }
  416. 1@orcs,21,189,0 script B1 Area 4 45,3,3,{
  417. OnInstanceInit:
  418. disablenpc instance_npcname("B1 Area 4");
  419. end;
  420. OnEnable:
  421. enablenpc instance_npcname("B1 Area 4");
  422. donpcevent instance_npcname("#Resurrect Monsters1")+"::OnDisable";
  423. donpcevent instance_npcname("#Resurrect Monsters2")+"::OnDisable";
  424. donpcevent instance_npcname("#Resurrect Monsters3")+"::OnDisable";
  425. donpcevent instance_npcname("#Resurrect Monsters4")+"::OnDisable";
  426. end;
  427. OnTouch:
  428. warp instance_mapname("2@orcs"),32,171;
  429. end;
  430. }
  431. 1@orcs,1,1,0 script B1 Area Mobs -1,{
  432. end;
  433. OnMyMobDead:
  434. donpcevent instance_npcname("B1 Area 1")+"::OnEnable";
  435. end;
  436. OnMyMobDead1:
  437. donpcevent instance_npcname("B1 Area 1")+"::OnContinue";
  438. end;
  439. OnMyMobDead2:
  440. donpcevent instance_npcname("B1 Area 2")+"::OnContinue";
  441. end;
  442. OnMyMobDead3:
  443. donpcevent instance_npcname("B1 Area 3")+"::OnContinue";
  444. end;
  445. }
  446. // Orc's Memory Floor 2
  447. //============================================================
  448. 2@orcs,36,171,0 script #2Resurrect Monsters1 844,{
  449. end;
  450. OnInstanceInit:
  451. disablenpc instance_npcname("#2Resurrect Monsters1");
  452. end;
  453. OnEnable:
  454. enablenpc instance_npcname("#2Resurrect Monsters1");
  455. monster instance_mapname("2@orcs"),0,0,"Vengeful Orc",1152,30,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
  456. end;
  457. OnDisable:
  458. stopnpctimer;
  459. killmonster instance_mapname("2@orcs"),instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
  460. end;
  461. OnMyMobDead:
  462. set .@map$, instance_mapname("2@orcs");
  463. set .@mob_dead_num, 30 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead");
  464. if (.@mob_dead_num > 0) {
  465. set .@mob_ran,rand(1,30);
  466. if (.@mob_ran > 29) {
  467. monster .@map$,0,0,"Vengeful Orc",1152,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
  468. }
  469. else if ((.@mob_ran > 28) && (.@mob_ran < 30)) {
  470. monster .@map$,0,0,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
  471. }
  472. else if ((.@mob_ran > 26) && (.@mob_ran < 29)) {
  473. areamonster .@map$,157,112,167,122,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
  474. if (rand(1,10) == 9) {
  475. mapannounce .@map$, "Warning: High Orcs are gathering near area 3.",bc_map,"0xff4444";
  476. }
  477. }
  478. else {
  479. areamonster .@map$,173,13,183,23,"High Orc",1213,.@mob_dead_num,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
  480. if (rand(1,5) == 3) {
  481. mapannounce .@map$, "Caution: The Forces have started to concentrate at the Shaman's Altar.",bc_map,"0x77ff77";
  482. }
  483. if (rand(1,70) == 50) {
  484. initnpctimer;
  485. }
  486. }
  487. }
  488. end;
  489. OnTimer10:
  490. mapannounce instance_mapname("2@orcs"), "Voice from somewhere: Foolish... Do you really think the altar would fall like that?",bc_map,"0xff4444";
  491. end;
  492. OnTimer4010:
  493. set .@map$, instance_mapname("2@orcs");
  494. mapannounce .@map$, "[ Wraiths were summoned by an unknown power ]",bc_map,"0x77ff77";
  495. areamonster .@map$,167,25,177,35,"Wraith",1475,30,instance_npcname("#2Resurrect Monsters1")+"::OnMyMobDead";
  496. stopnpctimer;
  497. end;
  498. }
  499. 2@orcs,36,171,0 script #2Resurrect Monsters3 844,{
  500. end;
  501. OnInstanceInit:
  502. disablenpc instance_npcname("#2Resurrect Monsters3");
  503. end;
  504. OnEnable:
  505. enablenpc instance_npcname("#2Resurrect Monsters3");
  506. monster instance_mapname("2@orcs"),0,0,"Orc Zombie",1153,15,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
  507. end;
  508. OnMyMobDead:
  509. set .@map$, instance_mapname("2@orcs");
  510. set .@mob_dead_num, 15 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead");
  511. set .@mob_ran,rand(1,30);
  512. if (.@mob_ran > 29) {
  513. if (.@mob_dead_num > 0) {
  514. monster .@map$,0,0,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
  515. }
  516. }
  517. else if ((.@mob_ran > 6) && (.@mob_ran < 30)) {
  518. if (.@mob_dead_num > 0) {
  519. areamonster .@map$,168,10,184,26,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
  520. if (rand(1,15) == 3) {
  521. mapannounce .@map$, "Warning: Orc Archer teams are gathering near the altar.",bc_map,"0xff4444";
  522. }
  523. }
  524. }
  525. else {
  526. if (.@mob_dead_num > 0) {
  527. areamonster .@map$,168,21,184,21,"Orc Archer",1189,.@mob_dead_num,instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
  528. }
  529. }
  530. end;
  531. OnDisable:
  532. killmonster instance_mapname("2@orcs"),instance_npcname("#2Resurrect Monsters3")+"::OnMyMobDead";
  533. end;
  534. }
  535. 2@orcs,180,30,0 script #2Resurrect Monsters4 844,{
  536. end;
  537. OnInstanceInit:
  538. enablenpc instance_npcname("#2Resurrect Monsters4");
  539. monster instance_mapname("2@orcs"),0,0,"Anopheles",1627,10,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead";
  540. end;
  541. OnMyMobDead:
  542. set .@map$, instance_mapname("2@orcs");
  543. set .@mob_dead_num, 10 - mobcount(.@map$,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead");
  544. if (.@mob_dead_num > 0) {
  545. monster .@map$,0,0,"Anopheles",1627,1,instance_npcname("#2Resurrect Monsters4")+"::OnMyMobDead";
  546. }
  547. end;
  548. }
  549. 2@orcs,35,169,4 script Kruger#2-1 433,{
  550. donpcevent instance_npcname("Kruger#2-2")+"::OnEnable";
  551. end;
  552. }
  553. 2@orcs,35,169,4 script Kruger#2-2 433,{
  554. end;
  555. OnInstanceInit:
  556. disablenpc instance_npcname("Kruger#2-2");
  557. end;
  558. OnEnable:
  559. disablenpc instance_npcname("Kruger#2-1");
  560. enablenpc instance_npcname("Kruger#2-2");
  561. initnpctimer;
  562. end;
  563. OnTimer10:
  564. mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: I'll tell you how to get to the Shaman's altar.",bc_map,"0xffff00";
  565. end;
  566. OnTimer3510:
  567. mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Do you see the braziers that light the path? Unseal the next zone by strengthening their flames.",bc_map,"0xffff00";
  568. end;
  569. OnTimer10710:
  570. mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Of course those monsters won't let you touch the braziers that easily.",bc_map,"0xffff00";
  571. end;
  572. OnTimer16310:
  573. mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: But still, try keep the battles not too noticable so the Shaman won't guard the altar with her army squad.",bc_map,"0xffff00";
  574. end;
  575. OnTimer21910:
  576. mapannounce instance_mapname("2@orcs"), "Kruger's Whisper: Only the Party Leader can strengthen the flames, so protect your leader.",bc_map,"0xffff00";
  577. end;
  578. OnTimer23910:
  579. mapannounce instance_mapname("2@orcs"), "Mission: Unseal the zone by lighting the braziers. They can only be lit in a certain order, so be careful.",bc_map,"0x4444ff";
  580. donpcevent instance_npcname("#2Resurrect Monsters1")+"::OnEnable";
  581. donpcevent instance_npcname("#2Resurrect Monsters3")+"::OnEnable";
  582. donpcevent instance_npcname("Torch#1-1")+"::OnEnable";
  583. disablenpc instance_npcname("Kruger#2-2");
  584. end;
  585. }
  586. 2@orcs,26,164,0 script Torch#1-1 844,{
  587. if(getpartyleader(getcharid(1),2) != getcharid(0)) end;
  588. progressbar "ffff00",5;
  589. setarray .@id[0], atoi(charat(strnpcinfo(2),0)), atoi(charat(strnpcinfo(2),2));
  590. if (.@id[1] == 4)
  591. donpcevent instance_npcname("#Warp2-"+.@id[0])+"::OnEnable";
  592. else
  593. donpcevent instance_npcname("Torch#"+.@id[0]+"-"+(.@id[1]+1))+"::OnEnable";
  594. initnpctimer;
  595. disablenpc instance_npcname(strnpcinfo(0));
  596. end;
  597. OnInstanceInit:
  598. if (strnpcinfo(0) != "Torch#2-1" && strnpcinfo(0) != "Torch#3-1")
  599. disablenpc instance_npcname(strnpcinfo(0));
  600. end;
  601. OnEnable:
  602. enablenpc instance_npcname(strnpcinfo(0));
  603. end;
  604. OnTimer100:
  605. specialeffect EF_FIREPILLAR;
  606. end;
  607. OnTimer2000:
  608. specialeffect EF_FIREPILLARBOMB;
  609. stopnpctimer;
  610. end;
  611. }
  612. 2@orcs,55,155,0 duplicate(Torch#1-1) Torch#1-2 844
  613. 2@orcs,108,146,0 duplicate(Torch#1-1) Torch#1-3 844
  614. 2@orcs,98,171,0 duplicate(Torch#1-1) Torch#1-4 844
  615. 2@orcs,48,100,0 script #Warp2-1 45,3,3,{
  616. OnInstanceInit:
  617. disablenpc instance_npcname("#Warp2-1");
  618. end;
  619. OnEnable:
  620. set .@map$, instance_mapname("2@orcs");
  621. monster .@map$,109,156,"Safeguard Chief",1981,1,instance_npcname("#Mobs Control")+"::OnMyMobDead1";
  622. mapannounce .@map$, "The Chief Orc of Safeguards: Oh!! Looks like I have company. Defeat me if you can!!",bc_map,"0xff8888";
  623. end;
  624. OnContinue:
  625. enablenpc instance_npcname("#Warp2-1");
  626. initnpctimer;
  627. end;
  628. OnTimer10000:
  629. areamonster instance_mapname("2@orcs"),28,158,40,170,"Safeguard Chief",1981,1,instance_npcname("#Mobs Control")+"::OnMyMobDead1";
  630. stopnpctimer;
  631. end;
  632. OnTouch:
  633. warp instance_mapname("2@orcs"),47,93;
  634. end;
  635. }
  636. 2@orcs,35,92,0 duplicate(Torch#1-1) Torch#2-1 844
  637. 2@orcs,32,70,0 duplicate(Torch#1-1) Torch#2-2 844
  638. 2@orcs,70,31,0 duplicate(Torch#1-1) Torch#2-3 844
  639. 2@orcs,84,51,0 duplicate(Torch#1-1) Torch#2-4 844
  640. 2@orcs,101,55,0 script #Warp2-2 45,3,3,{
  641. OnInstanceInit:
  642. disablenpc instance_npcname("#Warp2-2");
  643. end;
  644. OnEnable:
  645. set .@map$, instance_mapname("2@orcs");
  646. monster .@map$,67,64,"Orc Sniper",1982,1,instance_npcname("#Mobs Control")+"::OnMyMobDead2";
  647. mapannounce .@map$, "Orc Sniper: Hah! Pretty impressive that you made it this far, but your foolish little trip ends here...",bc_map,"0xff8888";
  648. end;
  649. OnContinue:
  650. enablenpc instance_npcname("#Warp2-2");
  651. initnpctimer;
  652. end;
  653. OnTimer10000:
  654. areamonster instance_mapname("2@orcs"),40,91,52,103,"Orc Sniper",1982,1,instance_npcname("#Mobs Control")+"::OnMyMobDead2";
  655. stopnpctimer;
  656. end;
  657. OnTouch:
  658. warp instance_mapname("2@orcs"),107,55;
  659. end;
  660. }
  661. 2@orcs,142,145,0 duplicate(Torch#1-1) Torch#3-1 844
  662. 2@orcs,162,134,0 duplicate(Torch#1-1) Torch#3-2 844
  663. 2@orcs,144,117,0 duplicate(Torch#1-1) Torch#3-3 844
  664. 2@orcs,136,98,0 duplicate(Torch#1-1) Torch#3-4 844
  665. 2@orcs,167,104,0 script #Warp2-3 45,3,3,{
  666. OnInstanceInit:
  667. disablenpc instance_npcname("#Warp2-3");
  668. end;
  669. OnEnable:
  670. set .@map$, instance_mapname("2@orcs");
  671. monster .@map$,152,147,"Depraved Orc Spirit",1983,1,instance_npcname("#Mobs Control")+"::OnMyMobDead3";
  672. mapannounce .@map$, "Depraved Orc Spirit: I smell flesh! Hungry! Wanna try some human meat!!",bc_map,"0xff8888";
  673. end;
  674. OnContinue:
  675. areamonster instance_mapname("2@orcs"),117,61,129,73,"Depraved Orc Spirit",1983,1;
  676. donpcevent instance_npcname("#Boss Control")+"::OnEnable";
  677. enablenpc instance_npcname("#Warp2-3");
  678. initnpctimer;
  679. end;
  680. OnTimer10:
  681. mapannounce instance_mapname("2@orcs"), "Shaman Cargalache: Hahaha!! So, you finally made it here. The assassin you sent was just terrible. That stupid Orc is getting cold under my feet.",bc_map,"0xffff00";
  682. end;
  683. OnTimer6810:
  684. mapannounce instance_mapname("2@orcs"), "Shaman Cargalache: My loyal slave, go get those intruders!",bc_map,"0xffff00";
  685. end;
  686. OnTimer10310:
  687. mapannounce instance_mapname("2@orcs"), "Depraved Orc Hero: Whatever you say, my lord.",bc_map,"0xff7777";
  688. end;
  689. OnTimer13110:
  690. mapannounce instance_mapname("2@orcs"), "Caution: You have been discovered by Shaman Cargalache. Kruger's plan to assassinate the Shaman has failed. You must defeat Cargalache and find traces of Kruger.",bc_map,"0x8888ff";
  691. stopnpctimer;
  692. end;
  693. OnTouch:
  694. warp instance_mapname("2@orcs"),167,95;
  695. end;
  696. }
  697. 2@orcs,36,171,0 script #Boss Control 844,{
  698. end;
  699. OnInstanceInit:
  700. disablenpc instance_npcname("#Boss Control");
  701. end;
  702. OnEnable:
  703. set .@map$, instance_mapname("2@orcs");
  704. monster .@map$,185,8,"Shaman Cargalache",1984,1,instance_npcname("#Boss Control")+"::OnMyMobDead";
  705. monster .@map$,179,15,"Depraved Orc Hero",1087,1;
  706. enablenpc instance_npcname("#Boss Control");
  707. end;
  708. OnMyMobDead:
  709. donpcevent instance_npcname("Kruger#")+"::OnEnable";
  710. set .@map$, instance_mapname("2@orcs");
  711. set .@mob_ran,rand(1,5);
  712. if (.@mob_ran == 1) {
  713. mapannounce .@map$, "Shaman Cargalache: How... How could this be... How could someone like you...!!",bc_map,"0xffff00";
  714. }
  715. else if (.@mob_ran == 2) {
  716. mapannounce .@map$, "Shaman Cargalache: How is it that I've been overpowered by mere humans!",bc_map,"0xffff00";
  717. }
  718. else if (.@mob_ran == 3) {
  719. mapannounce .@map$, "Shaman Cargalache: This... This can't be the end...",bc_map,"0xffff00";
  720. }
  721. else if (.@mob_ran == 4) {
  722. mapannounce .@map$, "Shaman Cargalache: I... Can't die... Yet...!",bc_map,"0xffff00";
  723. }
  724. else {
  725. mapannounce .@map$, "Shaman Cargalache: Defeated by these fools... It can't be happening...!",bc_map,"0xffff00";
  726. }
  727. donpcevent instance_npcname("#2Resurrect Monsters1")+"::OnDisable";
  728. donpcevent instance_npcname("#2Resurrect Monsters3")+"::OnDisable";
  729. donpcevent instance_npcname("#Warp Outside Orc Dun")+"::OnEnable";
  730. end;
  731. }
  732. 2@orcs,182,8,0 script #Warp Outside Orc Dun 45,3,3,{
  733. OnInstanceInit:
  734. disablenpc instance_npcname("#Warp Outside Orc Dun");
  735. end;
  736. OnEnable:
  737. enablenpc instance_npcname("#Warp Outside Orc Dun");
  738. end;
  739. OnTouch:
  740. warp "gef_fild10",240,197;
  741. end;
  742. }
  743. 2@orcs,172,13,0 script Kruger# 434,{
  744. if (yong_odun < 2) {
  745. mes "[Kruger]";
  746. mes "*Coughing*";
  747. mes ""+strcharinfo(0)+", it's you...";
  748. next;
  749. mes "["+strcharinfo(0)+"] ";
  750. mes "Don't move! You are wounded!";
  751. next;
  752. mes "[Kruger]";
  753. mes "It's... all right.. I'm dying...";
  754. mes "....";
  755. mes "The Shaman? What about the Shaman?";
  756. next;
  757. mes "["+strcharinfo(0)+"] ";
  758. mes "The Shaman's dead now. Who was that Shaman really?";
  759. next;
  760. mes "Kruger seemed to be relieved as he hears of the death of the Shaman, but you notice the bitter expression on his face.";
  761. next;
  762. mes "[Kruger]";
  763. mes "I.. I just couldn't kill my own daughter...";
  764. mes "Thank you, I'm sure she's finally free from the nightmare that used to choke her soul.";
  765. next;
  766. mes "Kruger was about to say something more, but he breathed his last breath before he could...";
  767. set yong_odun,2;
  768. close;
  769. }
  770. else {
  771. mes "You can see the dead body of Kruger, peacefully lying on the ground.";
  772. close;
  773. }
  774. OnInstanceInit:
  775. disablenpc instance_npcname("Kruger#");
  776. end;
  777. OnEnable:
  778. enablenpc instance_npcname("Kruger#");
  779. end;
  780. }
  781. 2@orcs,36,171,0 script #Mobs Control 844,{
  782. end;
  783. OnMyMobDead1:
  784. donpcevent instance_npcname("#Warp2-1")+"::OnContinue";
  785. end;
  786. OnMyMobDead2:
  787. donpcevent instance_npcname("#Warp2-2")+"::OnContinue";
  788. end;
  789. OnMyMobDead3:
  790. donpcevent instance_npcname("#Warp2-3")+"::OnContinue";
  791. end;
  792. }