summaryrefslogtreecommitdiff
path: root/npc/015-8
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-06-03 09:53:22 -0300
committerJesusaves <cpntb1@ymail.com>2019-06-03 09:53:22 -0300
commit412d02f14c6ca1f903f75ba14b04422114a02fad (patch)
treef226add0b043d69612bf516acca694d6864f59b5 /npc/015-8
parentc6d19cbd0fb219722d9045df403955fbc8c7a478 (diff)
downloadserverdata-412d02f14c6ca1f903f75ba14b04422114a02fad.tar.gz
serverdata-412d02f14c6ca1f903f75ba14b04422114a02fad.tar.bz2
serverdata-412d02f14c6ca1f903f75ba14b04422114a02fad.tar.xz
serverdata-412d02f14c6ca1f903f75ba14b04422114a02fad.zip
Rewrite how saggy instance are built so they are unified
Diffstat (limited to 'npc/015-8')
-rw-r--r--npc/015-8/config.txt43
-rw-r--r--npc/015-8/sealedshrine.txt15
2 files changed, 30 insertions, 28 deletions
diff --git a/npc/015-8/config.txt b/npc/015-8/config.txt
index c7c8343d7..75fa95002 100644
--- a/npc/015-8/config.txt
+++ b/npc/015-8/config.txt
@@ -6,6 +6,34 @@
015-8 mapflag zone MMO
+// Check instances and rebuild if needed
+// Returns map name
+// SaggyInstCheck( {house=true} )
+function script SaggyInstCheck {
+ .@house=getarg(0, true);
+
+ .@q2=getq2(HurnscaldQuest_Sagratha);
+ // Map name limit: 4 chars (sgt1)
+ .@mapn$="sgt1@"+getcharid(0);
+ .@map2$="sgt2@"+getcharid(0);
+ if (!(isinstance(.@q2) && .@q2 != 0)) {
+ .@inst = instance_create("Sagratha House "+getcharid(0), getcharid(3), IOT_CHAR);
+ instance_attachmap("014-5-1", .@inst, false, .@mapn$);
+ //instance_attachmap("015-8", .@inst, false, .@mapn$);
+ instance_attachmap("015-8-1", .@inst, false, .@map2$);
+ // 40 minutes (2400s) inside, or 5 minutes (300s) outside
+ instance_set_timeout(2400, 300, .@inst);
+ instance_init(.@inst);
+ setq2 HurnscaldQuest_Sagratha, .@inst;
+ }
+
+ if (.@house) {
+ return .@mapn$;
+ } else {
+ return .@map2$
+ }
+}
+
015-8,99,179,0 script #Exit0158 NPC_HIDDEN,0,0,{
end;
@@ -24,20 +52,7 @@ OnTouch:
mesc l("Return to Sagratha's House?");
if (askyesno() == ASK_YES) {
- .@q2=getq2(HurnscaldQuest_Sagratha);
- // Map name limit: 4 chars (sgt1)
- .@mapn$="sgt1@"+getcharid(0);
- .@map2$="sgt2@"+getcharid(0);
- if (!(isinstance(.@q2) && .@q2 != 0)) {
- .@inst = instance_create("Sagratha House "+getcharid(0), getcharid(3), IOT_CHAR);
- instance_attachmap("014-5-1", .@inst, false, .@mapn$);
- //instance_attachmap("015-8", .@inst, false, .@mapn$);
- instance_attachmap("015-8-1", .@inst, false, .@map2$);
- // 40 minutes (2400s) inside, or 5 minutes (300s) outside
- instance_set_timeout(2400, 300, .@inst);
- instance_init(.@inst);
- setq2 HurnscaldQuest_Sagratha, .@inst;
- }
+ .@mapn$=SaggyInstCheck();
warp .@mapn$, 33, 35;
changemusic .@mapn$, "eric_matyas_ghouls.ogg";
}
diff --git a/npc/015-8/sealedshrine.txt b/npc/015-8/sealedshrine.txt
index c892163f1..c0ba73350 100644
--- a/npc/015-8/sealedshrine.txt
+++ b/npc/015-8/sealedshrine.txt
@@ -633,20 +633,7 @@ OnInit:
if (askyesno() == ASK_YES) {
closeclientdialog;
- .@q2=getq2(HurnscaldQuest_Sagratha);
- // Map name limit: 4 chars (sgt1)
- .@mapn$="sgt1@"+getcharid(0);
- .@map2$="sgt2@"+getcharid(0);
- if (!(isinstance(.@q2) && .@q2 != 0)) {
- .@inst = instance_create("Sagratha House "+getcharid(0), getcharid(3), IOT_CHAR);
- instance_attachmap("014-5-1", .@inst, false, .@mapn$);
- //instance_attachmap("015-8", .@inst, false, .@mapn$);
- instance_attachmap("015-8-1", .@inst, false, .@map2$);
- // 40 minutes (2400s) inside, or 5 minutes (300s) outside
- instance_set_timeout(2400, 300, .@inst);
- instance_init(.@inst);
- setq2 HurnscaldQuest_Sagratha, .@inst;
- }
+ .@map2$=SaggyInstCheck(false);
warp .@map2$, 50, 78;
end;
}