Files
Cielonos/Assets/Scripts/MainGame/Items/MainWeapons/FutureWand/FutureWand_AnimationCallbacks.cs
SoulliesOfficial 9a9e48f8a5
2026-06-27 12:52:03 -04:00

63 lines
2.6 KiB
C#

using System.Collections.Generic;
using Cielonos.MainGame.Characters;
using SLSUtilities.FunctionalAnimation;
using UnityEngine;
namespace Cielonos.MainGame.Inventory.Collections
{
public partial class FutureWand
{
private void FAPF_GenerateLightning(RuntimeFuncAnim rtFuncAnim)
{
CustomFunction.PC_StringString p = rtFuncAnim.GetParams<CustomFunction.PC_StringString>();
List<Enemy> targets = CombatManager.EnemySm.GetEnemiesInRadius(player.transform.position, 25f);
foreach (Enemy target in targets)
{
GenerateLightning(p.str0, attackData[p.str1], target);
}
}
private void FAPF_GenerateBoltOnWand(RuntimeFuncAnim rtFuncAnim)
{
CustomFunction.PC_StringStringFloat p = rtFuncAnim.GetParams<CustomFunction.PC_StringStringFloat>();
GenerateProjectile(p.str0, attackData[p.str1], currentTarget, p.float0);
}
private void FAPF_GenerateBoltOnHand(RuntimeFuncAnim rtFuncAnim)
{
CustomFunction.PC_StringStringFloat p = rtFuncAnim.GetParams<CustomFunction.PC_StringStringFloat>();
GenerateProjectile(p.str0, attackData[p.str1], currentTarget, p.float0, true, player.bodyPartsSc.leftHand);
}
private void FAPF_GenerateUltimateBeam(RuntimeFuncAnim rtFuncAnim)
{
CustomFunction.PC_StringString p = rtFuncAnim.GetParams<CustomFunction.PC_StringString>();
GenerateUltimateBeam(p.str0, attackData[p.str1]);
}
private void FAPF_GenerateGroundArea(RuntimeFuncAnim rtFuncAnim)
{
CustomFunction.PC_StringString p = rtFuncAnim.GetParams<CustomFunction.PC_StringString>();
GenerateGroundArea(p.str0, attackData[p.str1]);
}
private void FAPF_GenerateSpinArea(RuntimeFuncAnim rtFuncAnim)
{
CustomFunction.PC_StringString p = rtFuncAnim.GetParams<CustomFunction.PC_StringString>();
GenerateSpinArea(p.str0, attackData[p.str1]);
}
private void FAPF_GenerateMultipleBolts(RuntimeFuncAnim rtFuncAnim)
{
CustomFunction.PC_StringStringFloat p = rtFuncAnim.GetParams<CustomFunction.PC_StringStringFloat>();
List<Enemy> targets = CombatManager.EnemySm.GetEnemiesInRadius(player.transform.position, 25f);
if (targets.Count > 0) vfxData.SpawnMuzzleVFX(p.str0, player, Muzzle);
foreach (Enemy target in targets)
{
GenerateProjectile(p.str0, attackData[p.str1], target, p.float0, false);
}
}
}
}