summaryrefslogtreecommitdiff
path: root/world/map/npc
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc')
-rw-r--r--world/map/npc/007-1/witch.txt47
-rw-r--r--world/map/npc/009-1/jack.txt6
-rw-r--r--world/map/npc/009-2/_warps.txt2
-rw-r--r--world/map/npc/009-4/barriers.txt10
-rw-r--r--world/map/npc/009-4/waric.txt2
-rw-r--r--world/map/npc/015-1/barrier.txt2
-rw-r--r--world/map/npc/024-2/barrier.txt2
-rw-r--r--world/map/npc/024-2/tyer_trigger.txt2
-rw-r--r--world/map/npc/035-2/_import.txt1
-rw-r--r--world/map/npc/035-2/emblems.txt43
-rw-r--r--world/map/npc/036-2/_import.txt1
-rw-r--r--world/map/npc/036-2/emblems.txt31
-rw-r--r--world/map/npc/functions/ferry.txt47
-rw-r--r--world/map/npc/items/check_wand.txt2
14 files changed, 156 insertions, 42 deletions
diff --git a/world/map/npc/007-1/witch.txt b/world/map/npc/007-1/witch.txt
index bb7b6fdf..7e8cb8ab 100644
--- a/world/map/npc/007-1/witch.txt
+++ b/world/map/npc/007-1/witch.txt
@@ -400,35 +400,24 @@ L_ReadyToTeleport:
L_AskToTeleport:
// Check area users just to give a hint if there are players around
// $@ILLIA_HERO$ $@ILLIA_HELPER1$ $@ILLIA_HELPER2$ $@ILLIA_HELPER3$
- if (attachrid($@ILLIA_HELPER1$))
- goto L_CheckHelper1;
- goto L_NotEveryoneHere;
-
-L_CheckHelper1:
- if (isin("007-1.gat", 66, 73, 92, 88))
- goto L_CheckNext;
- goto L_NotEveryoneHere;
-
-L_CheckNext:
+ if (!(attachrid(getcharid(3,$@ILLIA_HELPER1$))))
+ goto L_NotEveryoneHere;
+ if (!(isin("007-1.gat", 66, 73, 92, 88)))
+ goto L_NotEveryoneHere;
detachrid;
- if (attachrid($@ILLIA_HELPER2$))
- goto L_CheckHelper2;
- goto L_NotEveryoneHere;
-
-L_CheckHelper2:
- if (isin("007-1.gat", 66, 73, 92, 88))
- goto L_CheckNext2;
- goto L_NotEveryoneHere;
-
-L_CheckNext2:
+ if (!(attachrid(getcharid(3,$@ILLIA_HELPER2$))))
+ goto L_NotEveryoneHere;
+ if (!(isin("007-1.gat", 66, 73, 92, 88)))
+ goto L_NotEveryoneHere;
detachrid;
- if (attachrid($@ILLIA_HELPER3$))
- goto L_TeleportFinal;
- goto L_NotEveryoneHere;
-
-L_TeleportFinal:
+ if (!(attachrid(getcharid(3,$@ILLIA_HELPER3$))))
+ goto L_NotEveryoneHere;
+ if (!(isin("007-1.gat", 66, 73, 92, 88)))
+ goto L_NotEveryoneHere;
detachrid;
- if (!attachrid($@ILLIA_HERO$))
+ if (!(attachrid(getcharid(3,$@ILLIA_HERO$))))
+ goto L_NotEveryoneHere;
+ if (!(isin("007-1.gat", 66, 73, 92, 88)))
goto L_NotEveryoneHere;
mes "[Valia]";
mes "\"Everyone seems to be here. Make sure to stay close to me.\"";
@@ -687,6 +676,12 @@ OnTimer300000:
end;
npctalk $@ILLIA_HERO$ + ", you and your missing comrades made me lose a precious time! Out of my sight!";
emotion EMOTE_UPSET;
+ if (attachrid($@ILLIA_HERO_ID))
+ goto L_KillHero;
+ goto L_EndQuest;
+
+L_KillHero:
+ percentheal -100, 0;
goto L_EndQuest;
}
diff --git a/world/map/npc/009-1/jack.txt b/world/map/npc/009-1/jack.txt
index b5244244..c25624cc 100644
--- a/world/map/npc/009-1/jack.txt
+++ b/world/map/npc/009-1/jack.txt
@@ -48,8 +48,9 @@ L_NotInspector:
next;
if (@Q_Forestbow < 1)
goto L_Close;
- menu
- "I heard you aren't delivering any more living wood. Why not?", L_Next;
+ mes "I heard you aren't delivering any more living wood. Why not?";
+ next;
+ goto L_Next;
L_Next:
mes "[Jack Lumber]";
@@ -249,6 +250,7 @@ L_Shield_state_3:
L_NohMask_Ask:
menu
"I'll keep that in mind.", L_Close,
+ "I heard you aren't delivering any more living wood. Why not?", L_Next,
"Have you seen anything that might be connected to the recent robberies in town?", L_NohMask_Answer;
L_NohMask_Answer:
diff --git a/world/map/npc/009-2/_warps.txt b/world/map/npc/009-2/_warps.txt
index 0b8abbf3..4d2024f6 100644
--- a/world/map/npc/009-2/_warps.txt
+++ b/world/map/npc/009-2/_warps.txt
@@ -6,7 +6,7 @@
009-2.gat,130,26|warp|To Outside|-1,-1,009-1.gat,71,31
009-2.gat,144,26|warp|To Second Floor|0,-1,009-2.gat,144,43
009-2.gat,144,42|warp|To Third Floor|0,-1,009-2.gat,144,25
-009-2.gat,155,47|warp|To First Floor|0,-1,009-2.gat,155,63
+009-2.gat,155,48|warp|To First Floor|0,-1,009-2.gat,155,63
009-2.gat,114,46|warp|To First Floor|0,-1,009-2.gat,114,70
009-2.gat,50,55|warp|To Outside|-1,-1,009-1.gat,35,31
009-2.gat,74,53|warp|To Cellar|-1,-1,009-2.gat,143,78
diff --git a/world/map/npc/009-4/barriers.txt b/world/map/npc/009-4/barriers.txt
index 939f4ae2..f3f2e085 100644
--- a/world/map/npc/009-4/barriers.txt
+++ b/world/map/npc/009-4/barriers.txt
@@ -35,7 +35,7 @@ L_Error2:
// Starting Barrier / Quest Entrance
-009-4.gat,37,120,0|script|#OrumCaveStartBarrier|0,1,0,
+009-4.gat,37,120,0|script|#OrumCaveStartBarrier|127,1,0,
{
if (OrumQuest >= 3) close;
if (OrumQuest == 2) goto L_Started;
@@ -51,7 +51,7 @@ L_Started:
}
// First Barrier
-009-4.gat,57,29,0|script|#OrumCaveFirstBarrier|0,1,0,
+009-4.gat,57,29,0|script|#OrumCaveFirstBarrier|127,1,0,
{
if (OrumQuest >= 5) close;
@@ -61,7 +61,7 @@ L_Started:
}
// Second Barrier
-009-4.gat,61,54,0|script|#OrumCaveSecondBarrier|0,1,0,
+009-4.gat,61,54,0|script|#OrumCaveSecondBarrier|127,1,0,
{
if (OrumQuest == 3) set OrumQuest, 4;
@@ -90,7 +90,7 @@ L_Advance_Quest:
}
// Third Barrier
-009-4.gat,24,66,0|script|#OrumCaveThirdBarrier|0,1,0,
+009-4.gat,24,66,0|script|#OrumCaveThirdBarrier|127,1,0,
{
if (OrumQuest == 3) set OrumQuest, 4;
@@ -134,7 +134,7 @@ L_Advance_Quest:
}
// Ending Barrier
-009-4.gat,48,38,0|script|#OrumCaveEndBarrier|0,1,0,
+009-4.gat,48,38,0|script|#OrumCaveEndBarrier|127,1,0,
{
if (OrumQuest >= 11) close;
if (OrumQuest == 3) set OrumQuest, 4;
diff --git a/world/map/npc/009-4/waric.txt b/world/map/npc/009-4/waric.txt
index 778c5111..ca28d2f7 100644
--- a/world/map/npc/009-4/waric.txt
+++ b/world/map/npc/009-4/waric.txt
@@ -1,6 +1,6 @@
//# see detailed description at orum.txt
-009-4.gat,99,33,0|script|#WizardTrap|0,2,1,
+009-4.gat,99,33,0|script|#WizardTrap|127,2,1,
{
set @gender$, "They're";
if (Sex == 0)
diff --git a/world/map/npc/015-1/barrier.txt b/world/map/npc/015-1/barrier.txt
index 0bf5d7e1..6b451f42 100644
--- a/world/map/npc/015-1/barrier.txt
+++ b/world/map/npc/015-1/barrier.txt
@@ -1,7 +1,7 @@
// This barrier is for checking whether the player went outside after
// progressing with the cat quest.
-015-1.gat,59,32,0|script|#CatOutsideBarrier|0,1,1,
+015-1.gat,59,32,0|script|#CatOutsideBarrier|127,1,1,
{
set @catNeedsAlone, 0;
end;
diff --git a/world/map/npc/024-2/barrier.txt b/world/map/npc/024-2/barrier.txt
index 4894dad8..aef0b938 100644
--- a/world/map/npc/024-2/barrier.txt
+++ b/world/map/npc/024-2/barrier.txt
@@ -1,6 +1,6 @@
// A barrier in the magic school to keep less experienced players out of the canyon
-024-2.gat,31,24,0|script|#MagicSchoolBarrier1#M|0,1,1,
+024-2.gat,31,24,0|script|#MagicSchoolBarrier1#M|127,1,1,
{
callfunc "MorganState";
if (@morgan >= 4)
diff --git a/world/map/npc/024-2/tyer_trigger.txt b/world/map/npc/024-2/tyer_trigger.txt
index 45218430..0feafd99 100644
--- a/world/map/npc/024-2/tyer_trigger.txt
+++ b/world/map/npc/024-2/tyer_trigger.txt
@@ -1,6 +1,6 @@
// A man in the magic school
-024-2.gat,33,24,0|script|#Tyer_Trigger|0,0,1,
+024-2.gat,33,24,0|script|#Tyer_Trigger|127,0,1,
{
callfunc "MorganState";
if (@morgan >= 4)
diff --git a/world/map/npc/035-2/_import.txt b/world/map/npc/035-2/_import.txt
index 5e207a35..2fff6976 100644
--- a/world/map/npc/035-2/_import.txt
+++ b/world/map/npc/035-2/_import.txt
@@ -4,6 +4,7 @@ map: 035-2.gat
npc: npc/035-2/_mobs.txt
npc: npc/035-2/_warps.txt
npc: npc/035-2/casino.txt
+npc: npc/035-2/emblems.txt
npc: npc/035-2/koga.txt
npc: npc/035-2/mapflags.txt
npc: npc/035-2/shops.txt
diff --git a/world/map/npc/035-2/emblems.txt b/world/map/npc/035-2/emblems.txt
new file mode 100644
index 00000000..895909a3
--- /dev/null
+++ b/world/map/npc/035-2/emblems.txt
@@ -0,0 +1,43 @@
+035-2.gat,28,27,0|script|#k1city1e|410,
+{
+ end;
+ OnInit:
+ disablenpc "#k1city1e";
+ end;
+}
+035-2.gat,28,27,0|script|#k1city1d|411,
+{
+ end;
+}
+
+035-2.gat,30,27,0|script|#k1city2e|412,
+{
+ end;
+ OnInit:
+ disablenpc "#k1city2e";
+ end;
+}
+035-2.gat,30,27,0|script|#k1city2d|413,
+{
+ end;
+}
+
+035-2.gat,32,27,0|script|#k1city3e|414,
+{
+ end;
+ OnInit:
+ disablenpc "#k1city3e";
+ end;
+}
+035-2.gat,32,27,0|script|#k1city3d|415,
+{
+ end;
+}
+
+035-2.gat,32,27,0|script|#k1sound|127,
+{
+ end;
+ OnCommandDing:
+ misceffect 402;
+ end;
+}
diff --git a/world/map/npc/036-2/_import.txt b/world/map/npc/036-2/_import.txt
index b151f381..e7e92a0e 100644
--- a/world/map/npc/036-2/_import.txt
+++ b/world/map/npc/036-2/_import.txt
@@ -4,6 +4,7 @@ map: 036-2.gat
npc: npc/036-2/_mobs.txt
npc: npc/036-2/_warps.txt
npc: npc/036-2/casino.txt
+npc: npc/036-2/emblems.txt
npc: npc/036-2/koga-candor.txt
npc: npc/036-2/mapflags.txt
npc: npc/036-2/shops.txt
diff --git a/world/map/npc/036-2/emblems.txt b/world/map/npc/036-2/emblems.txt
new file mode 100644
index 00000000..c3fbc18a
--- /dev/null
+++ b/world/map/npc/036-2/emblems.txt
@@ -0,0 +1,31 @@
+036-2.gat,29,27,0|script|#k2city1e|410,
+{
+ end;
+ OnInit:
+ disablenpc "#k2city1e";
+ end;
+}
+036-2.gat,29,27,0|script|#k2city1d|411,
+{
+ end;
+}
+
+036-2.gat,31,27,0|script|#k2city2e|416,
+{
+ end;
+ OnInit:
+ disablenpc "#k2city2e";
+ end;
+}
+036-2.gat,31,27,0|script|#k2city2d|417,
+{
+ end;
+}
+
+036-2.gat,32,27,0|script|#k2sound|127,
+{
+ end;
+ OnCommandDing:
+ misceffect 402;
+ end;
+}
diff --git a/world/map/npc/functions/ferry.txt b/world/map/npc/functions/ferry.txt
index c2e92271..8d530d1f 100644
--- a/world/map/npc/functions/ferry.txt
+++ b/world/map/npc/functions/ferry.txt
@@ -35,20 +35,59 @@ L_NextDock:
cmdothernpc "#"+$@MainDocks$[$@MainCurrentDock]+"Dock", "Arrive";
cmdothernpc "#"+$@CandorDocks$[$@CandorLastDock]+"Dock", "Warp";
cmdothernpc "#"+$@CandorDocks$[$@CandorCurrentDock]+"Dock", "Arrive";
- mapannounce "035-2.tmx", " Koga - Main : Now arriving in "+$@MainDocks$[$@MainCurrentDock]+".", 0;
- mapannounce "036-2.tmx", " Koga - Candor : Now arriving in "+$@CandorDocks$[$@CandorCurrentDock]+".", 0;
+
+ cmdothernpc "#k1sound", "Ding";
+ cmdothernpc "#k2sound", "Ding";
+
+ //mapannounce "035-2.tmx", " Koga - Main : Now arriving in "+$@MainDocks$[$@MainCurrentDock]+".", 0;
+ //mapannounce "036-2.tmx", " Koga - Candor : Now arriving in "+$@CandorDocks$[$@CandorCurrentDock]+".", 0;
initnpctimer;
+
+ if($@MainCurrentDock == 2) goto L_k1city1;
+ if($@MainCurrentDock == 0) goto L_k1city2;
+ if($@MainCurrentDock == 1) goto L_k1city3;
end;
OnTimer10000:
if ($@DockTickCount > $@DockLeaveCount)
goto L_NextDock;
- mapannounce "035-2.tmx", "Koga - Main : Now docked in "+$@MainDocks$[$@MainCurrentDock]+", Departing soon", 0;
- mapannounce "036-2.tmx", "Koga - Candor : Now docked in "+$@CandorDocks$[$@CandorCurrentDock]+", Departing soon", 0;
+ //mapannounce "035-2.tmx", "Koga - Main : Now docked in "+$@MainDocks$[$@MainCurrentDock]+", Departing soon", 0;
+ //mapannounce "036-2.tmx", "Koga - Candor : Now docked in "+$@CandorDocks$[$@CandorCurrentDock]+", Departing soon", 0;
set $@DockTickCount, $@DockTickCount + 1;
initnpctimer;
end;
+
+L_k1city1:
+ enablenpc "#k1city1e"; disablenpc "#k1city2e"; disablenpc "#k1city3e";
+ disablenpc "#k1city1d"; enablenpc "#k1city2d"; enablenpc "#k1city3d";
+ if($@CandorCurrentDock == 1) goto L_k2city1;
+ if($@CandorCurrentDock == 0) goto L_k2city2;
+end;
+
+L_k1city2:
+ disablenpc "#k1city1e"; enablenpc "#k1city2e"; disablenpc "#k1city3e";
+ enablenpc "#k1city1d"; disablenpc "#k1city2d"; enablenpc "#k1city3d";
+ if($@CandorCurrentDock == 1) goto L_k2city1;
+ if($@CandorCurrentDock == 0) goto L_k2city2;
+end;
+
+L_k1city3:
+ disablenpc "#k1city1e"; disablenpc "#k1city2e"; enablenpc "#k1city3e";
+ enablenpc "#k1city1d"; enablenpc "#k1city2d"; disablenpc "#k1city3d";
+ if($@CandorCurrentDock == 1) goto L_k2city1;
+ if($@CandorCurrentDock == 0) goto L_k2city2;
+end;
+
+L_k2city1:
+ enablenpc "#k2city1e"; disablenpc "#k2city2e";
+ disablenpc "#k2city1d"; enablenpc "#k2city2d";
+end;
+
+L_k2city2:
+ disablenpc "#k2city1e"; enablenpc "#k2city2e";
+ enablenpc "#k2city1d"; disablenpc "#k2city2d";
+end;
}
function|script|FerryManifest|,
diff --git a/world/map/npc/items/check_wand.txt b/world/map/npc/items/check_wand.txt
index 1b11dfc2..4d8016bb 100644
--- a/world/map/npc/items/check_wand.txt
+++ b/world/map/npc/items/check_wand.txt
@@ -33,6 +33,7 @@ function|script|CheckWand|,
{
setarray $@Wands, 758, 1171;
setarray $@WandsPwr, 2, 1;
+ setarray $@WandsAnim, 35, 33;
set @Wand, 0;
set @wand_loop, 0;
goto L_Loop;
@@ -44,6 +45,7 @@ L_Loop:
L_SetWand:
set @Wand, $@WandsPwr[@wand_loop];
+ set @WandID, $@WandsAnim[@wand_loop];
callfunc "MorganState";
if (@morgan == 2)
goto L_SetCastOnce;