public override void Deserialize(GenericReader reader) { base.Deserialize(reader); reader.GetVersion(); Aspect = reader.ReadMobile <BaseAspect>(); SpawnAspectAbility.Register(this); }
public override void OnAfterDelete() { base.OnAfterDelete(); SpawnAspectAbility.Unregister(this); if (Corpse != null) { Corpse.Delete(); } if (Aspect != null) { Aspect = null; } }
public AspectSpawn(BaseAspect aspect, AIType ai, FightMode mode, double dActiveSpeed, double dPassiveSpeed) : base(ai, mode, aspect.RangePerception, aspect.RangeFight, dActiveSpeed, dPassiveSpeed) { Aspect = aspect; Name = "Aspect Spawn"; Body = 129; Hue = Aspect.Hue; Team = Aspect.Team; Resistances.SetAll(i => Aspect.Resistances[i]); SetDamageType(ResistanceType.Physical, Aspect.PhysicalDamage); SetDamageType(ResistanceType.Fire, Aspect.FireDamage); SetDamageType(ResistanceType.Cold, Aspect.ColdDamage); SetDamageType(ResistanceType.Poison, Aspect.PoisonDamage); SetDamageType(ResistanceType.Energy, Aspect.EnergyDamage); Aspect.Scale(this); SpawnAspectAbility.Register(this); }