- house commit has inappropiate cost for certain parts
http://www.uodemise.com/forum/showthread.php?t=136453
- houses should not be placable on roads
http://www.uodemise.com/forum/showthread.php?t=139597
Bushido
- lightning strike should consume extra mana if player walks
http://www.uodemise.com/forum/showthread.php?t=127699
Weapons
- frenzied whirlwind should properly flag combatants.
http://www.uodemise.com/forum/showthread.php?t=138625
Magery
- PolyMorph should not turn the caster grey/criminal
http://www.uodemise.com/forum/showthread.php?t=116438
- Paralyze should interfere in casting paladin spells.
http://www.uodemise.com/forum/showthread.php?t=120742
Spellweaving
- Ethereal Voyage should not break when attempting to tame dragons, nightmares, etc.
http://www.uodemise.com/forum/showthread.php?t=135349
Misc
- refactor DrawRessource() to DrawResource()
http://www.uodemise.com/forum/showthread.php?t=127202
- random blood "spatter" itemid during combat: more visible blood.
http://www.uodemise.com/forum/showthread.php?t=140092
Taming
- Animal lore should check for skill modifiers when using lore on mobiles.
http://www.uodemise.com/forum/showthread.php?t=140658
Necromany
- Wraithform should allow push-through without stam loss always.
http://www.uodemise.com/forum/showthread.php?t=117126
- Wraithform mana leech should not lower the victim's mana + small cleanup to spellhelper.doleech()
http://www.uodemise.com/forum/showthread.php?t=120238
Chivalry
- Noble Sacrifice should work in houses. RunUO's does not.
http://www.uodemise.com/forum/showthread.php?t=122819
NCP Vendors
- Add necro regs for vendors to buy from players.
http://www.uodemise.com/forum/showthread.php?t=136435
81 lines
2.3 KiB
C#
81 lines
2.3 KiB
C#
using System;
|
|
using System.Collections;
|
|
using Server.Network;
|
|
using Server.Items;
|
|
using Server.Mobiles;
|
|
using Server.Targeting;
|
|
|
|
namespace Server.Spells.Bushido
|
|
{
|
|
public class LightningStrike : SamuraiMove
|
|
{
|
|
public LightningStrike()
|
|
{
|
|
}
|
|
|
|
public override int BaseMana{ get{ return 5; } }
|
|
public override double RequiredSkill{ get{ return 50.0; } }
|
|
|
|
public override TextDefinition AbilityMessage{ get{ return new TextDefinition( 1063167 ); } } // You prepare to strike quickly.
|
|
|
|
public override bool DelayedContext{ get{ return true; } }
|
|
|
|
public override int GetAccuracyBonus( Mobile attacker )
|
|
{
|
|
return 50;
|
|
}
|
|
|
|
public override bool Validate(Mobile from)
|
|
{
|
|
bool isValid=base.Validate(from);
|
|
if (isValid)
|
|
{
|
|
PlayerMobile ThePlayer = from as PlayerMobile;
|
|
ThePlayer.ExecutesLightningStrike = BaseMana;
|
|
}
|
|
return isValid;
|
|
}
|
|
|
|
public override bool IgnoreArmor( Mobile attacker )
|
|
{
|
|
double bushido = attacker.Skills[SkillName.Bushido].Value;
|
|
double criticalChance = (bushido * bushido) / 72000.0;
|
|
return ( criticalChance >= Utility.RandomDouble() );
|
|
}
|
|
|
|
public override bool OnBeforeSwing( Mobile attacker, Mobile defender )
|
|
{
|
|
/* no mana drain before actual hit */
|
|
bool enoughMana = CheckMana(attacker, false);
|
|
return Validate(attacker);
|
|
}
|
|
|
|
public override bool ValidatesDuringHit { get { return false; } }
|
|
|
|
public override void OnHit( Mobile attacker, Mobile defender, int damage )
|
|
{
|
|
ClearCurrentMove(attacker);
|
|
if (CheckMana(attacker, true))
|
|
{
|
|
attacker.SendLocalizedMessage(1063168); // You attack with lightning precision!
|
|
defender.SendLocalizedMessage(1063169); // Your opponent's quick strike causes extra damage!
|
|
defender.FixedParticles(0x3818, 1, 11, 0x13A8, 0, 0, EffectLayer.Waist);
|
|
defender.PlaySound(0x51D);
|
|
CheckGain(attacker);
|
|
SetContext(attacker);
|
|
}
|
|
}
|
|
|
|
public override void OnMiss( Mobile attacker, Mobile defender )
|
|
{
|
|
ClearCurrentMove( attacker );
|
|
SetContext( attacker );
|
|
}
|
|
|
|
public override void OnClearMove( Mobile attacker )
|
|
{
|
|
PlayerMobile ThePlayer = attacker as PlayerMobile; // this can be deletet if the PlayerMobile parts are moved to Server.Mobile
|
|
ThePlayer.ExecutesLightningStrike = 0;
|
|
}
|
|
}
|
|
}
|