diff options
author | Jesusaves <jesusalva@themanaworld.org> | 2020-08-17 18:28:47 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-17 21:28:47 +0000 |
commit | b3c25ec3d41cf95c04270adbc08c0c30b1848d48 (patch) | |
tree | 349ba0b4802d8233a1a749c0f69e2c5980e521c4 /world/map/npc/099-1 | |
parent | cc7cd73338e5542b70f1255424a4df48f866d8de (diff) | |
download | serverdata-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.txt | 3 | ||||
-rw-r--r-- | world/map/npc/099-1/_warps.txt | 33 | ||||
-rw-r--r-- | world/map/npc/099-1/main.txt | 278 |
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; +} + |