Advertisement
hlmbugle

Untitled

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