Jump to content

Protagonist can die


Blash2

Recommended Posts

I'm reporting a bug about the "protagonist can die tweak".

 

As in the old BGT, if protagonist dies, the corpse is loaded with the party every time you change area.

I tried the following:

- Kill protagonist outside Candlekeep;
- The corpse travels with you and spawns at the next map (where you meet Elminster);
- You travel to the FAI area, the corpse still spawns there;
- You enter FAI, the corpse spawns there;
- You exit FAI, the corpse spawns outside FAI;
- You enter the temple, the corpse remains outside FAI (don't know why);
- You resurrect the protagonist, and he is resurrected where the corpse was (outside FAI entrance), while the rest of the party is still inside the temple.

 

Is it supposed to work like this?

Link to comment

hmm, not really. It's meant to work like in IWD:EE (so the same for all party members). Don't remember such behavior the last time I tested it but maybe I didn't notice or this has been changed in one of the recent patches (component was implemented for patch 1.3). I will take a look and see if there is a way to solve this.

 

What the tweak currently does:

1. sets bit4 flag to all ARE files:

COPY_EXISTING_REGEXP GLOB ~^.+\.are$~ ~override~
    READ_BYTE 0x14 "flags"
    WRITE_BYTE 0x14 ("%flags%" BOR BIT4)
BUT_ONLY

2. Adds code to global script that triggers Game Over normally if tweak is disabled, player1 is chunked or whole party dies:

IF
  Global("K#DISABLE_PC_CAN_DIE","GLOBAL",1)
  StateCheck(Player1,STATE_REALLY_DEAD)
THEN
  RESPONSE #100
    GameOver(19377)
END

IF
  OR(3)
    NumInPartyAlive(0)
    StateCheck(Player1,STATE_EXPLODING_DEATH)
    StateCheck(Player1,STATE_FROZEN_DEATH)
THEN
  RESPONSE #100
    GameOver(19377)
END
Edited by K4thos
Link to comment

What I noticed is that this strange behaviour is exactly the same I noticed with the old TobEX tweak in BGT.

 

P.S.: With "all areas of the game", you mean "ALL", all the ones introduced by mods too?

Edited by Blash2
Link to comment
P.S.: With "all areas of the game", you mean "ALL", all the ones introduced by mods too?

yes

 

--------------

 

Player1 needs to be in active area in order to be resurrectable without crash. Tried DestroySelf() and MoveGlobal (to external area) and - crash every time. Changing Player1 flags to be like other NPCs doesn't change anything. JumpToPoint and Disabling cre doesn't work for death player1. The last solution I can think of is using action 234 to move the body from sight:

234 MoveGlobalObjectOffScreen(O:Object*,O:Target*)
This action moves the object creature a screen away from the specified target creature. The target object must be stored in the GAM file (i.e. NPC or added explicitly via the MakeGlobal action.

but it doesn't seems to work correctly for now (same problem as in this report, so maybe it will be fixed in patch 2.4). If the patch won't solve this issue or code like this in global script won't give good enough result:

IF
  StateCheck(Player1,STATE_REALLY_DEAD)
  OnScreen(Player1)
THEN
    RESPONSE #100
    MoveGlobalObjectOffScreen(Player1,Player2)
END

than I think the tweak will be removed from the package.

Edited by K4thos
Link to comment

 

than I think the tweak will be removed from the package.

 

It's the same behavoir than in BG2 classic with tobex : if you travel between area, inexpected result may append (sometimes a crash when resurrecting the main character, and sometimes he resurect in a different area than the party (very funny when there is a party require flag )

 

Just add a warning that charname must be resurrected very fast, and let people travel with a dead charname at their own risk

 

I alway's considered that lore friendly, the bhaal essence may take some times to fully ascend descend, but the more you wait, the more unexpect the success ...

Link to comment

 

 

than I think the tweak will be removed from the package.

 

It's the same behavoir than in BG2 classic with tobex : if you travel between area, inexpected result may append (sometimes a crash when resurrecting the main character, and sometimes he resurect in a different area than the party (very funny when there is a party require flag )

 

Just add a warning that charname must be resurrected very fast, and let people travel with a dead charname at their own risk

 

I alway's considered that lore friendly, the bhaal essence may take some times to fully ascend descend, but the more you wait, the more unexpect the success ...

 

It is probably asked too much, but the only way to avoid this would probably be a check if someone in the party (e.g. priest) has the ability to raise the player1 at all - unless you are in an area that has a temple.

Link to comment

Dead Player1 also breaks most of cutscenes, as they typically use him as CutsceneID (and sometimes it *must* be player1, e.g. for LeaveAreaLUA).

If i win a fight which will immediate trigger a cut scene and Player1 is dead, it's possible to break the game/progress/variables?

Edited by ALIENQuake
Link to comment

 

Dead Player1 also breaks most of cutscenes, as they typically use him as CutsceneID (and sometimes it *must* be player1, e.g. for LeaveAreaLUA).

If i win a fight which will immediate trigger a cut scene, it's possible to break the game?

 

 

I'm pretty sure this is a strong possibility..

 

Anyway, @K4thos, rather than removing that component, I would suggest adding a notice that it is likely to generate bugs, crashes and unexpected situation, so one can install it at his own risk.

 

I'm suggesting in the BWS thread to mark it as "expert".

Link to comment

Dead Player1 also breaks most of cutscenes, as they typically use him as CutsceneID (and sometimes it *must* be player1, e.g. for LeaveAreaLUA).

I didn't try the custscene (or more funny fighting faldorn) with a dead charname, but most of the time, your party member speak for charname if he is dead.

 

Moreover the engine carry the body of charname during most area transition, and sometimes your team member must get tired and let charname body drop, and he probably get eaten by wild animals (it's not a surprise if the resurrection fail if the body is missing)

 

But K4thos don't remove this component, let the player reload a little latter if there is a problem, without this component you must reload anyway if charname die

Link to comment

 

Dead Player1 also breaks most of cutscenes, as they typically use him as CutsceneID (and sometimes it *must* be player1, e.g. for LeaveAreaLUA).

I didn't try the custscene (or more funny fighting faldorn) with a dead charname, but most of the time, your party member speak for charname if he is dead.

 

Moreover the engine carry the body of charname during most area transition, and sometimes your team member must get tired and let charname body drop, and he probably get eaten by wild animals (it's not a surprise if the resurrection fail if the body is missing)

 

But K4thos don't remove this component, let the player reload a little latter if there is a problem, without this component you must reload anyway if charname die

 

 

I agree. I must say that when I made some tests with the ToBEX version of the tweak, I remember dead charname speaking in cutscenese while dead, lol.

Link to comment

 

Dead Player1 also breaks most of cutscenes, as they typically use him as CutsceneID (and sometimes it *must* be player1, e.g. for LeaveAreaLUA).

If i win a fight which will immediate trigger a cut scene, it's possible to break the game?

 

Dead actor usually can run the cutscene, but they're unable to Wait(). Area transitions also require to be run by Player1 (especially in multiplayer), and I think a couple times I've had issues with complex StartCutsceneMode() + CutsceneLite(TRUE) + breakable cutscene combinations if they weren't done by Player1 as well. Waiting was also required for some area transitions (e.g. dreams) to not fall apart in multiplayer mode.

So, as a rule of thumb, consider the possibility of playing with dead Charname to be a bug that must be rectified ASAP via resurrection, not a stable feature you can rely upon.

Link to comment
But K4thos don't remove this component, let the player reload a little latter if there is a problem, without this component you must reload anyway if charname die

if there are problems with current implementation than I think it's better to use a mod that would handle it differently. This one uses implementation that don't let Player1 die at all. I didn't look at the code but if it doesn't require some tobex features I doubt it would need any changes at all to work on EET.

 

Anyway, @K4thos, rather than removing that component, I would suggest adding a notice that it is likely to generate bugs, crashes and unexpected situation, so one can install it at his own risk.

 

that doesn't sound like something I'd like to endorse :D Especially if there are better alternatives out there.

Edited by K4thos
Link to comment

if there are problems with current implementation than I think it's better to use a mod that would handle it differently. This one uses implementation that don't let Player1 die at all. I didn't look at the code but if it doesn't require some tobex features I doubt it would need any changes at all to work on EET.

This mod completely ruin the challenge (and it's one of the great aspect of BG2) , your implementation or tobex one, are fair

Link to comment

 

But K4thos don't remove this component, let the player reload a little latter if there is a problem, without this component you must reload anyway if charname die

if there are problems with current implementation than I think it's better to use a mod that would handle it differently. This one uses implementation that don't let Player1 die at all. I didn't look at the code but if it doesn't require some tobex features I doubt it would need any changes at all to work on EET.

 

Until now we were lucky that this mod never made it into EET. Sounds like happy days are over. (Mod compatibility just goes down the drain...)

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...