#W# Initial Commit: Avatars Conquest
This commit is contained in:
commit
5df497787a
7510 changed files with 416048 additions and 0 deletions
458
Scripts/Mobiles/Base/AI/SpeedInfo.cs
Normal file
458
Scripts/Mobiles/Base/AI/SpeedInfo.cs
Normal file
|
|
@ -0,0 +1,458 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server
|
||||
{
|
||||
public class SpeedInfo
|
||||
{
|
||||
// Should we use the new method of speeds?
|
||||
private static bool Enabled = true;
|
||||
|
||||
private double m_ActiveSpeed;
|
||||
private double m_PassiveSpeed;
|
||||
private Type[] m_Types;
|
||||
|
||||
public double ActiveSpeed
|
||||
{
|
||||
get{ return m_ActiveSpeed; }
|
||||
set{ m_ActiveSpeed = value; }
|
||||
}
|
||||
|
||||
public double PassiveSpeed
|
||||
{
|
||||
get{ return m_PassiveSpeed; }
|
||||
set{ m_PassiveSpeed = value; }
|
||||
}
|
||||
|
||||
public Type[] Types
|
||||
{
|
||||
get{ return m_Types; }
|
||||
set{ m_Types = value; }
|
||||
}
|
||||
|
||||
public SpeedInfo( double activeSpeed, double passiveSpeed, Type[] types )
|
||||
{
|
||||
m_ActiveSpeed = activeSpeed;
|
||||
m_PassiveSpeed = passiveSpeed;
|
||||
m_Types = types;
|
||||
}
|
||||
|
||||
public static bool Contains( object obj )
|
||||
{
|
||||
if ( !Enabled )
|
||||
return false;
|
||||
|
||||
if ( m_Table == null )
|
||||
LoadTable();
|
||||
|
||||
SpeedInfo sp = (SpeedInfo)m_Table[obj.GetType()];
|
||||
|
||||
return ( sp != null );
|
||||
}
|
||||
|
||||
public static bool GetSpeeds( object obj, ref double activeSpeed, ref double passiveSpeed )
|
||||
{
|
||||
if ( !Enabled )
|
||||
return false;
|
||||
|
||||
if ( m_Table == null )
|
||||
LoadTable();
|
||||
|
||||
SpeedInfo sp = (SpeedInfo)m_Table[obj.GetType()];
|
||||
|
||||
if ( sp == null )
|
||||
return false;
|
||||
|
||||
activeSpeed = sp.ActiveSpeed;
|
||||
passiveSpeed = sp.PassiveSpeed;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static void LoadTable()
|
||||
{
|
||||
m_Table = new Hashtable();
|
||||
|
||||
for ( int i = 0; i < m_Speeds.Length; ++i )
|
||||
{
|
||||
SpeedInfo info = m_Speeds[i];
|
||||
Type[] types = info.Types;
|
||||
|
||||
for ( int j = 0; j < types.Length; ++j )
|
||||
m_Table[types[j]] = info;
|
||||
}
|
||||
}
|
||||
|
||||
private static Hashtable m_Table;
|
||||
|
||||
private static SpeedInfo[] m_Speeds = new SpeedInfo[]
|
||||
{
|
||||
/* Slow */
|
||||
new SpeedInfo( 0.3, 0.6, new Type[]
|
||||
{
|
||||
typeof( RottingDrake ),
|
||||
typeof( ZombieDragon ),
|
||||
typeof( CarcassWorm ),
|
||||
typeof( Meglasaur ),
|
||||
typeof( Gorceratops ),
|
||||
typeof( Stegosaurus ),
|
||||
typeof( Turtle ),
|
||||
typeof( Shambler ),
|
||||
typeof( ShamblingMound ),
|
||||
typeof( AntLion ),
|
||||
typeof( ArcticOgreLord ),
|
||||
typeof( BoneKnight ),
|
||||
typeof( EarthElemental ),
|
||||
typeof( MeteorElemental ),
|
||||
typeof( StoneGolem ),
|
||||
typeof( StoneStatue ),
|
||||
typeof( Goliath ),
|
||||
typeof( MudElemental ),
|
||||
typeof( MagmaElemental ),
|
||||
typeof( WoodElemental ),
|
||||
typeof( Ettin ),
|
||||
typeof( SnowEttin ),
|
||||
typeof( SwampThing ),
|
||||
typeof( FrostOoze ),
|
||||
typeof( FrostTroll ),
|
||||
typeof( Ghoul ),
|
||||
typeof( Wight ),
|
||||
typeof( Golem ),
|
||||
typeof( HeadlessOne ),
|
||||
typeof( Mummy ),
|
||||
typeof( Ogre ),
|
||||
typeof( Owlbear ),
|
||||
typeof( Sasquatch ),
|
||||
typeof( CorpseGolem ),
|
||||
typeof( FleshGolem ),
|
||||
typeof( FleshGoliath ),
|
||||
typeof( Caveman ),
|
||||
typeof( OgreLord ),
|
||||
typeof( ForestGiant ),
|
||||
typeof( HillGiant ),
|
||||
typeof( MountainGiant ),
|
||||
typeof( FrostGiant ),
|
||||
typeof( Xorn ),
|
||||
typeof( Rat ),
|
||||
typeof( RottingCorpse ),
|
||||
typeof( Skeleton ),
|
||||
typeof( Slime ),
|
||||
typeof( Sludge ),
|
||||
typeof( LargeSlime ),
|
||||
typeof( Zombie ),
|
||||
typeof( ZombieGargoyle ),
|
||||
typeof( GargoyleUndead ),
|
||||
typeof( Walrus )
|
||||
} ),
|
||||
/* Fast */
|
||||
new SpeedInfo( 0.2, 0.4, new Type[]
|
||||
{
|
||||
typeof( BoneClaw ),
|
||||
typeof( ShadowDemon ),
|
||||
typeof( Torax ),
|
||||
typeof( Teradactyl ),
|
||||
typeof( AirElemental ),
|
||||
typeof( Typhoon ),
|
||||
typeof( AncientWyrm ),
|
||||
typeof( Balron ),
|
||||
typeof( SeaDevil ),
|
||||
typeof( DemonClaw ),
|
||||
typeof( BladeSpirits ),
|
||||
typeof( DreadSpider ),
|
||||
typeof( Efreet ),
|
||||
typeof( Lich ),
|
||||
typeof( Vampire ),
|
||||
typeof( Nightmare ),
|
||||
typeof( Cerberus ),
|
||||
typeof( Serperus ),
|
||||
typeof( Haderus ),
|
||||
typeof( OphidianArchmage ),
|
||||
typeof( OphidianMage ),
|
||||
typeof( OphidianWarrior ),
|
||||
typeof( OphidianMatriarch ),
|
||||
typeof( OphidianKnight ),
|
||||
typeof( Naga ),
|
||||
typeof( NagaWarrior ),
|
||||
typeof( NagaQueen ),
|
||||
typeof( FireNaga ),
|
||||
typeof( Kobra ),
|
||||
typeof( Medusa ),
|
||||
typeof( PoisonElemental ),
|
||||
typeof( GasCloud ),
|
||||
typeof( StormCloud ),
|
||||
typeof( IceSalamander ),
|
||||
typeof( FireSalamander ),
|
||||
typeof( Raptor ),
|
||||
typeof( SandVortex ),
|
||||
typeof( SavageShaman ),
|
||||
typeof( SnowElemental ),
|
||||
typeof( SuccubusQueen ),
|
||||
typeof( WhiteWyrm ),
|
||||
typeof( Wisp ),
|
||||
typeof( WidowQueen ),
|
||||
typeof( Kith ),
|
||||
typeof( BloodSpider ),
|
||||
typeof( GiantBlackWidow )
|
||||
} ),
|
||||
/* Very Fast */
|
||||
new SpeedInfo( 0.175, 0.350, new Type[]
|
||||
{
|
||||
typeof( EnergyVortex ),
|
||||
typeof( Pixie ),
|
||||
typeof( Fairy ),
|
||||
typeof( Swarm ),
|
||||
typeof( SilverSerpent ),
|
||||
typeof( Leviathan ),
|
||||
} ),
|
||||
/* Medium */
|
||||
new SpeedInfo( 0.25, 0.5, new Type[]
|
||||
{
|
||||
typeof( Demoness ),
|
||||
typeof( Hydra ),
|
||||
typeof( SeaHydra ),
|
||||
typeof( Goblin ),
|
||||
typeof( GoblinArcher ),
|
||||
typeof( GoblinWarrior ),
|
||||
typeof( MummyLord ),
|
||||
typeof( GiantCrab ),
|
||||
typeof( Lobstran ),
|
||||
typeof( Lurker ),
|
||||
typeof( ForestStalker ),
|
||||
typeof( CaveDweller ),
|
||||
typeof( Minotaur ),
|
||||
typeof( MinotaurLord ),
|
||||
typeof( MinotaurChief ),
|
||||
typeof( Ent ),
|
||||
typeof( Fungal ),
|
||||
typeof( FungalMage ),
|
||||
typeof( Sphinx ),
|
||||
typeof( RoyalSphinx ),
|
||||
typeof( AncientSphinx ),
|
||||
typeof( AcidElemental ),
|
||||
typeof( Alligator ),
|
||||
typeof( AncientLich ),
|
||||
typeof( AncientVampire ),
|
||||
typeof( Bird ),
|
||||
typeof( BlackBear ),
|
||||
typeof( BloodElemental ),
|
||||
typeof( BloodElementalElder ),
|
||||
typeof( PoisonElementalElder ),
|
||||
typeof( WaterElementalElder ),
|
||||
typeof( Boar ),
|
||||
typeof( BoneMagi ),
|
||||
typeof( Brigand ),
|
||||
typeof( BlackKnight ),
|
||||
typeof( BrownBear ),
|
||||
typeof( Bull ),
|
||||
typeof( BullFrog ),
|
||||
typeof( Cat ),
|
||||
typeof( Centaur ),
|
||||
typeof( Chicken ),
|
||||
typeof( Cougar ),
|
||||
typeof( Cow ),
|
||||
typeof( Cyclops ),
|
||||
typeof( CyclopsChief ),
|
||||
typeof( CyclopsLord ),
|
||||
typeof( Daemon ),
|
||||
typeof( Ktulu ),
|
||||
typeof( Deviless ),
|
||||
typeof( HornedDevil ),
|
||||
typeof( IceDevil ),
|
||||
typeof( DeepSeaSerpent ),
|
||||
typeof( GiantEel ),
|
||||
typeof( GiantSquid ),
|
||||
typeof( DemonicSpirit ),
|
||||
typeof( DireWolf ),
|
||||
typeof( Dog ),
|
||||
typeof( Dolphin ),
|
||||
typeof( GreatWhite ),
|
||||
typeof( Lochasaur ),
|
||||
typeof( Megalodon ),
|
||||
typeof( Shark ),
|
||||
typeof( Seahorse ),
|
||||
typeof( Tyranasaur ),
|
||||
typeof( SeaDragon ),
|
||||
typeof( Dragon ),
|
||||
typeof( Drakkhen ),
|
||||
typeof( DragonTurtle ),
|
||||
typeof( Drake ),
|
||||
typeof( LavaDrake ),
|
||||
typeof( SeaDrake ),
|
||||
typeof( SwampDragon ),
|
||||
typeof( Dwarf ),
|
||||
typeof( DwarfWarrior ),
|
||||
typeof( DwarfKnight ),
|
||||
typeof( Eagle ),
|
||||
typeof( ElderGazer ),
|
||||
typeof( AncientGazer ),
|
||||
typeof( EvilMage ),
|
||||
typeof( EvilMageLord ),
|
||||
typeof( MindFlayer ),
|
||||
typeof( Executioner ),
|
||||
typeof( Savage ),
|
||||
typeof( SavageLeader ),
|
||||
typeof( FireElemental ),
|
||||
typeof( LightningElemental ),
|
||||
typeof( FireGargoyle ),
|
||||
typeof( FrostSpider ),
|
||||
typeof( Shaclaw ),
|
||||
typeof( Gargoyle ),
|
||||
typeof( GargoyleMage ),
|
||||
typeof( GargoyleKnight ),
|
||||
typeof( GargoyleIce ),
|
||||
typeof( GargoyleStone ),
|
||||
typeof( GargoyleWizard ),
|
||||
typeof( GargoyleCrimson ),
|
||||
typeof( Gazer ),
|
||||
typeof( IceSerpent ),
|
||||
typeof( GiantRat ),
|
||||
typeof( GiantSerpent ),
|
||||
typeof( Viper ),
|
||||
typeof( Cobra ),
|
||||
typeof( GiantSpider ),
|
||||
typeof( GiantToad ),
|
||||
typeof( IceToad ),
|
||||
typeof( FireToad ),
|
||||
typeof( Goat ),
|
||||
typeof( Gorilla ),
|
||||
typeof( Ape ),
|
||||
typeof( GreatDeer ),
|
||||
typeof( GreyWolf ),
|
||||
typeof( GrizzlyBear ),
|
||||
typeof( CaveBear ),
|
||||
typeof( KodiakBear ),
|
||||
typeof( Lion ),
|
||||
typeof( Tiger ),
|
||||
typeof( Manticore ),
|
||||
typeof( SnowBear ),
|
||||
typeof( PandaBear ),
|
||||
typeof( Harpy ),
|
||||
typeof( ElderHarpy ),
|
||||
typeof( GiantHawk ),
|
||||
typeof( GiantRaven ),
|
||||
typeof( Roc ),
|
||||
typeof( AxeBeak ),
|
||||
typeof( Griffon ),
|
||||
typeof( Hippogriff ),
|
||||
typeof( HellHound ),
|
||||
typeof( Deer ),
|
||||
typeof( Hobgoblin ),
|
||||
typeof( HobgoblinChief ),
|
||||
typeof( HobgoblinArcher ),
|
||||
typeof( HobgoblinShaman ),
|
||||
typeof( Horse ),
|
||||
typeof( IceElemental ),
|
||||
typeof( IceFiend ),
|
||||
typeof( Imp ),
|
||||
typeof( FireImp ),
|
||||
typeof( IceImp ),
|
||||
typeof( Kraken ),
|
||||
typeof( HellCat ),
|
||||
typeof( LavaLizard ),
|
||||
typeof( GiantLizard ),
|
||||
typeof( LavaSerpent ),
|
||||
typeof( Lizardman ),
|
||||
typeof( Drasolisk ),
|
||||
typeof( Silisk ),
|
||||
typeof( Sakkhra ),
|
||||
typeof( SakkhraShaman ),
|
||||
typeof( Sahuagin ),
|
||||
typeof( SahuaginMage ),
|
||||
typeof( Llama ),
|
||||
typeof( Mongbat ),
|
||||
typeof( MountainGoat ),
|
||||
typeof( Dagon ),
|
||||
typeof( Krakoa ),
|
||||
typeof( OgreMagi ),
|
||||
typeof( Minion ),
|
||||
typeof( MinionWizard ),
|
||||
typeof( MinionWarrior ),
|
||||
typeof( Orc ),
|
||||
typeof( OrcCaptain ),
|
||||
typeof( OrcishLord ),
|
||||
typeof( OrcishMage ),
|
||||
typeof( PackHorse ),
|
||||
typeof( PackLlama ),
|
||||
typeof( Pirate ),
|
||||
typeof( Panther ),
|
||||
typeof( Pig ),
|
||||
typeof( PolarBear ),
|
||||
typeof( Rabbit ),
|
||||
typeof( Raccoon ),
|
||||
typeof( Squirrel ),
|
||||
typeof( Ratman ),
|
||||
typeof( RatmanArcher ),
|
||||
typeof( RatmanMage ),
|
||||
typeof( Satyr ),
|
||||
typeof( FlameCrawler ),
|
||||
typeof( Scorpion ),
|
||||
typeof( Mantis ),
|
||||
typeof( SandScorpion ),
|
||||
typeof( DeadlyScorpion ),
|
||||
typeof( SeaSerpent ),
|
||||
typeof( Shade ),
|
||||
typeof( ShadowWyrm ),
|
||||
typeof( Sheep ),
|
||||
typeof( BoneDrake ),
|
||||
typeof( SkeletalDragon ),
|
||||
typeof( VampiricDragon ),
|
||||
typeof( VampiricDrake ),
|
||||
typeof( SkeletalMage ),
|
||||
typeof( SkeletonArcher ),
|
||||
typeof( Snake ),
|
||||
typeof( SnowLeopard ),
|
||||
typeof( Spectre ),
|
||||
typeof( StoneGargoyle ),
|
||||
typeof( StoneHarpy ),
|
||||
typeof( StormGiant ),
|
||||
typeof( ShadowTitan ),
|
||||
typeof( SandGiant ),
|
||||
typeof( JungleGiant ),
|
||||
typeof( Succubus ),
|
||||
typeof( SwampTentacle ),
|
||||
typeof( AntaurWorker ),
|
||||
typeof( AntaurSoldier ),
|
||||
typeof( AntaurLord ),
|
||||
typeof( AntaurQueen ),
|
||||
typeof( TerathanAvenger ),
|
||||
typeof( TerathanDrone ),
|
||||
typeof( TerathanMatriarch ),
|
||||
typeof( TerathanWarrior ),
|
||||
typeof( TimberWolf ),
|
||||
typeof( Titan ),
|
||||
typeof( Troll ),
|
||||
typeof( Yeti ),
|
||||
typeof( Bugbear ),
|
||||
typeof( Unicorn ),
|
||||
typeof( DreadHorn ),
|
||||
typeof( WaterElemental ),
|
||||
typeof( DeepSeaElemental ),
|
||||
typeof( WhippingVine ),
|
||||
typeof( WhiteWolf ),
|
||||
typeof( Wraith ),
|
||||
typeof( AncientWyvern ),
|
||||
typeof( Wyvern ),
|
||||
typeof( Pharaoh ),
|
||||
typeof( LichLord ),
|
||||
typeof( Nazghoul ),
|
||||
typeof( Demilich ),
|
||||
typeof( VampireLord ),
|
||||
typeof( SkeletalKnight ),
|
||||
typeof( Bat ),
|
||||
typeof( VampireBat ),
|
||||
typeof( CaveBat ),
|
||||
typeof( Stirge ),
|
||||
typeof( ArcaneScarab ),
|
||||
typeof( Werewolf ),
|
||||
typeof( Scarab ),
|
||||
typeof( GoraxHorned ),
|
||||
typeof( GoraxSlicer ),
|
||||
typeof( GiantScarab ),
|
||||
typeof( IronBeetle ),
|
||||
typeof( Beetle )
|
||||
} )
|
||||
};
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue