Jump to content

RFC: Neutral Charm Spells


Recommended Posts

There are several types of charm available in the IE engine. For the purposes of this RFC, the two most important are (using the IESDP terminology): neutral and hostile, the main difference between the two being that the former does not change the target's allegiance while the latter does. In practical terms, this means that if the charm is of neutral type, when it ends the victim does not see you as an enemy.

This is important because in BG1 many dialogue lines can be unlocked only if you charm the target. Currently in SR, all the charms are of hostile type (the same as vanilla EE by the way), so if you charm the target you make the NPC hostile which is undesirable for obvious reasons. The obvious way to go about it is to change the charm type; unfortunately, there are all sorts of complications, so this RFC is to discuss these.

1. Start with an implementation note. As I said in the preamble, at a very low level this is just changing the first parameter of the Charm opcode. But we can be a little smarter about it and if necessary, use subspells to have a charm type per allegiance (think how Otiluke's Sphere behaves differently whether the target is hostile or not).

2. The second point is the scope of the changes. I think it is clear that Dire Charm and Domination should be left alone (charms of hostile type). To be explicit, the changes would apply to Charm Person (spwi104) and maybe Charm Person or Animal (sppr204) but not to Dire Charm (spwi316), Domination (spwi506) and Mental Domination (sppr405). However, Charm Person or Animal has double the duration of Charm Person and no save bonus, so balance considerations enter the picture when considering whether it should be hostile or neutral. From a gameplay perspective, it would be nice to use divine casters to unlock said dialogue instead of requiring mages.

note(s):
- in vanilla EE the two spells have the same save bonus.

3. Given that the change is so obvious, one is rightly suspicious that changing the charm type has consequences. @subtledoctor said the following: "I still think it's worth discussing whether/how to make Charm more like a localized Friends effect, than "Domination at 1st level." I know we never found a solution that Demi liked and/or that would play nice with SCS... but I hate this spell as it exists in this engine, and I still hope to find a valid modification of it." So what are the problematic consequences of turning charm into non-hostile, or neutral, and why exactly does SCS have problems with it? Even if we go right ahead and make the changes, we should be aware of the potential pitfalls.

note(s):
- the ratial immunities are also implemented in a rather olf-fashioned, haphazard way. But this is just a note to self, not really part of the RFC.

Edited by grodrigues
Link to comment

I really hate Charm Person... it is so different from it's pen 'n' paper source.  It is only a 1st-level spell, very low-level magic. It is only supposed to improve the target's disposition toward you - not turn them into your ally in the midst of a fight to the death, and force them to murder their own companions!  That sort of thing is quite specifically meant for higher-level effects like Domination.  But Bioware made a murder-hobo game, and this and other spells were adapted for it. So,  :undecided:  :punch:

As far as implementation: I confess I don't know enough about that opcode. If you use the non-hostile version in combat against a red-circle opponent, when the effect wears off, are they turned non-hostile?  That would be bad.  Though, I suppose easy enough to change by using an opcode 177 filter, like Otiluke's Sphere.

Here's an idea: use a hostile subspell for hostile targets, and give it a big saving throw bonus (like, even bigger than vanilla). And use a non-hostile subspell for neutral targets, and give it a big saving throw penalty. Idea being, it can work in combat situations... but it's way harder to achieve. Whereas, if it's a non-hostile spell on non-hostile targets for the purpose of seeing more game content, it should be quite easy to achieve. Like, maybe even automatic, in the latter case.

Another thought occurs to me: does this mess with scripting? If you cast this on Firkraag while he is blue-circle, would it mess with his ability to complete the encounter and attack you afterward? Like I say, I just don't know enough about this opcode.  (I bet @Galactygon does, though!)

 

--------------------------------------------------------

 

Going further afield: I still like to kick around ideas for more extreme modifications of the spell. A bunch of ideas were kicked around with Demi/Mike/Ardanis/Kreso, back in the day, such as:

  • Reduce APR to 0 so the charmed target cannot actually attack friends. But they will still try, and it will look weird.
  • Reduce movement speed so the charmed target effective just stands around. But they will still try, and it will look weird.
  • Instead of changing them to a controlled green-circle, change a red-circle to a neutral blue-circle. But I think this messes with their scripting after the duration...?
  • Add a cancel-on-damage mechanism so that the charmed target can come to their senses. But some people thought this could be too-easily exploited by the player and not by the AI. (Personally I disagree, but, I think that was the main objection.)

I'd love to hear any ideas that could differentiate Charm from Dire Charm from Domination, in a way that works with enemy AI (such as SCS). In PnP Charm was not supposed induce the target to murder their allies, only make them less likely to murder the caster. And Dire Charm is supposed to induce a murderous frenzy - not give you control of the target's actions.

I could make an argument that the charm spells should look something like this:

  • Charm Person on neutrals is non-hostile and enables charmed dialogue options.
  • Charm Person on enemies induces frenzy (opcode 247), with a save bonus and with cancel-on-damage. Maybe make the caster exempt from the frenzy, via opcode 100... though that might be tricky.*
  • Dire Charm induces murderous frenzy, with no save bonus and no cancel-on-damage.
  • Domination gives you full control like in the vanilla game, using opcode 5.

* If opcode 100 works for this application, this could be the entire spell - charm the target in making them not attack the caster only, but still allow them to attack the caster's allies. This would fit with the PnP source (target becomes very friendly toward the caster). And if you could make it work, you could even make it work for the caster's allies, if you wanted. The question is, can you make it work. It would probably require changing the target's SPECIFIC, GENERAL, or GENDER value, which is asking for trouble. I'm not sure how safely that could be done for a short duration, without risking messed-up scripting or other problems...

Anyway, everything below the divider above is probably beyond the scope of SR. More likely something I would implement on my own. But I enjoy brainstorming ideas.

Edited by subtledoctor
Link to comment

I have a mod called "Charmed, I'm Sure" that makes charming people a more sustainable choice. If they were neutral before the charming, they revert to neutrality after the spell wears off, but some time later may turn hostile, as they think back on the situation. Less frequently when dealing with a high-level party. This way the player can go around making life easier with charm, but at a danger of losing access to stores and conversations.

Link to comment
4 hours ago, subtledoctor said:

As far as implementation: I confess I don't know enough about that opcode. If you use the non-hostile version in combat against a red-circle opponent, when the effect wears off, are they turned non-hostile?  That would be bad.  Though, I suppose easy enough to change by using an opcode 177 filter, like Otiluke's Sphere.

They remain hostile - it's more "status doesn't change from status prior to being charmed". As for scripting, I've done lots of charming, and I'm fairly certain it doesn't affect their scripts once the charm has worn off...but I guess I'm not 100% sure.

I like the idea for neutral vs. hostile targets having different saving bonuses - basically suggesting a different level of difficulty depending on whether they're currently amenable to you or not. 0 for neutral, +4 for hostile would be my immediate thought for level 1. I also disagree with grodigrues that Dire Charm should not be subject to this change, and would say that Dire Charm could maybe be -2/+2 with the same mechanic. Disabling attacking and spellcasting isn't a terrible idea, either...but movement should probably be retained.

 

Link to comment
1 hour ago, Bartimaeus said:

Disabling attacking and spellcasting isn't a terrible idea, either...but movement should probably be retained.

The problem with this is, the target will move toward an enemy and then just, like, nuzzle them. It ends up being weird. 

Link to comment

  

14 hours ago, Salk said:

I use one of BGT Tweaks' component called "Disable hostile reaction after charm".

I consider it a must-have.

Guess I overlooked mentioning that it's a neutral reaction spell in SRR's descriptions of the Charm spells...

Anyways, again, I'm personally in favor of the simplest and most straight-forward balancing solution that doesn't radically change how these spells work, which is that hostile enemies have a better chance to save vs it compared to neutral characters. I really just think that makes sense and helps provide a basic balance for this powerful effect while allowing (encouraging, actually) the neutral reaction dialogue and even creating temporary help from neutral NPCs and without upsetting the established mechanics too much. I'm going to implement it as such in SRR, at the very least...most likely like this:

Charm Person: 5 rounds at +4 vs. hostile/+0 vs. neutral
Charm Person or Animal: 5 rounds at +2 vs. hostile/-2 vs. neutral
Dire Charm: 1 turn at +2 vs. hostile /-2 vs neutral

Oddly, in SR, currently Charm Person or Animal gets both the length (1 turn) and lack of a saving throw bonus (+0) of the 3rd level Dire Charm in addition to working on animals...at a lower spellcasting level compared to Dire Charm. SRR reduces the duration down to 5 rounds for the disparity to be a little less extreme. You could even make an argument for the saving throw bonus being the same as the first level, I think, but I don't want to disadvantage Druids' version of it too much.

Edited by Bartimaeus
Link to comment

What is the current save bonus for Charm Person?  I thought it's +3?

To keep things as simple as possible, I would:

  • Use two different subspells, from opcode 177 filtering for enemies vs. neutral/allies
  • Keep the save bonus for enemies (+3 sounds fine to me) and keep it as a hostile spell
  • Remove the save bonus from the subspell for neutral targets, and make it non-hostile

Maybe give the same treatment to the druid spell, but I don't think it's really necessary for Dire Charm. 1) based on the PnP source the spell is not meant to be used on neutral folks in that way; and 2) who is going to spend a 3rd-level spell for the extra dialogue when a measly 1st-level spell works just as well??

I'm going to take it in a different direction in my own mod, I've gotten some good ideas from this. But that's not relevant here.

Edited by subtledoctor
Link to comment
2 hours ago, subtledoctor said:

What is the current save bonus for Charm Person?  I thought it's +3?

To keep things as simple as possible, I would:

  • Use two different subspells, from opcode 177 filtering for enemies vs. neutral/allies
  • Keep the save bonus for enemies (+3 sounds fine to me) and keep it as a hostile spell
  • Remove the save bonus from the subspell for neutral targets, and make it non-hostile

Maybe give the same treatment to the druid spell, but I don't think it's really necessary for Dire Charm. 1) based on the PnP source the spell is not meant to be used on neutral folks in that way; and 2) who is going to spend a 3rd-level spell for the extra dialogue when a measly 1st-level spell works just as well??

I'm going to take it in a different direction in my own mod, I've gotten some good ideas from this. But that's not relevant here.

It is +2. I prefer Dire Charm/Charm Person or Animal also having neutral reaction because it means you can temporarily enlist neutral characters to aid you - additionally, some creatures you may want to charm in BG1 may have better saves, particularly towards the end of the game. Charm is charm in my mind - if Dire Charm actually did force a creature to go berserk, that'd be one thing, but as it is (and always has been), it's basically Greater Charm Person, and it seems odd to me not to treat it as such. I guess regardless of which way you go, the descriptions of both spells need to make clear which are neutral spells and which are not.

Link to comment

Hello, Bartimaeus!

11 hours ago, Bartimaeus said:

Guess I overlooked mentioning that it's a neutral reaction spell in SRR's descriptions of the Charm spells...

And I guess that means I no longer need that BGT Tweak component if I install SRR...

Link to comment
6 hours ago, Salk said:

Hello, Bartimaeus!

And I guess that means I no longer need that BGT Tweak component if I install SRR...

I guess technically, I don't know how that component is coded: is it setting Charm to be neutral globally (i.e. does it also patch stuff like Domination to be neutral)? If so, it may still serve a purpose if you want Domination to also be friendly.

Edited by Bartimaeus
Link to comment

I have the feeling that what should be a simple change is getting a bit out of hand. Maybe we should resurrect subtledoctor's idea and defer the "charm neutrals" job to a dedicated spell like Friends, maybe even targetting only non-hostiles to prevent douchebaggery. The re-balancing of the charm spells (e.g. the save bonuses) could then be discussed without bringing in the complications of this particular RFC.

Link to comment

Hijacking and completely changing a different spell's concept is getting less out of hand than a simple neutral vs. hostile bonus? Other spells that make a distinction between allies and enemies already exist. Anyways, Salk similarly convinced me of the importance of the Friends' charisma bonus for BG1 once upon a time which caused me to restore it in SRR...currently, Friends doesn't even exist in SR, as it was overwritten by some other spell (which also means that even if you were to restore it, you would have to make new scrolls and figure out scroll placements).

Edited by Bartimaeus
Link to comment

I agree with Bart. Add a non-hostile subspell/eff for non-hostile targets, remove the save bonus from that subspell, and call it a day. It would add the ability to see BG1’s special dialogues while retaining SR’s normal function in normal usage. Easy-Peasy. 

I’m agnostic about whether the same should be done to Dire Charm, but I guess what’s the harm? Here again, it would retain Demi’s vision for the spell in normal usage, while adding access to the special content. 

Link to comment
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...