Beispiel #1
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            reader.GetVersion();

            Aspect = reader.ReadMobile <BaseAspect>();

            SpawnAspectAbility.Register(this);
        }
Beispiel #2
0
        public override void OnAfterDelete()
        {
            base.OnAfterDelete();

            SpawnAspectAbility.Unregister(this);

            if (Corpse != null)
            {
                Corpse.Delete();
            }

            if (Aspect != null)
            {
                Aspect = null;
            }
        }
Beispiel #3
0
        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);
        }