本文整理汇总了C#中GameLiving.StopCurrentSpellcast方法的典型用法代码示例。如果您正苦于以下问题:C# GameLiving.StopCurrentSpellcast方法的具体用法?C# GameLiving.StopCurrentSpellcast怎么用?C# GameLiving.StopCurrentSpellcast使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameLiving
的用法示例。
在下文中一共展示了GameLiving.StopCurrentSpellcast方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Start
public override void Start(GameLiving target)
{
base.Start(target);
owner = target;
GamePlayer player = target as GamePlayer;
if (player != null)
{
foreach (GamePlayer p in player.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE))
{
p.Out.SendSpellEffectAnimation(player, player, Icon, 0, false, 1);
}
}
GameEventMgr.AddHandler(target, GameLivingEvent.AttackedByEnemy, new DOLEventHandler(OnAttack));
//[StephenxPimentel]
//1.108 updates this so it no longer stuns, but silences.
//Rest of the code is now located in SpellHandler. (Line 617)
owner.StopCurrentSpellcast();
//owner.IsStunned = true;
//owner.StopAttack();
//owner.DisableTurning(true);
//if (player != null)
//{
// player.Out.SendUpdateMaxSpeed();
//}
//else
//{
// owner.CurrentSpeed = owner.MaxSpeed;
//}
}
示例2: Start
public override void Start(GameLiving target)
{
base.Start(target);
target.DisarmedTime = target.CurrentRegion.Time + m_duration;
target.SilencedTime = target.CurrentRegion.Time + m_duration;
target.StopAttack();
target.StopCurrentSpellcast();
}
示例3: OnDirectEffect
/// <summary>
/// execute non duration spell effect on target
/// </summary>
/// <param name="target"></param>
/// <param name="effectiveness"></param>
public override void OnDirectEffect(GameLiving target, double effectiveness)
{
base.OnDirectEffect(target, effectiveness);
if (target == null || !target.IsAlive)
return;
if (Caster.EffectList.GetOfType<MasteryofConcentrationEffect>() != null)
return;
//have to do it here because OnAttackedByEnemy is not called to not get aggro
if (target.Realm == 0 || Caster.Realm == 0)
target.LastAttackedByEnemyTickPvE = target.CurrentRegion.Time;
else target.LastAttackedByEnemyTickPvP = target.CurrentRegion.Time;
SendEffectAnimation(target, 0, false, 1);
if (target is GamePlayer)
{
((GamePlayer)target).NextCombatStyle = null;
((GamePlayer)target).NextCombatBackupStyle = null;
}
target.StopCurrentSpellcast(); //stop even if MoC or QC
MessageToLiving (target, "Your mind goes blank and you forget what you were doing!", eChatType.CT_Spell);
GameSpellEffect effect;
effect = SpellHandler.FindEffectOnTarget(target, "Mesmerize");
if (effect != null)
{
effect.Cancel(false);
return;
}
if (target is GameNPC)
{
GameNPC npc = (GameNPC)target;
IOldAggressiveBrain aggroBrain = npc.Brain as IOldAggressiveBrain;
if (aggroBrain != null)
{
if (Util.Chance(Spell.AmnesiaChance))
aggroBrain.ClearAggroList();
}
}
}
示例4: Start
public override void Start(GameLiving target)
{
base.Start(target);
owner = target;
foreach (GamePlayer p in target.GetPlayersInRadius(WorldMgr.VISIBILITY_DISTANCE))
{
p.Out.SendSpellEffectAnimation(target, target, 7042, 0, false, 1);
}
owner.IsStunned = true;
owner.StopAttack();
owner.StopCurrentSpellcast();
owner.DisableTurning(true);
GamePlayer player = owner as GamePlayer;
if (player != null)
{
player.Out.SendUpdateMaxSpeed();
}
else if(owner.CurrentSpeed > owner.MaxSpeed)
{
owner.CurrentSpeed = owner.MaxSpeed;
}
}