diff --git a/.idea/.idea.FutureMen2/.idea/workspace.xml b/.idea/.idea.FutureMen2/.idea/workspace.xml
index 110aa28d..3d3a4384 100644
--- a/.idea/.idea.FutureMen2/.idea/workspace.xml
+++ b/.idea/.idea.FutureMen2/.idea/workspace.xml
@@ -6,23 +6,16 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
+
@@ -144,6 +137,7 @@
+
diff --git a/Assets/Monsters Full Pack Vol 1/Monsters Pack Vol 6/Gryllunguis/Gryllunguis_Controller.controller b/Assets/Monsters Full Pack Vol 1/Monsters Pack Vol 6/Gryllunguis/Gryllunguis_Controller.controller
index 12cf7942..129d48d7 100644
--- a/Assets/Monsters Full Pack Vol 1/Monsters Pack Vol 6/Gryllunguis/Gryllunguis_Controller.controller
+++ b/Assets/Monsters Full Pack Vol 1/Monsters Pack Vol 6/Gryllunguis/Gryllunguis_Controller.controller
@@ -662,7 +662,7 @@ AnimatorStateTransition:
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
- m_TransitionDuration: 0.25
+ m_TransitionDuration: 1.1643901
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
diff --git a/Assets/StreamingAssets/build_info b/Assets/StreamingAssets/build_info
index e8870b1f..be533874 100644
--- a/Assets/StreamingAssets/build_info
+++ b/Assets/StreamingAssets/build_info
@@ -1 +1 @@
-Build from CHINAMI-UKDLSK3 at 2026/1/13 18:40:51
\ No newline at end of file
+Build from CHINAMI-UKDLSK3 at 2026/1/14 11:39:15
\ No newline at end of file
diff --git a/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBoss.asset b/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBoss.asset
index 5bf18942..6f5db21e 100644
--- a/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBoss.asset
+++ b/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBoss.asset
@@ -39,14 +39,15 @@ MonoBehaviour:
Enemy State","Instant":true,"SharedIntCurEnemyState":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}},{"Type":"FrogBleepAttack","NodeData":{"Offset":"(122.1085,146.147156)"},"ID":25,"Name":"Frog
Bleep Attack","Instant":true,"SingletongueSpeed":25,"Singledamage":30},{"Type":"SetEnemyState","NodeData":{"Offset":"(301.763,152.9411)"},"ID":26,"Name":"Set
Enemy State","Instant":true,"SharedIntCurEnemyState":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1}}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(856.9219,125.071754)"},"ID":27,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"CheckEnemyState","NodeData":{"Offset":"(-92.63159,200.6238)"},"ID":28,"Name":"Check
- Enemy State","Instant":true,"SharedIntCurEnemyState":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1}},{"Type":"FrogIdleMove","NodeData":{"Offset":"(119.10144,189.552551)"},"ID":29,"Name":"Frog
+ Enemy State","Instant":true,"SharedIntCurEnemyState":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1}},{"Type":"FrogIdleMove","NodeData":{"Offset":"(287.2224,209.761536)"},"ID":29,"Name":"Frog
Idle Move","Instant":true,"SinglemoveRadius":4,"SinglemoveAngle":90,"SinglestayTime":1.5,"SinglerotateSpeed":360}]}]},"DetachedTasks":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1353.33228,1086.19006)"},"ID":30,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"CheckCooldown","NodeData":{"Offset":"(-215.1163,191.6279)"},"ID":31,"Name":"Check
Cooldown","Instant":true,"CooldownTypetype":"Teleport"},{"Type":"SetEnemyState","NodeData":{"Offset":"(-36.0469666,193.953125)"},"ID":32,"Name":"Set
Enemy State","Instant":true,"SharedIntCurEnemyState":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}},{"Type":"OctopusTeleport","NodeData":{"Offset":"(129.693481,190.210541)"},"ID":33,"Name":"Octopus
Teleport","Instant":true,"SinglemoveDuration":2,"SinglehideDuration":0.5},{"Type":"SetEnemyState","NodeData":{"Offset":"(295.5813,200)"},"ID":34,"Name":"Set
Enemy State","Instant":true,"SharedIntCurEnemyState":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":1}}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-295.414978,1233.45447)"},"ID":35,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"SetEnemyState","NodeData":{"Offset":"(-101.61293,120)"},"ID":36,"Name":"Set
Enemy State","Instant":true,"SharedIntCurEnemyState":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":3}},{"Type":"OctopusTentacleAtk","NodeData":{"Offset":"(120,120)"},"ID":37,"Name":"Octopus
- Tentacle Atk","Instant":true,"Int32attackCount":2}]}],"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"attackmode","IsShared":true,"BooleanmValue":false},{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"self","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"cooldownTimer","IsShared":true,"SinglemValue":15},{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"skillReady","IsShared":true,"BooleanmValue":false},{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsQteAttack","IsShared":true,"BooleanmValue":true},{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsStopQte","IsShared":true,"BooleanmValue":false}]}'
+ Tentacle Atk","Instant":true,"Int32attackCount":2}]},{"Type":"FrogEggAttack","NodeData":{"Offset":"(1001.42859,577.1428)"},"ID":38,"Name":"Frog
+ Egg Attack","Instant":true,"Int32eggCount":12,"SingleshootInterval":0.15,"SinglefanAngle":60,"SinglelaunchHeight":3,"SingleflightTime":1.1}],"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"attackmode","IsShared":true,"BooleanmValue":false},{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"self","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":"cooldownTimer","IsShared":true,"SinglemValue":15},{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"skillReady","IsShared":true,"BooleanmValue":false},{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsQteAttack","IsShared":true,"BooleanmValue":true},{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":"IsStopQte","IsShared":true,"BooleanmValue":false}]}'
fieldSerializationData:
typeName: []
fieldNameHash:
diff --git a/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBugEnemy.prefab b/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBugEnemy.prefab
index 756a7f2d..0ba82651 100644
--- a/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBugEnemy.prefab
+++ b/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBugEnemy.prefab
@@ -1031,6 +1031,7 @@ GameObject:
- component: {fileID: -4366665564013984747}
- component: {fileID: -1491859959607692579}
- component: {fileID: 7777068790013891191}
+ - component: {fileID: 7300574650919205589}
m_Layer: 3
m_Name: FrogBugEnemy
m_TagString: Enemy
@@ -1069,7 +1070,7 @@ Animator:
m_Controller: {fileID: 9100000, guid: 8821a22a054de5d48829fb837ed28a55, type: 2}
m_CullingMode: 1
m_UpdateMode: 0
- m_ApplyRootMotion: 1
+ m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
@@ -1096,7 +1097,7 @@ MonoBehaviour:
bloodSlider: {fileID: 3873863944127844135}
enemyState: 0
explosionPre: {fileID: 0}
- dieTime: 3
+ dieTime: 2
isShowEnd: 0
skill1Cooldown: 6
skill2Cooldown: 30
@@ -1270,10 +1271,24 @@ CapsuleCollider:
m_ProvidesContacts: 1
m_Enabled: 1
serializedVersion: 2
- m_Radius: 0.385175
- m_Height: 1.5799111
+ m_Radius: 0.57
+ m_Height: 2.1
m_Direction: 2
- m_Center: {x: 0, y: 0.62768173, z: 0}
+ m_Center: {x: 0, y: 0.62768173, z: -0.12}
+--- !u!114 &7300574650919205589
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4891584589991081564}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 31b48c27550e9f9478dc3ee402bb930d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ curEnemy: {fileID: 9068868098415327668}
+ player: {fileID: 0}
--- !u!1 &5238226244982169157
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/_FutureMen2/Scripts/Actions/FrogBossActions.cs b/Assets/_FutureMen2/Scripts/Actions/FrogBossActions.cs
index 4b5d2a0c..edd2f0d6 100644
--- a/Assets/_FutureMen2/Scripts/Actions/FrogBossActions.cs
+++ b/Assets/_FutureMen2/Scripts/Actions/FrogBossActions.cs
@@ -91,7 +91,6 @@ public class FrogBleepAttack : Action
}
}
-
///
/// 毒液弹攻击
///
@@ -204,7 +203,7 @@ public class FrogEggAttack : Action
boss.EggAttack();
yield return new WaitForSeconds(0.5f);
-
+ boss.aiPath.isStopped = true;
Transform firePoint = boss.eggFirePoint; // 嘴巴
float step = fanAngle / (eggCount - 1);
@@ -245,7 +244,7 @@ public class FrogEggAttack : Action
);
FrogBugEnemy bug = egg.GetComponent();
- bug.SetAtk(boss.Data.Atk_2);
+ bug.SetAtk(boss.Data.Atk_2,boss.Data.Hp_CS2);
// 扇形方向
Vector3 dir = Quaternion.Euler(0, angle, 0) * boss.transform.forward;
@@ -290,7 +289,11 @@ public class FrogIdleMove : Action
if (player == null)
return TaskStatus.Running;
if (boss.HasAnySkillReady())
+ {
+ boss.aiPath.isStopped = true;
return TaskStatus.Failure;
+ }
+
FaceToPlayer();
Move();
diff --git a/Assets/_FutureMen2/Scripts/Actions/TortoiseActions.cs b/Assets/_FutureMen2/Scripts/Actions/TortoiseActions.cs
index 007db95d..ecf0a858 100644
--- a/Assets/_FutureMen2/Scripts/Actions/TortoiseActions.cs
+++ b/Assets/_FutureMen2/Scripts/Actions/TortoiseActions.cs
@@ -65,15 +65,15 @@ public class TortoiseSprintAttack : Action
Vector3 targetPos = player.position + dir * sprintDistance;
// A* 移动
- boss.ai.maxSpeed = sprintSpeed;
- boss.ai.isStopped = false;
- boss.ai.destination = targetPos;
+ boss.aiPath.maxSpeed = sprintSpeed;
+ boss.aiPath.isStopped = false;
+ boss.aiPath.destination = targetPos;
// 面向移动方向
boss.transform.rotation = Quaternion.LookRotation(dir);
// 等待到达
- while (!boss.ai.reachedEndOfPath)
+ while (!boss.aiPath.reachedEndOfPath)
{
if (boss.isDead)
{
@@ -83,7 +83,7 @@ public class TortoiseSprintAttack : Action
yield return null;
}
- boss.ai.isStopped = true;
+ boss.aiPath.isStopped = true;
boss.EndAttack();
}
diff --git a/Assets/_FutureMen2/Scripts/Enemy/Enemy/Enemy.cs b/Assets/_FutureMen2/Scripts/Enemy/Enemy/Enemy.cs
index c58437da..eecc3c34 100644
--- a/Assets/_FutureMen2/Scripts/Enemy/Enemy/Enemy.cs
+++ b/Assets/_FutureMen2/Scripts/Enemy/Enemy/Enemy.cs
@@ -54,17 +54,6 @@ public class Enemy : MonoBehaviour
public BehaviorTree behaviourTree;
- // A* / RVO
- private IAstarAI _ai;
- public IAstarAI ai
- {
- get
- {
- if (_ai == null) _ai = GetComponent();
- return _ai;
- }
- }
-
private AIPath _aiPath;
public AIPath aiPath
{
@@ -168,6 +157,8 @@ public class Enemy : MonoBehaviour
ColliderComponent.enabled = false;
if(behaviourTree != null)
behaviourTree.enabled = false;
+ if(aiPath!=null)
+ aiPath.enabled = false;
StopAllCoroutines();
CoroutineTaskManager.Instance.WaitSecondTodo(() =>
{
diff --git a/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBoss.cs b/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBoss.cs
index f533e40e..de45515d 100644
--- a/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBoss.cs
+++ b/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBoss.cs
@@ -23,6 +23,7 @@ public class FrogBoss : Enemy
{
clipQuadObj.transform.localPosition = new Vector3(0, -5f, 0);
mouthBoneHit.SetDamage(Data.Atk_1P);
+ bloodSlider.gameObject.SetActive(false);
}
public override void Update()
@@ -46,6 +47,7 @@ public class FrogBoss : Enemy
CoroutineTaskManager.Instance.WaitSecondTodo(() =>
{
isShowEnd = true;
+ bloodSlider.gameObject.SetActive(true);
}, 2f);
});
}
diff --git a/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBugEnemy.cs b/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBugEnemy.cs
index fe74785e..b0feb239 100644
--- a/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBugEnemy.cs
+++ b/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBugEnemy.cs
@@ -43,9 +43,11 @@ public class FrogBugEnemy : Enemy
//蛋到达落点后 抖动两下 之后播放蛋破碎动画 播放后model打开 蛋消失 怪物切换成EnemyState.NormalAttack
}
- public void SetAtk(float curAtk)
+ public void SetAtk(float curAtk,float maxHp)
{
atk = curAtk;
+ maxHealth = maxHp;
+ health = maxHp;
}
@@ -260,7 +262,6 @@ public class FrogBugEnemy : Enemy
StopAllCoroutines();
StopAI();
-
anim.SetBool("IsDie",true);
}
diff --git a/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/PoisonBall.cs b/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/PoisonBall.cs
index 4dc6bb75..b85eeba9 100644
--- a/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/PoisonBall.cs
+++ b/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/PoisonBall.cs
@@ -1,3 +1,4 @@
+using DragonLi.Core;
using UnityEngine;
[RequireComponent(typeof(Rigidbody))]
@@ -36,9 +37,9 @@ public class PoisonBall : MonoBehaviour
private void OnCollisionEnter(Collision collision)
{
- if (collision.gameObject.tag == "Ground")
+ if (collision.gameObject.tag == "Ground"|| collision.gameObject.tag == "Player")
{
- GameObject ball= Instantiate(poisonPoolPrefab, transform.position, Quaternion.identity);
+ GameObject ball= Instantiate(poisonPoolPrefab, transform.position.ReflectVectorXOZ(), Quaternion.identity);
ball.GetComponent().SetDamage(poolDamage, poolTime);
Destroy(gameObject);
}