summaryrefslogtreecommitdiff
path: root/world/map/npc/magic/level2-rain.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/magic/level2-rain.txt')
-rw-r--r--world/map/npc/magic/level2-rain.txt9
1 files changed, 5 insertions, 4 deletions
diff --git a/world/map/npc/magic/level2-rain.txt b/world/map/npc/magic/level2-rain.txt
index 2d13cc8d..d3718170 100644
--- a/world/map/npc/magic/level2-rain.txt
+++ b/world/map/npc/magic/level2-rain.txt
@@ -4,7 +4,7 @@
end;
OnCast:
- if(call("magic_checks")) end; // << I wish we had functions that could return >>
+ if(call("magic_checks")) end;
if (getskilllv(.school) < .level) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
if (Sp < 17) end;
@@ -14,7 +14,8 @@ OnCast:
if (getskilllv(.school) < 4 && countitem("BottleOfWater") >= 1) delitem "BottleOfWater", 1;
elif (getskilllv(.school) < 4) end;
set Sp, Sp - 17;
- set MAGIC_CAST_TICK, gettimetick(2) + 3; // set the new debuff
+ set @_M_BLOCK, 1; // block casting, until the timer clears it
+ addtimer 3000, "Magic Timer::OnClear"; // set the new debuff
callfunc "adjust_spellpower";
set @krad, min(.max_radius,(min(@spellpower,200)/30)+3); // kaflosh radius
@@ -74,7 +75,7 @@ OnLaunch:
S_Launch:
npcareawarp .initial_x - .radius, .initial_y - .radius, .initial_x + .radius, .initial_y + .radius, 0, strnpcinfo(0);
misceffect FX_RAIN;
- foreach 3, strnpcinfo(3), getnpcx()-1, getnpcy()-1, getnpcx()+1, getnpcy()+1, strnpcinfo(0) + "::OnHit";
+ foreach 2, strnpcinfo(3), getnpcx()-1, getnpcy()-1, getnpcx()+1, getnpcy()+1, strnpcinfo(0) + "::OnHit";
set .launch, .launch + 1;
if(.launch < .max_launch) goto S_Launch;
return;
@@ -84,7 +85,7 @@ OnHit:
if(getmap() != strnpcinfo(3)) destroy; // destroy if caster left the map
if(target(.caster, @target_id, 16) != 16 && .caster != @target_id) end;
if((get(BL_TYPE, @target_id) & 1) == 0) end; // either mob or pc
- if(elttype(@target_id) == ELT_FIRE)
+ if(get(ELTTYPE, @target_id) == ELT_FIRE)
injure .caster, @target_id, rand((@spellpower/15)+5)+2;
end;