|
|
|
@ -73,24 +73,12 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
SufferPlayerAbnormalCondition(UpperCondition.angerUpperDamage, value, buff); |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
public void AddPlayerAbnormalCondition_angerDownDamage(int value) |
|
|
|
{ |
|
|
|
Buff buff = new Buff_DownAnger(); |
|
|
|
SufferPlayerAbnormalCondition(AbnormalCondition.angerDownDamage, value, buff); |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
public void AddPlayerAbnormalCondition_shieldUpperValue(int value) |
|
|
|
{ |
|
|
|
Buff buff = new Buff_UpperShield(); |
|
|
|
SufferPlayerAbnormalCondition(UpperCondition.shieldUpperValue, value, buff); |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
public void AddPlayerAbnormalCondition_shieldDownValue(int value) |
|
|
|
{ |
|
|
|
Buff buff = new Buff_DownShield(); |
|
|
|
SufferPlayerAbnormalCondition(AbnormalCondition.shieldDownValue, value, buff); |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
public void AddPlayerAbnormalCondition_firm(int value) |
|
|
|
{ |
|
|
|
Buff buff = new Buff_Firm(); |
|
|
|
@ -103,24 +91,12 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
SufferPlayerAbnormalCondition(UpperCondition.addDrawCard, value, buff); |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
public void AddPlayerAbnormalCondition_minusDrawCard(int value) |
|
|
|
{ |
|
|
|
Buff buff = new Buff_MinusDrawCard(); |
|
|
|
SufferPlayerAbnormalCondition(AbnormalCondition.minusDrawCard , value, buff); |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
public void AddPlayerAbnormalCondition_banDrawCard(int value) |
|
|
|
{ |
|
|
|
Buff buff = new Buff_BanDrawCard(); |
|
|
|
SufferPlayerAbnormalCondition(AbnormalCondition.banDrawCard, value, buff); |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
public void AddPlayerAbnormalCondition_downSpeed(int value) |
|
|
|
{ |
|
|
|
Buff buff = new Buff_DownStepRange(); |
|
|
|
SufferPlayerAbnormalCondition(AbnormalCondition.downSpeed, value, buff); |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
public void AddPlayerAbnormalCondition_upperSpeed(int value) |
|
|
|
{ |
|
|
|
Buff buff = new Buff_UpperStepRange(); |
|
|
|
@ -159,7 +135,7 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
public void AddPlayerAbnormalCondition_BanStep(int value) |
|
|
|
{ |
|
|
|
Buff buff = new Buff_BanStepRange(); |
|
|
|
SufferPlayerAbnormalCondition(AbnormalCondition.BanStep, value, buff); |
|
|
|
SufferPlayerAbnormalCondition(AbnormalCondition.banStep, value, buff); |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
|
|
|
|
@ -189,11 +165,28 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
} |
|
|
|
public void SufferPlayerAbnormalCondition(string condition, int value) |
|
|
|
{ |
|
|
|
if (immunityCal(condition,value)) |
|
|
|
{ |
|
|
|
return; |
|
|
|
} |
|
|
|
if (condition.Equals(AbnormalCondition.levelSleep)) |
|
|
|
{ |
|
|
|
sufferLevelSleep(condition, value); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (condition.Equals(AbnormalCondition.upSpeed)|| condition.Equals(AbnormalCondition.downSpeed)) |
|
|
|
{ |
|
|
|
sufferSpeed(condition, value); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (playerAbnormalCondition.ContainsKey(condition)) |
|
|
|
{ |
|
|
|
int beforeval = playerAbnormalCondition[condition].value; |
|
|
|
int afterval = beforeval + value; |
|
|
|
playerAbnormalCondition[condition].value = afterval; |
|
|
|
Debug.Log("加入了:" + condition + "afterval:" + afterval); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
@ -201,11 +194,143 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private bool immunityCal(string condition, int value) |
|
|
|
{ |
|
|
|
bool isImmunityDispose = false; |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.immunity)&& !AbnormalCondition.playBuffList.Contains(condition)) |
|
|
|
{ |
|
|
|
isImmunityDispose = true; |
|
|
|
playerAbnormalCondition[AbnormalCondition.immunity].value -= 1; |
|
|
|
if (playerAbnormalCondition[AbnormalCondition.immunity].value<=0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition.Remove(AbnormalCondition.immunity); |
|
|
|
} |
|
|
|
} |
|
|
|
return isImmunityDispose; |
|
|
|
} |
|
|
|
|
|
|
|
private void sufferLevelSleep(string condition, int value) |
|
|
|
{ |
|
|
|
//LevelSleep的特殊处理
|
|
|
|
int nowValue = 0; |
|
|
|
if (playerAbnormalCondition.ContainsKey(condition)) |
|
|
|
{ |
|
|
|
nowValue = playerAbnormalCondition[condition].value; |
|
|
|
} |
|
|
|
int trueValue = nowValue + value; |
|
|
|
int sleepLayers = 0; |
|
|
|
if (trueValue >= 10) |
|
|
|
{ |
|
|
|
sleepLayers = trueValue / 10; |
|
|
|
|
|
|
|
} |
|
|
|
int afterval = trueValue % 10; |
|
|
|
Debug.Log("sleep层数是:" + sleepLayers); |
|
|
|
Debug.Log("剩余层数是:" + afterval); |
|
|
|
if (sleepLayers > 0) |
|
|
|
{ |
|
|
|
SufferPlayerAbnormalCondition(AbnormalCondition.sleep, sleepLayers); |
|
|
|
} |
|
|
|
playerAbnormalCondition.Remove(condition); |
|
|
|
AddNewAbnormalCondition(condition, afterval); |
|
|
|
//enemyUIBar.RefreshEnemyBuffIcon();
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private void sufferSpeed(string condition, int value) |
|
|
|
{ |
|
|
|
//speed的特殊处理
|
|
|
|
if (condition.Equals(AbnormalCondition.upSpeed)) |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.downSpeed)) |
|
|
|
{ |
|
|
|
int downLayer = playerAbnormalCondition[AbnormalCondition.downSpeed].value; |
|
|
|
int trueLayer = downLayer - value; |
|
|
|
if (trueLayer > 0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition[AbnormalCondition.downSpeed].value = trueLayer; |
|
|
|
} |
|
|
|
else if (trueLayer == 0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition.Remove(AbnormalCondition.downSpeed); |
|
|
|
} |
|
|
|
else if (trueLayer < 0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition.Remove(AbnormalCondition.downSpeed); |
|
|
|
AddNewAbnormalCondition(condition, 0-trueLayer); |
|
|
|
} |
|
|
|
}else |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition.ContainsKey(condition)) |
|
|
|
{ |
|
|
|
int beforeval = playerAbnormalCondition[condition].value; |
|
|
|
int afterval = beforeval + value; |
|
|
|
playerAbnormalCondition[condition].value = afterval; |
|
|
|
Debug.Log("加入了:" + condition + "afterval:" + afterval); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
AddNewAbnormalCondition(condition, value); |
|
|
|
} |
|
|
|
} |
|
|
|
}else if (condition.Equals(AbnormalCondition.downSpeed)) |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.upSpeed)) |
|
|
|
{ |
|
|
|
int downLayer = playerAbnormalCondition[AbnormalCondition.upSpeed].value; |
|
|
|
int trueLayer = downLayer - value; |
|
|
|
if (trueLayer > 0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition[AbnormalCondition.upSpeed].value = trueLayer; |
|
|
|
} |
|
|
|
else if (trueLayer == 0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition.Remove(AbnormalCondition.upSpeed); |
|
|
|
} |
|
|
|
else if (trueLayer < 0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition.Remove(AbnormalCondition.upSpeed); |
|
|
|
AddNewAbnormalCondition(condition, 0 - trueLayer); |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition.ContainsKey(condition)) |
|
|
|
{ |
|
|
|
int beforeval = playerAbnormalCondition[condition].value; |
|
|
|
int afterval = beforeval + value; |
|
|
|
playerAbnormalCondition[condition].value = afterval; |
|
|
|
Debug.Log("加入了:" + condition + "afterval:" + afterval); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
AddNewAbnormalCondition(condition, value); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
//enemyUIBar.RefreshEnemyBuffIcon();
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
public void AddNewAbnormalCondition(string condition, int value) |
|
|
|
{ |
|
|
|
if (BuffDataManager.Instance.abnormalCondition.ContainsKey(condition)) |
|
|
|
{ |
|
|
|
if (condition.Equals(AbnormalCondition.upSpeed)) |
|
|
|
{ |
|
|
|
GameManager.Instance.playerState.currentStepRange += 1; |
|
|
|
} |
|
|
|
if (condition.Equals(AbnormalCondition.downSpeed)) |
|
|
|
{ |
|
|
|
GameManager.Instance.playerState.currentStepRange -= 1; |
|
|
|
} |
|
|
|
if (condition.Equals(AbnormalCondition.banStep)) |
|
|
|
{ |
|
|
|
GameManager.Instance.playerState.currentStepRange = 0; |
|
|
|
} |
|
|
|
playerAbnormalCondition.Add(condition, BuffDataManager.Instance.abnormalCondition[condition].NewBuff(value)); |
|
|
|
Debug.Log("加入了:" + condition + "value是:" + value); |
|
|
|
} |
|
|
|
} |
|
|
|
//回合Buff结算
|
|
|
|
@ -218,6 +343,17 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
public void PlayerTurnBeginSettle() |
|
|
|
{ |
|
|
|
foreach (var key in playerAbnormalCondition.Keys.ToList()) |
|
|
|
{ |
|
|
|
playerAbnormalCondition[key].BeginSettle(); |
|
|
|
AbnormalConditionEndCheck(); |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
//回合结束时结算buff
|
|
|
|
public void BuffSettleInEndTurn() |
|
|
|
@ -239,9 +375,19 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
{ |
|
|
|
foreach (var key in playerAbnormalCondition.Keys.ToList()) |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition[key].CheckValue() <= 0) |
|
|
|
if (AbnormalCondition.canNegativeNumberList.Contains(key)) |
|
|
|
{ |
|
|
|
playerAbnormalCondition.Remove(key); |
|
|
|
if (playerAbnormalCondition[key].CheckValue() == 0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition.Remove(key); |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition[key].CheckValue() <= 0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition.Remove(key); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -268,26 +414,80 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
public void SufferDamage(int damage) |
|
|
|
public void SufferTrueDamage(int damage) |
|
|
|
{ |
|
|
|
GameManager.Instance.playerState.currentHP -= SufferDamageCalculation(damage); |
|
|
|
int trueDamage = SufferTrueDamageCalculation(damage); |
|
|
|
if (trueDamage > shield) |
|
|
|
{ |
|
|
|
int afterVal= trueDamage - shield; |
|
|
|
shield = 0; |
|
|
|
GameManager.Instance.playerState.currentHP -= afterVal; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
shield-= trueDamage; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public void SufferDamage(int damage,EnemyNode enemyNode) |
|
|
|
{ |
|
|
|
if (enemyNode != null) |
|
|
|
{ |
|
|
|
thornCal(enemyNode); |
|
|
|
} |
|
|
|
bleedCal(); |
|
|
|
int trueDamage = SufferDamageCalculation(damage); |
|
|
|
if (trueDamage > shield) |
|
|
|
{ |
|
|
|
int afterVal = trueDamage - shield; |
|
|
|
shield = 0; |
|
|
|
GameManager.Instance.playerState.currentHP -= afterVal; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
shield -= trueDamage; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void bleedCal() |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.bleed)) |
|
|
|
{ |
|
|
|
SufferTrueDamage(2); |
|
|
|
playerAbnormalCondition[AbnormalCondition.bleed].value -=1; |
|
|
|
if (playerAbnormalCondition[AbnormalCondition.bleed].value<=0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition.Remove(AbnormalCondition.bleed); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void thornCal(EnemyNode enemyNode) |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.thorn)) |
|
|
|
{ |
|
|
|
enemyNode.sufferTrueDamage(3); |
|
|
|
playerAbnormalCondition[AbnormalCondition.thorn].value -= 1; |
|
|
|
if (playerAbnormalCondition[AbnormalCondition.thorn].value <= 0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition.Remove(AbnormalCondition.thorn); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#region Buff结算函数
|
|
|
|
//计算函数
|
|
|
|
|
|
|
|
//伤害计算函数
|
|
|
|
public int DamageCalculation(int damage) |
|
|
|
{ |
|
|
|
int angerUpperDamage=0, angerDownDamage=0; |
|
|
|
int angerUpperDamage = 0; |
|
|
|
|
|
|
|
if (playerAbnormalCondition .ContainsKey (UpperCondition .angerUpperDamage )) |
|
|
|
if (playerAbnormalCondition .ContainsKey (AbnormalCondition.angerUpperDamage)) |
|
|
|
{ |
|
|
|
angerUpperDamage = playerAbnormalCondition[UpperCondition.angerUpperDamage].value; |
|
|
|
} |
|
|
|
if(playerAbnormalCondition.ContainsKey(AbnormalCondition.angerDownDamage )) |
|
|
|
{ |
|
|
|
angerDownDamage = playerAbnormalCondition[AbnormalCondition.angerDownDamage].value; |
|
|
|
angerUpperDamage = playerAbnormalCondition[AbnormalCondition.angerUpperDamage].value; |
|
|
|
} |
|
|
|
if(playerAbnormalCondition.ContainsKey(AbnormalCondition.weak)) |
|
|
|
{ |
|
|
|
@ -296,8 +496,8 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
{ |
|
|
|
damagemultiply = 1f; |
|
|
|
} |
|
|
|
damage = (int)((damage + angerUpperDamage - angerDownDamage) * damagemultiply); |
|
|
|
|
|
|
|
damage = (int)((damage + angerUpperDamage ) * damagemultiply); |
|
|
|
MathTool.keepNature(damage); |
|
|
|
|
|
|
|
return damage; |
|
|
|
} |
|
|
|
@ -307,59 +507,30 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
{ |
|
|
|
int shieldValue = 0; |
|
|
|
|
|
|
|
if (playerAbnormalCondition.ContainsKey(UpperCondition.shieldUpperValue)) |
|
|
|
{ |
|
|
|
shieldValue += playerAbnormalCondition[UpperCondition.shieldUpperValue].value; |
|
|
|
} |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.shieldDownValue)) |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.shieldUpperValue)) |
|
|
|
{ |
|
|
|
shieldValue -= playerAbnormalCondition[AbnormalCondition.shieldDownValue].value; |
|
|
|
shieldValue += playerAbnormalCondition[AbnormalCondition.shieldUpperValue].value; |
|
|
|
} |
|
|
|
|
|
|
|
shield += shieldValue; |
|
|
|
|
|
|
|
MathTool.keepNature(shield); |
|
|
|
return shield; |
|
|
|
} |
|
|
|
|
|
|
|
//³éÅÆ¼ÆË㺯Êý
|
|
|
|
public int DrawCardCalculation(int drawNumber) |
|
|
|
{ |
|
|
|
int addDrawNumber = 0; |
|
|
|
|
|
|
|
if (playerAbnormalCondition.ContainsKey(UpperCondition.addDrawCard)) |
|
|
|
{ |
|
|
|
addDrawNumber += playerAbnormalCondition[UpperCondition.addDrawCard].value; |
|
|
|
} |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.minusDrawCard)) |
|
|
|
{ |
|
|
|
addDrawNumber -= playerAbnormalCondition[AbnormalCondition.minusDrawCard].value; |
|
|
|
} |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.banDrawCard)) |
|
|
|
{ |
|
|
|
drawNubmerMultiply =0; |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
drawNubmerMultiply = 1f; |
|
|
|
} |
|
|
|
drawNumber = (int)((drawNumber + addDrawNumber) * drawNubmerMultiply); |
|
|
|
return drawNumber; |
|
|
|
} |
|
|
|
|
|
|
|
//移动力计算函数
|
|
|
|
public int StepRangeCalculation(int stepRange) |
|
|
|
{ |
|
|
|
int addStepRange =0; |
|
|
|
|
|
|
|
if (playerAbnormalCondition.ContainsKey(UpperCondition.upperSpeed)) |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.upSpeed)) |
|
|
|
{ |
|
|
|
addStepRange += 1; |
|
|
|
addStepRange = 1; |
|
|
|
} |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.downSpeed)) |
|
|
|
else if (playerAbnormalCondition.ContainsKey(AbnormalCondition.downSpeed)) |
|
|
|
{ |
|
|
|
addStepRange -= 1; |
|
|
|
addStepRange = -1; |
|
|
|
} |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.BanStep)) |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.banStep)) |
|
|
|
{ |
|
|
|
stepRangeMultiply = 0; |
|
|
|
} |
|
|
|
@ -368,9 +539,24 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
stepRangeMultiply = 1f; |
|
|
|
} |
|
|
|
stepRange = (int)((stepRange + addStepRange) *stepRangeMultiply); |
|
|
|
MathTool.keepNature(stepRange); |
|
|
|
return stepRange; |
|
|
|
} |
|
|
|
//受伤计算函数
|
|
|
|
public int SufferTrueDamageCalculation(int damage) |
|
|
|
{ |
|
|
|
sufferDamageMultiply = 1f; |
|
|
|
damage =(int)(sufferDamageMultiply * damage); |
|
|
|
if (damage > 0 && playerAbnormalCondition.ContainsKey(AbnormalCondition.sleep)) |
|
|
|
{ |
|
|
|
sleep = false; |
|
|
|
playerAbnormalCondition.Remove(AbnormalCondition.sleep); |
|
|
|
BanActionJudge(); |
|
|
|
RefreshPlayerBuffIcon(); |
|
|
|
} |
|
|
|
return damage; |
|
|
|
} |
|
|
|
|
|
|
|
public int SufferDamageCalculation(int damage) |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.vulnerable)) |
|
|
|
@ -381,7 +567,7 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
{ |
|
|
|
sufferDamageMultiply = 1f; |
|
|
|
} |
|
|
|
damage =(int)(sufferDamageMultiply * damage); |
|
|
|
damage = (int)(sufferDamageMultiply * damage); |
|
|
|
|
|
|
|
if (damage > 0 && playerAbnormalCondition.ContainsKey(AbnormalCondition.sleep)) |
|
|
|
{ |
|
|
|
@ -396,7 +582,7 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
//寄生实现函数
|
|
|
|
public void ParasitismnRealize(MapUnity start,MapUnity end) |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.parasitism)&& playerAbnormalCondition[AbnormalCondition.parasitism].value>0) |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.parasitism)|| playerAbnormalCondition.ContainsKey(AbnormalCondition.corrode)) |
|
|
|
{ |
|
|
|
List<MapUnity> path = AStarManager.Instance.FindPathWithEndNode(start, end); |
|
|
|
foreach (var node in path ) |
|
|
|
@ -405,6 +591,24 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
public void bleedRealize(MapUnity start, MapUnity end) |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.bleed)) |
|
|
|
{ |
|
|
|
List<MapUnity> path = AStarManager.Instance.FindPathWithEndNode(start, end); |
|
|
|
foreach (var node in path) |
|
|
|
{ |
|
|
|
SufferDamage(2,null); |
|
|
|
playerAbnormalCondition[AbnormalCondition.bleed].value -= 1; |
|
|
|
if (playerAbnormalCondition[AbnormalCondition.bleed].value<=0) |
|
|
|
{ |
|
|
|
playerAbnormalCondition.Remove(AbnormalCondition.bleed); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
//判断函数
|
|
|
|
|
|
|
|
@ -424,7 +628,7 @@ public class Usermanager : Singleton<Usermanager> |
|
|
|
//强固判断函数
|
|
|
|
public bool FirmJudge() |
|
|
|
{ |
|
|
|
if (playerAbnormalCondition.ContainsKey(UpperCondition.firm)) |
|
|
|
if (playerAbnormalCondition.ContainsKey(AbnormalCondition.firm)) |
|
|
|
{ |
|
|
|
firm = true; |
|
|
|
} |
|
|
|
|