Jump to content

Improved Final Battle scs1 bugged.


Kai

Recommended Posts

Is there a way to fix this in game via script editing? I am not much for reinstalling for 14 hours.

 

I never sought that option of Kivan killing Tazok early, as I felt something would go wrong. But if I do choose it, how can I set that back so Tazok will be back for the final battle? Without CLUA, since I am very keen on fixing my game locally.

 

Thanks for any assistance

 

just wait till chapter 5, if you killed him or not in chapter 4, check your globals via shadow keeper or near infinity, look for SPRITEISDEAD#TAZOK or something along those lines, and make sure its set to 0, save and load the edit save game. (note that shadow keeper wont let you edit quicksaves and autosaves, so youll have to make a temporary full save, but near infinity is ok)

 

if you didn't kill him you wont find a SPRITEISDEAD for him so you should be ok, he will still be in the final battle regardless, there's some kivan quest stuff that makes mention of his resurrection, but if that global is set to 1 then he and semja will just stand there doing nothing while a invincible sarevok wipes out the world :|

Link to comment

We're in pretty bad need of a permanent fix here... I tried to check over at SHS but I just got confused. First there is talk of modifications to be done to _sarevok.baf and then there is work done on the sarevok.cre file... I don't even know if both things need to be done or if one replaces the other.. :crazyeyes:

Link to comment
We're in pretty bad need of a permanent fix here...

 

I welcome grant applications to support me taking sabbatical to do this; failing that, it'll have to wait till summer, sorry :crazyeyes:

 

Inter alia: I didn't encounter this in my last playthrough. That makes me suspect it's connected to the death of Tazok, which isn't possible (I think) in vanilla BG1 but which BG1NPC allows. So my suggestion is to do

 

SetGlobal("SPRITE_IS_DEADTAZOK","GLOBAL",0)

 

which will remove any reference of Tazok's death.

Link to comment
We're in pretty bad need of a permanent fix here... I tried to check over at SHS but I just got confused. First there is talk of modifications to be done to _sarevok.baf and then there is work done on the sarevok.cre file... I don't even know if both things need to be done or if one replaces the other.. :crazyeyes:

Salk, the actually situation is described in the post #91 of Hoppy.

You need only the SAREVO.cre.

 

http://www.shsforums.net/index.php?s=&...st&p=391817

 

Greetings Leomar

Link to comment

We're in pretty bad need of a permanent fix here...

 

I welcome grant applications to support me taking sabbatical to do this; failing that, it'll have to wait till summer, sorry :crazyeyes:

 

Inter alia: I didn't encounter this in my last playthrough. That makes me suspect it's connected to the death of Tazok, which isn't possible (I think) in vanilla BG1 but which BG1NPC allows. So my suggestion is to do

 

SetGlobal("SPRITE_IS_DEADTAZOK","GLOBAL",0)

 

which will remove any reference of Tazok's death.

 

 

We found that the transition failed with or without killing Tazok being dead from BG1 NPC. I am sure in the case of doing so, that would be a different solution, but I tested a save without having killed Tazok and it doesn't go anywhere. I did not take any of the items form SCS2, just placed the resistances (rings) in their proper categories (belt, boot, etc.) and added the BGMINHP1 that got mixed up. Without that little chestnut, he dies without dialog.

Link to comment
We're in pretty bad need of a permanent fix here... I tried to check over at SHS but I just got confused. First there is talk of modifications to be done to _sarevok.baf and then there is work done on the sarevok.cre file... I don't even know if both things need to be done or if one replaces the other.. :crazyeyes:

Replace the portion of the SCS .tp2 that modifies SAREVO.CRE with the following to resolve this issue upon install:

ACTION_IF FILE_EXISTS_IN_GAME ~data/BG1ARE.BIF~ THEN BEGIN
 COPY_EXISTING ~%tutu_var%sarevo.cre~ ~override~
PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
  WRITE_BYTE 0x59 ~50~	// slightly reduced base resistances since he gets them from his followers
WRITE_BYTE 0x5a ~50~
WRITE_BYTE 0x5b ~50~
WRITE_BYTE 0x5c ~50~
WRITE_BYTE 0x5e ~50~
WRITE_BYTE 0x5f ~50~
WRITE_BYTE 0x63 ~0~
ADD_CRE_ITEM ~dw#sarr1~ #0 #0 #0 ~IDENTIFIED~ ~RRING~		//items to simulate acolyte-shielding
ADD_CRE_ITEM ~dw#sarr2~ #0 #0 #0 ~IDENTIFIED~ ~BOOTS~
ADD_CRE_ITEM ~dw#sarr3~ #0 #0 #0 ~IDENTIFIED~ ~GLOVES~
ADD_CRE_ITEM ~dw#sarr4~ #0 #0 #0 ~IDENTIFIED~ ~BELT~
END
BUT_ONLY_IF_IT_CHANGES
END

Link to comment

We're in pretty bad need of a permanent fix here...

 

I welcome grant applications to support me taking sabbatical to do this; failing that, it'll have to wait till summer, sorry :crazyeyes:

 

Even if I would like to contribute economically to have people like you and others (SimDing0, Ascension64, CamDawg ecc. ecc.) stay home and work on mods instead ( :groucho: ), I was actually more speaking of those guys involved in searching a BGT viable solution here.

 

As I mentioned in another thread, I perfectly understand modders have real lives and I'd not dream of pushing on them to solve new issues.

 

When we speak of already fixed locally items though, my opinion differs. :blush:

Link to comment

We're in pretty bad need of a permanent fix here... I tried to check over at SHS but I just got confused. First there is talk of modifications to be done to _sarevok.baf and then there is work done on the sarevok.cre file... I don't even know if both things need to be done or if one replaces the other.. :crazyeyes:

Replace the portion of the SCS .tp2 that modifies SAREVO.CRE with the following to resolve this issue upon install:

ACTION_IF FILE_EXISTS_IN_GAME ~data/BG1ARE.BIF~ THEN BEGIN
 COPY_EXISTING ~%tutu_var%sarevo.cre~ ~override~
PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
  WRITE_BYTE 0x59 ~50~	// slightly reduced base resistances since he gets them from his followers
WRITE_BYTE 0x5a ~50~
WRITE_BYTE 0x5b ~50~
WRITE_BYTE 0x5c ~50~
WRITE_BYTE 0x5e ~50~
WRITE_BYTE 0x5f ~50~
WRITE_BYTE 0x63 ~0~
ADD_CRE_ITEM ~dw#sarr1~ #0 #0 #0 ~IDENTIFIED~ ~RRING~		//items to simulate acolyte-shielding
ADD_CRE_ITEM ~dw#sarr2~ #0 #0 #0 ~IDENTIFIED~ ~BOOTS~
ADD_CRE_ITEM ~dw#sarr3~ #0 #0 #0 ~IDENTIFIED~ ~GLOVES~
ADD_CRE_ITEM ~dw#sarr4~ #0 #0 #0 ~IDENTIFIED~ ~BELT~
END
BUT_ONLY_IF_IT_CHANGES
END

 

You mean I should completely remove the //Sarevok section that comes in the SCS .tp2

 

ACTION_IF FILE_EXISTS_IN_GAME ~fw0100.are~ THEN BEGIN
OUTER_SPRINT ~false_in_tutu~ ~False()~
OUTER_SPRINT ~tutudoor_0200~ ~0200~
OUTER_SPRINT ~tutudoor_0109a~ ~0109a~
OUTER_SPRINT ~tutudoor_0109b~ ~0109b~
OUTER_SPRINT ~tutudoor_0111~ ~0111~
COMPILE EVALUATE_BUFFER ~scs/endbattle/_sarevok.baf~
COPY ~override/_sarevok.bcs~ ~override~
	REPLACE ~333331~ @1014
	REPLACE ~333332~ @1007
	REPLACE ~333333~ @1099
	REPLACE ~333334~ @2001
END ELSE BEGIN // I have no idea what this does but it's in SCSBGT
OUTER_SPRINT ~false_in_tutu~ ~~
OUTER_SPRINT ~tutudoor_0200~ ~7300~
OUTER_SPRINT ~tutudoor_0109a~ ~7209a~
OUTER_SPRINT ~tutudoor_0109b~ ~7209b~
OUTER_SPRINT ~tutudoor_0111~ ~7211~
COMPILE EVALUATE_BUFFER ~scs/endbattle/_sarevok.baf~
COPY ~override/_sarevok.bcs~ ~override~
	REPLACE ~333331~ @1014
	REPLACE ~333332~ @1007
	REPLACE ~333333~ @1099
	REPLACE ~333334~ @2001
COPY_EXISTING ~_sarevok.bcs~ ~override/bgsarvok.bcs~
END

COPY_EXISTING ~%tutu_var%sarevo.cre~ ~override~
WRITE_SHORT 0x24 ~250~ // In vanilla BG, Sarevok dies at 150hp to avoid bugs due
WRITE_SHORT 0x26 ~250~ // to him ~chunking~. But of course in TUTU that confuses 
			// the ~injured/badly injured/nearly dead~ display.
			// We use a min-hp ring instead.
WRITE_BYTE 0x59 ~40~	// slightly reduced base resistances since he gets them from his followers
WRITE_BYTE 0x5a ~40~
WRITE_BYTE 0x5b ~40~
WRITE_BYTE 0x5c ~40~
WRITE_BYTE 0x5e ~40~
WRITE_BYTE 0x5f ~40~
WRITE_BYTE 0x63 ~0~
READ_LONG 0x2bc ~%itemoffset%~
WRITE_ASCII (~%itemoffset%~+0x50) ~minhp1~ #8 // give him the min-hp ring
ADD_CRE_ITEM ~dw#sarr1~ #0 #0 #0 ~IDENTIFIED~ ~RRING~//items to simulate acolyte-shielding
ADD_CRE_ITEM ~dw#sarr2~ #0 #0 #0 ~IDENTIFIED~ ~BOOTS~
ADD_CRE_ITEM ~dw#sarr3~ #0 #0 #0 ~IDENTIFIED~ ~GLOVES~
ADD_CRE_ITEM ~dw#sarr4~ #0 #0 #0 ~IDENTIFIED~ ~AMULET~

ACTION_IF FILE_EXISTS_IN_GAME ~fw0100.are~ THEN BEGIN
COPY_EXISTING ~_sarevo.cre~ ~override~
	ADD_CRE_ITEM ~minhp1~ #0 #0 #0 ~NONE~ ~LRING~
END


COMPILE EVALUATE_BUFFER ~scs/endbattle/sarevok.d~

 

 

and replace it with the one sensibly shorter above?

 

P.S. For the little-nothing I understand about coding, wouldn't this bring back Sarevok's vanilla resistances that were toned down by DavidW to 40?

Link to comment

Hey Salk,

I think erebusant means after the bit about sarevok.bcs.

Just that big block COPY EXISTING ~%tutu_var%sarevo.cre~ ~override~ to the END so it properly tags those DW#SARR items for David's improved stuff. Let us know if you have more questions.

Link to comment

Hoppy,

 

thanks for your help (and thanks to Erebusant as well of course) but I am still confused.

 

So let's try a step to step approach here:

 

let's say that I didn't start yet any BGT game.

 

What files need modifications in this case? .tp2, .baf and/or .cre?

 

And what parts need to be changed in the specific?

 

Thanks! :crazyeyes:

Link to comment

Just that part of the TP2. It will keep his resistance items from getting misplaced and in the end, the MINHP1 thing getting goofed (No dialog at 1HP). No BAFs are changed or anything to do with improved Sarevok.

 

I know there was a lot frustration in that other thread but the creature fix that I did was for already installed SCS with those having problems. Also to rebuild the creature in a working fashion without taking the items out, just correctly organizing them. Then the TP2 ninjas came in to finish the job to see how to get the end result or more critically, what went wrong.

 

If you already have installed and seeing the issue, just use the creature. If you want to reinstall, edit the TP2 and you should be good to go. Have fun. Great Battle!

Link to comment

We're in pretty bad need of a permanent fix here... I tried to check over at SHS but I just got confused. First there is talk of modifications to be done to _sarevok.baf and then there is work done on the sarevok.cre file... I don't even know if both things need to be done or if one replaces the other.. :crazyeyes:

Replace the portion of the SCS .tp2 that modifies SAREVO.CRE with the following to resolve this issue upon install:

ACTION_IF FILE_EXISTS_IN_GAME ~data/BG1ARE.BIF~ THEN BEGIN
 COPY_EXISTING ~%tutu_var%sarevo.cre~ ~override~
PATCH_IF (SOURCE_SIZE > 0x2d3) THEN BEGIN // protects against invalid files
  WRITE_BYTE 0x59 ~50~	// slightly reduced base resistances since he gets them from his followers
WRITE_BYTE 0x5a ~50~
WRITE_BYTE 0x5b ~50~
WRITE_BYTE 0x5c ~50~
WRITE_BYTE 0x5e ~50~
WRITE_BYTE 0x5f ~50~
WRITE_BYTE 0x63 ~0~
ADD_CRE_ITEM ~dw#sarr1~ #0 #0 #0 ~IDENTIFIED~ ~RRING~		//items to simulate acolyte-shielding
ADD_CRE_ITEM ~dw#sarr2~ #0 #0 #0 ~IDENTIFIED~ ~BOOTS~
ADD_CRE_ITEM ~dw#sarr3~ #0 #0 #0 ~IDENTIFIED~ ~GLOVES~
ADD_CRE_ITEM ~dw#sarr4~ #0 #0 #0 ~IDENTIFIED~ ~BELT~
END
BUT_ONLY_IF_IT_CHANGES
END

 

You mean I should completely remove the //Sarevok section that comes in the SCS .tp2

 

ACTION_IF FILE_EXISTS_IN_GAME ~fw0100.are~ THEN BEGIN
OUTER_SPRINT ~false_in_tutu~ ~False()~
OUTER_SPRINT ~tutudoor_0200~ ~0200~
OUTER_SPRINT ~tutudoor_0109a~ ~0109a~
OUTER_SPRINT ~tutudoor_0109b~ ~0109b~
OUTER_SPRINT ~tutudoor_0111~ ~0111~
COMPILE EVALUATE_BUFFER ~scs/endbattle/_sarevok.baf~
COPY ~override/_sarevok.bcs~ ~override~
	REPLACE ~333331~ @1014
	REPLACE ~333332~ @1007
	REPLACE ~333333~ @1099
	REPLACE ~333334~ @2001
END ELSE BEGIN // I have no idea what this does but it's in SCSBGT
OUTER_SPRINT ~false_in_tutu~ ~~
OUTER_SPRINT ~tutudoor_0200~ ~7300~
OUTER_SPRINT ~tutudoor_0109a~ ~7209a~
OUTER_SPRINT ~tutudoor_0109b~ ~7209b~
OUTER_SPRINT ~tutudoor_0111~ ~7211~
COMPILE EVALUATE_BUFFER ~scs/endbattle/_sarevok.baf~
COPY ~override/_sarevok.bcs~ ~override~
	REPLACE ~333331~ @1014
	REPLACE ~333332~ @1007
	REPLACE ~333333~ @1099
	REPLACE ~333334~ @2001
COPY_EXISTING ~_sarevok.bcs~ ~override/bgsarvok.bcs~
END

COPY_EXISTING ~%tutu_var%sarevo.cre~ ~override~
WRITE_SHORT 0x24 ~250~ // In vanilla BG, Sarevok dies at 150hp to avoid bugs due
WRITE_SHORT 0x26 ~250~ // to him ~chunking~. But of course in TUTU that confuses 
			// the ~injured/badly injured/nearly dead~ display.
			// We use a min-hp ring instead.
WRITE_BYTE 0x59 ~40~	// slightly reduced base resistances since he gets them from his followers
WRITE_BYTE 0x5a ~40~
WRITE_BYTE 0x5b ~40~
WRITE_BYTE 0x5c ~40~
WRITE_BYTE 0x5e ~40~
WRITE_BYTE 0x5f ~40~
WRITE_BYTE 0x63 ~0~
READ_LONG 0x2bc ~%itemoffset%~
WRITE_ASCII (~%itemoffset%~+0x50) ~minhp1~ #8 // give him the min-hp ring
ADD_CRE_ITEM ~dw#sarr1~ #0 #0 #0 ~IDENTIFIED~ ~RRING~//items to simulate acolyte-shielding
ADD_CRE_ITEM ~dw#sarr2~ #0 #0 #0 ~IDENTIFIED~ ~BOOTS~
ADD_CRE_ITEM ~dw#sarr3~ #0 #0 #0 ~IDENTIFIED~ ~GLOVES~
ADD_CRE_ITEM ~dw#sarr4~ #0 #0 #0 ~IDENTIFIED~ ~AMULET~

ACTION_IF FILE_EXISTS_IN_GAME ~fw0100.are~ THEN BEGIN
COPY_EXISTING ~_sarevo.cre~ ~override~
	ADD_CRE_ITEM ~minhp1~ #0 #0 #0 ~NONE~ ~LRING~
END


COMPILE EVALUATE_BUFFER ~scs/endbattle/sarevok.d~

 

 

and replace it with the one sensibly shorter above?

 

P.S. For the little-nothing I understand about coding, wouldn't this bring back Sarevok's vanilla resistances that were toned down by DavidW to 40?

The only part to replace should be the part referring to the .cre file. The other parts referring to the bcs files are ok. For those with a Tutu install, I'd put the MINHP1 itm in the "belt" slot so you don't overwrite the haste effect of the MAGE06.itm that is in the LRing position

Link to comment

Just so I can keep up (for that day when I actually get a chance to do my own upgrade): exactly when do problems with Sarevok arise on BGT and on TUTU? I know the problem is at any rate not universal on TUTU since my last playthrough was fine.

Link to comment

Archived

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

×
×
  • Create New...