Advertisement
hlmbugle

Untitled

Jul 26th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.72 KB | None | 0 0
  1. -----------------------------------
  2. -- Area: Al'Taieu
  3. -- NM: Jailer of Love
  4. -----------------------------------
  5.  
  6. require("scripts/globals/status");
  7. require("scripts/globals/magic");
  8. require("scripts/globals/effects/magic_shield");
  9. -----------------------------------
  10. -- onMobSpawn Action
  11. -----------------------------------
  12.  
  13. function onMobSpawn(mob)
  14. --setmob
  15. mob:setMod(MOD_REGEN, 500);--SBS
  16. end;
  17.  
  18. -----------------------------------
  19. -- onMobEngaged
  20. -----------------------------------
  21.  
  22. function onMobEngaged(mob, target)
  23. mob:hideName(false);
  24. mob:untargetable(false);
  25. mob:AnimationSub(6);--SBS
  26. end;
  27.  
  28. -----------------------------------
  29. -- onMobFight Action
  30. -----------------------------------
  31.  
  32. function onMobFight(mob, target)
  33. -- Only 9 Qn'xzomit and 9 Qn'hpemde can be summoned. Ru'phuabo (Sharks) are unlimited.
  34. local XZOMITS = mob:getLocalVar("JoL_Qn_xzomit_Killed");
  35. local HPEMDES = mob:getLocalVar("JoL_Qn_hpemde_Killed");
  36. local FIRE = mob:getLocalVar("FIRE_MODE");
  37. --local EARTH = mob:getLocalVar("EARTH_MODE");
  38. --local WATER = mob:getLocalVar("WATER_MODE");
  39. --local WIND = mob:getLocalVar("WIND_MODE");
  40. --local ICE = mob:getLocalVar("ICE_MODE");
  41. --local LIGHTNING = mob:getLocalVar("LIGHTNING_MODE");
  42. --local DARK = mob:getLocalVar("DARK_MODE");
  43.  
  44. -- Spell selection SBS
  45.  
  46. local lastSpell = mob:getLocalVar("last_spell");
  47.  
  48. if (os.time() - lastSpell > 40) then
  49. local SPELLSCAST = mob:getLocalVar("SPELLSCAST");
  50.  
  51. if (SPELLSCAST == 0) then
  52. local spellTimer = math.random(0,15)
  53. switch (spellTimer):caseof
  54. {
  55. [0] = function (x)
  56. --mob:castSpell(157) --Aero IV
  57. --mob:setLocalVar ("FIRE_MODE",0);
  58. --mob:setLocalVar ("EARTH_MODE",0);
  59. --mob:setLocalVar ("WATER_MODE",0);
  60. --mob:setLocalVar ("WIND_MODE",1);
  61. --mob:setLocalVar ("ICE_MODE",0);
  62. --mob:setLocalVar ("LIGHTNING_MODE",0);
  63. --mob:setLocalVar ("DARK_MODE",0);
  64. end,
  65. [1] = function (x)
  66. mob:castSpell(147) --Fire IV
  67. mob:setLocalVar ("FIRE_MODE",1)
  68. --mob:setLocalVar ("EARTH_MODE",0);
  69. --mob:setLocalVar ("WATER_MODE",0);
  70. --mob:setLocalVar ("WIND_MODE",0);
  71. --mob:setLocalVar ("ICE_MODE",0);
  72. --mob:setLocalVar ("LIGHTNING_MODE",0);
  73. --mob:setLocalVar ("DARK_MODE",0);
  74. end,
  75. [2] = function (x)
  76. --mob:castSpell(152) --Blizzard 4
  77. --mob:setLocalVar ("FIRE_MODE",0);
  78. --mob:setLocalVar ("EARTH_MODE",0);
  79. --mob:setLocalVar ("WATER_MODE",0);
  80. --mob:setLocalVar ("WIND_MODE",0);
  81. --mob:setLocalVar ("ICE_MODE",1);
  82. --mob:setLocalVar ("LIGHTNING_MODE",0);
  83. --mob:setLocalVar ("DARK_MODE",0);
  84. end,
  85. [3] = function (x)
  86. --mob:castSpell(186) --Aeroga 3
  87. --mob:setLocalVar ("FIRE_MODE",0);
  88. --mob:setLocalVar ("EARTH_MODE",0);
  89. --mob:setLocalVar ("WATER_MODE",0);
  90. --mob:setLocalVar ("WIND_MODE",1);
  91. --mob:setLocalVar ("ICE_MODE",0);
  92. --mob:setLocalVar ("LIGHTNING_MODE",0);
  93. --mob:setLocalVar ("DARK_MODE",0);
  94. end,
  95. [4] = function (x)
  96. mob:castSpell(176) --Firaga 3
  97. mob:setLocalVar ("FIRE_MODE",1)
  98. --mob:setLocalVar ("EARTH_MODE",0);
  99. --mob:setLocalVar ("WATER_MODE",0);
  100. --mob:setLocalVar ("WIND_MODE",0);
  101. --mob:setLocalVar ("ICE_MODE",0);
  102. --mob:setLocalVar ("LIGHTNING_MODE",0);
  103. --mob:setLocalVar ("DARK_MODE",0);
  104. end,
  105. [5] = function (x)
  106. --mob:castSpell(181) --Blizzaga 3
  107. --mob:setLocalVar ("FIRE_MODE",0);
  108. --mob:setLocalVar ("EARTH_MODE",0);
  109. --mob:setLocalVar ("WATER_MODE",0);
  110. --mob:setLocalVar ("WIND_MODE",0);
  111. --mob:setLocalVar ("ICE_MODE",1);
  112. --mob:setLocalVar ("LIGHTNING_MODE",0);
  113. --mob:setLocalVar ("DARK_MODE",0);
  114. end,
  115. [6] = function (x)
  116. --mob:castSpell(167) --Thunder 4
  117. --mob:setLocalVar ("FIRE_MODE",0);
  118. --mob:setLocalVar ("EARTH_MODE",0);
  119. --mob:setLocalVar ("WATER_MODE",0);
  120. --mob:setLocalVar ("WIND_MODE",0);
  121. --mob:setLocalVar ("ICE_MODE",0);
  122. --mob:setLocalVar ("LIGHTNING_MODE",1);
  123. --mob:setLocalVar ("DARK_MODE",0);
  124. end,
  125. [7] = function (x)
  126. --mob:castSpell(196) --Thundaga 3
  127. --mob:setLocalVar ("FIRE_MODE",0);
  128. --mob:setLocalVar ("EARTH_MODE",0);
  129. --mob:setLocalVar ("WATER_MODE",0);
  130. --mob:setLocalVar ("WIND_MODE",0);
  131. --mob:setLocalVar ("ICE_MODE",0);
  132. --mob:setLocalVar ("LIGHTNING_MODE",1);
  133. --mob:setLocalVar ("DARK_MODE",0);
  134. end,
  135. [8] = function (x)
  136. --mob:castSpell(172) --Water 4
  137. --mob:setLocalVar ("FIRE_MODE",0);
  138. --mob:setLocalVar ("EARTH_MODE",0);
  139. --mob:setLocalVar ("WATER_MODE",1);
  140. --mob:setLocalVar ("WIND_MODE",0);
  141. --mob:setLocalVar ("ICE_MODE",0);
  142. --mob:setLocalVar ("LIGHTNING_MODE",0);
  143. --mob:setLocalVar ("DARK_MODE",0);
  144. end,
  145. [9] = function (x)
  146. --mob:castSpell(201) --Waterga 3
  147. --mob:setLocalVar ("FIRE_MODE",0);
  148. --mob:setLocalVar ("EARTH_MODE",0);
  149. --mob:setLocalVar ("WATER_MODE",1);
  150. --mob:setLocalVar ("WIND_MODE",0);
  151. --mob:setLocalVar ("ICE_MODE",0);
  152. --mob:setLocalVar ("LIGHTNING_MODE",0);
  153. --mob:setLocalVar ("DARK_MODE",0);
  154. end,
  155. [10] = function(x)
  156. --mob:castSpell(162) --Stone 4
  157. --mob:setLocalVar ("FIRE_MODE",0);
  158. --mob:setLocalVar ("EARTH_MODE",1);
  159. --mob:setLocalVar ("WATER_MODE",0);
  160. --mob:setLocalVar ("WIND_MODE",0);
  161. --mob:setLocalVar ("ICE_MODE",0);
  162. --mob:setLocalVar ("LIGHTNING_MODE",0);
  163. --mob:setLocalVar ("DARK_MODE",0);
  164. end,
  165. [11] = function(x)
  166. --mob:castSpell(191) --Stonega3
  167. --mob:setLocalVar ("FIRE_MODE",0);
  168. --mob:setLocalVar ("EARTH_MODE",1);
  169. --mob:setLocalVar ("WATER_MODE",0);
  170. --mob:setLocalVar ("WIND_MODE",0);
  171. --mob:setLocalVar ("ICE_MODE",0);
  172. --mob:setLocalVar ("LIGHTNING_MODE",0);
  173. --mob:setLocalVar ("DARK_MODE",0);
  174. end,
  175. [12] = function(x)
  176. --mob:castSpell(362) --Bindga 2
  177. --mob:setLocalVar ("FIRE_MODE",0);
  178. --mob:setLocalVar ("EARTH_MODE",0);
  179. --mob:setLocalVar ("WATER_MODE",0);
  180. --mob:setLocalVar ("WIND_MODE",0);
  181. --mob:setLocalVar ("ICE_MODE",1);
  182. --mob:setLocalVar ("LIGHTNING_MODE",0);
  183. --mob:setLocalVar ("DARK_MODE",0);
  184. end,
  185. -13] = function(x)
  186. --mob:castSpell(366) --Graviga
  187. --mob:setLocalVar ("FIRE_MODE",0);
  188. --mob:setLocalVar ("EARTH_MODE",0);
  189. --mob:setLocalVar ("WATER_MODE",0);
  190. --mob:setLocalVar ("WIND_MODE",1);
  191. --mob:setLocalVar ("ICE_MODE",0);
  192. --mob:setLocalVar ("LIGHTNING_MODE",0);
  193. --mob:setLocalVar ("DARK_MODE",0);
  194. end,
  195. [14] = function(x)
  196. --mob:castSpell(360) --Dispelga
  197. --mob:setLocalVar ("FIRE_MODE",0);
  198. --mob:setLocalVar ("EARTH_MODE",0);
  199. --mob:setLocalVar ("WATER_MODE",0);
  200. --mob:setLocalVar ("WIND_MODE",0);
  201. --mob:setLocalVar ("ICE_MODE",0);
  202. --mob:setLocalVar ("LIGHTNING_MODE",0);
  203. --mob:setLocalVar ("DARK_MODE",1);
  204. end,
  205. -15] = function(x)
  206. --mob:castSpell(274) --Sleepga 2
  207. --mob:setLocalVar ("FIRE_MODE",0);
  208. --mob:setLocalVar ("EARTH_MODE",0);
  209. --mob:setLocalVar ("WATER_MODE",0);
  210. --mob:setLocalVar ("WIND_MODE",0);
  211. --mob:setLocalVar ("ICE_MODE",0);
  212. --mob:setLocalVar ("LIGHTNING_MODE",0);
  213. --mob:setLocalVar ("DARK_MODE",1);
  214. end,
  215. }
  216.  
  217.  
  218. mob:setLocalVar("last_spell", os.time());
  219. mob:setLocalVar("SPELLSCAST", 1);
  220.  
  221. elseif (SPELLSCAST >= 1) then
  222. mob:setLocalVar("SPELLSCAST", 0);
  223. end
  224. end
  225.  
  226. ---------------------------------------------------------------------
  227.  
  228. -- Increment these by 1 each time they are slain, in that mobs onMobDeath() script.
  229. if (mob:getLocalVar("JoL_Regen_Reduction") == 0) then
  230. if (mob:getLocalVar("JoL_Qn_xzomit_Killed") == 9
  231. and mob:getLocalVar("JoL_Qn_hpemde_Killed") == 9) then
  232. mob:setLocalVar("JoL_Regen_Reduction", 1);
  233. end
  234. end
  235. if (mob:getLocalVar("JoL_Regen_Reduction") == 1) then --SBS
  236. mob:setMod(MOD_REGEN, 100);
  237. end
  238.  
  239. local lastPop = mob:getLocalVar("pop_pets");
  240. if (os.time() - lastPop > 150) then
  241. local SPAWNS = mob:getLocalVar("SPAWNS");
  242. local phuabo1 = GetMobAction(16912849);
  243. local phuabo2 = GetMobAction(16912852);
  244. local phuabo3 = GetMobAction(16912855);
  245.  
  246. if (SPAWNS == 0) then -- Spawns first 3 xzomit
  247. SpawnMob(16912858, 300):updateEnmity(target);
  248. SpawnMob(16912859, 300):updateEnmity(target);
  249. SpawnMob(16912860, 300):updateEnmity(target);
  250. mob:setLocalVar("pop_pets", os.time());
  251. mob:setLocalVar("SPAWNS", 1);
  252. elseif (SPAWNS == 1) then -- spawns first 3 hpemde
  253. SpawnMob(16912867, 300):updateEnmity(target);
  254. SpawnMob(16912868, 300):updateEnmity(target);
  255. SpawnMob(16912869, 300):updateEnmity(target);
  256. mob:setLocalVar("pop_pets", os.time());
  257. mob:setLocalVar("SPAWNS", 2);
  258. mob:setLocalVar("JoL_Qn_xzomit_Killed", 3);--SBS
  259. elseif (SPAWNS == 2) then -- spawns first 3 phuabo
  260. SpawnMob(16912849, 300):updateEnmity(target);
  261. SpawnMob(16912850, 300):updateEnmity(target);
  262. SpawnMob(16912851, 300):updateEnmity(target);
  263. mob:setLocalVar("pop_pets", os.time());
  264. mob:setLocalVar("SPAWNS", 3);
  265. mob:setLocalVar("JoL_Qn_hpemde_Killed", 3);
  266. elseif (SPAWNS == 3) then -- Spawns second 3 xzomit
  267. SpawnMob(16912861, 300):updateEnmity(target);
  268. SpawnMob(16912862, 300):updateEnmity(target);
  269. SpawnMob(16912863, 300):updateEnmity(target);
  270. mob:setLocalVar("pop_pets", os.time());
  271. mob:setLocalVar("SPAWNS", 4);
  272. elseif (SPAWNS == 4) then -- spawns second 3 hpemde
  273. SpawnMob(16912870, 300):updateEnmity(target);
  274. SpawnMob(16912871, 300):updateEnmity(target);
  275. SpawnMob(16912872, 300):updateEnmity(target);
  276. mob:setLocalVar("pop_pets", os.time());
  277. mob:setLocalVar("SPAWNS", 5);
  278. mob:setLocalVar("JoL_Qn_xzomit_Killed", 6);
  279. elseif (SPAWNS == 5) then -- spawns second 3 phuabo
  280. SpawnMob(16912852, 300):updateEnmity(target);
  281. SpawnMob(16912853, 300):updateEnmity(target);
  282. SpawnMob(16912854, 300):updateEnmity(target);
  283. mob:setLocalVar("pop_pets", os.time());
  284. mob:setLocalVar("SPAWNS", 6);
  285. mob:setLocalVar("JoL_Qn_hpemde_Killed", 6);
  286. elseif (SPAWNS == 6) then -- Spawns last 3 xzomit
  287. SpawnMob(16912864, 300):updateEnmity(target);
  288. SpawnMob(16912865, 300):updateEnmity(target);
  289. SpawnMob(16912866, 300):updateEnmity(target);
  290. mob:setLocalVar("pop_pets", os.time());
  291. mob:setLocalVar("SPAWNS", 7);
  292. elseif (SPAWNS == 7) then -- spawns last 3 hpemde
  293. SpawnMob(16912873, 300):updateEnmity(target);
  294. SpawnMob(16912874, 300):updateEnmity(target);
  295. SpawnMob(16912875, 300):updateEnmity(target);
  296. mob:setLocalVar("pop_pets", os.time());
  297. mob:setLocalVar("SPAWNS", 8);
  298. mob:setLocalVar("JoL_Qn_xzomit_Killed", 9);
  299. elseif (SPAWNS >= 8) then -- switch to ONLY popping phuabo (still up to 3 at a time)
  300. if (phuabo1 == ACTION_NONE or phuabo1 == ACTION_SPAWN) then
  301. SpawnMob(16912849, 300):updateEnmity(target);
  302. SpawnMob(16912850, 300):updateEnmity(target);
  303. SpawnMob(16912851, 300):updateEnmity(target);
  304. mob:setLocalVar("pop_pets", os.time());
  305. mob:setLocalVar("JoL_Qn_hpemde_Killed", 9);
  306. elseif (phuabo2 == ACTION_NONE or phuabo2 == ACTION_SPAWN) then
  307. SpawnMob(16912852, 300):updateEnmity(target);
  308. SpawnMob(16912853, 300):updateEnmity(target);
  309. SpawnMob(16912854, 300):updateEnmity(target);
  310. mob:setLocalVar("pop_pets", os.time());
  311. elseif (phuabo3 == ACTION_NONE or phuabo3 == ACTION_SPAWN) then
  312. SpawnMob(16912855, 300):updateEnmity(target);
  313. SpawnMob(16912856, 300):updateEnmity(target);
  314. SpawnMob(16912857, 300):updateEnmity(target);
  315. mob:setLocalVar("pop_pets", os.time());
  316. end
  317. end
  318. end
  319. end;
  320.  
  321. -----------------------------------
  322. -- onMagicHit
  323. -----------------------------------
  324. function onMagicHit (caster, target, spell)
  325. if (FIRE == 1) then
  326. mob:addMod(MOD_FIRE_ABSORB, 100)
  327. --mob:addMod(MOD_EARTH_ABSORB, 0);
  328. --mob:addMod(MOD_WIND_ABSORB, 0);
  329. --mob:addMod(MOD_WATER_ABSORB, 0);
  330. --mob:addMod(MOD_ICE_ABSORB, 0);
  331. --mob:addMod(MOD_LIGHTNING_ABSORB, 0);
  332. --mob:addMod(MOD_DARK_ABSORB, 0);
  333. --elseif (EARTH == 1) then
  334. --mob:addMod(MOD_FIRE_ABSORB, 0);
  335. --mob:addMod(MOD_EARTH_ABSORB, 100);
  336. --mob:addMod(MOD_WIND_ABSORB, 0);
  337. --mob:addMod(MOD_WATER_ABSORB, 0);
  338. --mob:addMod(MOD_ICE_ABSORB, 0);
  339. --mob:addMod(MOD_LIGHTNING_ABSORB, 0);
  340. --mob:addMod(MOD_DARK_ABSORB, 0);
  341. --elseif (WIND == 1) then
  342. --mob:addMod(MOD_FIRE_ABSORB, 0);
  343. --mob:addMod(MOD_EARTH_ABSORB, 0);
  344. --mob:addMod(MOD_WIND_ABSORB, 100);
  345. --mob:addMod(MOD_WATER_ABSORB, 0);
  346. --mob:addMod(MOD_ICE_ABSORB, 0);
  347. --mob:addMod(MOD_LIGHTNING_ABSORB, 0);
  348. --mob:addMod(MOD_DARK_ABSORB, 0);
  349. --elseif (WATER == 1) then
  350. --mob:addMod(MOD_FIRE_ABSORB, 0);
  351. --mob:addMod(MOD_EARTH_ABSORB, 0);
  352. --mob:addMod(MOD_WIND_ABSORB, 0);
  353. --mob:addMod(MOD_WATER_ABSORB, 100);
  354. --mob:addMod(MOD_ICE_ABSORB, 0);
  355. --mob:addMod(MOD_LIGHTNING_ABSORB, 0);
  356. --mob:addMod(MOD_DARK_ABSORB, 0);
  357. --elseif (ICE == 1) then
  358. --mob:addMod(MOD_FIRE_ABSORB, 0);
  359. --mob:addMod(MOD_EARTH_ABSORB, 0);
  360. --mob:addMod(MOD_WIND_ABSORB, 0);
  361. --mob:addMod(MOD_WATER_ABSORB, 0);
  362. --mob:addMod(MOD_ICE_ABSORB, 100);
  363. --mob:addMod(MOD_LIGHTNING_ABSORB, 0);
  364. --mob:addMod(MOD_DARK_ABSORB, 0);
  365. --elseif (LIGHTNING == 1) then
  366. --mob:addMod(MOD_FIRE_ABSORB, 0);
  367. --mob:addMod(MOD_EARTH_ABSORB, 0);
  368. --mob:addMod(MOD_WIND_ABSORB, 0);
  369. --mob:addMod(MOD_WATER_ABSORB, 0);
  370. --mob:addMod(MOD_ICE_ABSORB, 0);
  371. --mob:addMod(MOD_LIGHTNING_ABSORB, 100);
  372. --mob:addMod(MOD_DARK_ABSORB, 0);
  373. --elseif (DARK == 1) then
  374. --mob:addMod(MOD_FIRE_ABSORB, 0);
  375. --mob:addMod(MOD_EARTH_ABSORB, 0);
  376. --mob:addMod(MOD_WIND_ABSORB, 0);
  377. --mob:addMod(MOD_WATER_ABSORB, 0);
  378. --mob:addMod(MOD_ICE_ABSORB, 0);
  379. --mob:addMod(MOD_LIGHTNING_ABSORB, 0);
  380. --mob:addMod(MOD_DARK_ABSORB, 100);
  381. end
  382. end;
  383.  
  384. -----------------------------------
  385. -- onMobDespawn
  386. -----------------------------------
  387.  
  388. function onMobDespawn(mob)
  389. local AV_CHANCE = 100; --set back to 25 after testing JoL mobs killed variables/regen effects on AV
  390. if (AV_CHANCE > math.random(0,99)) then
  391. SpawnMob(16912876, 180);
  392. end
  393. end;
  394.  
  395. -----------------------------------
  396. -- onMobDeath
  397. -----------------------------------
  398.  
  399. function onMobDeath(mob, player, isKiller)
  400. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement