Jump to content


Photo

Protagonist can die


18 replies to this topic

#1 Blash2

Blash2
  • Members
  • 95 posts

Posted 28 July 2017 - 06:19 AM

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?



#2 K4thos

K4thos
  • Modders
  • 1057 posts
  • Gender:Male

Posted 29 July 2017 - 10:24 AM

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, 29 July 2017 - 10:41 AM.


#3 Blash2

Blash2
  • Members
  • 95 posts

Posted 29 July 2017 - 10:39 AM

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, 29 July 2017 - 11:36 AM.


#4 K4thos

K4thos
  • Modders
  • 1057 posts
  • Gender:Male

Posted 29 July 2017 - 12:49 PM

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, 29 July 2017 - 12:57 PM.


#5 Ikki

Ikki
  • Members
  • 47 posts

Posted 29 July 2017 - 02:00 PM

 

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 ...



#6 Ardanis

Ardanis

    A very GAR character

  • Modders
  • 2585 posts
  • Gender:Male
  • Location:Saint-Petersburg, Russia

Posted 29 July 2017 - 03:44 PM

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


Retired from modding.


#7 Roxanne

Roxanne

    Modder

  • Modders
  • 2041 posts
  • Gender:Female
  • Location:Auckland, NZ

Posted 29 July 2017 - 10:14 PM

 

 

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.


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*


#8 ALIENQuake

ALIENQuake
  • Modders
  • 452 posts
  • Gender:Male
  • Location:Poland

Posted 30 July 2017 - 01:00 AM

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, 30 July 2017 - 04:31 AM.

You cannot have progress without changes...


#9 Blash2

Blash2
  • Members
  • 95 posts

Posted 30 July 2017 - 01:59 AM

 

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".



#10 Ikki

Ikki
  • Members
  • 47 posts

Posted 30 July 2017 - 01:59 AM

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



#11 Blash2

Blash2
  • Members
  • 95 posts

Posted 30 July 2017 - 02:05 AM

 

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.



#12 Ardanis

Ardanis

    A very GAR character

  • Modders
  • 2585 posts
  • Gender:Male
  • Location:Saint-Petersburg, Russia

Posted 30 July 2017 - 02:13 AM

 

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.


Retired from modding.


#13 K4thos

K4thos
  • Modders
  • 1057 posts
  • Gender:Male

Posted 30 July 2017 - 02:47 AM

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, 30 July 2017 - 02:50 AM.


#14 Ikki

Ikki
  • Members
  • 47 posts

Posted 30 July 2017 - 02:55 AM

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



#15 Roxanne

Roxanne

    Modder

  • Modders
  • 2041 posts
  • Gender:Female
  • Location:Auckland, NZ

Posted 30 July 2017 - 03:03 AM

 

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...)


The Sandrah Saga

another piece of *buggy, cheesy, unbalanced junk*




Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users