summaryrefslogtreecommitdiff
path: root/npc/008-0
diff options
context:
space:
mode:
Diffstat (limited to 'npc/008-0')
-rw-r--r--npc/008-0/_import.txt1
-rw-r--r--npc/008-0/master.txt83
2 files changed, 84 insertions, 0 deletions
diff --git a/npc/008-0/_import.txt b/npc/008-0/_import.txt
index abdaecd6e..b4c32c2d9 100644
--- a/npc/008-0/_import.txt
+++ b/npc/008-0/_import.txt
@@ -2,3 +2,4 @@
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/008-0/_mobs.txt",
"npc/008-0/_warps.txt",
+"npc/008-0/master.txt",
diff --git a/npc/008-0/master.txt b/npc/008-0/master.txt
new file mode 100644
index 000000000..875789a27
--- /dev/null
+++ b/npc/008-0/master.txt
@@ -0,0 +1,83 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// This NPC serves no purpose currently. She is here to make Tulimshar more crowded.
+
+008-0,47,63,0 script Party Master NPC_BRGUARD_SWORD,{
+ mesn;
+ if (getcharid(1) > 0) {
+ mesq l("You're in the \"@@\" party, very good!", getpartyname(getcharid(1)));
+ next;
+ } else {
+ mesq l("I protect a dungeon for PARTIES. You're not on a party, get moving.");
+ close;
+ }
+
+ mesn;
+ mesq l("I protect a very dangerous dungeon, and it is so dangerous, that only parties can go in.");
+ next;
+ if (strcharinfo(0) != getpartyleader(getcharid(1))) goto L_NotYou;
+ mesn;
+ mesq l("There are five floors, and they're all very dangerous. But there are riches to be found.");
+ next;
+ mesn;
+ mesq l("You also can't stay there forever! You will have 25 minutes to entirely clear it out and defeat the last boss.");
+ next;
+ // Get info about your party, and backup it
+ getpartymember(getcharid(1));
+ .@count = $@partymembercount;
+ copyarray(.@name$[0], $@partymembername$[0], $@partymembercount);
+ copyarray(.@aid[0], $@partymemberaid[0], $@partymembercount);
+ copyarray(.@cid[0], $@partymembercid[0], $@partymembercount);
+ .@count_online=0;
+
+ if (.@count < 3 && !$@GM_OVERRIDE) goto L_TooSmall;
+ mesn;
+ mesc l("Are you and your party ready?", 1);
+ if (askyesno() != ASK_YES)
+ close;
+
+ // Loop though party to see if you can start
+ for (.@i = 0; .@i < .@count; ++.@i) {
+ // Online?
+ if (isloggedin(.@aid[.@i], .@cid[.@i])) {
+ getmapxy(.@m$, .@x, .@y, 0, .@name$[.@i]));
+ // Here?
+ if (.@m$ == .map$)
+ .@count_online++;
+ }
+ }
+
+ // How many are logged in and here?
+ if (.@count_online < 3 && !$@GM_OVERRIDE) goto L_TooSmall;
+
+ // Warp everyone and add timers
+ partytimer("008-0", 1000, "Party Master::OnStart", getcharid(1));
+ warpparty("003-1", 41, 48, getcharid(1), "008-0", true);
+ close;
+
+L_NotYou:
+ mesn;
+ mesq l("If you bring me @@, your party leader, I can let you in.", getpartyleader(getcharid(1)));
+ close;
+
+L_TooSmall:
+ mesn;
+ mesq l("However, I need to see at least three volunteers here, to allow you in.");
+ close;
+
+OnStart:
+ @pmloop=0;
+OnLoop:
+ @pmloop+=1;
+ if (@pmloop < 1500)
+ addtimer(1000, "Party Master::OnLoop");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+