From f69bebae3ff151d7766707dcb624a0240001e081 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 7 Sep 2019 20:36:20 -0300 Subject: 018-6-0 Main boss fight is now complete Reset upon death/logout NYI --- npc/018-6-3/main.txt | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'npc/018-6-3') 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$); -- cgit v1.2.3-60-g2f50