From d207a260e10cc3cf54d8cd00279f6ea5fb07ed93 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 13 Jan 2022 20:39:39 -0300 Subject: Add some groundwork for Magic Olympics --- npc/functions/aurora.txt | 92 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) (limited to 'npc/functions/aurora.txt') 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); -- cgit v1.2.3-70-g09d2