diff options
-rw-r--r-- | npc/018-6-0/ctrl | 2 | ||||
-rw-r--r-- | npc/018-6-3/main.txt | 28 |
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$); |