summaryrefslogtreecommitdiff
path: root/world/map/npc/099-1
diff options
context:
space:
mode:
authorJesusaves <jesusalva@themanaworld.org>2020-08-17 18:28:47 -0300
committerGitHub <noreply@github.com>2020-08-17 21:28:47 +0000
commitb3c25ec3d41cf95c04270adbc08c0c30b1848d48 (patch)
tree349ba0b4802d8233a1a749c0f69e2c5980e521c4 /world/map/npc/099-1
parentcc7cd73338e5542b70f1255424a4df48f866d8de (diff)
downloadserverdata-b3c25ec3d41cf95c04270adbc08c0c30b1848d48.tar.gz
serverdata-b3c25ec3d41cf95c04270adbc08c0c30b1848d48.tar.bz2
serverdata-b3c25ec3d41cf95c04270adbc08c0c30b1848d48.tar.xz
serverdata-b3c25ec3d41cf95c04270adbc08c0c30b1848d48.zip
Doomsday Act 5 - Keshlam's Adventurer Guild (#560)
Contains utils, gameplay and epilogue functions for Doomsday Act 5 THE FINAL BATTLE Note: Balancing patches may follow and are expected. The debug commands (`@js33`, `@js67` and `@js99`) were not removed. There might be overlap in voicing, in case specialeffect2() fails to work as intended. Bonus Content: * MONOCLE QUEST * Golden Apple healing is now instantaneous. * PVP Coin (Unrelated but anyway) * Golden PVP Cap. * Fix PVP Cap weight.
Diffstat (limited to 'world/map/npc/099-1')
-rw-r--r--world/map/npc/099-1/_import.txt3
-rw-r--r--world/map/npc/099-1/_warps.txt33
-rw-r--r--world/map/npc/099-1/main.txt278
3 files changed, 312 insertions, 2 deletions
diff --git a/world/map/npc/099-1/_import.txt b/world/map/npc/099-1/_import.txt
index 88869c9f..ef844283 100644
--- a/world/map/npc/099-1/_import.txt
+++ b/world/map/npc/099-1/_import.txt
@@ -1,6 +1,7 @@
-// Map 099-1: Nu'Ram-Main
+// Map 099-1: Keshlam's Adventurer's Guild
// This file is generated automatically. All manually added changes will be removed when running the Converter.
map: 099-1
npc: npc/099-1/_mobs.txt
npc: npc/099-1/_nodes.txt
npc: npc/099-1/_warps.txt
+npc: npc/099-1/main.txt
diff --git a/world/map/npc/099-1/_warps.txt b/world/map/npc/099-1/_warps.txt
index cc8f6e07..a7943182 100644
--- a/world/map/npc/099-1/_warps.txt
+++ b/world/map/npc/099-1/_warps.txt
@@ -1,5 +1,5 @@
// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Nu'Ram-Main warps
+// Keshlam's Adventurer's Guild warps
099-1,29,16|warp|-1,-1,099-2,25,22
099-1,77,16|warp|-1,-1,099-2,59,21
@@ -35,3 +35,34 @@
099-1,15,67|warp|-1,-1,099-3,103,63
099-1,19,93|warp|-1,-1,099-3,109,63
099-1,57,51|warp|-1,-1,099-3,115,63
+099-1,128,44|warp|-1,-1,099-1,35,30
+099-1,21,16|warp|-1,-1,099-6,121,132
+099-1,39,16|warp|-1,-1,099-1,35,30
+099-1,58,16|warp|-1,-1,099-6,92,132
+099-1,67,16|warp|-1,-1,099-1,35,30
+099-1,85,16|warp|-1,-1,099-6,59,21
+099-1,97,8|warp|-1,-1,099-1,35,30
+099-1,97,31|warp|-1,-1,099-6,26,132
+099-1,104,31|warp|-1,-1,099-6,90,21
+099-1,108,24|warp|-1,-1,099-6,121,101
+099-1,99,44|warp|-1,-1,099-1,35,30
+099-1,82,44|warp|-1,-1,099-6,91,101
+099-1,82,25|warp|-1,-1,099-1,35,30
+099-1,69,25|warp|-1,-1,099-6,60,132
+099-1,95,61|warp|-1,-1,099-6,60,101
+099-1,78,58|warp|-1,-1,099-6,25,22
+099-1,66,58|warp|-1,-1,099-6,25,101
+099-1,105,61|warp|-1,-1,099-1,35,30
+099-1,50,51|warp|-1,-1,099-1,35,30
+099-1,34,51|warp|-1,-1,099-6,121,75
+099-1,27,51|warp|-1,-1,099-6,91,75
+099-1,25,77|warp|-1,-1,099-6,59,75
+099-1,40,104|warp|-1,-1,099-6,25,75
+099-1,29,115|warp|-1,-1,099-1,35,30
+099-1,29,136|warp|-1,-1,099-6,121,48
+099-1,58,129|warp|-1,-1,099-6,91,49
+099-1,84,114|warp|-1,-1,099-6,59,49
+099-1,125,126|warp|-1,-1,099-1,35,30
+099-1,83,105|warp|-1,-1,099-6,25,49
+099-1,88,85|warp|-1,-1,099-1,35,30
+099-1,79,72|warp|-1,-1,099-6,121,21
diff --git a/world/map/npc/099-1/main.txt b/world/map/npc/099-1/main.txt
new file mode 100644
index 00000000..0508cdfe
--- /dev/null
+++ b/world/map/npc/099-1/main.txt
@@ -0,0 +1,278 @@
+// Evol script
+// Author:
+// Jesusalva
+// Description:
+// 099-1 and 099-3 KESHLAM ADVENTURER GUILD MAIN CHAMBERS
+// Controls gates and introduction
+/////////////////////////////////////////////////////////////////////////////////
+
+099-1,35,28,0|script|Note#DD5Core|400
+{
+ // Default distance is 4 tiles - all we need
+ callfunc "PCtoNPCRange";
+ if(@npc_check) end;
+
+ mes ".:: Keshlam's Adventurer Guild ::.";
+ mes "";
+ mes "Welcome to the Adventurers Guild!";
+ mes "Sorry I could not wait for you. It's your fault for being late.";
+ next;
+ mes "So, it has been a long time since you were here.";
+ mes "I hope you still remember the directions?";
+ mes "Hahaha! There is a lot of fake rooms in this building.";
+ next;
+ mes "You should have known me for long enough to know I do not take chances.";
+ mes "I've put the docks where I'm waiting for you in an overlapping dimension.";
+ mes "This should be enough to stop any Sparron who makes back to here.";
+ next;
+ mes "My dimension, my rules.";
+ mes "I've set a rule that anything dying here should not respawn.";
+ mes "I'm not sure if it'll work, but I did enough tests on that.";
+ next;
+ mes "In case you forgot, this is an, *ahem*, \"deleted\" dimension.";
+ mes "You'll see notes from the adventurers who used to inhabit here.";
+ mes "Maybe you even find something which used to belong to them?";
+ next;
+ mes "I'm sure they tried to write down possible ways to stop me.";
+ mes "I do not like them, so if you find anything which belong to them...";
+ mes "...Well, you're free to take it.";
+ next;
+ mes "I've stationed a guard here and there, to stop intruders.";
+ mes "Use invisibility magic if you need to go past them.";
+ mes "I'll talk to you later. Do not leave me waiting!";
+ next;
+ mes "Signed,";
+ mes "Xakelbael the Dark";
+ close;
+}
+
+099-3,69,38,0|script|Ritual Book#099-31|400
+{
+ // Default distance is 4 tiles - all we need
+ callfunc "PCtoNPCRange";
+ if(@npc_check) end;
+
+ mes ".:: Ritual Book ::.";
+ mes "";
+ mes "In this maze, sixteen numeric passwords lie.";
+ mes "All sixteen passwords must be chanted in their sequence.";
+ mes "";
+ mes "Chanting can be done on the book at right.";
+ mes "##9Only one player may chant all passwords.";
+ mes "##9No reward is provided.";
+ mes "##9If you get a number wrong, you'll be penalized!";
+ close;
+}
+
+099-3,75,38,0|script|Ritual Book#099-32|400
+{
+ // Default distance is 4 tiles - all we need
+ callfunc "PCtoNPCRange";
+ if(@npc_check) end;
+ if ($@DD5_OPENSESAME) goto L_Complete;
+
+ mes ".:: Ritual Book ::.";
+ mes "Perform the ritual?";
+ next;
+ menu
+ "Yes", L_RB_0,
+ "No", L_Close;
+
+L_RB_0:
+ mes "Say the password - ##B NULL##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[0]) goto L_Failure;
+ goto L_RB_1;
+
+L_RB_1:
+ mes "Say the password - ##B EIN##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[1]) goto L_Failure;
+ goto L_RB_2;
+
+L_RB_2:
+ mes "Say the password - ##B ZWEI##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[2]) goto L_Failure;
+ goto L_RB_3;
+
+L_RB_3:
+ mes "Say the password - ##B DREI##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[3]) goto L_Failure;
+ goto L_RB_4;
+
+L_RB_4:
+ mes "Say the password - ##B VIER##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[4]) goto L_Failure;
+ goto L_RB_5;
+
+L_RB_5:
+ mes "Say the password - ##B FUNF##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[5]) goto L_Failure;
+ goto L_RB_6;
+
+L_RB_6:
+ mes "Say the password - ##B SECHS##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[6]) goto L_Failure;
+ goto L_RB_7;
+
+L_RB_7:
+ mes "Say the password - ##B SIEBEN##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[7]) goto L_Failure;
+ goto L_RB_8;
+
+L_RB_8:
+ mes "Say the password - ##B ACHT##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[8]) goto L_Failure;
+ goto L_RB_9;
+
+L_RB_9:
+ mes "Say the password - ##B NEUN##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[9]) goto L_Failure;
+ goto L_RB_10;
+
+L_RB_10:
+ mes "Say the password - ##B ZEHN##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[10]) goto L_Failure;
+ goto L_RB_11;
+
+L_RB_11:
+ mes "Say the password - ##B ELF##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[11]) goto L_Failure;
+ goto L_RB_12;
+
+L_RB_12:
+ mes "Say the password - ##B ZWOLF##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[12]) goto L_Failure;
+ goto L_RB_13;
+
+L_RB_13:
+ mes "Say the password - ##B DREIZEHN##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[13]) goto L_Failure;
+ goto L_RB_14;
+
+L_RB_14:
+ mes "Say the password - ##B VIERZEHN##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[14]) goto L_Failure;
+ goto L_RB_15;
+
+L_RB_15:
+ mes "Say the password - ##B FUNFZEHN##b";
+ input @pass;
+
+ if (@pass != $@DD5_PASSWORDS[15]) goto L_Failure;
+ goto L_Success;
+
+L_Failure:
+ mes "##1THAT WAS WRONG!";
+ mes "##1THE RITUAL BACKFIRES!";
+ set Hp, 1;
+ warp "099-1", 0, 0;
+ close;
+
+L_Success:
+ set $@DD5_OPENSESAME, 1;
+ mes ".:: Ritual Book ::.";
+ mes "The portal magic is now active.";
+ close;
+
+L_Complete:
+ mes ".:: Ritual Book ::.";
+ mes "The ritual was already performed.";
+ close;
+
+L_Close:
+ close;
+}
+
+099-3,72,75,0|script|#WarpToFinalShowdown|424,0,0
+{
+ // Default distance is 4 tiles - all we need
+ callfunc "PCtoNPCRange";
+ if(@npc_check) end;
+
+ if ($@DD5_TSWITCH != 18)
+ goto L_NotSwitch;
+
+ if (!$@DD5_OPENSESAME)
+ goto L_NotSesame;
+
+ mes "Walk here to go to the ##BFinal Showdown##b.";
+ mes "";
+ mes "##1##BWARNING:##b##0 Come prepared!";
+ close;
+
+L_NotSwitch:
+ mes "All 18 switches must be flipped in order to this warp to work!";
+ close;
+
+L_NotSesame:
+ mes "The ritual need to be performed to use this warp!";
+ close;
+
+L_Busy:
+ mes "This warp cannot be used while players are on the other side!";
+ close;
+
+OnTouch:
+ if ($DOOMSDAY_VANILLA)
+ goto L_Menu;
+
+ if ($@DD5_TSWITCH != 18)
+ goto L_NotSwitch;
+
+ if (!$@DD5_OPENSESAME)
+ goto L_NotSesame;
+
+ goto L_Menu;
+
+L_Menu:
+ if ($@DD5_STATUS > 1)
+ goto L_Busy;
+
+ mes "##BGo to the final showdown?##b";
+ mes "You cannot return from there!";
+ mes "";
+ mes "##1Warning: Warp will be unavailable during fights!";
+ if (GM < GM_SYSOP)
+ close;
+
+ menu
+ "Yes", L_Yes,
+ "No", L_No;
+L_No:
+ close;
+L_Yes:
+ warp "099-5", 50, 66;
+ if (!$@DD5_STATUS)
+ donpcevent "#TMWFinalExam::OnWarn0";
+ close;
+}
+