diff options
Diffstat (limited to 'world/map/npc/029-3/parua.txt')
-rw-r--r-- | world/map/npc/029-3/parua.txt | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/world/map/npc/029-3/parua.txt b/world/map/npc/029-3/parua.txt index c191aae2..837e913a 100644 --- a/world/map/npc/029-3/parua.txt +++ b/world/map/npc/029-3/parua.txt @@ -166,6 +166,8 @@ L_NextRound: goto L_CleanUp; set $@FIGHT_CAVE_POINTS, $@FIGHT_CAVE_LEVEL; + areatimer "029-3.gat", 20, 20, 70, 60, 10, "Parua::onNewRound"; + mapannounce "029-1.gat", "Parua: The next round (level " + $@FIGHT_CAVE_LEVEL + ") is starting with " + $@FIGHT_CAVE_PLAYER_COUNT + " player(s) left alive." , 0; mapannounce "029-3.gat", "Parua: The next round (level " + $@FIGHT_CAVE_LEVEL + ") is starting with " + $@FIGHT_CAVE_PLAYER_COUNT + " player(s) left alive." , 0; @@ -269,6 +271,24 @@ onTick: set $@FIGHT_CAVE_PLAYER_COUNT, $@FIGHT_CAVE_PLAYER_COUNT + 1; end; +// called on each player when a new round begins +onNewRound: + if (isdead()) + end; + 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)) + goto L_IdleCheckPassed; + set @candor_idle_counter, @candor_idle_counter + 1; + sc_start sc_poison, 1, @candor_idle_counter*25; + percentheal -20 * @candor_idle_counter, 0; + message strcharinfo(0), "The evil energy of this place hurts you. You should keep moving!"; + end; + onPetDeath: end; @@ -298,10 +318,26 @@ L_CleanUp_Announcement: setnpctimer 0; end; +OnPCDieEvent: + // fall through L_CleanUp_Player + +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()) + end; 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; } |