fix:调整青蛙boss吐蛋技能
This commit is contained in:
20
.idea/.idea.FutureMen2/.idea/workspace.xml
generated
20
.idea/.idea.FutureMen2/.idea/workspace.xml
generated
@ -6,23 +6,16 @@
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="dc25d22b-f923-4bb5-9f5e-33e2a04fd86d" name="更改" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.FutureMen2/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.FutureMen2/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/DC/BOSS巨龟/M_Clypeosaurus.mat" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/DC/BOSS巨龟/M_Clypeosaurus.mat" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/DC/BOSS巨龟/Textures/T_Clypeosaurus_Normal.jpg" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/DC/BOSS巨龟/Textures/T_Clypeosaurus_Normal.jpg" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Luke Peek/_Common/Demo Scene/Floor.mat" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Luke Peek/_Common/Demo Scene/Floor.mat" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Monsters Full Pack Vol 1/Monsters Pack Vol 1/Cavecrawler/Materials/M_Cavecrawler.mat" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Monsters Full Pack Vol 1/Monsters Pack Vol 1/Cavecrawler/Materials/M_Cavecrawler.mat" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/Monsters Full Pack Vol 1/Monsters Pack Vol 6/Gryllunguis/Gryllunguis_Controller.controller" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/Monsters Full Pack Vol 1/Monsters Pack Vol 6/Gryllunguis/Gryllunguis_Controller.controller" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/SrRubfish_VFX_02/Materials/FX_MT_FlipbookDots_01.mat" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/SrRubfish_VFX_02/Materials/FX_MT_FlipbookDots_01.mat" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/SrRubfish_VFX_02/Materials/FX_MT_LateralSlide_02.mat" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/SrRubfish_VFX_02/Materials/FX_MT_LateralSlide_02.mat" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/SrRubfish_VFX_02/Prefabs/FX_PF_WaterSimpleProjectile_Traveling.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/SrRubfish_VFX_02/Prefabs/FX_PF_WaterSimpleProjectile_Traveling.prefab" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/StreamingAssets/build_info" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/StreamingAssets/build_info" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBoss.asset" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBoss.asset" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBoss.controller" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBoss.controller" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBoss.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBoss.prefab" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Prefabs/Enemys/TortoiseBoss/bodyQuad.mat" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Prefabs/Enemys/TortoiseBoss/bodyQuad.mat" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Scenes/Company1Floor.unity" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Scenes/Company1Floor.unity" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Data/EnemyData.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Data/EnemyData.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBugEnemy.prefab" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Prefabs/Enemys/FrogBoss/FrogBugEnemy.prefab" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Actions/FrogBossActions.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Actions/FrogBossActions.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Actions/TortoiseActions.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Actions/TortoiseActions.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Enemy/Enemy/Enemy.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Enemy/Enemy/Enemy.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBoss.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBoss.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Manager/GameManager.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Manager/GameManager.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBugEnemy.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/FrogBugEnemy.cs" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/PoisonBall.cs" beforeDir="false" afterPath="$PROJECT_DIR$/Assets/_FutureMen2/Scripts/Enemy/FrogBoss/PoisonBall.cs" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@ -144,6 +137,7 @@
|
||||
<workItem from="1768098628099" duration="753000" />
|
||||
<workItem from="1768188404069" duration="18226000" />
|
||||
<workItem from="1768273748606" duration="18086000" />
|
||||
<workItem from="1768358503398" duration="3402000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -1 +1 @@
|
||||
Build from CHINAMI-UKDLSK3 at 2026/1/13 18:40:51
|
||||
Build from CHINAMI-UKDLSK3 at 2026/1/14 11:39:15
|
||||
@ -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:
|
||||
|
||||
@ -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
|
||||
|
||||
@ -91,7 +91,6 @@ public class FrogBleepAttack : Action
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 毒液弹攻击
|
||||
/// </summary>
|
||||
@ -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<FrogBugEnemy>();
|
||||
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();
|
||||
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
|
||||
@ -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<IAstarAI>();
|
||||
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(() =>
|
||||
{
|
||||
|
||||
@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
@ -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<PoisonPool>().SetDamage(poolDamage, poolTime);
|
||||
Destroy(gameObject);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user