From 0baaf2674734e59ddaf27c326a6bdf07d34896eb Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Wed, 26 Feb 2020 10:44:59 -0300 Subject: De-hardcode the battle configuration flags (BCONF) Reason: Automatize and protect the EXP Bonus on TMW2 Day Event. --- npc/003-3/malindou.txt | 53 ++++++++++++++++++++++++++++++++++++++-- npc/commands/event.txt | 6 +++++ npc/commands/rate-management.txt | 16 ++++++------ npc/functions/event.txt | 2 ++ npc/functions/weather.txt | 8 +++--- 5 files changed, 71 insertions(+), 14 deletions(-) (limited to 'npc') diff --git a/npc/003-3/malindou.txt b/npc/003-3/malindou.txt index 56290a7a5..121447753 100644 --- a/npc/003-3/malindou.txt +++ b/npc/003-3/malindou.txt @@ -15,7 +15,6 @@ OnInit: .distance = 4; // Update handler (use `date +%s` for this) - /* // Current UPDATE value: Qui Jun 7 08:10:55 -03 2018 if ($UPDATE < 1528369855) { $UPDATE=1528369855; @@ -23,9 +22,49 @@ OnInit: debugmes "Warning."; debugmes "Warning: This introduces a server update:"; debugmes ""; - debugmes "* Please create the imported guild"; + debugmes "* Automatic variable setup"; debugmes ""; + $HASAN_GP=25; + $MANA_BINT=30; + $MANA_BLVL=40; + $MANA_JLVL=20; + $VAULT_01738039=25; + $TULIM_MAYOR$="Saulc GM"; + $TULIM_TAX=100; + $TULIM_EXPORT=5000; + $TULIM_REPUTATION=50; + $HALIN_MAYOR$="Saulc GM"; + $HALIN_TAX=100; + $HALIN_EXPORT=2000; + $HALIN_REPUTATION=50; + $HURNS_MAYOR$="Saulc GM"; + $HURNS_TAX=100; + $HURNS_EXPORT=3000; + $HURNS_REPUTATION=50; + $LOF_MAYOR$="Jesus Saves"; + $LOF_TAX=100; + $LOF_EXPORT=4000; + $LOF_REPUTATION=50; + $NIVAL_MAYOR$="Jesus Saves"; + $NIVAL_TAX=100; + $NIVAL_EXPORT=3000; + $NIVAL_REPUTATION=50; + $FROSTIA_MAYOR$="Jesus Saves"; + $FROSTIA_TAX=100; + $FROSTIA_EXPORT=3000; + $FROSTIA_REPUTATION=50; + $BCONFN_SPAWN = 70; + $BCONFD_SPAWN = 100; + $BCONFN_MOBHP = 100; + $BCONFD_MOBHP = 90; + $BCONFB_EXPR = 100; + $BCONFN_EXPR = 5; + $BCONFD_EXPR = 0; + $BCONFB_DROP = 100; + $BCONFN_DROP = 7; + $BCONFD_DROP = 0; } + /* // Current UPDATE value: Dom Jun 17 21:32:45 -03 2018 if ($UPDATE < 1529281965) { $UPDATE=1529281965; @@ -491,6 +530,16 @@ OnInit: DelItemFromEveryPlayer(SilverEasteregg); query_sql("UPDATE `quest` SET `count1` = '2' WHERE `quest`.`quest_id`="+General_Narrator+" AND `count1` = '3'"); query_sql("UPDATE `quest` SET `count2` = '0' WHERE `quest`.`quest_id`="+General_Narrator+" AND `count1` = '2'"); + $BCONFN_SPAWN = 70; + $BCONFD_SPAWN = 100; + $BCONFN_MOBHP = 95; + $BCONFD_MOBHP = 85; + $BCONFB_EXPR = 100; + $BCONFN_EXPR = 5; + $BCONFD_EXPR = 0; + $BCONFB_DROP = 100; + $BCONFN_DROP = 7; + $BCONFD_DROP = 0; debugmes ""; debugmes "* Bull Helmet Fix"; debugmes "* Remove Silver Easter Eggs"; diff --git a/npc/commands/event.txt b/npc/commands/event.txt index 907997b81..0e4ccd621 100644 --- a/npc/commands/event.txt +++ b/npc/commands/event.txt @@ -54,6 +54,12 @@ function script sClear { enablenpc "Demure#ValentineFinal"; } + // Longer EXP rate controls + if ($EVENT$ == "Anniversary") { + $BCONFB_EXPR-=50; + kamibroadcast("EXP Rate changed from %d%% to %d%%", $BCONFB_EXPR+50, $BCONFB_EXPR); + } + // Simpler events $PATRICK_DAYCTRL=0; $PATRICK_DAYMAX=0; diff --git a/npc/commands/rate-management.txt b/npc/commands/rate-management.txt index 0a0e531ec..a0a0ac2dc 100644 --- a/npc/commands/rate-management.txt +++ b/npc/commands/rate-management.txt @@ -4,17 +4,17 @@ function expRateReal { if (is_night()) - return BCONFB_EXPR+BCONFN_EXPR; + return $BCONFB_EXPR+$BCONFN_EXPR; else - return BCONFB_EXPR+BCONFD_EXPR; + return $BCONFB_EXPR+$BCONFD_EXPR; } function expRecalc { .@val=getarg(0); if (is_night()) - return .@val+BCONFN_EXPR; + return .@val+$BCONFN_EXPR; else - return .@val+BCONFD_EXPR; + return .@val+$BCONFD_EXPR; } function rateCleanUp { @@ -193,17 +193,17 @@ OnInheirtedReload: function dropRateReal { if (is_night()) - return BCONFB_DROP+BCONFN_DROP; + return $BCONFB_DROP+$BCONFN_DROP; else - return BCONFB_DROP+BCONFD_DROP; + return $BCONFB_DROP+$BCONFD_DROP; } function dropRecalc { .@val=getarg(0); if (is_night()) - return .@val+BCONFN_DROP; + return .@val+$BCONFN_DROP; else - return .@val+BCONFD_DROP; + return .@val+$BCONFD_DROP; } function rateCleanUp { diff --git a/npc/functions/event.txt b/npc/functions/event.txt index 88741f871..de5df5e3d 100644 --- a/npc/functions/event.txt +++ b/npc/functions/event.txt @@ -317,6 +317,8 @@ OnClock0000: // Begin the event if (.@d == .tmw2day_stday) { kamibroadcast("Moubootaur Legends Anniversary Event begun!"); + if ($EVENT$ != "Anniversary") + $BCONFB_EXPR+=50; $EVENT$="Anniversary"; } // End the event the day after diff --git a/npc/functions/weather.txt b/npc/functions/weather.txt index 1b9d57491..410fa221d 100644 --- a/npc/functions/weather.txt +++ b/npc/functions/weather.txt @@ -211,8 +211,8 @@ OnMinute45: for (.@i = 0; .@i < .@c; .@i++) { message(.@players[.@i], "The night falls."); } - setbattleflag("mob_spawn_delay", BCONFN_SPAWN); - setbattleflag("monster_hp_rate", BCONFN_MOBHP); + setbattleflag("mob_spawn_delay", $BCONFN_SPAWN); + setbattleflag("monster_hp_rate", $BCONFN_MOBHP); //charcommand("@reloadbattleconf"); // Careful! donpcevent("@exprate::OnInheirtedReload"); //donpcevent("@droprate::OnReload"); @@ -221,8 +221,8 @@ OnMinute45: for (.@i = 0; .@i < .@c; .@i++) { message(.@players[.@i], "The day rises."); } - setbattleflag("mob_spawn_delay", BCONFD_SPAWN); - setbattleflag("monster_hp_rate", BCONFD_MOBHP); + setbattleflag("mob_spawn_delay", $BCONFD_SPAWN); + setbattleflag("monster_hp_rate", $BCONFD_MOBHP); //charcommand("@reloadbattleconf"); // Careful! donpcevent("@exprate::OnInheirtedReload"); //donpcevent("@droprate::OnReload"); -- cgit v1.2.3-70-g09d2