#W# Initial Commit: Avatars Conquest
This commit is contained in:
commit
8eae46895e
7512 changed files with 416187 additions and 0 deletions
69
Scripts/Mobiles/Fey/Centaur.cs
Normal file
69
Scripts/Mobiles/Fey/Centaur.cs
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a centaur corpse" )]
|
||||
public class Centaur : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public Centaur() : base( AIType.AI_Melee, FightMode.Evil, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = NameList.RandomName( "centaur" );
|
||||
HiddenTitle = "the centaur";
|
||||
Body = 126;
|
||||
BaseSoundID = 679;
|
||||
|
||||
SetStr( 202, 300 );
|
||||
SetDex( 104, 260 );
|
||||
SetInt( 91, 100 );
|
||||
|
||||
SetHits( 130, 172 );
|
||||
|
||||
SetDamage( 13, 24 );
|
||||
|
||||
SetSkill( SkillName.Archery, 95.1, 100.0 );
|
||||
SetSkill( SkillName.MagicResist, 50.3, 80.0 );
|
||||
SetSkill( SkillName.Tactics, 90.1, 100.0 );
|
||||
SetSkill( SkillName.HandToHand, 95.1, 100.0 );
|
||||
|
||||
Fame = 6500;
|
||||
Karma = 6500;
|
||||
|
||||
VirtualArmor = 50;
|
||||
AddItem( new Bow() );
|
||||
PackItem( new Arrow( Utility.RandomMinMax( 80, 90 ) ) );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Rich );
|
||||
AddLoot( LootPack.Average );
|
||||
AddLoot( LootPack.Gems );
|
||||
}
|
||||
|
||||
public override int Meat{ get{ return 1; } }
|
||||
public override int Hides{ get{ return 8; } }
|
||||
|
||||
public Centaur( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if ( BaseSoundID == 678 )
|
||||
BaseSoundID = 679;
|
||||
}
|
||||
}
|
||||
}
|
||||
66
Scripts/Mobiles/Fey/DreadHorn.cs
Normal file
66
Scripts/Mobiles/Fey/DreadHorn.cs
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a dread horn corpse" )]
|
||||
public class DreadHorn : BaseCreature
|
||||
{
|
||||
public override bool HasBreath{ get{ return true; } }
|
||||
public override bool ReacquireOnMovement{ get{ return !Controlled; } }
|
||||
|
||||
[Constructable]
|
||||
public DreadHorn() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
BaseSoundID = 0xA8;
|
||||
|
||||
SetStr( 596, 625 );
|
||||
SetDex( 186, 205 );
|
||||
SetInt( 186, 225 );
|
||||
|
||||
SetHits( 398, 415 );
|
||||
|
||||
SetDamage( 22, 28 );
|
||||
|
||||
SetSkill( SkillName.Concentration, 30.4, 70.0 );
|
||||
SetSkill( SkillName.Magery, 30.4, 70.0 );
|
||||
SetSkill( SkillName.MagicResist, 105.3, 120.0 );
|
||||
SetSkill( SkillName.Tactics, 117.6, 120.0 );
|
||||
SetSkill( SkillName.HandToHand, 100.5, 112.5 );
|
||||
|
||||
Fame = 19000;
|
||||
Karma = -19000;
|
||||
|
||||
VirtualArmor = 70;
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Rich );
|
||||
AddLoot( LootPack.Average );
|
||||
AddLoot( LootPack.LowScrolls );
|
||||
AddLoot( LootPack.HighPotions );
|
||||
}
|
||||
|
||||
public override int Meat{ get{ return 5; } }
|
||||
public override int Hides{ get{ return 10; } }
|
||||
|
||||
public DreadHorn( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
63
Scripts/Mobiles/Fey/Fairy.cs
Normal file
63
Scripts/Mobiles/Fey/Fairy.cs
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Misc;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a fairy corpse" )]
|
||||
public class Fairy : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public Fairy() : base( AIType.AI_Mage, FightMode.Evil, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a fairy";
|
||||
Body = 58;
|
||||
BaseSoundID = 0x57A;
|
||||
Hue = 1185;
|
||||
|
||||
SetStr( 196, 225 );
|
||||
SetDex( 196, 225 );
|
||||
SetInt( 196, 225 );
|
||||
|
||||
SetHits( 118, 135 );
|
||||
|
||||
SetDamage( 17, 18 );
|
||||
|
||||
SetSkill( SkillName.Concentration, 80.0 );
|
||||
SetSkill( SkillName.Magery, 80.0 );
|
||||
SetSkill( SkillName.MagicResist, 80.0 );
|
||||
SetSkill( SkillName.Tactics, 80.0 );
|
||||
SetSkill( SkillName.HandToHand, 80.0 );
|
||||
|
||||
Fame = 4000;
|
||||
Karma = 4000;
|
||||
|
||||
VirtualArmor = 40;
|
||||
|
||||
AddItem( new LightSource() );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Rich );
|
||||
AddLoot( LootPack.Average );
|
||||
}
|
||||
|
||||
public Fairy( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
65
Scripts/Mobiles/Fey/Pixie.cs
Normal file
65
Scripts/Mobiles/Fey/Pixie.cs
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Misc;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a pixie corpse" )]
|
||||
public class Pixie : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public Pixie() : base( AIType.AI_Mage, FightMode.Evil, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = NameList.RandomName( "pixie" );
|
||||
HiddenTitle = "the pixie";
|
||||
Body = 37;
|
||||
BaseSoundID = 0x467;
|
||||
|
||||
SetStr( 21, 30 );
|
||||
SetDex( 301, 400 );
|
||||
SetInt( 201, 250 );
|
||||
|
||||
SetHits( 13, 18 );
|
||||
|
||||
SetDamage( 9, 15 );
|
||||
|
||||
SetSkill( SkillName.Concentration, 90.1, 100.0 );
|
||||
SetSkill( SkillName.Magery, 90.1, 100.0 );
|
||||
SetSkill( SkillName.Meditation, 90.1, 100.0 );
|
||||
SetSkill( SkillName.MagicResist, 100.5, 150.0 );
|
||||
SetSkill( SkillName.Tactics, 10.1, 20.0 );
|
||||
SetSkill( SkillName.HandToHand, 10.1, 12.5 );
|
||||
|
||||
Fame = 7000;
|
||||
Karma = 7000;
|
||||
|
||||
VirtualArmor = 100;
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.LowScrolls );
|
||||
AddLoot( LootPack.Gems, 2 );
|
||||
}
|
||||
|
||||
public override int Hides{ get{ return 5; } }
|
||||
public override int Meat{ get{ return 1; } }
|
||||
|
||||
public Pixie( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
112
Scripts/Mobiles/Fey/Satyr.cs
Normal file
112
Scripts/Mobiles/Fey/Satyr.cs
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
using System;
|
||||
using Server;
|
||||
using System.Collections;
|
||||
using Server.Items;
|
||||
using Server.Targeting;
|
||||
using Server.Misc;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a satyr's corpse" )]
|
||||
public class Satyr : BaseCreature
|
||||
{
|
||||
private DateTime m_NextPickup;
|
||||
|
||||
[Constructable]
|
||||
public Satyr() : base( AIType.AI_Animal, FightMode.Evil, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a satyr";
|
||||
Body = 118;
|
||||
BaseSoundID = 0x585;
|
||||
|
||||
SetStr( 177, 195 );
|
||||
SetDex( 251, 269 );
|
||||
SetInt( 153, 170 );
|
||||
|
||||
SetHits( 150, 200 );
|
||||
|
||||
SetDamage( 13, 24 );
|
||||
|
||||
SetSkill( SkillName.MagicResist, 55.0, 65.0 );
|
||||
SetSkill( SkillName.Tactics, 80.0, 100.0 );
|
||||
SetSkill( SkillName.HandToHand, 80.0, 100.0 );
|
||||
|
||||
Fame = 5000;
|
||||
Karma = 5000;
|
||||
|
||||
VirtualArmor = 28;
|
||||
|
||||
Pipes pipe = new Pipes();
|
||||
pipe.Name = "satyr pipes";
|
||||
PackItem( pipe );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Rich );
|
||||
}
|
||||
|
||||
public override void OnThink()
|
||||
{
|
||||
if ( DateTime.Now >= m_NextPickup )
|
||||
{
|
||||
m_NextPickup = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 10, 20 ) );
|
||||
Peace( Combatant );
|
||||
}
|
||||
base.OnThink();
|
||||
}
|
||||
|
||||
public override int Meat { get { return 1; } }
|
||||
|
||||
public Satyr( 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();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
private DateTime m_NextPeace;
|
||||
public void Peace( Mobile target )
|
||||
{
|
||||
if ( target == null || Deleted || !Alive || m_NextPeace > DateTime.Now )
|
||||
return;
|
||||
|
||||
PlayerMobile p = target as PlayerMobile;
|
||||
|
||||
if ( p != null && p.PeacedUntil < DateTime.Now && !p.Hidden && CanBeHarmful( p ) )
|
||||
{
|
||||
p.PeacedUntil = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 20, 45 ) );
|
||||
p.SendLocalizedMessage( 500616 ); // You hear lovely music, and forget to continue battling!
|
||||
p.FixedParticles( 0x376A, 1, 32, 0x15BD, EffectLayer.Waist );
|
||||
p.Combatant = null;
|
||||
target.Warmode = false;
|
||||
UndressItem( target, Layer.OneHanded );
|
||||
UndressItem( target, Layer.TwoHanded );
|
||||
|
||||
PlaySound( Utility.RandomMinMax( 0x58A, 0x58C ) );
|
||||
}
|
||||
|
||||
m_NextPeace = DateTime.Now + TimeSpan.FromSeconds( 50 );
|
||||
}
|
||||
|
||||
public void UndressItem( Mobile m, Layer layer )
|
||||
{
|
||||
Item item = m.FindItemOnLayer( layer );
|
||||
|
||||
if ( item != null && item.Movable )
|
||||
m.PlaceInBackpack( item );
|
||||
}
|
||||
}
|
||||
}
|
||||
67
Scripts/Mobiles/Fey/Unicorn.cs
Normal file
67
Scripts/Mobiles/Fey/Unicorn.cs
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
using System;
|
||||
using Server.Mobiles;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a unicorn corpse" )]
|
||||
public class Unicorn : BaseCreature
|
||||
{
|
||||
[Constructable]
|
||||
public Unicorn() : base( AIType.AI_Mage, FightMode.Evil, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a unicorn";
|
||||
BaseSoundID = 0x4BC;
|
||||
Body = 230;
|
||||
|
||||
SetStr( 496, 525 );
|
||||
SetDex( 86, 105 );
|
||||
SetInt( 86, 125 );
|
||||
|
||||
SetHits( 298, 315 );
|
||||
|
||||
SetDamage( 16, 22 );
|
||||
|
||||
SetSkill( SkillName.Concentration, 10.4, 50.0 );
|
||||
SetSkill( SkillName.Magery, 10.4, 50.0 );
|
||||
SetSkill( SkillName.MagicResist, 85.3, 100.0 );
|
||||
SetSkill( SkillName.Tactics, 97.6, 100.0 );
|
||||
SetSkill( SkillName.HandToHand, 80.5, 92.5 );
|
||||
|
||||
Fame = 14000;
|
||||
Karma = 14000;
|
||||
|
||||
VirtualArmor = 60;
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Rich );
|
||||
AddLoot( LootPack.Average );
|
||||
AddLoot( LootPack.LowScrolls );
|
||||
AddLoot( LootPack.HighPotions );
|
||||
}
|
||||
|
||||
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
|
||||
public override int Meat{ get{ return 3; } }
|
||||
public override int Hides{ get{ return 10; } }
|
||||
|
||||
public Unicorn( 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
65
Scripts/Mobiles/Fey/Wisp.cs
Normal file
65
Scripts/Mobiles/Fey/Wisp.cs
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Misc;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a wisp corpse" )]
|
||||
public class Wisp : BaseCreature
|
||||
{
|
||||
public override InhumanSpeech SpeechType{ get{ return InhumanSpeech.Wisp; } }
|
||||
public override TimeSpan ReacquireDelay { get { return TimeSpan.FromSeconds( 1.0 ); } }
|
||||
|
||||
[Constructable]
|
||||
public Wisp() : base( AIType.AI_Mage, FightMode.Aggressor, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a wisp";
|
||||
Body = 58;
|
||||
BaseSoundID = 466;
|
||||
|
||||
SetStr( 196, 225 );
|
||||
SetDex( 196, 225 );
|
||||
SetInt( 196, 225 );
|
||||
|
||||
SetHits( 118, 135 );
|
||||
|
||||
SetDamage( 17, 18 );
|
||||
|
||||
SetSkill( SkillName.Concentration, 80.0 );
|
||||
SetSkill( SkillName.Magery, 80.0 );
|
||||
SetSkill( SkillName.MagicResist, 80.0 );
|
||||
SetSkill( SkillName.Tactics, 80.0 );
|
||||
SetSkill( SkillName.HandToHand, 80.0 );
|
||||
|
||||
Fame = 4000;
|
||||
Karma = 0;
|
||||
|
||||
VirtualArmor = 40;
|
||||
|
||||
AddItem( new LightSource() );
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot( LootPack.Rich );
|
||||
AddLoot( LootPack.Average );
|
||||
}
|
||||
|
||||
public Wisp( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
||||
public override void Serialize( GenericWriter writer )
|
||||
{
|
||||
base.Serialize( writer );
|
||||
writer.Write( (int) 0 );
|
||||
}
|
||||
|
||||
public override void Deserialize( GenericReader reader )
|
||||
{
|
||||
base.Deserialize( reader );
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue