Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2015
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -----------------------------------
  2. -- Area: West Sarutabaruta (S)
  3. --   NM: Ramponneau
  4. -----------------------------------
  5.  
  6. require("scripts/globals/status");
  7. require("scripts/globals/magic");
  8.  
  9. -----------------------------------
  10. -- onMobInitialize Action
  11. -----------------------------------
  12.  
  13. function onMobInitialize(mob)
  14.     mob:setMobMod(MOBMOD_ADD_EFFECT, mob:getShortID());
  15.     mob:setMobMod(MOBMOD_AUTO_SPIKES, mob:getShortID());
  16.     mob:addStatusEffect(EFFECT_SHOCK_SPIKES, 5, 0, 0);
  17.     mob:getStatusEffect(EFFECT_SHOCK_SPIKES):setFlag(32);
  18. end;
  19.  
  20. -----------------------------------
  21. -- onMobFight Action
  22. -----------------------------------
  23.  
  24. function onMobFight(mob,target)
  25.     mob:SetMobAbilityEnabled(false); -- not currently working
  26.     mob:setTP(0);  -- temp until above is fixed
  27. end;
  28.  
  29. -----------------------------------
  30. -- onAdditionalEffect Action
  31. -----------------------------------
  32.  
  33. function onAdditionalEffect(mob,target,damage)
  34.     local power = math.random(4,15);
  35.     local params = {};
  36.     params.bonusmab = 0;
  37.     params.includemab = false;
  38.     power = addBonusesAbility(mob, ELE_ICE, target, power, params);
  39.     power = power * applyResistanceAddEffect(mob, target, ELE_ICE, 0);
  40.     power = adjustForTarget(target, power, ELE_ICE);
  41.     power = finalMagicNonSpellAdjustments(mob, target, ELE_ICE, power);
  42.  
  43.     local message = MSGBASIC_ADD_EFFECT_DMG;
  44.     if (power < 0) then
  45.         message = MSGBASIC_ADD_EFFECT_HEAL;
  46.     end
  47.  
  48.     return SUBEFFECT_ICE_DAMAGE, message, power;
  49. end;
  50.  
  51. -----------------------------------
  52. -- onSpikesDamage
  53. -----------------------------------
  54.  
  55. function onSpikesDamage(mob,target,damage)
  56.     local INT_diff = mob:getStat(MOD_INT) - target:getStat(MOD_INT);
  57.  
  58.     if (INT_diff > 20) then
  59.         INT_diff = 20 + (INT_diff -20) /2;
  60.     end
  61.  
  62.     target:PrintToPlayer(string.format("base: %u", damage));
  63.     target:PrintToPlayer(string.format("INT_diff: %u", INT_diff));
  64.  
  65.     local dmg = damage + INT_dif /2;
  66.     local params = {};
  67.     params.bonusmab = 0;
  68.     params.includemab = false;
  69.     dmg = addBonusesAbility(mob, ELE_THUNDER, target, dmg, params);
  70.     target:PrintToPlayer(string.format("dmg after addBonusesAbility: %u", dmg));
  71.  
  72.     -- dmg = dmg * applyResistanceAddEffect(mob, target, ELE_THUNDER, 0);
  73.     -- target:PrintToPlayer(string.format("dmg after resist mod: %u", dmg));
  74.  
  75.     dmg = adjustForTarget(target, dmg, ELE_THUNDER);
  76.     target:PrintToPlayer(string.format("dmg after adjustForTarget: %u", dmg));
  77.  
  78.     dmg = finalMagicNonSpellAdjustments(mob, target, ELE_THUNDER, dmg);
  79.     target:PrintToPlayer(string.format("final dmg: %u", dmg));
  80.  
  81.     if (dmg < 0) then
  82.         dmg = 0;
  83.     end
  84.  
  85.     return SUBEFFECT_SHOCK_SPIKES, 44, dmg ;
  86. end;
  87.  
  88. -----------------------------------
  89. -- onMobDeath
  90. -----------------------------------
  91.  
  92. function onMobDeath(mob,killer)
  93.  
  94.     -- Set Ramponneau's Window Open Time
  95.     local wait = 5400 -- 90 minutes
  96.     SetServerVariable("[POP]Ramponneau", os.time(t) + wait );
  97.     DeterMob(mob:getID(), true);
  98.  
  99.     -- Set PH back to normal, then set to respawn spawn
  100.     local PH = GetServerVariable("[PH]Ramponneau");
  101.     SetServerVariable("[PH]Ramponneau", 0);
  102.     DeterMob(PH, false);
  103.     GetMobByID(PH):setRespawnTime(GetMobRespawnTime(PH));
  104.  
  105. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement