public void OnSpawn()
{
IsAIControlled = true;
foreach(uint NearbyCreatureId in Script.GetObjectsInShape(CLRScriptBase.SHAPE_SPHERE, 25.0f, Script.GetLocation(this.ObjectId), true, CLRScriptBase.OBJECT_TYPE_CREATURE, Script.Vector(0.0f,0.0f,0.0f)))
{
// It's possible that we're friendly with folk who aren't in our faction-- like if
// we've been set as defenders and these guys are commoners.
if (Script.GetReputation(this.ObjectId, NearbyCreatureId) > 75 ||
Script.GetFactionEqual(this.ObjectId, NearbyCreatureId) == CLRScriptBase.TRUE)
{
CreatureObject NearbyCreature = Server.ObjectManager.GetCreatureObject(NearbyCreatureId, true);
if (NearbyCreature != null && NearbyCreature.Party != null)
NearbyCreature.Party.AddPartyMember(this);
break;
}
}
if (this.Party == null)
{
new AIParty(Server.PartyManager).AddPartyMember(this);
}
// Set effects inherent to subtype.
if (Script.GetLocalInt(this.ObjectId, "X2_L_IS_INCORPOREAL") != 0) SetIncorporealEffects();
// Set effects inherent to type.
if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_ABERRATION) SetAbberationEffects();
else if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_ANIMAL) SetAnimalEffects();
else if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_CONSTRUCT) SetConstructEffects();
else if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_DRAGON) SetDragonEffects();
else if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_ELEMENTAL) SetElementalEffects();
else if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_FEY) SetFeyEffects();
else if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_GIANT) SetGiantEffects();
else if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_HUMANOID_MONSTROUS) SetMonstrousHumanoidEffects();
else if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_MAGICAL_BEAST) SetMagicalBeastEffects();
else if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_OOZE) SetOozeEffects();
else if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_UNDEAD) SetUndeadEffects();
else if (Script.GetRacialType(this.ObjectId) == CLRScriptBase.RACIAL_TYPE_VERMIN) SetVerminEffects();
int extraAttacks = Script.GetLocalInt(ObjectId, "ACR_CREATURE_EXTRA_ATTACKS");
if(extraAttacks != 0)
SetExtraAttacks(extraAttacks);
}