diff options
author | Jesusaves <cpntb1@ymail.com> | 2023-10-14 17:39:04 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2023-10-14 17:39:04 -0300 |
commit | 2eaf4b38024425f1262a7e2c03f410341f2fa4be (patch) | |
tree | 22af888d0fcc81c1da22d0888baf3e0dba919e0b | |
parent | 7852faa31dcd71b170962122ff6cd3bb3197e946 (diff) | |
download | serverdata-2eaf4b38024425f1262a7e2c03f410341f2fa4be.tar.gz serverdata-2eaf4b38024425f1262a7e2c03f410341f2fa4be.tar.bz2 serverdata-2eaf4b38024425f1262a7e2c03f410341f2fa4be.tar.xz serverdata-2eaf4b38024425f1262a7e2c03f410341f2fa4be.zip |
I'll test later.
-rw-r--r-- | npc/026-5/ctrl.c | 2 | ||||
-rw-r--r-- | npc/026-6/_mobs.txt | 2 | ||||
-rw-r--r-- | npc/026-6/_warps.txt | 1 | ||||
-rw-r--r-- | npc/026-6/ctrl.c | 65 | ||||
-rw-r--r-- | npc/026-7/_config.txt | 9 | ||||
-rw-r--r-- | npc/026-7/_import.txt | 1 | ||||
-rw-r--r-- | npc/026-7/boss.txt | 5 |
7 files changed, 76 insertions, 9 deletions
diff --git a/npc/026-5/ctrl.c b/npc/026-5/ctrl.c index 2ae7acd85..1be780311 100644 --- a/npc/026-5/ctrl.c +++ b/npc/026-5/ctrl.c @@ -149,7 +149,7 @@ L_Warp: mesc l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_B6F), 1; close; } - //warp "026-6", X, Y; // TODO: These coords actually NOT OK + //warp "026-6", 100, 90; // TODO: These coords actually NOT OK dispbottom l("Coming Soon, in Moubootaur Legends!"); end; diff --git a/npc/026-6/_mobs.txt b/npc/026-6/_mobs.txt index 8d2c57e65..a7b32b253 100644 --- a/npc/026-6/_mobs.txt +++ b/npc/026-6/_mobs.txt @@ -1,3 +1,3 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Map 026-6: The Impregnable Fortress (B6F) mobs -026-6,26,89,0,0 monster Jack.O 1120,1,10000,10000 +026-6,26,89,0,0 monster Jack.O 1120,1,10000,10000,#026-6Gate::OnGoto diff --git a/npc/026-6/_warps.txt b/npc/026-6/_warps.txt index 4569456d1..cbfb4fac2 100644 --- a/npc/026-6/_warps.txt +++ b/npc/026-6/_warps.txt @@ -1,5 +1,6 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. // Map 026-6: The Impregnable Fortress (B6F) warps +026-6,88,94,0 warp #026-6_88_94 0,0,025-2,100,25 026-6,95,121,0 script #026-6_95_121 NPC_HIDDEN,0,0,{ end; OnTouch: diff --git a/npc/026-6/ctrl.c b/npc/026-6/ctrl.c index f443e331a..ba8399923 100644 --- a/npc/026-6/ctrl.c +++ b/npc/026-6/ctrl.c @@ -10,10 +10,9 @@ // effect, it only has some support NPCs (banker and healer) if you completed the // Moubootaur Showdown earlier. -// TODO: Validate the use of MKIF_LV_BXF -// TODO: The main NPC which lets you out of here -// TODO: The traps +// TODO: The main NPC which lets you get in here // TODO: The boss chamber (also, are mapflags working? This should be a Blood Pact) +// TODO: Storage master, healer, etc. 026-6,21,70,0, script #026-6Gate NPC_FANCY_CIRCLE,1,0,{ if (getq(General_Fortress) < 6) { die(); end; } mesc l(".:: Impregnable Fortress, %sF ::.", "B6"), 3; @@ -30,7 +29,16 @@ L_Warp: mesc l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_B7F), 1; close; } - //warp "026-7", X, Y; // Or maybe just a slide + if (!$@MK_CHALLENGE && !islegendary() && strcharinfo(0) != $MOST_HEROIC$) { + dispbottom l("I should wait for %s or one of the heroes to challenge the Monster King.", $MOST_HEROIC$); + end; + } + doevent "#DungeonCore::OnBlood"; + slide any(21, 22), 63; + end; + +OnGoto: + slide 46, 114; end; OnInit: @@ -38,3 +46,52 @@ OnInit: end; } +026-6,22,40,0, script #MKBossFightFire NPC_HIDDEN,0,0,{ + end; +OnTouch: + warp "026-7", 21, 28; + if (!$@MK_CHALLENGE) { + $@MK_CHALLENGE=true; + kamibroadcast(strcharinfo(0)+" has CHALLENGED the MONSTER KING to a SHOWDOWN!", "WORLD HEART"); + sleep(2500); + kamibroadcast("The teleporter is now enabled... Get to positions!", "WORLD HEART"); + sleep(5000); + kamibroadcast("It is... SHOWDOWN TIME!", "WORLD HEART"); + sleep(2500); + donpcevent "Impregnable#B7F::OnBegin"; + } + end; +} + +// Room Traps, only against players +026-6,0,0,0 script #0266_Trap01 NPC_TRAP_ONLINE,0,0,{ + end; + +OnTouch: +OnTouchNPC: + WorldHeartTrap(); + sleep(500); // Wait 500ms for animation + setnpcdisplay .name$, NPC_TRAP_ONLINE; + // Move the trap away after it disarms (up to 30 attempts) + +OnInit: + .@e=0; + do { + if (.@e >= 30) + break; + .@x = rand2(21, 60); + .@y = rand2(21, 60); + .@e+=1; + } while (!checknpccell("026-6", .@x, .@y, cell_chkpass)); + movenpc .name$, .@x, .@y; + end; +} + +// Create more traps +026-6,0,0,0 duplicate(#0266_Trap01) #0266_Trap02 NPC_TRAP,0,0 +026-6,0,0,0 duplicate(#0266_Trap01) #0266_Trap03 NPC_TRAP,0,0 +026-6,0,0,0 duplicate(#0266_Trap01) #0266_Trap04 NPC_TRAP,0,0 +026-6,0,0,0 duplicate(#0266_Trap01) #0266_Trap05 NPC_TRAP,0,0 +026-6,0,0,0 duplicate(#0266_Trap01) #0266_Trap06 NPC_TRAP,0,0 +026-6,0,0,0 duplicate(#0266_Trap01) #0266_Trap07 NPC_TRAP,0,0 + diff --git a/npc/026-7/_config.txt b/npc/026-7/_config.txt new file mode 100644 index 000000000..a1e5a12ff --- /dev/null +++ b/npc/026-7/_config.txt @@ -0,0 +1,9 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 026-7: Boss Chamber conf + +026-7,21,28,0 script #026-7_21_28 NPC_HIDDEN,0,2,{ + end; +OnTouch: + doevent "#DungeonCore::OnBleed"; + end; +} diff --git a/npc/026-7/_import.txt b/npc/026-7/_import.txt index c79c41acd..5bfd1d477 100644 --- a/npc/026-7/_import.txt +++ b/npc/026-7/_import.txt @@ -1,4 +1,5 @@ // Map 026-7: Boss Chamber // This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/026-7/_config.txt", "npc/026-7/_warps.txt", "npc/026-7/boss.txt", diff --git a/npc/026-7/boss.txt b/npc/026-7/boss.txt index 6eae36cf3..f01effecd 100644 --- a/npc/026-7/boss.txt +++ b/npc/026-7/boss.txt @@ -40,9 +40,8 @@ function _moveNpc { } // _moveNpc // Controls the Event -// TODO: Autostart +// TODO: Intro Cutscene OnBegin: - $@MK_CHALLENGE=true; // Initial assortment of monsters siege_cast("026-7", .name$, 15, TP_TULIM|TP_HURNS|TP_NIVAL); // Spawn the boss himself @@ -484,7 +483,7 @@ OnInit: .@x = rand2(21, 60); .@y = rand2(21, 60); .@e+=1; - } while (!checknpccell("026-6", .@x, .@y, cell_chkpass)); + } while (!checknpccell("026-7", .@x, .@y, cell_chkpass)); movenpc .name$, .@x, .@y; end; } |