69 lines
2.2 KiB
C#
69 lines
2.2 KiB
C#
using System;
|
|
|
|
namespace Server.Mobiles;
|
|
|
|
public class GraspingClaw : MonsterAbilitySingleTargetDoT
|
|
{
|
|
public override MonsterAbilityType AbilityType => MonsterAbilityType.GraspingClaw;
|
|
public override MonsterAbilityTrigger AbilityTrigger => MonsterAbilityTrigger.GiveMeleeDamage;
|
|
public override double ChanceToTrigger => 0.10;
|
|
|
|
private const string Name = "GraspingClaw";
|
|
|
|
protected override void OnBeforeTarget(MonsterAbilityTrigger trigger, BaseCreature source, Mobile defender)
|
|
{
|
|
if (RemoveEffect(source, defender))
|
|
{
|
|
defender.SendLocalizedMessage(1070837); // The creature lands another blow in your weakened state.
|
|
}
|
|
else
|
|
{
|
|
// The blow from the creature's claws has made you more susceptible to physical attacks.
|
|
defender.SendLocalizedMessage(1070836);
|
|
}
|
|
}
|
|
|
|
protected override void OnTarget(MonsterAbilityTrigger trigger, BaseCreature source, Mobile defender)
|
|
{
|
|
base.OnTarget(trigger, source, defender);
|
|
|
|
/**
|
|
* Grasping Claw
|
|
* Start cliloc: 1070836
|
|
* Effect: Physical resistance -15% for 5 seconds
|
|
* Refresh Cliloc: 1070837
|
|
* End cliloc: 1070838
|
|
* Graphic:
|
|
* - Type: "3"
|
|
* - From: Player
|
|
* - To: 0x0
|
|
* - ItemId: "0x37B9"
|
|
* - ItemIdName: "glow"
|
|
* - FromLocation: "(1149 808, 32)"
|
|
* - ToLocation: "(1149 808, 32)"
|
|
* - Speed: "10" - Duration: "5"
|
|
* - FixedDirection: "True"
|
|
* - Explode: "False"
|
|
*/
|
|
|
|
source.DoHarmful(defender);
|
|
var mod = new ResistanceMod(ResistanceType.Physical, Name, -(defender.PhysicalResistance * 15 / 100));
|
|
defender.AddResistanceMod(mod);
|
|
|
|
defender.FixedEffect(0x37B9, 10, 5);
|
|
}
|
|
|
|
protected override void EffectTick(BaseCreature source, Mobile defender, ref TimeSpan nextDelay)
|
|
{
|
|
}
|
|
|
|
protected override void EndEffect(BaseCreature source, Mobile defender)
|
|
{
|
|
defender.RemoveResistanceMod(Name);
|
|
}
|
|
|
|
protected override void OnEffectExpired(BaseCreature source, Mobile defender)
|
|
{
|
|
defender.SendLocalizedMessage(1070838); // Your resistance to physical attacks has returned.
|
|
}
|
|
}
|