本文整理汇总了C#中GameLiving.GetPointFromHeading方法的典型用法代码示例。如果您正苦于以下问题:C# GameLiving.GetPointFromHeading方法的具体用法?C# GameLiving.GetPointFromHeading怎么用?C# GameLiving.GetPointFromHeading使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameLiving
的用法示例。
在下文中一共展示了GameLiving.GetPointFromHeading方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ApplyEffectOnTarget
/// <summary>
/// Apply effect on target or do spell action if non duration spell
/// </summary>
/// <param name="target">target that gets the effect</param>
/// <param name="effectiveness">factor from 0..1 (0%-100%)</param>
public override void ApplyEffectOnTarget(GameLiving target, double effectiveness)
{
GamePlayer player = Caster as GamePlayer;
if (player == null)
{
return;
}
INpcTemplate template = NpcTemplateMgr.GetTemplate(Spell.LifeDrainReturn);
if (template == null)
{
if (log.IsWarnEnabled)
log.WarnFormat("NPC template {0} not found! Spell: {1}", Spell.LifeDrainReturn, Spell.ToString());
MessageToCaster("NPC template " + Spell.LifeDrainReturn + " not found!", eChatType.CT_System);
return;
}
Point2D summonloc;
beffect = CreateSpellEffect(target, effectiveness);
{
summonloc = target.GetPointFromHeading( target.Heading, 64 );
BrittleBrain controlledBrain = new BrittleBrain(player);
controlledBrain.IsMainPet = false;
summoned = new GameNPC(template);
summoned.SetOwnBrain(controlledBrain);
summoned.X = summonloc.X;
summoned.Y = summonloc.Y;
summoned.Z = target.Z;
summoned.CurrentRegion = target.CurrentRegion;
summoned.Heading = (ushort)((target.Heading + 2048) % 4096);
summoned.Realm = target.Realm;
summoned.CurrentSpeed = 0;
summoned.Level = 1;
summoned.Size = 10;
summoned.AddToWorld();
controlledBrain.AggressionState = eAggressionState.Passive;
GameEventMgr.AddHandler(summoned, GameLivingEvent.Dying, new DOLEventHandler(GuardDie));
beffect.Start(Caster);
}
}