Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class DarkAgeOfEvoShroud : HoodedShroudOfShadows
|
||||
{
|
||||
public override int ArtifactRarity{ get{ return 13; } }
|
||||
|
||||
public override int BasePhysicalResistance{ get{ return 15; } }
|
||||
|
||||
public override int InitMinHits{ get{ return 255; } }
|
||||
public override int InitMaxHits{ get{ return 255; } }
|
||||
private Mobile m_Owner;
|
||||
[Constructable]
|
||||
public DarkAgeOfEvoShroud()
|
||||
{
|
||||
Name = "<BASEFONT COLOR=#2E9AFE>Evo Shroud";
|
||||
Hue = 1910;
|
||||
Attributes.LowerManaCost = 10;
|
||||
Attributes.LowerRegCost = 15;
|
||||
Attributes.BonusHits = 10;
|
||||
Attributes.BonusMana = 10;
|
||||
Attributes.BonusStam = 10;
|
||||
Attributes.Luck = 150;
|
||||
Attributes.ReflectPhysical = 15;
|
||||
}
|
||||
|
||||
public override bool OnEquip(Mobile from)
|
||||
{
|
||||
// set owner if not already set -- this is only done the first time.
|
||||
if (m_Owner == null)
|
||||
{
|
||||
m_Owner = from;
|
||||
this.Name = m_Owner.Name.ToString() + "'s Shroud";
|
||||
from.SendMessage("You feel the robe grow fond of you.");
|
||||
return base.OnEquip(from);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_Owner != from)
|
||||
{
|
||||
from.SendMessage("Sorry but this robe does not belong to you.");
|
||||
return false;
|
||||
}
|
||||
|
||||
return base.OnEquip(from);
|
||||
}
|
||||
}
|
||||
|
||||
public DarkAgeOfEvoShroud( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
|
||||
writer.Write( (int) 1 );
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "Corpse Of An Evo Guardian" )]
|
||||
public class EvoArmorGuardian : BaseCreature
|
||||
{
|
||||
public override bool ShowFameTitle{ get{ return false; } }
|
||||
|
||||
[Constructable]
|
||||
public EvoArmorGuardian() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "Evo Guardian";
|
||||
Body = 311;
|
||||
Hue = 0;
|
||||
BaseSoundID = 1072;
|
||||
|
||||
SetStr( 700, 700 );
|
||||
SetDex( 600, 600 );
|
||||
SetInt( 400, 450 );
|
||||
|
||||
SetHits( 6500, 8000 );
|
||||
|
||||
SetDamage( 20, 25 );
|
||||
|
||||
SetDamageType( ResistanceType.Physical, 45 );
|
||||
SetDamageType( ResistanceType.Cold, 45 );
|
||||
SetDamageType( ResistanceType.Fire, 45 );
|
||||
|
||||
SetResistance( ResistanceType.Physical, 50, 60 );
|
||||
SetResistance( ResistanceType.Energy, 50, 60 );
|
||||
SetResistance( ResistanceType.Poison, 50, 60 );
|
||||
SetResistance( ResistanceType.Cold, 50, 60 );
|
||||
SetResistance( ResistanceType.Fire, 50, 60 );
|
||||
|
||||
SetSkill( SkillName.Wrestling, 95.1, 100.0 );
|
||||
SetSkill( SkillName.Anatomy, 95.1, 100.0 );
|
||||
SetSkill( SkillName.MagicResist, 95.1, 100.0 );
|
||||
SetSkill( SkillName.Swords, 95.1, 100.0 );
|
||||
SetSkill( SkillName.Tactics, 95.1, 100.0 );
|
||||
SetSkill( SkillName.Parry, 95.1, 100.0 );
|
||||
SetSkill( SkillName.Focus, 95.1, 100.0 );
|
||||
|
||||
Fame = 25000;
|
||||
Karma = -25000;
|
||||
|
||||
VirtualArmor = 60;
|
||||
|
||||
//PackGold( 8000, 10000 );
|
||||
|
||||
}
|
||||
|
||||
public override bool AlwaysAttackable{ get{ return true; } }
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Rich, 2 );
|
||||
|
||||
}
|
||||
|
||||
public override void OnKilledBy(Mobile mob)
|
||||
{
|
||||
PlayerMobile p = mob as PlayerMobile;
|
||||
if (p == null || p.Map == Map.Internal || p.Map == null || p.Deleted || p.Blessed)
|
||||
return;
|
||||
else if (mob is PlayerMobile)
|
||||
{
|
||||
switch (Utility.Random(50))
|
||||
{
|
||||
case 0: p.AddToBackpack(new armsofevolution()); break;
|
||||
case 1: p.AddToBackpack(new chestofevolution()); break;
|
||||
case 2: p.AddToBackpack(new glovesofevolution()); break;
|
||||
case 3: p.AddToBackpack(new helmofevolution()); break;
|
||||
case 4: p.AddToBackpack(new legsofevolution()); break;
|
||||
case 5: p.AddToBackpack(new femalechestofevolution()); break;
|
||||
case 6: p.AddToBackpack(new gorgetofevolution()); break;
|
||||
}
|
||||
|
||||
}
|
||||
base.OnKilledBy(mob);
|
||||
}
|
||||
|
||||
public EvoArmorGuardian( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class armsofevolution: PlateArms
|
||||
{
|
||||
|
||||
private int mEvolutionPoints = 0;
|
||||
|
||||
private int mBoundToSoul = 0;// Start binding value as zero.
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int EvolutionPoints { get { return mEvolutionPoints; } set { mEvolutionPoints = value; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int BoundToSoul { get { return mBoundToSoul; } set { mBoundToSoul = value; } }
|
||||
|
||||
|
||||
|
||||
public override int ArtifactRarity{ get{ return 13; } }
|
||||
public override int BasePhysicalResistance { get { return 10; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits{ get{ return 255; } }
|
||||
public override int InitMaxHits{ get{ return 255; } }
|
||||
|
||||
private Mobile m_Owner;
|
||||
|
||||
[Constructable]
|
||||
public armsofevolution()
|
||||
{
|
||||
Name = "<BASEFONT COLOR=#2E9AFE>Evo Arms";
|
||||
Hue = 1910;
|
||||
|
||||
ArmorAttributes.SelfRepair = 10;
|
||||
ArmorAttributes.MageArmor = 1;
|
||||
Attributes.LowerManaCost = 8;
|
||||
Attributes.LowerRegCost = 16;
|
||||
|
||||
BoundToSoul = 0;
|
||||
}
|
||||
|
||||
public armsofevolution(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
public override int OnHit( BaseWeapon weapon, int damageTaken )
|
||||
{
|
||||
if (Utility.Random(5) == 1)
|
||||
{
|
||||
//Console.WriteLine("should be applying gain");
|
||||
ApplyGain();
|
||||
}
|
||||
|
||||
return base.OnHit(weapon, damageTaken);
|
||||
}
|
||||
|
||||
public void ApplyGain()
|
||||
{
|
||||
int expr;
|
||||
if (mEvolutionPoints < 500) // edit this to change how high you wish the Attributes to go 10000 means max attributes will be 100
|
||||
{
|
||||
mEvolutionPoints++;
|
||||
//this.Name = "Evo Arms (" + mEvolutionPoints.ToString() + ")";
|
||||
|
||||
if ((mEvolutionPoints / 1) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 2;//100Max
|
||||
|
||||
this.Attributes.BonusHits = expr;
|
||||
this.Attributes.BonusMana = expr;
|
||||
this.Attributes.BonusStam = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 4) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 4;//50Max
|
||||
|
||||
//this.Attributes.Luck = expr;
|
||||
this.Attributes.SpellDamage = expr;
|
||||
this.Attributes.DefendChance = expr;
|
||||
this.Attributes.ReflectPhysical = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 20) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 10;//20Max
|
||||
|
||||
this.Attributes.BonusStr = expr;
|
||||
this.Attributes.BonusDex = expr;
|
||||
this.Attributes.BonusInt = expr;
|
||||
}
|
||||
InvalidateProperties();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnDragLift(Mobile from)
|
||||
{
|
||||
if (from.AccessLevel >= AccessLevel.Seer)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Arms";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
return base.OnDragLift(from);
|
||||
}
|
||||
|
||||
public override bool OnEquip(Mobile from)
|
||||
{
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Arms";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
base.OnEquip(from);
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
else if (BoundToSoul == from.Serial) //Check to see if sword is bound to who is equiping it.
|
||||
{
|
||||
base.OnEquip(from);
|
||||
return true; //Allow player who had bound to sword to equip it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Sorry but this armor does not belong to you.");
|
||||
return false; //Disallow any one else from equiping the sword.
|
||||
}
|
||||
}
|
||||
public override void AddNameProperty(ObjectPropertyList list)
|
||||
{
|
||||
base.AddNameProperty(list);
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Un-Bound]" + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
else if (BoundToSoul > 0)//Once the sword is bound it will show the Evolution Points.
|
||||
{// \n puts the stuff after it on a new line
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Soulbound]\n" + "<BASEFONT COLOR=#669966>"+"Evolution Points: " + mEvolutionPoints.ToString() + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write((int)1);
|
||||
writer.Write(mBoundToSoul);//Serialize who it is bound to.
|
||||
writer.Write(mEvolutionPoints);
|
||||
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
mBoundToSoul = reader.ReadInt();
|
||||
goto case 0;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
mEvolutionPoints = reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class chestofevolution: PlateChest
|
||||
{
|
||||
|
||||
private int mEvolutionPoints = 0;
|
||||
|
||||
private int mBoundToSoul = 0;// Start binding value as zero.
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int EvolutionPoints { get { return mEvolutionPoints; } set { mEvolutionPoints = value; } }
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int BoundToSoul { get { return mBoundToSoul; } set { mBoundToSoul = value; } }
|
||||
|
||||
public override int ArtifactRarity{ get{ return 13; } }
|
||||
public override int BasePhysicalResistance { get { return 10; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits{ get{ return 255; } }
|
||||
public override int InitMaxHits{ get{ return 255; } }
|
||||
private Mobile m_Owner;
|
||||
[Constructable]
|
||||
public chestofevolution()
|
||||
{
|
||||
Name = "<BASEFONT COLOR=#2E9AFE>Evo Chest";
|
||||
Hue = 1910;
|
||||
|
||||
ArmorAttributes.SelfRepair = 10;
|
||||
ArmorAttributes.MageArmor = 1;
|
||||
Attributes.LowerManaCost = 8;
|
||||
Attributes.LowerRegCost = 16;
|
||||
|
||||
BoundToSoul = 0;
|
||||
}
|
||||
|
||||
public chestofevolution(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
public override int OnHit( BaseWeapon weapon, int damageTaken )
|
||||
{
|
||||
if (Utility.Random(5) == 1)
|
||||
{
|
||||
//Console.WriteLine("should be applying gain");
|
||||
ApplyGain();
|
||||
}
|
||||
|
||||
return base.OnHit(weapon, damageTaken);
|
||||
}
|
||||
|
||||
public void ApplyGain()
|
||||
{
|
||||
int expr;
|
||||
if (mEvolutionPoints < 500) // edit this to change how high you wish the Attributes to go 10000 means max attributes will be 100
|
||||
{
|
||||
mEvolutionPoints++;
|
||||
//this.Name = "dark age evo chest (" + mEvolutionPoints.ToString() + ")";
|
||||
|
||||
if ((mEvolutionPoints / 1) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 2;//100Max
|
||||
|
||||
this.Attributes.BonusHits = expr;
|
||||
this.Attributes.BonusMana = expr;
|
||||
this.Attributes.BonusStam = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 4) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 4;//50Max
|
||||
|
||||
//this.Attributes.Luck = expr;
|
||||
this.Attributes.SpellDamage = expr;
|
||||
this.Attributes.DefendChance = expr;
|
||||
this.Attributes.ReflectPhysical = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 20) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 10;//20Max
|
||||
|
||||
this.Attributes.BonusStr = expr;
|
||||
this.Attributes.BonusDex = expr;
|
||||
this.Attributes.BonusInt = expr;
|
||||
}
|
||||
InvalidateProperties();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnDragLift(Mobile from)
|
||||
{
|
||||
if (from.AccessLevel >= AccessLevel.Seer)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Chest";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
return base.OnDragLift(from);
|
||||
}
|
||||
|
||||
public override bool OnEquip(Mobile from)
|
||||
{
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Chest";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
base.OnEquip(from);
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
else if (BoundToSoul == from.Serial) //Check to see if sword is bound to who is equiping it.
|
||||
{
|
||||
base.OnEquip(from);
|
||||
return true; //Allow player who had bound to sword to equip it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Sorry but this armor does not belong to you.");
|
||||
return false; //Disallow any one else from equiping the sword.
|
||||
}
|
||||
}
|
||||
public override void AddNameProperty(ObjectPropertyList list)
|
||||
{
|
||||
base.AddNameProperty(list);
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Un-Bound]" + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
else if (BoundToSoul > 0)//Once the sword is bound it will show the Evolution Points.
|
||||
{// \n puts the stuff after it on a new line
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Soulbound]\n" + "<BASEFONT COLOR=#669966>" + "Evolution Points: " + mEvolutionPoints.ToString() + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write((int)1);
|
||||
writer.Write(mBoundToSoul);//Serialize who it is bound to.
|
||||
writer.Write(mEvolutionPoints);
|
||||
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
mBoundToSoul = reader.ReadInt();
|
||||
goto case 0;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
mEvolutionPoints = reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class femalechestofevolution: LeatherBustierArms
|
||||
{
|
||||
|
||||
private int mEvolutionPoints = 0;
|
||||
|
||||
private int mBoundToSoul = 0;// Start binding value as zero.
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int EvolutionPoints { get { return mEvolutionPoints; } set { mEvolutionPoints = value; } }
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int BoundToSoul { get { return mBoundToSoul; } set { mBoundToSoul = value; } }
|
||||
|
||||
public override int ArtifactRarity{ get{ return 13; } }
|
||||
public override int BasePhysicalResistance { get { return 10; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits{ get{ return 255; } }
|
||||
public override int InitMaxHits{ get{ return 255; } }
|
||||
private Mobile m_Owner;
|
||||
[Constructable]
|
||||
public femalechestofevolution()
|
||||
{
|
||||
Name = "<BASEFONT COLOR=#2E9AFE>Evo Female Chest";
|
||||
Hue = 1910;
|
||||
|
||||
ArmorAttributes.SelfRepair = 10;
|
||||
ArmorAttributes.MageArmor = 1;
|
||||
Attributes.LowerManaCost = 8;
|
||||
Attributes.LowerRegCost = 16;
|
||||
|
||||
BoundToSoul = 0;
|
||||
}
|
||||
|
||||
public femalechestofevolution(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
public override int OnHit( BaseWeapon weapon, int damageTaken )
|
||||
{
|
||||
if (Utility.Random(5) == 1)
|
||||
{
|
||||
//Console.WriteLine("should be applying gain");
|
||||
ApplyGain();
|
||||
}
|
||||
|
||||
return base.OnHit(weapon, damageTaken);
|
||||
}
|
||||
|
||||
public void ApplyGain()
|
||||
{
|
||||
int expr;
|
||||
if (mEvolutionPoints < 500) // edit this to change how high you wish the Attributes to go 10000 means max attributes will be 100
|
||||
{
|
||||
mEvolutionPoints++;
|
||||
//this.Name = "Evo Female Chest (" + mEvolutionPoints.ToString() + ")";
|
||||
|
||||
if ((mEvolutionPoints / 1) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 2;//100Max
|
||||
|
||||
this.Attributes.BonusHits = expr;
|
||||
this.Attributes.BonusMana = expr;
|
||||
this.Attributes.BonusStam = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 4) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 4;//50Max
|
||||
|
||||
//this.Attributes.Luck = expr;
|
||||
this.Attributes.SpellDamage = expr;
|
||||
this.Attributes.DefendChance = expr;
|
||||
this.Attributes.ReflectPhysical = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 20) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 10;//20Max
|
||||
|
||||
this.Attributes.BonusStr = expr;
|
||||
this.Attributes.BonusDex = expr;
|
||||
this.Attributes.BonusInt = expr;
|
||||
}
|
||||
InvalidateProperties();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnDragLift(Mobile from)
|
||||
{
|
||||
if (from.AccessLevel >= AccessLevel.Seer)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Female Chest";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
return base.OnDragLift(from);
|
||||
}
|
||||
|
||||
public override bool OnEquip(Mobile from)
|
||||
{
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Female Chest";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
base.OnEquip(from);
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
else if (BoundToSoul == from.Serial) //Check to see if sword is bound to who is equiping it.
|
||||
{
|
||||
base.OnEquip(from);
|
||||
return true; //Allow player who had bound to sword to equip it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Sorry but this armor does not belong to you.");
|
||||
return false; //Disallow any one else from equiping the sword.
|
||||
}
|
||||
}
|
||||
public override void AddNameProperty(ObjectPropertyList list)
|
||||
{
|
||||
base.AddNameProperty(list);
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Un-Bound]" + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
else if (BoundToSoul > 0)//Once the sword is bound it will show the Evolution Points.
|
||||
{// \n puts the stuff after it on a new line
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Soulbound]\n" + "<BASEFONT COLOR=#669966>" + "Evolution Points: " + mEvolutionPoints.ToString() + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write((int)1);
|
||||
writer.Write(mBoundToSoul);//Serialize who it is bound to.
|
||||
writer.Write(mEvolutionPoints);
|
||||
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
mBoundToSoul = reader.ReadInt();
|
||||
goto case 0;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
mEvolutionPoints = reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class glovesofevolution: PlateGloves
|
||||
{
|
||||
|
||||
private int mEvolutionPoints = 0;
|
||||
|
||||
private int mBoundToSoul = 0;// Start binding value as zero.
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int EvolutionPoints { get { return mEvolutionPoints; } set { mEvolutionPoints = value; } }
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int BoundToSoul { get { return mBoundToSoul; } set { mBoundToSoul = value; } }
|
||||
|
||||
public override int ArtifactRarity{ get{ return 13; } }
|
||||
public override int BasePhysicalResistance { get { return 10; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits{ get{ return 255; } }
|
||||
public override int InitMaxHits{ get{ return 255; } }
|
||||
private Mobile m_Owner;
|
||||
[Constructable]
|
||||
public glovesofevolution()
|
||||
{
|
||||
Name = "<BASEFONT COLOR=#2E9AFE>Evo Gloves";
|
||||
Hue = 1910;
|
||||
|
||||
ArmorAttributes.SelfRepair = 10;
|
||||
ArmorAttributes.MageArmor = 1;
|
||||
Attributes.LowerManaCost = 8;
|
||||
Attributes.LowerRegCost = 16;
|
||||
|
||||
BoundToSoul = 0;
|
||||
}
|
||||
|
||||
public glovesofevolution(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
public override int OnHit( BaseWeapon weapon, int damageTaken )
|
||||
{
|
||||
if (Utility.Random(5) == 1)
|
||||
{
|
||||
//Console.WriteLine("should be applying gain");
|
||||
ApplyGain();
|
||||
}
|
||||
|
||||
return base.OnHit(weapon, damageTaken);
|
||||
}
|
||||
|
||||
public void ApplyGain()
|
||||
{
|
||||
int expr;
|
||||
if (mEvolutionPoints < 500) // edit this to change how high you wish the Attributes to go 10000 means max attributes will be 100
|
||||
{
|
||||
mEvolutionPoints++;
|
||||
//this.Name = "Evo Gloves (" + mEvolutionPoints.ToString() + ")";
|
||||
|
||||
if ((mEvolutionPoints / 1) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 2;//100Max
|
||||
|
||||
this.Attributes.BonusHits = expr;
|
||||
this.Attributes.BonusMana = expr;
|
||||
this.Attributes.BonusStam = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 4) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 4;//50Max
|
||||
|
||||
//this.Attributes.Luck = expr;
|
||||
this.Attributes.SpellDamage = expr;
|
||||
this.Attributes.DefendChance = expr;
|
||||
this.Attributes.ReflectPhysical = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 20) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 10;//20Max
|
||||
|
||||
this.Attributes.BonusStr = expr;
|
||||
this.Attributes.BonusDex = expr;
|
||||
this.Attributes.BonusInt = expr;
|
||||
}
|
||||
InvalidateProperties();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnDragLift(Mobile from)
|
||||
{
|
||||
if (from.AccessLevel >= AccessLevel.Seer)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Gloves";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
return base.OnDragLift(from);
|
||||
}
|
||||
|
||||
public override bool OnEquip(Mobile from)
|
||||
{
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Gloves";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
base.OnEquip(from);
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
else if (BoundToSoul == from.Serial) //Check to see if sword is bound to who is equiping it.
|
||||
{
|
||||
base.OnEquip(from);
|
||||
return true; //Allow player who had bound to sword to equip it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Sorry but this armor does not belong to you.");
|
||||
return false; //Disallow any one else from equiping the sword.
|
||||
}
|
||||
}
|
||||
public override void AddNameProperty(ObjectPropertyList list)
|
||||
{
|
||||
base.AddNameProperty(list);
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Un-Bound]" + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
else if (BoundToSoul > 0)//Once the sword is bound it will show the Evolution Points.
|
||||
{// \n puts the stuff after it on a new line
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Soulbound]\n" + "<BASEFONT COLOR=#669966>" + "Evolution Points: " + mEvolutionPoints.ToString() + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write((int)1);
|
||||
writer.Write(mBoundToSoul);//Serialize who it is bound to.
|
||||
writer.Write(mEvolutionPoints);
|
||||
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
mBoundToSoul = reader.ReadInt();
|
||||
goto case 0;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
mEvolutionPoints = reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class gorgetofevolution: PlateGorget
|
||||
{
|
||||
|
||||
private int mEvolutionPoints = 0;
|
||||
|
||||
private int mBoundToSoul = 0;// Start binding value as zero.
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int EvolutionPoints { get { return mEvolutionPoints; } set { mEvolutionPoints = value; } }
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int BoundToSoul { get { return mBoundToSoul; } set { mBoundToSoul = value; } }
|
||||
|
||||
public override int ArtifactRarity{ get{ return 13; } }
|
||||
public override int BasePhysicalResistance { get { return 10; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits{ get{ return 255; } }
|
||||
public override int InitMaxHits{ get{ return 255; } }
|
||||
private Mobile m_Owner;
|
||||
[Constructable]
|
||||
public gorgetofevolution()
|
||||
{
|
||||
Name = "<BASEFONT COLOR=#2E9AFE>Evo Gorget";
|
||||
Hue = 1910;
|
||||
|
||||
ArmorAttributes.SelfRepair = 10;
|
||||
ArmorAttributes.MageArmor = 1;
|
||||
Attributes.LowerManaCost = 8;
|
||||
Attributes.LowerRegCost = 16;
|
||||
|
||||
BoundToSoul = 0;
|
||||
}
|
||||
|
||||
public gorgetofevolution(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
public override int OnHit( BaseWeapon weapon, int damageTaken )
|
||||
{
|
||||
if (Utility.Random(5) == 1)
|
||||
{
|
||||
//Console.WriteLine("should be applying gain");
|
||||
ApplyGain();
|
||||
}
|
||||
|
||||
return base.OnHit(weapon, damageTaken);
|
||||
}
|
||||
|
||||
public void ApplyGain()
|
||||
{
|
||||
int expr;
|
||||
if (mEvolutionPoints < 500) // edit this to change how high you wish the Attributes to go 10000 means max attributes will be 100
|
||||
{
|
||||
mEvolutionPoints++;
|
||||
//this.Name = "Evo Gorget (" + mEvolutionPoints.ToString() + ")";
|
||||
|
||||
if ((mEvolutionPoints / 1) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 2;//100Max
|
||||
|
||||
this.Attributes.BonusHits = expr;
|
||||
this.Attributes.BonusMana = expr;
|
||||
this.Attributes.BonusStam = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 4) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 4;//50Max
|
||||
|
||||
//this.Attributes.Luck = expr;
|
||||
this.Attributes.SpellDamage = expr;
|
||||
this.Attributes.DefendChance = expr;
|
||||
this.Attributes.ReflectPhysical = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 20) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 10;//20Max
|
||||
|
||||
this.Attributes.BonusStr = expr;
|
||||
this.Attributes.BonusDex = expr;
|
||||
this.Attributes.BonusInt = expr;
|
||||
}
|
||||
InvalidateProperties();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnDragLift(Mobile from)
|
||||
{
|
||||
if (from.AccessLevel >= AccessLevel.Seer)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Gorget";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
return base.OnDragLift(from);
|
||||
}
|
||||
|
||||
public override bool OnEquip(Mobile from)
|
||||
{
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Gorget";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
base.OnEquip(from);
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
else if (BoundToSoul == from.Serial) //Check to see if sword is bound to who is equiping it.
|
||||
{
|
||||
base.OnEquip(from);
|
||||
return true; //Allow player who had bound to sword to equip it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Sorry but this armor does not belong to you.");
|
||||
return false; //Disallow any one else from equiping the sword.
|
||||
}
|
||||
}
|
||||
public override void AddNameProperty(ObjectPropertyList list)
|
||||
{
|
||||
base.AddNameProperty(list);
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Un-Bound]" + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
else if (BoundToSoul > 0)//Once the sword is bound it will show the Evolution Points.
|
||||
{// \n puts the stuff after it on a new line
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Soulbound]\n" + "<BASEFONT COLOR=#669966>" + "Evolution Points: " + mEvolutionPoints.ToString() + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write((int)1);
|
||||
writer.Write(mBoundToSoul);//Serialize who it is bound to.
|
||||
writer.Write(mEvolutionPoints);
|
||||
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
mBoundToSoul = reader.ReadInt();
|
||||
goto case 0;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
mEvolutionPoints = reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class helmofevolution: CloseHelm
|
||||
{
|
||||
|
||||
private int mEvolutionPoints = 0;
|
||||
|
||||
private int mBoundToSoul = 0;// Start binding value as zero.
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int EvolutionPoints { get { return mEvolutionPoints; } set { mEvolutionPoints = value; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int BoundToSoul { get { return mBoundToSoul; } set { mBoundToSoul = value; } }
|
||||
|
||||
public override int ArtifactRarity{ get{ return 13; } }
|
||||
public override int BasePhysicalResistance { get { return 10; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits{ get{ return 255; } }
|
||||
public override int InitMaxHits{ get{ return 255; } }
|
||||
private Mobile m_Owner;
|
||||
[Constructable]
|
||||
public helmofevolution()
|
||||
{
|
||||
Name = "<BASEFONT COLOR=#2E9AFE>Evo Helm";
|
||||
Hue = 1910;
|
||||
|
||||
ArmorAttributes.SelfRepair = 10;
|
||||
ArmorAttributes.MageArmor = 1;
|
||||
Attributes.LowerManaCost = 8;
|
||||
Attributes.LowerRegCost = 16;
|
||||
|
||||
BoundToSoul = 0;
|
||||
}
|
||||
|
||||
public helmofevolution(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
public override int OnHit( BaseWeapon weapon, int damageTaken )
|
||||
{
|
||||
if (Utility.Random(5) == 1)
|
||||
{
|
||||
//Console.WriteLine("should be applying gain");
|
||||
ApplyGain();
|
||||
}
|
||||
|
||||
return base.OnHit(weapon, damageTaken);
|
||||
}
|
||||
|
||||
public void ApplyGain()
|
||||
{
|
||||
int expr;
|
||||
if (mEvolutionPoints < 500) // edit this to change how high you wish the Attributes to go 10000 means max attributes will be 100
|
||||
{
|
||||
mEvolutionPoints++;
|
||||
//this.Name = "Evo Helm (" + mEvolutionPoints.ToString() + ")";
|
||||
|
||||
if ((mEvolutionPoints / 1) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 2;//100Max
|
||||
|
||||
this.Attributes.BonusHits = expr;
|
||||
this.Attributes.BonusMana = expr;
|
||||
this.Attributes.BonusStam = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 4) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 4;//50Max
|
||||
|
||||
//this.Attributes.Luck = expr;
|
||||
this.Attributes.SpellDamage = expr;
|
||||
this.Attributes.DefendChance = expr;
|
||||
this.Attributes.ReflectPhysical = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 20) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 10;//20Max
|
||||
|
||||
this.Attributes.BonusStr = expr;
|
||||
this.Attributes.BonusDex = expr;
|
||||
this.Attributes.BonusInt = expr;
|
||||
}
|
||||
InvalidateProperties();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnDragLift(Mobile from)
|
||||
{
|
||||
if (from.AccessLevel >= AccessLevel.Seer)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Helm";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
return base.OnDragLift(from);
|
||||
}
|
||||
|
||||
public override bool OnEquip(Mobile from)
|
||||
{
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Helm";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
base.OnEquip(from);
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
else if (BoundToSoul == from.Serial) //Check to see if sword is bound to who is equiping it.
|
||||
{
|
||||
base.OnEquip(from);
|
||||
return true; //Allow player who had bound to sword to equip it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Sorry but this armor does not belong to you.");
|
||||
return false; //Disallow any one else from equiping the sword.
|
||||
}
|
||||
}
|
||||
public override void AddNameProperty(ObjectPropertyList list)
|
||||
{
|
||||
base.AddNameProperty(list);
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Un-Bound]" + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
else if (BoundToSoul > 0)//Once the sword is bound it will show the Evolution Points.
|
||||
{// \n puts the stuff after it on a new line
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Soulbound]\n" + "<BASEFONT COLOR=#669966>" + "Evolution Points: " + mEvolutionPoints.ToString() + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write((int)1);
|
||||
writer.Write(mBoundToSoul);//Serialize who it is bound to.
|
||||
writer.Write(mEvolutionPoints);
|
||||
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
mBoundToSoul = reader.ReadInt();
|
||||
goto case 0;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
mEvolutionPoints = reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
using System;
|
||||
using Server;
|
||||
|
||||
namespace Server.Items
|
||||
{
|
||||
public class legsofevolution: PlateLegs
|
||||
{
|
||||
|
||||
private int mEvolutionPoints = 0;
|
||||
|
||||
private int mBoundToSoul = 0;// Start binding value as zero.
|
||||
|
||||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int EvolutionPoints { get { return mEvolutionPoints; } set { mEvolutionPoints = value; } }
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int BoundToSoul { get { return mBoundToSoul; } set { mBoundToSoul = value; } }
|
||||
|
||||
public override int ArtifactRarity{ get{ return 13; } }
|
||||
public override int BasePhysicalResistance { get { return 10; } }
|
||||
public override int BaseFireResistance { get { return 10; } }
|
||||
public override int BaseColdResistance { get { return 10; } }
|
||||
public override int BasePoisonResistance { get { return 10; } }
|
||||
public override int BaseEnergyResistance { get { return 10; } }
|
||||
public override int InitMinHits{ get{ return 255; } }
|
||||
public override int InitMaxHits{ get{ return 255; } }
|
||||
private Mobile m_Owner;
|
||||
[Constructable]
|
||||
public legsofevolution()
|
||||
{
|
||||
Name = "<BASEFONT COLOR=#2E9AFE>Evo Legs";
|
||||
Hue = 1910;
|
||||
|
||||
ArmorAttributes.SelfRepair = 10;
|
||||
ArmorAttributes.MageArmor = 1;
|
||||
Attributes.LowerManaCost = 8;
|
||||
Attributes.LowerRegCost = 16;
|
||||
|
||||
BoundToSoul = 0;
|
||||
}
|
||||
|
||||
public legsofevolution(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
public override int OnHit( BaseWeapon weapon, int damageTaken )
|
||||
{
|
||||
if (Utility.Random(5) == 1)
|
||||
{
|
||||
//Console.WriteLine("should be applying gain if all is well");
|
||||
ApplyGain();
|
||||
}
|
||||
|
||||
return base.OnHit(weapon, damageTaken);
|
||||
}
|
||||
|
||||
public void ApplyGain()
|
||||
{
|
||||
int expr;
|
||||
if (mEvolutionPoints < 500) // edit this to change how high you wish the Attributes to go 10000 means max attributes will be 100
|
||||
{
|
||||
mEvolutionPoints++;
|
||||
//this.Name = "Evo Legs (" + mEvolutionPoints.ToString() + ")";
|
||||
|
||||
if ((mEvolutionPoints / 1) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 2;//100Max
|
||||
|
||||
this.Attributes.BonusHits = expr;
|
||||
this.Attributes.BonusMana = expr;
|
||||
this.Attributes.BonusStam = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 4) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 4;//50Max
|
||||
|
||||
//this.Attributes.Luck = expr;
|
||||
this.Attributes.SpellDamage = expr;
|
||||
this.Attributes.DefendChance = expr;
|
||||
this.Attributes.ReflectPhysical = expr;
|
||||
}
|
||||
|
||||
if ((mEvolutionPoints / 20) > 0)
|
||||
{
|
||||
expr = mEvolutionPoints / 10;//20Max
|
||||
|
||||
this.Attributes.BonusStr = expr;
|
||||
this.Attributes.BonusDex = expr;
|
||||
this.Attributes.BonusInt = expr;
|
||||
}
|
||||
InvalidateProperties();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public override bool OnDragLift(Mobile from)
|
||||
{
|
||||
if (from.AccessLevel >= AccessLevel.Seer)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Legs";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
return base.OnDragLift(from);
|
||||
}
|
||||
|
||||
public override bool OnEquip(Mobile from)
|
||||
{
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
BoundToSoul = from.Serial; //Bind to a serial on first time equiped.
|
||||
this.Name = "<BASEFONT COLOR=#2E9AFE>" + from.Name.ToString() + "'s Evo Legs";//Change item name and add who it is bound to. "Player's Soul Sword"
|
||||
from.Emote("*" + from.Name + " feels a weird energy overwhelming their body*");
|
||||
base.OnEquip(from);
|
||||
return true;//Allow it to bind to the first player to equip it after creation.
|
||||
//Will show in [props as ParentEntity and RootParentEntitty as [m] Serial, "Player Name"
|
||||
}
|
||||
else if (BoundToSoul == from.Serial) //Check to see if sword is bound to who is equiping it.
|
||||
{
|
||||
base.OnEquip(from);
|
||||
return true; //Allow player who had bound to sword to equip it.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("Sorry but this armor does not belong to you.");
|
||||
return false; //Disallow any one else from equiping the sword.
|
||||
}
|
||||
}
|
||||
public override void AddNameProperty(ObjectPropertyList list)
|
||||
{
|
||||
base.AddNameProperty(list);
|
||||
if (BoundToSoul == 0) //Check to see if bound to a serial.
|
||||
{
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Un-Bound]" + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
else if (BoundToSoul > 0)//Once the sword is bound it will show the Evolution Points.
|
||||
{// \n puts the stuff after it on a new line
|
||||
list.Add("<BASEFONT COLOR=#666699>"/*Green*/ + "[Soulbound]\n" + "<BASEFONT COLOR=#669966>" + "Evolution Points: " + mEvolutionPoints.ToString() + "<BASEFONT COLOR=#FFFFFF>"/*Back to White*/ );
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write((int)1);
|
||||
writer.Write(mBoundToSoul);//Serialize who it is bound to.
|
||||
writer.Write(mEvolutionPoints);
|
||||
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
switch (version)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
mBoundToSoul = reader.ReadInt();
|
||||
goto case 0;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
mEvolutionPoints = reader.ReadInt();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user