You use the cast functions with a spell id, this is what is used for buffing. There is a flag to tell the ai to do this as well.
//Combat Protections
if ( !CSLGetHasEffectSpellIdGroup( oTarget, SPELL_SHADES, SPELL_GREATER_VISAGE_OF_THE_DEITY, SPELL_PREMONITION, SPELL_GREATER_STONESKIN, SPELL_Nixies_Grace, SPELL_Visage_Deity, SPELL_STONESKIN, SPELL_PROTECTION_FROM_ARROWS ) )
{
if( GetHasSpell(SPELL_SHADES, oCaster))
{
bHasShades = TRUE;
AssignCommand(oCaster, ActionCastSpellAtObject(SPELL_SHADES_TARGET_CASTER, oTarget, METAMAGIC_NONE, bCheat, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstantSpell) );
iMaxEffects--;
}
else if(GetHasSpell(SPELL_GREATER_VISAGE_OF_THE_DEITY, oCaster))
{
AssignCommand(oCaster, ActionCastSpellAtObject(SPELL_GREATER_VISAGE_OF_THE_DEITY, oTarget, METAMAGIC_NONE, bCheat, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstantSpell) );
iMaxEffects--;
}
else if( GetHasSpell(SPELL_PREMONITION, oCaster))
{
AssignCommand(oCaster, ActionCastSpellAtObject(SPELL_PREMONITION, oTarget, METAMAGIC_NONE, bCheat, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstantSpell) );
iMaxEffects--;
}
else if( GetHasSpell(SPELL_GREATER_STONESKIN, oCaster))
{
AssignCommand(oCaster, ActionCastSpellAtObject(SPELL_GREATER_STONESKIN, oTarget, METAMAGIC_NONE, bCheat, FALSE, PROJECTILE_PATH_TYPE_DEFAULT, bInstantSpell) );
iMaxEffects--;
}
else if(GetHasSpell(SPELL_Nixies_Grace, oCaster))
{
AssignCommand(oCaster, ActionCastSpellAtObject(SPELL_Nixies_Grace, oTarget, METAMAGIC_NONE, bCheat, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstantSpell) );
iMaxEffects--;
}
else if(GetHasSpell(SPELL_Visage_Deity, oCaster))
{
AssignCommand(oCaster, ActionCastSpellAtObject(SPELL_Visage_Deity, oTarget, METAMAGIC_NONE, bCheat, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstantSpell) );
iMaxEffects--;
}
else if(GetHasSpell(SPELL_STONESKIN, oCaster))
{
AssignCommand(oCaster, ActionCastSpellAtObject(SPELL_STONESKIN, oTarget, METAMAGIC_NONE, bCheat, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstantSpell) );
iMaxEffects--;
}
else if(GetHasSpell(SPELL_PROTECTION_FROM_ARROWS, oCaster))
{
AssignCommand(oCaster, ActionCastSpellAtObject(SPELL_PROTECTION_FROM_ARROWS, oTarget, METAMAGIC_NONE, bCheat, 0, PROJECTILE_PATH_TYPE_DEFAULT, bInstantSpell) );
iMaxEffects--;
}
}