|
|
|
@ -154,7 +154,7 @@ public static class Name |
|
|
|
if ((cardEntity.tempIsDisposable||cardOriginalData |
|
|
|
.IsDisposable)&&cardOriginalData.CardType!=Name.CardType.ability) |
|
|
|
{ |
|
|
|
sb.Append(",消耗"); |
|
|
|
sb.Append(",消耗"); |
|
|
|
} |
|
|
|
/*foreach (KeyValuePair<string, Tuple<string, string>> kvp in cardOriginalData.conditionAndFunctionVal) |
|
|
|
{ |
|
|
|
@ -233,298 +233,298 @@ public static class Name |
|
|
|
case CardFunction.cardDamage: |
|
|
|
if(Usermanager.Instance!=null ) |
|
|
|
{ |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">造成" + Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)) + "点伤害</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">造成" + Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)) + "点伤害</link>"); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">造成" + int.Parse(kvp.Value) + "点伤害</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">造成" + int.Parse(kvp.Value) + "点伤害</link>"); |
|
|
|
} |
|
|
|
break; |
|
|
|
case CardFunction.cardShield: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "点护盾</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "点护盾</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.posion: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层中毒</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层中毒</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.fireSeed: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层火种</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层火种</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.vulnerable: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层易伤</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层易伤</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.weak: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层虚弱</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层虚弱</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.coma: |
|
|
|
sb.Append("施加" + kvp.Value + "层昏迷"); |
|
|
|
sb.Append("施加" + kvp.Value + "层昏迷"); |
|
|
|
break; |
|
|
|
case CardFunction.disarm: |
|
|
|
sb.Append("施加" + kvp.Value + "层缴械"); |
|
|
|
sb.Append("施加" + kvp.Value + "层缴械"); |
|
|
|
break; |
|
|
|
case CardFunction.sleep: |
|
|
|
sb.Append("施加" + kvp.Value + "层睡眠"); |
|
|
|
sb.Append("施加" + kvp.Value + "层睡眠"); |
|
|
|
break; |
|
|
|
case CardFunction.bleed: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层流血</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层流血</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.thorn: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "层荆棘</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "层荆棘</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.ember: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "层狂热</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "层狂热</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.upSpeed: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "层加速</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "层加速</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.calm: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "层冷静</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "层冷静</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.tempCastRange: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">卡牌释放距离增加" + kvp.Value + "</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">卡牌释放距离增加" + kvp.Value + "</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.downSpeed: |
|
|
|
sb.Append("获得" + kvp.Value + "层减速"); |
|
|
|
sb.Append("获得" + kvp.Value + "层减速"); |
|
|
|
break; |
|
|
|
case CardFunction.agile: |
|
|
|
sb.Append("获得" + kvp.Value + "层敏捷"); |
|
|
|
sb.Append("获得" + kvp.Value + "层敏捷"); |
|
|
|
break; |
|
|
|
case CardFunction.immunity: |
|
|
|
sb.Append("获得" + kvp.Value + "层魔抗"); |
|
|
|
sb.Append("获得" + kvp.Value + "层魔抗"); |
|
|
|
break; |
|
|
|
case CardFunction.recoverHp: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">恢复" + kvp.Value + "点血量</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">恢复" + kvp.Value + "点血量</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.extraDrawCardsNum: |
|
|
|
sb.Append("下回合多抽" + kvp.Value + "张牌"); |
|
|
|
sb.Append("下回合多抽" + kvp.Value + "张牌"); |
|
|
|
break; |
|
|
|
case CardFunction.teleport: |
|
|
|
sb.Append("瞬移到目标格子"); |
|
|
|
sb.Append("瞬移到目标格子"); |
|
|
|
break; |
|
|
|
case CardFunction.clearAllAbnormalConditons: |
|
|
|
sb.Append("清除所有异常状态"); |
|
|
|
sb.Append("清除所有异常状态"); |
|
|
|
break; |
|
|
|
case CardFunction.firm: |
|
|
|
sb.Append("护盾不会消失"); |
|
|
|
sb.Append("护盾不会消失"); |
|
|
|
break; |
|
|
|
case CardFunction.costRestore: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "点能量</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "点能量</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.drawCard: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">抽" + kvp.Value + "张牌</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">抽" + kvp.Value + "张牌</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.discard: |
|
|
|
sb.Append("弃" + kvp.Value + "张牌"); |
|
|
|
sb.Append("弃" + kvp.Value + "张牌"); |
|
|
|
break; |
|
|
|
case CardFunction.nodeDiffDamage: |
|
|
|
sb.Append("造成场地差伤害"); |
|
|
|
sb.Append("造成场地差伤害"); |
|
|
|
break; |
|
|
|
case CardFunction.dyeing: |
|
|
|
sb.Append("染色"); |
|
|
|
sb.Append("染色"); |
|
|
|
break; |
|
|
|
case CardFunction.consumePlayerNodesForHealth: |
|
|
|
sb.Append("消耗范围内的友方格子,恢复消耗数量的血量"); |
|
|
|
sb.Append("消耗范围内的友方格子,恢复消耗数量的血量"); |
|
|
|
break; |
|
|
|
case CardFunction.costStep: |
|
|
|
sb.Append("消耗" + kvp.Value + "点移动力"); |
|
|
|
sb.Append("消耗" + kvp.Value + "点移动力"); |
|
|
|
break; |
|
|
|
case CardFunction.nextTurnExtraOneCost: |
|
|
|
sb.Append("下回合额外回复一点能量"); |
|
|
|
sb.Append("下回合额外回复一点能量"); |
|
|
|
break; |
|
|
|
case CardFunction.fireShield: |
|
|
|
sb.Append("获得" + kvp.Value + "层火盾"); |
|
|
|
sb.Append("获得" + kvp.Value + "层火盾"); |
|
|
|
break; |
|
|
|
case CardFunction.banStep: |
|
|
|
sb.Append("施加" + kvp.Value + "层缠绕"); |
|
|
|
sb.Append("施加" + kvp.Value + "层缠绕"); |
|
|
|
break; |
|
|
|
case CardFunction.step: |
|
|
|
if (int.Parse(kvp.Value) > 0) |
|
|
|
{ |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "点移动力</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">获得" + kvp.Value + "点移动力</link>"); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">失去" + -int.Parse(kvp.Value) + "点移动力</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">失去" + -int.Parse(kvp.Value) + "点移动力</link>"); |
|
|
|
} |
|
|
|
break; |
|
|
|
case CardFunction.dyeingAround: |
|
|
|
sb.Append("对目标周围染色"); |
|
|
|
sb.Append("对目标周围染色"); |
|
|
|
break; |
|
|
|
case CardFunction.nextCardCostHp: |
|
|
|
sb.Append("使下一张牌消耗改为血量"); |
|
|
|
sb.Append("使下一张牌消耗改为血量"); |
|
|
|
break; |
|
|
|
case CardFunction.nextCardCostMinusOne: |
|
|
|
sb.Append("使下一张牌消耗-1"); |
|
|
|
sb.Append("使下一张牌消耗-1"); |
|
|
|
break; |
|
|
|
case CardFunction.cantUserEffectCaed: |
|
|
|
sb.Append("本回合无法释放效果牌"); |
|
|
|
sb.Append("本回合无法释放效果牌"); |
|
|
|
break; |
|
|
|
case CardFunction.dyeingCardCostMinusOne: |
|
|
|
sb.Append("手牌涂色牌费用-1"); |
|
|
|
sb.Append("手牌涂色牌费用-1"); |
|
|
|
break; |
|
|
|
case CardFunction.nextDyeingCardRangeAddTwo: |
|
|
|
sb.Append("下张涂色牌施法距离+2"); |
|
|
|
sb.Append("下张涂色牌施法距离+2"); |
|
|
|
break; |
|
|
|
case CardFunction.nextEffectCardDoubleSettle: |
|
|
|
sb.Append("下一张效果牌结算两次"); |
|
|
|
sb.Append("下一张效果牌结算两次"); |
|
|
|
break; |
|
|
|
case CardFunction.deathMark: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层死亡印记</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">施加" + kvp.Value + "层死亡印记</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.teleportAround: |
|
|
|
sb.Append("玩家出现在周围随机1格"); |
|
|
|
sb.Append("玩家出现在周围随机1格"); |
|
|
|
break; |
|
|
|
case CardFunction.infCastRange: |
|
|
|
sb.Append("无限施法距离"); |
|
|
|
sb.Append("无限施法距离"); |
|
|
|
break; |
|
|
|
case CardFunction.drawEffectCard: |
|
|
|
sb.Append("抽" + kvp.Value + "张效果牌"); |
|
|
|
sb.Append("抽" + kvp.Value + "张效果牌"); |
|
|
|
break; |
|
|
|
case CardFunction.doublebleedDamage: |
|
|
|
sb.Append("使血伤翻倍"); |
|
|
|
sb.Append("使血伤翻倍"); |
|
|
|
break; |
|
|
|
case CardFunction.drawAndCopyCard: |
|
|
|
sb.Append("抽一张牌,获得这张牌的复制"); |
|
|
|
sb.Append("抽一张牌,获得这张牌的复制"); |
|
|
|
break; |
|
|
|
case CardFunction.nextDyeingCardCostZero: |
|
|
|
sb.Append("下张涂色牌消耗为0"); |
|
|
|
sb.Append("下张涂色牌消耗为0"); |
|
|
|
break; |
|
|
|
case CardFunction.bleed4TurnCost: |
|
|
|
sb.Append("回合内触发4次流血,获得1点能量"); |
|
|
|
sb.Append("回合内触发4次流血,获得1点能量"); |
|
|
|
break; |
|
|
|
case CardFunction.bleed3TurnCost: |
|
|
|
sb.Append("回合内触发3次流血,获得1点能量"); |
|
|
|
sb.Append("回合内触发3次流血,获得1点能量"); |
|
|
|
break; |
|
|
|
case CardFunction.bleedHeal: |
|
|
|
sb.Append("目标单位的下次流血伤害会治疗玩家"); |
|
|
|
sb.Append("目标单位的下次流血伤害会治疗玩家"); |
|
|
|
break; |
|
|
|
case CardFunction.turnRedNodesToBleed: |
|
|
|
sb.Append("消耗玩家2范围颜色,每消耗1红对1范围内所有敌人施加1流血"); |
|
|
|
sb.Append("消耗玩家2范围颜色,每消耗1红对1范围内所有敌人施加1流血"); |
|
|
|
break; |
|
|
|
case CardFunction.turnRedNodesToBleedInTwoCirCle: |
|
|
|
sb.Append("消耗玩家2范围颜色,每消耗1红对2范围内所有敌人施加1流血"); |
|
|
|
sb.Append("消耗玩家2范围颜色,每消耗1红对2范围内所有敌人施加1流血"); |
|
|
|
break; |
|
|
|
case CardFunction.halfHpShield: |
|
|
|
sb.Append("获得生命值上限一半的护盾"); |
|
|
|
sb.Append("获得生命值上限一半的护盾"); |
|
|
|
break; |
|
|
|
case CardFunction.cantShield: |
|
|
|
sb.Append("下" + kvp.Value + "回合无法获得护盾"); |
|
|
|
sb.Append("下" + kvp.Value + "回合无法获得护盾"); |
|
|
|
break; |
|
|
|
case CardFunction.settleAllBleed: |
|
|
|
sb.Append("结算单位全部流血层数"); |
|
|
|
sb.Append("结算单位全部流血层数"); |
|
|
|
break; |
|
|
|
case CardFunction.settleHalfBleed: |
|
|
|
sb.Append("结算单位一半流血层数"); |
|
|
|
sb.Append("结算单位一半流血层数"); |
|
|
|
break; |
|
|
|
case CardFunction.doubleBleed: |
|
|
|
sb.Append("使目标流血层数翻倍"); |
|
|
|
sb.Append("使目标流血层数翻倍"); |
|
|
|
break; |
|
|
|
case CardFunction.tripleBleed: |
|
|
|
sb.Append("使目标流血层数翻3倍"); |
|
|
|
sb.Append("使目标流血层数翻3倍"); |
|
|
|
break; |
|
|
|
case CardFunction.lostHp: |
|
|
|
sb.Append("失去" + kvp.Value + "点生命"); |
|
|
|
sb.Append("失去" + kvp.Value + "点生命"); |
|
|
|
break; |
|
|
|
case CardFunction.ifBleedThenShield: |
|
|
|
sb.Append("若目标身上有流血,获得" + kvp.Value + "点护盾"); |
|
|
|
sb.Append("若目标身上有流血,获得" + kvp.Value + "点护盾"); |
|
|
|
break; |
|
|
|
case CardFunction.turnHalfYellowNodesToShield: |
|
|
|
sb.Append("获得黄对应数量的护盾,留下一半黄色"); |
|
|
|
sb.Append("获得黄对应数量的护盾,留下一半黄色"); |
|
|
|
break; |
|
|
|
case CardFunction.turnYellowNodesToShield: |
|
|
|
sb.Append("消耗所有黄色,获得对应数量的护盾"); |
|
|
|
sb.Append("消耗所有黄色,获得对应数量的护盾"); |
|
|
|
break; |
|
|
|
case CardFunction.turn3RedNodesToEmber: |
|
|
|
sb.Append("消耗玩家周围2范围地块,每消耗3红获得1层狂热"); |
|
|
|
sb.Append("消耗玩家周围2范围地块,每消耗3红获得1层狂热"); |
|
|
|
break; |
|
|
|
case CardFunction.turn2RedNodesToEmber: |
|
|
|
sb.Append("消耗玩家周围2范围地块,每消耗2红获得1层狂热"); |
|
|
|
sb.Append("消耗玩家周围2范围地块,每消耗2红获得1层狂热"); |
|
|
|
break; |
|
|
|
case CardFunction.bleedDamage: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">增加" + kvp.Value + "层血伤</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">增加" + kvp.Value + "层血伤</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.drawDyeingCard: |
|
|
|
sb.Append("抽" + kvp.Value + "张涂色牌"); |
|
|
|
sb.Append("抽" + kvp.Value + "张涂色牌"); |
|
|
|
break; |
|
|
|
case CardFunction.bleedForRedNode: |
|
|
|
sb.Append("对红色地块造成" + kvp.Value + "层流血"); |
|
|
|
sb.Append("对红色地块造成" + kvp.Value + "层流血"); |
|
|
|
break; |
|
|
|
case CardFunction.shieldToDamage: |
|
|
|
sb.Append("对目标造成护盾值的伤害"); |
|
|
|
sb.Append("对目标造成护盾值的伤害"); |
|
|
|
break; |
|
|
|
case CardFunction.damageForRedNode: |
|
|
|
//sb.Append("对红色地块造成" + Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)) + "点伤害");
|
|
|
|
//sb.Append("对红色地块造成" + Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)) + "点伤害");
|
|
|
|
if (Usermanager.Instance != null) |
|
|
|
{ |
|
|
|
sb.Append("对红色地块造成" + Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)) + "点伤害"); |
|
|
|
sb.Append("对红色地块造成" + Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)) + "点伤害"); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
sb.Append("对红色地块造成" + kvp.Value + "点伤害"); |
|
|
|
sb.Append("对红色地块造成" + kvp.Value + "点伤害"); |
|
|
|
} |
|
|
|
break; |
|
|
|
case CardFunction.damageForBlueNode: |
|
|
|
if (Usermanager.Instance != null) |
|
|
|
{ |
|
|
|
sb.Append("对蓝色地块造成" + Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)) + "点伤害"); |
|
|
|
sb.Append("对蓝色地块造成" + Usermanager.Instance.DamageCalculation(int.Parse(kvp.Value)) + "点伤害"); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
sb.Append("对蓝色地块造成" + kvp.Value + "点伤害"); |
|
|
|
sb.Append("对蓝色地块造成" + kvp.Value + "点伤害"); |
|
|
|
} |
|
|
|
break; |
|
|
|
case CardFunction.damagexyForBlueNode: |
|
|
|
string[] valuesA = kvp.Value.Split("&"); |
|
|
|
if (Usermanager.Instance != null) |
|
|
|
{ |
|
|
|
sb.Append("对蓝色地块造成" + Usermanager.Instance.DamageCalculation(int.Parse(valuesA[0])) + "点伤害" + valuesA[1] + "次"); |
|
|
|
sb.Append("对蓝色地块造成" + Usermanager.Instance.DamageCalculation(int.Parse(valuesA[0])) + "点伤害" + valuesA[1] + "次"); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
sb.Append("对蓝色地块造成" + int.Parse(valuesA[0]) + "点伤害" + valuesA[1] + "次"); |
|
|
|
sb.Append("对蓝色地块造成" + int.Parse(valuesA[0]) + "点伤害" + valuesA[1] + "次"); |
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
case CardFunction.nextRoundCostMinusOne: |
|
|
|
sb.Append("下回合能量回复-1"); |
|
|
|
sb.Append("下回合能量回复-1"); |
|
|
|
break; |
|
|
|
case CardFunction.damagexy: |
|
|
|
string[] values = kvp.Value.Split("&"); |
|
|
|
if (Usermanager.Instance != null) |
|
|
|
{ |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">造成" + Usermanager.Instance.DamageCalculation(int.Parse(values[0])) + "点伤害" + values[1] + "次</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">造成" + Usermanager.Instance.DamageCalculation(int.Parse(values[0])) + "点伤害" + values[1] + "次</link>"); |
|
|
|
} |
|
|
|
else |
|
|
|
{ sb.Append("<link=\"" + kvp.Key + "\">造成" + int.Parse(values[0]) + "点伤害" + values[1] + "次</link>"); } |
|
|
|
{ sb.Append("<link=\"" + kvp.Key + "\">造成" + int.Parse(values[0]) + "点伤害" + values[1] + "次</link>"); } |
|
|
|
break; |
|
|
|
case CardFunction.repel: |
|
|
|
sb.Append("击退" + kvp.Value + "格"); |
|
|
|
sb.Append("击退" + kvp.Value + "格"); |
|
|
|
break; |
|
|
|
case CardFunction.repelRound: |
|
|
|
sb.Append("击退范围1的单位" + kvp.Value + "格"); |
|
|
|
sb.Append("击退范围1的单位" + kvp.Value + "格"); |
|
|
|
break; |
|
|
|
case CardFunction.reduceCost: |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">费用-" + kvp.Value + "</link>"); |
|
|
|
sb.Append("<link=\"" + kvp.Key + "\">费用-" + kvp.Value + "</link>"); |
|
|
|
break; |
|
|
|
case CardFunction.spreadColorToAround: |
|
|
|
sb.Append("将目标地块的颜色扩散至周围"); |
|
|
|
sb.Append("将目标地块的颜色扩散至周围"); |
|
|
|
break; |
|
|
|
case CardFunction.repelToEnd: |
|
|
|
sb.Append("将目标击退至场地边缘"); |
|
|
|
sb.Append("将目标击退至场地边缘"); |
|
|
|
break; |
|
|
|
case CardFunction.damageMulNodeKind: |
|
|
|
sb.Append("场上每有一种颜色的地块,造成" + kvp.Value + "点伤害"); |
|
|
|
sb.Append("场上每有一种颜色的地块,造成" + kvp.Value + "点伤害"); |
|
|
|
break; |
|
|
|
case CardFunction.bleedIfNot: |
|
|
|
sb.Append("如果目标没有流血,施加" + kvp.Value + "层流血"); |
|
|
|
sb.Append("如果目标没有流血,施加" + kvp.Value + "层流血"); |
|
|
|
break; |
|
|
|
case CardFunction.switchStepToCost: |
|
|
|
sb.Append("本回合将剩余移动力转化为能量"); |
|
|
|
sb.Append("本回合将剩余移动力转化为能量"); |
|
|
|
break; |
|
|
|
case CardFunction.teleportAndDamageAround: |
|
|
|
sb.Append("传送到目标格子,对周围造成" + kvp.Value + "点伤害"); |
|
|
|
sb.Append("传送到目标格子,对周围造成" + kvp.Value + "点伤害"); |
|
|
|
break; |
|
|
|
case CardFunction.damageIfMoved: |
|
|
|
sb.Append("如果本回合移动过,造成" + kvp.Value + "点伤害"); |
|
|
|
sb.Append("如果本回合移动过,造成" + kvp.Value + "点伤害"); |
|
|
|
break; |
|
|
|
case CardFunction.damageAndRestoreCostIfKill: |
|
|
|
break; |
|
|
|
@ -537,47 +537,47 @@ public static class Name |
|
|
|
Match match = System.Text.RegularExpressions.Regex.Match(condition, Name.Regex.cardConditionPattern); |
|
|
|
if (match.Success) |
|
|
|
{ |
|
|
|
string firstPart = match.Groups[1].Value; // 第一部分(red)
|
|
|
|
string op = match.Groups[2].Value; // 运算符部分
|
|
|
|
string secondPart = match.Groups[3].Value; // 第二部分
|
|
|
|
string firstPart = match.Groups[1].Value; // 第一部分(red)
|
|
|
|
string op = match.Groups[2].Value; // 运算符部分
|
|
|
|
string secondPart = match.Groups[3].Value; // 第二部分
|
|
|
|
|
|
|
|
Debug.Log("分割"+firstPart); |
|
|
|
Debug .Log ("分割" + secondPart); |
|
|
|
Debug.Log("分割" + op); |
|
|
|
Debug.Log("分割"+firstPart); |
|
|
|
Debug .Log ("分割" + secondPart); |
|
|
|
Debug.Log("分割" + op); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
switch (condition) |
|
|
|
{ |
|
|
|
case Name.WeaponNodeCondition.position: |
|
|
|
sb.Append("在位置" + (int.Parse(conditionValue) + 1)); |
|
|
|
sb.Append("在位置" + (int.Parse(conditionValue) + 1)); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeCondition.positionUnused: |
|
|
|
sb.Append("位置" + (int.Parse(conditionValue) + 1) + "的宝石没有激活"); |
|
|
|
sb.Append("位置" + (int.Parse(conditionValue) + 1) + "的宝石没有激活"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeCondition.positionUsed: |
|
|
|
sb.Append("位置" + (int.Parse(conditionValue) + 1) + "的宝石激活了"); |
|
|
|
sb.Append("位置" + (int.Parse(conditionValue) + 1) + "的宝石激活了"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeCondition.diffSettle: |
|
|
|
sb.Append("与上次成功激活时位置不同"); |
|
|
|
sb.Append("与上次成功激活时位置不同"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeCondition.usedCard: |
|
|
|
sb.Append("至少有" + int.Parse(conditionValue) + "个激活的宝石"); |
|
|
|
sb.Append("至少有" + int.Parse(conditionValue) + "个激活的宝石"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeCondition.threeColorDiffMoreThan: |
|
|
|
sb.Append("蓝红黄地块差值大于" + (int.Parse(conditionValue))); |
|
|
|
sb.Append("蓝红黄地块差值大于" + (int.Parse(conditionValue))); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeCondition.threeColorCountMoreThan: |
|
|
|
sb.Append("蓝红黄地块数量大于" + (int.Parse(conditionValue))); |
|
|
|
sb.Append("蓝红黄地块数量大于" + (int.Parse(conditionValue))); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeCondition.threeColorCountEqual: |
|
|
|
sb.Append("蓝红黄地块数量等于" + (int.Parse(conditionValue))); |
|
|
|
sb.Append("蓝红黄地块数量等于" + (int.Parse(conditionValue))); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeCondition.everyNumNodeConvert: |
|
|
|
sb.Append("每转化"+ (int.Parse(conditionValue)) + "个地块"); |
|
|
|
sb.Append("每转化"+ (int.Parse(conditionValue)) + "个地块"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeCondition.bombbomb: |
|
|
|
sb.Append("每当有炸弹爆炸"); |
|
|
|
sb.Append("每当有炸弹爆炸"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeCondition.node: |
|
|
|
break; |
|
|
|
@ -595,70 +595,70 @@ public static class Name |
|
|
|
switch (result) |
|
|
|
{ |
|
|
|
case Name.WeaponNodeFunction.addScore: |
|
|
|
sb.Append("攻击力+" + int.Parse(resultValue)); |
|
|
|
sb.Append("攻击力+" + int.Parse(resultValue)); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.mulScore: |
|
|
|
sb.Append("攻击力*" + (1+float.Parse(resultValue))); |
|
|
|
sb.Append("攻击力*" + (1+float.Parse(resultValue))); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.repetWeaponNode: |
|
|
|
sb.Append("重复位置" + (int.Parse(resultValue) + 1) +"宝石的效果"); |
|
|
|
sb.Append("重复位置" + (int.Parse(resultValue) + 1) +"宝石的效果"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.doubleWeaponNode: |
|
|
|
sb.Append("位置" + (int.Parse(resultValue) + 1) + "宝石的效果翻倍"); |
|
|
|
sb.Append("位置" + (int.Parse(resultValue) + 1) + "宝石的效果翻倍"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.redNodeCount: |
|
|
|
sb.Append("红色地块的数量+" + int.Parse(resultValue)); |
|
|
|
sb.Append("红色地块的数量+" + int.Parse(resultValue)); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.blueNodeCount: |
|
|
|
sb.Append("蓝色地块的数量+" + int.Parse(resultValue)); |
|
|
|
sb.Append("蓝色地块的数量+" + int.Parse(resultValue)); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.yellowNodeCount: |
|
|
|
sb.Append("黄色地块的数量+" + int.Parse(resultValue)); |
|
|
|
sb.Append("黄色地块的数量+" + int.Parse(resultValue)); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.mostNodeCount: |
|
|
|
sb.Append("数量最多的玩家地块数量+" + int.Parse(resultValue)); |
|
|
|
sb.Append("数量最多的玩家地块数量+" + int.Parse(resultValue)); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.leastNodeCount: |
|
|
|
sb.Append("数量最少的玩家地块数量+" + int.Parse(resultValue)); |
|
|
|
sb.Append("数量最少的玩家地块数量+" + int.Parse(resultValue)); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.allNodeCount: |
|
|
|
sb.Append("所有玩家的地块的数量+" + int.Parse(resultValue)); |
|
|
|
sb.Append("所有玩家的地块的数量+" + int.Parse(resultValue)); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.drawCard: |
|
|
|
sb.Append("下回合多抽" + int.Parse(resultValue)+"张牌"); |
|
|
|
sb.Append("下回合多抽" + int.Parse(resultValue)+"张牌"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.everyRedNodeAddScore: |
|
|
|
sb.Append("每有一个红色地块增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
sb.Append("每有一个红色地块增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.everyYellowNodeAddScore: |
|
|
|
sb.Append("每有一个黄色地块增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
sb.Append("每有一个黄色地块增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.everyBlueNodeAddScore: |
|
|
|
sb.Append("每有一个蓝色地块增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
sb.Append("每有一个蓝色地块增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.everyBlackNodeAddScore: |
|
|
|
sb.Append("每有一个黑色地块增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
sb.Append("每有一个黑色地块增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.everyHolyNodeAddScore: |
|
|
|
sb.Append("每有一个圣光地块增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
sb.Append("每有一个圣光地块增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.everyBombAddScore: |
|
|
|
sb.Append("每有一个炸弹增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
sb.Append("每有一个炸弹增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.everyBelieverAddScore: |
|
|
|
sb.Append("每有一个信徒增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
sb.Append("每有一个信徒增加" + int.Parse(resultValue) + "点攻击力"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.threeColorRedistribution: |
|
|
|
sb.Append("回合结束蓝红黄地块等比例重新分配"); |
|
|
|
sb.Append("回合结束蓝红黄地块等比例重新分配"); |
|
|
|
break; |
|
|
|
case Name.NodeItem.Volcano: |
|
|
|
sb.Append("回合结束在场上增加" + int.Parse(resultValue) + "个火山"); |
|
|
|
sb.Append("回合结束在场上增加" + int.Parse(resultValue) + "个火山"); |
|
|
|
break; |
|
|
|
case Name.WeaponNodeFunction.bomb: |
|
|
|
sb.Append("在场上生成一个炸弹"); |
|
|
|
sb.Append("在场上生成一个炸弹"); |
|
|
|
break; |
|
|
|
case Name.NodeItem.AcidRain: |
|
|
|
sb.Append("回合结束在场上增加" + int.Parse(resultValue) + "个酸雨"); |
|
|
|
sb.Append("回合结束在场上增加" + int.Parse(resultValue) + "个酸雨"); |
|
|
|
break; |
|
|
|
} |
|
|
|
return sb.ToString(); |
|
|
|
@ -988,53 +988,53 @@ public static class Name |
|
|
|
public const string pattern1xxx = @"^1\d{3}$"; |
|
|
|
//2***
|
|
|
|
public const string pattern2xxx = @"^2\d{3}$"; |
|
|
|
//卡牌条件(red>5)
|
|
|
|
//卡牌条件(red>5)
|
|
|
|
public const string cardConditionPattern = @"(\w+)([><=+])(\d+)"; |
|
|
|
//在位置n
|
|
|
|
//在位置n
|
|
|
|
public const string position = @"^position\d+$"; |
|
|
|
//某张卡牌未激活
|
|
|
|
//某张卡牌未激活
|
|
|
|
public const string cardUnused = @"^.*CardUnused$"; |
|
|
|
//某两个颜色>n
|
|
|
|
//某两个颜色>n
|
|
|
|
public const string twoColorCondition = @"^[a-zA-Z]+_[a-zA-Z]+(<=|>=|!=|==|[<>=])-?\d+(?:\.\d+)?$"; |
|
|
|
//与上次结算时位置不同
|
|
|
|
//与上次结算时位置不同
|
|
|
|
public const string diffSettle = "diffSettle"; |
|
|
|
//有两个颜色>n
|
|
|
|
//有两个颜色>n
|
|
|
|
public const string anyTwoColorCondition = @"^anyTwoColor\s*([<>=])\s*(-?\d+(?:\.\d+)?)$"; |
|
|
|
//激活的牌>n
|
|
|
|
//激活的牌>n
|
|
|
|
public const string usedCard = @"^usedCard\s*([<>=])\s*(-?\d+(?:\.\d+)?)$"; |
|
|
|
//具体的地块形状
|
|
|
|
//具体的地块形状
|
|
|
|
public const string node = "node"; |
|
|
|
} |
|
|
|
|
|
|
|
public static class WeaponNodeCondition |
|
|
|
{ |
|
|
|
//卡牌条件(red>5)
|
|
|
|
//卡牌条件(red>5)
|
|
|
|
public const string cardConditionPattern = @"(\w+)([><=+])(\d+)"; |
|
|
|
//在位置n
|
|
|
|
//在位置n
|
|
|
|
public const string position = "position"; |
|
|
|
//某张宝石未激活
|
|
|
|
//某张宝石未激活
|
|
|
|
public const string positionUnused = "positionUnused"; |
|
|
|
//某张宝石激活
|
|
|
|
//某张宝石激活
|
|
|
|
public const string positionUsed = "positionUsed"; |
|
|
|
//某两个颜色>n
|
|
|
|
//某两个颜色>n
|
|
|
|
public const string twoColorCondition = @"^[a-zA-Z]+_[a-zA-Z]+(<=|>=|!=|==|[<>=])-?\d+(?:\.\d+)?$"; |
|
|
|
//与上次结算时位置不同
|
|
|
|
//与上次结算时位置不同
|
|
|
|
public const string diffSettle = "diffSettle"; |
|
|
|
//有两个颜色>n
|
|
|
|
//有两个颜色>n
|
|
|
|
public const string anyTwoColorCondition = "anyTwoColor"; |
|
|
|
//激活的牌>n
|
|
|
|
//激活的牌>n
|
|
|
|
public const string usedCard = "usedCard"; |
|
|
|
//具体的地块形状
|
|
|
|
//具体的地块形状
|
|
|
|
public const string node = "node"; |
|
|
|
//蓝红黄地块差值大于
|
|
|
|
//蓝红黄地块差值大于
|
|
|
|
public const string threeColorDiffMoreThan = "threeColorDiffMoreThan"; |
|
|
|
//蓝红黄地块数量大于
|
|
|
|
//蓝红黄地块数量大于
|
|
|
|
public const string threeColorCountMoreThan = "threeColorCountMoreThan"; |
|
|
|
//蓝红黄地块数量等于
|
|
|
|
//蓝红黄地块数量等于
|
|
|
|
public const string threeColorCountEqual = "threeColorCountEqual"; |
|
|
|
//每转化num的地块
|
|
|
|
//每转化num的地块
|
|
|
|
public const string everyNumNodeConvert = "everyNumNodeConvert"; |
|
|
|
//炸弹爆炸
|
|
|
|
//炸弹爆炸
|
|
|
|
public const string bombbomb = "bombbomb"; |
|
|
|
|
|
|
|
public static readonly HashSet<string> PlayerConditionSet= new HashSet<string> { cardConditionPattern,position, positionUnused, positionUsed, diffSettle |
|
|
|
@ -1115,49 +1115,49 @@ public static class Name |
|
|
|
} |
|
|
|
public static class WeaponNodeFunction |
|
|
|
{ |
|
|
|
//加分
|
|
|
|
//加分
|
|
|
|
public const string addScore = "addScore"; |
|
|
|
//本回合永久加分
|
|
|
|
//本回合永久加分
|
|
|
|
public const string addScoreThisTurn = "addScoreThisTurn"; |
|
|
|
//乘积
|
|
|
|
//乘积
|
|
|
|
public const string mulScore = "mulScore"; |
|
|
|
//重复某个宝石的效果
|
|
|
|
//重复某个宝石的效果
|
|
|
|
public const string repetWeaponNode = "repetWeaponNode"; |
|
|
|
//某个宝石的效果翻倍
|
|
|
|
//某个宝石的效果翻倍
|
|
|
|
public const string doubleWeaponNode = "doubleWeaponNode"; |
|
|
|
//红色+n
|
|
|
|
//红色+n
|
|
|
|
public const string redNodeCount = "redNodeCount"; |
|
|
|
//红色+n
|
|
|
|
//红色+n
|
|
|
|
public const string blueNodeCount = "blueNodeCount"; |
|
|
|
//黄色+n
|
|
|
|
//黄色+n
|
|
|
|
public const string yellowNodeCount = "yellowNodeCount"; |
|
|
|
//最多色+n
|
|
|
|
//最多色+n
|
|
|
|
public const string mostNodeCount = "mostNodeCount"; |
|
|
|
//最少色+n
|
|
|
|
//最少色+n
|
|
|
|
public const string leastNodeCount = "leastNodeCount"; |
|
|
|
//所有色+n
|
|
|
|
//所有色+n
|
|
|
|
public const string allNodeCount = "allNodeCount"; |
|
|
|
//下一回合多抽n张涂色牌
|
|
|
|
//下一回合多抽n张涂色牌
|
|
|
|
public const string drawCard = "drawCard"; |
|
|
|
//某个宝石无视条件
|
|
|
|
//某个宝石无视条件
|
|
|
|
public const string isIgnoreCondition = "isIgnoreCondition"; |
|
|
|
//每有红色+n
|
|
|
|
//每有红色+n
|
|
|
|
public const string everyRedNodeAddScore = "everyRedNodeAddScore"; |
|
|
|
//每有黄色+n
|
|
|
|
//每有黄色+n
|
|
|
|
public const string everyYellowNodeAddScore = "everyYellowNodeAddScore"; |
|
|
|
//每有蓝色+n
|
|
|
|
//每有蓝色+n
|
|
|
|
public const string everyBlueNodeAddScore = "everyBlueNodeAddScore"; |
|
|
|
//每有黑色+n
|
|
|
|
//每有黑色+n
|
|
|
|
public const string everyBlackNodeAddScore = "everyBlackNodeAddScore"; |
|
|
|
//每有圣光+n
|
|
|
|
//每有圣光+n
|
|
|
|
public const string everyHolyNodeAddScore = "everyHolyNodeAddScore"; |
|
|
|
//每有炸弹+n
|
|
|
|
//每有炸弹+n
|
|
|
|
public const string everyBombAddScore = "everyBombAddScore"; |
|
|
|
//每有信徒+n
|
|
|
|
//每有信徒+n
|
|
|
|
public const string everyBelieverAddScore = "everyBelieverAddScore"; |
|
|
|
//蓝绿黄地块数量重新分配
|
|
|
|
//蓝绿黄地块数量重新分配
|
|
|
|
public const string threeColorRedistribution = "threeColorRedistribution"; |
|
|
|
//生成炸弹
|
|
|
|
//生成炸弹
|
|
|
|
public const string bomb = "bomb"; |
|
|
|
|
|
|
|
public static readonly HashSet<string> PlayerResultSet = new HashSet<string> { addScore,mulScore, repetWeaponNode, redNodeCount, blueNodeCount |
|
|
|
@ -1183,11 +1183,12 @@ public static class Name |
|
|
|
public const string Elementary = "Elementary"; |
|
|
|
public const string Intermediate = "Intermediate"; |
|
|
|
public const string Advanced = "Advanced"; |
|
|
|
public static readonly HashSet<string> WeaponNodeLevelSet = new HashSet<string> { Basic,Elementary,Intermediate,Advanced}; |
|
|
|
} |
|
|
|
|
|
|
|
public static class DomainFunction |
|
|
|
{ |
|
|
|
//加分
|
|
|
|
//加分
|
|
|
|
public const string score = "score"; |
|
|
|
} |
|
|
|
public static class CardFunctionString |
|
|
|
|