#W# Source and Scripts added. Added Scripts/Settings.cs to expose some basic tweak able settings.
This commit is contained in:
parent
b51c58f514
commit
3045c83799
3512 changed files with 627673 additions and 0 deletions
77
Scripts/Spells/Bushido/MomentumStrike.cs
Normal file
77
Scripts/Spells/Bushido/MomentumStrike.cs
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Server.Network;
|
||||
using Server.Items;
|
||||
using Server.Mobiles;
|
||||
using Server.Targeting;
|
||||
|
||||
namespace Server.Spells.Bushido
|
||||
{
|
||||
public class MomentumStrike : SamuraiMove
|
||||
{
|
||||
public MomentumStrike()
|
||||
{
|
||||
}
|
||||
|
||||
public override int BaseMana{ get{ return 10; } }
|
||||
public override double RequiredSkill{ get{ return 70.0; } }
|
||||
|
||||
public override TextDefinition AbilityMessage{ get{ return new TextDefinition( 1070757 ); } } // You prepare to strike two enemies with one blow.
|
||||
|
||||
public override void OnHit( Mobile attacker, Mobile defender, int damage )
|
||||
{
|
||||
if ( !Validate( attacker ) || !CheckMana( attacker, false ) )
|
||||
return;
|
||||
|
||||
ClearCurrentMove( attacker );
|
||||
|
||||
BaseWeapon weapon = attacker.Weapon as BaseWeapon;
|
||||
|
||||
List<Mobile> targets = new List<Mobile>();
|
||||
|
||||
foreach ( Mobile m in attacker.GetMobilesInRange( weapon.MaxRange ) )
|
||||
{
|
||||
if ( m == defender )
|
||||
continue;
|
||||
|
||||
if ( m.Combatant != attacker )
|
||||
continue;
|
||||
|
||||
targets.Add( m );
|
||||
}
|
||||
|
||||
if ( targets.Count > 0 )
|
||||
{
|
||||
if ( !CheckMana( attacker, true ) )
|
||||
return;
|
||||
|
||||
Mobile target = targets[Utility.Random( targets.Count )];
|
||||
|
||||
double damageBonus = attacker.Skills[SkillName.Bushido].Value / 100.0;
|
||||
|
||||
if ( !defender.Alive )
|
||||
damageBonus *= 1.5;
|
||||
|
||||
attacker.SendLocalizedMessage( 1063171 ); // You transfer the momentum of your weapon into another enemy!
|
||||
target.SendLocalizedMessage( 1063172 ); // You were hit by the momentum of a Samurai's weapon!
|
||||
|
||||
target.FixedParticles( 0x37B9, 1, 4, 0x251D, 0, 0, EffectLayer.Waist );
|
||||
|
||||
attacker.PlaySound( 0x510 );
|
||||
|
||||
weapon.OnSwing( attacker, target, damageBonus );
|
||||
|
||||
CheckGain( attacker );
|
||||
}
|
||||
else
|
||||
{
|
||||
attacker.SendLocalizedMessage( 1063123 ); // There are no valid targets to attack!
|
||||
}
|
||||
}
|
||||
|
||||
public override void CheckGain( Mobile m )
|
||||
{
|
||||
m.CheckSkill( MoveSkill, RequiredSkill, 120.0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue