Jump to content

Unseeung Eye not appearing


CamDawg

Recommended Posts

From BD:

 

Unseeing Eye Not Appearing Fix resolves the bug where the Unseeing Eye Beholder would not appear if the Rift Device was put together, the game saved, then the save reloaded.

 

Because I trust REPLACE_BCS_BLOCK as far as I can throw it, I False() the existing script blocks and then extend the script.

 

// UE not appearing bug
COPY_EXISTING ~ar0205.BCS~ ~override~
 DECOMPILE_BCS_TO_BAF
   REPLACE_TEXTUALLY ~PartyHasItem("MISC5A")~
                     ~False()~
 COMPILE_BAF_TO_BCS
EXTEND_TOP ~ar0205.bcs~ ~bg2fixpack/baf/ar0205.baf~

 

ar0205.baf:

 

IF
PartyHasItem("MISC5A") // Rift Device Part
PartyHasItem("MISC5B") // Rift Device Part
Global("VP_UE_Appears","GLOBAL",0)
THEN
RESPONSE #100
 TakePartyItem("MISC5A") // Rift Device Part
 TakePartyItem("MISC5B") // Rift Device Part
 GiveItemCreate("MISC5C",Player1,0,0,0) // Rift Device
 DisplayStringHead(Player1,31215) // The two parts meld into one, and the assembled rod seethes with power, feeding your crueler emotions.  Greed, hate, lust, and violence all surge within you and you now know why this device has been hidden away.  The rod can be used like a wand and has but one charge.  You should equip it in your quick slot immediately.
 SetGlobal("VP_UE_Appears","GLOBAL",1)
END

IF
PartyHasItem("MISC5C") // Rift Device
!Dead("UnseeingEye")
OR(2)
 Global("VP_UE_Appears","GLOBAL",0)
 Global("VP_UE_Appears","GLOBAL",1)
THEN
RESPONSE #100
 SetGlobal("VP_UE_Appears","GLOBAL",2)
 AddexperienceParty(26250)
 Wait(7)
 CreateCreature("BHEYE",[2528.1897],12) // Unseeing Eye
END

IF
Dead("UnseeingEye")
!Global("VP_UE_Appears","GLOBAL",3)
THEN
RESPONSE #100
 SetGlobal("VP_UE_Appears","GLOBAL",3)
END

Link to comment

The Unseeing Eye should also appear only once. Now, you wind up with two Unseeing Eyes if you first tell Gaal you have half of the Rift Device, then go down the pit instead of sticking around to fight him. You assemble the Rod and the Unseeing Eye appears. After killing that Unseeing Eye, you return to Gaal, who attacks you. When you kill him, the Unseeing Eye appears again.

Link to comment

OK, have this figured. Gaal sets a Global, which causes ar0202 to summon the Eye, if !Dead and !Exists. The problem is that Gaal doesn't take the item--which means you can still run downstairs and merge the rod. Adding an action for Gaal to take and destroy the rod part should prevent this.

 

.d code:

 

// one of three blocks to fix Nalia's kickout dialogues
ADD_TRANS_ACTION GAAL
BEGIN 18 END
BEGIN 0 END
~TakePartyItem("misc5a")
DestroyItem("misc5a")~

 

Added in alpha 4.

Link to comment

Err, no. One further refinement: Gaal should not destroy the component, as the player should still be able to take it from his body. Since Gaal sets a Global, I've added a check for he absence of that global while in the UE's lair. As such, ar0205 is actually extended with this (Global("UnseeingEye","GLOBAL",1) is the global set by Gaal):

 

IF
 PartyHasItem("MISC5A") // Rift Device Part
 PartyHasItem("MISC5B") // Rift Device Part
 Global("VP_UE_Appears","GLOBAL",0)
THEN
 RESPONSE #100
   TakePartyItem("MISC5A") // Rift Device Part
   TakePartyItem("MISC5B") // Rift Device Part
   GiveItemCreate("MISC5C",Player1,0,0,0) // Rift Device
   DisplayStringHead(Player1,31215) // The two parts meld into one, and the assembled rod seethes with power, feeding your crueler emotions.  Greed, hate, lust, and violence all surge within you and you now know why this device has been hidden away.  The rod can be used like a wand and has but one charge.  You should equip it in your quick slot immediately.
   SetGlobal("VP_UE_Appears","GLOBAL",1)
END

IF
 PartyHasItem("MISC5C") // Rift Device
 !Global("UnseeingEye","GLOBAL",1)
 !Dead("UnseeingEye")
 OR(2)
   Global("VP_UE_Appears","GLOBAL",0)
   Global("VP_UE_Appears","GLOBAL",1)
THEN
 RESPONSE #100
   AddexperienceParty(26250)
   SetGlobal("VP_UE_Appears","GLOBAL",2)
   Wait(7)
   CreateCreature("BHEYE",[2528.1897],12) // Unseeing Eye
END

IF
 Dead("UnseeingEye")
 !Global("VP_UE_Appears","GLOBAL",3)
THEN
 RESPONSE #100
   SetGlobal("VP_UE_Appears","GLOBAL",3)
END

 

...and the d code to go with it:

 

// one of three blocks to fix Nalia's kickout dialogues
ADD_TRANS_ACTION GAAL
BEGIN 18 END
BEGIN 0 END
~TakePartyItem("misc5a")~

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...