From 48aeec30e16321d8db8206edbf93e8968069c4f5 Mon Sep 17 00:00:00 2001 From: huade <491009149@qq.com> Date: Fri, 16 Oct 2026 18:05:50 +0800 Subject: [PATCH] =?UTF-8?q?```=20feat(StoneGolemSkill):=20=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E7=9F=B3=E5=B7=A8=E4=BA=BA=E6=8A=80=E8=83=BD=E4=BD=93?= =?UTF-8?q?=E7=B3=BB=E4=B8=8E=E8=8D=92=E9=87=8E=E7=A5=AD=E5=8F=B8=E6=8A=80?= =?UTF-8?q?=E8=83=BD=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 完成石巨人技能 StoneGolemSkill 的完整实现,包括 1~10 级技能阶梯 - 实现 1~2 级【大地震击】:3.5 米范围 160% 伤害 + 1.5 秒眩晕 - 实现 3~5 级【震荡强化】:伤害提升至 200%,范围扩大至 4.4 米 + 2 秒眩晕 - 实现 6~9 级【坚石护体】:获得 30% 最大生命值护盾,护盾期间霸体免控 - 实现 10 级【天崩地裂】:4.5 米范围 260% 伤害 + 3 米强力击退 + 2 秒眩晕 + 护盾提升至 45% 最大生命值 + 护盾期间受击减伤 35% - 添加护盾特效、冲击波动画、地面裂纹特效等视觉反馈 - 实 --- Assets/Prefabs/第二章/石巨人.prefab | 11 +- Assets/Scenes/CharacterTest.scene | Bin 162548 -> 162532 bytes Assets/Scripts/技能脚本/StoneGolemSkill.cs | 407 +- .../系统脚本/StatusEffectController.cs | 18 +- .../Materials/Basics/cloud_2x2_soft_AB.mat | 21 +- .../Misc/Unsorted/aura_punch_ADD.mat | 73 + .../Misc/Unsorted/aura_punch_ADD.mat.meta | 8 + .../Materials/Misc/Unsorted/grab2_ADD.mat | 74 + .../Misc/Unsorted/grab2_ADD.mat.meta | 8 + .../Models/Materials/verticalglow02.mat | 83 + .../Models/Materials/verticalglow02.mat.meta | 8 + .../Models/aura_straight.FBX | Bin 0 -> 24528 bytes .../Models/aura_straight.FBX.meta | 71 + .../Prefabs/Combat/Brawling.meta | 8 + .../Prefabs/Combat/Brawling/Toon.meta | 8 + .../Combat/Brawling/Toon/ToonBodySlam.prefab | 23670 ++++++++++++++++ .../Brawling/Toon/ToonBodySlam.prefab.meta | 8 + .../Textures/aura_punch.png | Bin 0 -> 4652 bytes .../Textures/aura_punch.png.meta | 57 + .../TJGeneratorLibEffects/Textures/grab2.png | Bin 0 -> 87134 bytes .../Textures/grab2.png.meta | 57 + CODELY.md | 2 + 召唤之战-角色与技能说明.md | 18 +- 23 files changed, 24565 insertions(+), 45 deletions(-) create mode 100644 Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/aura_punch_ADD.mat create mode 100644 Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/aura_punch_ADD.mat.meta create mode 100644 Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/grab2_ADD.mat create mode 100644 Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/grab2_ADD.mat.meta create mode 100644 Assets/TJGeneratorLibEffects/Models/Materials/verticalglow02.mat create mode 100644 Assets/TJGeneratorLibEffects/Models/Materials/verticalglow02.mat.meta create mode 100644 Assets/TJGeneratorLibEffects/Models/aura_straight.FBX create mode 100644 Assets/TJGeneratorLibEffects/Models/aura_straight.FBX.meta create mode 100644 Assets/TJGeneratorLibEffects/Prefabs/Combat/Brawling.meta create mode 100644 Assets/TJGeneratorLibEffects/Prefabs/Combat/Brawling/Toon.meta create mode 100644 Assets/TJGeneratorLibEffects/Prefabs/Combat/Brawling/Toon/ToonBodySlam.prefab create mode 100644 Assets/TJGeneratorLibEffects/Prefabs/Combat/Brawling/Toon/ToonBodySlam.prefab.meta create mode 100644 Assets/TJGeneratorLibEffects/Textures/aura_punch.png create mode 100644 Assets/TJGeneratorLibEffects/Textures/aura_punch.png.meta create mode 100644 Assets/TJGeneratorLibEffects/Textures/grab2.png create mode 100644 Assets/TJGeneratorLibEffects/Textures/grab2.png.meta diff --git a/Assets/Prefabs/第二章/石巨人.prefab b/Assets/Prefabs/第二章/石巨人.prefab index 7476330..16babd4 100644 --- a/Assets/Prefabs/第二章/石巨人.prefab +++ b/Assets/Prefabs/第二章/石巨人.prefab @@ -243,6 +243,7 @@ MonoBehaviour: indicatorHeight: 0.35 stunIndicatorPrefab: {fileID: 2432573200162841629, guid: de288ea16be0c1544a4c6eb71e899570, type: 3} + isStunImmune: 0 --- !u!114 &8177884011524007471 MonoBehaviour: m_ObjectHideFlags: 0 @@ -294,12 +295,14 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7e2a57697b0364e3889c18bf7a0cd09e, type: 3} m_Name: m_EditorClassIdentifier: - skillDamage: 110 - skillRadius: 2 - stunDuration: 1 - skillAnimationDuration: 0 + baseRadius: 3.5 + skillAnimationDuration: 2.3 + slamVfxPrefab: {fileID: 195466, guid: 906a88e8c5e24f1fbacd8675848fb29a, type: 3} shockwaveEffectPrefab: {fileID: 2197285705285267162, guid: c2264ab9308eec342a9aabba9e806a39, type: 3} + groundCrackPrefab: {fileID: 1670833528851026573, guid: 066bbd566f6034806a29d1e0a6517df4, + type: 3} + shieldVfxPrefab: {fileID: 106386, guid: 439cf2d390c444d6b428b530f5b7eec3, type: 3} --- !u!114 &297234283086109498 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/CharacterTest.scene b/Assets/Scenes/CharacterTest.scene index 23d043ca902471f227c3274a6be2e9cf1b6ee73b..3760a542a5080d2201d8a97862e081ce43067924 100644 GIT binary patch delta 7236 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 aZjZH`;ZoXJC;qpWu9N;o2j^NB-~Rzm)XmBO diff --git a/Assets/Scripts/技能脚本/StoneGolemSkill.cs b/Assets/Scripts/技能脚本/StoneGolemSkill.cs index e8aec1b..71239bc 100644 --- a/Assets/Scripts/技能脚本/StoneGolemSkill.cs +++ b/Assets/Scripts/技能脚本/StoneGolemSkill.cs @@ -1,65 +1,408 @@ +using System.Collections; +using System.Collections.Generic; using UnityEngine; +/// +/// 石巨人技能:大地震击 / 天崩地裂体系(重装控制 / 护盾控场 · 1/3/6/10 级完整阶梯) +/// 1级【大地震击】:双拳猛砸地面引发冲击波,对周围 3.5 米造成 160% 物理伤害并【眩晕 1.5 秒】 +/// 3级【震荡强化】:伤害提升至 200%,范围扩大 25% (4.4米),【眩晕时间延长至 2.0 秒】 +/// 6级【坚石护体】:拍地瞬间获得相当于 30% 最大生命值的坚固护盾(MagicShieldBlue),护盾期间霸体免控,【依然保留 2.0 秒大范围眩晕】 +/// 10级【天崩地裂】:双拳轰砸地面爆发全场重度地裂(GroundCrack),范围 4.5 米造成 260% 巨额物理伤害, +/// 【强力向外震退 3.0 米 + 眩晕 2.0 秒(击退加眩晕双重效果)】!护盾厚度提升至 45% 最大生命值,且护盾存在期间自身受到伤害降低 35%! +/// public class StoneGolemSkill : UnitSkill { - [Header("地裂参数")] - [Min(0f)] - public float skillDamage = 110f; + [Header("技能基础配置")] + [Tooltip("基础震荡波半径 (米)")] + public float baseRadius = 3.5f; - [Min(0.1f)] - public float skillRadius = 2f; + [Tooltip("技能动画完整时长 (秒)")] + public float skillAnimationDuration = 2.3f; - [Min(0f)] - public float stunDuration = 1f; + [Header("特效资源")] + [Tooltip("砸地冲击波核心特效 (ToonBodySlam)")] + public GameObject slamVfxPrefab; - [Header("技能动画")] - [Min(0f)] - public float skillAnimationDuration = 0f; - - [Header("特效")] + [Tooltip("环形扩散光圈特效 (ShockwaveRing)")] public GameObject shockwaveEffectPrefab; - private bool isSkillReady; + [Tooltip("地面重度地裂特效 (地裂.prefab)")] + public GameObject groundCrackPrefab; - public override void ReleaseSkill() + [Tooltip("坚石护体护盾特效 (MagicShieldBlue)")] + public GameObject shieldVfxPrefab; + + private bool isSkillPending = false; + private GameObject activeShieldVfxInstance; + private Coroutine activeShieldCoroutine; + + private void EnsureUnit() { if (unit == null) { - return; + unit = GetComponent(); } + } + + protected override void Awake() + { + base.Awake(); + EnsureUnit(); + } + + /// + /// 当能量蓄满时触发:播放石巨人双拳高举蓄力猛砸地面动作 + /// + public override void ReleaseSkill() + { + EnsureUnit(); + if (unit == null) return; + + WorldHealthBar healthBar = unit.GetComponent(); + if (healthBar == null || healthBar.IsDead) return; unit.FaceCurrentTarget(0f); - isSkillReady = true; - unit.PlaySkillAnimation(OnSkillFinished, skillAnimationDuration); + isSkillPending = true; + + // 播放石巨人技能动作,由 OnSkillHit1 帧触发双拳砸地命中 + unit.PlaySkillAnimation(OnSkillAnimationFinished, skillAnimationDuration); + Debug.Log($"【石巨人】释放技能【大地震击/天崩地裂】,蓄力猛砸地面!"); } - // 添加到地裂技能动画的命中帧;在命中帧结算伤害和眩晕。 + /// + /// 动画命中帧方法:双拳猛砸接触地面的瞬间触发 (OnSkillHit1) + /// public void OnSkillHit1() { - if (!isSkillReady) + ExecuteGroundSlam(); + } + + public void OnAttackEffect() + { + if (isSkillPending) { - return; + ExecuteGroundSlam(); + } + } + + /// + /// 执行砸地冲击波伤害、眩晕、击退与生成护盾 + /// + private void ExecuteGroundSlam() + { + if (!isSkillPending) return; + isSkillPending = false; + + EnsureUnit(); + if (unit == null) return; + + WorldHealthBar healthBar = unit.GetComponent(); + if (healthBar == null || healthBar.IsDead) return; + + int level = unit.level; + + float currentRadius = baseRadius; + float damageMultiplier = 1.60f; + float stunDuration = 1.5f; + float knockbackDist = 0f; + + if (level >= 10) + { + currentRadius = 4.5f; + damageMultiplier = 2.60f; + stunDuration = 2.0f; // 10级:眩晕 2.0 秒 + knockbackDist = 3.0f; // 10级:击退加眩晕双重效果! + } + else if (level >= 3) + { + currentRadius = baseRadius * 1.25f; // 4.375 米 + damageMultiplier = 2.00f; + stunDuration = 2.0f; // 3~9级:眩晕 2.0 秒,无击退 + knockbackDist = 0f; + } + else + { + currentRadius = baseRadius; + damageMultiplier = 1.60f; + stunDuration = 1.5f; // 1~2级:眩晕 1.5 秒,无击退 + knockbackDist = 0f; } - // 生成扩散光圈特效 - if (shockwaveEffectPrefab != null) + float totalDamage = unit.attackPower * damageMultiplier; + + // 1. 播放砸地冲击波特效 (ToonBodySlam + ShockwaveRing) + PlayShockwaveVfx(currentRadius, level >= 10); + + // 2. 10级额外播放地面重度地裂特效 (GroundCrack) + if (level >= 10) { - Vector3 effectPosition = unit.transform.position; - var effectObj = Instantiate(shockwaveEffectPrefab, effectPosition, shockwaveEffectPrefab.transform.rotation); - ShockwaveRing shockwave = effectObj.GetComponent(); + PlayGroundCrackVfx(currentRadius); + } + + // 3. 结算大范围物理伤害、眩晕控制,以及10级强力震退 + ApplyAreaImpact(currentRadius, totalDamage, stunDuration, knockbackDist); + + // 4. 6级+ 激活【坚石护体】护盾 (6级 30%, 10级 45% 最大血量) + float shieldRatio = level >= 10 ? 0.45f : (level >= 6 ? 0.30f : 0f); + if (shieldRatio > 0f) + { + float shieldAmount = healthBar.maxHealth * shieldRatio; + healthBar.AddShield(shieldAmount); + PlayShieldVfx(); + + if (activeShieldCoroutine != null) + { + StopCoroutine(activeShieldCoroutine); + } + activeShieldCoroutine = StartCoroutine(ShieldTimeoutRoutine(6.0f, shieldAmount)); + } + + Debug.Log($"【石巨人·大地震击】轰地! 伤害: {totalDamage:F1} ({damageMultiplier * 100:F0}%), 半径: {currentRadius:F1}m, 眩晕: {stunDuration:F1}s, 震退: {knockbackDist:F1}m (等级: {level})"); + } + + private void PlayShockwaveVfx(float radius, bool isUltimate) + { + // 1. 砸地核心冲击波特效 (ToonBodySlam: 气浪扩散 + 尘烟飞散 + 火星) + GameObject slamPrefab = slamVfxPrefab; +#if UNITY_EDITOR + if (slamPrefab == null) + { + slamPrefab = UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/TJGeneratorLibEffects/Prefabs/Combat/Brawling/Toon/ToonBodySlam.prefab"); + } +#endif + if (slamPrefab != null && unit != null) + { + Vector3 slamPos = unit.transform.position + unit.transform.forward * 0.8f; + slamPos.y = 0.05f; + var slamObj = Instantiate(slamPrefab, slamPos, Quaternion.identity); + slamObj.transform.localScale = Vector3.one * (radius / 2.2f); + Destroy(slamObj, 2.0f); + } + + // 2. 地面扩散光圈 (ShockwaveRing) + GameObject ringPrefab = shockwaveEffectPrefab; +#if UNITY_EDITOR + if (ringPrefab == null) + { + ringPrefab = UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/Prefabs/特效/扩散光圈/ShockwaveRing.prefab"); + } +#endif + if (ringPrefab != null && unit != null) + { + Vector3 effectPos = unit.transform.position; + effectPos.y = 0.05f; + var effectObj = Instantiate(ringPrefab, effectPos, ringPrefab.transform.rotation); + var shockwave = effectObj.GetComponent(); if (shockwave != null) { - shockwave.Play(); + Color ringColor = isUltimate ? new Color(1.0f, 0.45f, 0.15f, 1f) : new Color(0.9f, 0.7f, 0.35f, 1f); + shockwave.SetupEffect(radius, 0.8f, ringColor); } } - - unit.ApplyAreaSkillDamage(skillRadius, skillDamage, false); - unit.ApplyAreaStun(skillRadius, stunDuration); - isSkillReady = false; } - private void OnSkillFinished() + private void PlayGroundCrackVfx(float radius) { - isSkillReady = false; + GameObject prefab = groundCrackPrefab; +#if UNITY_EDITOR + if (prefab == null) + { + prefab = UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/Prefabs/特效/地裂特效/地裂.prefab"); + } +#endif + if (prefab != null && unit != null) + { + Vector3 crackPos = unit.transform.position; + crackPos.y = 0.06f; + var crackObj = Instantiate(prefab, crackPos, prefab.transform.rotation); + crackObj.transform.localScale = Vector3.one * (radius * 1.4f); + var groundCrack = crackObj.GetComponent(); + if (groundCrack != null) + { + groundCrack.Play(); + } + Destroy(crackObj, 3.0f); + } + } + + private void PlayShieldVfx() + { + if (activeShieldVfxInstance != null) + { + Destroy(activeShieldVfxInstance); + } + + GameObject prefab = shieldVfxPrefab; +#if UNITY_EDITOR + if (prefab == null) + { + prefab = UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/TJGeneratorLibEffects/Prefabs/Combat/Magic/Shield/MagicShieldBlue.prefab"); + } +#endif + if (prefab != null && unit != null) + { + // 调整护盾挂载高度与缩放:与盾卫视觉比例一致协调 (1.15倍),不再过于庞大 + activeShieldVfxInstance = Instantiate(prefab, unit.transform.position + Vector3.up * 1.1f, Quaternion.identity); + activeShieldVfxInstance.transform.SetParent(unit.transform, true); + activeShieldVfxInstance.transform.localScale = Vector3.one * 1.15f; + } + } + + private IEnumerator ShieldTimeoutRoutine(float duration, float amount) + { + float timer = duration; + WorldHealthBar healthBar = unit != null ? unit.GetComponent() : null; + var status = unit != null ? unit.GetComponent() : null; + + // 护盾期间霸体免控 + if (status != null) + { + status.isStunImmune = true; + } + + while (timer > 0f) + { + if (unit == null || healthBar == null || healthBar.IsDead || healthBar.currentShield <= 0f) + { + break; + } + timer -= Time.deltaTime; + yield return null; + } + + // 护盾解除恢复正常免控状态 + if (status != null) + { + status.isStunImmune = false; + } + + // 超时或护盾清空时销毁护盾特效 + if (activeShieldVfxInstance != null) + { + Destroy(activeShieldVfxInstance); + activeShieldVfxInstance = null; + } + + // 超时扣除护盾 + if (healthBar != null && healthBar.currentShield > 0f && timer <= 0f) + { + healthBar.RemoveShield(amount); + } + } + + private void ApplyAreaImpact(float radius, float damage, float stunDuration, float knockback) + { + UnitTeam myTeam = unit.GetComponent(); + if (myTeam == null) return; + + float sqrRadius = radius * radius; + Vector3 myPos = unit.transform.position; + var allTeams = FindObjectsOfType(); + HashSet hitRoots = new HashSet(); + + foreach (var t in allTeams) + { + if (t == null || !t.gameObject.activeInHierarchy || !myTeam.IsEnemy(t.gameObject)) continue; + + GameObject opponent = t.gameObject; + if (opponent == unit.gameObject || opponent.transform.IsChildOf(unit.transform) || unit.transform.IsChildOf(opponent.transform)) continue; + + Vector3 offset = opponent.transform.position - myPos; + offset.y = 0f; + if (offset.sqrMagnitude <= sqrRadius) + { + GameObject rootGo = opponent.transform.root.gameObject; + if (!hitRoots.Add(rootGo)) continue; + + // 1. 伤害与眩晕结算 + UnitBase targetUnit = opponent.GetComponentInParent(); + WorldHealthBar targetBar = opponent.GetComponentInParent(); + + if (targetUnit != null) + { + targetUnit.ReceiveDamage(damage, unit.gameObject); + if (stunDuration > 0f && targetUnit.IsAlive) + { + targetUnit.ApplyStun(stunDuration); + Debug.Log($"【大地震击】眩晕生效! 目标 {targetUnit.gameObject.name} 眩晕 {stunDuration:F1} 秒!"); + } + } + else if (targetBar != null && !targetBar.IsDead) + { + targetBar.TakeDamage(damage, unit.gameObject); + var status = opponent.GetComponentInParent(); + if (status != null && stunDuration > 0f) + { + status.ApplyStun(stunDuration); + } + } + + // 2. 10级强力向外震退 (与眩晕并存) + if (knockback > 0f) + { + Vector3 pushDir = offset.sqrMagnitude > 0.001f ? offset.normalized : unit.transform.forward; + ApplyKnockback(opponent, pushDir * knockback); + } + } + } + } + + private void ApplyKnockback(GameObject victim, Vector3 displacement) + { + UnityEngine.AI.NavMeshAgent agent = victim.GetComponentInParent(); + Transform targetTr = agent != null ? agent.transform : victim.transform; + Vector3 targetPos = targetTr.position + displacement; + + if (UnityEngine.AI.NavMesh.SamplePosition(targetPos, out UnityEngine.AI.NavMeshHit hit, 2.0f, UnityEngine.AI.NavMesh.AllAreas)) + { + targetPos = hit.position; + } + + if (agent != null && agent.enabled && agent.isOnNavMesh) + { + agent.Warp(targetPos); + } + else + { + targetTr.position = targetPos; + } + + Debug.Log($"【天崩地裂·排山倒海】! 目标 {victim.name} 被强力震飞推开 {displacement.magnitude:F1} 米!"); + } + + public override float ModifyIncomingDamage(float damage, GameObject attacker) + { + EnsureUnit(); + // 10级解锁:护盾存在期间自身受到伤害降低 35% + if (unit != null && unit.level >= 10) + { + WorldHealthBar healthBar = unit.GetComponent(); + if (healthBar != null && healthBar.currentShield > 0f) + { + return damage * (1f - 0.35f); + } + } + return damage; + } + + private void OnSkillAnimationFinished() + { + if (isSkillPending) + { + ExecuteGroundSlam(); // 容错兜底:动画结束若未触发命中帧,自动执行 + } + } + + private void OnDestroy() + { + if (activeShieldVfxInstance != null) + { + Destroy(activeShieldVfxInstance); + } + var status = unit != null ? unit.GetComponent() : null; + if (status != null) + { + status.isStunImmune = false; + } } } diff --git a/Assets/Scripts/系统脚本/StatusEffectController.cs b/Assets/Scripts/系统脚本/StatusEffectController.cs index 6e122ae..3f470f7 100644 --- a/Assets/Scripts/系统脚本/StatusEffectController.cs +++ b/Assets/Scripts/系统脚本/StatusEffectController.cs @@ -143,7 +143,23 @@ public class StatusEffectController : MonoBehaviour private void EnsureIndicator() { - if (stunIndicator != null || stunIndicatorPrefab == null) + if (stunIndicator != null) + { + return; + } + + if (stunIndicatorPrefab == null) + { + stunIndicatorPrefab = Resources.Load("Prefabs/特效/眩晕头顶星星/眩晕星星粒子"); +#if UNITY_EDITOR + if (stunIndicatorPrefab == null) + { + stunIndicatorPrefab = UnityEditor.AssetDatabase.LoadAssetAtPath("Assets/Prefabs/特效/眩晕头顶星星/眩晕星星粒子.prefab"); + } +#endif + } + + if (stunIndicatorPrefab == null) { return; } diff --git a/Assets/TJGeneratorLibEffects/Materials/Basics/cloud_2x2_soft_AB.mat b/Assets/TJGeneratorLibEffects/Materials/Basics/cloud_2x2_soft_AB.mat index c70fa75..7abf426 100644 --- a/Assets/TJGeneratorLibEffects/Materials/Basics/cloud_2x2_soft_AB.mat +++ b/Assets/TJGeneratorLibEffects/Materials/Basics/cloud_2x2_soft_AB.mat @@ -1,14 +1,20 @@ %YAML 1.1 -%TAG !u! tag:unity3d.com,2011: +%TAG !u! tag:yousandi.cn,2023: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: cloud_2x2_soft_AB m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON _FADING_ON + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHABLEND_ON + - _FADING_ON + m_InvalidKeywords: [] m_LightmapFlags: 0 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -16,7 +22,8 @@ Material: stringTagMap: RenderType: Transparent disabledShaderPasses: - - ALWAYS + - GRABPASS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -32,6 +39,7 @@ Material: m_Texture: {fileID: 2800000, guid: 2415a61019924a3f98520fa4a2266920, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _BlendOp: 0 - _BumpScale: 1 @@ -63,3 +71,4 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SoftParticleFadeParams: {r: 0, g: 1, b: 0, a: 0} - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} + m_BuildTextureStacks: [] diff --git a/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/aura_punch_ADD.mat b/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/aura_punch_ADD.mat new file mode 100644 index 0000000..589f636 --- /dev/null +++ b/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/aura_punch_ADD.mat @@ -0,0 +1,73 @@ +%YAML 1.1 +%TAG !u! tag:yousandi.cn,2023: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: aura_punch_ADD + m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHABLEND_ON + m_InvalidKeywords: [] + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - GRABPASS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: d084c1b5a2374cc5a82258a8908ec4fd, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ColorMode: 0 + - _Cull: 0 + - _Cutoff: 0.5 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 1 + - _EmissionEnabled: 0 + - _FlipbookMode: 0 + - _InvFade: 3 + - _LightingEnabled: 0 + - _Mode: 4 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SrcBlend: 5 + - _ZWrite: 0 + m_Colors: + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} + - _TintColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 0.5} + m_BuildTextureStacks: [] diff --git a/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/aura_punch_ADD.mat.meta b/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/aura_punch_ADD.mat.meta new file mode 100644 index 0000000..e34ed2e --- /dev/null +++ b/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/aura_punch_ADD.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5014441e87bd413f833a397c368ed483 +timeCreated: 1455804790 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/grab2_ADD.mat b/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/grab2_ADD.mat new file mode 100644 index 0000000..fd3769c --- /dev/null +++ b/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/grab2_ADD.mat @@ -0,0 +1,74 @@ +%YAML 1.1 +%TAG !u! tag:yousandi.cn,2023: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: grab2_ADD + m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHABLEND_ON + - _FADING_ON + m_InvalidKeywords: [] + m_LightmapFlags: 0 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - GRABPASS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: d9e984540f9a49c7869df85911684aa8, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ColorMode: 0 + - _Cull: 0 + - _Cutoff: 0.5 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 1 + - _EmissionEnabled: 0 + - _FlipbookMode: 0 + - _InvFade: 3 + - _LightingEnabled: 0 + - _Mode: 4 + - _SoftParticlesEnabled: 1 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SrcBlend: 5 + - _ZWrite: 0 + m_Colors: + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 1, b: 0, a: 0} + - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} + m_BuildTextureStacks: [] diff --git a/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/grab2_ADD.mat.meta b/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/grab2_ADD.mat.meta new file mode 100644 index 0000000..59e76ae --- /dev/null +++ b/Assets/TJGeneratorLibEffects/Materials/Misc/Unsorted/grab2_ADD.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7dcc2a885f5043eeafe672ca2327287f +timeCreated: 1454683415 +licenseType: Store +NativeFormatImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TJGeneratorLibEffects/Models/Materials/verticalglow02.mat b/Assets/TJGeneratorLibEffects/Models/Materials/verticalglow02.mat new file mode 100644 index 0000000..c84f9f6 --- /dev/null +++ b/Assets/TJGeneratorLibEffects/Models/Materials/verticalglow02.mat @@ -0,0 +1,83 @@ +%YAML 1.1 +%TAG !u! tag:yousandi.cn,2023: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: verticalglow02 + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.588, g: 0.588, b: 0.588, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/TJGeneratorLibEffects/Models/Materials/verticalglow02.mat.meta b/Assets/TJGeneratorLibEffects/Models/Materials/verticalglow02.mat.meta new file mode 100644 index 0000000..4cbd640 --- /dev/null +++ b/Assets/TJGeneratorLibEffects/Models/Materials/verticalglow02.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: Wi5Osnn4BnoQRvxvdSsr5ot71KhJTCPo4aQ7FAQp1tSp9wvEGLK0c/4= +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TJGeneratorLibEffects/Models/aura_straight.FBX b/Assets/TJGeneratorLibEffects/Models/aura_straight.FBX new file mode 100644 index 0000000000000000000000000000000000000000..a54e61590a4aa76029b52cdf27895b0d6ce1135d GIT binary patch literal 24528 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 NC>Zq_==bhlq+0 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 UctrN60_fMDW>%)P#-1tv13L)ihyVZp literal 0 HcmV?d00001 diff --git a/Assets/TJGeneratorLibEffects/Textures/grab2.png.meta b/Assets/TJGeneratorLibEffects/Textures/grab2.png.meta new file mode 100644 index 0000000..d9c9d91 --- /dev/null +++ b/Assets/TJGeneratorLibEffects/Textures/grab2.png.meta @@ -0,0 +1,57 @@ +fileFormatVersion: 2 +guid: d9e984540f9a49c7869df85911684aa8 +timeCreated: 1454682949 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 2 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + linearTexture: 0 + correctGamma: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 0 + cubemapConvolution: 0 + cubemapConvolutionSteps: 7 + cubemapConvolutionExponent: 1.5 + seamlessCubemap: 0 + textureFormat: -1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + rGBM: 0 + compressionQuality: 50 + allowsAlphaSplitting: 0 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaIsTransparency: 1 + textureType: -1 + buildTargetSettings: [] + spriteSheet: + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/CODELY.md b/CODELY.md index 3a976d9..4f492cb 100644 --- a/CODELY.md +++ b/CODELY.md @@ -165,6 +165,8 @@ - [2026-10-14 21:05:29] 2026-10-14 狂暴狼人技能规范更新:1. 技能确立为原地利爪撕裂(无位移飞扑),技能名称统一为【利爪撕裂】;2. 去除6级扇形小范围撕扯,各等级始终保持纯粹单体撕裂与流血;3. 6级专注保留【背水一战】(自身血量每降低10%,受击减免+3%、吸血+5%)。文档与WerewolfSkill.cs代码已完全同步。 - [2026-10-14 22:52:23] 2026-10-14 关卡章节与教学副本体系定稿:1. 独立新手教学区(序章5关),英雄在战场出现,通关开宝箱逐关解锁;2. 正式章节每章固定10关,每关6~8波小怪+2~3名敌方英雄压阵,第10关为大Boss关;3. 每关通关宝箱定向产出特定英雄碎片;4. 关卡支持1~10阶难度逐级解锁,仅通过怪物等级Level与数量密度缩放实现低成本超长游戏寿命。已同步写入《召唤之战-核心玩法塔防版.md》。 - [2026-10-15 20:27:34] 2026-10-15 优化石巨人技能设计:彻底剔除降低移速等鸡肋机制,10级大招【天崩地裂】改为260%巨额伤害+强力击退震飞3米(推开防线)+45%最大血量护盾+35%受击减伤,强化纯重装控场防线作用。文档已同步更新。 +- [2026-10-16 10:56:38] 2026-10-16 石巨人技能 StoneGolemSkill 实现完成:1~9级附带范围眩晕(1.5s~2s),10级为3m强力击退+2s眩晕双重效果;护盾特效缩放微调为1.15x,砸地接入ToonBodySlam冲击波烟尘粒子,StatusEffectController自动兜底加载眩晕星星粒子。 +- [2026-10-16 11:30:36] 2026-10-16 补齐第二章英雄荒野祭司(治疗型辅助)技能体系:1级【先祖愈合】急救单体残血友军(220%+残血额外30%);3级数值提升至280%+减伤15%;6级【生命传导】质变为弹射治疗链(弹射2人)+3秒草木回春;10级【远古图腾圣域】阵地插生命图腾(每秒回血+全队25%减伤+1次免死)。文档已同步。 ### Reference - [2026-09-09 12:23:17] 飞行物脚本 Projectile.cs 负责锁敌追踪、碰撞检测和伤害结算。箭矢预制体 ArrowProjectile_White.prefab 已配置 Projectile 组件和 CapsuleCollider(Is Trigger)。远程单位需在攻击动画松弦帧添加 OnAttackEffect Event,并在 UnitBase 中设置 attackType=RangedProjectile、projectilePrefab、projectileSpawnPoint。 diff --git a/召唤之战-角色与技能说明.md b/召唤之战-角色与技能说明.md index a6a14e8..9363368 100644 --- a/召唤之战-角色与技能说明.md +++ b/召唤之战-角色与技能说明.md @@ -78,6 +78,7 @@ | 荒野猎手 | 正常人形 | 远程重矛、后排狙杀 | 待更新模型(原弓箭猎人) | | 狂暴狼人 | 人形兽类 | 吸血战坦、前排持续续航 | 已有 Prefab | | 石巨人 | 大体型构造体 | 重型前排、范围控制 | 已有 Prefab | +| 荒野祭司 | 正常人形 | 远程治疗、团队急救与增益 | 待接入 Prefab | ### 英雄数值原则 @@ -200,7 +201,7 @@ CharacterData 基础属性 - 狂暴狼人:吸血战坦,原地利爪撕裂重创目标并狂暴,依靠高额普攻吸血与残血减伤在前排屹立不倒。 - 荒野猎手:远程重矛,锁定大范围内最远距离的敌方目标,后排高伤狙杀与强力后仰击退(原弓箭猎人)。 - 石巨人:高生命重型前排,拥有范围控制能力。 -- 荒野祭司:辅助治疗和范围支援,后续制作。 +- 荒野祭司:远程治疗辅助,单体急救、弹射治疗链与远古图腾圣域(待接入 Prefab)。 - 荒野之王:大型精英前排,作为章节 Boss 或高阶英雄,后续制作。 ### 第二章英雄技能阶梯解锁表 @@ -232,6 +233,15 @@ CharacterData 基础属性 | **6 级 · 机制质变 · 核心好玩点** | **坚石护体**:重拍地面击碎岩石吸附自身,拍地瞬间**获得相当于 30% 最大生命值的坚固护盾**(挂 `MagicShieldBlue`),护盾期间霸体免控! | | **10 级 · 终极质变大招 · 攻防高光** | **天崩地裂**:双拳轰砸地面爆发全场重度地裂,对周围 4.5 米所有敌人造成 **260% 巨额物理伤害**,并激起排山倒海的冲击波**将范围内所有敌人强力向外震退 3.0 米**(彻底推离防线,打乱敌军阵型)!同时护盾厚度额外提升至 **45% 最大生命值**,且护盾存在期间自身**受到伤害降低 35%**! | +#### 荒野祭司(远程治疗 / 团队辅助) + +| 阶梯节点 | 技能效果 | +|---|---| +| **1 级 · 基础解锁** | **先祖愈合**:高举祭祀法杖引动自然生机,锁定全场**生命值百分比最低的友方英雄**,降下愈合之光(`HealNova`)瞬间回复相当于祭司攻击力 **220% 的生命值**;若目标生命值低于 40%,触发急救效果,治疗量额外提升 30%! | +| **3 级 · 数值强化** | 基础治疗量提升至 **280%**,急救触发阈值放宽至低于 50% 生命值且急救治疗提升至 50%!愈合附带自然微风,使受治疗目标在后续 3 秒内受到伤害降低 15%! | +| **6 级 · 机制质变 · 核心好玩点** | **生命传导(治疗链)**:愈合之光在救治首要目标后,**自动向外弹射折射给周围 2 名受伤的友方单位**(折射造成 60% 治疗量,通过 `cureBall` 连环飞射);并在受治疗单位脚下生成持续 3 秒的【草木回春】(每秒持续恢复 4% 最大生命值)!从单体急救质变为强力群抬! | +| **10 级 · 终极质变大招 · 攻防高光** | **远古图腾圣域**:施法在友方阵地中心拔地升起一座**【先祖生命图腾】(持续 6 秒)**!图腾每秒向全场友方英雄激发生命脉冲(每秒群体回血 120 点),**且图腾存在期间全场友方英雄受到的所有伤害降低 25%**;若场上有友方英雄在此期间受到致命伤害,图腾立即碎裂自毁,为其**抵挡该次死劫并瞬间回血 30%**(保底免死护航,每局限触发 1 次)! | + #### 蓝色怪物(控场反制 / 元素护盾) | 阶梯节点 | 技能效果 | @@ -256,7 +266,7 @@ CharacterData 基础属性 - 嗜血撕咬:重创敌人吸血,并激活高额普攻吸血与攻速。 - 穿心猎矛:超远距离狙杀最远敌人,距离越远伤害越高。 - 地裂:范围伤害并造成控制与击退。 -- 治疗波:治疗范围内友军。 +- 先祖愈合:急救单体残血友军,进阶弹射治疗链与远古图腾圣域。 - 冲击波:直线伤害并击退。 ## 五、第三章:沉没沼泽 @@ -418,6 +428,10 @@ UnitBase - **城堡法师火球攻击/技能**: - **火球飞弹**:`Assets/TJGeneratorLibEffects/Prefabs/Combat/Missiles/FireballSharp/FireballSharpMissileFire.prefab`(尖锐烈焰火球飞弹) - **火球落地爆破**:`Assets/TJGeneratorLibEffects/Prefabs/Combat/Explosions/MagicExplosion/MagicExplosionFire.prefab`(烈焰散落爆破) + - **地面火海灼烧**:`Assets/TJGeneratorLibEffects/Prefabs/Environment/Fire/Cartoon/Field Intense/FireFieldIntenseRed.prefab` +- **荒野祭司治疗技能**: + - **急救/弹射治疗链**:`Assets/Prefabs/特效/飞球/cureBall.prefab` + - **落地治愈冲击波**:`Assets/TJGeneratorLibEffects/Prefabs/Interactive/Healing/HealNova.prefab` #### 2. 召唤师与全局技能特效 - **召唤师治疗技能(神圣赞歌/群体治疗)**: