Post by youkai on Feb 28, 2011 18:37:08 GMT -5
Lily
Icarus Dexer (i use this name for alot of my chars n various games..)
icarus was spose to like keep saying those in his fight so far he only says it when u walk up to him...ill fix that later tho.
using System;
using System.Collections;
using Server;
using Server.Misc;
using Server.Items;
using Server.Spells;
namespace Server.Mobiles
{
[CorpseName( "Lily's corpse" )]
public class Lily : BaseCreature
{
[Constructable]
public Lily() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "Lily";
Title = "Deadly Sin (Lust)";
Body = 401;
HairItemID = 0x203C;
HairHue = 0xA17;
Hue = 0x8419;
SetStr( 750, 850 );
SetDex( 250, 320 );
SetInt( 620, 699 );
SetHits( 10000, 10050 );
SetDamage( 25, 30 );
SetDamageType( ResistanceType.Physical, 100 );
SetResistance( ResistanceType.Physical, 45, 55 );
SetResistance( ResistanceType.Fire, 20, 30 );
SetResistance( ResistanceType.Cold, 45, 55 );
SetResistance( ResistanceType.Poison, 30, 40 );
SetResistance( ResistanceType.Energy, 30, 40 );
SetSkill( SkillName.EvalInt, 90.1, 100.0 );
SetSkill( SkillName.Magery, 90.1, 100.0 );
SetSkill( SkillName.Meditation, 90.1, 100.0 );
SetSkill( SkillName.MagicResist, 150.5, 200.0 );
SetSkill( SkillName.Tactics, 80.1, 90.0 );
SetSkill( SkillName.Wrestling, 80.1, 90.0 );
SetSkill(SkillName.Fencing, 80.1, 90.0);
Fame = -10000;
Karma = -18000;
VirtualArmor = 34;
LustsNails weapon = new LustsNails();
weapon.Movable = false;
AddItem(weapon);
Sandals sandals = new Sandals();
sandals.Hue = 0xB0B;
sandals.Movable = false;
AddItem(sandals);
LeatherGloves gloves = new LeatherGloves();
gloves.Hue = 0xB0B;
gloves.Movable = false;
AddItem(gloves);
LeatherBustierArms tunic = new LeatherBustierArms();
tunic.Hue = 0xB0B;
tunic.Movable = false;
AddItem(tunic);
LeatherSkirt legs = new LeatherSkirt();
legs.Hue = 0xB0B;
legs.Movable = false;
AddItem(legs);
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 2, 5 ) );
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich, 2 );
AddLoot( LootPack.MedScrolls, 2 );
AddLoot( LootPack.HighScrolls, 2 );
}
public override bool AutoDispel{ get{ return true; } }
public override bool BardImmune{ get{ return !Core.AOS; } }
public override bool CanRummageCorpses{ get{ return true; } }
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
public override int TreasureMapLevel{ get{ return Core.AOS ? 5 : 4; } }
public override bool AlwaysMurderer{ get{ return true; } }
public override int GetHurtSound()
{
return 0x377;
}
public override int GetDeathSound()
{
return 0x317;
}
public override int GetAttackSound()
{
return 0x378;
}
private DateTime m_NextAbilityTime;
private void DoAreaLeech()
{
m_NextAbilityTime += TimeSpan.FromSeconds( 2.5 );
this.Say( true, "Oh! Do that Again!" );
this.FixedParticles( 0x376A, 10, 10, 9537, 33, 0, EffectLayer.Waist );
Timer.DelayCall( TimeSpan.FromSeconds( 5.0 ), new TimerCallback( DoAreaLeech_Finish ) );
}
private void DoAreaLeech_Finish()
{
ArrayList list = new ArrayList();
foreach ( Mobile m in this.GetMobilesInRange( 6 ) )
{
if ( this.CanBeHarmful( m ) && this.IsEnemy( m ) )
list.Add( m );
}
if ( list.Count == 0 )
{
this.Say( true, "aww! You Got Away .." );
}
else
{
double scalar;
if ( list.Count == 1 )
scalar = 0.75;
else if ( list.Count == 2 )
scalar = 0.50;
else
scalar = 0.25;
for ( int i = 0; i < list.Count; ++i )
{
Mobile m = (Mobile)list[i];
int damage = (int)(m.Hits * scalar);
damage += Utility.RandomMinMax( -5, 5 );
if ( damage < 1 )
damage = 1;
m.MovingParticles( this, 0x36F4, 1, 0, false, false, 32, 0, 9535, 1, 0, (EffectLayer)255, 0x100 );
m.MovingParticles( this, 0x0001, 1, 0, false, true, 32, 0, 9535, 9536, 0, (EffectLayer)255, 0 );
this.DoHarmful( m );
this.Hits += AOS.Damage( m, this, damage, 100, 0, 0, 0, 0 );
}
this.Say( true, "If I can't have you! I'll destroy you!" );
}
}
private void DoFocusedLeech( Mobile combatant, string message )
{
this.Say( true, message );
Timer.DelayCall( TimeSpan.FromSeconds( 0.5 ), new TimerStateCallback( DoFocusedLeech_Stage1 ), combatant );
}
private void DoFocusedLeech_Stage1( object state )
{
Mobile combatant = (Mobile)state;
if ( this.CanBeHarmful( combatant ) )
{
this.MovingParticles( combatant, 0x36FA, 1, 0, false, false, 1108, 0, 9533, 1, 0, (EffectLayer)255, 0x100 );
this.MovingParticles( combatant, 0x0001, 1, 0, false, true, 1108, 0, 9533, 9534, 0, (EffectLayer)255, 0 );
this.PlaySound( 0x1FB );
Timer.DelayCall( TimeSpan.FromSeconds( 1.0 ), new TimerStateCallback( DoFocusedLeech_Stage2 ), combatant );
}
}
private void DoFocusedLeech_Stage2( object state )
{
Mobile combatant = (Mobile)state;
if ( this.CanBeHarmful( combatant ) )
{
combatant.MovingParticles( this, 0x36F4, 1, 0, false, false, 32, 0, 9535, 1, 0, (EffectLayer)255, 0x100 );
combatant.MovingParticles( this, 0x0001, 1, 0, false, true, 32, 0, 9535, 9536, 0, (EffectLayer)255, 0 );
this.PlaySound( 0x209 );
this.DoHarmful( combatant );
this.Hits += AOS.Damage( combatant, this, Utility.RandomMinMax( 30, 40 ) - (Core.AOS ? 0 : 10), 100, 0, 0, 0, 0 );
}
}
public override void OnThink()
{
if ( DateTime.Now >= m_NextAbilityTime )
{
Mobile combatant = this.Combatant;
if ( combatant != null && combatant.Map == this.Map && combatant.InRange( this, 12 ) )
{
m_NextAbilityTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 10, 15 ) );
int ability = Utility.Random( 4 );
switch ( ability )
{
case 0: DoFocusedLeech( combatant, "Yes! Give me all that lust!" ); break;
case 1: DoFocusedLeech( combatant, "I love you, so, I'll kill you!" ); break;
case 2: DoFocusedLeech( combatant, "You're mine, and mine alone!" ); break;
case 3: DoAreaLeech(); break;
}
}
}
base.OnThink();
}
public Lily( 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();
}
}
}
Icarus Dexer (i use this name for alot of my chars n various games..)
using System;
using Server.Items;
using Server;
using Server.Misc;
namespace Server.Mobiles
{
public class Icarus : BaseCreature
{
public static TimeSpan TalkDelay = TimeSpan.FromSeconds(2.0);
public DateTime m_NextTalk;
public override void OnMovement(Mobile m, Point3D oldLocation)
{
if (DateTime.Now >= m_NextTalk && InRange(m, 4) && !InRange(oldLocation, 4) && InLOS(m))
{
m_NextTalk = DateTime.Now + TalkDelay;
switch (Utility.Random(7))
{
case 0: Say("Lol! You think your a match for me?"); break;
case 1: Say("Just Die Already!"); break;
case 2: Say("Death will come quickly if you surrender!"); break;
case 3: Say("Foulish Player my wrath won't subside!"); break;
case 4: Say("Hahaha! Die! Die! Hahaha!"); break;
case 5: Say("Grr.."); break;
case 6: Say("I'll turn you into mince meat!"); break;
};
}
}
[Constructable]
public Icarus()
: base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Title = "The Elitist";
Name = "Icarus Dexer";
this.Body = 0x190;
Hue = 0x83F3;
SetStr(1000, 1200);
SetDex(300, 350);
SetInt(500, 650);
SetHits(10000, 11000);
SetDamage(27, 33);
SetSkill(SkillName.MagicResist, 75.1, 80.0);
SetSkill(SkillName.Tactics, 70.1, 90.0);
SetSkill(SkillName.Wrestling, 65.1, 80.0);
SetSkill(SkillName.Fencing, 100.0);
LunaLance weapon = new LunaLance();
weapon.Name = "Custimized Luna Lance";
weapon.Hue = 0x3C2;
weapon.Movable = false;
AddItem(weapon);
Aegis shield = new Aegis();
shield.Name = "Custimized Aegis";
shield.Hue = 0x3C2;
shield.Movable = false;
AddItem(shield);
PlateGloves gloves = new PlateGloves();
gloves.Hue = 0xE8;
gloves.Movable = false;
AddItem(gloves);
PlateChest chest = new PlateChest();
chest.Hue = 0xE8;
chest.Movable = false;
AddItem(chest);
PlateGorget neck = new PlateGorget();
neck.Hue = 0xE8;
neck.Movable = false;
AddItem(neck);
PlateArms arms = new PlateArms();
arms.Hue = 0xE8;
arms.Movable = false;
AddItem(arms);
PlateLegs legs = new PlateLegs();
legs.Hue = 0xE8;
legs.Movable = false;
AddItem(legs);
RewardRobe OuterTorso = new RewardRobe();
OuterTorso.Hue = 0x3C2;
OuterTorso.Movable = false;
AddItem(OuterTorso);
PlateHelm helm = new PlateHelm();
helm.Hue = 0xE8;
helm.Movable = false;
AddItem(helm);
Container pack = new Backpack();
pack.DropItem(new Gold(1200, 2000));
pack.Movable = false;
AddItem(pack);
}
public override bool ClickTitle { get { return false; } }
public override bool AlwaysMurderer { get { return true; } }
public Icarus(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();
}
}
}
icarus was spose to like keep saying those in his fight so far he only says it when u walk up to him...ill fix that later tho.