its AcidElemental, not ToxicElemental
This commit is contained in:
parent
a253a03e95
commit
55519d49dc
8 changed files with 12 additions and 262 deletions
|
|
@ -58,7 +58,7 @@ namespace Server.Items
|
|||
|
||||
#region Elementals
|
||||
typeof( EarthElemental ), typeof( PoisonElemental ), typeof( FireElemental ), typeof( SnowElemental ),
|
||||
typeof( IceElemental ), typeof( ToxicElemental ), typeof( WaterElemental ), typeof( Efreet ),
|
||||
typeof( IceElemental ), typeof( AcidElemental ), typeof( WaterElemental ), typeof( Efreet ),
|
||||
typeof( AirElemental ), typeof( Golem ),
|
||||
#endregion
|
||||
|
||||
|
|
|
|||
|
|
@ -1634,9 +1634,9 @@ namespace Server.Items
|
|||
attacker.PlaySound( 0x44D );
|
||||
}
|
||||
|
||||
if ( m_MaxHits > 0 && ((MaxRange <= 1 && (defender is Slime || defender is ToxicElemental)) || Utility.Random( 25 ) == 0) ) // Stratics says 50% chance, seems more like 4%..
|
||||
if ( m_MaxHits > 0 && ((MaxRange <= 1 && (defender is Slime || defender is AcidElemental)) || Utility.Random( 25 ) == 0) ) // Stratics says 50% chance, seems more like 4%..
|
||||
{
|
||||
if ( MaxRange <= 1 && (defender is Slime || defender is ToxicElemental) )
|
||||
if ( MaxRange <= 1 && (defender is Slime || defender is AcidElemental) )
|
||||
attacker.LocalOverheadMessage( MessageType.Regular, 0x3B2, 500263 ); // *Acid blood scars your weapon!*
|
||||
|
||||
if ( Core.AOS && m_AosWeaponAttributes.SelfRepair > Utility.Random( 10 ) )
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ namespace Server.Items
|
|||
|
||||
elemental.Opposition = new SlayerGroup[]{ abyss };
|
||||
elemental.FoundOn = new Type[]{ typeof( Balron ), typeof( Daemon ) };
|
||||
elemental.Super = new SlayerEntry( SlayerName.ElementalBan, typeof( ToxicElemental ), typeof( AgapiteElemental ), typeof( AirElemental ), typeof( SummonedAirElemental ), typeof( BloodElemental ), typeof( BronzeElemental ), typeof( CopperElemental ), typeof( CrystalElemental ), typeof( DullCopperElemental ), typeof( EarthElemental ), typeof( SummonedEarthElemental ), typeof( Efreet ), typeof( FireElemental ), typeof( SummonedFireElemental ), typeof( GoldenElemental ), typeof( IceElemental ), typeof( KazeKemono ), typeof( PoisonElemental ), typeof( RaiJu ), typeof( SandVortex ), typeof( ShadowIronElemental ), typeof( SnowElemental ), typeof( ValoriteElemental ), typeof( VeriteElemental ), typeof( WaterElemental ), typeof( SummonedWaterElemental ) );
|
||||
elemental.Super = new SlayerEntry( SlayerName.ElementalBan, typeof( AcidElemental ), typeof( AgapiteElemental ), typeof( AirElemental ), typeof( SummonedAirElemental ), typeof( BloodElemental ), typeof( BronzeElemental ), typeof( CopperElemental ), typeof( CrystalElemental ), typeof( DullCopperElemental ), typeof( EarthElemental ), typeof( SummonedEarthElemental ), typeof( Efreet ), typeof( FireElemental ), typeof( SummonedFireElemental ), typeof( GoldenElemental ), typeof( IceElemental ), typeof( KazeKemono ), typeof( PoisonElemental ), typeof( RaiJu ), typeof( SandVortex ), typeof( ShadowIronElemental ), typeof( SnowElemental ), typeof( ValoriteElemental ), typeof( VeriteElemental ), typeof( WaterElemental ), typeof( SummonedWaterElemental ) );
|
||||
elemental.Entries = new SlayerEntry[]
|
||||
{
|
||||
new SlayerEntry( SlayerName.BloodDrinking, typeof( BloodElemental ) ),
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ namespace Server
|
|||
/* Medium */
|
||||
new SpeedInfo( 0.25, 0.5, new Type[]
|
||||
{
|
||||
typeof( ToxicElemental ), typeof( AgapiteElemental ), typeof( Alligator ),
|
||||
typeof( AcidElemental ), typeof( AgapiteElemental ), typeof( Alligator ),
|
||||
typeof( AncientLich ), typeof( Betrayer ), typeof( Bird ),
|
||||
typeof( BlackBear ), typeof( BlackSolenInfiltratorQueen ), typeof( BlackSolenInfiltratorWarrior ),
|
||||
typeof( BlackSolenQueen ), typeof( BlackSolenWarrior ), typeof( BlackSolenWorker ),
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Server.Mobiles
|
|||
public abstract class BaseFamiliar : BaseCreature
|
||||
{
|
||||
public BaseFamiliar()
|
||||
: base( AIType.AI_Melee, FightMode.Closest, 10, 1, -1, -1 )
|
||||
: base( AIType.AI_Melee, FightMode.Closest, 10, 1, .1, .1 )
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,11 +4,12 @@ using Server.Items;
|
|||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[TypeAlias( "Server.Mobiles.ToxicElemental" )]
|
||||
[CorpseName( "an acid elemental corpse" )]
|
||||
public class ToxicElemental : BaseCreature
|
||||
public class AcidElemental : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public ToxicElemental () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
public AcidElemental () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "an acid elemental";
|
||||
Body = 0x9E;
|
||||
|
|
@ -57,7 +58,8 @@ namespace Server.Mobiles
|
|||
|
||||
public override int TreasureMapLevel{ get{ return Core.AOS ? 2 : 3; } }
|
||||
|
||||
public ToxicElemental( Serial serial ) : base( serial )
|
||||
public AcidElemental( Serial serial )
|
||||
: base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -1,252 +0,0 @@
|
|||
using System;
|
||||
using System.Text;
|
||||
using Server.Gumps;
|
||||
using Server.Network;
|
||||
using Server.Commands;
|
||||
|
||||
namespace Server.Misc
|
||||
{
|
||||
public class TestCenter
|
||||
{
|
||||
private const bool m_Enabled = false;
|
||||
public static bool Enabled { get{ return m_Enabled; } }
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
// Register our speech handler
|
||||
if( Enabled )
|
||||
EventSink.Speech += new SpeechEventHandler( EventSink_Speech );
|
||||
}
|
||||
|
||||
private static void EventSink_Speech( SpeechEventArgs args )
|
||||
{
|
||||
if ( !args.Handled )
|
||||
{
|
||||
if( Insensitive.StartsWith( args.Speech, "set" ) )
|
||||
{
|
||||
Mobile from = args.Mobile;
|
||||
|
||||
string[] split = args.Speech.Split( ' ' );
|
||||
|
||||
if ( split.Length == 3 )
|
||||
{
|
||||
try
|
||||
{
|
||||
string name = split[1];
|
||||
double value = Convert.ToDouble( split[2] );
|
||||
|
||||
if ( Insensitive.Equals( name, "str" ) )
|
||||
ChangeStrength( from, (int)value );
|
||||
else if ( Insensitive.Equals( name, "dex" ) )
|
||||
ChangeDexterity( from, (int)value );
|
||||
else if ( Insensitive.Equals( name, "int" ) )
|
||||
ChangeIntelligence( from, (int)value );
|
||||
else
|
||||
ChangeSkill( from, name, value );
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
else if( Insensitive.Equals( args.Speech, "help" ) )
|
||||
{
|
||||
args.Mobile.SendGump( new TCHelpGump() );
|
||||
|
||||
args.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void ChangeStrength( Mobile from, int value )
|
||||
{
|
||||
if ( value < 10 || value > 125 )
|
||||
{
|
||||
from.SendLocalizedMessage( 1005628 ); // Stats range between 10 and 125.
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( (value + from.RawDex + from.RawInt) > from.StatCap )
|
||||
{
|
||||
from.SendLocalizedMessage( 1005629 ); // You can not exceed the stat cap. Try setting another stat lower first.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.RawStr = value;
|
||||
from.SendLocalizedMessage( 1005630 ); // Your stats have been adjusted.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void ChangeDexterity( Mobile from, int value )
|
||||
{
|
||||
if ( value < 10 || value > 125 )
|
||||
{
|
||||
from.SendLocalizedMessage( 1005628 ); // Stats range between 10 and 125.
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( (from.RawStr + value + from.RawInt) > from.StatCap )
|
||||
{
|
||||
from.SendLocalizedMessage( 1005629 ); // You can not exceed the stat cap. Try setting another stat lower first.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.RawDex = value;
|
||||
from.SendLocalizedMessage( 1005630 ); // Your stats have been adjusted.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void ChangeIntelligence( Mobile from, int value )
|
||||
{
|
||||
if ( value < 10 || value > 125 )
|
||||
{
|
||||
from.SendLocalizedMessage( 1005628 ); // Stats range between 10 and 125.
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( (from.RawStr + from.RawDex + value) > from.StatCap )
|
||||
{
|
||||
from.SendLocalizedMessage( 1005629 ); // You can not exceed the stat cap. Try setting another stat lower first.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.RawInt = value;
|
||||
from.SendLocalizedMessage( 1005630 ); // Your stats have been adjusted.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static void ChangeSkill( Mobile from, string name, double value )
|
||||
{
|
||||
SkillName index;
|
||||
#if Framework_4_0
|
||||
if( !Enum.TryParse( name, true, out index ) || (!Core.SE && (int)index > 51) || (!Core.AOS && (int)index > 48) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1005631 ); // You have specified an invalid skill to set.
|
||||
return;
|
||||
}
|
||||
#else
|
||||
try
|
||||
{
|
||||
index = (SkillName)Enum.Parse( typeof( SkillName ), name, true );
|
||||
}
|
||||
catch
|
||||
{
|
||||
from.SendLocalizedMessage( 1005631 ); // You have specified an invalid skill to set.
|
||||
return;
|
||||
}
|
||||
|
||||
if ( ( !Core.SE && (int)index > 51 ) || ( !Core.AOS && (int)index > 48 ) )
|
||||
{
|
||||
from.SendLocalizedMessage( 1005631 ); // You have specified an invalid skill to set.
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
Skill skill = from.Skills[index];
|
||||
|
||||
if ( skill != null )
|
||||
{
|
||||
if ( value < 0 || value > skill.Cap )
|
||||
{
|
||||
from.SendMessage( String.Format( "Your skill in {0} is capped at {1:F1}.", skill.Info.Name, skill.Cap ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
int newFixedPoint = (int)(value * 10.0);
|
||||
int oldFixedPoint = skill.BaseFixedPoint;
|
||||
|
||||
if ( ((skill.Owner.Total - oldFixedPoint) + newFixedPoint) > skill.Owner.Cap )
|
||||
{
|
||||
from.SendMessage( "You can not exceed the skill cap. Try setting another skill lower first." );
|
||||
}
|
||||
else
|
||||
{
|
||||
skill.BaseFixedPoint = newFixedPoint;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage( 1005631 ); // You have specified an invalid skill to set.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class TCHelpGump : Gump
|
||||
{
|
||||
public TCHelpGump() : base( 40, 40 )
|
||||
{
|
||||
AddPage( 0 );
|
||||
AddBackground( 0, 0, 160, 120, 5054 );
|
||||
|
||||
AddButton( 10, 10, 0xFB7, 0xFB9, 1, GumpButtonType.Reply, 0 );
|
||||
AddLabel( 45, 10, 0x34, "RunUO.com" );
|
||||
|
||||
AddButton( 10, 35, 0xFB7, 0xFB9, 2, GumpButtonType.Reply, 0 );
|
||||
AddLabel( 45, 35, 0x34, "List of skills" );
|
||||
|
||||
AddButton( 10, 60, 0xFB7, 0xFB9, 3, GumpButtonType.Reply, 0 );
|
||||
AddLabel( 45, 60, 0x34, "Command list" );
|
||||
|
||||
AddButton( 10, 85, 0xFB1, 0xFB3, 0, GumpButtonType.Reply, 0 );
|
||||
AddLabel( 45, 85, 0x34, "Close" );
|
||||
}
|
||||
|
||||
public override void OnResponse( NetState sender, RelayInfo info )
|
||||
{
|
||||
switch ( info.ButtonID )
|
||||
{
|
||||
case 1: // RunUO.com
|
||||
{
|
||||
sender.LaunchBrowser( "http://www.RunUO.com" );
|
||||
break;
|
||||
}
|
||||
case 2: // List of skills
|
||||
{
|
||||
string[] strings = Enum.GetNames( typeof( SkillName ) );
|
||||
|
||||
Array.Sort( strings );
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
if ( strings.Length > 0 )
|
||||
sb.Append( strings[0] );
|
||||
|
||||
for ( int i = 1; i < strings.Length; ++i )
|
||||
{
|
||||
string v = strings[i];
|
||||
|
||||
if ( (sb.Length + 1 + v.Length) >= 256 )
|
||||
{
|
||||
sender.Send( new AsciiMessage( Server.Serial.MinusOne, -1, MessageType.Label, 0x35, 3, "System", sb.ToString() ) );
|
||||
sb = new StringBuilder();
|
||||
sb.Append( v );
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append( ' ' );
|
||||
sb.Append( v );
|
||||
}
|
||||
}
|
||||
|
||||
if ( sb.Length > 0 )
|
||||
{
|
||||
sender.Send( new AsciiMessage( Server.Serial.MinusOne, -1, MessageType.Label, 0x35, 3, "System", sb.ToString() ) );
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 3: // Command list
|
||||
{
|
||||
sender.Mobile.SendAsciiMessage( 0x482, "The command prefix is \"{0}\"", CommandSystem.Prefix );
|
||||
CommandHandlers.Help_OnCommand( new CommandEventArgs( sender.Mobile, "help", "", new string[0] ) );
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -116,7 +116,7 @@ namespace Server.Spells.Necromancy
|
|||
typeof( ValoriteElemental ), typeof( VeriteElemental ), typeof( PoisonElemental ),
|
||||
typeof( FireElemental ), typeof( SummonedFireElemental ), typeof( SnowElemental ),
|
||||
typeof( AirElemental ), typeof( SummonedAirElemental ), typeof( WaterElemental ),
|
||||
typeof( SummonedAirElemental ), typeof ( ToxicElemental )
|
||||
typeof( SummonedAirElemental ), typeof ( AcidElemental )
|
||||
}, new SummonEntry[]
|
||||
{
|
||||
new SummonEntry( 5000, typeof( WailingBanshee ) ),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue