public override void DoEffect(VisibleGameEntity _object) { base.DoEffect(_object); Projectile prjt = (Projectile)PlayerOwner.StateOwner._objectManagerArray[6].CreateObject(17); prjt.X = PlayerOwner.X; prjt.Y = PlayerOwner.Y; prjt.MinDamage = PlayerOwner.MinDamage / 5; prjt.MaxDamage = PlayerOwner.MaxDamage ; prjt.IsRemoveAfterEffect = false; prjt.LifeTime = 100; prjt.SkillOwner = this; LightningStrikeProjectileController lspc = new LightningStrikeProjectileController(); lspc.Owner = prjt; lspc.FlyingDirection = new Vector2(PlayerOwner.TargetSkillX - PlayerOwner.X, PlayerOwner.TargetSkillY - PlayerOwner.Y); float maxDim = Math.Abs(lspc.FlyingDirection.X) > Math.Abs(lspc.FlyingDirection.Y) ? Math.Abs(lspc.FlyingDirection.X): Math.Abs(lspc.FlyingDirection.Y); lspc.FlyingDirection = new Vector2(lspc.FlyingDirection.X / maxDim, lspc.FlyingDirection.Y / maxDim); prjt.ProjectileController = lspc; PlayerOwner.StateOwner._listProjectile.Add(prjt); }
public override void DoEffect(VisibleGameEntity _object) { base.DoEffect(_object); Projectile prjt = (Projectile)PlayerOwner.StateOwner._objectManagerArray[6].CreateObject(17); prjt.X = PlayerOwner.X; prjt.Y = PlayerOwner.Y; prjt.MinDamage = PlayerOwner.MinDamage / 5; prjt.MaxDamage = PlayerOwner.MaxDamage; prjt.IsRemoveAfterEffect = false; prjt.LifeTime = 100; prjt.SkillOwner = this; LightningStrikeProjectileController lspc = new LightningStrikeProjectileController(); lspc.Owner = prjt; lspc.FlyingDirection = new Vector2(PlayerOwner.TargetSkillX - PlayerOwner.X, PlayerOwner.TargetSkillY - PlayerOwner.Y); float maxDim = Math.Abs(lspc.FlyingDirection.X) > Math.Abs(lspc.FlyingDirection.Y) ? Math.Abs(lspc.FlyingDirection.X): Math.Abs(lspc.FlyingDirection.Y); lspc.FlyingDirection = new Vector2(lspc.FlyingDirection.X / maxDim, lspc.FlyingDirection.Y / maxDim); prjt.ProjectileController = lspc; PlayerOwner.StateOwner._listProjectile.Add(prjt); }