public override bool TakeAction() { EquipData equip = GetEquips.FindEquipData(equipID); if (GetBasis.UserLv <= equip.Lv) { return(false); } if (equip.Lv - GetEquips.Weapon.Lv >= 3 || equip.Lv - GetEquips.Coat.Lv >= 3 || equip.Lv - GetEquips.Ring.Lv >= 3 || equip.Lv - GetEquips.Shoe.Lv >= 3 || equip.Lv - GetEquips.Accessory.Lv >= 3) { return(false); } var equipcfg = new ShareCacheStruct <Config_Equip>().Find(t => (t.EquipID == equip.ID && t.Grade == (equip.Lv + 1))); if (equipcfg == null) { return(false); } BigInteger gradeConsumeGold = BigInteger.Parse(equipcfg.GradeConsumeGold); if (GetBasis.GoldNum < gradeConsumeGold || GetBasis.DiamondNum < equipcfg.GradeConsumediamond) { return(false); } //var nextEquipcfg = new ShareCacheStruct<Config_Equip>().Find(t => (t.EquipID == equip.ID && t.Grade == equip.Lv+1)); //if (nextEquipcfg == null) //{ // return false; //} if (gradeConsumeGold > 0) { UserHelper.ConsumeGold(Current.UserId, equipcfg.GradeConsumeGold); } if (equipcfg.GradeConsumediamond > 0) { UserHelper.ConsumeDiamond(Current.UserId, equipcfg.GradeConsumediamond); } equip.Lv++; UserHelper.RefreshUserFightValue(Current.UserId); // 每日 UserHelper.EveryDayTaskProcess(Current.UserId, TaskType.UpgradeEquip, 1); // 成就 UserHelper.AchievementProcess(Current.UserId, AchievementType.UpgradeEquip); receipt = true; return(true); }
public override bool TakeAction() { EquipData equip = GetEquips.FindEquipData(equipID); GetPackage.AddItem(equip.AtkGem, 1); GetPackage.AddItem(equip.DefGem, 1); GetPackage.AddItem(equip.HpGem, 1); GetPackage.AddItem(equip.CritGem, 1); GetPackage.AddItem(equip.HitGem, 1); GetPackage.AddItem(equip.DodgeGem, 1); GetPackage.AddItem(equip.TenacityGem, 1); equip.AtkGem = 0; equip.DefGem = 0; equip.HpGem = 0; equip.CritGem = 0; equip.HitGem = 0; equip.DodgeGem = 0; equip.TenacityGem = 0; UserHelper.RefreshUserFightValue(Current.UserId); receipt = true; return(true); }
public override bool TakeAction() { EquipData equip = GetEquips.FindEquipData(equipID); switch (gemType) { case GemType.Attack: { if (equip.AtkGem != 0) { GetPackage.AddItem(equip.AtkGem, 1); equip.AtkGem = 0; } } break; case GemType.Defense: { if (equip.DefGem != 0) { GetPackage.AddItem(equip.DefGem, 1); equip.DefGem = 0; } } break; case GemType.Hp: { if (equip.HpGem != 0) { GetPackage.AddItem(equip.HpGem, 1); equip.HpGem = 0; } } break; case GemType.Crit: { if (equip.CritGem != 0) { GetPackage.AddItem(equip.CritGem, 1); equip.CritGem = 0; } } break; case GemType.Hit: { if (equip.HitGem != 0) { GetPackage.AddItem(equip.HitGem, 1); equip.HitGem = 0; } } break; case GemType.Dodge: { if (equip.DodgeGem != 0) { GetPackage.AddItem(equip.DodgeGem, 1); equip.DodgeGem = 0; } } break; case GemType.Tenacity: { if (equip.TenacityGem != 0) { GetPackage.AddItem(equip.TenacityGem, 1); equip.TenacityGem = 0; } } break; } UserHelper.RefreshUserFightValue(Current.UserId); receipt = true; return(true); }
public override bool TakeAction() { EquipData equip = GetEquips.FindEquipData(equipID); List <int> gemList = new List <int>(); if (atkGem != 0) { gemList.Add(atkGem); } if (defGem != 0) { gemList.Add(defGem); } if (hpGem != 0) { gemList.Add(hpGem); } if (critGem != 0) { gemList.Add(critGem); } if (hitGem != 0) { gemList.Add(hitGem); } if (dodgeGem != 0) { gemList.Add(dodgeGem); } if (tenacityGem != 0) { gemList.Add(tenacityGem); } foreach (var v in gemList) { if (GetPackage.FindItem(v) == null) { receipt = UsedItemResult.NoItem; return(true); } } foreach (var v in gemList) { var itemcfg = new ShareCacheStruct <Config_Item>().FindKey(v); if (itemcfg.ItemType != ItemType.Gem) { return(false); } switch ((GemType)itemcfg.Species) { case GemType.Attack: { if (equip.AtkGem != 0) { return(false); } equip.AtkGem = v; } break; case GemType.Defense: { if (equip.DefGem != 0) { return(false); } equip.DefGem = v; } break; case GemType.Hp: { if (equip.HpGem != 0) { return(false); } equip.HpGem = v; } break; case GemType.Crit: { if (equip.CritGem != 0) { return(false); } equip.CritGem = v; } break; case GemType.Hit: { if (equip.HitGem != 0) { return(false); } equip.HitGem = v; } break; case GemType.Dodge: { if (equip.DodgeGem != 0) { return(false); } equip.DodgeGem = v; } break; case GemType.Tenacity: { if (equip.TenacityGem != 0) { return(false); } equip.TenacityGem = v; } break; } GetPackage.RemoveItem(v, 1); } UserHelper.RefreshUserFightValue(Current.UserId); receipt = UsedItemResult.Successfully; return(true); }
public override bool TakeAction() { if (GetPackage.FindItem(gemID) == null) { receipt = UsedItemResult.NoItem; return(true); } var itemcfg = new ShareCacheStruct <Config_Item>().FindKey(gemID); if (itemcfg.ItemType != ItemType.Gem) { return(false); } EquipData equip = GetEquips.FindEquipData(equipID); switch ((GemType)itemcfg.Species) { case GemType.Attack: { if (equip.AtkGem != 0) { return(false); } equip.AtkGem = gemID; } break; case GemType.Defense: { if (equip.DefGem != 0) { return(false); } equip.DefGem = gemID; } break; case GemType.Hp: { if (equip.HpGem != 0) { return(false); } equip.HpGem = gemID; } break; case GemType.Crit: { if (equip.CritGem != 0) { return(false); } equip.CritGem = gemID; } break; case GemType.Hit: { if (equip.HitGem != 0) { return(false); } equip.HitGem = gemID; } break; case GemType.Dodge: { if (equip.DodgeGem != 0) { return(false); } equip.DodgeGem = gemID; } break; case GemType.Tenacity: { if (equip.TenacityGem != 0) { return(false); } equip.TenacityGem = gemID; } break; } GetPackage.RemoveItem(gemID, 1); UserHelper.RefreshUserFightValue(Current.UserId); receipt = UsedItemResult.Successfully; return(true); }