diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-06-03 09:53:22 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-06-03 09:53:22 -0300 |
commit | 412d02f14c6ca1f903f75ba14b04422114a02fad (patch) | |
tree | f226add0b043d69612bf516acca694d6864f59b5 /npc/015-8 | |
parent | c6d19cbd0fb219722d9045df403955fbc8c7a478 (diff) | |
download | serverdata-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.txt | 43 | ||||
-rw-r--r-- | npc/015-8/sealedshrine.txt | 15 |
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; } |