summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/constants.conf11
-rw-r--r--npc/009-1/_import.txt1
-rw-r--r--npc/009-1/teleporter.txt54
-rw-r--r--npc/024-1/_import.txt1
-rw-r--r--npc/024-1/teleporter.txt54
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;
+}
+