This commit is contained in:
parent
57b345a480
commit
68d742d262
28 changed files with 432 additions and 193 deletions
|
|
@ -371,7 +371,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
get
|
||||
{
|
||||
return TimeSpan.FromSeconds( ((m_Mount.IsDonationItem && RewardSystem.GetRewardLevel( m_Rider ) < 3)? ( 7.5 + ( Core.AOS ? 2.0 : 3.0)) : ( Core.AOS ? 2.0 : 3.0)) );
|
||||
return TimeSpan.FromSeconds( ((m_Mount.IsDonationItem && RewardSystem.GetRewardLevel( m_Rider ) < 3)? ( 7.5 + ( Core.AOS ? 3.0 : 2.0)) : ( Core.AOS ? 3.0 : 2.0)) );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Items;
|
||||
using Server.Spells;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
|
|
@ -12,9 +13,8 @@ namespace Server.Mobiles
|
|||
{
|
||||
return WeaponAbility.CrushingBlow;
|
||||
}
|
||||
|
||||
[Constructable]
|
||||
public DeathwatchBeetle() : base( AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
public DeathwatchBeetle() : base( AIType.AI_Melee, Core.ML ? FightMode.Aggressor : FightMode.Closest, 10, 1, 0.2, 0.4 )
|
||||
{
|
||||
Name = "a deathwatch beetle";
|
||||
Body = 242;
|
||||
|
|
@ -30,7 +30,6 @@ namespace Server.Mobiles
|
|||
|
||||
SetDamageType( ResistanceType.Physical, 100 );
|
||||
|
||||
|
||||
SetResistance( ResistanceType.Physical, 35, 40 );
|
||||
SetResistance( ResistanceType.Fire, 15, 30 );
|
||||
SetResistance( ResistanceType.Cold, 15, 30 );
|
||||
|
|
@ -53,7 +52,6 @@ namespace Server.Mobiles
|
|||
case 3: PackItem( new LeatherLegs() ); break;
|
||||
case 4: PackItem( new LeatherCap() ); break;
|
||||
case 5: PackItem( new LeatherChest() ); break;
|
||||
|
||||
}
|
||||
|
||||
if ( Utility.RandomDouble() < .5 )
|
||||
|
|
@ -95,15 +93,40 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Potions, 1 );
|
||||
}
|
||||
|
||||
public override int Feathers{ get{ return 50; } }
|
||||
public override int Meat{ get{ return 1; } }
|
||||
public override void AlterMeleeDamageTo( Mobile to, ref int damage )
|
||||
{
|
||||
if ( Utility.RandomBool() && (this.Mana > 14) && to != null )
|
||||
{
|
||||
damage = (damage + (damage / 2));
|
||||
to.SendLocalizedMessage( 1060091 ); // You take extra damage from the crushing attack!
|
||||
to.PlaySound( 0x1E1 );
|
||||
to.FixedParticles( 0x377A, 1, 32, 0x26da, 0, 0, 0 );
|
||||
Mana -= 15;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Death spit: 0x118
|
||||
* Effect: source.MovingParticles( m, 0x36D4, 1, 0, false, false, 0x3F, 0, 0x1F73, 1, 0, 255, 0x100 );
|
||||
* Message: 1070821
|
||||
*/
|
||||
public override void OnDamage( int amount, Mobile from, bool willKill )
|
||||
{
|
||||
Mobile combatant = Combatant;
|
||||
|
||||
if ( combatant == null || combatant.Deleted || combatant.Map != Map || !InRange( combatant, 12 ) || !CanBeHarmful( combatant ) || !InLOS( combatant ) )
|
||||
return;
|
||||
|
||||
if( Utility.Random( 10 ) == 0 )
|
||||
PoisonAttack( combatant );
|
||||
|
||||
base.OnDamage( amount, from, willKill );
|
||||
}
|
||||
|
||||
public void PoisonAttack( Mobile m )
|
||||
{
|
||||
DoHarmful( m );
|
||||
this.MovingParticles( m, 0x36D4, 1, 0, false, false, 0x3F, 0, 0x1F73, 1, 0, (EffectLayer)255, 0x100 );
|
||||
m.ApplyPoison( this, Poison.Regular );
|
||||
m.SendLocalizedMessage( 1070821, this.Name ); // %s spits a poisonous substance at you!
|
||||
}
|
||||
|
||||
public override int Hides{ get{ return 8; } }
|
||||
public DeathwatchBeetle( Serial serial ) : base( serial )
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
using Server.Network;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
|
|
@ -19,6 +20,8 @@ namespace Server.Mobiles
|
|||
SetDex( 51, 75 );
|
||||
SetInt( 41, 55 );
|
||||
|
||||
SetMana ( 30 );
|
||||
|
||||
SetHits( 151, 180 );
|
||||
|
||||
SetDamage( 6, 12 );
|
||||
|
|
@ -48,8 +51,6 @@ namespace Server.Mobiles
|
|||
case 2: PackItem( new Axle() ); break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -59,18 +60,6 @@ namespace Server.Mobiles
|
|||
AddLoot( LootPack.Meager );
|
||||
AddLoot( LootPack.Average );
|
||||
}
|
||||
|
||||
public override int Meat{ get{ return 1; } }
|
||||
public override int Hides{ get{ return 10; } }
|
||||
public override HideType HideType{ get{ return HideType.Spined; } }
|
||||
|
||||
// TODO: Soul Sap
|
||||
/*
|
||||
* Message: 1070820
|
||||
* Spits pool of acid (blood, hue 0x3F), hits lost 6-10 per second/step
|
||||
* Damage is resistable (physical)
|
||||
* Acid last 10 seconds
|
||||
*/
|
||||
|
||||
public override int GetAngerSound()
|
||||
{
|
||||
|
|
@ -101,12 +90,13 @@ namespace Server.Mobiles
|
|||
{
|
||||
base.OnGaveMeleeAttack (defender);
|
||||
|
||||
if ( 0.1 > Utility.RandomDouble() )
|
||||
if ( Utility.RandomBool() )
|
||||
{
|
||||
if ( !IsBeingDrained( defender ) )
|
||||
if ( !IsBeingDrained( defender ) && Mana > 14)
|
||||
{
|
||||
defender.SendLocalizedMessage( 1070848 ); // You feel your life force being stolen away.
|
||||
BeginLifeDrain( defender, this );
|
||||
Mana-=15;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -135,7 +125,7 @@ namespace Server.Mobiles
|
|||
{
|
||||
if ( m.Alive )
|
||||
{
|
||||
int damageGiven = AOS.Damage( m, from, 5, 100, 0, 0, 0, 0 );
|
||||
int damageGiven = AOS.Damage( m, from, 5, 0, 0, 0, 0, 100 );
|
||||
|
||||
from.Hits += damageGiven;
|
||||
}
|
||||
|
|
@ -157,14 +147,33 @@ namespace Server.Mobiles
|
|||
m.SendLocalizedMessage( 1070849 ); // The drain on your life force is gone.
|
||||
}
|
||||
|
||||
/*
|
||||
public override bool OnBeforeDeath()
|
||||
public override void OnDamage( int amount, Mobile from, bool willKill )
|
||||
{
|
||||
SpillAcid( 1, 4, 10, 6, 10 );
|
||||
|
||||
return base.OnBeforeDeath();
|
||||
if ( from != null && from.Map != null )
|
||||
{
|
||||
int amt=0;
|
||||
Mobile target = this;
|
||||
int rand = Utility.Random( 1, 100 );
|
||||
if ( willKill )
|
||||
{
|
||||
amt = ((( rand % 5 ) >> 2 ) + 3);
|
||||
}
|
||||
if ( ( Hits < 100 ) && ( rand < 21 ) )
|
||||
{
|
||||
target = ( rand % 2 ) < 1 ? this : from;
|
||||
amt++;
|
||||
}
|
||||
if ( amt > 0 )
|
||||
{
|
||||
SpillAcid( target, amt, "slime" );
|
||||
from.SendLocalizedMessage( 1070820 );
|
||||
if ( Mana > 14)
|
||||
Mana -= 15;
|
||||
amt ^= amt;
|
||||
}
|
||||
}
|
||||
base.OnDamage( amount, from, willKill );
|
||||
}
|
||||
*/
|
||||
|
||||
public Kappa( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2864,6 +2864,20 @@ namespace Server.Mobiles
|
|||
list.Add( 1060776, "{0}\t{1}", pl.Rank.Title, faction.Definition.PropName ); // ~1_val~, ~2_val~
|
||||
}
|
||||
}
|
||||
|
||||
if ( Core.ML )
|
||||
{
|
||||
for ( int i = AllFollowers.Count - 1; i >= 0; i-- )
|
||||
{
|
||||
BaseCreature c = AllFollowers[ i ] as BaseCreature;
|
||||
|
||||
if ( c != null && c.ControlOrder == OrderType.Guard )
|
||||
{
|
||||
list.Add( 501129 ); // guarded
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnSingleClick( Mobile from )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue