RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

XmlSiege system for damageable structures - beta release

Great thanks, Sorry for asking a zillion questions, I have a bad habbit of editing the crud out of every script I add to the shard to suit my tastes and needs lol and your stuff is always very advanced, afraid I try to edit something I'll end up with shard crashes (or worse)
 

ArteGordon

Wanderer
MetallicSomber said:
Great thanks, Sorry for asking a zillion questions, I have a bad habbit of editing the crud out of every script I add to the shard to suit my tastes and needs lol and your stuff is always very advanced, afraid I try to edit something I'll end up with shard crashes (or worse)
editing is good. I assume that people will want to mod the system to their tastes so I try to make that as easy as possible. Suggestions are always welcome.
 
There a cannonball like grapeshot that only damages moibles? Would be really good for ship to ship combat. Like pirates wanting to board a ship and not sink it. Maybe it could only be fired by cannons.
 

ArteGordon

Wanderer
MetallicSomber said:
There a cannonball like grapeshot that only damages moibles? Would be really good for ship to ship combat. Like pirates wanting to board a ship and not sink it. Maybe it could only be fired by cannons.

easy to add. You can add an override to these properties to any of the cannonballs or projectiles derived from basesiegeprojectile

Code:
		public virtual double MobDamageMultiplier { get { return 1.0; } } // default damage multiplier for creatures
		public virtual double StructureDamageMultiplier { get { return 1.0; } } // default damage multiplier for structures

Here is an example

Code:
	public class GrapeShot : SiegeCannonball
	{
		public override double StructureDamageMultiplier { get { return 0.1; } } //  damage multiplier for structures

		[Constructable]
		public GrapeShot()
			: this(1)
		{
		}

		[Constructable]
		public GrapeShot(int amount)
			: base(amount)
		{
			Range = 17;
			Area = 1;
			AccuracyBonus = 0;
			PhysicalDamage = 20;
			FireDamage = 0;
			FiringSpeed = 35;
			Name = "Grape Shot";
		}

		public GrapeShot(Serial serial)
			: base(serial)
		{
		}

		public override void Serialize(GenericWriter writer)
		{
			base.Serialize(writer);

			writer.Write((int)0); // version
		}

		public override void Deserialize(GenericReader reader)
		{
			base.Deserialize(reader);

			int version = reader.ReadInt();
		}
	}
 
Top