diff options
author | Jesusaves <cpntb1@ymail.com> | 2023-10-07 23:42:02 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2023-10-07 23:42:02 -0300 |
commit | 023cfd6dd51dfd6523b19be417712a80beea6e6d (patch) | |
tree | 92272577699826249f75fe9943a2fd42068239f2 /npc/026-3 | |
parent | c3231d0f73d910622eefe2c2c5c55db9c5a61182 (diff) | |
download | serverdata-023cfd6dd51dfd6523b19be417712a80beea6e6d.tar.gz serverdata-023cfd6dd51dfd6523b19be417712a80beea6e6d.tar.bz2 serverdata-023cfd6dd51dfd6523b19be417712a80beea6e6d.tar.xz serverdata-023cfd6dd51dfd6523b19be417712a80beea6e6d.zip |
026-3 bare logic, and minimum files
Diffstat (limited to 'npc/026-3')
-rw-r--r-- | npc/026-3/_config.txt | 49 | ||||
-rw-r--r-- | npc/026-3/_import.txt | 4 | ||||
-rw-r--r-- | npc/026-3/_mobs.txt | 14 | ||||
-rw-r--r-- | npc/026-3/_warps.txt | 3 | ||||
-rw-r--r-- | npc/026-3/ctrl.c | 61 |
5 files changed, 131 insertions, 0 deletions
diff --git a/npc/026-3/_config.txt b/npc/026-3/_config.txt new file mode 100644 index 000000000..8ee06ceac --- /dev/null +++ b/npc/026-3/_config.txt @@ -0,0 +1,49 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 026-3: The Impregnable Fortress (B3F) conf + +026-3,73,9,0 script #026-3_73_9 NPC_HIDDEN,1,0,{ + end; +OnTouch: + doevent "#DungeonCore::OnHeat"; + end; +} + +026-3,119,28,0 script #026-3_119_28 NPC_SWITCH_OFFLINE,{ + if (getnpcclass() == NPC_SWITCH_ONLINE) + end; + callfunc "0263Event", 1; + setnpcdisplay "#026-3_119_28", NPC_SWITCH_ONLINE; + end; +OnInit: + .distance=2; +} + +026-3,49,76,0 script #026-3_49_76 NPC_SWITCH_OFFLINE,{ + if (getnpcclass() == NPC_SWITCH_ONLINE) + end; + callfunc "0263Event", 2; + setnpcdisplay "#026-3_49_76", NPC_SWITCH_ONLINE; + end; +OnInit: + .distance=2; +} + +026-3,84,70,0 script #026-3_84_70 NPC_SWITCH_OFFLINE,{ + if (getnpcclass() == NPC_SWITCH_ONLINE) + end; + callfunc "0263Event", 4; + setnpcdisplay "#026-3_84_70", NPC_SWITCH_ONLINE; + end; +OnInit: + .distance=2; +} + +026-3,43,49,0 script #026-3_43_49 NPC_SWITCH_OFFLINE,{ + if (getnpcclass() == NPC_SWITCH_ONLINE) + end; + callfunc "0263Event", 8; + setnpcdisplay "#026-3_43_49", NPC_SWITCH_ONLINE; + end; +OnInit: + .distance=2; +} diff --git a/npc/026-3/_import.txt b/npc/026-3/_import.txt index dafce2e10..772b80b75 100644 --- a/npc/026-3/_import.txt +++ b/npc/026-3/_import.txt @@ -1,2 +1,6 @@ // Map 026-3: The Impregnable Fortress (B3F) // This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/026-3/_config.txt", +"npc/026-3/_mobs.txt", +"npc/026-3/_warps.txt", +"npc/026-3/ctrl.c", diff --git a/npc/026-3/_mobs.txt b/npc/026-3/_mobs.txt new file mode 100644 index 000000000..1581c4f50 --- /dev/null +++ b/npc/026-3/_mobs.txt @@ -0,0 +1,14 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 026-3: The Impregnable Fortress (B3F) mobs +026-3,43,43,12,17 monster Pinkie Maximus 1249,5,60000,40000 +026-3,70,46,12,16 monster Junglefowl 1422,5,60000,40000 +026-3,18,71,10,71 monster Mandragora 1423,15,60000,40000 +026-3,117,75,15,64 monster Jhon Longnose 1421,15,60000,40000 +026-3,87,70,13,15 monster Tengu 1409,5,60000,40000 +026-3,82,105,19,17 monster Superior Shroom 1424,5,60000,40000 +026-3,65,131,35,7 monster Nutcracker 1425,3,120000,80000 +026-3,45,106,15,16 monster Pinkie Maximus 1249,5,60000,40000 +026-3,51,76,21,12 monster Junglefowl 1422,5,60000,40000 +026-3,65,12,35,7 monster Nutcracker 1425,2,120000,80000 +026-3,92,37,9,16 monster Tengu 1409,1,60000,40000 +026-3,63,25,18,4 monster Golem 1410,1,360000,400000 diff --git a/npc/026-3/_warps.txt b/npc/026-3/_warps.txt new file mode 100644 index 000000000..7e19d5f17 --- /dev/null +++ b/npc/026-3/_warps.txt @@ -0,0 +1,3 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 026-3: The Impregnable Fortress (B3F) warps +026-3,73,8,0 warp #026-3_73_8 1,0,026-2,86,27 diff --git a/npc/026-3/ctrl.c b/npc/026-3/ctrl.c new file mode 100644 index 000000000..8c0656949 --- /dev/null +++ b/npc/026-3/ctrl.c @@ -0,0 +1,61 @@ +// TMW2 scripts. +// Author: +// Jesusalva +// Description: +// The Impregnable Fortress Control Files +// Quest: General_Fortress +// (MaxFloor+1, internal, internal) + +// 0263Event(switchID) +function script 0263Event { + // Terminate the script if you already flipped it (also to stop trolls) + if (getq(General_Fortress) != 4) end; + if (getq2(General_Fortress) & getarg(0)) { + dispbottom l("I have already flipped this switch earlier."); + end; + } + // Flip it for good + setq2 General_Fortress, getq2(General_Fortress) | getarg(0); + // And if all switches are flipped...! + if (getq2(General_Fortress) == 15) { + setq General_Fortress, 5, 0, 0; + specialeffect(FX_CIRCLE, SELF, getcharid(3)); + } + return; +} + +// The main entrance +026-3,45,118,0 script Impregnable1#B2F NPC_HIDDEN,4,0,{ + end; + +OnTouch: + if (getq(General_Fortress) > 5) goto L_Warp; + mesc l(".:: Impregnable Fortress, %sF ::.", "B3"), 3; + msObjective(getq(General_Fortress) == 5, l("* Flip all four switches")); + msObjective($MK_TEMPVAR < MKIF_LV_B3F, l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_B4F)); + mes ""; + mesc l("Hint: You cannot unflip a switch, but they unflip every 12 hours."); + end; + +L_Warp: + // Not unlocked + if ($GAME_STORYLINE >= 3 && $MK_TEMPVAR < MKIF_LV_B4F) { + mesc l("The gate is sealed shut."), 1; + mesc l("The monster army is still strong on this floor!"), 1; + mesc l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_B4F), 1; + close; + } + //warp "026-4", X, Y; + dispbottom l("Coming Soon, in Moubootaur Legends!"); + end; + +// Reset the switches +OnClock0500: +OnClock1700: + setnpcdisplay "#026-3_119_28", NPC_SWITCH_OFFLINE; + setnpcdisplay "#026-3_49_76", NPC_SWITCH_OFFLINE; + setnpcdisplay "#026-3_84_70", NPC_SWITCH_OFFLINE; + setnpcdisplay "#026-3_43_49", NPC_SWITCH_OFFLINE; + end; +} + |