ServUO Version
Publish Unknown
Ultima Expansion
None
Is there anyway to add Abilities to creatures like. Keep in mind I want to add thse to existing creatures that are already tamed.
public virtual bool BleedImmune{ get{ return false; } }
public virtual double BonusPetDamageScalar{ get{ return 1.0; } }
public virtual bool ReduceSpeedWithDamage{ get{ return true; } }
public virtual bool HasBreath{ get{ return false; } }
types of things via like a deed or other types of items? Been playing around with pet items with my own type of training system have come up with all sorts of cool things but would like to do some of these but these seem to be a bit more difficult since these read only.
Any ideas or any examples kind of point me in the direction where I might be able to figure this out?
 
mine goes like this but i believe i have an older version

CustomAbilityList list;

MeteorStrike one = new MeteorStrike();
MeteorShower two = new MeteorShower();
Thunderstorm three = new Thunderstorm();

public override void OnThink()
{
base.OnThink();

if( list == null)
{
list = new CustomAbilityList();
list.Add(one);
list.Add(two);
list.Add(three);
}
else
list.CheckTrigger(this);
}
 
Ya see Its more of using an item to add these abilities to a creature so your method I don't think would work.
Give you an example. Using an OnTarget method of an item. Looks like your doing it within your actual creature itself.
OnTarget:
        public virtual void OnTarget( Mobile from, object obj )
        {
            if ( Deleted )
                return;

            BaseCreature pet = obj as BaseCreature;
            //BaseTameable btpet = obj as BaseTameable; // my own custom script

            if ( !pet.Controlled || pet.ControlMaster != from )
            {
                from.SendLocalizedMessage( 1063737 ); // You can only use this gem on a tamed pet that you own.
            }
            else if ( !IsChildOf( from.Backpack ) )
            {
                from.SendLocalizedMessage( 1060640 ); // The item must be in your backpack to use it.
            }
            else
            {
                pet.Str += 5;
                //pet.BonusPetDamageScalar = 3.0;
                from.SendLocalizedMessage( 1063738 ); // You crack the gem upon your pet allowing the magical essence to flow unpon your pet.
                this.Delete();
            }
        }

pet.BonusPetDamageScalar = 3.0; Is the part I want to add to the creature.
The Creature wouldn't have this ability beforehand then using the item would give the creature this ability. Or would give the Pet Dragon Breath or the Bleed Immunity ability. But since these are read only in BaseCreature having issues racking my brain on how to do this lol. And my luck its probably not possible but still going to try.
 
Last edited:
thats what i put in to existing mobs to have multple abilities. not sure what version you have but thats how the instructions for mine says and it works like a dream. i only have 5 abilities though. i found one with a bunch of abilties so im going to see if i can work them in. i dont have damage set to these yet its more for looks. and i just got started after ive made about 30 mobs lol
 
I understand thats what you have for existing mobs what i mean is i am taking an item double clicking on it and in its function that function making the creature get those abilities. So I need to know how to make the function work in the item script to get it to add the ability to the creature.

These abilities already exist in the BaseCreature and are in some mobs such as SkeletalDragon has the
public override double BonusPetDamageScalar{ get{ return (Core.SE)? 3.0 : 1.0; } }.
 
Back