viewing paste Unknown #20244 | Lua

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
-----------------------------------
-- Area: inSomeZone
-- NPC:  bahamut
-----------------------------------
require("scripts/globals/titles");
require("scripts/globals/status");
require("scripts/globals/magic");
require("scripts/globals/utils");
-----------------------------------
-- onMobInibahamutlize Action
-----------------------------------
 
function onMobInibahamutlize(mob)
    mob:addMod(MOD_DMGMAGIC, 40);
    mob:addMod(MOD_DMGRANGE, 40);
    mob:setMobMod(MOBMOD_MAIN_2HOUR, 1);
    mob:setMobMod(MOBMOD_DRAW_IN, 2);
    mob:setMobMod(MOBMOD_ADD_EFFECT,mob:getShortID());
    mob:setMobMod(MOBMOD_MAGIC_COOL, 25);
end;
-----------------------------------
-- onMobSpawn Action
-----------------------------------
 
function onMobSpawn(mob)
    -- setMod
    mob:setMod(MOD_REGEN, 300);
    mob:setMod(MOD_REFRESH, 250);
    mob:setMod(MOD_REGAIN, 10);
    mob:setMod(MOD_HASTE_ABILITY, 20);
    mob:setMod(MOD_UFASTCAST, 55);
    mob:setMod(MOD_MACC,2500);
    mob:setMod(MOD_ACC,2500);
    mob:setMod(MOD_MATT,115);
    mob:setMod(MOD_DOUBLE_ATTACK, 20);
    mob:setMod(MOD_FIRE_AFFINITY,5);
    mob:setMod(MOD_WIND_AFFINITY,5);
    mob:setMod(MOD_EARTH_AFFINITY,5);
    mob:setMod(MOD_SLEEPRES,100);
    mob:setMod(MOD_SILENCERES,100);
    mob:setMod(MOD_STUNRES,25);
    mob:setMod(MOD_PARALYZERES,30);
    mob:setMod(MOD_HUMANOID_KILLER, 5);
    mob:setMod(MOD_TERRORRES, 100);
end;
 
-----------------------------------
-- onMobEngage Action
-----------------------------------
 
function onMobEngage(mob, target)
    mob:delStatusEffect(EFFECT_RAGE);
end;
 
-----------------------------------
-- onMobFight Action
-----------------------------------
 
function onMobFight(mob,target)
 
    local bahamut_2hr = mob:getLocalVar("bahamut_2hr");
 
    if (mob:getBattleTime() > 5400 and mob:getLocalVar("RAGED") == 0) then
        mob:addStatusEffectEx(EFFECT_RAGE,0,1,0,0);
        mob:setLocalVar("RAGED", 1);
    end
 
    if (mob:getHPP() <= 10 and bahamut_2hr == 8) then
        mob:useMobAbility(1297); -- Teraflare
        mob:useMobAbility(438); -- Invinceible
        mob:setLocalVar("bahamut_2hr", 9);
    elseif (mob:getHPP() <= 20 and bahamut_2hr == 7) then
        mob:useMobAbility(1297); -- Gigaflare
        mob:useMobAbility(436); -- Chainspell
        mob:setLocalVar("bahamut_2hr", 8);
    elseif (mob:getHPP() <= 30 and bahamut_2hr == 6) then
        mob:useMobAbility(1297); -- Gigaflare
        mob:useMobAbility(438); -- Invinceible
        mob:setLocalVar("bahamut_2hr", 7);
    elseif (mob:getHPP() <= 40 and bahamut_2hr == 5) then
        mob:useMobAbility(1296); -- Gigaflare
        mob:useMobAbility(3009); -- Elemental_Sforzo
        mob:setLocalVar("bahamut_2hr", 6);
    elseif (mob:getHPP() <= 50 and bahamut_2hr == 4) then
        mob:useMobAbility(1296); -- Gigaflare
        mob:useMobAbility(438); -- Invinceible
        mob:setLocalVar("bahamut_2hr", 5);
    elseif (mob:getHPP() <= 60 and bahamut_2hr == 3) then
        mob:useMobAbility(1296); -- Gigaflare
        mob:useMobAbility(436); -- Chainspell
        mob:setLocalVar("bahamut_2hr", 4);
    elseif (mob:getHPP() <= 70 and bahamut_2hr == 2) then
        mob:useMobAbility(1296); -- Gigaflare
        mob:useMobAbility(438); -- Invinceible
        mob:setLocalVar("bahamut_2hr", 3);
    elseif (mob:getHPP() <= 80 and bahamut_2hr == 1) then
        mob:useMobAbility(1296); -- Gigaflare
        mob:useMobAbility(436); -- Elemental_Sforzo
        mob:setLocalVar("bahamut_2hr", 2);
    elseif (mob:getHPP() <= 90 and bahamut_2hr == 0) then
        mob:useMobAbility(1296); -- Gigaflare
        mob:useMobAbility(438); -- Invinceible
        mob:setLocalVar("bahamut_2hr", 1);
    end
end;
 
-----------------------------------
-- onSpellPrecast
-----------------------------------
 
function onSpellPrecast(mob, spell)
    if (spell:getID() == 218) then  -- AoE Meteor
        spell:setAoE(SPELLAOE_RADIAL);
        spell:setFlag(SPELLFLAG_HIT_ALL);
        spell:setRadius(30);
        spell:setAnimation(280);
        spell:setMPCost(1);
    elseif (spell:getID() == 496) then -- AoE Impact
        spell:setAoE(SPELLAOE_RADIAL);
        spell:setFlag(SPELLFLAG_HIT_ALL);
        spell:setRadius(30);
        spell:setAnimation(280);
        spell:setMPCost(1);
    end
end;
 
-----------------------------------
-- onAdditionalEffect Action
-----------------------------------
 
function onAdditionalEffect(mob,target,damage)
    if ((math.random(1,10) ~= 3) or (target:hasStatusEffect(EFFECT_CURSE_I) == true)) then
        return 0,0,0;
    else
        local duration = 10;
        target:addStatusEffect(EFFECT_CURSE_I,40,0,duration);
        return SUBEFFECT_CURSE,163,EFFECT_CURSE_I;
    end
end;
 
-----------------------------------
-- onMobDrawIn
-----------------------------------
 
function onMobDrawIn(mob, target) -- Bind / Wing on Draw In
    target:addStatusEffect(EFFECT_BIND, 1, 0, 3);
    mob:useMobAbility(1287);
    mob:addTP(100);
end;
 
-----------------------------------
-- onMobDeath
-----------------------------------
 
function onMobDeath(mob, killer)
    -- killer:addTitle(WYRM_ASTONISHER);
end;
Viewed 700 times, submitted by Guest.