summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/018-6-0/ctrl2
-rw-r--r--npc/018-6-3/main.txt28
2 files changed, 27 insertions, 3 deletions
diff --git a/npc/018-6-0/ctrl b/npc/018-6-0/ctrl
index fad4beb65..ae809391f 100644
--- a/npc/018-6-0/ctrl
+++ b/npc/018-6-0/ctrl
@@ -23,6 +23,8 @@ q1
→ Once the main shrine was reached: set to 511, Mana Stone story
& 512 => Boss defeated, cutscene ended, magic apple now visible
4 Ambush finished, return to elenium mines
+ 0 Magic Apple forgotten
+ 1 Magic Apple taken
5 Barbara captured
6 Reward claimed, Barbara Arrested
7 Reward claimed, Barbara NOT Arrested
diff --git a/npc/018-6-3/main.txt b/npc/018-6-3/main.txt
index 1f52890f4..ee7553c25 100644
--- a/npc/018-6-3/main.txt
+++ b/npc/018-6-3/main.txt
@@ -208,7 +208,7 @@ OnFinalRoom:
.@id=256;
mapannounce getmap(), col(l("FINAL BOSS FIGHT - WATCH OUT!"), 1), bc_map|bc_pc;
.@mi=NightDragon;
- .@boss=monster(getmap(), 90, 89, strmobinfo(1, .@mi), .@mi, 1, instance_npcname(.name$)+"::OnKillBoss");
+ @boss=monster(getmap(), 90, 89, strmobinfo(1, .@mi), .@mi, 1, instance_npcname(.name$)+"::OnKillBoss");
// Spawn reinforcements based on difficulty
AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, MagicGoblin, (@difficulty_modulus ? 4 : 2));
@@ -272,7 +272,21 @@ OnKill256:
end;
OnKillBoss:
- Exception("Could not finish the Boss Fight!");
+ if (playerattached()) {
+ enablenpc instance_npcname("???#01863");
+ getexp 200000, 10000;
+ unittalk(@boss, l("Alright... I shall acknowledge you..."));
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ setq LoFQuest_Barbara, 4, .@q2, 0;
+ // else: victory nullified (how did this happen)
+ } else {
+ enablenpc instance_npcname("Mana Stone#01863");
+ Exception("Could not finish the Boss Fight!");
+ }
+ enablenpc instance_npcname("#01863_fromCCtoNC");
+ enablenpc instance_npcname("#01863_fromCCtoSC");
end;
}
@@ -356,13 +370,21 @@ OnInit:
}
018-6-3,90,90,0 script ???#01863 NPC_NO_SPRITE,{
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q != 4)
+ Exception("ERROR INVALID APPLE 1863 ST NOT 4", RB_DEFAULT|RB_ISFATAL);
+ if (.@q3)
+ Exception("ERROR INVALID APPLE 1863 Q3 IS VALID", RB_DEFAULT|RB_ISFATAL);
+
mesc l("You see a red apple here. It is ")+b(l("small, red, round and shiny."));
next;
mesc l("Take it?");
if (askyesno() == ASK_YES) {
inventoryplace MagicApple, 1;
getitem MagicApple, 1;
- //setq
+ setq3 LoFQuest_Barbara, 1;
mes "";
mesc l("You take the @@. It seems to be the stolen item.", getitemlink(MagicApple));
disablenpc instance_npcname(.name$);