Advertisement
hlmbugle

Untitled

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