#17 모래두더지 셀프 스턴 기능 추가
+ SingleRoll 로직 수정 (간헐적으로 무한루프에 빠져서 멈추는 경우가 있었는데, 지금도 있는지 계속 해봐야 암) + StunParticle Stop() + Clear()로 스턴이 끝나면 즉시 파티클 종료
This commit is contained in:
parent
d27ac0918b
commit
2ff8c0bdbf
43
Assets/02.Scripts/BehaviorTree/Enemy/Boss/Action/SelfStun.cs
Normal file
43
Assets/02.Scripts/BehaviorTree/Enemy/Boss/Action/SelfStun.cs
Normal file
@ -0,0 +1,43 @@
|
||||
using System;
|
||||
using BehaviorDesigner.Runtime.Tasks;
|
||||
using BlueWater.Interfaces;
|
||||
using UnityEngine;
|
||||
using Action = BehaviorDesigner.Runtime.Tasks.Action;
|
||||
|
||||
namespace BlueWater.BehaviorTrees.Enemies.Bosses.Actions
|
||||
{
|
||||
[TaskCategory("Custom/Enemy/Boss")]
|
||||
[Serializable]
|
||||
public class SelfStun : Action
|
||||
{
|
||||
[SerializeField]
|
||||
private float _stunDuration = 4f;
|
||||
|
||||
private IStunnable _iStunnable;
|
||||
private float _elapsedTime;
|
||||
|
||||
public override void OnAwake()
|
||||
{
|
||||
_iStunnable = transform.GetComponent<IStunnable>();
|
||||
}
|
||||
|
||||
public override void OnStart()
|
||||
{
|
||||
_iStunnable?.Stun(_stunDuration);
|
||||
_elapsedTime = 0f;
|
||||
}
|
||||
|
||||
public override TaskStatus OnUpdate()
|
||||
{
|
||||
if (_iStunnable == null)
|
||||
{
|
||||
Debug.Log("_iStunnable을 찾을 수 없습니다.");
|
||||
return TaskStatus.Success;
|
||||
}
|
||||
|
||||
_elapsedTime += Time.deltaTime;
|
||||
|
||||
return _elapsedTime <= _stunDuration ? TaskStatus.Running : TaskStatus.Success;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e5dcd9d551db35d4994686aa9fb56067
|
||||
timeCreated: 1717197290
|
@ -1,4 +1,5 @@
|
||||
using BlueWater.Maps;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BlueWater.Enemies.Bosses.SandMole
|
||||
@ -17,6 +18,8 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
||||
// Variables
|
||||
#region Variables
|
||||
|
||||
[field: SerializeField, Required]
|
||||
public SandMoleStatus SandMoleStatus { get; private set; }
|
||||
public SandMoleData SandMoleData { get; private set; }
|
||||
public BossMapController BossMapController { get; private set; }
|
||||
|
||||
@ -66,7 +69,8 @@ namespace BlueWater.Enemies.Bosses.SandMole
|
||||
protected override void InitializeComponents()
|
||||
{
|
||||
base.InitializeComponents();
|
||||
|
||||
|
||||
SandMoleStatus = GetComponent<SandMoleStatus>();
|
||||
SandMoleData = BossData as SandMoleData;
|
||||
BossMapController = MapManager.Instance.SandMoleMapController;
|
||||
}
|
||||
|
@ -0,0 +1,44 @@
|
||||
using BlueWater.Interfaces;
|
||||
using BlueWater.Utility;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
namespace BlueWater.Enemies.Bosses.SandMole
|
||||
{
|
||||
public class SandMoleStatus : MonoBehaviour, IStunnable
|
||||
{
|
||||
// Variables
|
||||
#region Variables
|
||||
|
||||
// Stun
|
||||
[Title("기절 효과")]
|
||||
[SerializeField]
|
||||
private ParticleSystem _stunParticle;
|
||||
|
||||
public bool IsStunned { get; private set; }
|
||||
|
||||
private Coroutine _stunCoolDownCoroutine;
|
||||
|
||||
#endregion
|
||||
|
||||
// Stun
|
||||
public void Stun(float duration)
|
||||
{
|
||||
IsStunned = true;
|
||||
if (_stunParticle)
|
||||
{
|
||||
_stunParticle.Play();
|
||||
}
|
||||
|
||||
Utils.StartUniqueCoroutine(this, ref _stunCoolDownCoroutine, Utils.CoolDownCoroutine(duration, EndStun));
|
||||
}
|
||||
|
||||
public void EndStun()
|
||||
{
|
||||
Utils.EndUniqueCoroutine(this, ref _stunCoolDownCoroutine);
|
||||
_stunParticle.Stop();
|
||||
_stunParticle.Clear();
|
||||
IsStunned = false;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9aa905dd159cefc4cbeb417c688b9639
|
@ -241,6 +241,7 @@ namespace BlueWater.Players.Combat
|
||||
if (iDamageable != null)
|
||||
{
|
||||
iDamageable.TakeDamage(ComboAttacks[comboAttackCount - 1].Damage);
|
||||
// TODO : Collider에 따라 잘 안보이는 경우가 있음
|
||||
var closestPoint = hitCollider.ClosestPoint(transform.position);
|
||||
//var spawnPosition = closestPoint + Random.insideUnitSphere * 0.2f;
|
||||
Instantiate(_swordAttackParticle, closestPoint, Quaternion.identity);
|
||||
|
@ -79,6 +79,7 @@ namespace BlueWater.Players.Combat
|
||||
{
|
||||
Utils.EndUniqueCoroutine(this, ref _stunCoolDownCoroutine);
|
||||
_stunParticle.Stop();
|
||||
_stunParticle.Clear();
|
||||
OnEndStun?.Invoke();
|
||||
IsStunned = false;
|
||||
}
|
||||
|
@ -26,6 +26,9 @@ MonoBehaviour:
|
||||
<WallLayer>k__BackingField:
|
||||
serializedVersion: 2
|
||||
m_Bits: 128
|
||||
<GroundLayer>k__BackingField:
|
||||
serializedVersion: 2
|
||||
m_Bits: 64
|
||||
<RollSpeed>k__BackingField: 40
|
||||
<PushPower>k__BackingField: 8
|
||||
<AirJumpForce>k__BackingField: 3
|
||||
|
@ -8,6 +8,9 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
[field: SerializeField]
|
||||
public LayerMask WallLayer { get; private set; }
|
||||
|
||||
[field: SerializeField]
|
||||
public LayerMask GroundLayer { get; private set; }
|
||||
|
||||
[field: SerializeField, Tooltip("초당 돌진 속도")]
|
||||
public float RollSpeed { get; private set; } = 15f;
|
||||
|
||||
|
@ -88,9 +88,9 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
|
||||
private bool IsPositionValid(Vector3 position)
|
||||
{
|
||||
var isOnGroundLayer = Physics.Raycast(position + Vector3.up, Vector3.down, 5f, _gateOfSpikesData.GroundLayer);
|
||||
var isGrounded = Physics.Raycast(position + Vector3.up, Vector3.down, 5f, _gateOfSpikesData.GroundLayer);
|
||||
|
||||
return isOnGroundLayer && _spikes.All(element => !(Vector3.Distance(position, element) < _gateOfSpikesData.MinDistanceBetweenAttacks));
|
||||
return isGrounded && _spikes.All(element => !(Vector3.Distance(position, element) < _gateOfSpikesData.MinDistanceBetweenAttacks));
|
||||
}
|
||||
|
||||
private void EndSkill(float cooldown, Action action)
|
||||
|
@ -76,22 +76,19 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
IsUsingSkill = true;
|
||||
_animationController.ResetAnimationSpeed();
|
||||
var startPosition = SkillUser.transform.position;
|
||||
var targetVector = _targetCollider.transform.position - startPosition;
|
||||
targetVector.y = 0f;
|
||||
var targetPosition = _targetCollider.transform.position;
|
||||
targetPosition.y = startPosition.y;
|
||||
var targetVector = targetPosition - startPosition;
|
||||
var targetDirection = targetVector.normalized;
|
||||
float targetDistance;
|
||||
|
||||
if (Physics.Raycast(startPosition, targetDirection, out var hit, 100f, _singleRollData.WallLayer))
|
||||
{
|
||||
targetDistance = hit.distance;
|
||||
}
|
||||
else
|
||||
if (!Physics.Raycast(startPosition, targetDirection, out var hit, 100f, _singleRollData.WallLayer))
|
||||
{
|
||||
Debug.LogError("벽을 탐지하지 못했습니다.");
|
||||
EndSkill(0, actions[0]);
|
||||
yield break;
|
||||
}
|
||||
|
||||
var targetDistance = hit.distance;
|
||||
transform.position = startPosition + Vector3.up * 3f;
|
||||
transform.localScale = new Vector3(_colliderRadius, 6f, targetDistance * 2);
|
||||
var angle = Mathf.Atan2(targetDirection.x, targetDirection.z) * Mathf.Rad2Deg;
|
||||
@ -121,15 +118,13 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
var isCrashedWall = false;
|
||||
while (!isCrashedWall)
|
||||
{
|
||||
if (elapsedTime >= 5f)
|
||||
{
|
||||
print("무한 루프 버그");
|
||||
EndSkill(SkillData.Cooldown, actions[0]);
|
||||
yield break;
|
||||
}
|
||||
|
||||
if (!SkillUser)
|
||||
elapsedTime += Time.deltaTime;
|
||||
if (elapsedTime >= 5f || !SkillUser)
|
||||
{
|
||||
if (elapsedTime >= 5f)
|
||||
{
|
||||
print("무한 루프 버그");
|
||||
}
|
||||
EndSkill(SkillData.Cooldown, actions[0]);
|
||||
yield break;
|
||||
}
|
||||
@ -147,6 +142,7 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
VisualFeedbackManager.Instance.CameraShake(CombatCameraManager.Instance.BaseCombatCamera,
|
||||
_singleRollData.CameraShakingPower, _singleRollData.CameraShakingDuration);
|
||||
var forceDirection = -targetDirection + Vector3.up * _singleRollData.AirJumpForce;
|
||||
_userRigidbody.linearVelocity = Vector3.zero;
|
||||
_userRigidbody.AddForce(forceDirection * _singleRollData.BounceBackForce, ForceMode.Impulse);
|
||||
isCrashedWall = true;
|
||||
break;
|
||||
@ -192,6 +188,12 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
|
||||
Instantiate(_singleRollData.RockfallPrefab, spawnPosition, Quaternion.identity, _sandMoleMapController.ParticleInstantiateLocation);
|
||||
}
|
||||
|
||||
elapsedTime = 0f;
|
||||
while (elapsedTime < 1f)
|
||||
{
|
||||
elapsedTime += Time.deltaTime;
|
||||
yield return null;
|
||||
}
|
||||
EndSkill(SkillData.Cooldown, actions[0]);
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,36 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &455614778658724887
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3323198499126332622}
|
||||
m_Layer: 10
|
||||
m_Name: Particles
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3323198499126332622
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 455614778658724887}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 6255916646741457976}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2736699741125954087
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -203,6 +234,7 @@ Transform:
|
||||
m_Children:
|
||||
- {fileID: 3476210053167940160}
|
||||
- {fileID: 4470263094854566718}
|
||||
- {fileID: 3323198499126332622}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!54 &8919762167155522148
|
||||
|
@ -114,7 +114,10 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedGameObjects:
|
||||
- targetCorrespondingSourceObject: {fileID: 3323198499126332622, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 5672546178639089928}
|
||||
m_AddedComponents:
|
||||
- targetCorrespondingSourceObject: {fileID: 7170637981020870835, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
insertIndex: 3
|
||||
@ -122,7 +125,15 @@ PrefabInstance:
|
||||
- targetCorrespondingSourceObject: {fileID: 7170637981020870835, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: -3236352117277465236}
|
||||
- targetCorrespondingSourceObject: {fileID: 7170637981020870835, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
insertIndex: -1
|
||||
addedObject: {fileID: 6857639742673603861}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
--- !u!4 &988429566761204346 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3323198499126332622, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
m_PrefabInstance: {fileID: 2569800677110986420}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!4 &1410821550004090100 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3476210053167940160, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
@ -217,6 +228,20 @@ MonoBehaviour:
|
||||
<AIMovement>k__BackingField: {fileID: 9002511558952892456}
|
||||
<BossSkillController>k__BackingField: {fileID: 1878389004569703936}
|
||||
<Target>k__BackingField: {fileID: 0}
|
||||
<SandMoleStatus>k__BackingField: {fileID: 6857639742673603861}
|
||||
--- !u!114 &6857639742673603861
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4623786526972472839}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 9aa905dd159cefc4cbeb417c688b9639, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_stunParticle: {fileID: 6635401445434353523}
|
||||
--- !u!65 &5897569616117255232 stripped
|
||||
BoxCollider:
|
||||
m_CorrespondingSourceObject: {fileID: 8246553021837507316, guid: db7798cbd0a93f44aac56d479a2994c7, type: 3}
|
||||
@ -270,3 +295,86 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 75b48aa4b99043cb9e665a892ec46c75, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1001 &8818561255954491281
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 988429566761204346}
|
||||
m_Modifications:
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 0.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: -90
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_ConstrainProportionsScale
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9051303996272931366, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: StunParticle
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
--- !u!4 &5672546178639089928 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 3808140985359726233, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
m_PrefabInstance: {fileID: 8818561255954491281}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!198 &6635401445434353523 stripped
|
||||
ParticleSystem:
|
||||
m_CorrespondingSourceObject: {fileID: 2770976869746131170, guid: 5cf7cd372801c784a9875e0740cf9038, type: 3}
|
||||
m_PrefabInstance: {fileID: 8818561255954491281}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
|
@ -30,19 +30,20 @@ MonoBehaviour:
|
||||
Throw Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-78.12497,150)"},"ID":10,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"MultiThrowSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(71.87503,150)"},"ID":11,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-931.5471,452.381)"},"ID":12,"Name":"Single
|
||||
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-95.23809,150)"},"ID":13,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(71.37249,153.681122)"},"ID":14,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":3},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-616.0723,449.166626)"},"ID":15,"Name":"Multi
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(71.37249,153.681122)"},"ID":14,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-616.0723,449.166626)"},"ID":15,"Name":"Multi
|
||||
Throw Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-71.4286,150)"},"ID":16,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"MultiThrowSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(78.571434,150)"},"ID":17,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(9.765897,452.758667)"},"ID":18,"Name":"Multi
|
||||
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-383.3333,150)"},"ID":19,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-233.333313,150)"},"ID":20,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-84.2857,148.095215)"},"ID":21,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(65.71442,148.095215)"},"ID":22,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(222.6831,147.804932)"},"ID":23,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(372.682617,147.804932)"},"ID":24,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":4},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(624.928467,449.4253)"},"ID":25,"Name":"Gate
|
||||
Of Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-73.52939,150)"},"ID":26,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"GateOfSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(76.47061,150)"},"ID":27,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(927.4391,446.111084)"},"ID":28,"Name":"Multi
|
||||
Throw Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-70,150)"},"ID":29,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"MultiThrowSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(80,150)"},"ID":30,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1264.14648,453.97522)"},"ID":31,"Name":"Single
|
||||
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-100,150)"},"ID":32,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(70,150)"},"ID":33,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":3},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]}]}]}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"CurrentHealthPoint","IsShared":true,"Int32mValue":0},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true}]}'
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-233.333313,150)"},"ID":20,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-84.2857,148.095215)"},"ID":21,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(65.71442,148.095215)"},"ID":22,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":0.5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(222.6831,147.804932)"},"ID":23,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.SelfStun","NodeData":{"Offset":"(370,150)"},"ID":24,"Name":"Self
|
||||
Stun","Instant":true,"Single_stunDuration":4},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(496.964966,145.486084)"},"ID":25,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(718.678467,449.4253)"},"ID":26,"Name":"Gate
|
||||
Of Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-73.52939,150)"},"ID":27,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"GateOfSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(76.47061,150)"},"ID":28,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1021.18909,446.111084)"},"ID":29,"Name":"Multi
|
||||
Throw Spikes","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-70,150)"},"ID":30,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"MultiThrowSpikes"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(80,150)"},"ID":31,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1357.89648,453.97522)"},"ID":32,"Name":"Single
|
||||
Roll","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Enemies.Bosses.Actions.ActivateSkill","NodeData":{"Offset":"(-100,150)"},"ID":33,"Name":"Activate
|
||||
Skill","Instant":true,"BossSkillName_bossSkillName":"SingleRoll"},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(70,150)"},"ID":34,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":3},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}}]}]}]}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"CurrentHealthPoint","IsShared":true,"Int32mValue":0},{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":"Target","IsShared":true}]}'
|
||||
fieldSerializationData:
|
||||
typeName: []
|
||||
fieldNameHash:
|
||||
|
Loading…
Reference in New Issue
Block a user