summaryrefslogtreecommitdiff
path: root/npc/008-1
diff options
context:
space:
mode:
Diffstat (limited to 'npc/008-1')
-rw-r--r--npc/008-1/4144.txt91
-rw-r--r--npc/008-1/_import.txt2
-rw-r--r--npc/008-1/_mobs.txt10
-rw-r--r--npc/008-1/_warps.txt7
-rw-r--r--npc/008-1/milly.txt11
-rw-r--r--npc/008-1/old-woman.txt4
-rw-r--r--npc/008-1/shop.txt4
-rw-r--r--npc/008-1/sign.txt50
-rw-r--r--npc/008-1/soul-menhir.txt6
9 files changed, 175 insertions, 10 deletions
diff --git a/npc/008-1/4144.txt b/npc/008-1/4144.txt
new file mode 100644
index 00000000..953c2380
--- /dev/null
+++ b/npc/008-1/4144.txt
@@ -0,0 +1,91 @@
+// Evol Script
+// Author:
+// Jesusalva
+// WildX
+// Description:
+// Andrei is not an human, according to studies conducted by TMW Team.
+// He seems to be a highly advanced artificial intelligence.
+// The fact that he was never seen contributes to this theory.
+// Other members opinions:
+// “4144 is a bot which sits on Hurnscald.” ~ Sagratha, 2016
+
+008-1,246,105,0 script Andrei NPC_PLAYER,{
+ function sittingBot;
+ function zealiteLore;
+ // TODO: Maybe we should use Karma here? For discussion
+ @is_billygates=(strcharinfo(0) == "WildX");
+ speech
+ l("Hi.");
+ next;
+ do
+ {
+ select
+ l("Hello."),
+ l("Can I sit on you?"),
+ l("What are you doing?");
+ mes "";
+ switch (@menu)
+ {
+ case 1:
+ break;
+ case 2:
+ sittingBot();
+ break;
+ case 3:
+ zealiteLore();
+ break;
+ }
+ } while (@menu != 1);
+
+ close;
+
+ // Sitting Bot
+ function sittingBot
+ {
+ // This is just an easter egg (for now)
+ if (@is_billygates) {
+ speech S_LAST_NEXT,
+ l("Only if everyone agrees. You'll need to do a vote for that."),
+ l("Just kidding.");
+ }
+
+ // Main dialog
+ speech S_LAST_NEXT,
+ l("I don't care, but there might be some adventurers and staff who might care."),
+ l("That's why you should always ask. This is good social etiqutte, you know?"),
+ l("Anyway, I would advise you to sit closer to the Soul Menhir, instead.");
+ return;
+ }
+
+ // Zealite Info
+ function zealiteLore
+ {
+ speech S_LAST_NEXT,
+ l("I am maintaing Hurnscald's Soul Menhir in working conditions."),
+ l("Soul Menhirs are pieces of Zealite Ore, really needed to cast magic around here."),
+ l("They are not like your usual Terra Ore. Zealite is way more magical and powerful."),
+ l("This is why sometimes people try to steal shards from it... Poor fools.");
+ // Note: On TMW-BR, it is possible to "hit" Soul Menhirs for shards, which allow you to
+ // instantly teleport back to savepoint, even if lore-wise that was prohibted.
+ // This reference doesn't means it is actually possible to try that at all here.
+ return;
+ }
+
+// TODO: Replace with a good sprite and dye robes in green
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FancyHat); // Wizard Hat
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonGloves);
+ setunitdata(.@npcId, UDT_WEAPON, CottonBoots);
+
+ // What is 4144's hair? He is always wearing his wizard hat
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, rand(1,20));
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
+
diff --git a/npc/008-1/_import.txt b/npc/008-1/_import.txt
index 96d03c46..812a33fa 100644
--- a/npc/008-1/_import.txt
+++ b/npc/008-1/_import.txt
@@ -1,5 +1,6 @@
// Map 008-1: Hurnscald
// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/008-1/4144.txt",
"npc/008-1/_mobs.txt",
"npc/008-1/_warps.txt",
"npc/008-1/auldsbel.txt",
@@ -16,6 +17,7 @@
"npc/008-1/oscar.txt",
"npc/008-1/sabine.txt",
"npc/008-1/shop.txt",
+"npc/008-1/sign.txt",
"npc/008-1/snarfles.txt",
"npc/008-1/soul-menhir.txt",
"npc/008-1/voltain.txt",
diff --git a/npc/008-1/_mobs.txt b/npc/008-1/_mobs.txt
index 4a08a718..11f3e52a 100644
--- a/npc/008-1/_mobs.txt
+++ b/npc/008-1/_mobs.txt
@@ -58,7 +58,7 @@
008-1,244,160,31,11 monster Mana Bug 1035,7,10000,10000
008-1,232,60,17,26 monster Mana Bug 1035,7,10000,10000
008-1,275,103,1,0 monster Clover Patch 1033,1,10000,30000
-008-1,278,153,1,0 monster Clover Patch 1033,1,10000,30000
+008-1,277,152,2,1 monster Clover Patch 1033,1,10000,30000
008-1,203,130,1,0 monster Clover Patch 1033,1,10000,30000
008-1,156,149,1,0 monster Clover Patch 1033,1,10000,30000
008-1,193,113,1,0 monster Clover Patch 1033,1,10000,30000
@@ -81,7 +81,7 @@
008-1,68,167,14,9 monster Silkworm 1040,3,3000,6000
008-1,46,193,16,28 monster Grass Snake 1042,7,3000,12000
008-1,166,114,14,5 monster Spiky Mushroom 1049,2,3000,6000
-008-1,118,97,14,5 monster Spiky Mushroom 1049,2,3000,6000
+008-1,128,48,4,5 monster Bandit 1063,1,4000,11000
008-1,186,33,6,7 monster Spiky Mushroom 1049,4,3000,6000
008-1,84,77,4,2 monster Scorpion 1043,1,6000,12000
008-1,106,62,7,4 monster Mouboo 1023,1,30000,120000
@@ -99,3 +99,9 @@
008-1,140,144,2,6 monster Mauve Plant 1036,3,1000,2000
008-1,192,147,3,2 monster Gamboge Plant 1038,2,1000,10000
008-1,197,136,2,5 monster Cobalt Plant 1039,2,1000,30000
+008-1,109,93,14,5 monster Spiky Mushroom 1049,2,3000,6000
+008-1,111,68,8,3 monster Robin Bandit 1064,2,8000,12000
+008-1,126,80,8,3 monster Bandit 1063,2,5500,8000
+008-1,122,44,4,7 monster Robin Bandit 1064,1,3000,8000
+008-1,89,116,7,6 monster Moubi 1072,1,10000000,1000000
+008-1,259,116,31,20 monster Maggot 1026,6,500,10000
diff --git a/npc/008-1/_warps.txt b/npc/008-1/_warps.txt
index 9ca7640a..fad30de8 100644
--- a/npc/008-1/_warps.txt
+++ b/npc/008-1/_warps.txt
@@ -19,10 +19,15 @@
008-1,151,80,0 warp #008-1_151_80 0,0,008-2-15,35,33
008-1,256,203,0 warp #008-1_256_203 0,0,008-2-20,25,31
008-1,128,138,0 warp #008-1_128_138 0,0,008-3-1,35,34
+008-1,250,23,0 warp #008-1_250_23 1,0,008-3-4,88,76
+008-1,283,26,0 warp #008-1_283_26 0,0,008-3-3,37,56
008-1,287,113,0 warp #008-1_287_113 0,0,008-2-8,26,28
008-1,252,211,0 warp #008-1_252_211 0,0,008-2-21,22,42
008-1,257,130,0 warp #008-1_257_130 0,0,008-2-28,25,31
008-1,233,131,0 warp #008-1_233_131 0,0,008-2-29,36,24
008-1,287,133,0 warp #008-1_287_133 0,0,008-2-30,52,39
008-1,20,85,0 warp #008-1_20_85 0,1,008-1-1,246,85
-008-1,165,171,0 warp #008-1_165_171 0,0,008-4-1,175,19
+008-1,165,171,0 warp #008-1_165_171 0,0,008-3-2,175,21
+008-1,289,125,0 warp #008-1_289_125 0,0,008-2-31,29,25
+008-1,22,216,0 warp #008-1_22_216 0,0,008-1-2,248,48
+008-1,109,82,0 warp #008-1_109_82 0,0,008-3-5,92,107
diff --git a/npc/008-1/milly.txt b/npc/008-1/milly.txt
index 0ea17a1c..1ca72cee 100644
--- a/npc/008-1/milly.txt
+++ b/npc/008-1/milly.txt
@@ -25,6 +25,17 @@
// Description:
// robberies in hurnscald
+// Give player a Beanie Copter after 1,000,000 kills (server-wide)
+function script GetBeanieCopter {
+ // Double-check against possible malpractices
+ if ($MONSTERS_KILLED % 1000000 == 0) {
+ announce(sprintf("Congratulations, \"%s\", on killing the %sth monster!.", strcharinfo(0), format_number($MONSTERS_KILLED)), bc_all);
+ getitem BeanieCopter, 1;
+ dispbottom l("How strange, this monster dropped a very rare hat!");
+ }
+ return;
+}
+
008-1,282,114,0 script Milly NPC_GIRL_MILLY,{
// TODO: make the actual beanie copter quest after those are finished:
diff --git a/npc/008-1/old-woman.txt b/npc/008-1/old-woman.txt
index c6ca467b..5b97547b 100644
--- a/npc/008-1/old-woman.txt
+++ b/npc/008-1/old-woman.txt
@@ -28,8 +28,8 @@
008-1,231,114,0 script Old Woman NPC_OLD_LADY,{
function is_inspector {
- return (getequipcardid(EQI_HEAD_MID, 0) == NavyBlueCottonDye /*&&
- getequipcardid(EQI_HEAD_LOW, 0) == NavyBlueCottonDye*/); // TODO / FIXME: remove the /* */ whenever we have cotton pants
+ return (getequipcardid(EQI_HEAD_MID, 0) == NavyBlueCottonDye &&
+ getequipcardid(EQI_HEAD_LOW, 0) == NavyBlueCottonDye);
}
function oldwoman_ask {
diff --git a/npc/008-1/shop.txt b/npc/008-1/shop.txt
index f50912f2..a0b825ec 100644
--- a/npc/008-1/shop.txt
+++ b/npc/008-1/shop.txt
@@ -19,7 +19,6 @@ OnInit:
sellitem ARedTulip, -1, 50;
sellitem AWhiteTulip, -1, 50;
sellitem AYellowTulip, -1, 50;
- sellitem ABlueTulip, -1, 20;
.sex = G_OTHER;
.distance = 10;
@@ -33,7 +32,6 @@ OnClock0000:
restoreshopitem ARedTulip, 10;
restoreshopitem AWhiteTulip, 10;
restoreshopitem AYellowTulip, 10;
- restoreshopitem ABlueTulip, 5;
OnClock0800:
restoreshopitem ARedRose, 10;
restoreshopitem AWhiteRose, 10;
@@ -42,7 +40,6 @@ OnClock0800:
restoreshopitem ARedTulip, 10;
restoreshopitem AWhiteTulip, 10;
restoreshopitem AYellowTulip, 10;
- restoreshopitem ABlueTulip, 5;
OnClock1600:
restoreshopitem ARedRose, 10;
restoreshopitem AWhiteRose, 10;
@@ -51,5 +48,4 @@ OnClock1600:
restoreshopitem ARedTulip, 10;
restoreshopitem AWhiteTulip, 10;
restoreshopitem AYellowTulip, 10;
- restoreshopitem ABlueTulip, 5;
}
diff --git a/npc/008-1/sign.txt b/npc/008-1/sign.txt
new file mode 100644
index 00000000..17099ba4
--- /dev/null
+++ b/npc/008-1/sign.txt
@@ -0,0 +1,50 @@
+// Evol scripts.
+// Authors:
+// Micksha
+// Description:
+// Sign pillars in Hurnscald.
+
+008-1,142,105,0 script Sign#008-1-central NPC_NO_SPRITE,{
+ npctalkonce l("Right: Hurnscald | Down: Dimond's Cove | Left: West Woodland | Up: Nivalis (under construction)");
+ close;
+OnInit:
+ .distance = 2;
+ .sex = G_OTHER;
+ end;
+}
+
+008-1,126,160,0 script Sign#008-1-south NPC_NO_SPRITE,{
+ npctalkonce l("Down: Dimond's Cove | Left: Swamp");
+ close;
+OnInit:
+ .distance = 2;
+ .sex = G_OTHER;
+ end;
+}
+
+008-1,246,177,0 script Sign#008-1-southeast NPC_NO_SPRITE,{
+ npctalkonce l("Left: Dimond's Cove | Up: Hurnscald | Right: Forsaken Inn");
+ close;
+OnInit:
+ .distance = 2;
+ .sex = G_OTHER;
+ end;
+}
+
+008-1,251,104,0 script Sign#008-1-hurns NPC_NO_SPRITE,{
+ npctalkonce l("Left: West Woodland | Up: North Mine | Right: Harbor | Down: other directions");
+ close;
+OnInit:
+ .distance = 2;
+ .sex = G_OTHER;
+ end;
+}
+
+008-1,247,105,0 script Sign#008-1-4144 NPC_NO_SPRITE,{
+ npctalkonce l("This place is dedicated to 4144, the alltime Hero.");
+ close;
+OnInit:
+ .distance = 1;
+ .sex = G_OTHER;
+ end;
+}
diff --git a/npc/008-1/soul-menhir.txt b/npc/008-1/soul-menhir.txt
index 3c295c92..2c57f0de 100644
--- a/npc/008-1/soul-menhir.txt
+++ b/npc/008-1/soul-menhir.txt
@@ -5,7 +5,11 @@
// place of power, mana refills faster when sitting nearby
008-1,252,111,0 script Soul Menhir#hurnscald NPC_NO_SPRITE,{
-
+ if (!@menhir_meditation_message)
+ {
+ dispbottom(l("You feel a strong magic aura. You want to sit near it and meditate."));
+ @menhir_meditation_message=1;
+ }
end;
OnRefill: