summaryrefslogtreecommitdiff
path: root/npc/026-3
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2023-10-07 23:42:02 -0300
committerJesusaves <cpntb1@ymail.com>2023-10-07 23:42:02 -0300
commit023cfd6dd51dfd6523b19be417712a80beea6e6d (patch)
tree92272577699826249f75fe9943a2fd42068239f2 /npc/026-3
parentc3231d0f73d910622eefe2c2c5c55db9c5a61182 (diff)
downloadserverdata-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.txt49
-rw-r--r--npc/026-3/_import.txt4
-rw-r--r--npc/026-3/_mobs.txt14
-rw-r--r--npc/026-3/_warps.txt3
-rw-r--r--npc/026-3/ctrl.c61
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;
+}
+