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,63 @@
using System;
using Server;
using Server.Spells.Chivalry;
namespace Server.ACC.CSS.Systems.Chivalry
{
public class ChivalryInitializer : BaseInitializer
{
public static void Configure()
{
Register( typeof( CleanseByFireSpell ), "Cleanse By Fire",
"Cures the target of poisons, but causes the caster to be burned by fire damage. The amount of fire damage is lessened if the caster has high Karma.",
null,
"Tithe: 10; Mana: 10; Skill: 5",
20736, 9300, School.Chivalry );
Register( typeof( CloseWoundsSpell ), "Close Wounds",
"Heals the target of damage. The caster's Karma affects the amount of damage healed.",
null,
"Tithe: 10; Mana: 10; Skill: 0",
20737, 9300, School.Chivalry );
Register( typeof( ConsecrateWeaponSpell ), "Consecrate Weapon",
"Temporarily enchants the weapon the caster is currently wielding. The type of damage the weapon inflicts when hitting a target will be converted to the target's worst Resistance type. Duration of the effect is affected by the caster's Karma.",
null,
"Tithe: 10; Mana: 10; Skill: 15",
20738, 9300, School.Chivalry );
Register( typeof( DispelEvilSpell ), "Dispel Evil",
"Attempts to dispel evil summoned creatures and cause other evil creatures to flee from combat. Transformed Necromancers may also take Stamina and Mana Damage. Caster's Karma and Chivalry, and Target's Fame or Necromancy affect Dispel Chance.",
null,
"Tithe: 10; Mana: 15; Skill: 35",
20739, 9300, School.Chivalry );
Register( typeof( DivineFurySpell ), "Divine Fury",
"Temporarily increases the Paladin's swing speed, chance to hit, and damage dealt, while lowering the Paladin's defenses. Upon casting, the Paladin's Stamina is also refreshed. Duration of the spell is affected by the Caster's Karma.",
null,
"Tithe: 10; Mana: 15; Skill: 25",
20740, 9300, School.Chivalry );
Register( typeof( EnemyOfOneSpell ), "Enemy Of One",
"The next target hit becomes the Paladin's Mortal Enemy. All damage dealt to that creature type is increased, but the Paladin takes extra damage from all other creature types. Mortal Enemy creature types will highlight Orange to the Paladin. Duration of the spell is affected by the Caster's Karma.",
null,
"Tithe: 10; Mana: 20; Skill: 45",
20741, 9300, School.Chivalry );
Register( typeof( HolyLightSpell ), "Holy Light",
"Deals energy damage to all valid targets in a radius around the caster. Amount of damage dealt is affected by Caster's Karma.",
null,
"Tithe: 10; Mana: 15; Skill: 55",
20742, 9300, School.Chivalry );
Register( typeof( NobleSacrificeSpell ), "Noble Sacrifice",
"Attempts to Ressurect, Cure, and Heal all targets in a radius around the caster. If any target is successfully assisted, the Paladin's current Hit points, Mana, and Stamina are greatly reduced. Amount of damage healed is affected by the Caster's Karma.",
null,
"Tithe: 30; Mana: 20; Skill: 65",
20743, 9300, School.Chivalry );
Register( typeof( RemoveCurseSpell ), "Remove Curse",
"Attempts to remove all Curse effects from target. Curses include Mage spells such as Clumsy, Weaken, Feebleming, and Paralyze, as well as all Necromancer curses. Chance of removing curse is affected by the Caster's Karma.",
null,
"Tithe: 10; Mana: 20; Skill: 5",
20744, 9300, School.Chivalry );
Register( typeof( SacredJourneySpell ), "Sacred Journey",
"Targeting a rune or ship key allows the caster to teleport to the marked location. Caster may not flee from combat in this manner.",
null,
"Tithe: 15; Mana: 20; Skill: 15",
20745, 9300, School.Chivalry );
}
}
}

View File

@@ -0,0 +1,70 @@
using System;
using Server.Spells;
using Server.Items;
namespace Server.ACC.CSS.Systems.Chivalry
{
public class ChivalrySpellbook : CSpellbook
{
public override School School{ get{ return School.Chivalry; } }
/* public override Item Dupe( int amount )
{
CSpellbook book = new ChivalrySpellbook();
book.Content = this.Content;
return base.Dupe( book, amount );
}
*/
[Constructable]
public ChivalrySpellbook() : this( (ulong)0, CSSettings.FullSpellbooks )
{
}
[Constructable]
public ChivalrySpellbook( bool full ) : this( (ulong)0, full )
{
}
[Constructable]
public ChivalrySpellbook( ulong content, bool full ) : base( content, 0xEFA, full )
{
ItemID = 8786;
Name = "Chivalry Spellbook";
}
public override void OnDoubleClick( Mobile from )
{
if ( from.AccessLevel == AccessLevel.Player )
{
Container pack = from.Backpack;
if( !(Parent == from || (pack != null && Parent == pack)) )
{
from.SendMessage( "The spellbook must be in your backpack [and not in a container within] to open." );
return;
}
else if( SpellRestrictions.UseRestrictions && !SpellRestrictions.CheckRestrictions( from, this.School ) )
{
return;
}
}
from.CloseGump( typeof( ChivalrySpellbookGump ) );
from.SendGump( new ChivalrySpellbookGump( this ) );
}
public ChivalrySpellbook( 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,19 @@
using System;
namespace Server.ACC.CSS.Systems.Chivalry
{
public class ChivalrySpellbookGump : CSpellbookGump
{
public override string TextHue { get{ return "333366"; } }
public override int BGImage { get{ return 2203; } }
public override int SpellBtn { get{ return 2362; } }
public override int SpellBtnP{ get{ return 2361; } }
public override string Label1 { get{ return "Chivalry"; } }
public override string Label2 { get{ return "Spells"; } }
public override Type GumpType { get{ return typeof( ChivalrySpellbookGump ); } }
public ChivalrySpellbookGump( CSpellbook book ) : base( book )
{
}
}
}

View File

@@ -0,0 +1,356 @@
using System;
using Server;
using Server.Spells;
using Server.Spells.First;
using Server.Spells.Second;
using Server.Spells.Third;
using Server.Spells.Fourth;
using Server.Spells.Fifth;
using Server.Spells.Sixth;
using Server.Spells.Seventh;
using Server.Spells.Eighth;
namespace Server.ACC.CSS.Systems.Mage
{
public class MageInitializer : BaseInitializer
{
public static void Configure()
{
//First Circle
Register(typeof(ClumsySpell), "Clumsy",
"Temporarily reduces Target's Dexterity.",
"Bloodmoss; Nightshade",
"Mana: 4; Skill: .1",
2240, 9350, School.Magery);
Register(typeof(CreateFoodSpell), "Create Food",
"Creates random food item in Caster's backpack.",
"Garlic; Ginseng; Mandrake Root",
"Mana: 4; Skill: .1",
2241, 9350, School.Magery);
Register(typeof(FeeblemindSpell), "Feeblemind",
"Temporarily reduces Target's Intelligence.",
"Nightshade; Ginseng",
"Mana: 4; Skill: .1",
2242, 9350, School.Magery);
Register(typeof(HealSpell), "Heal",
"Heals Target of a small amount of lost Hit Points.",
"Garlic; Ginseng; Spider's Silk",
"Mana: 4; Skill: .1",
2243, 9350, School.Magery);
Register(typeof(MagicArrowSpell), "Magic Arrow",
"Shoots a magical arrow at Target, wich deals Fire damage.",
"Sulfurous Ash",
"Mana: 4; Skill: .1",
2244, 9350, School.Magery);
Register(typeof(NightSightSpell), "Night Sight",
"Temporarily allows Target to see in darkness.",
"Spider's Silk; Sulfurous Ash",
"Mana: 4; Skill: .1",
2245, 9350, School.Magery);
Register(typeof(ReactiveArmorSpell), "Reactive Armor",
"Increases the Caster's Physical Resistance while reducing their Elemental Resistances. The Caster's Inscription skill adds a bonus to the amount of Physical Resist applied. Active until spell is deactivated by re-casting the spell on the same Target.",
"Garlic; Spider's Silk; Sulfurous Ash",
"Mana: 4; Skill: .1",
2246, 9350, School.Magery);
Register(typeof(WeakenSpell), "Weaken",
"Temporarily reduces Target's Strength.",
"Garlic; Nightshade",
"Mana: 4; Skill: .1",
2247, 9350, School.Magery);
//Second Circle
Register(typeof(AgilitySpell), "Agility",
"Temporarily increases Target's Dexterity.",
"Bloodmoss; Mandrake Root",
"Mana: 6; Skill: .1",
2248, 9350, School.Magery);
Register(typeof(CunningSpell), "Cunning",
"Temporarily increases Target's Intelligence.",
"Nightshade; Mandrake Root",
"Mana: 6; Skill: .1",
2249, 9350, School.Magery);
Register(typeof(CureSpell), "Cure",
"Attempts to neutralize poisons affecting the Target.",
"Garlic; Ginseng",
"Mana: 6; Skill: .1",
2250, 9350, School.Magery);
Register(typeof(HarmSpell), "Harm",
"Affects the Target with a chilling effect, dealing Cold damage. The closer the Target is to the Caster, the more damage is dealt.",
"Nightshade; Spider's Silk",
"Mana: 6; Skill: .1",
2251, 9350, School.Magery);
Register(typeof(MagicTrapSpell), "Magic Trap",
"Places an explosive magic ward on a useable object that deals Fire damage to the next person to use the object.",
"Garlic; Spider's Silk; Sulfurous Ash",
"Mana: 6; Skill: .1",
2252, 9350, School.Magery);
Register(typeof(RemoveTrapSpell), "Remove Trap",
"Deactivates a magical trap on a single object.",
"Bloodmoss; Sulfurous Ash",
"Mana: 6; Skill: .1",
2253, 9350, School.Magery);
Register(typeof(ProtectionSpell), "Protection",
"Prevents the Target from having their spells disrupted, but lowers their Physical Resistances and ability to Resist Spells. Active until the spell is deactivated by recasting on the same Target.",
"Garlic; Ginseng; Sulfurous Ash",
"Mana: 6; Skill: .1",
2254, 9350, School.Magery);
Register(typeof(StrengthSpell), "Strength",
"Temporarily increases Target's Strength.",
"Mandrake Root; Nightshade",
"Mana: 6; Skill: .1",
2255, 9350, School.Magery);
//Third Circle
Register(typeof(BlessSpell), "Bless",
"Temporarily increases Target's Strength, Dexterity, and Intelligence.",
"Mandrake Root; Garlic",
"Mana: 9; Skill: 10.1",
2256, 9350, School.Magery);
Register(typeof(FireballSpell), "Fireball",
"Shoots a ball of roiling flames at a Target, dealing Fire damage.",
"Black Pearl",
"Mana: 9; Skill: 10.1",
2257, 9350, School.Magery);
Register(typeof(MagicLockSpell), "Magic Lock",
"Magically seals a container, blocking it from use until it is Magically Unlocked.",
"Bloodmoss; Garlic; Sulfurous Ash",
"Mana: 9; Skill: 10.1",
2258, 9350, School.Magery);
Register(typeof(PoisonSpell), "Poison",
"The Target is afflicted by poison, of a strength determined by the Caster's Magery and Poison skills, and the distance from the Target.",
"Nightshade",
"Mana: 9; Skill: 10.1",
2259, 9350, School.Magery);
Register(typeof(TelekinesisSpell), "Telekinesis",
"Allows the Caster to Use an item at a distance.",
"Bloodmoss; Mandrake Root",
"Mana: 9; Skill: 10.1",
2260, 9350, School.Magery);
Register(typeof(TeleportSpell), "Teleport",
"Caster is transported to the Target Location.",
"Bloodmoss; Mandrake Root",
"Mana: 9; Skill: 10.1",
2261, 9350, School.Magery);
Register(typeof(UnlockSpell), "Unlock",
"Unlocks a magical lock or low level normal lock.",
"Bloodmoss; Sulfurous Ash",
"Mana: 9; Skill: 10.1",
2262, 9350, School.Magery);
Register(typeof(WallOfStoneSpell), "Wall of Stone",
"Creates a temporary wall of stone that blocks movement.",
"Bloodmoss; Garlic",
"Mana: 9; Skill: 10.1",
2263, 9350, School.Magery);
//Fourth Circle
Register(typeof(ArchCureSpell), "Arch Cure",
"Neutralizes poisons on all characters withing a small radius around the caster.",
"Garlic; Ginseng; Mandrake Root",
"Mana: 11; Skill: 24.1",
2264, 9350, School.Magery);
Register(typeof(ArchProtectionSpell), "Arch Protection",
"Applies the Protection spell to all valid targets within a small radius around the Target Location.",
"Garlic; Ginseng; Mandrake Root; Sulfurous Ash",
"Mana: 11; Skill: 24.1",
2265, 9350, School.Magery);
Register(typeof(CurseSpell), "Curse",
"Lowers the Strength, Dexterity, and Intelligence of the Target. When cast during Player vs. Player combat, the spell also reduces the target's maximum resistance values.",
"Garlic; Nightshade; Sulfurous Ash",
"Mana: 11; Skill: 24.1",
2266, 9350, School.Magery);
Register(typeof(FireFieldSpell), "Fire Field",
"Summons a wall of fire that deals Fire damage to all who walk through it.",
"Black Pearl; Spider's Silk; Sulfurous Ash",
"Mana: 11; Skill: 24.1",
2267, 9350, School.Magery);
Register(typeof(GreaterHealSpell), "Greater Heal",
"Heals the target of a medium amount of lost Hit Points.",
"Garlic; Ginseng; Mandrake Root; Spider's Silk",
"Mana: 11; Skill: 24.1",
2268, 9350, School.Magery);
Register(typeof(LightningSpell), "Lightning",
"Strikes the Target with a bolt of lightning, wich deals Energy damage.",
"Mandrake Root; Sulfurous Ash",
"Mana: 11; Skill: 24.1",
2269, 9350, School.Magery);
Register(typeof(ManaDrainSpell), "Mana Drain",
"Temporarily removes an amount of mana from the Target, based on a comparison between the Caster's Evaluate Intelligence sill and the Target's Resist Spells skill.",
"Black Pearl; Mandrake Root; Spider's Silk",
"Mana: 11; Skill: 24.1",
2270, 9350, School.Magery);
Register(typeof(RecallSpell), "Recall",
"Caster is transported to the location marked on the Target rune. If a ship key is target, Caster is transported to the boat the key opens.",
"Black Pearl; Bloodmoss; Mandrake Root",
"Mana: 11; Skill: 24.1",
2271, 9350, School.Magery);
//Fifth Circle
Register(typeof(BladeSpiritsSpell), "Blade Spirits",
"Summons a whirling pillar of blades that selects a Target to attack based off of its combat strength and proximity. The Blade Spirit disappears after a set amount of time. Requires 1 pet control slot.",
"Black Pearl; Mandrake Root; Nightshade",
"Mana: 14; Skill: 38.1",
2272, 9350, School.Magery);
Register(typeof(DispelFieldSpell), "Dispel Field",
"Destroys one of the target Field spell.",
"Black Pearl; Garlic; Sulfurous Ash; Spider's Silk",
"Mana: 14; Skill: 38.1",
2273, 9350, School.Magery);
Register(typeof(IncognitoSpell), "Incognito",
"Disuises the Caster with a randomly generated appearance and name.",
"Bloodmoss; Garlic; Nightshade",
"Mana: 14; Skill: 38.1",
2274, 9350, School.Magery);
Register(typeof(MagicReflectSpell), "Magic Reflection",
"Lowers the caster's Physical resistances, while increasing their Elemental resistances. Active until the spell is deactivated by recasting on the same Target.",
"Garlic; Mandrake Root; Spider's Silk",
"Mana: 14; Skill: 38.1",
2275, 9350, School.Magery);
Register(typeof(MindBlastSpell), "Mind Blast",
"Deals Cold damage to the Target based off Caster's Magery and Intelligence.",
"Black Pearl; Mandrake Root; Nightshade; Sulfurous Ash",
"Mana: 14; Skill: 38.1",
2276, 9350, School.Magery);
Register(typeof(ParalyzeSpell), "Paralyze",
"Immobilizes the Target for a brief amount of time. The Target's Resisting Spells skill affects the Duration of the immobilization.",
"Garlic; Mandrake Root; Spider's Silk",
"Mana: 14; Skill: 38.1",
2277, 9350, School.Magery);
Register(typeof(PoisonFieldSpell), "Poison Field",
"Conjures a wall of poisonous vapor that poisons anything that walks through it.",
"Black Pearl; Nightshade; Spider's Silk",
"Mana: 14; Skill: 38.1",
2278, 9350, School.Magery);
Register(typeof(SummonCreatureSpell), "Summon Creature",
"Summons a random creature as a pet for a limited duration. The strength of the summoned creature is based off of the Caster's Magery skill.",
"Bloodmoss; Mandrake Root; Spider's Silk",
"Mana: 14; Skill: 38.1",
2279, 9350, School.Magery);
//Sixth Circle
Register(typeof(DispelSpell), "Dispel",
"Attempts to Dispel a summoned creature, causing it to disapear from the world. The Dispel difficulty is affected by the Magery skill of the creature's owner.",
"Garlic; Mandrake Root; Sulfurous Ash",
"Mana: 20; Skill: 52.1",
2280, 9350, School.Magery);
Register(typeof(EnergyBoltSpell), "Energy Bolt",
"Fires a bold of magical force at the Target dealing Energy damage.",
"Black Pearl; Nightshade",
"Mana: 20; Skill: 52.1",
2281, 9350, School.Magery);
Register(typeof(ExplosionSpell), "Explosion",
"Strikes the Target with an explosive blast of energy, dealing Fire damage.",
"Bloodmoss; Mandrake Root",
"Mana: 20; Skill: 52.1",
2282, 9350, School.Magery);
Register(typeof(InvisibilitySpell), "Invisibility",
"Temporarily causes the Target to become invisible.",
"Bloodmoss; Nightshade",
"Mana: 20; Skill: 52.1",
2283, 9350, School.Magery);
Register(typeof(MarkSpell), "Mark",
"Binds a rune to the Caster's current Location. The Mage's Recall spell and Paladin's Sacred Journey ability can both be used on the rune to teleport the Caster to the location of binding.",
"Black Pearl; Bloodmoss; Mandrake Root",
"Mana: 20; Skill: 52.1",
2284, 9350, School.Magery);
Register(typeof(MassCurseSpell), "Mass Curse",
"Casts the Curse spell on a Target, and any creatures within a two tile radius.",
"Garlic; Mandrake Root; Nightshade; Sulfurous Ash",
"Mana: 20; Skill: 52.1",
2285, 9350, School.Magery);
Register(typeof(ParalyzeFieldSpell), "Paralyze Field",
"Conjures a field of paralyzing energy that affects any creature that enters it with the effects of the Paralyze spell.",
"Black Pearl; Ginseng; Spider's Silk",
"Mana: 20; Skill: 52.1",
2286, 9350, School.Magery);
Register(typeof(RevealSpell), "Reveal",
"Reveals the presence of any invisible or hiding creatures or players within a radius around the targeted tile.",
"Bloodmoss; Sulfurous Ash",
"Mana: 20; Skill: 52.1",
2287, 9350, School.Magery);
//Seventh Circle
Register(typeof(ChainLightningSpell), "Chain Lightning",
"Damages nearby targets with a series of lightning bolts that deal Energy damage.",
"Black Pearl; Bloodmoss; Mandrake Root; Sulfurous Ash",
"Mana: 40; Skill: 66.1",
2288, 9350, School.Magery);
Register(typeof(EnergyFieldSpell), "Energy Field",
"Conjures a temporary field of energy on the ground at the Target Location that blocks all movement.",
"Black Pearl; Mandrake Root; Spider's Silk; Sulfurous Ash",
"Mana: 40; Skill: 66.1",
2289, 9350, School.Magery);
Register(typeof(FlameStrikeSpell), "Flame Strike",
"Envelopes the target in a column of magical flame that deals Fire damage.",
"Spider's Silk; Sulfurous Ash",
"Mana: 40; Skill: 66.1",
2290, 9350, School.Magery);
Register(typeof(GateTravelSpell), "Gate Travel",
"Targeting a rune marked with the Mark spell, opens a temporary portal to the rune's marked location. The portal can be used by anyone to travel to that location.",
"Black Pearl; Mandrake Root; Sulfurous Ash",
"Mana: 40; Skill: 66.1",
2291, 9350, School.Magery);
Register(typeof(ManaVampireSpell), "Mana Vampire",
"Drains mana from the Target and transfers it to the Caster. The amount of mana drained is determined by a comparison between the Caster's Evaluate Intelligence skill and the Target's Resisting Spells skill.",
"Black Pearl; Bloodmoss; Mandrake Root; Spider's Silk",
"Mana: 40; Skill: 66.1",
2292, 9350, School.Magery);
Register(typeof(MassDispelSpell), "Mass Dispel",
"Attempts to dispel any summoned creature within an eight tile radius.",
"Black Pearl; Garlic; Mandrake Root; Sulfurous Ash",
"Mana: 40; Skill: 66.1",
2293, 9350, School.Magery);
Register(typeof(MeteorSwarmSpell), "Meteor Swarm",
"Summons a swarm of fiery meteors that strike all targets within a radius around the Target Location. The total Fire damage dealt is split between all Targets of the spell.",
"Bloodmoss; Mandrake Root; Spider's Silk; Sulfurous Ash",
"Mana: 40; Skill: 66.1",
2294, 9350, School.Magery);
Register(typeof(PolymorphSpell), "Polymorph",
"Temporarily transforms the Caster into a creature selected from a specified list. While polymorphed, other players will see the Caster as a criminal.",
"Bloodmoss; Mandrake Root; Spider's Silk",
"Mana: 40; Skill: 66.1",
2295, 9350, School.Magery);
//Eighth Circle
Register(typeof(EarthquakeSpell), "Earthquake",
"Causes a violent shaking of the earth that damages all nearby creatures and characters.",
"Bloodmoss; Ginseng; Mandrake Root; Sulfurous Ash",
"Mana: 50; Skill: 80.1",
2296, 9350, School.Magery);
Register(typeof(EnergyVortexSpell), "Energy Vortex",
"Summons a spinning mass of energy that selects a Target to attack based off of its intelligence and proximity. The Energy Vortex disappears after a set amount of time. Requires 1 pet control slot.",
"Black Pearl; Bloodmoss; Mandrake Root; Nightshade",
"Mana: 50; Skill: 80.1",
2297, 9350, School.Magery);
Register(typeof(ResurrectionSpell), "Resurrection",
"Resurrects a player's ghost. Cannot be used on NPC's or monsters.",
"Bloodmoss; Garlic; Ginseng",
"Mana: 50; Skill: 80.1",
2298, 9350, School.Magery);
Register(typeof(AirElementalSpell), "Air Elemental",
"An air elemental is summoned to serve the Caster. Requires 2 pet control slots.",
"Bloodmoss; Mandrake Root; Spider's Silk",
"Mana: 50; Skill: 80.1",
2299, 9350, School.Magery);
Register(typeof(SummonDaemonSpell), "Summon Daemon",
"A daemon is summoned to server the Caster. Results in a large Karma loss for the Caster. Requires 5 pet control slots.",
"Bloodmoss; Mandrake Root; Sulfurous Ash; Spider's Silk",
"Mana: 50; Skill: 80.1",
2300, 9350, School.Magery);
Register(typeof(EarthElementalSpell), "Earth Elemental",
"An earth elemental is summoned to serve the Caster. Requires 2 pet control slots.",
"Bloodmoss; Mandrake Root; Spider's Silk",
"Mana: 50; Skill: 80.1",
2301, 9350, School.Magery);
Register(typeof(FireElementalSpell), "Fire Elemental",
"A fire elemental is summoned to serve the Caster. Requires 4 pet control slots.",
"Bloodmoss; Mandrake Root; Spider's Silk; Sulfurous Ash",
"Mana: 50; Skill: 80.1",
2302, 9350, School.Magery);
Register(typeof(WaterElementalSpell), "Water Elemental",
"A water elemental is summoned to serve the Caster. Requires 3 pet control slots.",
"Bloodmoss; Mandrake Root; Spider's Silk",
"Mana: 50; Skill: 80.1",
2303, 9350, School.Magery);
}
}
}

View File

@@ -0,0 +1,63 @@
using System;
using Server.Items;
using Server.Spells;
namespace Server.ACC.CSS.Systems.Mage
{
public class MageSpellbook : CSpellbook
{
public override School School{ get{ return School.Magery; } }
[Constructable]
public MageSpellbook() : this( (ulong)0, CSSettings.FullSpellbooks )
{
}
[Constructable]
public MageSpellbook( bool full ) : this( (ulong)0, full )
{
}
[Constructable]
public MageSpellbook( ulong content, bool full ) : base( content, 0xEFA, full )
{
Name = "Mage Spellbook";
}
public override void OnDoubleClick( Mobile from )
{
if ( from.AccessLevel == AccessLevel.Player )
{
Container pack = from.Backpack;
if( !(Parent == from || (pack != null && Parent == pack)) )
{
from.SendMessage( "The spellbook must be in your backpack [and not in a container within] to open." );
return;
}
else if( SpellRestrictions.UseRestrictions && !SpellRestrictions.CheckRestrictions( from, this.School ) )
{
return;
}
}
from.CloseGump( typeof( MageSpellbookGump ) );
from.SendGump( new MageSpellbookGump( this ) );
}
public MageSpellbook( 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,19 @@
using System;
namespace Server.ACC.CSS.Systems.Mage
{
public class MageSpellbookGump : CSpellbookGump
{
public override string TextHue { get{ return "CC3333"; } }
public override int BGImage { get{ return 2203; } }
public override int SpellBtn { get{ return 2362; } }
public override int SpellBtnP{ get{ return 2361; } }
public override string Label1 { get{ return "Mage"; } }
public override string Label2 { get{ return "Spells"; } }
public override Type GumpType { get{ return typeof( MageSpellbookGump ); } }
public MageSpellbookGump( CSpellbook book ) : base( book )
{
}
}
}

View File

@@ -0,0 +1,93 @@
using System;
using Server;
using Server.Spells.Necromancy;
namespace Server.ACC.CSS.Systems.Necromancy
{
public class NecroInitializer : BaseInitializer
{
public static void Configure()
{
Register( typeof( AnimateDeadSpell ), "Animate Dead",
"Animates the Targeted corpse, creating a mindless, wandering undead. The strength of the risen undead is greatly modified by the Fame of the original creature.",
"Grave Dust; Daemon Blood",
"Mana: 23; Skill: 40",
20480, 3600, School.Necro );
Register( typeof( BloodOathSpell ), "Blood Oath",
"Temporarily creates a dark pact between the Caster and the Target. Any damage dealt by the Target to the Caster is increased, but the Target receives the same amount of damage.",
"Daemon Blood",
"Mana: 13; Skill: 20",
20481, 3600, School.Necro );
Register( typeof( CorpseSkinSpell ), "Corpse Skin",
"Transmogrifies the flesh of the Target creature or player to resemble rotted corpse flesh, making them more vulnerable to Fire and Poison damage, but increasing their Resistance to Physical and Cold damage.",
"Bat Wing; Grave Dust",
"Mana: 11; Skill: 20",
20482, 3600, School.Necro );
Register( typeof( CurseWeaponSpell ), "Curse Weapon",
"Temporarily imbues a weapon with a life draining effect.",
"Pig Iron",
"Mana: 7; Skill: 0",
20483, 3600, School.Necro );
Register( typeof( EvilOmenSpell ), "Evil Omen",
"Curses the Target so that the next harmful event that affects them is magnified.",
"Bat Wing; Nox Crystal",
"Mana: 11; Skill: 20",
20484, 3600, School.Necro );
Register( typeof( HorrificBeastSpell ), "Horrific Beast",
"Transforms the Caster into a horrific demonic beast, wich deals more damage, and recovers hit points faster, but can no longer cast any spells except for Necromancer Transformation spells. Caster remains in this form until they recast the Horrific Beast spell.",
"Bat Wing; Daemon Blood",
"Mana: 11; Skill: 40",
20485, 3600, School.Necro );
Register( typeof( LichFormSpell ), "Lich Form",
"Transforms the Caster into a lich, increasing their mana regeneration and some Resistances, while lowering their Fire Resist and slowly sapping their life. Caster remains in this form until they recast the Lich Form spell.",
"Grave Dust; Daemon Blood; Nox Crystal",
"Mana: 23; Skill: 70",
20486, 3600, School.Necro );
Register( typeof( MindRotSpell ), "Mind Rot",
"Attempts to place a curse on the Target that increases the mana cost of any spells they cast, for a duration bassed off a comparison between the Caster's Spirit Speak skill and the Target's Resisting Spells skill.",
"Bat Wing; Daemon Blood; Pig Iron",
"Mana: 17; Skill: 30",
20487, 3600, School.Necro );
Register( typeof( PainSpikeSpell ), "Pain Spike",
"Temporarily causes intense physical pain to the Target, dealing Direct damage. Once the spell wears off, if the Target is still alive, some of the Hit Points lost through the Pain Spike are restored.",
"Grave Dust; Pig Iron",
"Mana: 5; Skill: 20",
20488, 3600, School.Necro );
Register( typeof( PoisonStrikeSpell ), "Poison Strike",
"Creates a blast of poisonous energy centered on the Target. The main Target is inflicted with a large amount of Poison damage, and all valid Targets in a radius around the main Target are inflicted with a lesser effect.",
"Nox Crystal",
"Mana: 17; Skill: 50",
20489, 3600, School.Necro );
Register( typeof( StrangleSpell ), "Strangle",
"Temporarily chokes off the air supply of the Target with poisonous fumes. The Target is inflicted with Poison damage over time. The amount of damage dealt each 'hit' is based off of the Caster's Spirit Speak skill and the Target's current Stamina.",
"Daemon Blood; Nox Crystal",
"Mana: 29; Skill: 65",
20490, 3600, School.Necro );
Register( typeof( SummonFamiliarSpell ), "Summon Familiar",
"Allows the Caster to summon a Familiar from a selecetd list. A Familiar will follow and fight with its owner, in addition to granting unique bonuses to the Caster, dependent upon the type of Familiar summoned.",
"Bat Wing; Grave Dust; Daemon Blood",
"Mana: 17; Skill: 30",
20491, 3600, School.Necro );
Register( typeof( VampiricEmbraceSpell ), "Vampiric Embrace",
"Transforms the Caster into a powerful Vampire, wich increases his Stamina and Mana regeration while lowering his Fire Resistance. Vampires also perform Life Drain when striking their enemies. Caster remains in this form untill they recast the Vampiric Embrace spell.",
"Bat Wing; Nox Crystal; Pig Iron",
"Mana: 23; Skill: 99",
20492, 3600, School.Necro );
Register( typeof( VengefulSpiritSpell ), "Vengeful Spirit",
"Summons a vile Spirit wich haunts the Target untill either the Target or the Spirit is dead. Vengeful Spirits have the ability to track down their Target wherever they may travel. A Spirit's strength is determined by the Necromancy and Spirit Speak skills of the Caster.",
"Bat Wing; Grave Dust; Pig Iron",
"Mana: 41; Skill: 80",
20493, 3600, School.Necro );
Register( typeof( WitherSpell ), "Wither",
"Creates a withering frost around the Caster, wich deals Cold Damage to all valid targets in a radius.",
"Grave Dust; Nox Crystal; Pig Iron",
"Mana: 23; Skill: 60",
20494, 3600, School.Necro );
Register( typeof( WraithFormSpell ), "Wraith Form",
"Transforms the Caster into an etheral Wraith, lowering some Elemental Resists, while increasing their physical resists. Wraith Form also allows the caster to always succeed when using the Recall spell, and causes a Mana Drain effect when hitting enemies. Caster remains in this form until they recast the Wraith Form spell.",
"Nox Crystal; Pig Iron",
"Mana: 17; Skill: 20",
20495, 3600, School.Necro );
}
}
}

View File

@@ -0,0 +1,70 @@
using System;
using Server.Spells;
using Server.Items;
namespace Server.ACC.CSS.Systems.Necromancy
{
public class NecroSpellbook : CSpellbook
{
public override School School{ get{ return School.Necro; } }
/* public override Item Dupe( int amount )
{
CSpellbook book = new NecroSpellbook();
book.Content = this.Content;
return base.Dupe( book, amount );
}
*/
[Constructable]
public NecroSpellbook() : this( (ulong)0, CSSettings.FullSpellbooks )
{
}
[Constructable]
public NecroSpellbook( bool full ) : this( (ulong)0, full )
{
}
[Constructable]
public NecroSpellbook( ulong content, bool full ) : base( content, 0xEFA, full )
{
ItemID = 8787;
Name = "Necro Spellbook";
}
public override void OnDoubleClick( Mobile from )
{
if ( from.AccessLevel == AccessLevel.Player )
{
Container pack = from.Backpack;
if( !(Parent == from || (pack != null && Parent == pack)) )
{
from.SendMessage( "The spellbook must be in your backpack [and not in a container within] to open." );
return;
}
else if( SpellRestrictions.UseRestrictions && !SpellRestrictions.CheckRestrictions( from, this.School ) )
{
return;
}
}
from.CloseGump( typeof( NecroSpellbookGump ) );
from.SendGump( new NecroSpellbookGump( this ) );
}
public NecroSpellbook( 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,19 @@
using System;
namespace Server.ACC.CSS.Systems.Necromancy
{
public class NecroSpellbookGump : CSpellbookGump
{
public override string TextHue { get{ return "333333"; } }
public override int BGImage { get{ return 2203; } }
public override int SpellBtn { get{ return 2362; } }
public override int SpellBtnP{ get{ return 2361; } }
public override string Label1 { get{ return "Necro"; } }
public override string Label2 { get{ return "Spells"; } }
public override Type GumpType { get{ return typeof( NecroSpellbookGump ); } }
public NecroSpellbookGump( CSpellbook book ) : base( book )
{
}
}
}