From d4b6ef35782c2dececbe77734321d7e15eec5d48 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 18 May 2020 07:56:17 -0300 Subject: Aurora Events: You may now submit the items. If you don't have anything to submit, worry not - You'll still receive the dailies. --- npc/functions/aurora.txt | 56 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 51 insertions(+), 5 deletions(-) (limited to 'npc/functions/aurora.txt') diff --git a/npc/functions/aurora.txt b/npc/functions/aurora.txt index c5041c04a..275bbc8dd 100644 --- a/npc/functions/aurora.txt +++ b/npc/functions/aurora.txt @@ -195,7 +195,7 @@ function script FYEConf_Regnum { // Configure World Expo function script FYEConf_Expo { - $WORLDEXPO_ENEMY$=any("Xakabael the Dark", "Isbamuth", "Saulc", "SUSAN"); + $WORLDEXPO_ENEMY$=any("Xakabael the Dark", "Isbamuth", "Saulc", "SUSAN", "Terogan"); setarray $FYREWARD_PT, 100, 200; setarray $FYREWARD_ID, Bread, Bread; setarray $FYREWARD_AM, 1, 2; @@ -236,6 +236,54 @@ function script FYE_Fishing { } + + + + +// "Submit" button from 003-1/events.txt +// Don't forget to enable it in npc/utils.txt as well!! +function script FYE_Submit { + .@day=getq(Q_AuroraEvent); + .@pts=getq2(Q_AuroraEvent); + + // Handle daily login score rewards + if (.@day != gettimeparam(GETTIME_DAYOFMONTH)) { + setq1 Q_AuroraEvent, gettimeparam(GETTIME_DAYOFMONTH); + setq2 Q_AuroraEvent, .@pts+$FYLOGIN_PTS; + .@pts=getq2(Q_AuroraEvent); + if ($FYLOGIN_PTS) + dispbottom l("Daily Event Bonus: %d Points!", $FYLOGIN_PTS); + } + + // Give you points + if ($EVENT$ == "Expo") { + // .:: WORLD EXPO EVENT ::. + .@pts+=countitem(EventTreasure1)*1; + .@pts+=countitem(EventTreasure2)*3; + .@pts+=countitem(EventTreasure3)*5; + + setq2 Q_AuroraEvent, .@pts; + delitem EventTreasure1, countitem(EventTreasure1); + delitem EventTreasure2, countitem(EventTreasure2); + delitem EventTreasure3, countitem(EventTreasure3); + } else if ($EVENT$ == "Fishing") { + // .:: CATCH THE GOLD FISH EVENT ::. + .@pts+=countitem(EventFish)*1; + + setq2 Q_AuroraEvent, .@pts; + delitem EventFish, countitem(EventFish); + } 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); + } + return; +} + + + + + + // Stops any Aurora Event function script FYStopEvent { setarray .@av$, "Kamelot", "Regnum", "Expo", "Fishing"; @@ -247,10 +295,9 @@ function script FYStopEvent { } -// Handle the ending of Aurora Events +// Handle the ending of Aurora Events (see also functions/util.txt) function script FYRewardEvent { - setarray .@av$, "Expo", "Fishing"; - if (array_find(.@av$, $EVENT$) >= 0) { + if (FYEventUsesRanking()) { debugmes("Rewards are due"); // This code absolutely can't fail: .@nb = query_sql("SELECT c.name, i.count2, c.char_id FROM `quest` AS i, `char` AS c WHERE i.quest_id="+Q_AuroraEvent+" AND i.char_id=c.char_id ORDER BY i.count2 DESC LIMIT 10", $@aurora_name$, $@aurora_value, $@aurora_charid); @@ -285,7 +332,6 @@ function script FYRewardEvent { } - // Normalize Aurora Event after a server restart function script FYE_Normalize { if ($EVENT$ == "Regnum") { -- cgit v1.2.3-60-g2f50