成就系统 巨大修改 新的ui 黑白效果 等一堆

This commit is contained in:
FloatGaming
2026-01-23 18:43:23 +08:00
parent f3ece026ca
commit 0e47864569
256 changed files with 134131 additions and 31192 deletions
+21 -1
View File
@@ -13,7 +13,21 @@ public class SkillDefinition : ScriptableObject
OnNoteHit,
OnManaFull,
OnEnemyRevive, // 新增:当敌人登场时触发
OnEnemyDead // 新增:当敌人死亡时触发
OnEnemyDead, // 新增:当敌人死亡时触发
// 新增:当所有敌人被击败时触发
OnAllEnemiesDefeated,
// 新增:当单位恢复生命值时触发(治疗)
OnHPHealed,
// 新增:当单位失去生命值时触发(受伤/被伤害)
OnHPLost,
// 新增:当单位获得法力时触发
OnManaGained,
// 新增:当单位失去法力时触发
OnManaLost,
// 新增:当生命值高于某阈值时触发(按百分比,0-1)
OnHPAbovePercent,
// 新增:当生命值低于某阈值时触发(按百分比,0-1)
OnHPBelowPercent
}
[Header("标识 (Identity)")]
@@ -68,6 +82,9 @@ public class SkillDefinition : ScriptableObject
[Tooltip("仅当 triggerCondition == OnNoteHit 时生效:触发后的冷却时间(秒),在冷却时间内再次满足判定不会触发技能")]
public float onNoteHitCooldown = 0f;
[Tooltip("仅当 triggerCondition 为 HP 百分比相关时生效:生命值阈值(0-1),例如 0.3 表示 30%")]
public float hpTriggerPercent = 0.5f;
// Minimum judge quality required to trigger on note hit
public enum NoteTriggerThreshold
{
@@ -101,6 +118,9 @@ public class SkillDefinition : ScriptableObject
if (defaultDuration < 0f) defaultDuration = 0f;
if (defaultTickInterval < 0f) defaultTickInterval = 0f;
if (onNoteHitCooldown < 0f) onNoteHitCooldown = 0f;
// clamp hpTriggerPercent
if (hpTriggerPercent < 0f) hpTriggerPercent = 0f;
if (hpTriggerPercent > 1f) hpTriggerPercent = 1f;
}
// --- Simple expression evaluator used when valueMode == FromFormula ---