Jump to content


Photo

TobEx Wish list


  • Please log in to reply
821 replies to this topic

#321 -Guesticles-

-Guesticles-
  • Guest

Posted 10 July 2011 - 08:41 AM

Outstanding work on all of the changes ToBEx makes to date.

A few suggestions for things you might look at in future:

- Externalize creature and charater walking speeds. Pretty sure these are tied to animation by default, and the only way to change them is with haste/slow effects which cause a whole heap of issues (look at that tweak to change the walking speeds for EasyTutu).
- Is it possible to add an effect flag/parameter to determine whether charm effects make people hostile when they expire?
- Can some simple checks be added to stop stats, thief skills, etc. wrapping to zero when they exceed their maximum values (25 or 255)?
- Anything can be done about project image etc. creating clones with male voices for female casters?
- This is a big "bugfix" one. Is there any way to ensure creature scripts always run so that trolls, Irenicus and others die when expected rather than requiring you to take the customary "step back" from pumelling them to give their scripts time to kick in?
- Any way of adjusting weapon enchantment levels based on target, so those "+1 +4 vs whatever" type weapons work as you'd expect?
- Can damage modification be removed from the difficulty slider?
- Script response weightings are all weird and seem to favor the top responses. Can these be ironed out (along with other places random number generation is used) to give some real meaning to the weightings?
- Would it be possible to add an action to cast a spell at the point a creature is standing rather than at the creature? The key difference is that projectiles then wouldn't track the movement of the target. This would let enemy AI better mimic human player abilities with regard to, say, shooting fireballs at improved-invisible characters.
- Could new error logging be added to help fix things like the Beregost crash in BGT and EasyTutu?

Just some thoughts. Implementing any/all of these would be great.

#322 Pol

Pol
  • Member
  • 45 posts

Posted 10 July 2011 - 06:15 PM

I believe many of these can be done, or have been done without modifying the executable

- Externalize creature and charater walking speeds. Pretty sure these are tied to animation by default, and the only way to change them is with haste/slow effects which cause a whole heap of issues (look at that tweak to change the walking speeds for EasyTutu).

There are a couple of other effects besides slow and haste, but changing creatures movement rate would need to be done on a case by case basis, i.e. while a ghast should move fast enough to catch the party, a slime should not.

- Is it possible to add an effect flag/parameter to determine whether charm effects make people hostile when they expire?

One already exists, check the IESDP entries for opcodes #5 and #241.

- Anything can be done about project image etc. creating clones with male voices for female casters?

This might be worth hacking, but I'm pretty sure it can be handled by soft code i.e. if the PI/Simmy is scripted to ReallyForceSpellRES("X",LastSummonerOf(Myself)) where "X" contains an embedded eff for female gender to change the soundset of the image.

- This is a big "bugfix" one. Is there any way to ensure creature scripts always run so that trolls, Irenicus and others die when expected rather than requiring you to take the customary "step back" from pumelling them to give their scripts time to kick in?

I think this is easiest done by fixing their scripts, so that on death a replacement creature is summoned in their place which can give their "defeated" dialogue (for bosses) or wait to be finished with fire/acid (for trolls)

- Any way of adjusting weapon enchantment levels based on target, so those "+1 +4 vs whatever" type weapons work as you'd expect?

The G3 fixpack and BG2 Tweaks both do this.

- Can damage modification be removed from the difficulty slider?

The Bigg Tweaks contains a component to do this.

- Would it be possible to add an action to cast a spell at the point a creature is standing rather than at the creature? The key difference is that projectiles then wouldn't track the movement of the target. This would let enemy AI better mimic human player abilities with regard to, say, shooting fireballs at improved-invisible characters.

This would mean adjusting scripts - again, case by case - it's certainly doable, in fact some older AI mods would summon an invisible creature to target an area effect at a point vs. a character.

#323 Galactygon

Galactygon

    Modding since 2002

  • Member
  • 938 posts

Posted 11 July 2011 - 12:12 AM

- Is it possible to add an effect flag/parameter to determine whether charm effects make people hostile when they expire?

One already exists, check the IESDP entries for opcodes #5 and #241.

IESDP's definition would imply a charmed hostie creature would become neutral after the charm expires, rather than charmed creatures revert to their previous EA. Now a flag to allow charmed .cres to become uncontrollable but friendly to the party while granting experience against killed creatures (as if their EA were FAMILIAR) would be nice in the long term.

- Anything can be done about project image etc. creating clones with male voices for female casters?

This might be worth hacking, but I'm pretty sure it can be handled by soft code i.e. if the PI/Simmy is scripted to ReallyForceSpellRES("X",LastSummonerOf(Myself)) where "X" contains an embedded eff for female gender to change the soundset of the image.

This has been discussed many times and is on Asc64's todo list.

- This is a big "bugfix" one. Is there any way to ensure creature scripts always run so that trolls, Irenicus and others die when expected rather than requiring you to take the customary "step back" from pumelling them to give their scripts time to kick in?

I think this is easiest done by fixing their scripts, so that on death a replacement creature is summoned in their place which can give their "defeated" dialogue (for bosses) or wait to be finished with fire/acid (for trolls)

This is screaming for a new detectable stat called RUNAIWHENDISABLED.

- Any way of adjusting weapon enchantment levels based on target, so those "+1 +4 vs whatever" type weapons work as you'd expect?

The G3 fixpack and BG2 Tweaks both do this.

I'll guess you meant make "+1 +4 vs whatever" weapons penetrate whatever's weapon immunities. We're talking about introducing a brand new opcode called "weapon enchantment adjustion vs type", which can have a wide variety of uses.

- Would it be possible to add an action to cast a spell at the point a creature is standing rather than at the creature? The key difference is that projectiles then wouldn't track the movement of the target. This would let enemy AI better mimic human player abilities with regard to, say, shooting fireballs at improved-invisible characters.

This would mean adjusting scripts - again, case by case - it's certainly doable, in fact some older AI mods would summon an invisible creature to target an area effect at a point vs. a character.


Yes, allowing objects to be entered in all the SpellPoint() actions would be nice.

-Galactygon

Edited by Galactygon, 11 July 2011 - 12:12 AM.

Posted Image

#324 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 11 July 2011 - 12:36 AM

- Is it possible to add an effect flag/parameter to determine whether charm effects make people hostile when they expire?

One already exists, check the IESDP entries for opcodes #5 and #241.

IESDP's definition would imply a charmed hostie creature would become neutral after the charm expires, rather than charmed creatures revert to their previous EA. Now a flag to allow charmed .cres to become uncontrollable but friendly to the party while granting experience against killed creatures (as if their EA were FAMILIAR) would be nice in the long term.

So at the moment, a charmed uncontrollable would horribly wreck enemy scripts, would it not?

- Can some simple checks be added to stop stats, thief skills, etc. wrapping to zero when they exceed their maximum values (25 or 255)?

On to-do.

- Anything can be done about project image etc. creating clones with male voices for female casters?

I couldn't actually reproduce this and therefore dropped the issue. Is there a specific example I can play with? You might also want to check the gender for the creatures in question to make sure they aren't male gender-female appearance.

- This is a big "bugfix" one. Is there any way to ensure creature scripts always run so that trolls, Irenicus and others die when expected rather than requiring you to take the customary "step back" from pumelling them to give their scripts time to kick in?

I think dropped scripts like this (and inefficiency of Die() trigger) are complex. It is worth looking at, because workarounds can be ugly.

- Script response weightings are all weird and seem to favor the top responses. Can these be ironed out (along with other places random number generation is used) to give some real meaning to the weightings?

Well, if you thought rand() on a computer is rigged, it is. Unfortunately, that's a limitation of random seeding in computers. There are whole chapters in books on this issue.

- Could new error logging be added to help fix things like the Beregost crash in BGT and EasyTutu?

It is possible, though I don't see any additional benefit over getting information from the Windows crash report or baldur.err. TobEx already reports any coded assertion errors. Decoding the issue is a case-by-case thing.

I agree with Pol and Galactygon with the other issues. Have a go at scripting first, because that is more ingenious than hacking the executable.

Edited by Ascension64, 11 July 2011 - 12:38 AM.

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#325 Galactygon

Galactygon

    Modding since 2002

  • Member
  • 938 posts

Posted 11 July 2011 - 02:03 AM

- Is it possible to add an effect flag/parameter to determine whether charm effects make people hostile when they expire?

One already exists, check the IESDP entries for opcodes #5 and #241.

IESDP's definition would imply a charmed hostie creature would become neutral after the charm expires, rather than charmed creatures revert to their previous EA. Now a flag to allow charmed .cres to become uncontrollable but friendly to the party while granting experience against killed creatures (as if their EA were FAMILIAR) would be nice in the long term.

So at the moment, a charmed uncontrollable would horribly wreck enemy scripts, would it not?


At the moment charmed uncontrollable is not possible. I've done a hacky workaround with opcode 72 that sets the target's ea to FAMILIAR and the local variable CHARMED to 1 (for dialogue purposes), but it's unreliable at best.

After fiddling around with 72, I found out that it overrides all the enemyally scripting actions. After a split second of switching the ea via scripting, 72 will come into play and revert the ea change. My workaround with 72 includes a bunch of cast spells on condition that remove the spell that includes 72 via fiddling with sectypes.

On the other hand, I have every reason to believe 5 and 241 are internally removed by all enemyally scripting actions.

EDIT:

- Anything can be done about project image etc. creating clones with male voices for female casters?

I couldn't actually reproduce this and therefore dropped the issue. Is there a specific example I can play with? You might also want to check the gender for the creatures in question to make sure they aren't male gender-female appearance.

I was able to reproduce this by summoning Imoen via the Fate Spirit in ToB, and casting PI. If the casting sounds use the byte at 0x0237 (sex) instead of the byte at 0x0275 (gender), this should be fixed.

-Galactygon

Edited by Galactygon, 11 July 2011 - 02:17 AM.

Posted Image

#326 GeN1e

GeN1e

    A very GAR character

  • Modder
  • 1604 posts

Posted 11 July 2011 - 11:04 AM

If the casting sounds use the byte at 0x0237 (sex) instead of the byte at 0x0275 (gender), this should be fixed.

I think this is the best. Gender checks are used by AI mods to identify celestials and illusionaries, so changing gender may lead to incompatibility.

Retired from modding.


#327 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 11 July 2011 - 09:40 PM

Don't suppose it'd be possible to get the fog weather type to work? IESDP says it doesn't work, but I'm not even sure if there's graphics for it.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#328 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 12 July 2011 - 01:41 AM

Re: Gender and Sex
unsigned char gender = creSource.o.Gender;
	if (gender == GENDER_FEMALE) return "F";
	if (gender == GENDER_OTHER ||
		gender == GENDER_NIETHER)
		return "S";

	return "M";
This is the current code (overriden by TobEx because of the no voice when casting hack but this part is identical to the original code).
Essentially, project image creates a gender ILLUSIONARY, which will use the "M" casting sound.
Using sex instead is possible (it seems entirely unused in the game), but is quite likely that sex is incorrectly set in vanilla creatures and this will cause some bugs.
There are a few options here:
1. Leave alone
2. When gender is 'ambiguous' (and you will need to define which genders should require such), TobEx will look at sex and use that
3. When gender is 'ambiguous', TobEx will simply use the no gender casting sound (i.e. silenced)
4. Combination of 2 and 3

Note that simply using sex will not work, because sex is not implemented. An example would be Girdle of Gender not changing sounds properly.

Let the debate begin! :)

Edited by Ascension64, 12 July 2011 - 01:42 AM.

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#329 pacek

pacek
  • Member
  • 34 posts

Posted 12 July 2011 - 01:58 AM

Any chance of making all modal actions (TurnUndead, Bard Song etc) override AI scripts?

#330 Galactygon

Galactygon

    Modding since 2002

  • Member
  • 938 posts

Posted 12 July 2011 - 02:36 AM

There are a few options here:
1. Leave alone
2. When gender is 'ambiguous' (and you will need to define which genders should require such), TobEx will look at sex and use that
3. When gender is 'ambiguous', TobEx will simply use the no gender casting sound (i.e. silenced)
4. Combination of 2 and 3


I'll go with a combination of option 2&3: if gender is ambiguous (not 1,2,3, or 4), use sex, and if that's ambiguous (not 1,2), disable the gender casting sound.

-Galactygon
Posted Image

#331 Dakk

Dakk
  • Member
  • 398 posts

Posted 12 July 2011 - 04:34 AM

I'll go with a combination of option 2&3: if gender is ambiguous (not 1,2,3, or 4), use sex, and if that's ambiguous (not 1,2), disable the gender casting sound.

Out of curiosity, how many genders (and what) are there? :)

Edited by Dakk, 12 July 2011 - 04:34 AM.


#332 GeN1e

GeN1e

    A very GAR character

  • Modder
  • 1604 posts

Posted 12 July 2011 - 09:08 AM

There are a few options here:
1. Leave alone
2. When gender is 'ambiguous' (and you will need to define which genders should require such), TobEx will look at sex and use that
3. When gender is 'ambiguous', TobEx will simply use the no gender casting sound (i.e. silenced)
4. Combination of 2 and 3

Note that simply using sex will not work, because sex is not implemented. An example would be Girdle of Gender not changing sounds properly.

Let the debate begin!

If gender!=[1;2] then read sex stat. If sex!=[1;2] then no sound.


Any chance of making all modal actions (TurnUndead, Bard Song etc) override AI scripts?

~!ModalState()~ trigger should do the job.

Out of curiosity, how many genders (and what) are there?

See gender.ids

Retired from modding.


#333 Galactygon

Galactygon

    Modding since 2002

  • Member
  • 938 posts

Posted 12 July 2011 - 11:04 AM

If gender!=[1;2] then read sex stat. If sex!=[1;2] then no sound.


Genders 3&4 should specifically return no sound, even if sex has been (accidentally) set to 1 or 2.

-Galactygon
Posted Image

#334 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 12 July 2011 - 01:11 PM

If gender!=[1;2] then read sex stat. If sex!=[1;2] then no sound.

Genders 3&4 should specifically return no sound, even if sex has been (accidentally) set to 1 or 2.

There are things like slimes, oozes and whatnot (for example) that have gender set to 4 (neither) but they should still make sounds (and usually their sex is '1' so it GeN1e's option should work in theory). I didn't read the full debate on this, but I assume this is to fix things like illusionary and summoned nymphs sounding like they've got an extra appendage between the legs (I for one would rather not encounter that :o).

Edit: For the record, nymphsu.cre is gender 6 and sex 1 by default, but the Fixpack at least (and probably other mods) sets it to 2.

Edited by Miloch, 12 July 2011 - 01:14 PM.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#335 -guest-

-guest-
  • Guest

Posted 14 July 2011 - 05:41 AM

Is your A6Charm patch effectively part of this and hence essentially redundant? Or does it still do things not covered by the 'disable silence on charmed creatures' component in this mod?

In particular, is it now/could you make it so that charmed storekeeps will give their standard dialogue and sell to you as normal. E.g. You can let Gorch (Mae'var's storekeep) live once you go to finish the task and come back and charm him as needed to buy things. Again, with, say, Dawnmaster Kreel in the Lathander temple who can go hostile if you botch the statuette-stealing-excercise. Too many other possibilities, but this would make this component a worthy addition and actually do something really useful in BG2 :)

#336 Jarl2

Jarl2
  • Member
  • 35 posts

Posted 15 July 2011 - 12:50 AM

Hi!

Could an exe-patch prevent that songs are interrupted/aborted by load- and savescreens? In IWD2 i think they aren't...


Greetings!

#337 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 23 July 2011 - 05:54 PM

If gender!=[1;2] then read sex stat. If sex!=[1;2] then no sound.

Genders 3&4 should specifically return no sound, even if sex has been (accidentally) set to 1 or 2.

There are things like slimes, oozes and whatnot (for example) that have gender set to 4 (neither) but they should still make sounds (and usually their sex is '1' so it GeN1e's option should work in theory). I didn't read the full debate on this, but I assume this is to fix things like illusionary and summoned nymphs sounding like they've got an extra appendage between the legs (I for one would rather not encounter that :o).

Edit: For the record, nymphsu.cre is gender 6 and sex 1 by default, but the Fixpack at least (and probably other mods) sets it to 2.

Note that vanilla behaviour is to have OTHER and NIETHER use 'asexual' casting sounds. I don't believe this is a bug. If slimes are a problem, it may be worth fixpacking their gender to something else so that they use a 'gendered' sound. This is provided that there are no specific spells/effects that target these genders.

So it looks like the best option is "If gender is 1-4, use gender; else, use sex, else be silent".
To avoid making bugs, sex corrections will need to be installed with TobEx core. Is there existing code for this?

In particular, is it now/could you make it so that charmed storekeeps will give their standard dialogue and sell to you as normal. E.g. You can let Gorch (Mae'var's storekeep) live once you go to finish the task and come back and charm him as needed to buy things. Again, with, say, Dawnmaster Kreel in the Lathander temple who can go hostile if you botch the statuette-stealing-excercise. Too many other possibilities, but this would make this component a worthy addition and actually do something really useful in BG2

This is the domain of a WeiDU mod. You can edit the dialogue to have the charmed dialogues allow this.

Could an exe-patch prevent that songs are interrupted/aborted by load- and savescreens? In IWD2 i think they aren't...

possible.

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#338 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 23 July 2011 - 10:10 PM

So it looks like the best option is "If gender is 1-4, use gender; else, use sex, else be silent".
To avoid making bugs, sex corrections will need to be installed with TobEx core. Is there existing code for this?

The BG2 Fixpack has it for vanilla CREs at least. I didn't know there were 'asexual' casting sounds - thought they were either male or female (the summoned nymph for example sounds male).

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#339 aVENGER

aVENGER
  • Modder
  • 1680 posts

Posted 23 July 2011 - 10:33 PM

Note that vanilla behaviour is to have OTHER and NIETHER use 'asexual' casting sounds. I don't believe this is a bug. If slimes are a problem, it may be worth fixpacking their gender to something else so that they use a 'gendered' sound. This is provided that there are no specific spells/effects that target these genders.


Just a small note here, as you point out, some creatures are supposed to have gender their gender/sex to other/neither (i.e. elementals, slimes, mephits and such). Therefore, it might not be a good idea to simply steamroll over all creatures in the game and set their gender to either male/female.

I'm not sure if any other mods depend on this, but aTweaks' PnP Mephits component currently has a few checks for Gender(Myself,3) in order to single out gated mephits.

#340 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 23 July 2011 - 11:42 PM

it might not be a good idea to simply steamroll over all creatures in the game and set their gender to either male/female.

I don't think anyone was suggesting that, but rather setting the Sex field (the one at 0x237 which is typically not used frequently, as opposed to Gender at 0x275).

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle