/// <summary> /// 抽牌魔法 /// </summary> /// <param name="role"></param> /// <param name="magic"></param> public static void ModifyCardStock(RoleInfo role, EffectDefine magic) { //抽牌 var cards = role.cardStock.DrawCard(magic.StandardEffectPoint); //加入手牌 role.handCards.AddRange(cards); }
/// <summary> /// 对法力水晶的法术实施 /// </summary> /// <param name="role"></param> /// <param name="magic"></param> public static void ModifyCrystal(RoleInfo role, EffectDefine magic) { string[] Op = magic.AddtionInfo.Split("/".ToCharArray()); int point = 0; //±N/±N 增加减少 可用水晶 / 增加减少 空水晶 //可用水晶 if (Op[0].Substring(1, 1) != "0") { point = int.Parse(Op[0].Substring(1, 1)); if (Op[0].Substring(0, 1) == "+") { for (int i = 0; i < point; i++) { role.crystal.AddCurrentPoint(); } } else { for (int i = 0; i < point; i++) { role.crystal.ReduceCurrentPoint(); } } } //空水晶 if (Op[1].Substring(1, 1) != "0") { point = int.Parse(Op[1].Substring(1, 1)); if (Op[1].Substring(0, 1) == "+") { for (int i = 0; i < point; i++) { role.crystal.AddFullPoint(); } } else { for (int i = 0; i < point; i++) { role.crystal.ReduceFullPoint(); } } } }
/// <summary> /// 检查是否可以使用 /// </summary> /// <returns></returns> public Boolean CheckCondition(RoleInfo info) { //剩余的法力是否足够实际召唤的法力 return info.crystal.CurrentRemainPoint >= ActualCostPoint; }