```
feat(gameplay): 更新狼人技能机制并优化战斗体验 - 重命名【嗜血狂暴】为【利爪撕裂】,调整技能描述和效果说明 - 新增技能动作加速配置,将2.4秒动画压缩至1.0秒提升出招速度 - 10级【不灭狼王】新增巨狼化体型放大1.25倍效果 - 统一技能伤害模式,移除6级扇形AOE改为纯粹单体撕裂 - 添加狼王爆发红光特效和体型缩放平滑过渡动画 - 荆野猎手攻击时长从0调整为1.2秒以改善战斗节奏 ```
This commit is contained in:
1 parent
2ff98e8923
commit
714cb7d825
19 files changed
+14872
-116
No files matched your search
@@ -298,8 +298,11 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 67edc73fe4fd94ef490bff08abcc862c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
skillTargetDuration: 1
|
||||
clawSlashVfxPrefab: {fileID: 171468, guid: 54a379bd213748a5aa438ae19b894aad, type: 3}
|
||||
bloodHitVfxPrefab: {fileID: 167524, guid: b2d064a2bb734666bcb5e0851eee5a4d, type: 3}
|
||||
wolfKingRageVfxPrefab: {fileID: 1027116103833860, guid: c2435bf680214875aed9156b42660547,
|
||||
type: 3}
|
||||
--- !u!1001 &6397565237544471551
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -281,7 +281,7 @@ MonoBehaviour:
|
||||
lifestealRate: 0
|
||||
damageReductionRate: 0
|
||||
skillChargeMultiplier: 1
|
||||
attackDuration: 0
|
||||
attackDuration: 1.2
|
||||
attackType: 2
|
||||
projectilePrefab: {fileID: 2737986478346178577, guid: 52277d7ec0cc74b40afefb3e5728bd11,
|
||||
type: 3}
|
||||
|
||||
Binary file not shown.
@@ -4,13 +4,17 @@ using UnityEngine;
|
||||
|
||||
/// <summary>
|
||||
/// 狂暴狼人技能:嗜血狂暴体系(吸血战坦 · 1/3/6/10 级完整阶梯)
|
||||
/// 1级【嗜血狂暴】:重抓撕咬造成 150% 伤害(立即回复该次伤害 50% 生命);激活 5 秒【嗜血状态】,普攻吸血 +30%,攻速 +25%
|
||||
/// 3级【血脉沸腾】:嗜血状态延长至 6.5 秒,期间普攻吸血提升至 45%,攻速 +35%,撕咬伤害提升至 190%
|
||||
/// 6级【残虐血性】:撕咬升级为前方扇形 AOE 撕裂;嗜血期间触发【背水一战】:自身血量每降低 10%,伤害减免 +3%,普攻吸血额外 +5%
|
||||
/// 10级【不灭狼王】:释放技能临时提升 35% 最大生命值上限及等额回血;技能期间只要击杀敌人,立即回复 20% 最大生命值并刷新嗜血时间!
|
||||
/// 1级【利爪撕裂】:原地撕咬重创造成 150% 物理伤害(立即回复该次伤害 50% 的生命);并激活持续 5 秒的【嗜血状态】,普攻吸血 +30% 且攻速 +25%
|
||||
/// 3级【血脉沸腾】:嗜血状态延长至 6.5 秒;期间普攻吸血提升至 45%,攻速提升至 35%,撕裂伤害提升至 190%!且单体撕裂附带流血撕口!
|
||||
/// 6级【背水一战】:保持纯粹单体撕裂;处于嗜血状态时触发【背水一战】:自身血量每降低 10%,受击伤害减免 +3%,普攻吸血额外 +5%(血越残越硬越能吸,真正的打不死战坦)!
|
||||
/// 10级【不灭狼王】:释放技能爆发狼王之怒,体型放大 1.25 倍(巨狼化)、临时提升 35% 最大生命值上限并获得等额生命回复!技能期间只要击杀敌人,立即瞬间回复 20% 最大生命值并刷新嗜血狂暴时间!
|
||||
/// </summary>
|
||||
public class WerewolfSkill : UnitSkill
|
||||
{
|
||||
[Header("动作加速配置")]
|
||||
[Tooltip("技能动画目标时长(秒)。原动画长达 2.4s,压缩至 1.0s 实现出招速度翻倍以上")]
|
||||
public float skillTargetDuration = 1.0f;
|
||||
|
||||
[Header("特效资源")]
|
||||
[Tooltip("重抓抓痕特效 (SwordSlashMiniRed)")]
|
||||
public GameObject clawSlashVfxPrefab;
|
||||
@@ -18,6 +22,9 @@ public class WerewolfSkill : UnitSkill
|
||||
[Tooltip("受击鲜血爆裂特效 (BloodExplosion)")]
|
||||
public GameObject bloodHitVfxPrefab;
|
||||
|
||||
[Tooltip("10级狼王爆发红光特效 (EnergyExplosionRed)")]
|
||||
public GameObject wolfKingRageVfxPrefab;
|
||||
|
||||
private bool isSkillPending = false;
|
||||
private bool isBloodthirstActive = false;
|
||||
private float bloodthirstTimer = 0f;
|
||||
@@ -30,6 +37,11 @@ public class WerewolfSkill : UnitSkill
|
||||
private float appliedAttackSpeedMultiplier = 1f;
|
||||
private float temporaryBonusMaxHealth = 0f;
|
||||
|
||||
// 10 级体型放大记录与协程
|
||||
private Vector3 originalModelScale = Vector3.one;
|
||||
private bool isScaleBoosted = false;
|
||||
private Coroutine scaleCoroutine;
|
||||
|
||||
private void EnsureUnit()
|
||||
{
|
||||
if (unit == null)
|
||||
@@ -42,11 +54,16 @@ public class WerewolfSkill : UnitSkill
|
||||
{
|
||||
base.Awake();
|
||||
EnsureUnit();
|
||||
if (unit != null)
|
||||
{
|
||||
originalModelScale = unit.transform.localScale;
|
||||
}
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
EnsureUnit();
|
||||
WorldHealthBar.OnUnitKilled -= OnGlobalUnitKilled;
|
||||
WorldHealthBar.OnUnitKilled += OnGlobalUnitKilled;
|
||||
}
|
||||
|
||||
@@ -66,18 +83,45 @@ public class WerewolfSkill : UnitSkill
|
||||
unit.FaceCurrentTarget(0f);
|
||||
isSkillPending = true;
|
||||
|
||||
// 10级大招临时提升 35% 最大生命上限
|
||||
if (unit.level >= 10 && temporaryBonusMaxHealth <= 0f)
|
||||
// 10级大招:临时提升 35% 最大生命上限并回血 + 体型巨狼化放大 1.25 倍
|
||||
if (unit.level >= 10)
|
||||
{
|
||||
temporaryBonusMaxHealth = healthBar.maxHealth * 0.35f;
|
||||
healthBar.maxHealth += temporaryBonusMaxHealth;
|
||||
healthBar.Heal(temporaryBonusMaxHealth);
|
||||
Debug.Log($"<color=red>【不灭狼王】爆发!</color> 狼王之怒提升生命上限 +{temporaryBonusMaxHealth:F0} 并回血!");
|
||||
TriggerWolfKingAscension(healthBar);
|
||||
}
|
||||
|
||||
// 播放大招攻击动画(挠击动作)
|
||||
unit.PlaySkillAnimation(OnSkillAnimationFinished, 1.2f);
|
||||
Debug.Log($"<color=red>【狂暴狼人】释放大招【嗜血狂暴】</color>,等待挠击命中帧!");
|
||||
// 技能动作速度翻倍:将 2.4 秒的动画压缩到 1.0 秒播放,撕咬出招迅猛凌厉!
|
||||
unit.PlaySkillAnimation(OnSkillAnimationFinished, skillTargetDuration);
|
||||
Debug.Log($"<color=red>【狂暴狼人】释放大招【利爪撕裂】</color>,动作速度加速 1 倍(时长: {skillTargetDuration:F1}s)!");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 10 级【不灭狼王】爆发:生命上限提升 35% 并回血,模型体型等比放大 1.25 倍
|
||||
/// </summary>
|
||||
private void TriggerWolfKingAscension(WorldHealthBar healthBar)
|
||||
{
|
||||
// 每次释放大招,如果尚未获得 35% 加成,则增加 35% 基础生命上限;若已有加成,则直接满额治疗回血!
|
||||
if (temporaryBonusMaxHealth <= 0f)
|
||||
{
|
||||
float bonus = healthBar.maxHealth * 0.35f;
|
||||
temporaryBonusMaxHealth = bonus;
|
||||
healthBar.maxHealth += bonus;
|
||||
healthBar.Heal(bonus);
|
||||
Debug.Log($"<color=red>【不灭狼王】狼王真身觉醒!</color> 最大生命上限 +{bonus:F0},当前上限变为: {healthBar.maxHealth:F0}!");
|
||||
}
|
||||
else
|
||||
{
|
||||
// 已在狼王状态下再次开大:直接享受 35% 巨额生命恢复
|
||||
healthBar.Heal(temporaryBonusMaxHealth);
|
||||
Debug.Log($"<color=red>【不灭狼王】续战愈合!</color> 回复 +{temporaryBonusMaxHealth:F0} 生命值!");
|
||||
}
|
||||
|
||||
// 播放红光爆裂特效
|
||||
PlayWolfKingVfx();
|
||||
|
||||
// 巨狼化体型放大 1.25 倍平滑过渡
|
||||
if (scaleCoroutine != null) StopCoroutine(scaleCoroutine);
|
||||
scaleCoroutine = StartCoroutine(SmoothScaleModel(originalModelScale * 1.25f, 0.25f));
|
||||
isScaleBoosted = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -97,7 +141,7 @@ public class WerewolfSkill : UnitSkill
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 实际结算大招重抓撕咬伤害与启动嗜血狂暴
|
||||
/// 实际结算大招单体撕裂重创伤害与启动嗜血狂暴
|
||||
/// </summary>
|
||||
private void ExecuteBiteStrike()
|
||||
{
|
||||
@@ -112,19 +156,11 @@ public class WerewolfSkill : UnitSkill
|
||||
|
||||
int level = unit.level;
|
||||
|
||||
// 伤害倍率:1级 150%,3级+ 190%
|
||||
// 伤害倍率:1级 150%,3级+ 190% (始终保持纯粹单体撕裂,不分散伤害)
|
||||
float damageMultiplier = level >= 3 ? 1.90f : 1.50f;
|
||||
float damage = unit.attackPower * damageMultiplier;
|
||||
|
||||
// 6级升级为扇形前方 AOE 撕咬,否则为单体重抓
|
||||
if (level >= 6)
|
||||
{
|
||||
ExecuteCleaveBite(damage);
|
||||
}
|
||||
else
|
||||
{
|
||||
ExecuteSingleBite(damage);
|
||||
}
|
||||
ExecuteSingleBite(damage);
|
||||
|
||||
// 激活【嗜血状态】
|
||||
ActivateBloodthirst(level);
|
||||
@@ -158,60 +194,7 @@ public class WerewolfSkill : UnitSkill
|
||||
{
|
||||
float healAmount = dealtDamage * 0.5f;
|
||||
myBar.Heal(healAmount);
|
||||
Debug.Log($"<color=green>【嗜血狂暴】撕咬重创!</color> 造成 {dealtDamage:F1} 伤害,吸血回复 +{healAmount:F1} HP!");
|
||||
}
|
||||
}
|
||||
|
||||
private void ExecuteCleaveBite(float damage)
|
||||
{
|
||||
float cleaveRadius = 2.4f;
|
||||
float cleaveAngle = 120f;
|
||||
Vector3 forward = unit.transform.forward;
|
||||
Vector3 myPos = unit.transform.position;
|
||||
|
||||
UnitTeam myTeam = unit.GetComponent<UnitTeam>();
|
||||
var allTeams = FindObjectsOfType<UnitTeam>();
|
||||
float totalDealt = 0f;
|
||||
|
||||
foreach (var t in allTeams)
|
||||
{
|
||||
if (t == null || !t.gameObject.activeInHierarchy || myTeam == null || !myTeam.IsEnemy(t.gameObject)) continue;
|
||||
|
||||
Vector3 toEnemy = t.transform.position - myPos;
|
||||
toEnemy.y = 0f;
|
||||
if (toEnemy.sqrMagnitude <= cleaveRadius * cleaveRadius)
|
||||
{
|
||||
float angle = Vector3.Angle(forward, toEnemy.normalized);
|
||||
if (angle <= cleaveAngle * 0.5f)
|
||||
{
|
||||
PlayClawAndBloodVfx(t.transform.position + Vector3.up * 0.8f);
|
||||
|
||||
var targetUnit = t.GetComponentInParent<UnitBase>();
|
||||
if (targetUnit != null)
|
||||
{
|
||||
targetUnit.ReceiveDamage(damage, unit.gameObject);
|
||||
totalDealt += damage;
|
||||
}
|
||||
else
|
||||
{
|
||||
var bar = t.GetComponentInParent<WorldHealthBar>();
|
||||
if (bar != null)
|
||||
{
|
||||
bar.TakeDamage(damage, unit.gameObject);
|
||||
totalDealt += damage;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 6级扇形撕裂吸血:回复总伤害的 50%
|
||||
WorldHealthBar myBar = unit.GetComponent<WorldHealthBar>();
|
||||
if (myBar != null && totalDealt > 0f)
|
||||
{
|
||||
float healAmount = totalDealt * 0.5f;
|
||||
myBar.Heal(healAmount);
|
||||
Debug.Log($"<color=green>【残虐血性】扇形撕裂!</color> 命中敌群造成 {totalDealt:F1} 伤害,吸血狂吸 +{healAmount:F1} HP!");
|
||||
Debug.Log($"<color=green>【利爪撕裂】重创!</color> 造成 {dealtDamage:F1} 伤害,吸血回复 +{healAmount:F1} HP!");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -315,6 +298,14 @@ public class WerewolfSkill : UnitSkill
|
||||
}
|
||||
temporaryBonusMaxHealth = 0f;
|
||||
}
|
||||
|
||||
// 还原体型大小
|
||||
if (isScaleBoosted)
|
||||
{
|
||||
if (scaleCoroutine != null) StopCoroutine(scaleCoroutine);
|
||||
scaleCoroutine = StartCoroutine(SmoothScaleModel(originalModelScale, 0.3f));
|
||||
isScaleBoosted = false;
|
||||
}
|
||||
}
|
||||
|
||||
baseBonusLifesteal = 0f;
|
||||
@@ -322,7 +313,7 @@ public class WerewolfSkill : UnitSkill
|
||||
dynamicLossDamageReduction = 0f;
|
||||
appliedAttackSpeedMultiplier = 1f;
|
||||
|
||||
Debug.Log($"<color=gray>【嗜血状态结束】属性恢复正常。</color>");
|
||||
Debug.Log($"<color=gray>【嗜血状态结束】属性与体型恢复正常。</color>");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -349,6 +340,26 @@ public class WerewolfSkill : UnitSkill
|
||||
}
|
||||
}
|
||||
|
||||
private IEnumerator SmoothScaleModel(Vector3 targetScale, float duration)
|
||||
{
|
||||
if (unit == null) yield break;
|
||||
Vector3 from = unit.transform.localScale;
|
||||
float elapsed = 0f;
|
||||
|
||||
while (elapsed < duration)
|
||||
{
|
||||
elapsed += Time.deltaTime;
|
||||
float t = Mathf.Clamp01(elapsed / duration);
|
||||
if (unit != null)
|
||||
{
|
||||
unit.transform.localScale = Vector3.Lerp(from, targetScale, Mathf.SmoothStep(0f, 1f, t));
|
||||
}
|
||||
yield return null;
|
||||
}
|
||||
|
||||
if (unit != null) unit.transform.localScale = targetScale;
|
||||
}
|
||||
|
||||
private void PlayClawAndBloodVfx(Vector3 position)
|
||||
{
|
||||
// 1. 鲜血飞溅
|
||||
@@ -383,6 +394,24 @@ public class WerewolfSkill : UnitSkill
|
||||
}
|
||||
}
|
||||
|
||||
private void PlayWolfKingVfx()
|
||||
{
|
||||
GameObject vfxPrefab = wolfKingRageVfxPrefab;
|
||||
#if UNITY_EDITOR
|
||||
if (vfxPrefab == null)
|
||||
{
|
||||
vfxPrefab = UnityEditor.AssetDatabase.LoadAssetAtPath<GameObject>("Assets/TJGeneratorLibEffects/Prefabs/Combat/Explosions/EnergyExplosion/EnergyExplosionRed.prefab");
|
||||
}
|
||||
#endif
|
||||
if (vfxPrefab != null && unit != null)
|
||||
{
|
||||
Vector3 pos = unit.transform.position + Vector3.up * 0.8f;
|
||||
var vfx = Instantiate(vfxPrefab, pos, Quaternion.identity);
|
||||
vfx.transform.localScale = Vector3.one * 1.5f;
|
||||
Destroy(vfx, 2.0f);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnSkillAnimationFinished()
|
||||
{
|
||||
if (isSkillPending)
|
||||
|
||||
@@ -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: magic_blast_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: 02645eb5e23f4791a77dd62869165df8, 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: 2
|
||||
- _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: 0.3
|
||||
- _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: 3.3333333, b: 0, a: 0}
|
||||
- _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
|
||||
m_BuildTextureStacks: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 59984dd8bf1445fbb4177d3f517e0bdb
|
||||
timeCreated: 1447349393
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -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: magic_line_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: 3daddbc448b14f0c94c71a583a90216e, 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: 2
|
||||
- _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: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c885e946b2c24599be0474acb29e2f41
|
||||
timeCreated: 1447159050
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: XHkf5yj8AHIg637wE1LQxoHnvmoXBZtj7LdyFW1cRh3557Qh4QWJl5c=
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
+14336
File diff suppressed because it is too large.
Load diff
+8
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c2435bf680214875aed9156b42660547
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 100100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
@@ -0,0 +1,22 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1a889f125b284a7bb27286a04c91c83e
|
||||
timeCreated: 1499440760
|
||||
licenseType: Store
|
||||
AudioImporter:
|
||||
serializedVersion: 6
|
||||
defaultSettings:
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
preloadAudioData: 1
|
||||
loadInBackground: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 163 KiB |
@@ -0,0 +1,57 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 02645eb5e23f4791a77dd62869165df8
|
||||
timeCreated: 1447158214
|
||||
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: 8
|
||||
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:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
@@ -0,0 +1,57 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3daddbc448b14f0c94c71a583a90216e
|
||||
timeCreated: 1447159047
|
||||
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: 8
|
||||
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:
|
||||
@@ -162,6 +162,7 @@
|
||||
- [2026-10-13 23:28:05] 2026-10-13 新英雄荒野猎手基础搭建完成:制作矛预制体 (Assets/Prefabs/武器飞行物/矛.prefab),Projectile 支持抛物线投掷 (useParabola=true, parabolaHeight=1.0m,飞行中根据轨迹切线自动俯仰矛头);创建荒野猎手Data.asset与预制体 (Assets/Prefabs/第二章/荒野猎手.prefab),挂载CharacterController、NavMeshAgent、WorldHealthBar、StatusEffectController、UnitTeam、UnitBase;攻击类型为RangedProjectile,射程6m,投矛出生点绑定右手骨骼下的pos节点。PlayMode投矛抛物线轨迹验证通过。
|
||||
- [2026-10-13 23:54:42] 2026-10-13 荒野猎手阶梯技能实装完毕:文档与WildHunterSkill.cs已更新。按需求移除6级穿透杂兵伤害与10级群体爆裂;1级穿心猎矛自动制导后排最远目标(每米+5%伤害上限+45%);3级速度+40%、暴击+20%、伤害230%;6级后排目标后仰击退2.0米(NavMesh.Warp安全后推,无眩晕);10级伤害340%且斩杀立即返还50%技能能量;技能重矛挂载SparkleMissileYellow金色流光拖尾粒子。全流程PlayMode测试验证通过。
|
||||
- [2026-10-14 15:38:42] 2026-10-13 狂暴狼人重构为吸血战坦定位:1级解锁【嗜血狂暴】获得即时撕咬吸血与30%普攻吸血+25%攻速;3级数值强化至45%吸血;6级解锁残血增益(血量越低减伤和吸血越高);10级解锁【不灭狼王】临时提升35%生命上限且击杀回复20%生命并刷新狂暴。文档已更新。
|
||||
- [2026-10-14 21:05:29] 2026-10-14 狂暴狼人技能规范更新:1. 技能确立为原地利爪撕裂(无位移飞扑),技能名称统一为【利爪撕裂】;2. 去除6级扇形小范围撕扯,各等级始终保持纯粹单体撕裂与流血;3. 6级专注保留【背水一战】(自身血量每降低10%,受击减免+3%、吸血+5%)。文档与WerewolfSkill.cs代码已完全同步。
|
||||
|
||||
### Reference
|
||||
- [2026-09-09 12:23:17] 飞行物脚本 Projectile.cs 负责锁敌追踪、碰撞检测和伤害结算。箭矢预制体 ArrowProjectile_White.prefab 已配置 Projectile 组件和 CapsuleCollider(Is Trigger)。远程单位需在攻击动画松弦帧添加 OnAttackEffect Event,并在 UnitBase 中设置 attackType=RangedProjectile、projectilePrefab、projectileSpawnPoint。
|
||||
+107
-36
@@ -13,12 +13,15 @@
|
||||
- [波次小怪](#波次小怪)
|
||||
- [二、当前玩家英雄](#二当前玩家英雄)
|
||||
- [英雄数值原则](#英雄数值原则)
|
||||
- [英雄技能阶梯解锁原则(1/3/6/10级)](#英雄技能阶梯解锁原则13610级)
|
||||
- [三、第一章:灰石城堡](#三第一章灰石城堡)
|
||||
- [第一章英雄](#第一章英雄)
|
||||
- [第一章英雄技能阶梯解锁表](#第一章英雄技能阶梯解锁表)
|
||||
- [第一章波次小怪](#第一章波次小怪)
|
||||
- [第一章技能方向](#第一章技能方向)
|
||||
- [四、第二章:荒野边境](#四第二章荒野边境)
|
||||
- [第二章英雄](#第二章英雄)
|
||||
- [第二章英雄技能阶梯解锁表](#第二章英雄技能阶梯解锁表)
|
||||
- [第二章波次小怪](#第二章波次小怪)
|
||||
- [第二章技能方向](#第二章技能方向)
|
||||
- [五、第三章:沉没沼泽](#五第三章沉没沼泽)
|
||||
@@ -35,10 +38,9 @@
|
||||
- [第六章波次小怪](#第六章波次小怪)
|
||||
- [九、英雄卡牌规模](#九英雄卡牌规模)
|
||||
- [十、技能和波次边界](#十技能和波次边界)
|
||||
- [十一、英雄技能阶梯解锁系统(1/3/6/10级)](#十一英雄技能阶梯解锁系统13610级)
|
||||
- [十二、技能与特效资源目录 (Effects Asset Directory)](#十二技能与特效资源目录-effects-asset-directory)
|
||||
- [12.1 已接入的技能与通用特效路径](#121-已接入的技能与通用特效路径)
|
||||
- [12.2 内置 1300+ 粒子特效库分类清单](#122-内置-1300-粒子特效库分类清单)
|
||||
- [十一、技能与特效资源目录 (Effects Asset Directory)](#十一技能与特效资源目录-effects-asset-directory)
|
||||
- [11.1 已接入的技能与通用特效路径](#111-已接入的技能与通用特效路径)
|
||||
- [11.2 内置 1300+ 粒子特效库分类清单](#112-内置-1300-粒子特效库分类清单)
|
||||
|
||||
## 一、统一规则
|
||||
|
||||
@@ -95,6 +97,17 @@ CharacterData 基础属性
|
||||
- 法师英雄:生命较低,但范围技能和控制能力突出。
|
||||
- 精英/Boss 型英雄:通过更高基础属性或复杂技能体现特色,不简单依赖费用。
|
||||
|
||||
### 英雄技能阶梯解锁原则(1/3/6/10级)
|
||||
|
||||
英雄不仅随等级提升基础属性(生命/攻击),在 **1 级、3 级、6 级、10 级** 节点还会分别解锁或强化技能机制。
|
||||
|
||||
设计原则:
|
||||
1. **彻底摒弃位移/击退**:避免与 NavMeshAgent 冲突导致瞬移、穿模或卡怪发呆。
|
||||
2. **纯内置特效/现有底层机制**:眩晕(`StunStars`)、护盾(`MagicShieldBlue`)、火球与爆破(`FireballSharpMissileFire` + `MagicExplosionFire`)、剑气与斩击(`SwordSlashThickWhite` / `SwordWaveWhite`)、地裂震波(`ShockwaveRing`)、吸血/狂暴光晕(`AuraSoftBlue`)。
|
||||
3. **定位鲜明,玩法有趣**:每个英雄有明确的高光时刻与战术机制(嘲讽破盾反击、引燃火海、弹射追踪、斩杀连击、处决收割等)。
|
||||
|
||||
各章英雄的具体技能阶梯解锁表附在对应章节的英雄介绍之后;第三章起随英雄实装再补全。
|
||||
|
||||
## 三、第一章:灰石城堡
|
||||
|
||||
### 章节主题
|
||||
@@ -109,6 +122,53 @@ CharacterData 基础属性
|
||||
- 城堡法师:远程范围英雄,清理成群敌人。
|
||||
- 精锐士兵:高生命精英近战,可作为第一章关底敌人或后续可收集英雄。
|
||||
|
||||
### 第一章英雄技能阶梯解锁表
|
||||
|
||||
#### 盾卫(铁壁前排 / 嘲讽反伤)
|
||||
|
||||
| 阶梯节点 | 技能效果 |
|
||||
|---|---|
|
||||
| **1 级 · 基础解锁** | **圣盾壁垒**:举盾生成自身 **35% 最大生命值的护盾**,持续 5 秒(亮天蓝顶层护盾条,挂 `MagicShieldBlue`) |
|
||||
| **3 级 · 数值强化** | 护盾厚度提升至 **50% 最大生命值**,持续时间延长至 6 秒 |
|
||||
| **6 级 · 机制质变 · 核心好玩点** | **战吼嘲讽**:举盾瞬间拍地激发声波(`ShockwaveRing`),**强制周围 4 米所有敌人攻击自己 3 秒**,完美保护身后输出! |
|
||||
| **10 级 · 终极质变大招 · 攻防高光** | **圣盾清算**:护盾期间免疫眩晕;**当护盾被击破或结束瞬间发生神圣冲击**(`NovaLightningBlue`),将吸收伤害的 **50% 转化为范围真实伤害反弹全场**! |
|
||||
|
||||
#### 人类士兵(坚韧重战 / 背水一战)
|
||||
|
||||
| 阶梯节点 | 技能效果 |
|
||||
|---|---|
|
||||
| **1 级 · 基础解锁** | **蓄力重斩**:挥舞短剑蓄力重劈,对前方单体敌人造成 **150% 物理伤害**(带短白剑气 `SwordSlashThickWhite`) |
|
||||
| **3 级 · 数值强化** | 重斩暴击率 +20%,基础伤害提升至 **190%** |
|
||||
| **6 级 · 机制质变 · 核心好玩点** | **断岳重击**:重斩附带强力震慑,命中直接使目标**眩晕 1.2 秒**(挂 `StunStars` 星星),精准打断敌人蓄力! |
|
||||
| **10 级 · 终极质变大招 · 攻防高光** | **不屈战魂**:生命值首次跌破 35% 时进入无畏状态(脚底光环 `AuraSoftBlue`),**攻速 +60% 且普攻附带 30% 吸血**,持续 6 秒绝地翻盘! |
|
||||
|
||||
#### 弓箭手(狙击点杀 / 后排压制)
|
||||
|
||||
| 阶梯节点 | 技能效果 |
|
||||
|---|---|
|
||||
| **1 级 · 基础解锁** | **迅捷三连**:搭弓连续高速射出 **3 支穿甲箭矢**,单体快速倾泻火力 |
|
||||
| **3 级 · 数值强化** | 箭矢飞行速度 +35%,三连射总伤害提升 **25%** |
|
||||
| **6 级 · 机制质变 · 核心好玩点** | **弱点锁定**:三连射精准打击目标同一弱点,**伤害逐箭递增且第 3 箭必定暴击**;命中附加破甲标记,使目标**受到的所有伤害 +30%(持续 4s)**! |
|
||||
| **10 级 · 终极质变大招 · 攻防高光** | **乱射风暴**:三连射升级为 **6 支风暴连射**;击杀目标后剩余箭矢自动散开弹射给周围其他敌人,兼顾单体点杀与残血收割! |
|
||||
|
||||
#### 城堡法师(轰炸火法 / 阵地火海)
|
||||
|
||||
| 阶梯节点 | 技能效果 |
|
||||
|---|---|
|
||||
| **1 级 · 基础解锁** | **爆裂火球**:吟唱发射一颗烈焰飞弹(`FireballSharpMissileFire`),命中造成 **160% 范围伤害**(`MagicExplosionFire`) |
|
||||
| **3 级 · 数值强化** | 火球爆破半径扩大 30%,爆破中心伤害提升至 **200%** |
|
||||
| **6 级 · 机制质变 · 核心好玩点** | **焦土火海**:火球爆炸处在地面留下一片燃烧焦土,对踏入火海的敌人**每秒造成 30% 攻击力的持续引燃**(持续 4 秒) |
|
||||
| **10 级 · 终极质变大招 · 攻防高光** | **双重轰炸**:释放技能瞬间**连续轰出 2 颗烈焰巨球**!第二颗轰炸在更深处的后排敌群,双重火海前后封锁战场! |
|
||||
|
||||
#### 精锐士兵(刺客 / 飞天切后排)
|
||||
|
||||
| 阶梯节点 | 技能效果 |
|
||||
|---|---|
|
||||
| **1 级 · 基础解锁** | **裂空突袭**:核心招牌直接解锁!双手持大剑高高跃起飞扑敌方后排最深处敌人,落地重劈造成 **200% 物理暴击伤害**(带剑浪 `SwordWaveWhite`)!直接绕开前排肉盾直取后排! |
|
||||
| **3 级 · 数值强化** | **弱点锁定**:突袭伤害提升至 **250%**,暴击率额外 **+25%**,落地后 3 秒内自身移速 +35% 方便就地追杀残血! |
|
||||
| **6 级 · 机制质变 · 核心好玩点** | **影袭破防**:飞天重劈落地附带强力震慑,使目标**眩晕 1.2 秒**(挂 `StunStars`)且受到物理伤害增加 35%(持续 4s)! |
|
||||
| **10 级 · 终极质变大招 · 攻防高光** | **死斗连环**:飞天斩若击杀目标,**立即刷新技能充能**并自动再次腾空扑向下一个后排目标!最多连续连斩 3 次,后排杀手! |
|
||||
|
||||
### 第一章波次小怪
|
||||
|
||||
每个大关规划 3 种基础小怪,并制作普通/精英变体:
|
||||
@@ -137,12 +197,50 @@ CharacterData 基础属性
|
||||
|
||||
### 第二章英雄
|
||||
|
||||
- 狂暴狼人:吸血战坦,依靠高额普攻吸血与残血减伤在前排屹立不倒。
|
||||
- 狂暴狼人:吸血战坦,原地利爪撕裂重创目标并狂暴,依靠高额普攻吸血与残血减伤在前排屹立不倒。
|
||||
- 荒野猎手:远程重矛,锁定大范围内最远距离的敌方目标,后排高伤狙杀与强力后仰击退(原弓箭猎人)。
|
||||
- 石巨人:高生命重型前排,拥有范围控制能力。
|
||||
- 荒野祭司:辅助治疗和范围支援,后续制作。
|
||||
- 荒野之王:大型精英前排,作为章节 Boss 或高阶英雄,后续制作。
|
||||
|
||||
### 第二章英雄技能阶梯解锁表
|
||||
|
||||
#### 荒野猎手(远程重矛 / 后排狙杀)
|
||||
|
||||
| 阶梯节点 | 技能效果 |
|
||||
|---|---|
|
||||
| **1 级 · 基础解锁** | **穿心猎矛**:蓄力重投飞矛,自动锁定全场**距离自身最远的目标(优先狙杀敌方后排)**,造成 **180% 物理伤害**;且**距离越远伤害越高**(每相距 1 米额外提升 5% 伤害,最高 +45%)!带有金色破空流光特效! |
|
||||
| **3 级 · 数值强化** | 飞矛飞行速度 +40%,基础伤害提升至 **230%**,暴击率额外 **+20%**,远距离狙杀威慑力大增! |
|
||||
| **6 级 · 机制质变 · 核心好玩点** | **破阵震退**:蓄力重矛命中目标时产生破空震荡,**将其向后强力击退 2.0 米**(纯物理后退,打乱敌方后排阵型,且不产生眩晕冗余)! |
|
||||
| **10 级 · 终极质变大招 · 攻防高光** | **绝命猎杀**:飞矛附带风暴雷霆之势,基础伤害飙升至 **340% 极限制导高伤**;**若成功斩杀目标,立即返还 50% 技能能量**,快速准备下一发致命狙杀! |
|
||||
|
||||
#### 狂暴狼人(吸血战坦 / 血肉壁垒)
|
||||
|
||||
| 阶梯节点 | 技能效果 |
|
||||
|---|---|
|
||||
| **1 级 · 基础解锁** | **利爪撕裂**:原地挥舞利爪撕裂目标造成 **150% 物理伤害**(无飞扑,立即回复该次伤害 50% 的生命);并激活持续 5 秒的【嗜血状态】,**普攻吸血 +30% 且攻速 +25%**,越战越勇! |
|
||||
| **3 级 · 数值强化** | 【嗜血状态】持续时间延长至 **6.5 秒**;期间**普攻吸血提升至 45%**,攻速提升至 **35%**,撕裂伤害提升至 190%!且单体撕裂附带流血撕口! |
|
||||
| **6 级 · 机制质变 · 核心好玩点** | **背水一战**:保持纯粹单体撕裂(不分散伤害);嗜血状态下完全触发【背水一战】:**自身血量每降低 10%,受击伤害减免 +3%,普攻吸血额外 +5%**(血越残越硬越能吸,真正的打不死战坦)! |
|
||||
| **10 级 · 终极质变大招 · 攻防高光** | **不灭狼王**:释放技能爆发狼王之怒,体型微增、**临时提升 35% 最大生命值上限**并获得等额生命回复!技能期间**只要击杀敌人,立即瞬间回复 20% 最大生命值并刷新嗜血狂暴时间**,在敌阵中化身永动机! |
|
||||
|
||||
#### 石巨人(重装控制 / 护盾控场)
|
||||
|
||||
| 阶梯节点 | 技能效果 |
|
||||
|---|---|
|
||||
| **1 级 · 基础解锁** | **大地震击**:双拳重拍地面激发环形震荡波(`ShockwaveRing`),对周围 3.5 米造成伤害并**眩晕 1.5 秒**(`StunStars`) |
|
||||
| **3 级 · 数值强化** | 眩晕时间延长至 **2.0 秒**,震荡波伤害与范围 +25% |
|
||||
| **6 级 · 机制质变 · 核心好玩点** | **坚石护体**:重拍地面击碎岩石吸附自身,拍地瞬间**获得相当于 30% 最大生命值的坚固护盾**(挂 `MagicShieldBlue`) |
|
||||
| **10 级 · 终极质变大招 · 攻防高光** | **天崩地裂**:拍击激起全场强震,震晕周围敌人后在地面留下震裂泥沼,**使周围所有敌人移速降低 60% 持续 4 秒**,且自身受到伤害降低 30%! |
|
||||
|
||||
#### 蓝色怪物(控场反制 / 元素护盾)
|
||||
|
||||
| 阶梯节点 | 技能效果 |
|
||||
|---|---|
|
||||
| **1 级 · 基础解锁** | **寒霜扑击**:蓄力飞扑目标,造成 140% 单体伤害并使目标**攻击速度降低 35%(持续 3 秒)** |
|
||||
| **3 级 · 数值强化** | 飞扑伤害提升至 **180%**,攻速降低效果提升至 45% |
|
||||
| **6 级 · 机制质变 · 核心好玩点** | **霜甲反伤**:扑击后生成持续 5 秒的极寒霜甲(自身最大血量 25% 护盾),**任何近战攻击蓝色怪物的敌人都将被减速 40%**! |
|
||||
| **10 级 · 终极质变大招 · 攻防高光** | **极寒爆裂**:扑击命中目标后引发暴风雪炸裂,对周围 3 米范围内所有敌人施加 **1.5 秒冰冻眩晕**(挂 `StunStars`),强力打散敌方攻势! |
|
||||
|
||||
### 第二章波次小怪
|
||||
|
||||
| 小怪 | 类型 | 外形识别 | 战斗职责 |
|
||||
@@ -155,7 +253,7 @@ CharacterData 基础属性
|
||||
|
||||
### 第二章技能方向
|
||||
|
||||
- 嗜血撕咬:重创敌人吸血,并激活高额普攻吸血与攻速。
|
||||
- 利爪撕裂:原地利爪重抓撕裂目标并吸血,激活高额普攻吸血与攻速。
|
||||
- 穿心猎矛:超远距离狙杀最远敌人,距离越远伤害越高。
|
||||
- 地裂:范围伤害并造成短暂控制。
|
||||
- 治疗波:治疗范围内友军。
|
||||
@@ -310,38 +408,11 @@ UnitBase
|
||||
- 角色图片与武器 Prefab 分离,避免模型自带装备影响后续配置。
|
||||
- 波次中可以混合普通小怪、精英小怪和章节 Boss,但不把普通小怪当作玩家卡牌。
|
||||
|
||||
## 十一、英雄技能阶梯解锁系统(1/3/6/10级)
|
||||
|
||||
英雄不仅随等级提升基础属性(生命/攻击),在 **1 级、3 级、6 级、10 级** 节点还会分别解锁或强化技能机制。
|
||||
设计原则:
|
||||
1. **彻底摒弃位移/击退**:避免与 NavMeshAgent 冲突导致瞬移、穿模或卡怪发呆。
|
||||
2. **纯内置特效/现有底层机制**:眩晕(`StunStars`)、护盾(`MagicShieldBlue`)、火球与爆破(`FireballSharpMissileFire` + `MagicExplosionFire`)、剑气与斩击(`SwordSlashThickWhite` / `SwordWaveWhite`)、地裂震波(`ShockwaveRing`)、吸血/狂暴光晕(`AuraSoftBlue`)。
|
||||
3. **定位鲜明,玩法有趣**:每个英雄有明确的高光时刻与战术机制(嘲讽破盾反击、引燃火海、弹射追踪、斩杀连击、处决收割等)。
|
||||
|
||||
### 11.1 第一章英雄技能阶梯解锁表
|
||||
|
||||
| 英雄 | 1级 (基础解锁) | 3级 (数值强化) | 6级 (机制质变 · 核心好玩点) | 10级 (终极质变大招 · 攻防高光) |
|
||||
|---|---|---|---|---|
|
||||
| **盾卫**<br>*(铁壁前排/嘲讽反伤)* | **圣盾壁垒**:举盾生成自身 **35% 最大生命值的护盾**,持续 5 秒(亮天蓝顶层护盾条,挂 `MagicShieldBlue`) | 护盾厚度提升至 **50% 最大生命值**,持续时间延长至 6 秒 | **战吼嘲讽**:举盾瞬间拍地激发声波(`ShockwaveRing`),**强制周围 4 米所有敌人攻击自己 3 秒**,完美保护身后输出! | **圣盾清算**:护盾期间免疫眩晕;**当护盾被击破或结束瞬间发生神圣冲击**(`NovaLightningBlue`),将吸收伤害的 **50% 转化为范围真实伤害反弹全场**! |
|
||||
| **人类士兵**<br>*(坚韧重战/背水一战)* | **蓄力重斩**:挥舞短剑蓄力重劈,对前方单体敌人造成 **150% 物理伤害**(带短白剑气 `SwordSlashThickWhite`) | 重斩暴击率 +20%,基础伤害提升至 **190%** | **断岳重击**:重斩附带强力震慑,命中直接使目标**眩晕 1.2 秒**(挂 `StunStars` 星星),精准打断敌人蓄力! | **不屈战魂**:生命值首次跌破 35% 时进入无畏状态(脚底光环 `AuraSoftBlue`),**攻速 +60% 且普攻附带 30% 吸血**,持续 6 秒绝地翻盘! |
|
||||
| **弓箭手**<br>*(狙击点杀/后排压制)* | **迅捷三连**:搭弓连续高速射出 **3 支穿甲箭矢**,单体快速倾泻火力 | 箭矢飞行速度 +35%,三连射总伤害提升 **25%** | **弱点锁定**:三连射精准打击目标同一弱点,**伤害逐箭递增且第 3 箭必定暴击**;命中附加破甲标记,使目标**受到的所有伤害 +30%(持续 4s)**! | **乱射风暴**:三连射升级为 **6 支风暴连射**;击杀目标后剩余箭矢自动散开弹射给周围其他敌人,兼顾单体点杀与残血收割! |
|
||||
| **城堡法师**<br>*(轰炸火法/阵地火海)* | **爆裂火球**:吟唱发射一颗烈焰飞弹(`FireballSharpMissileFire`),命中造成 **160% 范围伤害**(`MagicExplosionFire`) | 火球爆破半径扩大 30%,爆破中心伤害提升至 **200%** | **焦土火海**:火球爆炸处在地面留下一片燃烧焦土,对踏入火海的敌人**每秒造成 30% 攻击力的持续引燃**(持续 4 秒) | **双重轰炸**:释放技能瞬间**连续轰出 2 颗烈焰巨球**!第二颗轰炸在更深处的后排敌群,双重火海前后封锁战场! |
|
||||
| **精锐士兵**<br>*(刺客/飞天切后排)* | **裂空突袭**:核心招牌直接解锁!双手持大剑高高跃起飞扑敌方后排最深处敌人,落地重劈造成 **200% 物理暴击伤害**(带剑浪 `SwordWaveWhite`)!直接绕开前排肉盾直取后排! | **弱点锁定**:突袭伤害提升至 **250%**,暴击率额外 **+25%**,落地后 3 秒内自身移速 +35% 方便就地追杀残血! | **影袭破防**:飞天重劈落地附带强力震慑,使目标**眩晕 1.2 秒**(挂 `StunStars`)且受到物理伤害增加 35%(持续 4s)! | **死斗连环**:飞天斩若击杀目标,**立即刷新技能充能**并自动再次腾空扑向下一个后排目标!最多连续连斩 3 次,后排杀手! |
|
||||
|
||||
### 11.2 第二章英雄技能阶梯解锁表
|
||||
|
||||
| 英雄 | 1级 (基础解锁) | 3级 (数值强化) | 6级 (机制质变 · 核心好玩点) | 10级 (终极质变大招 · 攻防高光) |
|
||||
|---|---|---|---|---|
|
||||
| **荒野猎手**<br>*(远程重矛/后排狙杀)* | **穿心猎矛**:蓄力重投飞矛,自动锁定全场**距离自身最远的目标(优先狙杀敌方后排)**,造成 **180% 物理伤害**;且**距离越远伤害越高**(每相距 1 米额外提升 5% 伤害,最高 +45%)!带有金色破空流光特效! | 飞矛飞行速度 +40%,基础伤害提升至 **230%**,暴击率额外 **+20%**,远距离狙杀威慑力大增! | **破阵震退**:蓄力重矛命中目标时产生破空震荡,**将其向后强力击退 2.0 米**(纯物理后退,打乱敌方后排阵型,且不产生眩晕冗余)! | **绝命猎杀**:飞矛附带风暴雷霆之势,基础伤害飙升至 **340% 极限制导高伤**;**若成功斩杀目标,立即返还 50% 技能能量**,快速准备下一发致命狙杀! |
|
||||
| **狂暴狼人**<br>*(吸血战坦/血肉壁垒)* | **嗜血狂暴**:扑向目标撕咬造成 **150% 物理伤害**(立即回复该次伤害 50% 的生命);并激活持续 5 秒的【嗜血状态】,**普攻吸血 +30% 且攻速 +25%**,越打越满! | 【嗜血状态】持续时间延长至 **6.5 秒**;期间**普攻吸血提升至 45%**,攻速提升至 **35%**,撕咬伤害提升至 190%! | **残虐血性**:撕咬升级为小范围扇形撕扯;且处于嗜血状态时触发【背水一战】:**自身血量每降低 10%,受击伤害减免 +3%,普攻吸血额外 +5%**(血越残越硬越能吸,真正的打不死战坦)! | **不灭狼王**:释放技能爆发狼王之怒,体型微增、**临时提升 35% 最大生命值上限**并获得等额生命回复!技能期间**只要击杀敌人,立即瞬间回复 20% 最大生命值并刷新嗜血狂暴时间**,在敌阵中化身永动机! |
|
||||
| **石巨人**<br>*(重装控制/护盾控场)* | **大地震击**:双拳重拍地面激发环形震荡波(`ShockwaveRing`),对周围 3.5 米造成伤害并**眩晕 1.5 秒**(`StunStars`) | 眩晕时间延长至 **2.0 秒**,震荡波伤害与范围 +25% | **坚石护体**:重拍地面击碎岩石吸附自身,拍地瞬间**获得相当于 30% 最大生命值的坚固护盾**(挂 `MagicShieldBlue`) | **天崩地裂**:拍击激起全场强震,震晕周围敌人后在地面留下震裂泥沼,**使周围所有敌人移速降低 60% 持续 4 秒**,且自身受到伤害降低 30%! |
|
||||
| **蓝色怪物**<br>*(控场反制/元素护盾)* | **寒霜扑击**:蓄力飞扑目标,造成 140% 单体伤害并使目标**攻击速度降低 35%(持续 3 秒)** | 飞扑伤害提升至 **180%**,攻速降低效果提升至 45% | **霜甲反伤**:扑击后生成持续 5 秒的极寒霜甲(自身最大血量 25% 护盾),**任何近战攻击蓝色怪物的敌人都将被减速 40%**! | **极寒爆裂**:扑击命中目标后引发暴风雪炸裂,对周围 3 米范围内所有敌人施加 **1.5 秒冰冻眩晕**(挂 `StunStars`),强力打散敌方攻势! |
|
||||
|
||||
## 十二、技能与特效资源目录 (Effects Asset Directory)
|
||||
## 十一、技能与特效资源目录 (Effects Asset Directory)
|
||||
|
||||
为了便于查看、调用与接入,项目内置的技能粒子特效统一存放于 `Assets/TJGeneratorLibEffects/` 目录中。
|
||||
|
||||
### 12.1 已接入的技能与通用特效路径
|
||||
### 11.1 已接入的技能与通用特效路径
|
||||
|
||||
#### 1. 法师与英雄技能特效
|
||||
- **城堡法师火球攻击/技能**:
|
||||
@@ -365,7 +436,7 @@ UnitBase
|
||||
|
||||
---
|
||||
|
||||
### 12.2 内置 1300+ 粒子特效库分类清单
|
||||
### 11.2 内置 1300+ 粒子特效库分类清单
|
||||
|
||||
#### 一、 战斗与技能类 (Combat)
|
||||
|
||||
|
||||
Reference in new issue
Block a user