diff options
author | Jesusaves <cpntb1@ymail.com> | 2020-08-11 16:41:58 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2020-08-11 16:41:58 -0300 |
commit | 11a8363b755270ea0f5aa8dff9651be9aea6cc23 (patch) | |
tree | dd86c351da29bedd552a7280015fe915046f0bf2 | |
parent | 69fd9b52ceae3561669c30dc00e8539121f84b64 (diff) | |
download | serverdata-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.txt | 49 | ||||
-rw-r--r-- | npc/functions/news.txt | 4 |
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 { |