MusicBeat
This commit is contained in:
@@ -113,9 +113,9 @@ namespace Cielonos.MainGame.Inventory.Collections
|
||||
private void FAPF_GenerateMultipleBolts(RuntimeFuncAnim rtFuncAnim)
|
||||
{
|
||||
CustomFunction.PC_StringStringFloat p = rtFuncAnim.GetParams<CustomFunction.PC_StringStringFloat>();
|
||||
List<CharacterBase> targets = CombatManager.EnemySm.GetEnemiesInRadius(player.transform.position, 25f);
|
||||
List<Enemy> targets = CombatManager.EnemySm.GetEnemiesInRadius(player.transform.position, 25f);
|
||||
if (targets.Count > 0) vfxData.SpawnMuzzleVFX(p.str0, player, muzzle);
|
||||
foreach (CharacterBase target in targets)
|
||||
foreach (Enemy target in targets)
|
||||
{
|
||||
GenerateProjectile(p.str0, attackData[p.str1], target, p.float0, false);
|
||||
}
|
||||
@@ -149,7 +149,7 @@ namespace Cielonos.MainGame.Inventory.Collections
|
||||
.SetAttackSubmodule<Projectile>(attackUnit)
|
||||
.SetTimeSubmodule<Projectile>(10f)
|
||||
.SetHitSubmodule<Projectile>()
|
||||
.SetAdaptiveTraceMoveModule<Projectile>(target, speed, 5f, 20f, 20f, direction, detectRadius: 25f)
|
||||
.SetAdaptiveTraceMoveModule<Projectile>(target, speed, 5f, 180f, 30f, direction, detectRadius: 25f)
|
||||
.SetRaycastSubmodule<Projectile>(default, 0.25f, 0.5f);
|
||||
|
||||
if (vfxName == "NormalBolt")
|
||||
@@ -170,6 +170,26 @@ namespace Cielonos.MainGame.Inventory.Collections
|
||||
{
|
||||
new Fusion(fusionStack).Apply(enemy);
|
||||
SubscribeFusionExplode(enemy);
|
||||
|
||||
if (!projectile.tags.Contains("Separation") && HasExtender<MissileSeparationMembrane>())
|
||||
{
|
||||
List<Enemy> nearbyEnemies = CombatManager.EnemySm.GetEnemiesInRadius(hitPosition, 25f).Exclude(enemy as Enemy);
|
||||
|
||||
if (nearbyEnemies.Count > 0)
|
||||
{
|
||||
Projectile separation = vfxData.SpawnVFX(vfxName, player, hitPosition, Quaternion.identity).GetComponentInChildren<Projectile>();
|
||||
nearbyEnemies.TryGetRandom(out Enemy randomTarget);
|
||||
Vector3 sepDirection = (randomTarget.centerPoint.position - hitPosition).normalized;
|
||||
separation.Initialize(player, this, false, 1, Fraction.Enemy)
|
||||
.SetAttackSubmodule<Projectile>(attackUnit)
|
||||
.SetTimeSubmodule<Projectile>(10f)
|
||||
.SetHitSubmodule<Projectile>()
|
||||
.SetLinearDirectionMoveModule<Projectile>(sepDirection, speed, 5f);
|
||||
separation.tags.Add("Separation");
|
||||
separation.hitSm.AddCheckedObject(enemy.gameObject);
|
||||
separation.SetRaycastSubmodule<Projectile>(default, 0.25f, 0.5f);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -177,20 +197,26 @@ namespace Cielonos.MainGame.Inventory.Collections
|
||||
{
|
||||
vfxData.SpawnMuzzleVFX(vfxName, player, muzzle);
|
||||
NormalArea area = vfxData.SpawnVFX(vfxName, player).GetComponentInChildren<NormalArea>();
|
||||
|
||||
area.Initialize<NormalArea>(player, this, Fraction.Enemy)
|
||||
.SetAttackSubmodule<NormalArea>(attackUnit)
|
||||
.SetTimeSubmodule<NormalArea>(3f, 0.2f, 0.8f)
|
||||
.SetHitSubmodule<NormalArea>(0.1f, 4);
|
||||
area.SetImpulseSubmodule().WithSuction(4f);
|
||||
area.hitSm.AddHitSound(AK.EVENTS.FUTUREWAND_WEAKATTACKHIT);
|
||||
AudioManager.Post(AK.EVENTS.FUTUREWAND_GROUNDAREA, area.gameObject);
|
||||
|
||||
if (HasExtender<BlackHoleDisplacer>()) //扩展器测试
|
||||
if (!HasExtender<BlackHoleDisplacer>())
|
||||
{
|
||||
area.SetLinearDirectionMoveModule<NormalArea>(player.transform.forward, 0f, 25f, false, true, false);
|
||||
area.Initialize<NormalArea>(player, this, Fraction.Enemy)
|
||||
.SetAttackSubmodule<NormalArea>(attackUnit)
|
||||
.SetTimeSubmodule<NormalArea>(3f, 0.2f, 0.8f)
|
||||
.SetHitSubmodule<NormalArea>(0.1f, 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
area.Initialize<NormalArea>(player, this, Fraction.Enemy)
|
||||
.SetAttackSubmodule<NormalArea>(attackUnit)
|
||||
.SetTimeSubmodule<NormalArea>(3f, 0.1f, 0.9f)
|
||||
.SetHitSubmodule<NormalArea>(0.1f, 8)
|
||||
.SetLinearDirectionMoveModule<NormalArea>(player.transform.forward, 25f, -50f, false, false, false);
|
||||
}
|
||||
|
||||
area.SetImpulseSubmodule().WithSuction(4f);
|
||||
area.hitSm.AddHitSound(AK.EVENTS.FUTUREWAND_WEAKATTACKHIT);
|
||||
int fusionStack = attackUnit.GetSubmodule<AttackUnit.ParameterSubmodule>().GetParameter<int>("Buff_Fusion_Stack");
|
||||
area.hitSm.AddHitEvent((enemy, hitPosition) =>
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user