diff options
Diffstat (limited to 'world/map/npc/functions/doomsday.txt')
-rw-r--r-- | world/map/npc/functions/doomsday.txt | 78 |
1 files changed, 76 insertions, 2 deletions
diff --git a/world/map/npc/functions/doomsday.txt b/world/map/npc/functions/doomsday.txt index 794bcac2..7bd6fa9c 100644 --- a/world/map/npc/functions/doomsday.txt +++ b/world/map/npc/functions/doomsday.txt @@ -600,6 +600,31 @@ L_Doomsday3Cleanup: set $@DD_LOC$, ""; end; +// Bonus spawn +L_Doomsday3Bonus: + announce "Jande: Stray minions from Zax De'Kagen were sighted all over the world!", 0; + + setarray $@DD_IDX, rand(getarraysize($@doomsday_mobs)); + monster "031-1", 62, 49, "", $@doomsday_mobs[$@DD_IDX], 1; + setarray $@DD_IDX, rand(getarraysize($@doomsday_mobs)); + monster "018-1", 136, 71, "", $@doomsday_mobs[$@DD_IDX], 1; + setarray $@DD_IDX, rand(getarraysize($@doomsday_mobs)); + monster "002-1", 97, 86, "", $@doomsday_mobs[$@DD_IDX], 1; + + setarray $@DD_IDX, rand(getarraysize($@doomsday_mobs)); + areamonster "017-1", 169, 49, 198, 77, "", $@doomsday_mobs[$@DD_IDX], 1; + setarray $@DD_IDX, rand(getarraysize($@doomsday_mobs)); + areamonster "012-1", 20, 47, 74, 77, "", $@doomsday_mobs[$@DD_IDX], 2; + setarray $@DD_IDX, rand(getarraysize($@doomsday_mobs)); + areamonster "057-1", 115, 50, 140, 75, "", $@doomsday_mobs[$@DD_IDX], 2; + setarray $@DD_IDX, rand(getarraysize($@doomsday_mobs)); + areamonster "046-1", 58, 49, 92, 70, "", $@doomsday_mobs[$@DD_IDX], 2; + setarray $@DD_IDX, rand(getarraysize($@doomsday_mobs)); + areamonster "034-1", 83, 51, 121, 98, "", $@doomsday_mobs[$@DD_IDX], 2; + setarray $@DD_IDX, rand(getarraysize($@doomsday_mobs)); + areamonster "003-4", 20, 20, 85, 60, "", $@doomsday_mobs[$@DD_IDX], 2; + end; + //////////////////////////////////////////////////////////////////////////////// // Respawn logic (5 minutes) OnTimer300000: @@ -616,10 +641,10 @@ L_TimerFinish: stopnpctimer; end; -// Act 3 clock handlers +// Act 3 clock handlers [1] OnClock1750: if ($@DOOMSDAY_SKIP) - goto L_Doomsday3Skip; + end; if ($DOOMSDAY == 2) goto L_Doomsday3Init; end; @@ -637,6 +662,32 @@ OnClock1845: goto L_Doomsday3Check; end; +// Act 3 clock handlers [2] +OnClock2350: + if ($@DOOMSDAY_SKIP) + end; + if ($DOOMSDAY == 2) + goto L_Doomsday3Init; + end; + +OnClock0000: + if ($@DOOMSDAY_SKIP) + goto L_Doomsday3Skip; + if ($DOOMSDAY == 2) + goto L_Doomsday3; + end; + +OnClock0045: + if ($DOOMSDAY == 2) + goto L_Doomsday3Check; + end; + +// Act 3 clock handlers [3] +OnClock0900: + if ($DOOMSDAY == 2) + goto L_Doomsday3Bonus; + end; + //////////////////////////////////////////////////////////////////////////////// // Puppet labels OnDeathMapname: @@ -669,6 +720,7 @@ OnInit: if (puppet("001-2", 110, 22, "Valia#_DT", 370) < 1) mapexit; if (puppet("001-2", 117, 24, "Waric#_DT", 153) < 1) mapexit; if (puppet("001-2", 117, 30, "Golbenez#_DT", 307) < 1) mapexit; + if (puppet("001-2", 110, 32, "Numa#_DT", 393) < 1) mapexit; // Hurnscald room (Doomsday Hurns: _DH) if (puppet("069-2", 101, 85, "Sagatha#_DH", 167) < 1) mapexit; @@ -678,6 +730,7 @@ OnInit: if (puppet("069-2", 112, 85, "Valia#_DH", 370) < 1) mapexit; if (puppet("069-2", 119, 87, "Waric#_DH", 153) < 1) mapexit; if (puppet("069-2", 119, 93, "Golbenez#_DH", 307) < 1) mapexit; + if (puppet("069-2", 112, 95, "Numa#_DH", 393) < 1) mapexit; // Nivalis room (Doomsday Nivalis: _DN) if (puppet("048-2", 113, 86, "Sagatha#_DN", 167) < 1) mapexit; @@ -687,6 +740,7 @@ OnInit: if (puppet("048-2", 118, 85, "Valia#_DN", 370) < 1) mapexit; if (puppet("048-2", 117, 86, "Waric#_DN", 153) < 1) mapexit; if (puppet("048-2", 119, 86, "Golbenez#_DN", 307) < 1) mapexit; + if (puppet("048-2", 118, 87, "Numa#_DN", 393) < 1) mapexit; // Disable puppets disablenpc "Sagatha#_DT"; @@ -696,6 +750,7 @@ OnInit: disablenpc "Valia#_DT"; disablenpc "Waric#_DT"; disablenpc "Golbenez#_DT"; + disablenpc "Numa#_DT"; disablenpc "Sagatha#_DH"; disablenpc "Elanore#_DH"; @@ -704,6 +759,7 @@ OnInit: disablenpc "Valia#_DH"; disablenpc "Waric#_DH"; disablenpc "Golbenez#_DH"; + disablenpc "Numa#_DH"; disablenpc "Sagatha#_DN"; disablenpc "Elanore#_DN"; @@ -712,6 +768,7 @@ OnInit: disablenpc "Valia#_DN"; disablenpc "Waric#_DN"; disablenpc "Golbenez#_DN"; + disablenpc "Numa#_DN"; end; } @@ -735,6 +792,7 @@ L_Main: "[GM 40] Enable Valia", L_Valia, "[GM 40] Enable Waric", L_Waric, "[GM 40] Enable Golbenez", L_Golbenez, + "[GM 98] Enable Numa", L_Numa, "[GM 40] Disable Sagatha", L_NoSagatha, "[GM 40] Disable Elanore", L_NoElanore, "[GM 40] Disable Nikolai", L_NoNikolai, @@ -742,6 +800,7 @@ L_Main: "[GM 40] Disable Valia", L_NoValia, "[GM 40] Disable Waric", L_NoWaric, "[GM 40] Disable Golbenez", L_NoGolbenez, + "[GM 98] Disable Numa", L_NoNuma, "[GM 60] Cancel Next Siege", L_SkipSiege, "[GM 80] Dismiss the council", L_Dismiss; @@ -794,6 +853,21 @@ L_NoGolbenez: disablenpc "Golbenez#"+@n$[1]; goto L_Main; +L_Numa: + if (GM < G_SYSOP) + mes "Your GM level does not authorizes you to perform this operation."; + if (GM < G_SYSOP) + close; + enablenpc "Numa#"+@n$[1]; + goto L_Main; +L_NoNuma: + if (GM < G_SYSOP) + mes "Your GM level does not authorizes you to perform this operation."; + if (GM < G_SYSOP) + close; + disablenpc "Numa#"+@n$[1]; + goto L_Main; + L_Dismiss: if (GM < G_ADMIN) mes "Your GM level does not authorizes you to perform this operation."; |