#W# Source and Scripts added. Added Scripts/Settings.cs to expose some basic tweak able settings.

This commit is contained in:
WarrentyExpired 2026-08-06 11:06:05 -04:00
parent b51c58f514
commit 3045c83799
3512 changed files with 627673 additions and 0 deletions

View file

@ -0,0 +1,42 @@
using System;
using Server;
namespace Server.Items
{
public class AxeOfTheHeavens : DoubleAxe
{
public override int LabelNumber{ get{ return 1061106; } } // Axe of the Heavens
public override int ArtifactRarity{ get{ return 11; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public AxeOfTheHeavens()
{
Hue = 0x4D5;
WeaponAttributes.HitLightning = 50;
Attributes.AttackChance = 15;
Attributes.DefendChance = 15;
Attributes.WeaponDamage = 50;
}
public AxeOfTheHeavens( 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();
}
}
}

View file

@ -0,0 +1,45 @@
using System;
using Server;
namespace Server.Items
{
public class BladeOfInsanity : Katana
{
public override int LabelNumber{ get{ return 1061088; } } // Blade of Insanity
public override int ArtifactRarity{ get{ return 11; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public BladeOfInsanity()
{
Hue = 0x76D;
WeaponAttributes.HitLeechStam = 100;
Attributes.RegenStam = 2;
Attributes.WeaponSpeed = 30;
Attributes.WeaponDamage = 50;
}
public BladeOfInsanity( 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();
if ( Hue == 0x44F )
Hue = 0x76D;
}
}
}

View file

@ -0,0 +1,47 @@
using System;
using Server;
namespace Server.Items
{
public class BladeOfTheRighteous : Longsword
{
public override int LabelNumber{ get{ return 1061107; } } // Blade of the Righteous
public override int ArtifactRarity{ get{ return 10; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public BladeOfTheRighteous()
{
Hue = 0x47E;
//Slayer = SlayerName.DaemonDismissal;
Slayer = SlayerName.Exorcism;
WeaponAttributes.HitLeechHits = 50;
WeaponAttributes.UseBestSkill = 1;
Attributes.BonusHits = 10;
Attributes.WeaponDamage = 50;
}
public BladeOfTheRighteous( 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();
if ( Slayer == SlayerName.None )
Slayer = SlayerName.Exorcism;
}
}
}

View file

@ -0,0 +1,48 @@
using System;
using Server;
namespace Server.Items
{
public class BoneCrusher : WarMace
{
public override int LabelNumber{ get{ return 1061596; } } // Bone Crusher
public override int ArtifactRarity{ get{ return 11; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public BoneCrusher()
{
ItemID = 0x1406;
Hue = 0x60C;
WeaponAttributes.HitLowerDefend = 50;
Attributes.BonusStr = 10;
Attributes.WeaponDamage = 75;
}
public BoneCrusher( 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();
if ( Hue == 0x604 )
Hue = 0x60C;
if ( ItemID == 0x1407 )
ItemID = 0x1406;
}
}
}

View file

@ -0,0 +1,42 @@
using System;
using Server;
namespace Server.Items
{
public class BreathOfTheDead : BoneHarvester
{
public override int LabelNumber{ get{ return 1061109; } } // Breath of the Dead
public override int ArtifactRarity{ get{ return 11; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public BreathOfTheDead()
{
Hue = 0x455;
WeaponAttributes.HitLeechHits = 100;
WeaponAttributes.HitHarm = 25;
Attributes.SpellDamage = 5;
Attributes.WeaponDamage = 50;
}
public BreathOfTheDead( 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();
}
}
}

View file

@ -0,0 +1,47 @@
using System;
using Server;
namespace Server.Items
{
public class Frostbringer : Bow
{
public override int LabelNumber{ get{ return 1061111; } } // Frostbringer
public override int ArtifactRarity{ get{ return 11; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public Frostbringer()
{
Hue = 0x4F2;
WeaponAttributes.HitDispel = 50;
Attributes.RegenStam = 10;
Attributes.WeaponDamage = 50;
}
public override void GetDamageTypes( Mobile wielder, out int phys, out int fire, out int cold, out int pois, out int nrgy, out int chaos, out int direct )
{
phys = fire = pois = nrgy = chaos = direct = 0;
cold = 100;
}
public Frostbringer( 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();
}
}
}

View file

@ -0,0 +1,48 @@
using System;
using Server;
namespace Server.Items
{
public class LegacyOfTheDreadLord : Bardiche
{
public override int LabelNumber{ get{ return 1060860; } } // Legacy of the Dread Lord
public override int ArtifactRarity{ get{ return 10; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public LegacyOfTheDreadLord()
{
Hue = 0x676;
Attributes.SpellChanneling = 1;
Attributes.CastRecovery = 3;
Attributes.WeaponSpeed = 30;
Attributes.WeaponDamage = 50;
}
public LegacyOfTheDreadLord( 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();
if ( Attributes.CastSpeed == 3 )
Attributes.CastRecovery = 3;
if ( Hue == 0x4B9 )
Hue = 0x676;
}
}
}

View file

@ -0,0 +1,53 @@
using System;
using Server;
namespace Server.Items
{
public class SerpentsFang : Kryss
{
public override int LabelNumber{ get{ return 1061601; } } // Serpent's Fang
public override int ArtifactRarity{ get{ return 11; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public SerpentsFang()
{
ItemID = 0x1400;
Hue = 0x488;
WeaponAttributes.HitPoisonArea = 100;
WeaponAttributes.ResistPoisonBonus = 20;
Attributes.AttackChance = 15;
Attributes.WeaponDamage = 50;
}
public override void GetDamageTypes( Mobile wielder, out int phys, out int fire, out int cold, out int pois, out int nrgy, out int chaos, out int direct )
{
fire = cold = nrgy = chaos = direct = 0;
phys = 25;
pois = 75;
}
public SerpentsFang( 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();
if ( ItemID == 0x1401 )
ItemID = 0x1400;
}
}
}

View file

@ -0,0 +1,54 @@
using System;
using Server;
namespace Server.Items
{
public class StaffOfTheMagi : BlackStaff
{
public override int LabelNumber{ get{ return 1061600; } } // Staff of the Magi
public override int ArtifactRarity{ get{ return 11; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public StaffOfTheMagi()
{
Hue = 0x481;
WeaponAttributes.MageWeapon = 30;
Attributes.SpellChanneling = 1;
Attributes.CastSpeed = 1;
Attributes.WeaponDamage = 50;
}
public override void GetDamageTypes( Mobile wielder, out int phys, out int fire, out int cold, out int pois, out int nrgy, out int chaos, out int direct )
{
phys = fire = cold = pois = chaos = direct = 0;
nrgy = 100;
}
public StaffOfTheMagi( 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();
if ( WeaponAttributes.MageWeapon == 0 )
WeaponAttributes.MageWeapon = 30;
if ( ItemID == 0xDF1 )
ItemID = 0xDF0;
}
}
}

View file

@ -0,0 +1,40 @@
using System;
using Server;
namespace Server.Items
{
public class TheBeserkersMaul : Maul
{
public override int LabelNumber{ get{ return 1061108; } } // The Berserker's Maul
public override int ArtifactRarity{ get{ return 11; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public TheBeserkersMaul()
{
Hue = 0x21;
Attributes.WeaponSpeed = 75;
Attributes.WeaponDamage = 50;
}
public TheBeserkersMaul( 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();
}
}
}

View file

@ -0,0 +1,52 @@
using System;
using Server;
namespace Server.Items
{
public class TheDragonSlayer : Lance
{
public override int LabelNumber{ get{ return 1061248; } } // The Dragon Slayer
public override int ArtifactRarity{ get{ return 11; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public TheDragonSlayer()
{
Hue = 0x530;
Slayer = SlayerName.DragonSlaying;
Attributes.Luck = 110;
Attributes.WeaponDamage = 50;
WeaponAttributes.ResistFireBonus = 20;
WeaponAttributes.UseBestSkill = 1;
}
public override void GetDamageTypes( Mobile wielder, out int phys, out int fire, out int cold, out int pois, out int nrgy, out int chaos, out int direct )
{
phys = fire = cold = pois = chaos = direct = 0;
nrgy = 100;
}
public TheDragonSlayer( 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();
if ( Slayer == SlayerName.None )
Slayer = SlayerName.DragonSlaying;
}
}
}

View file

@ -0,0 +1,57 @@
using System;
using Server;
namespace Server.Items
{
public class TheDryadBow : Bow
{
public override int LabelNumber{ get{ return 1061090; } } // The Dryad Bow
public override int ArtifactRarity{ get{ return 11; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public TheDryadBow()
{
ItemID = 0x13B1;
Hue = 0x48F;
SkillBonuses.SetValues( 0, m_PossibleBonusSkills[Utility.Random(m_PossibleBonusSkills.Length)], (Utility.Random( 4 ) == 0 ? 10.0 : 5.0) );
WeaponAttributes.SelfRepair = 5;
Attributes.WeaponSpeed = 50;
Attributes.WeaponDamage = 35;
WeaponAttributes.ResistPoisonBonus = 15;
}
private static SkillName[] m_PossibleBonusSkills = new SkillName[]
{
SkillName.Archery,
SkillName.Healing,
SkillName.MagicResist,
SkillName.Peacemaking,
SkillName.Chivalry,
SkillName.Ninjitsu
};
public TheDryadBow( 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();
if ( version < 1 )
SkillBonuses.SetValues( 0, m_PossibleBonusSkills[Utility.Random(m_PossibleBonusSkills.Length)], (Utility.Random( 4 ) == 0 ? 10.0 : 5.0) );
}
}
}

View file

@ -0,0 +1,48 @@
using System;
using Server;
namespace Server.Items
{
public class TheTaskmaster : WarFork
{
public override int LabelNumber{ get{ return 1061110; } } // The Taskmaster
public override int ArtifactRarity{ get{ return 10; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public TheTaskmaster()
{
Hue = 0x4F8;
WeaponAttributes.HitPoisonArea = 100;
Attributes.BonusDex = 5;
Attributes.AttackChance = 15;
Attributes.WeaponDamage = 50;
}
public override void GetDamageTypes( Mobile wielder, out int phys, out int fire, out int cold, out int pois, out int nrgy, out int chaos, out int direct )
{
phys = fire = cold = nrgy = chaos = direct = 0;
pois = 100;
}
public TheTaskmaster( 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();
}
}
}

View file

@ -0,0 +1,42 @@
using System;
using Server;
namespace Server.Items
{
public class TitansHammer : WarHammer
{
public override int LabelNumber{ get{ return 1060024; } } // Titan's Hammer
public override int ArtifactRarity{ get{ return 10; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public TitansHammer()
{
Hue = 0x482;
WeaponAttributes.HitEnergyArea = 100;
Attributes.BonusStr = 15;
Attributes.AttackChance = 15;
Attributes.WeaponDamage = 50;
}
public TitansHammer( 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();
}
}
}

View file

@ -0,0 +1,51 @@
using System;
using Server;
namespace Server.Items
{
public class ZyronicClaw : ExecutionersAxe
{
public override int LabelNumber{ get{ return 1061593; } } // Zyronic Claw
public override int ArtifactRarity{ get{ return 10; } }
public override int InitMinHits{ get{ return 255; } }
public override int InitMaxHits{ get{ return 255; } }
[Constructable]
public ZyronicClaw()
{
Hue = 0x485;
Slayer = SlayerName.ElementalBan;
WeaponAttributes.HitLeechMana = 50;
Attributes.AttackChance = 30;
Attributes.WeaponDamage = 50;
}
public override void GetDamageTypes( Mobile wielder, out int phys, out int fire, out int cold, out int pois, out int nrgy, out int chaos, out int direct )
{
chaos = direct = 0;
phys = fire = cold = pois = nrgy = 20;
}
public ZyronicClaw( 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();
if ( Slayer == SlayerName.None )
Slayer = SlayerName.ElementalBan;
}
}
}