summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/018-6-0/ctrl2
-rw-r--r--npc/018-6-0/main.txt17
-rw-r--r--npc/018-6-2/main.txt71
3 files changed, 84 insertions, 6 deletions
diff --git a/npc/018-6-0/ctrl b/npc/018-6-0/ctrl
index 865cd9903..fad4beb65 100644
--- a/npc/018-6-0/ctrl
+++ b/npc/018-6-0/ctrl
@@ -13,7 +13,7 @@ q1
1 West puzzle solved (&) (west lever)
2 East puzzle solved (&) (east lever)
3 South puzzle unlocked (w/e lever)
- 4 South puzzle node (e/w lever)
+ 4 South puzzle node (unused)
5 South puzzle solved, access to shrine granted
&64 West Puzzle in Progress
&128 East Puzzle in Progress
diff --git a/npc/018-6-0/main.txt b/npc/018-6-0/main.txt
index 9789d82f7..2d30b3f48 100644
--- a/npc/018-6-0/main.txt
+++ b/npc/018-6-0/main.txt
@@ -11,12 +11,17 @@
OnTouch:
.@q=getq(LoFQuest_Barbara);
- if (.@q >= 2) {
- warp BarbaraInstCheck(3), 31, 151;
- //warp BarbaraInstCheck(0), 90+any(-1, 1), 90+any(-1,1);
- } else {
- Exception("ERROR, YOU SHOULD NOT BEEN SEEING THIS. 018-6-1.TFC");
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q < 2 || .@q3 != 5)
+ Exception("ERROR, YOU SHOULD NOT BEEN SEEING THIS. 018-6-1.TFC.INVALID", RB_DEFAULT|RB_ISFATAL);
+ // Make the speech
+ if (.@q == 2) {
+ setq1 LoFQuest_Barbara, 3;
+ setq3 LoFQuest_Barbara, 0;
}
+ // Execute the warp
+ warp BarbaraInstCheck(3), 31, 151;
end;
@@ -58,6 +63,8 @@ OnTouch:
.@q2=getq2(LoFQuest_Barbara);
.@q3=getq3(LoFQuest_Barbara);
if (.@q == 2 && .@q3 >= 3) {
+ enablenpc instance_npcname("#FromWestHall", .@q2);
+ enablenpc instance_npcname("#FromEastHall", .@q2);
warp BarbaraInstCheck(2), 90, 32;
//warp BarbaraInstCheck(0), 90+any(-1, 1), 90+any(-1,1);
} else {
diff --git a/npc/018-6-2/main.txt b/npc/018-6-2/main.txt
index a990e5781..dd92bd730 100644
--- a/npc/018-6-2/main.txt
+++ b/npc/018-6-2/main.txt
@@ -59,4 +59,75 @@ OnInstanceInit:
}
+/////////////////////////////
+018-6-2,70,152,0 script #FromWestHall NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("Should I walk on it?");
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q != 2)
+ Exception("ERROR, INVALID WARP", RB_DEFAULT|RB_ISFATAL);
+
+ // East hall not yet enabled, we must repeat
+ if (!(.@q3 & 128)) {
+ // Mark the west hall as complete (again)
+ setq3 LoFQuest_Barbara, .@q3|64;
+ disablenpc instance_npcname(.name$, .@q2);
+ warp BarbaraInstCheck(2), 90, 32;
+ } else {
+ // Quest is over!
+ setq3 LoFQuest_Barbara, 5;
+ disablenpc instance_npcname(.name$, .@q2);
+ enablenpc instance_npcname("#ToForgottenShrine", .@q2);
+ warp BarbaraInstCheck(0), 90, 112;
+ }
+ end;
+
+
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+/////////////////////////////
+018-6-2,103,156,0 script #FromEastHall NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("Should I walk on it?");
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q != 2)
+ Exception("ERROR, INVALID WARP", RB_DEFAULT|RB_ISFATAL);
+
+ // West hall not yet enabled, we must repeat
+ if (!(.@q3 & 64)) {
+ // Mark the east hall as complete (again)
+ setq3 LoFQuest_Barbara, .@q3|128;
+ disablenpc instance_npcname(.name$, .@q2);
+ warp BarbaraInstCheck(2), 90, 32;
+ } else {
+ // Quest is over!
+ setq3 LoFQuest_Barbara, 5;
+ disablenpc instance_npcname(.name$, .@q2);
+ enablenpc instance_npcname("#ToForgottenShrine", .@q2);
+ warp BarbaraInstCheck(0), 90, 112;
+ }
+ end;
+
+
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}