diff options
-rw-r--r-- | db/constants.conf | 11 | ||||
-rw-r--r-- | npc/009-1/_import.txt | 1 | ||||
-rw-r--r-- | npc/009-1/teleporter.txt | 54 | ||||
-rw-r--r-- | npc/024-1/_import.txt | 1 | ||||
-rw-r--r-- | npc/024-1/teleporter.txt | 54 |
5 files changed, 121 insertions, 0 deletions
diff --git a/db/constants.conf b/db/constants.conf index 46a542fa5..658c5d36a 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -4131,6 +4131,17 @@ constants_db: { REDPLUSH_INN: 1 CURRENT_INN: 2 + comment__: "Teleporter enum" + TP_NONE: 0 + TP_FROST: 1 + TP_HALIN: 2 + TP_TULIM: 4 + TP_HURNS: 8 + TP_NIVAL: 16 + TP_ARTIS: 32 + TP_ESPER: 64 + TP_BOSSR: 128 + comment__: "Being actions" ACTION_STAND: 0 ACTION_MOVE: 1 diff --git a/npc/009-1/_import.txt b/npc/009-1/_import.txt index 0d482e907..e91e09873 100644 --- a/npc/009-1/_import.txt +++ b/npc/009-1/_import.txt @@ -9,3 +9,4 @@ "npc/009-1/lynnthetraveler.txt", "npc/009-1/mapflags.txt", "npc/009-1/soul-menhir.txt", +"npc/009-1/teleporter.txt", diff --git a/npc/009-1/teleporter.txt b/npc/009-1/teleporter.txt new file mode 100644 index 000000000..a5a401149 --- /dev/null +++ b/npc/009-1/teleporter.txt @@ -0,0 +1,54 @@ +// TMW2 Script +// Authors: +// Jesusalva +// Description: +// Link portals to soul menhirs like the teleporters from old +// The price is temporary. This feature got in because no ship in Nivalis Port +// PS. Anise => “Aisen” Anagram + + +024-1,155,80,0 script #WarpGateFrost NPC_NO_SPRITE,1,0,{ + end; + +OnTouch: + if (!TELEPORTERS & TP_HALIN) { + TELEPORTERS=TELEPORTERS|TP_HALIN; + mesn "Anise Inc."; + mesc l("Location Registered. You are now capable to use this warp gate."); + next; + } + mesc l("Where should I warp to?"); + mesc l("Cost: 1 @@", getitemlink(EverburnPowder)), 1; + if (!countitem(EverburnPowder)) + close; + next; + select + rif(TELEPORTERS & TP_FROST, l("Frostia")), + rif(TELEPORTERS & TP_HALIN && 0, l("Halinarzo")), + rif(TELEPORTERS & TP_TULIM, l("Tulimshar")), + rif(TELEPORTERS & TP_HURNS, l("Hurnscald")), + rif(TELEPORTERS & TP_NIVAL, l("Nivalis")), + rif(TELEPORTERS & TP_ARTIS, l("Artis")), + rif(TELEPORTERS & TP_ESPER, l("Esperia")), + rif(TELEPORTERS & TP_BOSSR, l("The Monster King Fortress")), + l("None"); + mes ""; + if (@menu != 9) + delitem EverburnPowder, 1; + closedialog; + switch (@menu) { + case 1: + warp "024-1", 155, 82; break; + default: + close; + } + + close; + + +OnInit: + .sex = G_OTHER; + .distance = 1; + end; +} + diff --git a/npc/024-1/_import.txt b/npc/024-1/_import.txt index 1434d7261..5cad72414 100644 --- a/npc/024-1/_import.txt +++ b/npc/024-1/_import.txt @@ -3,3 +3,4 @@ "npc/024-1/_warps.txt", "npc/024-1/guard.txt", "npc/024-1/mapflags.txt", +"npc/024-1/teleporter.txt", diff --git a/npc/024-1/teleporter.txt b/npc/024-1/teleporter.txt new file mode 100644 index 000000000..cdced77aa --- /dev/null +++ b/npc/024-1/teleporter.txt @@ -0,0 +1,54 @@ +// TMW2 Script +// Authors: +// Jesusalva +// Description: +// Link portals to soul menhirs like the teleporters from old +// The price is temporary. This feature got in because no ship in Nivalis Port +// PS. Anise => “Aisen” Anagram + + +024-1,155,80,0 script #WarpGateFrost NPC_NO_SPRITE,1,0,{ + end; + +OnTouch: + if (!TELEPORTERS & TP_FROST) { + TELEPORTERS=TELEPORTERS|TP_FROST; + mesn "Anise Inc."; + mesc l("Location Registered. You are now capable to use this warp gate."); + next; + } + mesc l("Where should I warp to?"); + mesc l("Cost: 1 @@", getitemlink(EverburnPowder)), 1; + if (!countitem(EverburnPowder)) + close; + next; + select + rif(TELEPORTERS & TP_FROST && 0, l("Frostia")), + rif(TELEPORTERS & TP_HALIN, l("Halinarzo")), + rif(TELEPORTERS & TP_TULIM, l("Tulimshar")), + rif(TELEPORTERS & TP_HURNS, l("Hurnscald")), + rif(TELEPORTERS & TP_NIVAL, l("Nivalis")), + rif(TELEPORTERS & TP_ARTIS, l("Artis")), + rif(TELEPORTERS & TP_ESPER, l("Esperia")), + rif(TELEPORTERS & TP_BOSSR, l("The Monster King Fortress")), + l("None"); + mes ""; + if (@menu != 9) + delitem EverburnPowder, 1; + closedialog; + switch (@menu) { + case 2: + warp "009-1", 113, 91; break; + default: + close; + } + + close; + + +OnInit: + .sex = G_OTHER; + .distance = 1; + end; +} + |