summaryrefslogtreecommitdiff
path: root/npc/006-1
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-06-05 19:48:09 -0300
committerJesusaves <cpntb1@ymail.com>2018-06-05 19:48:09 -0300
commit80af8d18caeae5f4d8323ff61c15201497cfecd8 (patch)
treeb4ced2291c80e0e564d6769790c432ba74c848f2 /npc/006-1
parent69705dc89c0d4d947af8c2cbef6424d511a2bf9d (diff)
downloadserverdata-80af8d18caeae5f4d8323ff61c15201497cfecd8.tar.gz
serverdata-80af8d18caeae5f4d8323ff61c15201497cfecd8.tar.bz2
serverdata-80af8d18caeae5f4d8323ff61c15201497cfecd8.tar.xz
serverdata-80af8d18caeae5f4d8323ff61c15201497cfecd8.zip
Make Crazyfefe's Cave infinite. Cheat with dead body results in BAN.
Diffstat (limited to 'npc/006-1')
-rw-r--r--npc/006-1/crazyfefe.txt23
1 files changed, 12 insertions, 11 deletions
diff --git a/npc/006-1/crazyfefe.txt b/npc/006-1/crazyfefe.txt
index 2bace4757..dd43bc155 100644
--- a/npc/006-1/crazyfefe.txt
+++ b/npc/006-1/crazyfefe.txt
@@ -132,11 +132,11 @@ L_CaveLogic:
if (mobcount("006-1", "Crazyfefe::OnPetDeath") <= 0)
goto L_NextRound;
- // Victory conditions: Either you've reached a maximum level (1800) or too few players alive.
- // Number of alive players is randomly proccessed, so the round may end anytime.
- // IIRC, dead players still in cave are still counted. TODO, this is a bad place to handle this.
+ // Victory conditions: Too few players are alive.
+ // WARNING, of dead players still in cave are counted, we might never finish the fight.
+ // And a GM might be called to ban everyone inside.
// To enable debug, comment last part of victory condition.
- if ($@FIGHT_CAVE_LEVEL >= 1800 || $@FIGHT_CAVE_PLAYER_COUNT <= rand(1,2))
+ if ($@FIGHT_CAVE_PLAYER_COUNT <= rand(1,2))
goto L_CleanUp;
// reset timer
@@ -144,15 +144,16 @@ L_CaveLogic:
end;
L_NextRound:
- // Prepare next round
+ // Prepare next round, and reward survivors
$@FIGHT_CAVE_LEVEL = $@FIGHT_CAVE_LEVEL + $@FIGHT_CAVE_PLAYER_COUNT + rand(1,3);
+ areatimer 0, "006-1", 20, 20, 70, 60, 10, "Crazyfefe::OnReward";
mapannounce "006-1", "The next round is starting with " + $@FIGHT_CAVE_PLAYER_COUNT + " player(s) left alive." , 0;
goto L_Summon;
// TODO
L_Summon:
- .@amount=($@FIGHT_CAVE_LEVEL/rand(4,6)); // 300~450 mobs on last round >.< Uh oh, this is hard indeed! xD
+ .@amount=($@FIGHT_CAVE_LEVEL/rand(4,6));
for (.@i = 0; .@i < .@amount; ++.@i) {
.@mid=rand(1,15);
.@monsterId=Piou;
@@ -213,14 +214,14 @@ L_CleanUp:
-// Rewards surviving players, according to performance
+// Rewards surviving players between rounds, according to performance
OnReward:
if (ispcdead())
end;
- // TODO: Find a good reward according to level
- Zeny=Zeny+($@FIGHT_CAVE_LEVEL);
- getexp $@FIGHT_CAVE_LEVEL, 0;
- dispbottom l("You've gained @@ GP and EXP", ($@FIGHT_CAVE_LEVEL));
+ // Player reward is a random number from 1~3 + lvl/50 (1 point ~= 12~8 mobs)
+ .@prize=rand(1,3) + ($@FIGHT_CAVE_LEVEL/50);
+ Zeny=Zeny+.@prize;
+ getexp .@prize, rand(1,3);
end;
// Every 5 seconds, handle cave, if fighting. Does nothing when waiting.