This commit is contained in:
mark 2009-05-16 20:07:15 +00:00
parent 2c723b90fc
commit 3dcaed01ba
9 changed files with 153 additions and 57 deletions

View file

@ -190,6 +190,8 @@ namespace Server.Items
Weight = 3.0;
}
public override int DefaultMaxWeight { get { if ( Core.ML ) { return 550; } else { return 400; } } }
public Backpack( Serial serial ) : base( serial )
{
}

View file

@ -57,10 +57,21 @@ namespace Server.Items
defender.FixedEffect( 0x376A, 9, 32 );
defender.FixedParticles( 0x37C4, 1, 8, 0x13AF, 0, 0, EffectLayer.Waist );
AOS.Damage( defender, attacker, (int)(15.0 * (attacker.Skills[SkillName.Bushido].Value - 50.0) / 70.0 + 10), 100, 0, 0, 0, 0 ); //10-25
defender.Freeze( TimeSpan.FromSeconds( 2.0 ) );
Server.Items.ParalyzingBlow.BeginImmunity( defender, Server.Items.ParalyzingBlow.FreezeDelayDuration );
if ( Core.ML )
{
AOS.Damage( defender, attacker, (int)( 15.0 * ( attacker.Skills[SkillName.Bushido].Value - 50.0 ) / 70.0 + Utility.Random( 10 ) ), true, 100, 0, 0, 0, 0 ); //0-25
if ( ( ( 150.0 / 7.0 + ( 4.0 * attacker.Skills[SkillName.Bushido].Value ) / 7.0) / 100.0 ) > Utility.RandomDouble() )
{
defender.Paralyze( TimeSpan.FromSeconds( 2.0 ) );
Server.Items.ParalyzingBlow.BeginImmunity( defender, Server.Items.ParalyzingBlow.FreezeDelayDuration );
}
}
else
{
AOS.Damage( defender, attacker, (int)(15.0 * (attacker.Skills[SkillName.Bushido].Value - 50.0) / 70.0 + 10), true, 100, 0, 0, 0, 0 ); //10-25
defender.Freeze( TimeSpan.FromSeconds( 2.0 ) );
Server.Items.ParalyzingBlow.BeginImmunity( defender, Server.Items.ParalyzingBlow.FreezeDelayDuration );
}
}
}
}

View file

@ -25,32 +25,12 @@ namespace Server.Items
private static SkillName[] m_PossibleBonusSkills = new SkillName[]
{
SkillName.Swords,
SkillName.Fencing,
SkillName.Macing,
SkillName.Archery,
SkillName.Wrestling,
SkillName.Parry,
SkillName.Tactics,
SkillName.Anatomy,
SkillName.Healing,
SkillName.Magery,
SkillName.Meditation,
SkillName.EvalInt,
SkillName.MagicResist,
SkillName.AnimalTaming,
SkillName.AnimalLore,
SkillName.Veterinary,
SkillName.Musicianship,
SkillName.Provocation,
SkillName.Discordance,
SkillName.Peacemaking,
SkillName.Chivalry,
SkillName.Focus,
SkillName.Necromancy,
SkillName.Stealing,
SkillName.Stealth,
SkillName.SpiritSpeak
SkillName.Ninjitsu
};
public TheDryadBow( Serial serial ) : base( serial )

View file

@ -119,8 +119,16 @@ namespace Server.Items
dullCopper.WeaponLowerRequirements = 50;
dullCopper.RunicMinAttributes = 1;
dullCopper.RunicMaxAttributes = 2;
dullCopper.RunicMinIntensity = 10;
dullCopper.RunicMaxIntensity = 35;
if ( Core.ML )
{
dullCopper.RunicMinIntensity = 40;
dullCopper.RunicMaxIntensity = 100;
}
else
{
dullCopper.RunicMinIntensity = 10;
dullCopper.RunicMaxIntensity = 35;
}
CraftAttributeInfo shadowIron = ShadowIron = new CraftAttributeInfo();
@ -132,8 +140,16 @@ namespace Server.Items
shadowIron.WeaponDurability = 50;
shadowIron.RunicMinAttributes = 2;
shadowIron.RunicMaxAttributes = 2;
shadowIron.RunicMinIntensity = 20;
shadowIron.RunicMaxIntensity = 45;
if ( Core.ML )
{
shadowIron.RunicMinIntensity = 45;
shadowIron.RunicMaxIntensity = 100;
}
else
{
shadowIron.RunicMinIntensity = 20;
shadowIron.RunicMaxIntensity = 45;
}
CraftAttributeInfo copper = Copper = new CraftAttributeInfo();
@ -145,8 +161,16 @@ namespace Server.Items
copper.WeaponEnergyDamage = 20;
copper.RunicMinAttributes = 2;
copper.RunicMaxAttributes = 3;
copper.RunicMinIntensity = 25;
copper.RunicMaxIntensity = 50;
if ( Core.ML )
{
copper.RunicMinIntensity = 50;
copper.RunicMaxIntensity = 100;
}
else
{
copper.RunicMinIntensity = 25;
copper.RunicMaxIntensity = 50;
}
CraftAttributeInfo bronze = Bronze = new CraftAttributeInfo();
@ -157,8 +181,16 @@ namespace Server.Items
bronze.WeaponFireDamage = 40;
bronze.RunicMinAttributes = 3;
bronze.RunicMaxAttributes = 3;
bronze.RunicMinIntensity = 30;
bronze.RunicMaxIntensity = 65;
if ( Core.ML )
{
bronze.RunicMinIntensity = 55;
bronze.RunicMaxIntensity = 100;
}
else
{
bronze.RunicMinIntensity = 30;
bronze.RunicMaxIntensity = 65;
}
CraftAttributeInfo golden = Golden = new CraftAttributeInfo();
@ -172,8 +204,16 @@ namespace Server.Items
golden.WeaponLowerRequirements = 50;
golden.RunicMinAttributes = 3;
golden.RunicMaxAttributes = 4;
golden.RunicMinIntensity = 35;
golden.RunicMaxIntensity = 75;
if ( Core.ML )
{
golden.RunicMinIntensity = 60;
golden.RunicMaxIntensity = 100;
}
else
{
golden.RunicMinIntensity = 35;
golden.RunicMaxIntensity = 75;
}
CraftAttributeInfo agapite = Agapite = new CraftAttributeInfo();
@ -186,8 +226,16 @@ namespace Server.Items
agapite.WeaponEnergyDamage = 20;
agapite.RunicMinAttributes = 4;
agapite.RunicMaxAttributes = 4;
agapite.RunicMinIntensity = 40;
agapite.RunicMaxIntensity = 80;
if ( Core.ML )
{
agapite.RunicMinIntensity = 65;
agapite.RunicMaxIntensity = 100;
}
else
{
agapite.RunicMinIntensity = 40;
agapite.RunicMaxIntensity = 80;
}
CraftAttributeInfo verite = Verite = new CraftAttributeInfo();
@ -200,8 +248,16 @@ namespace Server.Items
verite.WeaponEnergyDamage = 20;
verite.RunicMinAttributes = 4;
verite.RunicMaxAttributes = 5;
verite.RunicMinIntensity = 45;
verite.RunicMaxIntensity = 90;
if ( Core.ML )
{
verite.RunicMinIntensity = 70;
verite.RunicMaxIntensity = 100;
}
else
{
verite.RunicMinIntensity = 45;
verite.RunicMaxIntensity = 90;
}
CraftAttributeInfo valorite = Valorite = new CraftAttributeInfo();
@ -216,8 +272,16 @@ namespace Server.Items
valorite.WeaponEnergyDamage = 20;
valorite.RunicMinAttributes = 5;
valorite.RunicMaxAttributes = 5;
valorite.RunicMinIntensity = 50;
valorite.RunicMaxIntensity = 100;
if ( Core.ML )
{
valorite.RunicMinIntensity = 85;
valorite.RunicMaxIntensity = 100;
}
else
{
valorite.RunicMinIntensity = 50;
valorite.RunicMaxIntensity = 100;
}
CraftAttributeInfo spined = Spined = new CraftAttributeInfo();
@ -225,8 +289,16 @@ namespace Server.Items
spined.ArmorLuck = 40;
spined.RunicMinAttributes = 1;
spined.RunicMaxAttributes = 3;
spined.RunicMinIntensity = 20;
spined.RunicMaxIntensity = 40;
if ( Core.ML )
{
spined.RunicMinIntensity = 40;
spined.RunicMaxIntensity = 100;
}
else
{
spined.RunicMinIntensity = 20;
spined.RunicMaxIntensity = 40;
}
CraftAttributeInfo horned = Horned = new CraftAttributeInfo();
@ -237,8 +309,16 @@ namespace Server.Items
horned.ArmorEnergyResist = 2;
horned.RunicMinAttributes = 3;
horned.RunicMaxAttributes = 4;
horned.RunicMinIntensity = 30;
horned.RunicMaxIntensity = 70;
if ( Core.ML )
{
horned.RunicMinIntensity = 45;
horned.RunicMaxIntensity = 100;
}
else
{
horned.RunicMinIntensity = 30;
horned.RunicMaxIntensity = 70;
}
CraftAttributeInfo barbed = Barbed = new CraftAttributeInfo();
@ -249,8 +329,16 @@ namespace Server.Items
barbed.ArmorEnergyResist = 4;
barbed.RunicMinAttributes = 4;
barbed.RunicMaxAttributes = 5;
barbed.RunicMinIntensity = 40;
barbed.RunicMaxIntensity = 100;
if ( Core.ML )
{
barbed.RunicMinIntensity = 50;
barbed.RunicMaxIntensity = 100;
}
else
{
barbed.RunicMinIntensity = 40;
barbed.RunicMaxIntensity = 100;
}
CraftAttributeInfo red = RedScales = new CraftAttributeInfo();

View file

@ -87,7 +87,7 @@ namespace Server.SkillHandlers
if ( skill.Base < 10.0 )
return "<div align=right>---</div>";
return String.Format( "<div align=right>{0:F1}</div>", skill.Base );
return String.Format( "<div align=right>{0:F1}</div>", skill.Value );
}
private static string FormatAttributes( int cur, int max )

View file

@ -96,7 +96,11 @@ namespace Server.SkillHandlers
{
from.SendLocalizedMessage( 1062488 ); // The instrument you are trying to play is no longer in your backpack!
}
else if ( m_Creature.Unprovokable || creature.Unprovokable )
else if ( m_Creature.Unprovokable )
{
from.SendLocalizedMessage( 1049446 ); // You have no chance of provoking those creatures.
}
else if ( creature.Unprovokable && !( creature is DemonKnight ) )
{
from.SendLocalizedMessage( 1049446 ); // You have no chance of provoking those creatures.
}

View file

@ -85,11 +85,13 @@ namespace Server.Spells.Chivalry
StrangleSpell.RemoveCurse( m );
CorpseSkinSpell.RemoveCurse( m );
CurseSpell.RemoveEffect( m );
MortalStrike.EndWound( m );
BuffInfo.RemoveBuff( m, BuffIcon.Clumsy );
BuffInfo.RemoveBuff( m, BuffIcon.FeebleMind );
BuffInfo.RemoveBuff( m, BuffIcon.Weaken );
BuffInfo.RemoveBuff( m, BuffIcon.MassCurse );
BuffInfo.RemoveBuff( m, BuffIcon.MortalStrike );
// TODO: Should this remove blood oath? Pain spike?
}

View file

@ -1,5 +1,6 @@
using System;
using Server;
using Server.Items;
namespace Server.Spells.Necromancy
{
@ -36,6 +37,17 @@ namespace Server.Spells.Necromancy
max = RequiredSkill + 40.0;
}
public override bool ConsumeReagents()
{
if( base.ConsumeReagents() )
return true;
if( ArcaneGem.ConsumeCharges( Caster, (Core.SE ? 1 : 1 + (int)Circle) ) )
return true;
return false;
}
public override int GetMana()
{
return RequiredMana;

View file

@ -207,8 +207,8 @@ namespace Server.Spells.Ninjitsu
{
m_Table[m] = context;
if ( context.Type == typeof( BakeKitsune ) || context.Type == typeof( GreyWolf ) )
m.Hits += 20;
/*if ( context.Type == typeof( BakeKitsune ) || context.Type == typeof( GreyWolf ) )
m.Hits += 20;*/
}
public static void RemoveContext( Mobile m, bool resetGraphics )
@ -259,9 +259,8 @@ namespace Server.Spells.Ninjitsu
/*
private delegate void AnimalFormCallback( Mobile from );
private delegate bool AnimalFormRequirementCallback( Mobile from );
* */
public class AnimalFormEntry
*/
public class AnimalFormEntry
{
private Type m_Type;
private TextDefinition m_Name;
@ -288,8 +287,7 @@ namespace Server.Spells.Ninjitsu
private AnimalFormCallback m_TransformCallback;
private AnimalFormCallback m_UntransformCallback;
private AnimalFormRequirementCallback m_RequirementCallback;
* */
*/
public AnimalFormEntry( Type type, TextDefinition name, int itemID, int hue, int tooltip, double reqSkill, int bodyMod, bool stealthBonus, bool speedBoost )
: this( type, name, itemID, hue, tooltip, reqSkill, bodyMod, 0, stealthBonus, speedBoost )
{
@ -330,7 +328,6 @@ namespace Server.Spells.Ninjitsu
public class AnimalFormGump : Gump
{
//TODO: Convert this for ML to the BaseImageTileButtonsgump
private Mobile m_Caster;
private AnimalForm m_Spell;