Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -----------------------------------
- -- Area: Al'Taieu
- -- NM: Jailer of Love
- -----------------------------------
- require("scripts/globals/status");
- require("scripts/globals/magic");
- -----------------------------------
- -- onMobSpawn Action
- -----------------------------------
- function onMobSpawn(mob)
- --setmob
- mob:setMod(MOD_REGEN, 500);--SBS
- end;
- -----------------------------------
- -- onMobEngaged
- -----------------------------------
- function onMobEngaged(mob, target)
- mob:hideName(false);
- mob:untargetable(false);
- mob:AnimationSub(6);--SBS
- end;
- -----------------------------------
- -- onMobFight Action
- -----------------------------------
- function onMobFight(mob, target)
- -- Only 9 Qn'xzomit and 9 Qn'hpemde can be summoned. Ru'phuabo (Sharks) are unlimited.
- local XZOMITS = mob:getLocalVar("JoL_Qn_xzomit_Killed");
- local HPEMDES = mob:getLocalVar("JoL_Qn_hpemde_Killed");
- -- Spell selection SBS
- local lastSpell = mob:getLocalVar("last_spell");
- if (os.time() - lastSpell > 20) then
- local SPELLSCAST = mob:getLocalVar("SPELLSCAST");
- if (SPELLSCAST == 0) then
- local spellTimer = math.random(1,15)
- switch (spellTimer):caseof
- {
- [0] = function (x)
- mob:castSpell(157) --Aero IV
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 100);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [1] = function (x)
- mob:castSpell(147) --Fire IV
- mob:setMod(MOD_FIRE_ABSORB, 100);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [2] = function (x)
- mob:castSpell(152) --Blizzard 4
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 100);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [3] = function (x)
- mob:castSpell(186) --Aeroga 3
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 100);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [4] = function (x)
- mob:castSpell(176) --Firaga 3
- mob:setMod(MOD_FIRE_ABSORB, 100);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [5] = function (x)
- mob:castSpell(181) --Blizzaga 3
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 100);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [6] = function (x)
- mob:castSpell(167) --Thunder 4
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 100);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [7] = function (x)
- mob:castSpell(196) --Thundaga 3
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 100);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [8] = function (x)
- mob:castSpell(172) --Water 4
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 100);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [9] = function (x)
- mob:castSpell(201) --Waterga 3
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 100);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [10] = function(x)
- mob:castSpell(162) --Stone 4
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 100);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [11] = function(x)
- mob:castSpell(191) --Stonega3
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 100);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [12] = function(x)
- mob:castSpell(362) --Bindga 2
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 100);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [13] = function(x)
- mob:castSpell(366) --Graviga
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 100);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 0);
- end,
- [14] = function(x)
- mob:castSpell(360) --Dispelga
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 100);
- end,
- [15] = function(x)
- mob:castSpell(274) --Sleepga 2
- mob:setMod(MOD_FIRE_ABSORB, 0);
- mob:setMod(MOD_EARTH_ABSORB, 0);
- mob:setMod(MOD_WIND_ABSORB, 0);
- mob:setMod(MOD_WATER_ABSORB, 0);
- mob:setMod(MOD_ICE_ABSORB, 0);
- mob:setMod(MOD_LTNG_ABSORB, 0);
- mob:setMod(MOD_DARK_ABSORB, 100);
- end,
- }
- mob:setLocalVar("last_spell", os.time());
- mob:setLocalVar("SPELLSCAST", 1);
- elseif (SPELLSCAST >= 1) then
- mob:setLocalVar("SPELLSCAST", 0);
- end
- end
- ---------------------------------------------------------------------
- -- Increment these by 1 each time they are slain, in that mobs onMobDeath() script.
- if (mob:getLocalVar("JoL_Regen_Reduction") == 0) then
- if (mob:getLocalVar("JoL_Qn_xzomit_Killed") == 9
- and mob:getLocalVar("JoL_Qn_hpemde_Killed") == 9) then
- mob:setLocalVar("JoL_Regen_Reduction", 1);
- end
- end
- if (mob:getLocalVar("JoL_Regen_Reduction") == 1) then --SBS
- mob:setMod(MOD_REGEN, 100);
- end
- local lastPop = mob:getLocalVar("pop_pets");
- if (os.time() - lastPop > 150) then
- local SPAWNS = mob:getLocalVar("SPAWNS");
- local phuabo1 = GetMobAction(16912849);
- local phuabo2 = GetMobAction(16912852);
- local phuabo3 = GetMobAction(16912855);
- if (SPAWNS == 0) then -- Spawns first 3 xzomit
- SpawnMob(16912858, 300):updateEnmity(target);
- SpawnMob(16912859, 300):updateEnmity(target);
- SpawnMob(16912860, 300):updateEnmity(target);
- mob:setLocalVar("pop_pets", os.time());
- mob:setLocalVar("SPAWNS", 1);
- elseif (SPAWNS == 1) then -- spawns first 3 hpemde
- SpawnMob(16912867, 300):updateEnmity(target);
- SpawnMob(16912868, 300):updateEnmity(target);
- SpawnMob(16912869, 300):updateEnmity(target);
- mob:setLocalVar("pop_pets", os.time());
- mob:setLocalVar("SPAWNS", 2);
- mob:setLocalVar("JoL_Qn_xzomit_Killed", 3);--SBS
- elseif (SPAWNS == 2) then -- spawns first 3 phuabo
- SpawnMob(16912849, 300):updateEnmity(target);
- SpawnMob(16912850, 300):updateEnmity(target);
- SpawnMob(16912851, 300):updateEnmity(target);
- mob:setLocalVar("pop_pets", os.time());
- mob:setLocalVar("SPAWNS", 3);
- mob:setLocalVar("JoL_Qn_hpemde_Killed", 3);
- elseif (SPAWNS == 3) then -- Spawns second 3 xzomit
- SpawnMob(16912861, 300):updateEnmity(target);
- SpawnMob(16912862, 300):updateEnmity(target);
- SpawnMob(16912863, 300):updateEnmity(target);
- mob:setLocalVar("pop_pets", os.time());
- mob:setLocalVar("SPAWNS", 4);
- elseif (SPAWNS == 4) then -- spawns second 3 hpemde
- SpawnMob(16912870, 300):updateEnmity(target);
- SpawnMob(16912871, 300):updateEnmity(target);
- SpawnMob(16912872, 300):updateEnmity(target);
- mob:setLocalVar("pop_pets", os.time());
- mob:setLocalVar("SPAWNS", 5);
- mob:setLocalVar("JoL_Qn_xzomit_Killed", 6);
- elseif (SPAWNS == 5) then -- spawns second 3 phuabo
- SpawnMob(16912852, 300):updateEnmity(target);
- SpawnMob(16912853, 300):updateEnmity(target);
- SpawnMob(16912854, 300):updateEnmity(target);
- mob:setLocalVar("pop_pets", os.time());
- mob:setLocalVar("SPAWNS", 6);
- mob:setLocalVar("JoL_Qn_hpemde_Killed", 6);
- elseif (SPAWNS == 6) then -- Spawns last 3 xzomit
- SpawnMob(16912864, 300):updateEnmity(target);
- SpawnMob(16912865, 300):updateEnmity(target);
- SpawnMob(16912866, 300):updateEnmity(target);
- mob:setLocalVar("pop_pets", os.time());
- mob:setLocalVar("SPAWNS", 7);
- elseif (SPAWNS == 7) then -- spawns last 3 hpemde
- SpawnMob(16912873, 300):updateEnmity(target);
- SpawnMob(16912874, 300):updateEnmity(target);
- SpawnMob(16912875, 300):updateEnmity(target);
- mob:setLocalVar("pop_pets", os.time());
- mob:setLocalVar("SPAWNS", 8);
- mob:setLocalVar("JoL_Qn_xzomit_Killed", 9);
- elseif (SPAWNS >= 8) then -- switch to ONLY popping phuabo (still up to 3 at a time)
- if (phuabo1 == ACTION_NONE or phuabo1 == ACTION_SPAWN) then
- SpawnMob(16912849, 300):updateEnmity(target);
- SpawnMob(16912850, 300):updateEnmity(target);
- SpawnMob(16912851, 300):updateEnmity(target);
- mob:setLocalVar("pop_pets", os.time());
- mob:setLocalVar("JoL_Qn_hpemde_Killed", 9);
- elseif (phuabo2 == ACTION_NONE or phuabo2 == ACTION_SPAWN) then
- SpawnMob(16912852, 300):updateEnmity(target);
- SpawnMob(16912853, 300):updateEnmity(target);
- SpawnMob(16912854, 300):updateEnmity(target);
- mob:setLocalVar("pop_pets", os.time());
- elseif (phuabo3 == ACTION_NONE or phuabo3 == ACTION_SPAWN) then
- SpawnMob(16912855, 300):updateEnmity(target);
- SpawnMob(16912856, 300):updateEnmity(target);
- SpawnMob(16912857, 300):updateEnmity(target);
- mob:setLocalVar("pop_pets", os.time());
- end
- end
- end
- end;
- -----------------------------------
- -- onMobDespawn
- -----------------------------------
- function onMobDespawn(mob)
- local AV_CHANCE = 100; --set back to 25 after testing JoL mobs killed variables/regen effects on AV
- if (AV_CHANCE > math.random(0,99)) then
- SpawnMob(16912876, 180);
- end
- end;
- -----------------------------------
- -- onMobDeath
- -----------------------------------
- function onMobDeath(mob, player, isKiller)
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement