Do you know if there is a way to add fatigue/exhaustion effects to spell casting, to balance out how OP some such spells can be?
EDIT: I believe adding a syndrome to each spellcasting under a common tag should work. I.e. concentrated spell drain could lead to dizziness, headache, vomiting, necrosis and even death. I have a good feeling about this.
There is a way, but it has a few caveats.
Basically, you need to make an interaction with two targets. Target A is the regular target (LINE_OF_SIGHT), while target B is the caster (SELF_ONLY). In the interaction, target A should have a manual input, while target B should not. The syndrome added to target B (the caster) will be automatically used if and only if the interaction with target A occurs.
The main caveat is that USAGE_HINT:ATTACK doesn't work here, because the usage hint apparently applies to all targets, and the AI will never target themselves with an ATTACK, so the interaction will never actually be used. If you want to add a negative effect to an ATTACK spell, one method is to make the interaction grant the target a 'counterattack' spell in addition to damaging the target, which will allow them to retaliate. But of course, this is less elegant than it ought to be.
Also, if you try to use the interaction and don't select a valid target, you will still get hit by the negative effect. If the counter-effect is positive (for instance, an energy drain spell), you can cheat by 'draining' nothing and still get the positive boost. The AI will never do this.
Finally, since these are interaction syndromes and not material syndromes, you can't increase the effect due to multiple uses by using the SYN_CONCENTRATION_ADDED tag.
Here is an example interaction that increases the strength of nearby units, but also adds a temporary syndrome to the user preventing them from gaining the ability again until it wears off. This method could be used to make a unit with multiple types of buff spells, but using one of them prevents them from using another shortly after. You can also replace it with stuff like dizziness, nausea, etc.
[INTERACTION:STRENGTH_GRANT_WISH]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:A:CREATURE][IT_LOCATION:CONTEXT_CREATURE][IT_MANUAL_INPUT:wisher][IT_REQUIRES:CAN_LEARN:CAN_SPEAK]
[I_TARGET:B:CREATURE][IT_LOCATION:CONTEXT_CREATURE][IT_AFFECTED_CLASS:WISH_GRANTER]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:A]
[IE_IMMEDIATE]
[SYNDROME][CE_PHYS_ATT_CHANGE:STRENGTH:120:0:PROB:100:START:0]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:B]
[IE_IMMEDIATE]
[SYNDROME]
[SYN_NAME:wish granted]
[SYN_CLASS:WISH_USED]
[CE_FLASH_TILE:TILE:25:3:0:0:FREQUENCY:1200:120:START:0:END:33600]