summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/029-0/elora.txt6
-rw-r--r--npc/functions/news.txt77
2 files changed, 72 insertions, 11 deletions
diff --git a/npc/029-0/elora.txt b/npc/029-0/elora.txt
index 3ca707244..c8caa21a9 100644
--- a/npc/029-0/elora.txt
+++ b/npc/029-0/elora.txt
@@ -41,10 +41,14 @@
case 8:
mesn;
mesq l("Sakar can now bring you directly to Asphodel Moors. Scouts found a second town as well, from where the raiders seems to be coming from!");
+ mesc l("Andrei Sakar is at the north exit of the town.");
break;
case 9:
mesn;
- mesq l("Contact a GM at Migglemire - the small town at center of swamps - to trigger the final showdown.");
+ mesq l("I'm worried. Will everything be alright? Please, lend your help to sir Sakar - no, to the whole world!");
+ mes "";
+ mesc l("Contact a GM at Migglemire - the small town at center of swamps - to trigger the final showdown.");
+ mesc l("Alternatively, %s, the World Hero, should also be able to do it.", $MOST_HEROIC$);
break;
}
close;
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,