Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View File

@@ -0,0 +1,38 @@
using System;
using Server;
using Server.Items;
namespace Server.ACC.CSS
{
public class CReagent
{
private static Type[] m_Types = new Type[4]
{
typeof( SpringWater ),
typeof( DestroyingAngel ),
typeof( PetrafiedWood ),
typeof( Kindling )
};
public static Type SpringWater
{
get{ return m_Types[0]; }
set{ m_Types[0] = value; }
}
public static Type DestroyingAngel
{
get{ return m_Types[1]; }
set{ m_Types[1] = value; }
}
public static Type PetrafiedWood
{
get{ return m_Types[2]; }
set{ m_Types[2] = value; }
}
public static Type Kindling
{
get{ return m_Types[3]; }
set{ m_Types[3] = value; }
}
}
}

View File

@@ -0,0 +1,14 @@
using System;
using Server;
namespace Server.ACC.CSS
{
public static class CSSettings
{
/*
* Initial setting. Will read from saves after first save.
* Set to true if you want custom Spellbooks to be created full, unless you specify in the creation.
*/
public static bool FullSpellbooks { get { return false; } }
}
}

View File

@@ -0,0 +1,19 @@
using System;
using Server.Mobiles;
using Server.Items;
using Server.Network;
namespace Server.ACC.CSS
{
public class CSkillCheck
{
//Set this to false if you only want to use custom skills.
public static bool UseDefaultSkills = true;
//Return true if they cast.
public static bool CheckSkill( Mobile from, Type type )
{
return true;
}
}
}

View File

@@ -0,0 +1,39 @@
using System;
using Server;
namespace Server.Items
{
public class DestroyingAngel : BaseReagent//, ICommodity
{
// int ICommodity.DescriptionNumber { get { return LabelNumber; } }
// bool ICommodity.IsDeedable { get { return (Core.ML); } }
[Constructable]
public DestroyingAngel() : this( 1 )
{
}
[Constructable]
public DestroyingAngel( int amount ) : base( 0xE1F, amount )
{
Hue = 0x290;
Name = "destroying angel";
}
public DestroyingAngel( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 1 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,39 @@
using System;
using Server;
namespace Server.Items
{
public class PetrafiedWood : BaseReagent//, ICommodity
{
///int ICommodity.DescriptionNumber { get { return LabelNumber; } }
//bool ICommodity.IsDeedable { get { return (Core.ML); } }
[Constructable]
public PetrafiedWood() : this( 1 )
{
}
[Constructable]
public PetrafiedWood( int amount ) : base( 0x97A, amount )
{
Hue = 0x46C;
Name = "petrified wood";
}
public PetrafiedWood( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 1 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,40 @@
using System;
using Server;
namespace Server.Items
{
public class SpringWater : BaseReagent//, ICommodity
{
//int ICommodity.DescriptionNumber { get { return LabelNumber; } }
//bool ICommodity.IsDeedable { get { return (Core.ML); } }
[Constructable]
public SpringWater() : this( 1 )
{
}
[Constructable]
public SpringWater( int amount ) : base( 0xE24, amount )
{
Hue = 0x47F;
Name = "spring water";
}
public SpringWater( 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();
}
}
}

View File

@@ -0,0 +1,24 @@
using System;
using System.Collections;
namespace Server.ACC.CSS
{
[Flags]
public enum School
{
Invalid = 0x00000000,
Magery = 0x00000001,
Necro = 0x00000002,
Chivalry = 0x00000004,
Ninja = 0x00000008,
Samurai = 0x00000010,
Druid = 0x00000020,
Avatar = 0x00000040,
Bard = 0x00000080,
Cleric = 0x00000100,
Ranger = 0x00000200,
Rogue = 0x00000400,
Undead = 0x00000800,
Ancient = 0x00001000,
}
}

View File

@@ -0,0 +1,42 @@
using System;
using Server.Mobiles;
using Server.Items;
namespace Server.ACC.CSS
{
public class SpellRestrictions
{
//Set Restricted to true if you want to check restrictions.
public static bool UseRestrictions = true;
/* All checks should be written in this method. Return true if they can cast. */
public static bool CheckRestrictions( Mobile caster, School school )
{
if( caster.AccessLevel >= AccessLevel.GameMaster )
return true;
return !(school == School.Invalid);
}
/* This method should be left alone */
public static bool CheckRestrictions( Mobile caster, Type type )
{
Item item = caster.FindItemOnLayer( Layer.OneHanded );
if( item is CSpellbook && CheckRestrictions( caster, ((CSpellbook)item).School ) )
return true;
Container pack = caster.Backpack;
if( pack == null )
return false;
for( int i = 0; i < pack.Items.Count; i++ )
{
item = (Item)pack.Items[i];
if( item is CSpellbook && CheckRestrictions( caster, ((CSpellbook)item).School ) )
return true;
}
return false;
}
}
}