OrcsMemory.txt 29 KB

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