From fb96cc025098fcdbf33f4b277811e03fd2f34b91 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 14 Aug 2021 15:57:13 -0300 Subject: Update the Journalman NPC, as they hold all the recent story --- npc/functions/news.txt | 77 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 67 insertions(+), 10 deletions(-) (limited to 'npc/functions') diff --git a/npc/functions/news.txt b/npc/functions/news.txt index 877dc323c..1c342bcb9 100644 --- a/npc/functions/news.txt +++ b/npc/functions/news.txt @@ -19,7 +19,13 @@ function script GameNews { mes ""; mes ".:: "+ l("The First Act") + " ::."; next; - mesc l("The Monster King Army is occupying several towns! Brave players need to group and retake them!"); + mesc b(l("The Monster King Army has occupied several towns!")); + mesc l("The Monster King has managed to take hold of Nivalis and Hurnscald; Travel to Frostia and Halinarzo has also been made difficult."); + next; + mesc l("With Tulimshar being the last major human settlement standing (besides distant locations like Candor), the situation looks more dire than ever."); + mesc l("Brave players need to group and retake them!"); + mesc l("Stay tuned for announcements regarding raid times to retake the towns."); + mesc l("This event is unique, and cannot be repeated."), 1; next; break; ////////////////////////////////////////////////////////////////// @@ -27,7 +33,11 @@ function script GameNews { mes ""; mes ".:: "+ l("The Second Act") + " ::."; next; - mesc l("The Monster King Army left the cities! What will happen next? Anxiety grows!"); + mesc b(l("The Monster King Army left the cities! What will happen next? Anxiety grows!")); + mesc l("After being successful is recovering Hurnscald and Nivalis from the Monster Army, they seem to have withdrawn."); + next; + mesc l("This certainly is just to reorganize their armies. We must take this chance to improve ourselves, or else, we'll be overrun soon enough."); + mesc l("Brave adventurers, be ready for the worst!"); next; break; ////////////////////////////////////////////////////////////////// @@ -35,9 +45,12 @@ function script GameNews { mes ""; mes ".:: "+ l("The Third Act") + " ::."; next; - mesc l("The Monster King Army is making siege at towns randomly!"); - mesc l("The Army seems to walk away after some time."); - mesc l("We must defeat the commanders to avoid major damage to them!"); + mesc b(l("The Monster King Army is making siege at towns randomly!")); + mesc l("The Monster King is sending their armies to attack towns with a seemingly random pattern."); + mesc l("However, the Army seems to walk away after some time."); + next; + mesc l("The reason why they are not occupying the towns like before is still unknown."); + mesc l("However, we must defeat the commanders to avoid major damage to them!"); next; break; ////////////////////////////////////////////////////////////////// @@ -45,10 +58,33 @@ function script GameNews { mes ""; mes ".:: "+ l("The Fourth Act") + " ::."; next; - mesc l("The Monster Army is in complete disarray, sieges are much less frequent."); + mesc b(l("The Strike Back Is Upon Us!")); + mesc l("The Monster Army appears to be in complete disarray, sieges are much less frequent."); + next; mesc l("The mist over the Impregnable Fortress Peak finally lowered down, and it seems... The peaks are no more!"); mesc l("The Monster King Lair is not in a impregnable mountain, but in a small island now!!"); + next; mesc l("Will adventurers reach it? Will the random attacks at towns cease??"); + mesc l("The world hero %s and the High Council Officers will announce the times to raid the Fortress.", $MOST_HEROIC$); + mesc l("Pay attention to #world chat, as this event is managed by players. The Monster Army is also trying to regroup, neglecting it is not advised."), 1; + next; + break; + ////////////////////////////////////////////////////////////////// + case 1031: + mes ""; + mes ".:: "+ l("Interlude") + " ::."; + next; + mesc b(l("Andrei Sakar Calls for Heroes!")); + mesc l("Andrei Sakar, world renowned hero, is assembling a group of adventurers for an important mission!"); + next; + mesc l("For a long time, towns on the distant continent of Kolev have been supporting humans here."); + mesc l("They had a critical role in ensuring the human's race survival to The Great Fire."); + next; + mesc l("However, for a few months already, nothing else has been heard from that town, and all contact was lost."); + mesc l("Andrei Sakar is decided to investigate, and has made arrangements with %s.", b(l("Nard"))); + next; + mesc l("If you are a brave hero or adventurer, Andrei, his lieutenant Elora and the Alliance will be waiting for you on %s!", b(l("Artis"))); + mesc l("You need to reach a certain point in Player Story in order to partake on this event. Non-repeatable."), 1; next; break; ////////////////////////////////////////////////////////////////// @@ -56,6 +92,9 @@ function script GameNews { mes ""; mes ".:: "+ l("The Fifth Act") + " ::."; next; + mesc l("With the brave sacrifice of Andrei Sakar to save our world, our future seems as bleak than ever."); + mesc l("There is no other solution; A desperate struggle is needed..."); + next; mesc l("We must defeat the Monster King on his evil lair!"); mesc l("Only then we may have peace!!"); next; @@ -65,6 +104,8 @@ function script GameNews { mes ""; mes ".:: "+ l("The Final Act") + " ::."; next; + // The Final Act has not been finished + // So this part is a bit weaker than others mesc l("The Moubootaur is the final opponent."); mesc l("How many lives will be claimed until he is put to rest?"); next; @@ -257,28 +298,33 @@ function script EventHelp { function script Journalman { + /* Random Fun Fact */ npctalk3 any( l("Halinarzo Church makes a party every Sunday! Only true believers are invited!"), l("Beware the Terranite! Only @@ would be brave enough to challenge them!", ($MOST_HEROIC$ == "" ? "Andrei Sakar" : $MOST_HEROIC$)), l("Terrible manaquake hits the whole world, causing dramatic changes!"), + l("Effects from The Great Fire are still felt by the people."), l("Green Wars project says that @@ trees were planted by adventurers on the world!", format_number($TREE_PLANTED)), l("The Team For A Better PvP says that @@ players were killed in fair matches!", format_number($PLAYERS_KILLED)), - l("The Alliance says that @@ monsters have been slain by players since 2019-05-24!", format_number($MONSTERS_KILLED)), + l("The Alliance says that @@ monsters have been slain since Hurnscald Siege!", format_number($MONSTERS_KILLED)), l("All hail @@ and Andrei Sakar, heroes of the world!", $MOST_HEROIC$)); mesn getarg(0); mesq l("Bonjour! I am @@, and I am from the Press! Read the latest news with me!", getarg(0)); mes ""; - // Report any ongoing event + + /* Permanent/Weekly Events */ if ($EVENT$ != "") { mesc l("It's @@ (day)!", $EVENT$); - mesc l("Try talking to Soul Menhir or with any NPC on Tulimshar Centre (near Soul Menhir)."); + mesc l("Try talking to Soul Menhir or with any NPC on Tulimshar Center (near Soul Menhir)."); } + /* Short-Timed Events */ if ($@GM_EVENT) mesc l("An event is happening at Aeros! Hurry up!"); else if ($@MK_SCENE) mesc l("The Monster King is on the move!"); + /* Seasonal Events */ switch (season()) { case SPRING: mesc l("It's spring! Two lovely NPCs at woodlands can be found..."); @@ -295,6 +341,8 @@ function script Journalman { default: Exception(l("Invalid season: @@", season()), RB_DEFAULT|RB_SPEECH); break; } + + /* Main Storyline */ mes ""; switch ($GAME_STORYLINE) { case 0: @@ -320,7 +368,6 @@ function script Journalman { break; case 3: mesc l("The Monster Army is in complete disarray, sieges are much less frequent."); - mesc l("The mist over the Impregnable Fortress Peak finally lowered down, and it seems... The peaks are no more!"); mesc l("The Monster King Lair is not in a impregnable mountain, but in a small island now!!"); mesc l("Will adventurers reach it? Will the random attacks at towns cease??"); break; @@ -334,6 +381,15 @@ function script Journalman { default: Exception(l("I do now know what this means: GS-@@-ICXN-@@", $GAME_STORYLINE, $MK_TEMPVAR), RB_DEFAULT|RB_SPEECH); break; } + + /* Fires of Steam */ + if ($FIRESOFSTEAM) { + mes ""; + if ($$FIRESOFSTEAM >= 10) + mesc l("We'll never forget Andrei Sakar, the most courageous hero this world has ever had."); + else + mesc l("Andrei Sakar calls for all the brave in the town of Artis - Kolev!"); + } next; do { @@ -343,6 +399,7 @@ function script Journalman { l("Event News"), 0, rif($GAME_STORYLINE >= 5, l("The Final Act")), 105, rif($GAME_STORYLINE >= 4, l("The Fifth Act")), 104, + rif($FIRESOFSTEAM, l("Interlude - Fourth Act")), 1031, rif($GAME_STORYLINE >= 3, l("The Fourth Act")), 103, rif($GAME_STORYLINE >= 2, l("The Third Act")), 102, rif($GAME_STORYLINE >= 1, l("The Second Act")), 101, -- cgit v1.2.3-70-g09d2