TobEx Wish list
#321 -Guesticles-
Posted 10 July 2011 - 08:41 AM
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
Posted 10 July 2011 - 06:15 PM
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.- 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).
One already exists, check the IESDP entries for opcodes #5 and #241.- Is it possible to add an effect flag/parameter to determine whether charm effects make people hostile when they expire?
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.- Anything can be done about project image etc. creating clones with male voices for female casters?
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 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?
The G3 fixpack and BG2 Tweaks both do this.- Any way of adjusting weapon enchantment levels based on target, so those "+1 +4 vs whatever" type weapons work as you'd expect?
The Bigg Tweaks contains a component to do this.- Can damage modification be removed from the difficulty slider?
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.- 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.
#323
Posted 11 July 2011 - 12:12 AM
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.One already exists, check the IESDP entries for opcodes #5 and #241.- Is it possible to add an effect flag/parameter to determine whether charm effects make people hostile when they expire?
This has been discussed many times and is on Asc64's todo list.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.- Anything can be done about project image etc. creating clones with male voices for female casters?
This is screaming for a new detectable stat called RUNAIWHENDISABLED.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 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'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.The G3 fixpack and BG2 Tweaks both do this.- Any way of adjusting weapon enchantment levels based on target, so those "+1 +4 vs whatever" type weapons work as you'd expect?
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.- 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.
Yes, allowing objects to be entered in all the SpellPoint() actions would be nice.
-Galactygon
Edited by Galactygon, 11 July 2011 - 12:12 AM.
#324
Posted 11 July 2011 - 12:36 AM
So at the moment, a charmed uncontrollable would horribly wreck enemy scripts, would it 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.
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.
On to-do.- Can some simple checks be added to stop stats, thief skills, etc. wrapping to zero when they exceed their maximum values (25 or 255)?
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.- Anything can be done about project image etc. creating clones with male voices for female casters?
I think dropped scripts like this (and inefficiency of Die() trigger) are complex. It is worth looking at, because workarounds can be ugly.- 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?
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.- 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?
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.- Could new error logging be added to help fix things like the Beregost crash in BGT and EasyTutu?
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
Posted 11 July 2011 - 02:03 AM
So at the moment, a charmed uncontrollable would horribly wreck enemy scripts, would it 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.
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.
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:
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.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.- Anything can be done about project image etc. creating clones with male voices for female casters?
-Galactygon
Edited by Galactygon, 11 July 2011 - 02:17 AM.
#326
Posted 11 July 2011 - 11:04 AM
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.If the casting sounds use the byte at 0x0237 (sex) instead of the byte at 0x0275 (gender), this should be fixed.
Retired from modding.
#327
Posted 11 July 2011 - 09:40 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
#328
Posted 12 July 2011 - 01:41 AM
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
Posted 12 July 2011 - 01:58 AM
#330
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
#331
Posted 12 July 2011 - 04:34 AM
Out of curiosity, how many genders (and what) are there?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.
Edited by Dakk, 12 July 2011 - 04:34 AM.
#332
Posted 12 July 2011 - 09:08 AM
If gender!=[1;2] then read sex stat. If sex!=[1;2] then no sound.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!
~!ModalState()~ trigger should do the job.Any chance of making all modal actions (TurnUndead, Bard Song etc) override AI scripts?
See gender.idsOut of curiosity, how many genders (and what) are there?
Retired from modding.
#334
Posted 12 July 2011 - 01:11 PM
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 ).Genders 3&4 should specifically return no sound, even if sex has been (accidentally) set to 1 or 2.If gender!=[1;2] then read sex stat. If sex!=[1;2] then no sound.
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-
Posted 14 July 2011 - 05:41 AM
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
Posted 15 July 2011 - 12:50 AM
Could an exe-patch prevent that songs are interrupted/aborted by load- and savescreens? In IWD2 i think they aren't...
Greetings!
#337
Posted 23 July 2011 - 05:54 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.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 ).Genders 3&4 should specifically return no sound, even if sex has been (accidentally) set to 1 or 2.If gender!=[1;2] then read sex stat. If sex!=[1;2] then no sound.
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.
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?
This is the domain of a WeiDU mod. You can edit the dialogue to have the charmed dialogues allow 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
possible.Could an exe-patch prevent that songs are interrupted/aborted by load- and savescreens? In IWD2 i think they aren't...
--------------
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
Posted 23 July 2011 - 10:10 PM
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).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?
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
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
Posted 23 July 2011 - 11:42 PM
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).it might not be a good idea to simply steamroll over all creatures in the game and set their gender to either male/female.
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