Jump to content

[Bug report] EE content bugs


jmerry

Recommended Posts

All these years I've been playing this game, and never noticed that Prismatic Spray has effects for six rays and completely skips the seventh one listed in its description:

Quote

  Red — Inflicts 20 points of damage; Save vs. Spell for half.
  Orange — Inflicts 40 points of damage; Save vs. Spell for half.
  Yellow — Inflicts 80 points of damage; Save vs. Spell for half.
  Green — Save vs. Poison or die; survivors take 20 points of poison damage.
  Blue — Save vs. Petrification or be turned to stone.
  Indigo — Save vs. Wand or be feebleminded.
  Violet — Save vs. Spell or be disintegrated.

The green ray is not implemented.

Link to comment
5 hours ago, CamDawg said:

All these years I've been playing this game, and never noticed that Prismatic Spray has effects for six rays and completely skips the seventh one listed in its description:

The green ray is not implemented.

It's implemented on my install (both oBG2 and BG2EE).

Link to comment

The colouring of many creatures in PST:EE were mixed up when the assets were imported from the original. A boatload were fixed for release and in the patches but many remain to fix. Here are ones I know are unfixed still.


Pestle Kilnn and Pestle should be coloured correctly

# Start a new game and end the conversation with Morte.
# Spawn Pestle Kilnn: C:CreateCreature("PK")
# Spawn Pestle: C:CreateCreature("PESTLE")

*Observed*

Pestle Kilnn has normal skin, a light blue vest, a green shirt, and green trousers.

Pestle has a light green vest and a dark green shirt.

*Expected*

Pestle Kilnn has animated skin "Skin (hologram) in NearInfinity", a green vest, a light blue shirt, and light blue trousers.

Pestle has a dark green vest and a light green shirt.


Yves the Tale-Chaser should be coloured correctly

# Start a new game and end the conversation with Morte.
# Spawn Yves: C:CreateCreature("YVES")

*Observed*

Yves has orange hair and yellow shoulder straps.

*Expected*

Yves has yellow hair and orange shoulder straps.


Dolora should be coloured correctly

# Start a new game and end the conversation with Morte.
# Spawn Dolora: C:CreateCreature("DOLORA")

*Observed*

Dolora has white hair and gray shoulder straps.

*Expected*

Dolora has gray hair and white shoulder straps.


Kesai-Serris should be coloured correctly

# Start a new game and end the conversation with Morte.
# Spawn Kesai-Serris: C:CreateCreature("KESAI")

*Observed*

Kesai-Serris has red hair and gray shoulder straps/hairband.

*Expected*

Kesai-Serris has gray hair and red shoulder straps/hairband.


Ecco should be coloured correctly

# Start a new game and end the conversation with Morte.
# Spawn Ecco: C:CreateCreature("ECCO")

*Observed*

Ecco has yellow hair and brown shoulder straps.

*Expected*

Ecco has brown hair and yellow shoulder straps.


Juliette should be coloured correctly

# Start a new game and end the conversation with Morte.
# Spawn Juliette: C:CreateCreature("SADJULI")

*Observed*

Juliette has white hair and gray shoulder straps.

*Expected*

Juliette has gray hair and white shoulder straps.


Curst Citizens should be correctly coloured

# Start a new game and end the conversation with Morte.
# Spawn Curst Male 4: C:CreateCreature("CRSTMAL4")
# Spawn Curst Male 6: C:CreateCreature("CRSTMAL6")

*Observed*

# Curst Male 4 has a brown shoulder guard and brown trousers.
# Curst Male 6 has a brown shoulder guard and brown trousers.

*Expected*

# Curst Male 4 has a blue shoulder guard and blue trousers.
# Curst Male 6 has a light red shoulder guard and light red trousers.


Kiri should be correctly coloured

# Start a new game and end the conversation with Morte.
# Spawn Kiri: C:CreateCreature("KIRI")

*Observed*

Kiri has brown hair and golden leggings.

*Expected*

Kiri has golden hair and brown leggings.


Siabha should be correctly coloured

# Start a new game and end the conversation with Morte.
# Spawn Siabha: C:CreateCreature("SIABHA")

*Observed*

Siabha has green hair, a grey dress, and red things in the hair.

*Expected*

Siabha has red hair, a green dress, and grey things in the hair.


Curst Merchant should be correctly coloured

# Start a new game and end the conversation with Morte.
# Spawn the Merchant: C:CreateCreature("CRSTMRCH")

*Observed*

The Merchant has a light blue vest, grey shirt and brown trousers.

*Expected*

The Merchant has a grey vest, light blue shirt and dark blue trousers.


Tainted Barse should be correctly coloured

# Start a new game and end the conversation with Morte.
# Spawn Tainted Barse: C:CreateCreature("BARSE")

*Observed*

Tainted Barse has a bright yellow vest, bright green shirt and green trousers.

*Expected*

Tainted Barse has a bright green vest, bright yellow shirt and green trousers.

Edited by hook71
Link to comment

PST - You should not get duplicate journal entries after talking to Kitla twice

# Start a new game and end the conversation with Morte.
# Set a global: C:SetGlobal("Curst_Key","GLOBAL",2)
# Spawn Kitla: C:CreateCreature("KITLA")
# Talk to Kitla; select ( 1 > 1 > 1 > 1 ) - You get journal entry 49473.
# Talk to Kitla again; select ( 1 > 2 ) - You get journal entry 49485.
# Open the journal.

*Observed*

You have two identical journal entries.

*Expected*

You have one journal entry.

*Notes*

DKITLA.DLG - Either journal entry 49473 or 49485 should be added in state 5 and 9. Additionally a journal entry should not be added for the second response in state 9 as it is now.

The identical journal entries are the same in the orginal PST but you didn't get duplicate journal entries in the original.

Journal entry 49473 is:
Kitla has assigned me the task of getting legacies from two men - Crumplepunch and Kester - or of solving the squabble they're having. In return for this, she'll give me the second part of the Key to see the deva.

Journal entry 49485 is:
Kitla has assigned me the task of getting legacies from two men - Crumplepunch and Kester - or of solving the squabble they're having. In return for this, she'll give me the second part of the Key to see the deva.

Link to comment
On 4/9/2022 at 12:16 PM, hook71 said:

The colouring of many creatures in PST:EE were mixed up when the assets were imported from the original. A boatload were fixed for release and in the patches but many remain to fix. Here are ones I know are unfixed still.


Pestle Kilnn and Pestle should be coloured correctly

# Start a new game and end the conversation with Morte.
# Spawn Pestle Kilnn: C:CreateCreature("PK")
# Spawn Pestle: C:CreateCreature("PESTLE")

*Observed*

Pestle Kilnn has normal skin, a light blue vest, a green shirt, and green trousers.

Pestle has a light green vest and a dark green shirt.

*Expected*

Pestle Kilnn has animated skin "Skin (hologram) in NearInfinity", a green vest, a light blue shirt, and light blue trousers.

Pestle has a dark green vest and a light green shirt.

The root of both issues (special effects and color order) lies in the partly incompatible methods creature colors are implemented in the respective games.

PST implements both types, color values and color locations, directly in the CRE resource, so that special color effects (like Pestle Kilnn's hologram effect) can be applied on a per CRE basis.

PSTEE implements color locations in the animation definitions (INI files) which is usually shared by multiple creatures. Pestle Kilnn uses the Merchant animation, so it is impossible to apply the color effect without applying it to every other merchant as well.

The second issue (color field order) is rooted in how color locations are defined in PST. Based on my observations it looks like the actual location values are irrelevant (except for the special color effect bits). Only the relative position of defined location fields is used and applied, sequentially, to the creature color ranges. This is either a bug in PST or the actual location values were only meant to have descriptive purposes. The lowest two bits of color location are actually used to indicate special color effects though (bit 0: hologram, bit 1: pulsating effect). PSTEE seems to take the actual location value into account, which causes these many instances of misplaced creature colors in the game.

I can think of two options how to sort out all the coloring issues:

1) Check each creature individually and fix placement of the CRE color values according to the color locations defined in the associated INI file.

2) Perform a complete (and correct!) conversion from PST to PSTEE, and update both INI color locations and CRE color values for all creatures of the game.

The second approach sound more aggressive, but will likely result in much less work and fewer chances to mess up creature colors further.

To fix the special color effects (hologram, pulsating) I'd suggest to create separate animation slots where these effects are activated. Since only a very small number of creatures use these effects it should only amount in maybe 3 or 4 additional slots.

To demonstrate the second approach I have written a pair of conversion mods which automates the process:
1) A7CreColorsPST should be executed in PST to collect creature color information. The generated file "cre_colors.tpa" should then be copied over to A7CreColorsPSTEE (see step 2).
2) A7CreColorsPSTEE should be executed in PSTEE to apply the conversion to CRE and INI files. The generated file "cre_colors.tpa" from PST should be present in the mod folder.

The linked archive already contains a "cre_colors.tpa" which I have taken from my fixpacked PST installation.

Download: A7CreColorConversionMods.zip

What's your opinion how we should handle these issues in the fixpack?

Link to comment
1 hour ago, argent77 said:

What's your opinion how we should handle these issues in the fixpack?

You had me at

1 hour ago, argent77 said:

Perform a complete (and correct!) conversion

Since EEFP is first in stack, we can simply ship updated BAMs and INIs and then patch whatever else needs updating.

Link to comment
3 hours ago, argent77 said:

Since only a very small number of creatures use these effects it should only amount in maybe 3 or 4 additional slots.

Unless I'm missing something, there are over 60,000 slots and fewer than 1% are used, so this is not a big deal. We could give individual slots to every cre file in all four games and still have lots left over.

Link to comment
59 minutes ago, DavidW said:

Unless I'm missing something, there are over 60,000 slots and fewer than 1% are used, so this is not a big deal. We could give individual slots to every cre file in all four games and still have lots left over.

Only range 0xF000 is available for PST-style creature animations. But that's still 4096 slots, and only 100 slots (or 2.5%) are currently occupied.

I've tested the fix with a couple of creatures (mostly the ones mentioned by @hook71), and they appear to work fine. There are a lot more affected creatures (mostly zombies and skeletons, but also merchants and some plot characters), but their color differences were more subtle. It would be difficult to validate the results in-game.

  

2 hours ago, CamDawg said:

Since EEFP is first in stack, we can simply ship updated BAMs and INIs and then patch whatever else needs updating.

I'll see if I can condense the differences to an amount suitable for the EEFP.

Edited by argent77
Link to comment

PSTEE: The Baator map (AR1000) should be populated with more enemies

Steps:
- Add this line to baldur.lua: SetPrivateProfileString('Game Options','Render Dynamic Search Map','1')
- Start a new game and end conversation with Morte
- Teleport: C:MoveToArea("AR1000")
- Open the map overview (shortcut 'M')
- Press and hold the CTRL key to show enemy markers on the map

Observed:
In PSTEE the Baator map is pretty much just empty space. There are one or two random creatures (at most) moving around - most of the time a nupperibo or lemure - which is a joke at that point of the game.

Expected:
Just like in original PST there should be dozens of creatures roaming the map, usually grouped in randomized tiers (nupperibos, lemures, various kinds of abishai, cornugons).

Note:
The responsible script (1000FNDS.BCS) contains the following block:

IF
  Global("Destroy_Fiends","AR1000",1)
  !Range([PC],30)
THEN
  RESPONSE #100
    DestroySelf()
END

The script is the same in PSTEE and PST, but behaves very differently in both games. In PSTEE it performs the intended action on the creature (most of the time), that's why you'll encounter only one or two random creatures on the map. In PST the block doesn't appear to trigger, or maybe triggers only when the creature comes into sight of the party, so you will encounter pretty much all creatures spawned by the area script.

What's your opinion, should we restore the original behavior from PST in EEFP?

 

Link to comment

PSTEE: Creatures should use their running attacks in combat

Observed:
Many creatures that were running to reach their targets in PST just leisurely walk to their targets in PSTEE. That trivializes many battles since you have all the time to keep your distance or flee from battle.

Expected:
Creatures should use their running attacks to reach their targets.

Notes:
I have found over 100 combat scripts where RunningAttack() actions were changed to Attack().

I can't imagine that was done accidentally by Beamdog. Does anyone involved have additional insights ( @hook71, @CamDawg )? Should these scripts be restored to their original behavior in EEFP?

Link to comment

I can't say for sure, but originally the idea was to convert PsT to run in the same engine variant as the other EEs, where there's no RunningAttack. That was before the realization of how different PsT was and the engine was essentially forked. All of these should have been restored to RA.

16 hours ago, argent77 said:

What's your opinion, should we restore the original behavior from PST in EEFP?

And while I'm here: yes.

Link to comment
7 hours ago, argent77 said:

I have found over 100 combat scripts where RunningAttack() actions were changed to Attack().

I can't imagine that was done accidentally by Beamdog. Does anyone involved have additional insights ( @hook71, @CamDawg )? Should these scripts be restored to their original behavior in EEFP?

I know that the PST fixpack adds Running Attacks for many creatures and I vaguely remember that this wasn't added to the EE version since it wasn't seen as a bugfix.

  1. AI Fix: Selected creatures in game will now move as quickly as they can (i.e. run) when attacking or being attacked. This raises their minimum intelligence to that of vertebrates. No more casually walking through Baator with 20 ravening demons behind you unable to catch up. This mostly affects creatures only in the later stages of the game. (Qwinn)

Did you check with or without the fixpack? It's a good change so I would certainly like it implemented but perhaps it isn't a bug as such. Any Running Attacks missing from the original PST without the fixpack is most certainly a bug though and should be fixed.

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