#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,100 @@
using System;
namespace Server.Factions
{
public class FactionDefinition
{
private int m_Sort;
private int m_HuePrimary;
private int m_HueSecondary;
private int m_HueJoin;
private int m_HueBroadcast;
private int m_WarHorseBody;
private int m_WarHorseItem;
private string m_FriendlyName;
private string m_Keyword;
private string m_Abbreviation;
private TextDefinition m_Name;
private TextDefinition m_PropName;
private TextDefinition m_Header;
private TextDefinition m_About;
private TextDefinition m_CityControl;
private TextDefinition m_SigilControl;
private TextDefinition m_SignupName;
private TextDefinition m_FactionStoneName;
private TextDefinition m_OwnerLabel;
private TextDefinition m_GuardIgnore, m_GuardWarn, m_GuardAttack;
private StrongholdDefinition m_Stronghold;
private RankDefinition[] m_Ranks;
private GuardDefinition[] m_Guards;
public int Sort{ get{ return m_Sort; } }
public int HuePrimary{ get{ return m_HuePrimary; } }
public int HueSecondary{ get{ return m_HueSecondary; } }
public int HueJoin{ get{ return m_HueJoin; } }
public int HueBroadcast{ get{ return m_HueBroadcast; } }
public int WarHorseBody{ get{ return m_WarHorseBody; } }
public int WarHorseItem{ get{ return m_WarHorseItem; } }
public string FriendlyName{ get{ return m_FriendlyName; } }
public string Keyword{ get{ return m_Keyword; } }
public string Abbreviation{ get { return m_Abbreviation; } }
public TextDefinition Name{ get{ return m_Name; } }
public TextDefinition PropName{ get{ return m_PropName; } }
public TextDefinition Header{ get{ return m_Header; } }
public TextDefinition About{ get{ return m_About; } }
public TextDefinition CityControl{ get{ return m_CityControl; } }
public TextDefinition SigilControl{ get{ return m_SigilControl; } }
public TextDefinition SignupName{ get{ return m_SignupName; } }
public TextDefinition FactionStoneName{ get{ return m_FactionStoneName; } }
public TextDefinition OwnerLabel{ get{ return m_OwnerLabel; } }
public TextDefinition GuardIgnore{ get{ return m_GuardIgnore; } }
public TextDefinition GuardWarn{ get{ return m_GuardWarn; } }
public TextDefinition GuardAttack{ get{ return m_GuardAttack; } }
public StrongholdDefinition Stronghold{ get{ return m_Stronghold; } }
public RankDefinition[] Ranks{ get{ return m_Ranks; } }
public GuardDefinition[] Guards{ get{ return m_Guards; } }
public FactionDefinition( int sort, int huePrimary, int hueSecondary, int hueJoin, int hueBroadcast, int warHorseBody, int warHorseItem, string friendlyName, string keyword, string abbreviation, TextDefinition name, TextDefinition propName, TextDefinition header, TextDefinition about, TextDefinition cityControl, TextDefinition sigilControl, TextDefinition signupName, TextDefinition factionStoneName, TextDefinition ownerLabel, TextDefinition guardIgnore, TextDefinition guardWarn, TextDefinition guardAttack, StrongholdDefinition stronghold, RankDefinition[] ranks, GuardDefinition[] guards )
{
m_Sort = sort;
m_HuePrimary = huePrimary;
m_HueSecondary = hueSecondary;
m_HueJoin = hueJoin;
m_HueBroadcast = hueBroadcast;
m_WarHorseBody = warHorseBody;
m_WarHorseItem = warHorseItem;
m_FriendlyName = friendlyName;
m_Keyword = keyword;
m_Abbreviation = abbreviation;
m_Name = name;
m_PropName = propName;
m_Header = header;
m_About = about;
m_CityControl = cityControl;
m_SigilControl = sigilControl;
m_SignupName = signupName;
m_FactionStoneName = factionStoneName;
m_OwnerLabel = ownerLabel;
m_GuardIgnore = guardIgnore;
m_GuardWarn = guardWarn;
m_GuardAttack = guardAttack;
m_Stronghold = stronghold;
m_Ranks = ranks;
m_Guards = guards;
}
}
}

View file

@ -0,0 +1,51 @@
using System;
using Server;
using Server.Items;
using Server.Mobiles;
namespace Server.Factions
{
public class FactionItemDefinition
{
private int m_SilverCost;
private Type m_VendorType;
public int SilverCost{ get{ return m_SilverCost; } }
public Type VendorType{ get{ return m_VendorType; } }
public FactionItemDefinition( int silverCost, Type vendorType )
{
m_SilverCost = silverCost;
m_VendorType = vendorType;
}
private static FactionItemDefinition m_MetalArmor = new FactionItemDefinition( 1000, typeof( Blacksmith ) );
private static FactionItemDefinition m_Weapon = new FactionItemDefinition( 1000, typeof( Blacksmith ) );
private static FactionItemDefinition m_RangedWeapon = new FactionItemDefinition( 1000, typeof( Bowyer ) );
private static FactionItemDefinition m_LeatherArmor = new FactionItemDefinition( 750, typeof( Tailor ) );
private static FactionItemDefinition m_Clothing = new FactionItemDefinition( 200, typeof( Tailor ) );
private static FactionItemDefinition m_Scroll = new FactionItemDefinition( 500, typeof( Mage ) );
public static FactionItemDefinition Identify( Item item )
{
if ( item is BaseArmor )
{
if ( CraftResources.GetType( ((BaseArmor)item).Resource ) == CraftResourceType.Leather )
return m_LeatherArmor;
return m_MetalArmor;
}
if ( item is BaseRanged )
return m_RangedWeapon;
else if ( item is BaseWeapon )
return m_Weapon;
else if ( item is BaseClothing )
return m_Clothing;
else if ( item is SpellScroll )
return m_Scroll;
return null;
}
}
}

View file

@ -0,0 +1,42 @@
using System;
using Server;
namespace Server.Factions
{
public class GuardDefinition
{
private Type m_Type;
private int m_Price;
private int m_Upkeep;
private int m_Maximum;
private int m_ItemID;
private TextDefinition m_Header;
private TextDefinition m_Label;
public Type Type{ get{ return m_Type; } }
public int Price{ get{ return m_Price; } }
public int Upkeep{ get{ return m_Upkeep; } }
public int Maximum{ get{ return m_Maximum; } }
public int ItemID{ get{ return m_ItemID; } }
public TextDefinition Header{ get{ return m_Header; } }
public TextDefinition Label{ get{ return m_Label; } }
public GuardDefinition( Type type, int itemID, int price, int upkeep, int maximum, TextDefinition header, TextDefinition label )
{
m_Type = type;
m_Price = price;
m_Upkeep = upkeep;
m_Maximum = maximum;
m_ItemID = itemID;
m_Header = header;
m_Label = label;
}
}
}

View file

@ -0,0 +1,25 @@
using System;
namespace Server.Factions
{
public class RankDefinition
{
private int m_Rank;
private int m_Required;
private int m_MaxWearables;
private TextDefinition m_Title;
public int Rank{ get{ return m_Rank; } }
public int Required{ get{ return m_Required; } }
public int MaxWearables{ get{ return m_MaxWearables; } }
public TextDefinition Title{ get{ return m_Title; } }
public RankDefinition( int rank, int required, int maxWearables, TextDefinition title )
{
m_Rank = rank;
m_Required = required;
m_Title = title;
m_MaxWearables = maxWearables;
}
}
}

View file

@ -0,0 +1,27 @@
using System;
namespace Server.Factions
{
public class StrongholdDefinition
{
private Rectangle2D[] m_Area;
private Point3D m_JoinStone;
private Point3D m_FactionStone;
private Point3D[] m_Monoliths;
public Rectangle2D[] Area{ get{ return m_Area; } }
public Point3D JoinStone{ get{ return m_JoinStone; } }
public Point3D FactionStone{ get{ return m_FactionStone; } }
public Point3D[] Monoliths{ get{ return m_Monoliths; } }
public StrongholdDefinition( Rectangle2D[] area, Point3D joinStone, Point3D factionStone, Point3D[] monoliths )
{
m_Area = area;
m_JoinStone = joinStone;
m_FactionStone = factionStone;
m_Monoliths = monoliths;
}
}
}

View file

@ -0,0 +1,59 @@
using System;
namespace Server.Factions
{
public class TownDefinition
{
private int m_Sort;
private int m_SigilID;
private string m_Region;
private string m_FriendlyName;
private TextDefinition m_TownName;
private TextDefinition m_TownStoneHeader;
private TextDefinition m_StrongholdMonolithName;
private TextDefinition m_TownMonolithName;
private TextDefinition m_TownStoneName;
private TextDefinition m_SigilName;
private TextDefinition m_CorruptedSigilName;
private Point3D m_Monolith;
private Point3D m_TownStone;
public int Sort{ get{ return m_Sort; } }
public int SigilID{ get{ return m_SigilID; } }
public string Region{ get{ return m_Region; } }
public string FriendlyName{ get{ return m_FriendlyName; } }
public TextDefinition TownName{ get{ return m_TownName; } }
public TextDefinition TownStoneHeader{ get{ return m_TownStoneHeader; } }
public TextDefinition StrongholdMonolithName{ get{ return m_StrongholdMonolithName; } }
public TextDefinition TownMonolithName{ get{ return m_TownMonolithName; } }
public TextDefinition TownStoneName{ get{ return m_TownStoneName; } }
public TextDefinition SigilName{ get{ return m_SigilName; } }
public TextDefinition CorruptedSigilName{ get{ return m_CorruptedSigilName; } }
public Point3D Monolith{ get{ return m_Monolith; } }
public Point3D TownStone{ get{ return m_TownStone; } }
public TownDefinition( int sort, int sigilID, string region, string friendlyName, TextDefinition townName, TextDefinition townStoneHeader, TextDefinition strongholdMonolithName, TextDefinition townMonolithName, TextDefinition townStoneName, TextDefinition sigilName, TextDefinition corruptedSigilName, Point3D monolith, Point3D townStone )
{
m_Sort = sort;
m_SigilID = sigilID;
m_Region = region;
m_FriendlyName = friendlyName;
m_TownName = townName;
m_TownStoneHeader = townStoneHeader;
m_StrongholdMonolithName = strongholdMonolithName;
m_TownMonolithName = townMonolithName;
m_TownStoneName = townStoneName;
m_SigilName = sigilName;
m_CorruptedSigilName = corruptedSigilName;
m_Monolith = monolith;
m_TownStone = townStone;
}
}
}

View file

@ -0,0 +1,83 @@
using System;
using Server;
namespace Server.Factions
{
public class VendorDefinition
{
private Type m_Type;
private int m_Price;
private int m_Upkeep;
private int m_Maximum;
private int m_ItemID;
private TextDefinition m_Header;
private TextDefinition m_Label;
public Type Type{ get{ return m_Type; } }
public int Price{ get{ return m_Price; } }
public int Upkeep{ get{ return m_Upkeep; } }
public int Maximum{ get{ return m_Maximum; } }
public int ItemID{ get{ return m_ItemID; } }
public TextDefinition Header{ get{ return m_Header; } }
public TextDefinition Label{ get{ return m_Label; } }
public VendorDefinition( Type type, int itemID, int price, int upkeep, int maximum, TextDefinition header, TextDefinition label )
{
m_Type = type;
m_Price = price;
m_Upkeep = upkeep;
m_Maximum = maximum;
m_ItemID = itemID;
m_Header = header;
m_Label = label;
}
private static VendorDefinition[] m_Definitions = new VendorDefinition[]
{
new VendorDefinition( typeof( FactionBottleVendor ), 0xF0E,
5000,
1000,
10,
new TextDefinition( 1011549, "POTION BOTTLE VENDOR" ),
new TextDefinition( 1011544, "Buy Potion Bottle Vendor" )
),
new VendorDefinition( typeof( FactionBoardVendor ), 0x1BD7,
3000,
500,
10,
new TextDefinition( 1011552, "WOOD VENDOR" ),
new TextDefinition( 1011545, "Buy Wooden Board Vendor" )
),
new VendorDefinition( typeof( FactionOreVendor ), 0x19B8,
3000,
500,
10,
new TextDefinition( 1011553, "IRON ORE VENDOR" ),
new TextDefinition( 1011546, "Buy Iron Ore Vendor" )
),
new VendorDefinition( typeof( FactionReagentVendor ), 0xF86,
5000,
1000,
10,
new TextDefinition( 1011554, "REAGENT VENDOR" ),
new TextDefinition( 1011547, "Buy Reagent Vendor" )
),
new VendorDefinition( typeof( FactionHorseVendor ), 0x20DD,
5000,
1000,
1,
new TextDefinition( 1011556, "HORSE BREEDER" ),
new TextDefinition( 1011555, "Buy Horse Breeder" )
)
};
public static VendorDefinition[] Definitions{ get{ return m_Definitions; } }
}
}