|
@@ -39,10 +39,13 @@ public class Boss : MoveCharacter
|
|
|
public int restWeaknessNum; //剩余弱点数量
|
|
public int restWeaknessNum; //剩余弱点数量
|
|
|
private Weakness coreWeakness;
|
|
private Weakness coreWeakness;
|
|
|
|
|
|
|
|
|
|
+ [Header("核心受到伤害倍率")]
|
|
|
|
|
+ public int coreDamageRate;
|
|
|
|
|
+
|
|
|
//计算当前形态总血量
|
|
//计算当前形态总血量
|
|
|
private void CalculateHp()
|
|
private void CalculateHp()
|
|
|
{
|
|
{
|
|
|
- curStateTotalHp = curState.coreHp;
|
|
|
|
|
|
|
+ curStateTotalHp = curState.coreHp * coreDamageRate;
|
|
|
foreach(StateWeakness w in curState.weaknesses)
|
|
foreach(StateWeakness w in curState.weaknesses)
|
|
|
{
|
|
{
|
|
|
curStateTotalHp += w.Hp;
|
|
curStateTotalHp += w.Hp;
|
|
@@ -85,6 +88,10 @@ public class Boss : MoveCharacter
|
|
|
|
|
|
|
|
public override void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
|
|
public override void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
|
|
|
{
|
|
{
|
|
|
|
|
+ if (restWeaknessNum == 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ damage *= coreDamageRate;
|
|
|
|
|
+ }
|
|
|
hp -= damage;
|
|
hp -= damage;
|
|
|
uiHp.Show(hp, totalHp);
|
|
uiHp.Show(hp, totalHp);
|
|
|
if (hp <= 0)
|
|
if (hp <= 0)
|
|
@@ -97,7 +104,6 @@ public class Boss : MoveCharacter
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- print(1);
|
|
|
|
|
ChangeState(CharacterState.Die);
|
|
ChangeState(CharacterState.Die);
|
|
|
}
|
|
}
|
|
|
return;
|
|
return;
|