public static void DoPortalAim() { if (portalAimLine == null || !portalAimLine.IsValid) { portalAimLine = new SpellAimLine(); } Transform t = Camera.main.transform; var hits1 = Physics.RaycastAll(t.position, t.forward, portalCastMaxRange + 1f); foreach (var hit in hits1) { if (!hit.transform.CompareTag("enemyCollide") && hit.transform.root != LocalPlayer.Transform.root) { portalAimLine.UpdatePosition(t.position + Vector3.down * 2, hit.point - t.forward + Vector3.up); return; } } portalAimLine.UpdatePosition(t.position + Vector3.down * 2, LocalPlayer.Transform.position + t.forward * portalCastMaxRange); }
public static void DoBlinkAim() { if (blinkAim == null || !blinkAim.IsValid) { blinkAim = new SpellAimLine(); } Transform t = Camera.main.transform; var hits1 = Physics.RaycastAll(t.position, t.forward, ModdedPlayer.Stats.spell_blinkRange + 1f); foreach (var hit in hits1) { if (!hit.transform.CompareTag("enemyCollide") && hit.transform.root != LocalPlayer.Transform.root) { blinkAim.UpdatePosition(t.position + Vector3.down * 2, hit.point - t.forward + Vector3.up * 0.25f); return; } } blinkAim.UpdatePosition(t.position + Vector3.down * 2, LocalPlayer.Transform.position + t.forward * ModdedPlayer.Stats.spell_blinkRange); }