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; Weight = 3.0;
} }
public override int DefaultMaxWeight { get { if ( Core.ML ) { return 550; } else { return 400; } } }
public Backpack( Serial serial ) : base( serial ) public Backpack( Serial serial ) : base( serial )
{ {
} }

View file

@ -57,10 +57,21 @@ namespace Server.Items
defender.FixedEffect( 0x376A, 9, 32 ); defender.FixedEffect( 0x376A, 9, 32 );
defender.FixedParticles( 0x37C4, 1, 8, 0x13AF, 0, 0, EffectLayer.Waist ); 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 if ( Core.ML )
{
defender.Freeze( TimeSpan.FromSeconds( 2.0 ) ); 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
Server.Items.ParalyzingBlow.BeginImmunity( defender, Server.Items.ParalyzingBlow.FreezeDelayDuration ); 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[] private static SkillName[] m_PossibleBonusSkills = new SkillName[]
{ {
SkillName.Swords,
SkillName.Fencing,
SkillName.Macing,
SkillName.Archery, SkillName.Archery,
SkillName.Wrestling,
SkillName.Parry,
SkillName.Tactics,
SkillName.Anatomy,
SkillName.Healing, SkillName.Healing,
SkillName.Magery,
SkillName.Meditation,
SkillName.EvalInt,
SkillName.MagicResist, SkillName.MagicResist,
SkillName.AnimalTaming,
SkillName.AnimalLore,
SkillName.Veterinary,
SkillName.Musicianship,
SkillName.Provocation,
SkillName.Discordance,
SkillName.Peacemaking, SkillName.Peacemaking,
SkillName.Chivalry, SkillName.Chivalry,
SkillName.Focus, SkillName.Ninjitsu
SkillName.Necromancy,
SkillName.Stealing,
SkillName.Stealth,
SkillName.SpiritSpeak
}; };
public TheDryadBow( Serial serial ) : base( serial ) public TheDryadBow( Serial serial ) : base( serial )

View file

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

View file

@ -87,7 +87,7 @@ namespace Server.SkillHandlers
if ( skill.Base < 10.0 ) if ( skill.Base < 10.0 )
return "<div align=right>---</div>"; 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 ) 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! 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. from.SendLocalizedMessage( 1049446 ); // You have no chance of provoking those creatures.
} }

View file

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

View file

@ -1,5 +1,6 @@
using System; using System;
using Server; using Server;
using Server.Items;
namespace Server.Spells.Necromancy namespace Server.Spells.Necromancy
{ {
@ -36,6 +37,17 @@ namespace Server.Spells.Necromancy
max = RequiredSkill + 40.0; 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() public override int GetMana()
{ {
return RequiredMana; return RequiredMana;

View file

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