BelowTheBelt wrote...
Sounds like your caster (or at least the default scripts) may be set up to cheat-cast those spells.
Do a search for either the constant AI_CHEAT_CAST_SPELL or the function SetAICheatCastSpells and see if the calling scripts are set up with those spells.
Not sure if that's the trouble, but it is a place to start.
I've done a search for AI_CHEST_CAST_SPELL, as well as SetAICheatCastSpells and only the latter appears in the j_ai_onspawn.
//SetAICheatCastSpells(SPELL_MAGIC_MISSILE, SPELL_ICE_DAGGER, SPELL_HORIZIKAULS_BOOM, SPELL_MELFS_ACID_ARROW, SPELL_NEGATIVE_ENERGY_RAY, SPELL_FLAME_ARROW);
// Special: Mages cast for ever with this set.
It's commented out.
Additionally, mages work as expected. It's just the clerics that are annoyingly casting a spell they do not have.
AI_CHEAT_CAST_SPELL is referenced in j_inc_spawnin, which is an include of j_ai_onspawn, but there is no mention of the spell being cast.
void SetAICheatCastSpells(int iSpell1, int iSpell2, int iSpell3, int iSpell4, int iSpell5, int iSpell6)
{
SetAIConstant(AI_CHEAT_CAST_SPELL + IntToString(i1), iSpell1);
SetAIConstant(AI_CHEAT_CAST_SPELL + IntToString(i2), iSpell2);
SetAIConstant(AI_CHEAT_CAST_SPELL + IntToString(i3), iSpell3);
SetAIConstant(AI_CHEAT_CAST_SPELL + IntToString(i4), iSpell4);
SetAIConstant(AI_CHEAT_CAST_SPELL + IntToString(i5), iSpell5);
SetAIConstant(AI_CHEAT_CAST_SPELL + IntToString(i6), iSpell6);
}
It is not in the NPCs j_ai_onspawn, nor are there any references of cast cheating.
There are the only flags available in the j_ai_onspawn for Clerics.
/************************ [Combat Other - Healers/Healing] *********************
Healing behaviour - not specifically clerics. See readme.
************************* [Combat Other - Healers/Healing] ********************/
//SetSpawnInCondition(AI_FLAG_OTHER_COMBAT_HEAL_AT_PERCENT_NOT_AMOUNT, AI_OTHER_COMBAT_MASTER);
// if this is set, we ignore the amount we need to be damaged, as long
// as we are under AI_HEALING_US_PERCENT.
SetAIInteger(AI_HEALING_US_PERCENT, 30);
// % of HP we need to be at until we heal us at all. Default: 50
SetAIInteger(AI_HEALING_ALLIES_PERCENT, 40);
// % of HP allies would need to be at to heal them Readme = info. Default: 60
//SetSpawnInCondition(AI_FLAG_OTHER_COMBAT_WILL_RAISE_ALLIES_IN_BATTLE, AI_OTHER_COMBAT_MASTER);
// Turns on rasing dead with Resurrection/Raise dead.
//SetSpawnInCondition(AI_FLAG_OTHER_COMBAT_NO_CURING, AI_OTHER_COMBAT_MASTER);
// This turns off all healing.
//SetSpawnInCondition(AI_FLAG_OTHER_COMBAT_ONLY_CURE_SELF, AI_OTHER_COMBAT_MASTER);
// This turns off ally healing.
//SetSpawnInCondition(AI_FLAG_OTHER_COMBAT_ONLY_RESTORE_SELF, AI_OTHER_COMBAT_MASTER);
// This turns off ally restoring (Remove/Restoration).
//SetSpawnInCondition(AI_FLAG_OTHER_COMBAT_USE_BAD_HEALING_SPELLS, AI_OTHER_COMBAT_MASTER);
// This forces all cure spells to be used, check readme.
//SetAIInteger(SECONDS_BETWEEN_STATUS_CHECKS, 30);
// Seconds between when we loop everyone for bad effects like Fear/stun ETC. If not set, done each round.
//SetSpawnInCondition(AI_FLAG_OTHER_COMBAT_GIVE_POTIONS_TO_HELP, AI_OTHER_COMBAT_MASTER);
// ActionGiveItem standard healing potion's to allies who need them, if they possess them.
/************************ [Combat Other - Healers/Healing] ********************/
ffbj wrote...
Isn't it just the clerics get to cast cures
or inflict automatically if they have any spells of that particular
level? So try a mage instead and see what happens. Not really a
solution but maybe it will help to identify the problem.
The mage along side of the Cleric, works as expected. It's a Mage and Cleric encounter, and the Cleric is the one causing the problem.
ShaDoOoW wrote...
Anyway - what I
can suggest is to write your own AI for each unique creature you need -
assuming you do need this only for bosses.
I don't have the knowledge of scripting to create my own AI scripts, so I have to work with what's available by
others.
EDIT: I've been searching the net for information regarding this annoyance and came across a bug list of fixes a Nordock server made. One of them:
fix to jasperre ai to prevent unlimited casting of inflict (& cure) moderate wounds
It's all I could find, minus the fixes they made.
Looks like this package is bugged?
FP!
Modifié par Fester Pot, 29 août 2012 - 10:58 .