summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-08-11 16:41:58 -0300
committerJesusaves <cpntb1@ymail.com>2020-08-11 16:41:58 -0300
commit11a8363b755270ea0f5aa8dff9651be9aea6cc23 (patch)
treedd86c351da29bedd552a7280015fe915046f0bf2
parent69fd9b52ceae3561669c30dc00e8539121f84b64 (diff)
downloadserverdata-11a8363b755270ea0f5aa8dff9651be9aea6cc23.tar.gz
serverdata-11a8363b755270ea0f5aa8dff9651be9aea6cc23.tar.bz2
serverdata-11a8363b755270ea0f5aa8dff9651be9aea6cc23.tar.xz
serverdata-11a8363b755270ea0f5aa8dff9651be9aea6cc23.zip
Candor Battle now comes with five difficulties:
Easy, Normal, Hard, Out of Mind and Cronqvist Mode. Each mode raises difficulty in 30%, for a total of 150% at Cronqvist Mode. OoM mode is restricted to Candor Top 3. Cronqvist is only available at event.
-rw-r--r--npc/006-1/crazyfefe.txt49
-rw-r--r--npc/functions/news.txt4
2 files changed, 47 insertions, 6 deletions
diff --git a/npc/006-1/crazyfefe.txt b/npc/006-1/crazyfefe.txt
index 3530d29b5..693bccb28 100644
--- a/npc/006-1/crazyfefe.txt
+++ b/npc/006-1/crazyfefe.txt
@@ -6,7 +6,13 @@
// Crazyfefe will wake up when he smells battle
// Variables:
// $@FEFE_CAVE_LEVEL
-// Tracks if a fight is going on. Only that.
+// Tracks selected difficulty level.
+// 0 - Not started
+// 1 - Easy
+// 2 - Normal
+// 3 - Hard
+// 4 - Out of Mind (Exclusive for top 3)
+// 5 - Cronqvist Mode (Exclusive for Candor Battle Season)
// $@FEFE_DELAY
// Tracks the delay between challenges. Also used to start the combat. Set it to zero so you can start fight at once.
// $@FEFE_CAVE_HERO$
@@ -79,6 +85,14 @@ function pleaseWait {
return;
}
+// Are you a Candor Top 3?
+// ISCANDORTOP3( - )
+function ISCANDORTOP3 {
+ return (strcharinfo(0) == $@cfefe_name$[0] ||
+ strcharinfo(0) == $@cfefe_name$[1] ||
+ strcharinfo(0) == $@cfefe_name$[2]);
+}
+
function Scoreboard {
mesc l("All leaderboards are refreshed hourly."), 1;
mesc l("Your current score: @@", CRAZYPOINTS), 3;
@@ -121,6 +135,28 @@ function Challenge {
next;
}
+ // Difficulty Selection
+ mesc l("Select difficulty."), 1;
+ mesc l("Out of Mind mode is only available for Top 3.");
+ mesc l("Cronqvist mode is only available during Candor Battle.");
+ mesc l("Only Cronqvist Mode yields more points per wave!");
+ menuint
+ l("Easy"), 1,
+ l("Normal"), 2,
+ l("Hard"), 3,
+ rif(ISCANDORTOP3(), l("Out of Mind")), 4,
+ rif($EVENT$ == "Candor", l("Cronqvist Mode")), 5;
+ .@cdif=@menuret;
+ next;
+
+ // Already started?
+ if ($@FEFE_WAVE || $@FEFE_CAVE_HERO$ != "")
+ {
+ mesn;
+ mesq l("Sorry, @@ already started the fight.", $@FEFE_CAVE_HERO$);
+ close;
+ }
+
menuint
l("Sorry, I misclicked the first button. Have a nice nap, great Crazyfefe!"), -1,
rif(is_gm() || $EVENT$ == "Candor", l("WHAT ARE WE WAITING FOR?! START ALREADY!")), 0,
@@ -147,6 +183,7 @@ function Challenge {
// Time delay
$@FEFE_DELAY = gettimetick(2)+60*@menuret;
$@FEFE_CAVE_HERO$ = strcharinfo(0);
+ .DIFFICULTY = .@cdif;
// We must begin at once, so ignore normal procedure
if (!@menuret) {
@@ -172,7 +209,8 @@ function StartFight {
CleanUp();
}
- $@FEFE_CAVE_LEVEL = 1;
+ $@FEFE_CAVE_LEVEL = .DIFFICULTY;
+ .DIFFICULTY = 0;
$@FEFE_WAVE = 0;
$@FEFE_DELAY = gettimetick(2)+.delay;
$@FEFE_CAVE_PLAYER_COUNT = getmapusers("006-1");
@@ -209,6 +247,7 @@ function CaveLogic {
// Recalculate difficulty
$@FEFE_DIFFICULTY=0;
areatimer "006-1", 20, 20, 70, 60, 10, "Crazyfefe::OnSumLevel";
+ sleep(15);
// New wave condition: All mobs dead, or 2 minutes have passed
if (mobcount("006-1", "Crazyfefe::OnPetDeath") <= 0 || .wtime >= 120)
@@ -225,7 +264,8 @@ function NextRound {
// Prepare next round, and reward survivors
$@FEFE_DIFFICULTY+=$@FEFE_CAVE_PLAYER_COUNT+$@FEFE_WAVE*6;
$@FEFE_DIFFICULTY+=(($@FEFE_WAVE/5)*10);
- $@FEFE_DIFFICULTY=$@FEFE_DIFFICULTY*13/10; // +30%
+ .@mult=10+(3*$@FEFE_CAVE_LEVEL); // +30% per difficulty setting
+ $@FEFE_DIFFICULTY=$@FEFE_DIFFICULTY*.@mult/10;
areatimer "006-1", 20, 20, 70, 60, 10, "Crazyfefe::OnReward";
mapannounce "006-1", "The wave nÂș "+$@FEFE_WAVE+" is starting with " + $@FEFE_CAVE_PLAYER_COUNT + " player(s) left alive." , 0;
@@ -335,7 +375,7 @@ OnReward:
if ($@FEFE_WAVE % 5 == 0)
Zeny+=.@prize;
getexp .@prize, rand(1,3);
- @crazypoints+=1;
+ @crazypoints+=($@FEFE_CAVE_LEVEL >= 5 ? 2 : 1);
end;
// Every 5 seconds, handle cave, if fighting. Does nothing when waiting.
@@ -364,5 +404,6 @@ OnInit:
.price=400;
.delay=(60*25);
.wtime=0;
+ .DIFFICULTY=0;
end;
}
diff --git a/npc/functions/news.txt b/npc/functions/news.txt
index e5df9ac40..adff1a51f 100644
--- a/npc/functions/news.txt
+++ b/npc/functions/news.txt
@@ -225,9 +225,9 @@ function script EventHelp {
mesc ".:: " + l("Candor Battle Season") + " ::.", 2;
mes "";
mes l("During this season, challenges to Crazyfefe will be free.");
- mes l("Will you accept his challenge?!");
+ mes l("Special battle modes will also be available.");
mes "";
- mes l("Raise to the highest top score!");
+ mes l("Will you accept his challenge?! Raise to the highest top score!");
mesc l("Location: Candor B1F"), 3;
/////////////////////////////////////////////////////////////////////////
} else {