summaryrefslogtreecommitdiff
path: root/npc/functions/aurora.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/functions/aurora.txt')
-rw-r--r--npc/functions/aurora.txt92
1 files changed, 92 insertions, 0 deletions
diff --git a/npc/functions/aurora.txt b/npc/functions/aurora.txt
index 7937e1b06..fed63e8f8 100644
--- a/npc/functions/aurora.txt
+++ b/npc/functions/aurora.txt
@@ -75,6 +75,21 @@ function script FYNewEvent {
DelChrRegFromEveryPlayer("DTOWER_ROLL");
DelChrRegFromEveryPlayer("DTOWER_FLOOR");
DelChrRegFromEveryPlayer("FYRAID_LV");
+ // Olympics are costlier: Clean less often
+ if ($FYEVENT_CYCLE % 12 == 1) {
+ DelChrRegFromEveryPlayer("FYMOLY_ENBALL");
+ DelChrRegFromEveryPlayer("FYMOLY_ICBOSS");
+ DelChrRegFromEveryPlayer("FYMOLY_FLUFFY");
+ DelChrRegFromEveryPlayer("FYMOLY_CHANTI");
+ DelChrRegFromEveryPlayer("FYMOLY_ALCHMY");
+ DelChrRegFromEveryPlayer("FYMOLY_MPWLVL");
+ DelChrRegFromEveryPlayer("FYMOLY_MANAXP");
+ DelChrRegFromEveryPlayer("FYMOLY_RACERS");
+ DelChrRegFromEveryPlayer("FYMOLY_HOCUSM");
+ DelChrRegFromEveryPlayer("FYMOLY_SURVIV");
+ DelChrRegFromEveryPlayer("FYMOLY_FRIEND");
+ DelChrRegFromEveryPlayer("FYMOLY_SPAMMY");
+ }
deletearray $FYRAID_OWNER;
deletearray $FYRAID_TIME;
deletearray $FYRAID_HP;
@@ -538,6 +553,80 @@ function script FYE_Mining {
+// Configure Magic Olympics
+function script FYEConf_Olympics {
+ setarray $FYREWARD_PT, 100, 220, 440, 880, 1320,
+ 1760, 2640, 3520, 5275, 7040,
+ 10560, 14080, 21120, 28160, 35200,
+ 42240, 57000, 70400, 85000, 112640,
+ 140800, 169000, 197120, 225300, 281160,
+ 337920, 394240, 450560, 550000, 675000;
+ // PS. Max Est. ? pts
+
+ FYE_Autoset();
+ $FYLOGIN_PTS=0;
+ return;
+}
+
+
+// Modify Magic Skills
+function script FYE_Olympics_SK {
+ if ($EVENT$ != "Olympics") return;
+ .@sk=getarg(0, @skillId);
+ .@sl=getarg(1, @skillLevel);
+ .@st=getarg(2, @skillTarget);
+
+ .@cl = $@MSK_CLASS[.@sk];
+
+ // Supportive
+ if (.@cl == CLASS_SCHOLARSHIP &&
+ .@st != getcharid(3) &&
+ .@st > 1 &&
+ .@sk != SM_PROVOKE &&
+ .@sk != EVOL_AREA_PROVOKE)
+ FMOLY_FRIEND += 1;
+
+ // Generic
+ FYMOLY_SPAMMY += .@sl;
+ setq Q_AuroraEvent, getq2(Q_AuroraEvent) + rand2(.@sl + 1);
+ return;
+}
+
+// Modify Mana EXP Gain
+function script FYE_Olympics_MX {
+ if ($EVENT$ != "Olympics") return;
+ .@var=getarg(0, 0);
+
+ FMOLY_MANAXP += .@var;
+ setq Q_AuroraEvent, getq2(Q_AuroraEvent) + rand2(.@var + 1);
+ return;
+}
+
+// Count Chanting Usage
+function script FYE_Olympics_CH {
+ if ($EVENT$ != "Olympics") return;
+
+ // FIXME: Change based on using different verbs/adjectives?
+ FYMOLY_CHANTI += 1;
+ setq Q_AuroraEvent, getq2(Q_AuroraEvent) + 1;
+ return;
+}
+
+// Count Alchemy Usage
+function script FYE_Olympics_AL {
+ if ($EVENT$ != "Olympics") return;
+
+ .@units = getarg(0, 1);
+ FYMOLY_ALCHMY += .@units;
+ setq Q_AuroraEvent, getq2(Q_AuroraEvent) + .@units;
+ return;
+}
+
+
+
+
+
+
// "Submit" button from 003-1/events.txt
// Don't forget to enable it in npc/utils.txt as well!!
@@ -589,6 +678,9 @@ function script FYE_Submit {
setq2 Q_AuroraEvent, .@pts;
delitem EventNaftalin, countitem(EventNaftalin);
+ } else if ($EVENT$ == "Olympics") {
+ // .:: MAGIC OLYMPICS ::.
+ // Handled separately
} else {
// Wut? This is not an Aurora Event
Exception($EVENT$+" is NOT a valid Aurora Event; Misdefinition.\n\nPlease ensure that it is defined in utils, aurora, news, and command/event.\n\nFYE_Submit - FYEventUsesRanking - FYE_* - FYEConf_* - FYStopEvent", RB_DEFAULT|RB_ISFATAL);