From 02bf8a9d49b57612bf9a785a1a105625e1493b19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szymon=20Mi=C5=9B?= <> Date: Fri, 22 Aug 2025 11:30:41 +0200 Subject: [PATCH] Fixes --- Assets/AI/Demon/DemonShield.prefab | 60 +- Assets/AI/Demon/FireBall.prefab | 20 +- Assets/AI/Demon/SA_CastShield.cs | 44 +- Assets/AI/Demon/SA_SpawnTurretSmart.cs | 66 +- Assets/AI/Demon/Turet.prefab | 38 +- Assets/AI/FSM/FSM_Demon.asset | 856 +++++++++++++++++++++---- 6 files changed, 890 insertions(+), 194 deletions(-) diff --git a/Assets/AI/Demon/DemonShield.prefab b/Assets/AI/Demon/DemonShield.prefab index f9b4fea10..d47dc6e7c 100644 --- a/Assets/AI/Demon/DemonShield.prefab +++ b/Assets/AI/Demon/DemonShield.prefab @@ -28,7 +28,7 @@ Transform: m_GameObject: {fileID: 462542572961419874} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: 0.7071068, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalPosition: {x: 0, y: 1.25, z: 1} m_LocalScale: {x: 1.5000024, y: 1.5000033, z: 1.5000024} m_ConstrainProportionsScale: 0 m_Children: @@ -4947,6 +4947,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 7058331355936229169} + - component: {fileID: 1024337125332675931} + - component: {fileID: -42539312977873233} m_Layer: 0 m_Name: DemonShield m_TagString: Untagged @@ -4975,6 +4977,56 @@ Transform: - {fileID: 3950270626124424465} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 87.195, z: 0} +--- !u!136 &1024337125332675931 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4089514887418515818} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 2 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 1.25, z: 0} +--- !u!54 &-42539312977873233 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4089514887418515818} + serializedVersion: 4 + m_Mass: 1000 + m_Drag: 0 + m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 --- !u!1 &5185508652979790054 GameObject: m_ObjectHideFlags: 0 @@ -14637,7 +14689,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4855141465030352, guid: 5b389d585d7681948a86765d14232bdb, type: 3} propertyPath: m_LocalPosition.y - value: 0 + value: 1.25 objectReference: {fileID: 0} - target: {fileID: 4855141465030352, guid: 5b389d585d7681948a86765d14232bdb, type: 3} propertyPath: m_LocalPosition.z @@ -14738,7 +14790,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4855141465030352, guid: 5b389d585d7681948a86765d14232bdb, type: 3} propertyPath: m_LocalPosition.y - value: 0 + value: 1.25 objectReference: {fileID: 0} - target: {fileID: 4855141465030352, guid: 5b389d585d7681948a86765d14232bdb, type: 3} propertyPath: m_LocalPosition.z @@ -14835,7 +14887,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4855141465030352, guid: 5b389d585d7681948a86765d14232bdb, type: 3} propertyPath: m_LocalPosition.y - value: 0 + value: 1.25 objectReference: {fileID: 0} - target: {fileID: 4855141465030352, guid: 5b389d585d7681948a86765d14232bdb, type: 3} propertyPath: m_LocalPosition.z diff --git a/Assets/AI/Demon/FireBall.prefab b/Assets/AI/Demon/FireBall.prefab index 78f4e32bb..72febf200 100644 --- a/Assets/AI/Demon/FireBall.prefab +++ b/Assets/AI/Demon/FireBall.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 4577187839491108} - component: {fileID: 198086061384069858} - component: {fileID: 199127982807948490} - m_Layer: 0 + m_Layer: 2 m_Name: FireEmbers (4) m_TagString: Untagged m_Icon: {fileID: 0} @@ -4703,7 +4703,6 @@ ParticleSystemRenderer: m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 776677ab3818fb249adaca05f4e04545, type: 2} - - {fileID: 0} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -4786,7 +4785,7 @@ Transform: serializedVersion: 2 m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: 6.67, y: 1, z: -53.73} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalScale: {x: 0.25, y: 0.25, z: 0.25} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 4577187839491108} @@ -9552,7 +9551,6 @@ ParticleSystemRenderer: m_RendererPriority: 0 m_Materials: - {fileID: 2100000, guid: 3349fc02d104e2b458470ec533f51c16, type: 2} - - {fileID: 0} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -9625,9 +9623,9 @@ CapsuleCollider: m_Enabled: 1 serializedVersion: 2 m_Radius: 0.5 - m_Height: 1 + m_Height: 0.1 m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} + m_Center: {x: 0.31801516, y: 0, z: 0} --- !u!114 &6785567375430979834 MonoBehaviour: m_ObjectHideFlags: 0 @@ -9644,7 +9642,14 @@ MonoBehaviour: damageOnce: 1 targetLayerMask: serializedVersion: 2 - m_Bits: 1410334711 + m_Bits: 256 + enableHoming: 1 + homingStrength: 1.5 + maxHomingDistance: 15 + homingDuration: 3 + continueAfterHoming: 1 + fireballSpeed: 10 + maxTurnRate: 90 impactEffectPrefab: {fileID: 132858, guid: c5cabec71c815b64ab6e2547b594ec81, type: 3} impactSound: {fileID: 8300000, guid: 5dd60193d2ea89e47ae309eec2c3852e, type: 3} knockbackForce: 5 @@ -9654,3 +9659,4 @@ MonoBehaviour: serializedVersion: 2 m_Bits: 1 enableDebug: 0 + showGizmos: 1 diff --git a/Assets/AI/Demon/SA_CastShield.cs b/Assets/AI/Demon/SA_CastShield.cs index 7cdfb80be..4d1c2930f 100644 --- a/Assets/AI/Demon/SA_CastShield.cs +++ b/Assets/AI/Demon/SA_CastShield.cs @@ -8,7 +8,7 @@ namespace DemonBoss.Magic /// StateAction for Magic Shield spell - boss casts magical shield for 5 seconds /// During casting boss stands still, after completion returns to Combat /// - [CreateAssetMenu(menuName = "Invector/FSM/Decisions/DemonBoss/Cast Shield")] + [CreateAssetMenu(menuName = "Invector/FSM/Actions/DemonBoss/Cast Shield")] public class SA_CastShield : vStateAction { public override string categoryName => "DemonBoss/Magic"; @@ -18,21 +18,19 @@ namespace DemonBoss.Magic [Tooltip("Prefab with magical shield particle effect")] public GameObject shieldFXPrefab; - [Tooltip("Transform where shield should appear (usually boss center)")] - public Transform shieldSpawnPoint; - [Tooltip("Shield duration in seconds")] public float shieldDuration = 5f; - [Tooltip("Animator trigger name for shield casting animation")] - public string animatorTrigger = "CastShield"; + [Tooltip("Animator bool parameter name for blocking state")] + public string animatorBlockingBool = "IsBlocking"; [Header("Debug")] [Tooltip("Enable debug logging")] public bool enableDebug = false; private GameObject spawnedShield; - + private Animator npcAnimator; + private Transform npcTransform; private float shieldStartTime; private bool shieldActive = false; @@ -62,6 +60,10 @@ namespace DemonBoss.Magic { if (enableDebug) Debug.Log("[SA_CastShield] Entering shield casting state"); + // Store NPC references + npcTransform = fsmBehaviour.transform; + npcAnimator = npcTransform.GetComponent(); + var aiController = fsmBehaviour as Invector.vCharacterController.AI.vIControlAI; if (aiController != null) { @@ -69,11 +71,10 @@ namespace DemonBoss.Magic if (enableDebug) Debug.Log("[SA_CastShield] AI stopped"); } - var animator = fsmBehaviour.transform.GetComponent(); - if (animator != null && !string.IsNullOrEmpty(animatorTrigger)) + if (npcAnimator != null && !string.IsNullOrEmpty(animatorBlockingBool)) { - animator.SetTrigger(animatorTrigger); - if (enableDebug) Debug.Log($"[SA_CastShield] Set trigger: {animatorTrigger}"); + npcAnimator.SetBool(animatorBlockingBool, true); + if (enableDebug) Debug.Log($"[SA_CastShield] Set bool: {animatorBlockingBool} = true"); } SpawnShieldEffect(fsmBehaviour); @@ -101,6 +102,12 @@ namespace DemonBoss.Magic { if (enableDebug) Debug.Log("[SA_CastShield] Exiting shield state"); + if (npcAnimator != null && !string.IsNullOrEmpty(animatorBlockingBool)) + { + npcAnimator.SetBool(animatorBlockingBool, false); + if (enableDebug) Debug.Log($"[SA_CastShield] Set bool: {animatorBlockingBool} = false"); + } + if (shieldActive) { CleanupShield(); @@ -124,17 +131,18 @@ namespace DemonBoss.Magic return; } - Vector3 spawnPosition = shieldSpawnPoint != null ? - shieldSpawnPoint.position : fsmBehaviour.transform.position; + // Spawn shield at NPC's position and rotation + Vector3 spawnPosition = npcTransform.position; + Quaternion spawnRotation = npcTransform.rotation; - spawnedShield = LeanPool.Spawn(shieldFXPrefab, spawnPosition, - shieldSpawnPoint != null ? shieldSpawnPoint.rotation : fsmBehaviour.transform.rotation); + spawnedShield = LeanPool.Spawn(shieldFXPrefab, spawnPosition, spawnRotation); - if (enableDebug) Debug.Log($"[SA_CastShield] Shield spawned at position: {spawnPosition}"); + if (enableDebug) Debug.Log($"[SA_CastShield] Shield spawned at NPC position: {spawnPosition}"); - if (spawnedShield != null && shieldSpawnPoint != null) + // Parent the shield to the NPC so it moves with them + if (spawnedShield != null) { - spawnedShield.transform.SetParent(shieldSpawnPoint); + spawnedShield.transform.SetParent(npcTransform); } } diff --git a/Assets/AI/Demon/SA_SpawnTurretSmart.cs b/Assets/AI/Demon/SA_SpawnTurretSmart.cs index e0b377cc2..54dadff32 100644 --- a/Assets/AI/Demon/SA_SpawnTurretSmart.cs +++ b/Assets/AI/Demon/SA_SpawnTurretSmart.cs @@ -36,8 +36,8 @@ namespace DemonBoss.Magic [Tooltip("Layer mask for ground")] public LayerMask groundLayerMask = -1; - [Tooltip("Animator trigger name for crystal casting animation")] - public string animatorTrigger = "CastCrystal"; + [Tooltip("Animator bool parameter name for blocking state")] + public string animatorBlockingBool = "IsBlocking"; [Header("Smart Positioning")] [Tooltip("Preference multiplier for positions behind boss (relative to player)")] @@ -54,7 +54,8 @@ namespace DemonBoss.Magic public bool showGizmos = true; private GameObject spawnedCrystal; - + private Animator npcAnimator; + private Transform npcTransform; private Transform playerTransform; /// @@ -66,6 +67,10 @@ namespace DemonBoss.Magic { OnStateEnter(fsmBehaviour); } + else if (executionType == vFSMComponentExecutionType.OnStateExit) + { + OnStateExit(fsmBehaviour); + } } /// @@ -75,13 +80,16 @@ namespace DemonBoss.Magic { if (enableDebug) Debug.Log("[SA_SpawnTurretSmart] Starting intelligent crystal spawn"); + // Store NPC references + npcTransform = fsmBehaviour.transform; + npcAnimator = npcTransform.GetComponent(); + FindPlayer(fsmBehaviour); - var animator = fsmBehaviour.transform.GetComponent(); - if (animator != null && !string.IsNullOrEmpty(animatorTrigger)) + if (npcAnimator != null && !string.IsNullOrEmpty(animatorBlockingBool)) { - animator.SetTrigger(animatorTrigger); - if (enableDebug) Debug.Log($"[SA_SpawnTurretSmart] Set trigger: {animatorTrigger}"); + npcAnimator.SetBool(animatorBlockingBool, true); + if (enableDebug) Debug.Log($"[SA_SpawnTurretSmart] Set bool: {animatorBlockingBool} = true"); } SpawnCrystalSmart(fsmBehaviour); @@ -89,6 +97,20 @@ namespace DemonBoss.Magic DEC_CheckCooldown.SetCooldownStatic(fsmBehaviour, "Turret", 12f); } + /// + /// Called when exiting state - cleanup + /// + private void OnStateExit(vIFSMBehaviourController fsmBehaviour) + { + if (enableDebug) Debug.Log("[SA_SpawnTurretSmart] Exiting turret spawn state"); + + if (npcAnimator != null && !string.IsNullOrEmpty(animatorBlockingBool)) + { + npcAnimator.SetBool(animatorBlockingBool, false); + if (enableDebug) Debug.Log($"[SA_SpawnTurretSmart] Set bool: {animatorBlockingBool} = false"); + } + } + /// /// Finds player transform /// @@ -128,7 +150,7 @@ namespace DemonBoss.Magic bool foundValidPosition = false; float bestScore = float.MinValue; - Vector3 bossPos = fsmBehaviour.transform.position; + Vector3 bossPos = npcTransform.position; Vector3 playerDirection = Vector3.zero; if (playerTransform != null) @@ -146,7 +168,7 @@ namespace DemonBoss.Magic if (IsPositionValid(testPosition, out Vector3 groundPosition)) { - float score = EvaluatePosition(groundPosition, playerDirection, direction); + float score = EvaluatePosition(groundPosition, playerDirection, direction, bossPos); if (score > bestScore) { @@ -164,7 +186,7 @@ namespace DemonBoss.Magic } else { - Vector3 fallbackPos = bossPos + fsmBehaviour.transform.forward * minSpawnDistance; + Vector3 fallbackPos = bossPos + npcTransform.forward * minSpawnDistance; SpawnCrystal(fallbackPos, fsmBehaviour); if (enableDebug) Debug.LogWarning("[SA_SpawnTurretSmart] Using fallback position"); } @@ -201,7 +223,7 @@ namespace DemonBoss.Magic /// /// Evaluates position quality (higher score = better position) /// - private float EvaluatePosition(Vector3 position, Vector3 playerDirection, Vector3 positionDirection) + private float EvaluatePosition(Vector3 position, Vector3 playerDirection, Vector3 positionDirection, Vector3 bossPos) { float score = 0f; @@ -214,7 +236,6 @@ namespace DemonBoss.Magic score += backScore * backPreferenceMultiplier; } - Vector3 bossPos = new Vector3(); float distance = Vector3.Distance(position, bossPos); float optimalDistance = (minSpawnDistance + maxSpawnDistance) * 0.5f; float distanceScore = 1f - Mathf.Abs(distance - optimalDistance) / maxSpawnDistance; @@ -264,17 +285,20 @@ namespace DemonBoss.Magic { if (!showGizmos) return; - Vector3 pos = new Vector3(); + if (npcTransform != null) + { + Vector3 pos = npcTransform.position; - // Spawn ring - Gizmos.color = Color.green; - DrawWireCircle(pos, minSpawnDistance); - Gizmos.color = Color.red; - DrawWireCircle(pos, maxSpawnDistance); + // Spawn ring + Gizmos.color = Color.green; + DrawWireCircle(pos, minSpawnDistance); + Gizmos.color = Color.red; + DrawWireCircle(pos, maxSpawnDistance); - // Obstacle check radius - Gizmos.color = Color.yellow; - Gizmos.DrawWireSphere(pos + Vector3.up * obstacleCheckRadius, obstacleCheckRadius); + // Obstacle check radius + Gizmos.color = Color.yellow; + Gizmos.DrawWireSphere(pos + Vector3.up * obstacleCheckRadius, obstacleCheckRadius); + } } /// diff --git a/Assets/AI/Demon/Turet.prefab b/Assets/AI/Demon/Turet.prefab index 0a8ed7a3e..548f44158 100644 --- a/Assets/AI/Demon/Turet.prefab +++ b/Assets/AI/Demon/Turet.prefab @@ -13,7 +13,7 @@ GameObject: - component: {fileID: 2323612} - component: {fileID: 13662188} - component: {fileID: 7020133711031364094} - m_Layer: 0 + m_Layer: 26 m_Name: Turet m_TagString: Untagged m_Icon: {fileID: 0} @@ -32,7 +32,8 @@ Transform: m_LocalPosition: {x: -3.8250632, y: -7.1673625e-17, z: 3.2278929} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 8411050209285398990} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &3365858 @@ -123,7 +124,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 906d915677721914dbe9708f218f574a, type: 3} m_Name: m_EditorClassIdentifier: - muzzle: {fileID: 417168} + muzzle: {fileID: 8411050209285398990} fireballPrefab: {fileID: 1947871717301538, guid: 9591667a35466484096c6e63785e136c, type: 3} fireballSpeed: 28 @@ -140,3 +141,34 @@ MonoBehaviour: shootSound: {fileID: 8300000, guid: d44a96f293b66b74ea13a2e6fcc6c8fa, type: 3} enableDebug: 0 showGizmos: 1 +--- !u!1 &6534933121460188189 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8411050209285398990} + m_Layer: 26 + m_Name: Spawnpoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8411050209285398990 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6534933121460188189} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3.114, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 417168} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/AI/FSM/FSM_Demon.asset b/Assets/AI/FSM/FSM_Demon.asset index 0e0cb62e3..0cf7eff7f 100644 --- a/Assets/AI/FSM/FSM_Demon.asset +++ b/Assets/AI/FSM/FSM_Demon.asset @@ -83,6 +83,90 @@ MonoBehaviour: engageInStrafe: 1 engageSpeed: 2 combatSpeed: 1 +--- !u!114 &-7938248970223304488 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: af82d1d082ce4b9478d420f8ca1e72c2, type: 3} + m_Name: Check Cooldown Turret + m_EditorClassIdentifier: + parentFSM: {fileID: 11400000} + editingName: 0 + trueRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 10 + height: 10 + falseRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 10 + height: 10 + selectedTrue: 0 + selectedFalse: 0 + cooldownKey: Turret + cooldownTime: 120 + availableAtStart: 0 + enableDebug: 1 +--- !u!114 &-7880340678925941764 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c53af76a8a097a244a3002b8aa7b4ceb, type: 3} + m_Name: Cast Shield + m_EditorClassIdentifier: + parentFSM: {fileID: 11400000} + executionType: -1 + editingName: 0 + shieldFXPrefab: {fileID: 4089514887418515818, guid: 8a811a4a039beaf4e8ca078a19bdfd33, + type: 3} + shieldDuration: 10 + animatorBlockingBool: IsBlocking + enableDebug: 1 +--- !u!114 &-7016508256595524775 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: af82d1d082ce4b9478d420f8ca1e72c2, type: 3} + m_Name: Check Cooldown Meteor + m_EditorClassIdentifier: + parentFSM: {fileID: 11400000} + editingName: 0 + trueRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 10 + height: 10 + falseRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 10 + height: 10 + selectedTrue: 0 + selectedFalse: 0 + cooldownKey: Meteor + cooldownTime: 25 + availableAtStart: 1 + enableDebug: 0 --- !u!114 &-6568372008305276654 MonoBehaviour: m_ObjectHideFlags: 1 @@ -102,27 +186,27 @@ MonoBehaviour: canSetAsDefault: 0 canEditName: 0 canEditColor: 0 - isOpen: 0 + isOpen: 1 isSelected: 0 nodeRect: serializedVersion: 2 - x: 480 - y: 240 + x: -368 + y: 311 width: 150 - height: 30 - positionRect: {x: 480, y: 240} + height: 62 + positionRect: {x: -368, y: 311} rectWidth: 150 editingName: 1 nodeColor: {r: 0, g: 1, b: 1, a: 1} resizeLeft: 0 resizeRight: 0 - inDrag: 0 + inDrag: 1 resetCurrentDestination: 0 transitions: - decisions: - trueValue: 1 decision: {fileID: 5430119601860107240} - isValid: 1 + isValid: 0 validated: 0 - trueValue: 1 decision: {fileID: 117913083446138218} @@ -137,20 +221,20 @@ MonoBehaviour: parentState: {fileID: -6568372008305276654} trueRect: serializedVersion: 2 - x: 555 - y: 255 - width: 0 - height: 0 + x: -218 + y: 341 + width: 10 + height: 10 falseRect: serializedVersion: 2 - x: 555 - y: 255 - width: 0 - height: 0 + x: -218 + y: 351 + width: 10 + height: 10 selectedTrue: 0 selectedFalse: 0 - trueSideRight: 0 - falseSideRight: 0 + trueSideRight: 1 + falseSideRight: 1 decisionEditor: {fileID: 0} isOpen: 0 scroolView: {x: 0, y: 0, z: 0} @@ -160,6 +244,38 @@ MonoBehaviour: useDecisions: 1 parentGraph: {fileID: 11400000} defaultTransition: {fileID: 0} +--- !u!114 &-6390780902881656489 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6704e78bcf7b30a43a2d06d91e87d694, type: 3} + m_Name: Call Meteor + m_EditorClassIdentifier: + parentFSM: {fileID: 11400000} + executionType: -1 + editingName: 0 + rockPrefab: {fileID: 1947871717301538, guid: 9591667a35466484096c6e63785e136c, type: 3} + decalPrefab: {fileID: 1743301284569550, guid: ad2ab49d0a2a17148bd51c93d977bdbc, + type: 3} + meteorHeight: 30 + castDelay: 1.5 + obstacleCheckRadius: 2 + obstacleLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + groundLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + animatorBlockingBool: IsBlocking + maxGroundDistance: 100 + airCheckHeight: 5 + enableDebug: 1 + showGizmos: 1 --- !u!114 &-6379838510941931433 MonoBehaviour: m_ObjectHideFlags: 1 @@ -209,31 +325,31 @@ MonoBehaviour: canSetAsDefault: 1 canEditName: 1 canEditColor: 1 - isOpen: 0 + isOpen: 1 isSelected: 0 nodeRect: serializedVersion: 2 - x: 690 - y: 240 + x: -328 + y: 466 width: 150 - height: 30 - positionRect: {x: 690, y: 240} + height: 106 + positionRect: {x: -328, y: 466} rectWidth: 150 editingName: 1 nodeColor: {r: 1, g: 0, b: 0, a: 1} resizeLeft: 0 resizeRight: 0 - inDrag: 0 + inDrag: 1 resetCurrentDestination: 0 transitions: - decisions: - trueValue: 1 decision: {fileID: 7927421991537792917} - isValid: 0 + isValid: 1 validated: 0 - trueValue: 1 decision: {fileID: -1886887719286938116} - isValid: 0 + isValid: 1 validated: 0 trueState: {fileID: -2904979146780567904} falseState: {fileID: 0} @@ -244,16 +360,16 @@ MonoBehaviour: parentState: {fileID: -6144582714324757854} trueRect: serializedVersion: 2 - x: 765 - y: 255 - width: 0 - height: 0 + x: -178 + y: 496 + width: 10 + height: 10 falseRect: serializedVersion: 2 - x: 765 - y: 255 - width: 0 - height: 0 + x: -178 + y: 506 + width: 10 + height: 10 selectedTrue: 0 selectedFalse: 0 trueSideRight: 1 @@ -272,16 +388,16 @@ MonoBehaviour: parentState: {fileID: -6144582714324757854} trueRect: serializedVersion: 2 - x: 765 - y: 255 - width: 0 - height: 0 + x: -178 + y: 518 + width: 10 + height: 10 falseRect: serializedVersion: 2 - x: 765 - y: 255 - width: 0 - height: 0 + x: -178 + y: 528 + width: 10 + height: 10 selectedTrue: 0 selectedFalse: 0 trueSideRight: 1 @@ -293,11 +409,11 @@ MonoBehaviour: - decisions: - trueValue: 1 decision: {fileID: 4031404829621142413} - isValid: 1 + isValid: 0 validated: 0 - trueValue: 1 decision: {fileID: -2866484833343459521} - isValid: 1 + isValid: 0 validated: 0 trueState: {fileID: 2986668563461644515} falseState: {fileID: 0} @@ -308,16 +424,16 @@ MonoBehaviour: parentState: {fileID: -6144582714324757854} trueRect: serializedVersion: 2 - x: 765 - y: 255 - width: 0 - height: 0 + x: -178 + y: 540 + width: 10 + height: 10 falseRect: serializedVersion: 2 - x: 765 - y: 255 - width: 0 - height: 0 + x: -178 + y: 550 + width: 10 + height: 10 selectedTrue: 0 selectedFalse: 0 trueSideRight: 1 @@ -362,6 +478,41 @@ MonoBehaviour: selectedFalse: 0 compareMethod: 1 distance: 6 +--- !u!114 &-4928523587955462210 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a60b21a6b7b97264b856431f5eb253b1, type: 3} + m_Name: Target Clear Sky + m_EditorClassIdentifier: + parentFSM: {fileID: 11400000} + editingName: 0 + trueRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 10 + height: 10 + falseRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 10 + height: 10 + selectedTrue: 0 + selectedFalse: 0 + checkHeight: 25 + checkRadius: 2 + obstacleLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + enableDebug: 0 + showGizmos: 1 --- !u!114 &-3690511210373239573 MonoBehaviour: m_ObjectHideFlags: 1 @@ -431,17 +582,17 @@ MonoBehaviour: isSelected: 0 nodeRect: serializedVersion: 2 - x: 690 - y: 160 + x: -48 + y: 316 width: 150 height: 62 - positionRect: {x: 690, y: 160} + positionRect: {x: -48, y: 316} rectWidth: 150 editingName: 1 nodeColor: {r: 0.10323405, g: 1, b: 0, a: 1} resizeLeft: 0 resizeRight: 0 - inDrag: 0 + inDrag: 1 resetCurrentDestination: 1 transitions: - decisions: [] @@ -454,14 +605,14 @@ MonoBehaviour: parentState: {fileID: -3177478727897100882} trueRect: serializedVersion: 2 - x: 840 - y: 190 + x: 102 + y: 346 width: 10 height: 10 falseRect: serializedVersion: 2 - x: 840 - y: 200 + x: 102 + y: 356 width: 10 height: 10 selectedTrue: 0 @@ -496,21 +647,21 @@ MonoBehaviour: canSetAsDefault: 1 canEditName: 1 canEditColor: 1 - isOpen: 0 + isOpen: 1 isSelected: 0 nodeRect: serializedVersion: 2 - x: 1005 - y: 240 + x: 252 + y: 271 width: 150 - height: 30 - positionRect: {x: 1005, y: 240} + height: 62 + positionRect: {x: 252, y: 271} rectWidth: 150 editingName: 1 nodeColor: {r: 0, g: 1, b: 0.004989147, a: 1} resizeLeft: 0 resizeRight: 0 - inDrag: 0 + inDrag: 1 resetCurrentDestination: 0 transitions: - decisions: @@ -527,20 +678,20 @@ MonoBehaviour: parentState: {fileID: -2904979146780567904} trueRect: serializedVersion: 2 - x: 1080 - y: 255 - width: 0 - height: 0 + x: 242 + y: 301 + width: 10 + height: 10 falseRect: serializedVersion: 2 - x: 1080 - y: 255 - width: 0 - height: 0 + x: 402 + y: 311 + width: 10 + height: 10 selectedTrue: 0 selectedFalse: 0 trueSideRight: 0 - falseSideRight: 0 + falseSideRight: 1 decisionEditor: {fileID: 0} isOpen: 0 scroolView: {x: 0, y: 0, z: 0} @@ -608,6 +759,37 @@ MonoBehaviour: height: 10 selectedTrue: 0 selectedFalse: 0 +--- !u!114 &-1199123506090853822 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fcb700ea476bed44becf27143de31bd, type: 3} + m_Name: Spawn Turret Smart + m_EditorClassIdentifier: + parentFSM: {fileID: 11400000} + executionType: -1 + editingName: 0 + crystalPrefab: {fileID: 115880, guid: b5eabfbed738a224284015c33b62e54b, type: 3} + minSpawnDistance: 6 + maxSpawnDistance: 15 + obstacleCheckRadius: 1 + groundCheckHeight: 2 + obstacleLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + groundLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + animatorBlockingBool: IsBlocking + backPreferenceMultiplier: 2 + maxSpawnAttempts: 12 + enableDebug: 1 + showGizmos: 1 --- !u!114 &-712571192746352845 MonoBehaviour: m_ObjectHideFlags: 1 @@ -631,17 +813,17 @@ MonoBehaviour: isSelected: 0 nodeRect: serializedVersion: 2 - x: 690 - y: 100 + x: -48 + y: 256 width: 150 height: 30 - positionRect: {x: 690, y: 100} + positionRect: {x: -48, y: 256} rectWidth: 150 editingName: 0 nodeColor: {r: 0, g: 1, b: 0, a: 1} resizeLeft: 0 resizeRight: 0 - inDrag: 0 + inDrag: 1 resetCurrentDestination: 0 transitions: [] actions: [] @@ -704,20 +886,20 @@ MonoBehaviour: canEditName: 1 canEditColor: 1 isOpen: 1 - isSelected: 1 + isSelected: 0 nodeRect: serializedVersion: 2 - x: 510 - y: 380 + x: -243 + y: 726 width: 150 height: 150 - positionRect: {x: 510, y: 380} + positionRect: {x: -243, y: 726} rectWidth: 150 editingName: 1 nodeColor: {r: 1, g: 0.95132554, b: 0, a: 1} resizeLeft: 0 resizeRight: 0 - inDrag: 0 + inDrag: 1 resetCurrentDestination: 1 transitions: - decisions: @@ -738,14 +920,14 @@ MonoBehaviour: parentState: {fileID: -312774025800194259} trueRect: serializedVersion: 2 - x: 660 - y: 410 + x: -93 + y: 756 width: 10 height: 10 falseRect: serializedVersion: 2 - x: 660 - y: 420 + x: -93 + y: 766 width: 10 height: 10 selectedTrue: 0 @@ -770,14 +952,14 @@ MonoBehaviour: parentState: {fileID: -312774025800194259} trueRect: serializedVersion: 2 - x: 660 - y: 432 + x: -93 + y: 778 width: 10 height: 10 falseRect: serializedVersion: 2 - x: 660 - y: 442 + x: -93 + y: 788 width: 10 height: 10 selectedTrue: 0 @@ -810,19 +992,19 @@ MonoBehaviour: parentState: {fileID: -312774025800194259} trueRect: serializedVersion: 2 - x: 660 - y: 454 + x: -253 + y: 800 width: 10 height: 10 falseRect: serializedVersion: 2 - x: 660 - y: 464 + x: -93 + y: 810 width: 10 height: 10 selectedTrue: 0 selectedFalse: 0 - trueSideRight: 1 + trueSideRight: 0 falseSideRight: 1 decisionEditor: {fileID: 0} isOpen: 0 @@ -846,14 +1028,14 @@ MonoBehaviour: parentState: {fileID: -312774025800194259} trueRect: serializedVersion: 2 - x: 660 - y: 476 + x: -93 + y: 822 width: 10 height: 10 falseRect: serializedVersion: 2 - x: 660 - y: 486 + x: -93 + y: 832 width: 10 height: 10 selectedTrue: 0 @@ -878,14 +1060,14 @@ MonoBehaviour: parentState: {fileID: -312774025800194259} trueRect: serializedVersion: 2 - x: 660 - y: 498 + x: -93 + y: 844 width: 10 height: 10 falseRect: serializedVersion: 2 - x: 660 - y: 508 + x: -93 + y: 854 width: 10 height: 10 selectedTrue: 0 @@ -932,7 +1114,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a5fc604039227434d8b4e63ebc5e74a5, type: 3} m_Name: FSM_Demon m_EditorClassIdentifier: - selectedNode: {fileID: -312774025800194259} + selectedNode: {fileID: 2986668563461644515} wantConnection: 0 connectionNode: {fileID: 0} showProperties: 1 @@ -946,7 +1128,10 @@ MonoBehaviour: - {fileID: 2986668563461644515} - {fileID: 762670965814380212} - {fileID: 2691300596403639167} - panOffset: {x: 1265, y: 100} + - {fileID: 9112689765763526057} + - {fileID: 766956384951898899} + - {fileID: 4162026404432437805} + panOffset: {x: -413, y: 291} overNode: 0 actions: - {fileID: 0} @@ -959,6 +1144,9 @@ MonoBehaviour: - {fileID: 0} - {fileID: 0} - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} decisions: - {fileID: 0} - {fileID: 0} @@ -969,6 +1157,11 @@ MonoBehaviour: - {fileID: 0} - {fileID: 0} - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} icon: {fileID: 0} --- !u!114 &117913083446138218 MonoBehaviour: @@ -1022,17 +1215,17 @@ MonoBehaviour: isSelected: 0 nodeRect: serializedVersion: 2 - x: 695 - y: 525 + x: 772 + y: 956 width: 150 height: 62 - positionRect: {x: 695, y: 525} + positionRect: {x: 772, y: 956} rectWidth: 150 editingName: 1 nodeColor: {r: 1, g: 1, b: 1, a: 1} resizeLeft: 0 resizeRight: 0 - inDrag: 0 + inDrag: 1 resetCurrentDestination: 1 transitions: - decisions: [] @@ -1045,19 +1238,19 @@ MonoBehaviour: parentState: {fileID: 762670965814380212} trueRect: serializedVersion: 2 - x: 845 - y: 555 + x: 762 + y: 986 width: 10 height: 10 falseRect: serializedVersion: 2 - x: 845 - y: 565 + x: 922 + y: 996 width: 10 height: 10 selectedTrue: 0 selectedFalse: 0 - trueSideRight: 1 + trueSideRight: 0 falseSideRight: 1 decisionEditor: {fileID: 0} isOpen: 0 @@ -1069,6 +1262,107 @@ MonoBehaviour: useDecisions: 1 parentGraph: {fileID: 11400000} defaultTransition: {fileID: 0} +--- !u!114 &766956384951898899 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b73a6f13cf18194e889cafd0287a9ec, type: 3} + m_Name: SpawnTurret + m_EditorClassIdentifier: + description: FSM State + selectedDecisionIndex: 0 + canRemove: 1 + canTranstTo: 1 + canSetAsDefault: 1 + canEditName: 1 + canEditColor: 1 + isOpen: 1 + isSelected: 0 + nodeRect: + serializedVersion: 2 + x: 837 + y: 416 + width: 150 + height: 62 + positionRect: {x: 837, y: 416} + rectWidth: 150 + editingName: 1 + nodeColor: {r: 1, g: 1, b: 1, a: 1} + resizeLeft: 0 + resizeRight: 0 + inDrag: 1 + resetCurrentDestination: 1 + transitions: + - decisions: [] + trueState: {fileID: 2986668563461644515} + falseState: {fileID: 0} + muteTrue: 0 + muteFalse: 0 + transitionType: 0 + transitionDelay: 1 + parentState: {fileID: 766956384951898899} + trueRect: + serializedVersion: 2 + x: 827 + y: 446 + width: 10 + height: 10 + falseRect: + serializedVersion: 2 + x: 987 + y: 456 + width: 10 + height: 10 + selectedTrue: 0 + selectedFalse: 0 + trueSideRight: 0 + falseSideRight: 1 + decisionEditor: {fileID: 0} + isOpen: 0 + scroolView: {x: 0, y: 0, z: 0} + sameTargetCount: 0 + actions: + - {fileID: -1199123506090853822} + useActions: 1 + useDecisions: 1 + parentGraph: {fileID: 11400000} + defaultTransition: {fileID: 0} +--- !u!114 &1913506767753201076 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6df4a5087a0930d479908e8416bc8a2a, type: 3} + m_Name: Target Far + m_EditorClassIdentifier: + parentFSM: {fileID: 11400000} + editingName: 0 + trueRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 10 + height: 10 + falseRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 10 + height: 10 + selectedTrue: 0 + selectedFalse: 0 + minDistance: 8 + maxDistance: 30 + enableDebug: 0 --- !u!114 &2036212046703104727 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1110,17 +1404,17 @@ MonoBehaviour: isSelected: 0 nodeRect: serializedVersion: 2 - x: 1005 - y: 605 + x: 562 + y: 956 width: 150 height: 62 - positionRect: {x: 1005, y: 605} + positionRect: {x: 562, y: 956} rectWidth: 150 editingName: 1 nodeColor: {r: 1, g: 1, b: 1, a: 1} resizeLeft: 0 resizeRight: 0 - inDrag: 0 + inDrag: 1 resetCurrentDestination: 1 transitions: - decisions: [] @@ -1133,19 +1427,19 @@ MonoBehaviour: parentState: {fileID: 2691300596403639167} trueRect: serializedVersion: 2 - x: 1155 - y: 635 + x: 552 + y: 986 width: 10 height: 10 falseRect: serializedVersion: 2 - x: 1155 - y: 645 + x: 712 + y: 996 width: 10 height: 10 selectedTrue: 0 selectedFalse: 0 - trueSideRight: 1 + trueSideRight: 0 falseSideRight: 1 decisionEditor: {fileID: 0} isOpen: 0 @@ -1170,33 +1464,33 @@ MonoBehaviour: m_Name: Combat m_EditorClassIdentifier: description: FSM State - selectedDecisionIndex: 0 + selectedDecisionIndex: 2 canRemove: 1 canTranstTo: 1 canSetAsDefault: 1 canEditName: 1 canEditColor: 1 isOpen: 1 - isSelected: 0 + isSelected: 1 nodeRect: serializedVersion: 2 - x: 1005 - y: 435 + x: 307 + y: 676 width: 150 - height: 84 - positionRect: {x: 1005, y: 435} + height: 150 + positionRect: {x: 307, y: 676} rectWidth: 150 editingName: 1 nodeColor: {r: 1, g: 0, b: 0, a: 1} resizeLeft: 0 resizeRight: 0 - inDrag: 0 + inDrag: 1 resetCurrentDestination: 1 transitions: - decisions: - trueValue: 1 decision: {fileID: 7927421991537792917} - isValid: 0 + isValid: 1 validated: 0 trueState: {fileID: -2904979146780567904} falseState: {fileID: 0} @@ -1207,19 +1501,19 @@ MonoBehaviour: parentState: {fileID: 2986668563461644515} trueRect: serializedVersion: 2 - x: 1155 - y: 465 + x: 297 + y: 706 width: 10 height: 10 falseRect: serializedVersion: 2 - x: 1155 - y: 475 + x: 457 + y: 716 width: 10 height: 10 selectedTrue: 0 selectedFalse: 0 - trueSideRight: 1 + trueSideRight: 0 falseSideRight: 1 decisionEditor: {fileID: 0} isOpen: 0 @@ -1239,14 +1533,14 @@ MonoBehaviour: parentState: {fileID: 2986668563461644515} trueRect: serializedVersion: 2 - x: 995 - y: 487 + x: 297 + y: 728 width: 10 height: 10 falseRect: serializedVersion: 2 - x: 1155 - y: 497 + x: 457 + y: 738 width: 10 height: 10 selectedTrue: 0 @@ -1257,6 +1551,114 @@ MonoBehaviour: isOpen: 0 scroolView: {x: 0, y: 0, z: 0} sameTargetCount: 0 + - decisions: + - trueValue: 0 + decision: {fileID: -6379838510941931433} + isValid: 0 + validated: 0 + - trueValue: 1 + decision: {fileID: -7938248970223304488} + isValid: 0 + validated: 0 + trueState: {fileID: 766956384951898899} + falseState: {fileID: 0} + muteTrue: 0 + muteFalse: 0 + transitionType: 0 + transitionDelay: 0 + parentState: {fileID: 2986668563461644515} + trueRect: + serializedVersion: 2 + x: 457 + y: 750 + width: 10 + height: 10 + falseRect: + serializedVersion: 2 + x: 457 + y: 760 + width: 10 + height: 10 + selectedTrue: 1 + selectedFalse: 0 + trueSideRight: 1 + falseSideRight: 1 + decisionEditor: {fileID: 0} + isOpen: 0 + scroolView: {x: 0, y: 0, z: 0} + sameTargetCount: 0 + - decisions: + - trueValue: 0 + decision: {fileID: -6379838510941931433} + isValid: 0 + validated: 0 + - trueValue: 1 + decision: {fileID: 8113515040269600600} + isValid: 1 + validated: 0 + trueState: {fileID: 9112689765763526057} + falseState: {fileID: 0} + muteTrue: 0 + muteFalse: 0 + transitionType: 0 + transitionDelay: 0 + parentState: {fileID: 2986668563461644515} + trueRect: + serializedVersion: 2 + x: 457 + y: 772 + width: 10 + height: 10 + falseRect: + serializedVersion: 2 + x: 457 + y: 782 + width: 10 + height: 10 + selectedTrue: 0 + selectedFalse: 0 + trueSideRight: 1 + falseSideRight: 1 + decisionEditor: {fileID: 0} + isOpen: 0 + scroolView: {x: 0, y: 0, z: 0} + sameTargetCount: 0 + - decisions: + - trueValue: 0 + decision: {fileID: -6379838510941931433} + isValid: 0 + validated: 0 + - trueValue: 1 + decision: {fileID: -7016508256595524775} + isValid: 1 + validated: 0 + trueState: {fileID: 4162026404432437805} + falseState: {fileID: 0} + muteTrue: 0 + muteFalse: 0 + transitionType: 0 + transitionDelay: 0 + parentState: {fileID: 2986668563461644515} + trueRect: + serializedVersion: 2 + x: 457 + y: 794 + width: 10 + height: 10 + falseRect: + serializedVersion: 2 + x: 457 + y: 804 + width: 10 + height: 10 + selectedTrue: 0 + selectedFalse: 0 + trueSideRight: 1 + falseSideRight: 1 + decisionEditor: {fileID: 0} + isOpen: 0 + scroolView: {x: 0, y: 0, z: 0} + sameTargetCount: 0 actions: - {fileID: -7967567908952845760} useActions: 1 @@ -1291,6 +1693,76 @@ MonoBehaviour: height: 10 selectedTrue: 0 selectedFalse: 0 +--- !u!114 &4162026404432437805 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b73a6f13cf18194e889cafd0287a9ec, type: 3} + m_Name: CallMeteor + m_EditorClassIdentifier: + description: FSM State + selectedDecisionIndex: 0 + canRemove: 1 + canTranstTo: 1 + canSetAsDefault: 1 + canEditName: 1 + canEditColor: 1 + isOpen: 1 + isSelected: 0 + nodeRect: + serializedVersion: 2 + x: 802 + y: 616 + width: 150 + height: 62 + positionRect: {x: 802, y: 616} + rectWidth: 150 + editingName: 1 + nodeColor: {r: 1, g: 1, b: 1, a: 1} + resizeLeft: 0 + resizeRight: 0 + inDrag: 1 + resetCurrentDestination: 1 + transitions: + - decisions: [] + trueState: {fileID: 2986668563461644515} + falseState: {fileID: 0} + muteTrue: 0 + muteFalse: 0 + transitionType: 0 + transitionDelay: 1 + parentState: {fileID: 4162026404432437805} + trueRect: + serializedVersion: 2 + x: 792 + y: 646 + width: 10 + height: 10 + falseRect: + serializedVersion: 2 + x: 952 + y: 656 + width: 10 + height: 10 + selectedTrue: 0 + selectedFalse: 0 + trueSideRight: 0 + falseSideRight: 1 + decisionEditor: {fileID: 0} + isOpen: 0 + scroolView: {x: 0, y: 0, z: 0} + sameTargetCount: 0 + actions: + - {fileID: -6390780902881656489} + useActions: 1 + useDecisions: 1 + parentGraph: {fileID: 11400000} + defaultTransition: {fileID: 0} --- !u!114 &5430119601860107240 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1367,6 +1839,38 @@ MonoBehaviour: height: 10 selectedTrue: 0 selectedFalse: 0 +--- !u!114 &8113515040269600600 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: af82d1d082ce4b9478d420f8ca1e72c2, type: 3} + m_Name: Check Cooldown Shield + m_EditorClassIdentifier: + parentFSM: {fileID: 11400000} + editingName: 0 + trueRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 10 + height: 10 + falseRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 10 + height: 10 + selectedTrue: 0 + selectedFalse: 0 + cooldownKey: Shield + cooldownTime: 25 + availableAtStart: 1 + enableDebug: 0 --- !u!114 &8860036500635384459 MonoBehaviour: m_ObjectHideFlags: 1 @@ -1385,3 +1889,73 @@ MonoBehaviour: useStrafeMovement: 0 updateRotationInStrafe: 0 speed: 1 +--- !u!114 &9112689765763526057 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3b73a6f13cf18194e889cafd0287a9ec, type: 3} + m_Name: CastShield + m_EditorClassIdentifier: + description: FSM State + selectedDecisionIndex: 0 + canRemove: 1 + canTranstTo: 1 + canSetAsDefault: 1 + canEditName: 1 + canEditColor: 1 + isOpen: 0 + isSelected: 0 + nodeRect: + serializedVersion: 2 + x: 627 + y: 286 + width: 150 + height: 30 + positionRect: {x: 627, y: 286} + rectWidth: 150 + editingName: 1 + nodeColor: {r: 1, g: 1, b: 1, a: 1} + resizeLeft: 0 + resizeRight: 0 + inDrag: 1 + resetCurrentDestination: 1 + transitions: + - decisions: [] + trueState: {fileID: 2986668563461644515} + falseState: {fileID: 0} + muteTrue: 0 + muteFalse: 0 + transitionType: 0 + transitionDelay: 10 + parentState: {fileID: 9112689765763526057} + trueRect: + serializedVersion: 2 + x: 702 + y: 301 + width: 0 + height: 0 + falseRect: + serializedVersion: 2 + x: 702 + y: 301 + width: 0 + height: 0 + selectedTrue: 0 + selectedFalse: 0 + trueSideRight: 0 + falseSideRight: 0 + decisionEditor: {fileID: 0} + isOpen: 0 + scroolView: {x: 0, y: 0, z: 0} + sameTargetCount: 0 + actions: + - {fileID: -7880340678925941764} + useActions: 1 + useDecisions: 1 + parentGraph: {fileID: 11400000} + defaultTransition: {fileID: 0}