public override Projectile generateProjectiles(Vector2 origin, Spell spell, GameHandler game, Entity target, Entity owner) { Vector2 dir; if (target != null) { dir = target.pos - origin; } else { dir = game.posFromScreenPos(Main.newMouseState.Position.ToVector2()) - origin; //dir = game.player.dir.Vector(); } dir.Normalize(); ProjectileStream projReturn = new ProjectileStream(spell, game, target, owner); float maxMult = projReturn.ProcessCollision(origin, dir * length); float mult; for (int i = 0; i < partCount; i++) { mult = (float)random.NextDouble(); if (mult < maxMult) { projReturn.addProjectile(origin + dir * length * mult); } } return(projReturn); }
public override Projectile generateProjectiles(Vector2 origin, Spell spell, GameHandler game, Entity target, Entity owner) { Vector2 dir; if (target != null) { dir = target.pos - origin; } else { dir = game.posFromScreenPos(Main.newMouseState.Position.ToVector2()) - origin;//dir = game.player.dir.Vector(); } dir.Normalize(); ProjectileStream projReturn = new ProjectileStream(spell, game, target, owner); float maxMult = projReturn.ProcessCollision(origin, dir * length); float mult; for (int i = 0; i < partCount; i++) { mult = (float)random.NextDouble(); if (mult < maxMult) { projReturn.addProjectile(origin + dir * length * mult); } } return projReturn; }