Advertisement
hlmbugle

Untitled

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