Jump to content


waebbl's Content

There have been 29 items by waebbl (Search limited from 16-May 23)


By content type

See this member's


Sort by                Order  

#582891 [Research] The 'my transition is stuck' thread

Posted by waebbl on 24 November 2015 - 04:26 PM in BGT Archive

I found this interesting bit in the BGT documentation (related to transition stuck problem where the familiar blocked Imoen from opening PC's cage and start dialogue)

 

Familiar importation

If a familiar is out during the transition to Shadows of Amn, it will follow the player into Irenicus’ dungeon. However, if the familiar is in inventory, its importation occurs by script in AR0602.BCS. Since DropInventory() does not drop undroppable items (this is to preserve unique items of joinable NPCs, such as Minsc’s Boo), and the start of Shadows of Amn calls upon DestroyAllEquipment(), which removes all items regardless of their parameters, there is a gap where checks for a familiar in inventory can take place. Familiar checks check for familiar type, but also required the MeetOldenFriends global variable to be set to 100, exclusive to the importation process. This prevents characters directly imported into Shadows of Amn from erroneously keeping their familiar. The familiar, if found, is placed in Picture 1 of AR0602.ARE.

 

I never used familiars so I am not sure about the last point of finding the familiar again. The red 100 is misprinted as 10 in the BGT documentation, it is 100 in ar0602,bcs

In my savegame, the familiar is actually not in Picture 1. I made two saves before the transition, one with cat in my backpack, and another with it outside. The relevant variables of WTPFamiliar, as far as I have found them, (WTP* and #G*) are actually identical in both saves, and also with the autosave happening after newscene.bcs. The MeetOldenFriends variable is set to 100. The familiar might not be found by BGT, because WTPFamiliar uses different names for them, all starting with wtp.




#582897 [Research] The 'my transition is stuck' thread

Posted by waebbl on 24 November 2015 - 06:05 PM in BGT Archive

I found this in ar0602.bcs:
 

IF
	Global("MeetOldenFriends","GLOBAL",100)
	Global("IHaveFamiliar","GLOBAL",0)
	PartyHasItem("FAMCAT") // Vertrauter
THEN
	RESPONSE #100
		ActionOverride("Picture 1",TakePartyItem("FAMCAT")) // Vertrauter
		SetGlobal("IHaveFamiliar","GLOBAL",2)
		Continue()
END

SImiliar blocks are there for other familiars as well.

With WTPFamiliars installed, the familiars are called WTP* instead of FAM*, i.e. WTPCat for the cat familiar. And I don't have a variable IHaveFamiliar defined at all. I have no clue, where this gets set to 0, maybe when the original spell Find Familiar is cast, but the spell is modified by WTPFamiliars IIRC. I did all kind of searches with NI, but only found this variable set to 2 within ar0602.bcs. Looks like this could be the source, why the familiar doesn't appear in Picture 1.




#583060 [Research] The 'my transition is stuck' thread

Posted by waebbl on 26 November 2015 - 05:34 PM in BGT Archive

The Global set to 0 is the default, it is not set but is equal to does not exist, ie in your case it IS 0 already.

This behaviour I didn't know. It's not very common for many programming languages to have an undefined variable equal (integer) 0. It's not noted in the IESDP either.

 

I had this idea too and tried it using the save from before I last spoke to Gorion, but this doesn't work. But I didn't realize, that Candlekeep Chores starts, when you are already in ar0602. I check again with the other save file too.

 

I already reported to the WTP modmaker two days ago, didn't check back there yet, just came home from a short trip.




#583072 [Research] The 'my transition is stuck' thread

Posted by waebbl on 26 November 2015 - 11:13 PM in BGT Archive

They could also have used some special value, like NAN, NIL or NULL or whatever.

 

Using wptfmcat instead of WTPCat in the above snippet worked for me. Cat's in Picture 1, I can save the game and play.