public static LSProjectile Create(string projCode, LSAgent source, Vector3d offset, AllegianceType targetAllegiance, Func <LSAgent, bool> agentConditional, Action <LSAgent> hitEffect) { Vector2d relativePos = offset.ToVector2d(); Vector2d worldPos = relativePos.Rotated(source.Body.Rotation); Vector3d pos = new Vector3d(worldPos.x, worldPos.y, offset.z + source.Body.HeightPos); pos.Add(ref source.Body._position); return(Create(projCode, pos, agentConditional, (bite) => ((source.Controller.GetAllegiance(bite) & targetAllegiance) != 0), hitEffect)); }