diff options
Diffstat (limited to 'world/map/npc/029-3')
-rw-r--r-- | world/map/npc/029-3/parua.txt | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/world/map/npc/029-3/parua.txt b/world/map/npc/029-3/parua.txt index c4b258f2..4fab5b6b 100644 --- a/world/map/npc/029-3/parua.txt +++ b/world/map/npc/029-3/parua.txt @@ -273,18 +273,19 @@ onTick: // called on each player when a new round begins onNewRound: - // TODO initialization and clean-up of the variables if (isdead()) + goto L_CleanUp_Player; + if ($@FIGHT_CAVE_LEVEL < 600) end; set @candor_oldx, @candor_x; set @candor_oldy, @candor_y; set @candor_x, getx(); set @candor_y, gety(); if (!(@candor_oldx == @candor_x && @candor_oldy == @candor_y)) - end; - @candor_poscounter, @candor_poscounter + 1; - sc_start sc_poison, 1, 20; - heal -20 * @candor_poscounter, 0; + goto L_IdleCheckPassed; + set @candor_idle_counter, @candor_idle_counter + 1; + sc_start sc_poison, 1, @candor_idle_counter*8; + percentheal -20 * @candor_idle_counter, 0; message strcharinfo(0), "The evil energy of this place hurts you. You should keep moving!"; end; @@ -317,10 +318,24 @@ L_CleanUp_Announcement: setnpctimer 0; end; +L_CleanUp_Player: + set @candor_oldx, 0; + set @candor_oldy, 0; + set @candor_x, 0; + set @candor_y, 0; + set @candor_idle_counter, 0; + end; + +L_IdleCheckPassed: + //FIXME we could do that, but I'd say, let's be severe. + //set @candor_idle_counter, 0; + end; + onReward: - if (isdead()) end; + if (isdead()) + goto L_CleanUp_Player; set BOSS_POINTS, BOSS_POINTS + 100; message strcharinfo(0), "You gain 100 Boss Points giving you a total of " + BOSS_POINTS; - end; + goto L_CleanUp_Player; } |