Advertisement
Sehrentos

rAthena NPC script instance RoS

Oct 15th, 2018 (edited)
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 37.25 KB | Source Code | 0 0
  1. //===== rAthena Script =======================================
  2. //= Rift Instance
  3. //===== By: ==================================================
  4. //= Sehrentos
  5. //===== Current Version: =====================================
  6. //= 1.0
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= Custom Instance - Rift of Sorrow
  11. //= Bonus Base Exp & Job Exp 200%
  12. //= For player level 1-125+
  13. //===== Additional Comments: =================================
  14. //= 1.0 Initial script.
  15. //============================================================
  16. // Edit 'db/(pre-)re/instance_db.txt' to enable this custom instance.
  17. // 40,Rift of Sorrow,3600,300,ordeal_3-2,150,157
  18. // ------------------------------------------
  19. prontera,145,165,4 script Rift Stone#rift1 406,{
  20. set .@party_id, getcharid(1);
  21. // Has party
  22. if (!.@party_id) {
  23. mes "["+.npc_name$+"]";
  24. mes "Make or join a party with more than 1 member and try again.";
  25. mes "Instance: ^0000ff"+.instance_name$+"^000000";
  26. close;
  27. }
  28.  
  29. // Check instance party
  30. if (!instance_check_party(.@party_id, .instance_amount)) {
  31. mes "["+.npc_name$+"]";
  32. mes "Make or join a party with more than 1 member and try again.";
  33. mes "Instance: ^0000ff"+.instance_name$+"^000000";
  34. close;
  35. }
  36.  
  37. // Party Leader - Create instance
  38. set .@party_name$, getpartyname(.@party_id);
  39. if (getcharid(0) == getpartyleader(.@party_id,2)) {
  40. mes "["+.npc_name$+"]";
  41. mes "Would you like to reserve entrance to the instance?";
  42. mes "Instance: ^0000ff"+.instance_name$+"^000000";
  43. next;
  44. switch(select("Enter the Rift:Close the Rift")) {
  45. case 1:
  46. // Enter existing instance
  47. if (instance_id() > 0) {
  48. goto L_Enter;
  49. }
  50. // Create new instance
  51. mes "^0000ff"+.instance_name$+"^000000 - Reserved";
  52. mes "Party Name: "+.@party_name$;
  53. mes "Party Leader: "+strcharinfo(0);
  54. mes "After making a reservation, you can enter the instance.";
  55. next;
  56. .@create = instance_create(.instance_name$, IM_PARTY);
  57. if (.@create < 0) {
  58. mes "["+.npc_name$+"]";
  59. switch (.@create) {
  60. case -1: mes "Invalid instance type."; break;
  61. case -2: mes "Party not found."; break;
  62. case -3: mes "Instance already exists."; break;
  63. case -4: mes "No free instances."; break;
  64. }
  65. mes " ";
  66. mes "Instance creation ^FF0000failed^000000.";
  67. emotion ET_HUK;
  68. close;
  69. }
  70. goto L_Enter;
  71. break;
  72. case 2:
  73. mes "["+.npc_name$+"]";
  74. if (instance_id() > 0) {
  75. mes "Instance ^0000ff"+.instance_name$+"^000000 - Removed!";
  76. instance_destroy();
  77. } else {
  78. mes "You don't have active instance.";
  79. }
  80. break;
  81. }
  82. close;
  83. }
  84.  
  85. // Party Member - Enter instance
  86. mes "["+.npc_name$+"]";
  87. mes "Instance ^0000ff"+.instance_name$+"^000000 "+ (instance_id() > 0 ? "- Reserved":"- Inactive");
  88. if (select("Enter the instance:Leave") == 1) {
  89. if (instance_id() > 0) {
  90. goto L_Enter;
  91. } else {
  92. clear;
  93. mes "["+.npc_name$+"]";
  94. mes "You don't have active instance.";
  95. close;
  96. }
  97. }
  98. clear;
  99. mes "["+ .npc_name$ +"]";
  100. mes "Farewell.";
  101. close;
  102. close;
  103.  
  104. OnInit:
  105. set .npc_name$, strnpcinfo(1);
  106. set .instance_name$, "Rift of Sorrow";
  107. set .instance_amount, 1;
  108. end;
  109.  
  110. L_Enter:
  111. dispbottom "BaseExp bonus: "+getmapflag(instance_mapname("ordeal_3-2"),MF_BEXP)+"% JobExp bonus: "+getmapflag(instance_mapname("ordeal_3-2"),MF_JEXP)+"%";
  112. .@enter = instance_enter(.instance_name$);
  113. if (.@enter != IE_OK) {
  114. mes "["+.npc_name$+"]";
  115. if (.@enter == IE_NOMEMBER)
  116. mes "Party not found.";
  117. if (.@enter == IE_NOINSTANCE)
  118. mes "Party does not have an instance.";
  119. if (.@enter == IE_OTHER)
  120. mes "Unknown error.";
  121.  
  122. mes " ";
  123. mes "Instance entry ^FF0000failed^000000.";
  124. emotion ET_HUK;
  125. }
  126. close;
  127. }
  128.  
  129. // Instance NPC
  130. //============================================================
  131. ordeal_3-2,65,25,0 warp riftwarp1 1,1,ordeal_3-2,150,157
  132. ordeal_3-2,74,266,0 warp riftwarp2 1,1,ordeal_3-2,150,157
  133. ordeal_3-2,105,153,0 warp riftwarp3 1,1,ordeal_3-2,150,157
  134. ordeal_3-2,129,193,0 warp riftwarp4 1,1,ordeal_3-2,150,157
  135. ordeal_3-2,178,193,0 warp riftwarp5 1,1,ordeal_3-2,150,157
  136. ordeal_3-2,201,129,0 warp riftwarp6 1,1,ordeal_3-2,150,157
  137. ordeal_3-2,241,281,0 warp riftwarp7 1,1,ordeal_3-2,150,157
  138. ordeal_3-2,290,129,0 warp riftwarp8 1,1,ordeal_3-2,150,157
  139. ordeal_3-2,154,153,0 script #RiftManager WARPNPC,2,2,{
  140. end;
  141.  
  142. OnInit: // disable NPC on normal map
  143. disablenpc strnpcinfo(0);
  144. end;
  145.  
  146. OnDisable:
  147. disablenpc instance_npcname(strnpcinfo(0));
  148. end;
  149.  
  150. OnEnable:
  151. OnInstanceInit:
  152. // Enable this NPC on instance init
  153. enablenpc instance_npcname(strnpcinfo(0));
  154. mapannounce instance_mapname("ordeal_3-2"),"[Portal] The portal to out side has opened at the center of the room.",BC_MAP,"0x7799ff";
  155. end;
  156.  
  157. OnTouch:
  158. warp "prontera", 156, 167;
  159. //warp "Save", 0, 0; // Warp to save-point
  160. end;
  161. }
  162.  
  163. ordeal_3-2,151,153,4 script Rift Manager#start 106,{
  164. if (getcharid(0) != getpartyleader(getcharid(1),2)) {
  165. mes "["+strnpcinfo(1)+"]";
  166. mes "Tell to your party leader to start the Rift.";
  167. close;
  168. }
  169. mes "["+strnpcinfo(1)+"]";
  170. mes "Do you wan't to activate the Rift?";
  171. .@level = select("Level 1-10:Level 10-20:Level 20-30:Level 30-40:Level 40-50:Level 50-60:Level 60-70:Level 70-80:Level 80-90:Level 90-100:Level 100-110:Level 110-120:Level 120-130:Level 130+");
  172. if(.@level < 1 || .@level > 14) {
  173. clear;
  174. mes "["+strnpcinfo(1)+"]";
  175. mes "This level("+ .@level +") has not been implemented yet!";
  176. close;
  177. }
  178. clear;
  179. mes "["+strnpcinfo(1)+"]";
  180. mes "The Rift will start after you close this dialog!";
  181. mapannounce instance_mapname("ordeal_3-2"),"The Rift is about to start. Get ready!!",BC_MAP,"0x7799ff",FW_BOLD,18;
  182. close2;
  183. donpcevent instance_npcname("RiftMonster#lv"+.@level)+"::OnEnable";
  184. disablenpc instance_npcname(strnpcinfo(0));
  185. end;
  186.  
  187. OnInit: // disable NPC on normal map
  188. disablenpc strnpcinfo(0);
  189. end;
  190.  
  191. OnInstanceInit:
  192. // Enable this NPC on instance init
  193. enablenpc instance_npcname(strnpcinfo(0));
  194. setmapflag instance_mapname("ordeal_3-2"), MF_NOSAVE; // Disables auto-saving on a map
  195. setmapflag instance_mapname("ordeal_3-2"), MF_MONSTER_NOTELEPORT; // Disable monster teleport
  196. setmapflag instance_mapname("ordeal_3-2"), MF_NOBRANCH; // Disables usage of monster-spawning items
  197. setmapflag instance_mapname("ordeal_3-2"), MF_BEXP, 200; // Base Exp rating
  198. setmapflag instance_mapname("ordeal_3-2"), MF_JEXP, 200; // Job Exp rating
  199. end;
  200.  
  201. OnDisable:
  202. disablenpc instance_npcname(strnpcinfo(0));
  203. end;
  204. }
  205.  
  206.  
  207. // Start Rift LV 1-10
  208. ordeal_3-2,0,0,-1 script RiftMonster#lv1 -1,{
  209. OnInit: // disable NPC on normal map
  210. disablenpc strnpcinfo(0);
  211. end;
  212.  
  213. OnDisable:
  214. disablenpc instance_npcname(strnpcinfo(0)); //Disable it self.
  215. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  216. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  217. end;
  218.  
  219. OnEnable:
  220. enablenpc instance_npcname(strnpcinfo(0));
  221. .@map$ = instance_mapname("ordeal_3-2");
  222. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  223. setarray .@mob_id[0], // [0-9]{4},[a-zA-Z,'\s_]+([0-9]|1[0-5])
  224. 1002,
  225. 1004,
  226. 1007,
  227. 1008,
  228. 1009,
  229. 1010,
  230. 1011,
  231. 1012,
  232. 1020,
  233. 1047,
  234. 1049,
  235. 1050,
  236. 1052,
  237. 1062,
  238. 1063,
  239. 1107,
  240. 1167,
  241. 1113,
  242. 1183,
  243. 1184,
  244. 1520;
  245.  
  246. // Summon
  247. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  248. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  249. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  250. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  251. for(.@i = 0; .@i < 500; .@i++) {
  252. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$; // Random
  253. }
  254. end;
  255.  
  256. OnMobDie:
  257. .@npc$ = instance_npcname(strnpcinfo(0));
  258. .@map$ = instance_mapname("ordeal_3-2");
  259. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  260. if (.@count <= 400) {
  261. killmonster .@map$, .@npc$+"::OnMobDie"; //Clean up
  262. setarray .@boss_id[0],
  263. 1088,
  264. 1089;
  265.  
  266. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  267. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  268. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  269. } else {
  270. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  271. }
  272. end;
  273.  
  274. OnBossDie:
  275. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  276. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  277. end;
  278. }
  279.  
  280. // Start Rift LV 10-20
  281. ordeal_3-2,0,0,-1 script RiftMonster#lv2 -1,{
  282. OnInit:
  283. disablenpc strnpcinfo(0);
  284. end;
  285.  
  286. OnDisable:
  287. disablenpc instance_npcname(strnpcinfo(0));
  288. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  289. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  290. end;
  291.  
  292. OnEnable:
  293. enablenpc instance_npcname(strnpcinfo(0));
  294. .@map$ = instance_mapname("ordeal_3-2");
  295. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  296. setarray .@mob_id[0],
  297. 1004,
  298. 1009,
  299. 1015,
  300. 1012,
  301. 1005,
  302. 1014,
  303. 1018,
  304. 1019,
  305. 1020,
  306. 1024,
  307. 1025,
  308. 1048,
  309. 1050,
  310. 1051,
  311. 1052,
  312. 1055,
  313. 1094,
  314. 1103,
  315. 1107,
  316. 1167,
  317. 1174,
  318. 1175,
  319. 1235,
  320. 1245;
  321.  
  322. // Summon
  323. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  324. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  325. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  326. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  327. for(.@i = 0; .@i < 500; .@i++) {
  328. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  329. }
  330. end;
  331.  
  332. OnMobDie:
  333. .@npc$ = instance_npcname(strnpcinfo(0));
  334. .@map$ = instance_mapname("ordeal_3-2");
  335. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  336. if (.@count <= 400) {
  337. killmonster .@map$, .@npc$+"::OnMobDie";
  338. setarray .@boss_id[0],
  339. 1088,
  340. 1089,
  341. 1093;
  342.  
  343. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  344. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  345. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  346. } else {
  347. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  348. }
  349. end;
  350.  
  351. OnBossDie:
  352. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  353. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  354. end;
  355. }
  356.  
  357. // Start Rift LV 20-30
  358. ordeal_3-2,0,0,-1 script RiftMonster#lv3 -1,{
  359. OnInit:
  360. disablenpc strnpcinfo(0);
  361. end;
  362.  
  363. OnDisable:
  364. disablenpc instance_npcname(strnpcinfo(0));
  365. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  366. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  367. end;
  368.  
  369. OnEnable:
  370. enablenpc instance_npcname(strnpcinfo(0));
  371. .@map$ = instance_mapname("ordeal_3-2");
  372. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  373. setarray .@mob_id[0],
  374. 1005,
  375. 1018,
  376. 1019,
  377. 1031,
  378. 1028,
  379. 1033,
  380. 1048,
  381. 1051,
  382. 1053,
  383. 1054,
  384. 1055,
  385. 1056,
  386. 1060,
  387. 1068,
  388. 1076,
  389. 1077,
  390. 1095,
  391. 1097,
  392. 1103,
  393. 1105,
  394. 1128,
  395. 1160,
  396. 1174,
  397. 1175,
  398. 1176,
  399. 1221,
  400. 1235,
  401. 1245;
  402.  
  403. // Summon
  404. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  405. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  406. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  407. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  408. for(.@i = 0; .@i < 500; .@i++) {
  409. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  410. }
  411. end;
  412.  
  413. OnMobDie:
  414. .@npc$ = instance_npcname(strnpcinfo(0));
  415. .@map$ = instance_mapname("ordeal_3-2");
  416. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  417. if (.@count <= 400) {
  418. killmonster .@map$, .@npc$+"::OnMobDie";
  419. setarray .@boss_id[0],
  420. 1089,
  421. 1093,
  422. 1090;
  423.  
  424. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  425. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  426. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  427. } else {
  428. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  429. }
  430. end;
  431.  
  432. OnBossDie:
  433. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  434. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  435. end;
  436. }
  437.  
  438. // Start Rift LV 30-40
  439. ordeal_3-2,0,0,-1 script RiftMonster#lv4 -1,{
  440. OnInit:
  441. disablenpc strnpcinfo(0);
  442. end;
  443.  
  444. OnDisable:
  445. disablenpc instance_npcname(strnpcinfo(0));
  446. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  447. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  448. end;
  449.  
  450. OnEnable:
  451. enablenpc instance_npcname(strnpcinfo(0));
  452. .@map$ = instance_mapname("ordeal_3-2");
  453. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  454. setarray .@mob_id[0],
  455. 1031,
  456. 1054,
  457. 1033,
  458. 1028,
  459. 1013,
  460. 1023,
  461. 1034,
  462. 1057,
  463. 1066,
  464. 1068,
  465. 1070,
  466. 1073,
  467. 1095,
  468. 1104,
  469. 1105,
  470. 1121,
  471. 1128,
  472. 1141,
  473. 1145,
  474. 1160,
  475. 1161,
  476. 1169,
  477. 1176,
  478. 1242,
  479. 1246,
  480. 1248,
  481. 1249,
  482. 1265,
  483. 1273,
  484. 1391,
  485. 1585,
  486. 1592,
  487. 1629,
  488. 1686,
  489. 1964;
  490.  
  491. // Summon
  492. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  493. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  494. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  495. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  496. for(.@i = 0; .@i < 500; .@i++) {
  497. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  498. }
  499. end;
  500.  
  501. OnMobDie:
  502. .@npc$ = instance_npcname(strnpcinfo(0));
  503. .@map$ = instance_mapname("ordeal_3-2");
  504. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  505. if (.@count <= 400) {
  506. killmonster .@map$, .@npc$+"::OnMobDie";
  507. setarray .@boss_id[0],
  508. 1093,
  509. 1090,
  510. 1250;
  511.  
  512. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  513. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  514. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  515. } else {
  516. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  517. }
  518. end;
  519.  
  520. OnBossDie:
  521. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  522. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  523. end;
  524. }
  525.  
  526. // Start Rift LV 40-50
  527. ordeal_3-2,0,0,-1 script RiftMonster#lv5 -1,{
  528. OnInit:
  529. disablenpc strnpcinfo(0);
  530. end;
  531.  
  532. OnDisable:
  533. disablenpc instance_npcname(strnpcinfo(0));
  534. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  535. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  536. end;
  537.  
  538. OnEnable:
  539. enablenpc instance_npcname(strnpcinfo(0));
  540. .@map$ = instance_mapname("ordeal_3-2");
  541. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  542. setarray .@mob_id[0],
  543. 1013,
  544. 1034,
  545. 1023,
  546. 1070,
  547. 1016,
  548. 1032,
  549. 1041,
  550. 1042,
  551. 1044,
  552. 1058,
  553. 1064,
  554. 1066,
  555. 1067,
  556. 1071,
  557. 1073,
  558. 1074,
  559. 1100,
  560. 1111,
  561. 1116,
  562. 1121,
  563. 1138,
  564. 1141,
  565. 1142,
  566. 1144,
  567. 1151,
  568. 1152,
  569. 1153,
  570. 1158,
  571. 1161,
  572. 1169,
  573. 1177,
  574. 1212,
  575. 1214,
  576. 1248,
  577. 1254,
  578. 1258,
  579. 1266,
  580. 1273,
  581. 1308,
  582. 1317,
  583. 1323,
  584. 1391,
  585. 1392,
  586. 1585,
  587. 1592,
  588. 1629,
  589. 1686;
  590.  
  591. // Summon
  592. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  593. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  594. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  595. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  596. for(.@i = 0; .@i < 500; .@i++) {
  597. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  598. }
  599. end;
  600.  
  601. OnMobDie:
  602. .@npc$ = instance_npcname(strnpcinfo(0));
  603. .@map$ = instance_mapname("ordeal_3-2");
  604. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  605. if (.@count <= 400) {
  606. killmonster .@map$, .@npc$+"::OnMobDie";
  607. setarray .@boss_id[0],
  608. 1090,
  609. 1091,
  610. 1250,
  611. 1299;
  612.  
  613. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  614. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  615. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  616. } else {
  617. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  618. }
  619. end;
  620.  
  621. OnBossDie:
  622. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  623. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  624. end;
  625. }
  626.  
  627. // Start Rift LV 50-60
  628. ordeal_3-2,0,0,-1 script RiftMonster#lv6 -1,{
  629. OnInit:
  630. disablenpc strnpcinfo(0);
  631. end;
  632.  
  633. OnDisable:
  634. disablenpc instance_npcname(strnpcinfo(0));
  635. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  636. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  637. end;
  638.  
  639. OnEnable:
  640. enablenpc instance_npcname(strnpcinfo(0));
  641. .@map$ = instance_mapname("ordeal_3-2");
  642. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  643. setarray .@mob_id[0], // [0-9]{4},[a-zA-Z,'\s_]+(5[0-9]|6[0-5])
  644. 1016,
  645. 1026,
  646. 1029,
  647. 1032,
  648. 1035,
  649. 1036,
  650. 1040,
  651. 1041,
  652. 1044,
  653. 1045,
  654. 1058,
  655. 1065,
  656. 1069,
  657. 1074,
  658. 1108,
  659. 1114,
  660. 1116,
  661. 1118,
  662. 1119,
  663. 1127,
  664. 1130,
  665. 1138,
  666. 1139,
  667. 1142,
  668. 1146,
  669. 1149,
  670. 1152,
  671. 1153,
  672. 1158,
  673. 1165,
  674. 1166,
  675. 1170,
  676. 1177,
  677. 1188,
  678. 1191,
  679. 1258,
  680. 1264,
  681. 1266,
  682. 1271,
  683. 1274,
  684. 1308,
  685. 1313,
  686. 1380,
  687. 1409;
  688.  
  689. // Summon
  690. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  691. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  692. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  693. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  694. for(.@i = 0; .@i < 500; .@i++) {
  695. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  696. }
  697. end;
  698.  
  699. OnMobDie:
  700. .@npc$ = instance_npcname(strnpcinfo(0));
  701. .@map$ = instance_mapname("ordeal_3-2");
  702. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  703. if (.@count <= 400) {
  704. killmonster .@map$, .@npc$+"::OnMobDie";
  705. setarray .@boss_id[0],
  706. 1096,
  707. 1262,
  708. 1299,
  709. 1388,
  710. 1582;
  711.  
  712. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  713. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  714. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  715. } else {
  716. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  717. }
  718. end;
  719.  
  720. OnBossDie:
  721. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  722. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  723. end;
  724. }
  725.  
  726. // Start Rift LV 60-70
  727. ordeal_3-2,0,0,-1 script RiftMonster#lv7 -1,{
  728. OnInit:
  729. disablenpc strnpcinfo(0);
  730. end;
  731.  
  732. OnDisable:
  733. disablenpc instance_npcname(strnpcinfo(0));
  734. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  735. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  736. end;
  737.  
  738. OnEnable:
  739. enablenpc instance_npcname(strnpcinfo(0));
  740. .@map$ = instance_mapname("ordeal_3-2");
  741. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  742. setarray .@mob_id[0],
  743. 1035,
  744. 1036,
  745. 1037,
  746. 1040,
  747. 1061,
  748. 1065,
  749. 1099,
  750. 1108,
  751. 1110,
  752. 1114,
  753. 1127,
  754. 1129,
  755. 1130,
  756. 1139,
  757. 1140,
  758. 1164,
  759. 1165,
  760. 1170,
  761. 1178,
  762. 1180,
  763. 1186,
  764. 1195,
  765. 1211,
  766. 1243,
  767. 1244,
  768. 1261,
  769. 1264,
  770. 1274,
  771. 1278,
  772. 1279,
  773. 1280,
  774. 1281,
  775. 1368,
  776. 1369,
  777. 1380,
  778. 1381,
  779. 1400,
  780. 1409,
  781. 1415;
  782.  
  783. // Summon
  784. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  785. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  786. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  787. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  788. for(.@i = 0; .@i < 500; .@i++) {
  789. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  790. }
  791. end;
  792.  
  793. OnMobDie:
  794. .@npc$ = instance_npcname(strnpcinfo(0));
  795. .@map$ = instance_mapname("ordeal_3-2");
  796. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  797. if (.@count <= 400) {
  798. killmonster .@map$, .@npc$+"::OnMobDie";
  799. setarray .@boss_id[0],
  800. 1096,
  801. 1262,
  802. 1283,
  803. 1388,
  804. 1582;
  805.  
  806. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  807. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  808. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  809. } else {
  810. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  811. }
  812. end;
  813.  
  814. OnBossDie:
  815. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  816. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  817. end;
  818. }
  819.  
  820. // Start Rift LV 70-80
  821. ordeal_3-2,0,0,-1 script RiftMonster#lv8 -1,{
  822. OnInit:
  823. disablenpc strnpcinfo(0);
  824. end;
  825.  
  826. OnDisable:
  827. disablenpc instance_npcname(strnpcinfo(0));
  828. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  829. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  830. end;
  831.  
  832. OnEnable:
  833. enablenpc instance_npcname(strnpcinfo(0));
  834. .@map$ = instance_mapname("ordeal_3-2");
  835. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  836. setarray .@mob_id[0],
  837. 1037,
  838. 1099,
  839. 1140,
  840. 1164,
  841. 1117,
  842. 1154,
  843. 1156,
  844. 1178,
  845. 1180,
  846. 1189,
  847. 1192,
  848. 1195,
  849. 1199,
  850. 1209,
  851. 1211,
  852. 1213,
  853. 1215,
  854. 1216,
  855. 1243,
  856. 1260,
  857. 1261,
  858. 1263,
  859. 1269,
  860. 1276,
  861. 1281,
  862. 1293,
  863. 1300,
  864. 1301,
  865. 1303,
  866. 1304,
  867. 1305,
  868. 1309,
  869. 1368,
  870. 1369,
  871. 1372,
  872. 1376,
  873. 1386,
  874. 1400,
  875. 1404,
  876. 1406;
  877.  
  878. // Summon
  879. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  880. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  881. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  882. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  883. for(.@i = 0; .@i < 500; .@i++) {
  884. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  885. }
  886. end;
  887.  
  888. OnMobDie:
  889. .@npc$ = instance_npcname(strnpcinfo(0));
  890. .@map$ = instance_mapname("ordeal_3-2");
  891. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  892. if (.@count <= 400) {
  893. killmonster .@map$, .@npc$+"::OnMobDie";
  894. setarray .@boss_id[0],
  895. 1096,
  896. 1283,
  897. 1289,
  898. 1307,
  899. 1388,
  900. 1582;
  901.  
  902. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  903. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  904. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  905. } else {
  906. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  907. }
  908. end;
  909.  
  910. OnBossDie:
  911. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  912. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  913. end;
  914. }
  915.  
  916. // Start Rift LV 80-90
  917. ordeal_3-2,0,0,-1 script RiftMonster#lv9 -1,{
  918. OnInit:
  919. disablenpc strnpcinfo(0);
  920. end;
  921.  
  922. OnDisable:
  923. disablenpc instance_npcname(strnpcinfo(0));
  924. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  925. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  926. end;
  927.  
  928. OnEnable:
  929. enablenpc instance_npcname(strnpcinfo(0));
  930. .@map$ = instance_mapname("ordeal_3-2");
  931. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  932. setarray .@mob_id[0],
  933. 1102,
  934. 1117,
  935. 1155,
  936. 1162,
  937. 1092,
  938. 1109,
  939. 1131,
  940. 1143,
  941. 1193,
  942. 1196,
  943. 1197,
  944. 1199,
  945. 1209,
  946. 1213,
  947. 1215,
  948. 1216,
  949. 1256,
  950. 1257,
  951. 1263,
  952. 1269,
  953. 1270,
  954. 1276,
  955. 1290,
  956. 1291,
  957. 1294,
  958. 1298,
  959. 1300,
  960. 1303,
  961. 1304,
  962. 1305,
  963. 1306,
  964. 1309,
  965. 1311,
  966. 1314,
  967. 1316,
  968. 1319,
  969. 1320,
  970. 1321,
  971. 1322,
  972. 1372,
  973. 1376,
  974. 1377,
  975. 1378,
  976. 1386,
  977. 1401,
  978. 1402,
  979. 1403,
  980. 1404,
  981. 1406,
  982. 1408,
  983. 1410,
  984. 1413,
  985. 1417;
  986.  
  987. // Summon
  988. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  989. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  990. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  991. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  992. for(.@i = 0; .@i < 500; .@i++) {
  993. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  994. }
  995. end;
  996.  
  997. OnMobDie:
  998. .@npc$ = instance_npcname(strnpcinfo(0));
  999. .@map$ = instance_mapname("ordeal_3-2");
  1000. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  1001. if (.@count <= 400) {
  1002. killmonster .@map$, .@npc$+"::OnMobDie";
  1003. setarray .@boss_id[0],
  1004. 1289,
  1005. 1307,
  1006. 1388;
  1007.  
  1008. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  1009. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  1010. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  1011. } else {
  1012. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  1013. }
  1014. end;
  1015.  
  1016. OnBossDie:
  1017. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  1018. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  1019. end;
  1020. }
  1021.  
  1022. // Start Rift LV 90-100
  1023. ordeal_3-2,0,0,-1 script RiftMonster#lv10 -1,{
  1024. OnInit:
  1025. disablenpc strnpcinfo(0);
  1026. end;
  1027.  
  1028. OnDisable:
  1029. disablenpc instance_npcname(strnpcinfo(0));
  1030. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  1031. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  1032. end;
  1033.  
  1034. OnEnable:
  1035. enablenpc instance_npcname(strnpcinfo(0));
  1036. .@map$ = instance_mapname("ordeal_3-2");
  1037. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  1038. setarray .@mob_id[0],
  1039. 1072,
  1040. 1092,
  1041. 1106,
  1042. 1109,
  1043. 1030,
  1044. 1098,
  1045. 1131,
  1046. 1143,
  1047. 1148,
  1048. 1196,
  1049. 1198,
  1050. 1201,
  1051. 1202,
  1052. 1207,
  1053. 1220,
  1054. 1253,
  1055. 1255,
  1056. 1257,
  1057. 1267,
  1058. 1270,
  1059. 1275,
  1060. 1294,
  1061. 1298,
  1062. 1314,
  1063. 1315,
  1064. 1316,
  1065. 1318,
  1066. 1319,
  1067. 1320,
  1068. 1366,
  1069. 1367,
  1070. 1371,
  1071. 1375,
  1072. 1377,
  1073. 1378,
  1074. 1382,
  1075. 1383,
  1076. 1384,
  1077. 1385,
  1078. 1387,
  1079. 1401,
  1080. 1405,
  1081. 1408,
  1082. 1410,
  1083. 1412,
  1084. 1413,
  1085. 1416,
  1086. 1417;
  1087.  
  1088. // Summon
  1089. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  1090. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  1091. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  1092. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  1093. for(.@i = 0; .@i < 500; .@i++) {
  1094. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  1095. }
  1096. end;
  1097.  
  1098. OnMobDie:
  1099. .@npc$ = instance_npcname(strnpcinfo(0));
  1100. .@map$ = instance_mapname("ordeal_3-2");
  1101. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  1102. if (.@count <= 400) {
  1103. killmonster .@map$, .@npc$+"::OnMobDie";
  1104. setarray .@boss_id[0],
  1105. 1200,
  1106. 1205,
  1107. 1259;
  1108.  
  1109. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  1110. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  1111. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  1112. } else {
  1113. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  1114. }
  1115. end;
  1116.  
  1117. OnBossDie:
  1118. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  1119. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  1120. end;
  1121. }
  1122.  
  1123. // Start Rift LV 100-110
  1124. ordeal_3-2,0,0,-1 script RiftMonster#lv11 -1,{
  1125. OnInit:
  1126. disablenpc strnpcinfo(0);
  1127. end;
  1128.  
  1129. OnDisable:
  1130. disablenpc instance_npcname(strnpcinfo(0));
  1131. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  1132. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  1133. end;
  1134.  
  1135. OnEnable:
  1136. enablenpc instance_npcname(strnpcinfo(0));
  1137. .@map$ = instance_mapname("ordeal_3-2");
  1138. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  1139. setarray .@mob_id[0],
  1140. 1030,
  1141. 1098,
  1142. 1106,
  1143. 1148,
  1144. 1163,
  1145. 1194,
  1146. 1202,
  1147. 1206,
  1148. 1207,
  1149. 1220,
  1150. 1253,
  1151. 1267,
  1152. 1275,
  1153. 1282,
  1154. 1296,
  1155. 1297,
  1156. 1310,
  1157. 1315,
  1158. 1366,
  1159. 1367,
  1160. 1371,
  1161. 1379,
  1162. 1382,
  1163. 1383,
  1164. 1384,
  1165. 1385,
  1166. 1387,
  1167. 1503,
  1168. 1504,
  1169. 1505,
  1170. 1506,
  1171. 1507,
  1172. 1508,
  1173. 1509,
  1174. 1510;
  1175.  
  1176. // Summon
  1177. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  1178. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  1179. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  1180. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  1181. for(.@i = 0; .@i < 500; .@i++) {
  1182. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  1183. }
  1184. end;
  1185.  
  1186. OnMobDie:
  1187. .@npc$ = instance_npcname(strnpcinfo(0));
  1188. .@map$ = instance_mapname("ordeal_3-2");
  1189. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  1190. if (.@count <= 400) {
  1191. killmonster .@map$, .@npc$+"::OnMobDie";
  1192. setarray .@boss_id[0],
  1193. 1200,
  1194. 1204,
  1195. 1205,
  1196. 1259;
  1197.  
  1198. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  1199. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  1200. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  1201. } else {
  1202. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  1203. }
  1204. end;
  1205.  
  1206. OnBossDie:
  1207. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  1208. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  1209. end;
  1210. }
  1211.  
  1212. // Start Rift LV 110-120
  1213. ordeal_3-2,0,0,-1 script RiftMonster#lv12 -1,{
  1214. OnInit:
  1215. disablenpc strnpcinfo(0);
  1216. end;
  1217.  
  1218. OnDisable:
  1219. disablenpc instance_npcname(strnpcinfo(0));
  1220. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  1221. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  1222. end;
  1223.  
  1224. OnEnable:
  1225. enablenpc instance_npcname(strnpcinfo(0));
  1226. .@map$ = instance_mapname("ordeal_3-2");
  1227. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  1228. setarray .@mob_id[0],
  1229. 1132,
  1230. 1163,
  1231. 1208,
  1232. 1292,
  1233. 1296,
  1234. 1297,
  1235. 1365,
  1236. 1370,
  1237. 1374,
  1238. 1390,
  1239. 1507,
  1240. 1632,
  1241. 1633,
  1242. 1668,
  1243. 1682,
  1244. 1693,
  1245. 1694,
  1246. 1695,
  1247. 1696,
  1248. 1697,
  1249. 1698,
  1250. 1699,
  1251. 1701,
  1252. 1702,
  1253. 1703,
  1254. 1721,
  1255. 1735,
  1256. 1736,
  1257. 1737,
  1258. 1771,
  1259. 1772,
  1260. 1773,
  1261. 1774,
  1262. 1777;
  1263.  
  1264. // Summon
  1265. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  1266. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  1267. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  1268. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  1269. for(.@i = 0; .@i < 500; .@i++) {
  1270. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  1271. }
  1272. end;
  1273.  
  1274. OnMobDie:
  1275. .@npc$ = instance_npcname(strnpcinfo(0));
  1276. .@map$ = instance_mapname("ordeal_3-2");
  1277. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  1278. if (.@count <= 400) {
  1279. killmonster .@map$, .@npc$+"::OnMobDie";
  1280. setarray .@boss_id[0],
  1281. 1204,
  1282. 1268,
  1283. 1295,
  1284. 1720;
  1285.  
  1286. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  1287. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  1288. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  1289. } else {
  1290. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  1291. }
  1292. end;
  1293.  
  1294. OnBossDie:
  1295. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  1296. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  1297. end;
  1298. }
  1299.  
  1300. // Start Rift LV 120-130
  1301. ordeal_3-2,0,0,-1 script RiftMonster#lv13 -1,{
  1302. OnInit:
  1303. disablenpc strnpcinfo(0);
  1304. end;
  1305.  
  1306. OnDisable:
  1307. disablenpc instance_npcname(strnpcinfo(0));
  1308. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  1309. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  1310. end;
  1311.  
  1312. OnEnable:
  1313. enablenpc instance_npcname(strnpcinfo(0));
  1314. .@map$ = instance_mapname("ordeal_3-2");
  1315. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  1316. setarray .@mob_id[0],
  1317. 1208,
  1318. 1295,
  1319. 1365,
  1320. 1374,
  1321. 1633,
  1322. 1682,
  1323. 1700,
  1324. 1701,
  1325. 1702,
  1326. 1703,
  1327. 1704,
  1328. 1705,
  1329. 1706,
  1330. 1707,
  1331. 1713,
  1332. 1714,
  1333. 1716,
  1334. 1717,
  1335. 1720,
  1336. 1752,
  1337. 1753,
  1338. 1754,
  1339. 1755,
  1340. 1769,
  1341. 1770,
  1342. 1771,
  1343. 1772,
  1344. 1773,
  1345. 1774,
  1346. 1833,
  1347. 1837,
  1348. 1838,
  1349. 1864,
  1350. 1865,
  1351. 1867,
  1352. 1869;
  1353.  
  1354. // Summon
  1355. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  1356. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  1357. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  1358. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  1359. for(.@i = 0; .@i < 500; .@i++) {
  1360. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  1361. }
  1362. end;
  1363.  
  1364. OnMobDie:
  1365. .@npc$ = instance_npcname(strnpcinfo(0));
  1366. .@map$ = instance_mapname("ordeal_3-2");
  1367. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  1368. if (.@count <= 400) {
  1369. killmonster .@map$, .@npc$+"::OnMobDie";
  1370. setarray .@boss_id[0],
  1371. 1203,
  1372. 1653,
  1373. 1654,
  1374. 1655,
  1375. 1656,
  1376. 1657,
  1377. 1720,
  1378. 1870;
  1379.  
  1380. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  1381. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  1382. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  1383. } else {
  1384. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  1385. }
  1386. end;
  1387.  
  1388. OnBossDie:
  1389. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  1390. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  1391. end;
  1392. }
  1393.  
  1394. // Start Rift LV 130+ (Torment)
  1395. ordeal_3-2,0,0,-1 script RiftMonster#lv14 -1,{
  1396. OnInit:
  1397. disablenpc strnpcinfo(0);
  1398. end;
  1399.  
  1400. OnDisable:
  1401. disablenpc instance_npcname(strnpcinfo(0));
  1402. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnMobDie";
  1403. killmonster instance_mapname("ordeal_3-2"),instance_npcname(strnpcinfo(0))+"::OnBossDie";
  1404. end;
  1405.  
  1406. OnEnable:
  1407. enablenpc instance_npcname(strnpcinfo(0));
  1408. .@map$ = instance_mapname("ordeal_3-2");
  1409. .@label$ = instance_npcname(strnpcinfo(0))+"::OnMobDie";
  1410. setarray .@mob_id[0],
  1411. 1203,
  1412. 1713,
  1413. 1716,
  1414. 1833,
  1415. 1634,
  1416. 1635,
  1417. 1637,
  1418. 1638,
  1419. 1639,
  1420. 1652,
  1421. 1653,
  1422. 1654,
  1423. 1655,
  1424. 1656,
  1425. 1657,
  1426. 1754,
  1427. 1755,
  1428. 1829,
  1429. 1830,
  1430. 1831,
  1431. 1839,
  1432. 1867,
  1433. 1870,
  1434. 2017,
  1435. 2018,
  1436. 2024,
  1437. 2085,
  1438. 2086,
  1439. 2092,
  1440. 2131,
  1441. 2132,
  1442. 2133,
  1443. 2134,
  1444. 2136,
  1445. 2137,
  1446. 2163,
  1447. 2164,
  1448. 2180,
  1449. 2181,
  1450. 2182,
  1451. 2183,
  1452. 2184,
  1453. 2185,
  1454. 2189,
  1455. 2190,
  1456. 2196,
  1457. 2221,
  1458. 2222,
  1459. 2223,
  1460. 2224,
  1461. 2225,
  1462. 2226,
  1463. 2227,
  1464. 2250,
  1465. 2252,
  1466. 2254,
  1467. 2256,
  1468. 2363,
  1469. 2364,
  1470. 2365,
  1471. 2366,
  1472. 2367,
  1473. 2368,
  1474. 2369,
  1475. 2370,
  1476. 2371;
  1477.  
  1478. // Summon
  1479. areamonster .@map$,131,168,144,155,"--ja--",.@mob_id[0],8,.@label$; //top-left
  1480. areamonster .@map$,155,167,168,155,"--ja--",.@mob_id[1],8,.@label$; //top-right
  1481. areamonster .@map$,144,155,144,131,"--ja--",.@mob_id[2],8,.@label$; //bottom-left
  1482. areamonster .@map$,155,144,168,131,"--ja--",.@mob_id[3],8,.@label$; //bottom-right
  1483. for(.@i = 0; .@i < 500; .@i++) {
  1484. monster .@map$,0,0,"--ja--",.@mob_id[rand(getarraysize(.@mob_id))],1,.@label$;
  1485. }
  1486. end;
  1487.  
  1488. OnMobDie:
  1489. .@npc$ = instance_npcname(strnpcinfo(0));
  1490. .@map$ = instance_mapname("ordeal_3-2");
  1491. .@count = mobcount(.@map$, .@npc$+"::OnMobDie");
  1492. if (.@count <= 400) {
  1493. killmonster .@map$, .@npc$+"::OnMobDie";
  1494. setarray .@boss_id[0],
  1495. 1038,
  1496. 1039,
  1497. 1046,
  1498. 1059,
  1499. 1086,
  1500. 1087,
  1501. 1096,
  1502. 1112,
  1503. 1115,
  1504. 1120,
  1505. 1147,
  1506. 1150,
  1507. 1157,
  1508. 1159,
  1509. 1190,
  1510. 1251,
  1511. 1252,
  1512. 1272,
  1513. 1312,
  1514. 1373,
  1515. 1388,
  1516. 1389,
  1517. 1418,
  1518. 1492,
  1519. 1511,
  1520. 1582,
  1521. 1583,
  1522. 1623,
  1523. 1630,
  1524. 1658,
  1525. 1685,
  1526. 1688,
  1527. 1708,
  1528. 1719,
  1529. 1734,
  1530. 1751,
  1531. 1768,
  1532. 1779,
  1533. 1785,
  1534. 1832,
  1535. 1871,
  1536. 1873,
  1537. 1885,
  1538. 2022,
  1539. 2068,
  1540. 2087;
  1541.  
  1542. .@mob_id = .@boss_id[rand(getarraysize(.@boss_id))];
  1543. monster .@map$,153,141,"--ja--",.@mob_id,1,.@npc$+"::OnBossDie",Size_Large;
  1544. mapannounce .@map$,"Boss incomming ("+ strmobinfo(1,.@mob_id) +")!!",BC_MAP,"0xFD3B02",FW_BOLD,18;
  1545. } else {
  1546. mapannounce .@map$,"("+(.@count - 400)+") Enemies left.",BC_MAP,"0x7DCBF0",FW_BOLD,16;
  1547. }
  1548. end;
  1549.  
  1550. OnBossDie:
  1551. mapannounce instance_mapname("ordeal_3-2"),"The Rift Boss is defeated!",BC_MAP,"0xFD3B02",FW_BOLD,20;
  1552. donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable";
  1553. end;
  1554. }
  1555.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement