In a dialogue file of Ender Sai standing in Tazok's Tent, the last action is EscapeAreaDestroy(90), which replaces original EscapeArea(). I don't know the reason why someone decided to replace it, but what happens now is that the guy continues standing for 90 seconds after the end of the dialogue and blocking the way to the chest which contains important stuff. Removing him by force would result in dropping reputation. I'm going to return the original EscapeArea() in my fixes for BGT, but I suggest you do the same in your installation.
Small Issue
#1
Posted 08 August 2015 - 05:10 AM
#2
Posted 08 August 2015 - 05:32 AM
EscapeAreaDestroy() should make him move to the nearest exit point so something is preventing him from moving Is he overencumbered or something?
"I am the smiley addict, yellow and round, this is my grin when I'm usually around .
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"
BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST
GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod
#3
Posted 08 August 2015 - 07:33 AM
I have serious issues with that action as well, it seems. In my case, the NPCs disappear from the screen instead of moving to an exit point.
Game Over Only on Party Dead (BGT/EasyTuTu/BG2)
WTP Familiars(BGT/BG2)
#4
Posted 08 August 2015 - 07:42 AM
I would propose that each one of you makes an LStest run so we can deterninate the responding kind of behaviour for reasons(aka what the scripts do over all ).
Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit).
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.
#5
Posted 08 August 2015 - 08:12 AM
In my case, the NPCs disappear from the screen instead of moving to an exit point.
This is precisely why A64 changed all the EscapeArea() into EscapeAreaDestroy() The behaviour you see is what EscapeArea() does by default - no clue why EscapeAreaDestroy() is breaking for you though
"I am the smiley addict, yellow and round, this is my grin when I'm usually around .
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"
BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST
GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod
#6
Posted 08 August 2015 - 02:06 PM
It simply doesn't work, guys. You don't believe - try yourself.
I've replaced it with:
MoveToPointNoInterrupt([621.461]) EscapeArea()
It now works fine.
Edited by Vlad, 08 August 2015 - 02:09 PM.
#7
Posted 08 August 2015 - 02:29 PM
I just tried in my game, Clued myself in AR8701.ARE, talked with Ender and after conversation, he disappeared, like Salk said, and journal notes are added.
In dialog file is EscapeAreaDestroy(90), so I guess it works "fine". Not like it should be, what Lollorian said, but not game-breaking, like in Vlad's case.
Anyway, here is thread where King Diamond explains changes:
http://www.shsforums...ce/#entry196840
but, I guess EscapeAreaDestroy(90) doesn't have 100% success.
Edited by Mad Mate, 08 August 2015 - 02:59 PM.
#8
Posted 08 August 2015 - 03:51 PM
It'd be a pain to do each one of these individually for all instances of EAD(90), but in rare cases like this where it's not reliable, we could simply have the CRE do a MoveToPoint and then DestroySelf, emulating the EAD(90) by appearance, but without the glitchiness, since the script won't move on to one action before the previous one is finished (could be bolstered with SetInterrupt(F/T)).
#9
Posted 08 August 2015 - 08:18 PM
Agreed then BWPFixpack'd
"I am the smiley addict, yellow and round, this is my grin when I'm usually around .
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"
BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST
GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod
#10
Posted 08 August 2015 - 09:19 PM
I just tried in my game, Clued myself in AR8701.ARE, talked with Ender and after conversation, he disappeared, like Salk said, and journal notes are added.
In dialog file is EscapeAreaDestroy(90), so I guess it works "fine". Not like it should be, what Lollorian said, but not game-breaking, like in Vlad's case.
Thanks for testing this too, Mad Mate!
I wonder if you could test with any of those .cre found in the escape.d file (BGT\fixpack\) and see if in your case too EscapeAreaDestroy(90) often fails?
Edited by Salk, 08 August 2015 - 09:25 PM.
Game Over Only on Party Dead (BGT/EasyTuTu/BG2)
WTP Familiars(BGT/BG2)
#11
Posted 09 August 2015 - 11:35 AM
It seems EscapeAreaDestroy(90) is doing exactly what it's not supposed to do - it just destroys the character in the open space, while EscapeArea() allows him/her to go away first. Gerde in the Fishermen Village after giving me 75 gp for hunting ankhegs was destroyed without moving. Changing back to EscapeArea() allowed her to walk away. I think you should drop patching all the dialogues with experimental EscapeAreaDestroy(90) in the next fix.
Edited by Vlad, 09 August 2015 - 11:37 AM.
#12
Posted 09 August 2015 - 05:19 PM
The fix should be simple to implement but I'd be real interested to know why EA started working properly especially since Kind Diamond took the time to patch it
Did something flip the references of these functions in ACTION.IDS? Is ToBex fixing them?
"I am the smiley addict, yellow and round, this is my grin when I'm usually around .
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"
BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST
GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod
#13
Posted 09 August 2015 - 08:04 PM
In my game, EscapeAreaDestroy(90) works some times but it fails most times.
EscapeArea() on the other hand never gave me a problem.
Game Over Only on Party Dead (BGT/EasyTuTu/BG2)
WTP Familiars(BGT/BG2)
#14
Posted 09 August 2015 - 11:05 PM
I suggest that you make the small patch now and restore all EscapeArea() in dialogues. I don't want to continue playing knowing that there are many potential bugs caused by this faulty fix. I know that KD had a lot of great ideas but fixing things that work is not one of his best.
#15
Posted 09 August 2015 - 11:31 PM
Vlan (almost your namesake Vlad) pointed out this issue already in March (http://www.shsforums...ing-properly) /but not much has happened since.
According to Miloch EscapeArea() is not so good either.
Anyway, it's enough to comment out this following part from setup-bgt.tp2 (lines 7920-7942) before installing BGT:
COPY_EXISTING ~ajantis.bcs~ ~override/ajantis.bcs~ ~ar6801.bcs~ ~override/ar6801.bcs~ ~ar9600.bcs~ ~override/ar9600.bcs~ ~bandit.bcs~ ~override/bandit.bcs~ ~bandit2.bcs~ ~override/bandit2.bcs~ ~bandit3.bcs~ ~override/bandit3.bcs~ ~capcut02.bcs~ ~override/capcut02.bcs~ ~druid3.bcs~ ~override/druid3.bcs~ //~gnoll5.bcs~ ~override/gnoll5.bcs~ /*a hard-coded combination change is made below*/ ~gnoll5a.bcs~ ~override/gnoll5a.bcs~ ~greywolf.bcs~ ~override/greywolf.bcs~ ~guard1.bcs~ ~override/guard1.bcs~ ~guard2.bcs~ ~override/guard2.bcs~ ~hobgobc.bcs~ ~override/hobgobc.bcs~ ~kescape.bcs~ ~override/kescape.bcs~ ~sarrun.bcs~ ~override/sarrun.bcs~ ~shadow.bcs~ ~override/shadow.bcs~ ~thief.bcs~ ~override/thief.bcs~ ~watchen2.bcs~ ~override/watchen2.bcs~ DECOMPILE_BCS_TO_BAF REPLACE_TEXTUALLY ~EscapeArea()~ ~EscapeAreaDestroy(90)~ COMPILE_BAF_TO_BCS COMPILE ~bgt/fixpack/escape.d~
I personally reverted the changes on my ongoing game. I can provide the fix to anyone who needs it, of course.
It seems though that even EscapeArea() is often presenting the same problem so it's no real solution.
Edited by Salk, 10 August 2015 - 03:17 AM.
Game Over Only on Party Dead (BGT/EasyTuTu/BG2)
WTP Familiars(BGT/BG2)
#16
Posted 10 August 2015 - 03:41 AM
According to Miloch EscapeArea() is not so good either.Which is why Vlan ended up with MoveToPoint() ... and then I would use either of the escape's, as they would be in the exit area of the map already, action which can be intercepted by the party if the need arises.
...
It seems though that even EscapeArea() is often presenting the same problem so it's no real solution.
Yep, Jarno Mikkola. my Mega Mod FAQ. Use of the BWS, and how to use it(scroll down that post a bit).
OK, desert dweller, welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand. Ouh, actually it was still snow then.. but anyways.
#17
Posted 10 August 2015 - 07:27 AM
Have a blast I guess Copy this into a new file called Setup-EscapeArea.tp2 and grab a weidu.exe and rename to Setup-EscapeArea.exe to run
BACKUP ~EscapeArea/Backup~ AUTHOR ~Lollorian~ BEGIN ~EscapeAreaDestroy() -> EscapeArea()~ COPY_EXISTING_REGEXP GLOB ~^.+\.bcs$~ ~override~ DECOMPILE_AND_PATCH BEGIN REPLACE_TEXTUALLY ~EscapeAreaDestroy(90)~ ~EscapeArea()~ END <<<<<<<< .../mymod-inlined/escape.d REPLACE_ACTION_TEXT_REGEXP ~^.+$~ ~EscapeAreaDestroy(90)~ ~EscapeArea()~ >>>>>>>> COMPILE ~.../mymod-inlined/escape.d~
But since the entire issue isn't exactly clear, I'm reluctant to actually patch this out of BGT (the game-breaking case that Vlad mentioned is being patched with a MoveToPoint() however)
Can someone whose EscapeArea() works but EscapeAreaDestroy() fails attach their ACTION.IDS? Also, can someone check if ToBEx is involved?
Edited by Lollorian, 10 August 2015 - 07:44 AM.
"I am the smiley addict, yellow and round, this is my grin when I'm usually around .
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"
BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST
GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod
#18
Posted 10 August 2015 - 10:21 AM
Attached.
Salk, the list you have shown is very small. I have seen other dialogues having this issue. For example, ENDER.DLG and GERDE.DLG are not in the list. I've checked the vanilla BG1 installation and found only the EscapeArea() trigger in those dialogues, which means there are additional blocks in TP2 that do this patching.
Attached Files
Edited by Vlad, 10 August 2015 - 10:24 AM.
#19
Posted 10 August 2015 - 08:04 PM
Salk, the list you have shown is very small. I have seen other dialogues having this issue. For example, ENDER.DLG and GERDE.DLG are not in the list. I've checked the vanilla BG1 installation and found only the EscapeArea() trigger in those dialogues, which means there are additional blocks in TP2 that do this patching.
Yes, of course.
The .dlg list is included in escape.d.
Game Over Only on Party Dead (BGT/EasyTuTu/BG2)
WTP Familiars(BGT/BG2)
#20
Posted 11 August 2015 - 06:50 AM
Attached.
I saw nothing in your ACTION.IDS that might affect this Freaky bug is freaky!
"I am the smiley addict, yellow and round, this is my grin when I'm usually around .
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"
BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST
GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod