|
@@ -51,7 +51,9 @@ public class AttributeStatus : MonoBehaviour
|
|
|
[DisplayOnly] public bool haveVulnerable;
|
|
[DisplayOnly] public bool haveVulnerable;
|
|
|
[TabGroup("易伤")]
|
|
[TabGroup("易伤")]
|
|
|
[DisplayOnly] public float vulnerableTime;
|
|
[DisplayOnly] public float vulnerableTime;
|
|
|
- private float vulnerableRate;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ [TabGroup("累伤")] [DisplayOnly] public float stackingWoudsTime;
|
|
|
|
|
+ [TabGroup("累伤")] [DisplayOnly] public int stackingWordsNum;
|
|
|
|
|
|
|
|
//抗性
|
|
//抗性
|
|
|
[Serializable]
|
|
[Serializable]
|
|
@@ -90,10 +92,23 @@ public class AttributeStatus : MonoBehaviour
|
|
|
public void Update()
|
|
public void Update()
|
|
|
{
|
|
{
|
|
|
//易伤
|
|
//易伤
|
|
|
- vulnerableTime -= Time.deltaTime;
|
|
|
|
|
- if (vulnerableTime <= 0)
|
|
|
|
|
|
|
+ if (haveVulnerable)
|
|
|
{
|
|
{
|
|
|
- haveVulnerable = false;
|
|
|
|
|
|
|
+ vulnerableTime -= Time.deltaTime;
|
|
|
|
|
+ if(vulnerableTime <= 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ haveVulnerable = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //累伤
|
|
|
|
|
+ if(stackingWordsNum > 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ stackingWoudsTime -= Time.deltaTime;
|
|
|
|
|
+ if (stackingWoudsTime <= 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ stackingWordsNum = 0;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -366,11 +381,6 @@ public class AttributeStatus : MonoBehaviour
|
|
|
character.ChangeState(CharacterState.Idle);
|
|
character.ChangeState(CharacterState.Idle);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public int DamageCalculation(int damage)
|
|
|
|
|
- {
|
|
|
|
|
- damage = (int)(damage * (1 + vulnerableRate) + 0.5f);
|
|
|
|
|
- return damage;
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
//判断优先级,ture为优先级高于当前控制
|
|
//判断优先级,ture为优先级高于当前控制
|
|
|
public bool PriorityOrder(SpecialState specialState, int controlOrder)
|
|
public bool PriorityOrder(SpecialState specialState, int controlOrder)
|
|
@@ -525,9 +535,15 @@ public class AttributeStatus : MonoBehaviour
|
|
|
this.attackInfo = attackInfo;
|
|
this.attackInfo = attackInfo;
|
|
|
AttackInfo.Vulnerable vulnerable = attackInfo.vulnerable;
|
|
AttackInfo.Vulnerable vulnerable = attackInfo.vulnerable;
|
|
|
vulnerableTime = vulnerable.time;
|
|
vulnerableTime = vulnerable.time;
|
|
|
- vulnerableRate = vulnerable.rate;
|
|
|
|
|
haveVulnerable = true;
|
|
haveVulnerable = true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+ //受到累伤
|
|
|
|
|
+ public void AddStackingWouds(AttackInfo attackInfo)
|
|
|
|
|
+ {
|
|
|
|
|
+ this.attackInfo = attackInfo;
|
|
|
|
|
+ AttackInfo.StackingWounds stackingWounds = attackInfo.stackingWounds;
|
|
|
|
|
+ stackingWoudsTime = stackingWounds.time;
|
|
|
|
|
+ stackingWordsNum++;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|