summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/001-7/homunculus.txt25
-rw-r--r--npc/023-3-1/logic.txt26
-rw-r--r--npc/024-16/king.txt5
3 files changed, 27 insertions, 29 deletions
diff --git a/npc/001-7/homunculus.txt b/npc/001-7/homunculus.txt
index 830d6ecf6..3961a29ed 100644
--- a/npc/001-7/homunculus.txt
+++ b/npc/001-7/homunculus.txt
@@ -39,15 +39,32 @@ OnTouch:
percentheal -100, -100;
return false;
}
- if (.@q < 15) {
- dispbottom l("It seems to be sealed.");
- end;
+ mesn l("Magically Sealed Gate");
+ mesc l("The door is sealed. The riddle says: “I drink, I become, I am. Don't say my name, but say why you know me. For, I am the best in the world.”");
+ if (!(.@q & 1)) {
+ mesc l("You have no idea what that means."), 1;
+ close;
+ } else {
+ mesc l("You know the answer can only be @@.", getitemlink(Coffee)), 3;
+ }
+ next;
+ mesn l("Magically Sealed Gate");
+ if (!(.@q & 256)) {
+ mesc l("Even after breaking the first layer, a second layer keeps active. The first layer gets back to work shortly after. What have I missed or forgotten to do?"), 1;
+ close;
+ } else {
+ if (.@q != 511)
+ Exception("Invalid quest state: "+.@q, RB_DEFAULT|RB_SPEECH|RB_ISFATAL);
+ mesc l("Are you sure you want to proceed? You CANNOT COME BACK!"), 1;
+ if (askyesno() == ASK_NO)
+ close;
}
+ closeclientdialog;
.@mapn$="023-3-1";
+ setq1 FrostiaQuest_Homunculus, 2;
warp .@mapn$, any(45,46), 79;
end;
}
-// Okay, we're done with basic warps
001-7,50,112,0 script Abandoned Fountain#MKH NPC_NO_SPRITE,{
.@q=getq2(FrostiaQuest_Homunculus);
diff --git a/npc/023-3-1/logic.txt b/npc/023-3-1/logic.txt
index 62ce7d33e..540c19c91 100644
--- a/npc/023-3-1/logic.txt
+++ b/npc/023-3-1/logic.txt
@@ -6,8 +6,9 @@
023-3-1 mapflag zone MMO
-023-3,39,59,0 script #Exit02331 NPC_HIDDEN,1,0,{
+023-3-1,45,27,0 script #Finish02331 NPC_HIDDEN,0,0,{
end;
+
OnTouch:
.@n=getq(General_Narrator);
.@q=getq2(FrostiaQuest_Homunculus);
@@ -17,34 +18,17 @@ OnTouch:
percentheal -100, -100;
return false;
}
- if (.@n == 15) {
- dispbottom lg("I'm not a coward! I must press forward!");
+ if (.@q < 3) {
+ dispbottom l("The magic power outflowing in the room prevents you from leaving.");
end;
}
- .@mapn$="001-7";
- warp .@mapn$, 59, 45;
- end;
-}
-
-023-3-1,45,27,0 script #Finish02331 NPC_HIDDEN,0,0,{
- end;
-
-OnTouch:
- .@n=getq(General_Narrator);
- .@q=getq2(FrostiaQuest_Homunculus);
- // Cheater Detected
- if (.@n < 13) {
- warp "Save", 0, 0;
- percentheal -100, -100;
- return false;
- }
.@mapn$="023-3-2";
warp .@mapn$, any(39,40), 58;
end;
}
-023-3,45,27,0 script #Leave02331 NPC_HIDDEN,1,0,{
+023-3-1,45,80,0 script #Exit02331 NPC_HIDDEN,1,0,{
end;
OnTouch:
.@n=getq(General_Narrator);
diff --git a/npc/024-16/king.txt b/npc/024-16/king.txt
index 3dc1e98a3..2e52ef0eb 100644
--- a/npc/024-16/king.txt
+++ b/npc/024-16/king.txt
@@ -92,10 +92,7 @@ L_Continue:
L_Campaign:
.@q=getq(FrostiaQuest_Homunculus);
- // Logout/dead/etc. → Destroy the quest state
- // Meaning you'll have to start over. To prevent logout-cheats.
- if (.@q)
- setq FrostiaQuest_Homunculus, .@q, 0, 0;
+ // We probably should apply you a penalty should you flee... no?
// Debug functionality
if (is_staff()) {