Jump to content

BGEE/BG2EE-specific opcodes and scripting


Recommended Posts

In WILDMAG.2DA, certain entries have a "*" in the SPELL column. For example,

6          *          31722

In GemRB's version of the file, these entries are a reference, but not to a normal .SPL file. For example:

6          1.155      0x13f      change_spell_to_area_effect

Does this mean that the "*" entries in the EEs are hardcoded and unchangeable?

Link to comment

So, they hardcoded the reputation responses and then added an opcode as a workaround?

 

I don't think I'll ever understand the reasoning behind some of their design choices...

 

On the upside, I guess taking a yearlong break resolved some of the issues I was having.

Link to comment

So, they hardcoded the reputation responses and then added an opcode as a workaround?

 

I don't think I'll ever understand the reasoning behind some of their design choices...

 

On the upside, I guess taking a yearlong break resolved some of the issues I was having.

 

Nope. Some joinables just don't have a breaking point. Imoen loves you regardless of reputation.

Link to comment

Which is fine, but I still think party member morale should be handled entirely via scripts.

 

I don't think Beamdog hardcoded anything over vanilla. The code they started from was the vanilla BG2/ToB source. If the breaking point code is hardcoded, then it was also in ToB.

Edited by Avenger
Link to comment

Nope. Some joinables just don't have a breaking point. Imoen loves you regardless of reputation.

If the breaking point code is hardcoded, then it was also in ToB.

I don't know, maybe that's the case in BG2:EE, but in BG:EE, Imoen does have a breaking point (confirmed just recently by one of my friends). Also, most of the joinable NPCs' (sans the EE ones) breaking point is apparently handled by the game itself and not by a script. It's possible that these things were hardcoded before and they changed the happiness values in the 2DA or something to avoid unnecessary checks in the script round or maybe they just didn't copy everything right.

 

Either way, I'll be trying to sort this mess out on my own since it's interferring with my mod. If you want something done right...

Link to comment

Yes, and in BGEE, Imoen has no such effect added. So, what's the question?

 

You originally asked:

"So, they hardcoded the reputation responses and then added an opcode as a workaround?"

 

And my answer was:

1. I'm pretty sure the breaking point is hardcoded in all vanilla games.

 

2. in some cases (like Imoen in BG2EE) this hardcoded breaking point is overridden by the new effect.
The default breaking point is based on alignment. In the EE nothing forbids you to implement your own scripted breaking point. You simply disable the hardcoded breaking point by this effect, and write your script as you wish. This is something you couldn't do in vanilla.
I have one question though, what exactly breaks your mod? What is different from vanilla?
Edited by Avenger
Link to comment

There was no question, I'm just reflecting on how things are done in the game. Defaulting on hardcoded mechanics and adding new effects to bypass them seems like an odd approach, when these things could be much more elegantly handled via scripts.

 

Nothing really breaks my mod, but this generic reputation-based happiness and hardcoded breaking points didn't mesh well with how things should realistically work with companions.

 

Anyway, adjusting HAPPY.2DA and HAPPY.IDS solves all issues, I just didn't really want to resort to such a heavy-handed approach.

Link to comment

Anyway, adjusting HAPPY.2DA and HAPPY.IDS solves all issues, I just didn't really want to resort to such a heavy-handed approach.

Aka, @Avenger: Is there any other alternative ?

Or something to have a middle ground ? Aka, have the happy.2da set the count to -200, and then add to that a dialog options that make the creature calm down or enrage, which ends up after a while to the character auto leaving the group.

Edited by Jarno Mikkola
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...