Advertisement
hlmbugle

Untitled

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