summaryrefslogtreecommitdiff
path: root/world/map/npc/magic/level2-arrow-hail.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/magic/level2-arrow-hail.txt')
-rw-r--r--world/map/npc/magic/level2-arrow-hail.txt19
1 files changed, 15 insertions, 4 deletions
diff --git a/world/map/npc/magic/level2-arrow-hail.txt b/world/map/npc/magic/level2-arrow-hail.txt
index 4ebcba85..1a6d61b9 100644
--- a/world/map/npc/magic/level2-arrow-hail.txt
+++ b/world/map/npc/magic/level2-arrow-hail.txt
@@ -15,7 +15,7 @@ OnCast:
elif (countitem("IronArrow") >= 20 && countitem("SulphurPowder") >= 1) goto L_Continue;
else end;
goto L_Continue;
-
+
L_Continue:
if (getmap() == "033-1") goto L_SpecialRules6;
goto L_Pay;
@@ -27,6 +27,8 @@ L_Pay:
set Sp, Sp - 25;
set @_M_BLOCK, 1; // block casting, until the timer clears it
addtimer 5000, "Magic Timer::OnClear"; // set the new debuff
+ sc_start SC_COOLDOWN, 5000, 0, BL_ID;
+ sc_start SC_COOLDOWN_AR, 30000, 0, BL_ID; // Set it to lenght of timeout
setarray @away[0], POS_X, POS_Y, getdir(), (.range + 1), 0;
callsub S_AwayFrom;
@@ -79,7 +81,10 @@ OnLaunch:
if(get(Hp, .caster) < 1) destroy; // destroy if caster is missing
if(getmap(.caster) != strnpcinfo(3)) destroy; // destroy if caster left the map
set .hit, .hit + 1;
- if(.hit > .max_hit) destroy;
+ if(.hit > .max_hit) goto L_Destroy;
+ goto L_Launch;
+
+L_Launch:
set .launch, 0;
callsub S_Launch;
addnpctimer 250 + rand(50) + rand(50), strnpcinfo(0)+"::OnLaunch"; // loop until max
@@ -96,8 +101,13 @@ S_Launch:
set Hp, get(Hp, .caster) - (.damage + rand(.damage_bonus) + rand(.damage_bonus)), .caster; // injure caster
set .launch, .launch + 1;
if(.launch < 3) goto S_Launch;
+
return;
+L_Destroy:
+ if (attachrid(.caster)) sc_end SC_COOLDOWN_AR;
+ destroy;
+
OnTimer30000:
debugmes "frillyar timeout! [this shouldn't happen]";
destroy;
@@ -118,8 +128,9 @@ OnHit:
L_SpecialRules6:
if ($@KIMARR_EVENT < 1) goto L_Pay;
- if ($@Fluffy_FighterID == BL_ID) goto L_Pay;
- message strcharinfo(0), "You can't use this spell here unless hunting fluffies.";
+ //if ($@Fluffy_FighterID == BL_ID) goto L_Pay;
+ //message strcharinfo(0), "You can't use this spell here unless hunting fluffies.";
+ message strcharinfo(0), "You can't use this spell here.";
end;
OnInit: