summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-12-07 23:32:32 -0300
committerJesusaves <cpntb1@ymail.com>2021-12-07 23:32:32 -0300
commit33527785153687e062492de734592b22e7e69fc3 (patch)
tree5dfd88c6e5889c06b7d06a5b7de87c2d98d252cf
parentba6d8687bb0ef03d053c813a402c0bb701218ccf (diff)
downloadserverdata-33527785153687e062492de734592b22e7e69fc3.tar.gz
serverdata-33527785153687e062492de734592b22e7e69fc3.tar.bz2
serverdata-33527785153687e062492de734592b22e7e69fc3.tar.xz
serverdata-33527785153687e062492de734592b22e7e69fc3.zip
Santa's Helper - Gateway access
-rw-r--r--db/constants.conf1
-rw-r--r--npc/080-1/final.txt4
-rw-r--r--npc/081-1/dungeon.txt130
-rw-r--r--npc/annuals/xmas/2021.txt17
4 files changed, 151 insertions, 1 deletions
diff --git a/db/constants.conf b/db/constants.conf
index 1f955a10..8a3e1a17 100644
--- a/db/constants.conf
+++ b/db/constants.conf
@@ -3394,6 +3394,7 @@ more than one separator can be used in a row (so 12_3___456 is illegal).
X21_BOSSDEFEAT: 1024
X21_ALYSSAINIT: 2048
X21_ALYSSARESCUE: 4096
+ X21_COMPLETE: 8192
X21BC1_ON: 1
X21BC1_OFF: 2
diff --git a/npc/080-1/final.txt b/npc/080-1/final.txt
index 30ed8a60..4760e672 100644
--- a/npc/080-1/final.txt
+++ b/npc/080-1/final.txt
@@ -101,9 +101,11 @@ OnInit:
sleep2(2000);
}
- // FIXME: getitem Carrot, 1;
// We're done
'XMAS21CUTSCENE=false;
+ 'XMAS21ENDING=true;
+ X21ED2_DOCLEAR();
+ // FIXME: getitem Carrot, 1;
end;
diff --git a/npc/081-1/dungeon.txt b/npc/081-1/dungeon.txt
index fd125dd0..f23434a1 100644
--- a/npc/081-1/dungeon.txt
+++ b/npc/081-1/dungeon.txt
@@ -26,4 +26,134 @@ OnInit:
end;
}
+020-1,78,85,0 script Santa Helper#Fake NPC435,{
+ function soon;
+ function complete;
+ function dowarp;
+ if (!isChristmas21()) soon();
+ if (X21ED2_CLEAR()) complete();
+ do
+ {
+ mesn;
+ mesq l("Santa has been so worried this year... What'll I do...");
+ select
+ rif(X21_START(), l("Can you bring me back to Santa?")),
+ l("[Information]"),
+ l("Not my problem."),
+ rif(X21_START(), l("What's the Frontier of Existence?"));
+ mes "";
+ switch (@menu) {
+ case 1:
+ dowarp(); end;
+ case 2:
+ mesn;
+ mesq l("Ah, well, you see... Santa has this... uh... unique friend, let's call him.");
+ next;
+ mesn;
+ mesq l("Actually, is it even right to call a skeleton a \"him\"? With them being undead and all... Wait, I'm getting sidetracked here.");
+ next;
+ mesn;
+ mesq l("So, you see, Santa made this friend called %s. Creepy fella, but Santa has never been one to really judge others.", b("Gak"));
+ next;
+ mesn;
+ mesq l("Really, to make friends with undead, I'll never understand these Sages of Kaizei... Damn, I'm really getting sidetracked today. Sorry.");
+ next;
+ mesn;
+ mesq l("Anyway. Santa is worried about Gak. I think it is anniversary of the death of his wife or something. To be honest, how an undead would mourn the dead is so... Sidetracked. Again.");
+ next;
+ mesn;
+ mesq l("Look, you know Santa and Nikolai are both on the same circle, the Sages of Kaizei, right? Nikolai was representing this order during the %s.", "[@@https://forums.themanaworld.org/viewtopic.php?f=1&t=20921|"+l("Doomsday's Sage Council")+"@@]");
+ next;
+ mesn;
+ mesq l("The biggest meeting of... Sorry. Well, things changed. I don't know how, I'm not a wizard, but Santa went to investigate. Something about cheering his friend up.");
+ next;
+ mesn;
+ mesq l("He is worried with Gak, and we are worried with him; The Sages of Kaizei specialize in transport magic, not on combat magic. If brave adventurers could help him...");
+ next;
+ select
+ l("Why don't you go yourself?"),
+ l("Don't worry, I'll help."),
+ l("Not my business.");
+ mes "";
+ if (@menu == 1) {
+ mesn;
+ mesq l("Didn't you hear me earlier? The Sages of Kaizei specialize in transport magic. Geez, and I was the one getting side-tracked here!");
+ next;
+ }
+ else if (@menu == 2) {
+ X21_DOSTART();
+ mesn;
+ mesq l("Really? You'll do it? Thank you! That's much appreciated!");
+ next;
+ mesn;
+ if (getcharid(1) > 0)
+ mesq l("I hope you and your friends can do it!");
+ else
+ mesq l("You may consider forming a party to do it, but who am I to judge if you want to do it alone!");
+ next;
+ mesn;
+ mesq l("I can warp you to where Santa is once you're ready. Be prepared. I believe the place is called... %s.", b(l("The Frontier Of Existence")));
+ }
+ break;
+ case 4:
+ mesn;
+ mesq l("Where Santa is, obviously.");
+ next;
+ mesn;
+ mesq l("It's the absolute limit between what exists and what doesn't. If you fall in the æther, you'll cease to exist and nothing can bring you back.");
+ next;
+ mesn;
+ mesq l("...Normally, but whatever the %s set off in motion makes fun of the concept of existence itself.", "[@@https://forums.themanaworld.org/viewtopic.php?f=1&t=20921|"+l("Doomsday's Sage Council")+"@@]");
+ next;
+ mesn;
+ mesq l("Just be careful, I never even heard about æther before Santa decided to help Gak, so I'm pretty sure the regular magic laws are worthless past this point.");
+ break;
+ }
+ while (@menu != 3);
+ npctalkonce l("Merry Christmas!");
+ closeclientdialog;
+ close;
+
+function soon {
+ mesn;
+ mesq l("Hey there, %s. It's not Christmas time right now, so I am just appreciating the view.", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Christmas Event will happen from %s to %s this year. You can click %s for more details.", b(l("Dec 12th")), b(l("Dec 26th")), "[@@https://forums.themanaworld.org/viewtopic.php?f=68&t=21296|"+l("here")+"@@]");
+ close;
+}
+
+function complete {
+ mesn;
+ mesq l("Thanks for helping Santa yet again.");
+ next;
+ mesn;
+ mesq l("I believe he has been trading %s... Do you want to meet him again?", getitemlink(AquaTicket));
+ next;
+ if (askyesno() == ASK_YES) dowarp();
+ close;
+}
+
+function dowarp {
+ dispbottom l("Santa Helper : Fly awayyy!!");
+ warp "081-1", 58, 103;
+ closeclientdialog;
+ close;
+}
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+
+081-1,56,63,0 script Santa NPC_SANTA,{
+ mesn;
+ mesq l("Hohohoh!");
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
diff --git a/npc/annuals/xmas/2021.txt b/npc/annuals/xmas/2021.txt
index 05c8a354..9ece85f6 100644
--- a/npc/annuals/xmas/2021.txt
+++ b/npc/annuals/xmas/2021.txt
@@ -16,6 +16,13 @@ function script X21TYPE {
return (getcharid(1) > 0 ? IOT_PARTY : IOT_CHAR);
}
+function script X21_START {
+ return (XMAS2021 & X21_ACCEPTED);
+}
+function script X21_DOSTART {
+ XMAS2021 = (XMAS2021 | X21_ACCEPTED);
+}
+
function script X21BC1_CLEAR {
return (XMAS2021 & X21_BOSSDEFEAT);
}
@@ -24,6 +31,7 @@ function script X21BC1_DOCLEAR {
XMAS2021 = (XMAS2021 | X21_BOSSDEFEAT);
return;
}
+
function script X21ED1_CLEAR {
return (XMAS2021 & X21_ALYSSARESCUE);
}
@@ -33,6 +41,15 @@ function script X21ED1_DOCLEAR {
return;
}
+function script X21ED2_CLEAR {
+ return (XMAS2021 & X21_COMPLETE);
+}
+
+function script X21ED2_DOCLEAR {
+ XMAS2021 = (XMAS2021 | X21_COMPLETE);
+ return;
+}
+
function script X21SRLZ {
.@n=getarg(0);
switch (.@n) {