public override void MoveEnd() { base.MoveEnd(); if (Disabled) { MainTipManager.AddTip(HSErrorTypes.GetDescript(HSErrorTypes.SceneWarpNeedActive), "Red"); return; } int sceneLevel = ConfigData.GetSceneConfig(TargetMap).Level; if (sceneLevel > UserProfile.InfoBasic.Level) { MainTipManager.AddTip(string.Format(HSErrorTypes.GetDescript(HSErrorTypes.SceneLevelNeed), sceneLevel), "Red"); return; } int lastMapId = UserProfile.InfoBasic.MapId; Scene.Instance.ChangeMap(TargetMap, true); UserProfile.InfoBasic.Position = Scene.Instance.GetWarpPosByMapId(lastMapId); Scene.Instance.OnEventFinish(); }
public void AddDungeonItem(int itemId, int count) { if (DungeonId <= 0) { return; } DungeonItemConfig itemConfig = ConfigData.GetDungeonItemConfig(itemId); foreach (var pickItem in Items) { if (pickItem.Type == itemId) { pickItem.Value += count; UserProfile.InfoGismo.CheckDungeonItem(); MainTipManager.AddTip(string.Format("|获得副本道具-|Lime|{0}||x{1}(总计{2})", itemConfig.Name, count, pickItem.Value), "White"); return; } } Items.Add(new IntPair() { Type = itemId, Value = count }); UserProfile.InfoGismo.CheckDungeonItem(); MainTipManager.AddTip(string.Format("|获得副本道具-|Lime|{0}||x{1}(总计{2})", itemConfig.Name, count, count), "White"); }
[FieldIndex(Index = 28)] public uint MoveBoostRound; //快速移动时长 public void AddExp(int ex) { if (Level >= ExpTree.MaxLevel) { return; } Exp += ex; MainTipManager.AddTip(string.Format("|获得|Cyan|{0}||点经验值", ex), "White"); AchieveBook.CheckByCheckType("exp"); if (Exp >= ExpTree.GetNextRequired(Level)) { int oldLevel = Level; while (CheckNewLevel()) //循环升级 { OnLevel(Level); } MainItem.SystemMenuManager.ResetIconState(); MainForm.Instance.RefreshView(); MainItem.PanelManager.ShowLevelInfo(oldLevel, UserProfile.InfoBasic.Level); } }
public void CheckSceneMove() { if (MoveBoostRound > 0) { MoveBoostRound--; MainTipManager.AddTip(string.Format("|场景移动范围|Cyan|{0}||,剩余|Cyan|{1}||回合", MoveBoost, MoveBoostRound), "White"); } }
public void AddGismo(int id) { if (!Gismos.ContainsKey(id)) { Gismos.Add(id, true); MainTipManager.AddTip(string.Format("|获得成就|Gold|{0}", ConfigData.GetDungeonGismoConfig(id).Name), "White"); UserProfile.InfoRecord.AddRecordById(RecordInfoConfig.Indexer.GismoGet, 1); } }
public void SetSceneMove(int move, int time) { if (MoveBoostRound == 0 || (MoveBoostRound > 0 && move >= MoveBoost)) { MoveBoost = (uint)move; MoveBoostRound = (uint)time; MainTipManager.AddTip(string.Format("|场景移动范围|Cyan|{0}||,剩余|Cyan|{1}||回合", move, time), "White"); } }
internal void AddResource(GameResourceType type, uint value) { Resource.Add(type, (int)value); if (type > 0) { MainTipManager.AddTip(string.Format("|获得|{0}|{1}||x{2}", HSTypes.I2ResourceColor((int)type), HSTypes.I2Resource((int)type), value), "White"); AchieveBook.CheckByCheckType("resource"); } }
public bool PayDiamond(int value) { if (Diamond < value) { return(false); } Diamond -= value; MainTipManager.AddTip(string.Format("|失去了|Cyan|{0}||钻石,账户剩余|Cyan|{1}||钻石", value, Diamond), "White"); return(true); }
public bool PayDiamond(int value) { if (Diamond < value) { MainTipManager.AddTip(HSErrorTypes.GetDescript(HSErrorTypes.BagNotEnoughDimond), "Red"); return(false); } Diamond -= value; MainTipManager.AddTip(string.Format("|失去了|Cyan|{0}||钻石,账户剩余|Cyan|{1}||钻石", value, Diamond), "White"); return(true); }
private void button1_Click(object sender, EventArgs e) { if (UserProfile.InfoBag.PayDiamond(itemprice * count)) { UserProfile.InfoBag.AddItem(itemid, count); Close(); ParentPanel.SetBlacken(false); } else { MainTipManager.AddTip(HSErrors.GetDescript(ErrorConfig.Indexer.BagNotEnoughDimond), "Red"); } }
public void AddItem(int id, int num) { HItemConfig itemConfig = ConfigData.GetHItemConfig(id); MainTipManager.AddTip(string.Format("|获得物品-|{0}|{1}||x{2}", HSTypes.I2RareColor(itemConfig.Rare), itemConfig.Name, num), "White"); int max = itemConfig.MaxPile; if (max <= 0) { return; } int count = num; for (int i = 0; i < BagCount; i++) { var pickItem = Items[i]; if (pickItem.Type == id && pickItem.Value < max) { if (pickItem.Value + count <= max) { pickItem.Value += count; return; } count -= max - pickItem.Value; pickItem.Value = max; } } for (int i = 0; i < BagCount; i++) { var pickItem = Items[i]; if (pickItem.Type == 0) { if (count <= max) { pickItem.Type = id; pickItem.Value = count; return; } pickItem.Type = id; count -= max; pickItem.Value = max; } } }
private void DeleteItemByPos(int pos, int num) {//num=0,移除所有 IntPair cell = Items[pos]; var itemConfig = ConfigData.GetHItemConfig(cell.Type); if (num != 0 && cell.Value > num) { cell.Value -= num; MainTipManager.AddTip(string.Format("|扣除物品-|{0}|{1}||x{2}", HSTypes.I2RareColor(itemConfig.Rare), itemConfig.Name, num), "White"); } else { MainTipManager.AddTip(string.Format("|扣除物品-|{0}|{1}||x{2}", HSTypes.I2RareColor(itemConfig.Rare), itemConfig.Name, cell.Value), "White"); cell.Value = 0; cell.Type = 0; } }
public void AddEquip(int id, int minuteLast) { EquipConfig equipConfig = ConfigData.GetEquipConfig(id); MainTipManager.AddTip(string.Format("|获得装备-|{0}|{1}", HSTypes.I2QualityColor(equipConfig.Quality), equipConfig.Name), "White"); for (int i = 0; i < GameConstants.EquipOffCount; i++) { if (Equipoff[i].BaseId == 0) { Equipoff[i].BaseId = id; Equipoff[i].Dura = equipConfig.Durable; Equipoff[i].ExpireTime = minuteLast <= 0 ? 0 : TimeTool.GetNowUnixTime() + minuteLast * 60; return; } } }
public static void CheckByCheckType(string ctype) { return; //todo 暂时关闭成就系统 foreach (AchieveConfig ach in ConfigData.AchieveDict.Values) { if (ach.CheckType == ctype && !UserProfile.Profile.InfoAchieve.GetAchieve(ach.Id)) { if (UserProfile.Profile.GetAchieveState(ach.Id) >= ach.Condition.Value) { UserProfile.Profile.InfoAchieve.SetAchieve(ach.Id); MainTipManager.AddTip(string.Format("|获得成就-|Gold|{0}", ach.Name), "White"); UserProfile.InfoBag.AddDiamond(ach.Money); } } } }
public void RemoveDungeonItem(int itemId, int count) { if (DungeonId <= 0) { return; } DungeonItemConfig itemConfig = ConfigData.GetDungeonItemConfig(itemId); foreach (var pickItem in Items) { if (pickItem.Type == itemId) { pickItem.Value = Math.Max(0, pickItem.Value - count); MainTipManager.AddTip(string.Format("|扣除副本道具-|Lime|{0}||x{1}(剩余{2})", itemConfig.Name, count, pickItem.Value), "White"); return; } } }
public void AddResource(int[] res) { Resource.Gold += res[0]; Resource.Lumber += res[1]; Resource.Stone += res[2]; Resource.Mercury += res[3]; Resource.Carbuncle += res[4]; Resource.Sulfur += res[5]; Resource.Gem += res[6]; for (int i = 0; i < 7; i++) { if (res[i] > 0) { MainTipManager.AddTip(string.Format("|获得|{0}|{1}||x{2}", HSTypes.I2ResourceColor(i), HSTypes.I2Resource(i), res[i]), "White"); } } AchieveBook.CheckByCheckType("resource"); }
public void RemoveCardPiece(int id, bool returnResource) { DbDeckCard dc; if (Cards.TryGetValue(id, out dc)) { if (dc.Exp == 0) { return; } if (returnResource) { var cardData = CardConfigManager.GetCardConfig(dc.BaseId); MainTipManager.AddTip(string.Format("|分解卡片-|{0}|{1}", HSTypes.I2QualityColor(cardData.Quality), cardData.Name), "White"); int qual = CardConfigManager.GetCardConfig(dc.BaseId).Quality + 1; UserProfile.Profile.InfoBag.AddResource(GameResourceType.Gem, GameResourceBook.OutGemCardDecompose(qual)); } dc.Exp--; } }
public void DeleteItem(int id, int num) { int count = num; for (int i = 0; i < BagCount; i++) { var pickItem = Items[i]; if (pickItem.Type == id) { if (pickItem.Value > count) { pickItem.Value -= count; break; } count -= pickItem.Value; pickItem.Type = 0; pickItem.Value = 0; } } var itemConfig = ConfigData.GetHItemConfig(id); MainTipManager.AddTip(string.Format("|扣除物品-|{0}|{1}||x{2}", HSTypes.I2RareColor(itemConfig.Rare), itemConfig.Name, num), "White"); }
public void AddExp(int ex) { if (Level >= ExpTree.MaxLevel) { return; } Exp += ex; MainTipManager.AddTip(string.Format("|获得|Cyan|{0}||点经验值", ex), "White"); if (Exp >= ExpTree.GetNextRequired(Level)) { int oldLevel = Level; while (CheckNewLevel()) //循环升级 { OnLevel(Level); } SystemMenuManager.ResetIconState(); MainForm.Instance.RefreshView(); } TalePlayer.C2SSender.UpdateLevelExp(0, Level, Exp); }
/// <summary> /// 添加卡牌,外层都会检查cid的合法性,所以里面不用在判断了 /// </summary> /// <param name="cid">卡牌id</param> public DbDeckCard AddCard(int cid) { DbDeckCard card = new DbDeckCard(cid, 1, 0); var cardData = CardConfigManager.GetCardConfig(cid); if (GetCardCount(cid) >= 1) //每张卡其实只能有一份 { var myCard = GetDeckCardById(cid); myCard.AddExp(1); //多余的卡转化为经验值 return(myCard); //每种卡牌只能拥有1张 } Cards.Add(card.BaseId, card); Newcards.Add(card.BaseId); if (Newcards.Count > 10) { Newcards.RemoveAt(0); } AchieveBook.CheckByCheckType("card"); MainTipManager.AddTip(string.Format("|获得卡片-|{0}|{1}", HSTypes.I2QualityColor(cardData.Quality), cardData.Name), "White"); return(card); }
public void AddDiamond(int value) { Diamond += value; MainTipManager.AddTip(string.Format("|获得|Cyan|{0}||钻石", value), "White"); }
public void AddItem(int id, int num) { HItemConfig itemConfig = ConfigData.GetHItemConfig(id); if (itemConfig.Id == 0) { return; } int max = itemConfig.MaxPile; if (max <= 0) { return; } int count = num; for (int i = 0; i < BagCount; i++) { var pickItem = Items[i]; if (pickItem.Type == id && pickItem.Value < max) { if (pickItem.Value + count <= max) { pickItem.Value += count; count = 0; break; } else { count -= max - pickItem.Value; pickItem.Value = max; } } } if (count > 0) { for (int i = 0; i < BagCount; i++) { var pickItem = Items[i]; if (pickItem.Type == 0) { pickItem.Type = id; if (count <= max) { pickItem.Value = count; count = 0; break; } else { pickItem.Value = max; count -= max; } } } } if (num > count) { MainTipManager.AddTip(string.Format("|获得物品-|{0}|{1}||x{2}", HSTypes.I2RareColor(itemConfig.Rare), itemConfig.Name, num - count), "White"); UserProfile.InfoRecord.AddRecordById(RecordInfoConfig.Indexer.ItemGet, 1); } }
internal void AddResource(GameResourceType type, uint value) { Resource.Add(type, value); MainTipManager.AddTip(string.Format("|获得|{0}|{1}||x{2}", HSTypes.I2ResourceColor((int)type), HSTypes.I2Resource((int)type), value), "White"); }
public static void ParseCommand(string cmd) { string[] data = cmd.Split(' '); if (data.Length == 0) { return; } try { switch (data[0]) { case "exp": if (data.Length == 2) { UserProfile.InfoBasic.AddExp(int.Parse(data[1])); } break; case "cad": if (data.Length == 2) { UserProfile.InfoCard.AddCard(int.Parse(data[1])); } break; case "atp": if (data.Length == 2) { UserProfile.InfoBasic.AttrPoint += int.Parse(data[1]); } break; case "mov": if (data.Length == 2) { UserProfile.InfoBasic.Position = 0; //如果是0,后面流程会随机一个位置 } Scene.Instance.ChangeMap(int.Parse(data[1]), true); break; case "eqp": if (data.Length == 2) { UserProfile.InfoEquip.AddEquip(int.Parse(data[1]), 60); } break; case "itm": if (data.Length == 3) { UserProfile.InfoBag.AddItem(int.Parse(data[1]), int.Parse(data[2])); } break; case "emys": foreach (int peopleId in ConfigData.PeopleDict.Keys) { DbRivalState memRival = new DbRivalState(peopleId); memRival.Avail = true; UserProfile.InfoRival.Rivals[peopleId] = memRival; } break; case "gold": if (data.Length == 2) { GameResource res = new GameResource(); res.Gold = int.Parse(data[1]); UserProfile.InfoBag.AddResource(res.ToArray()); } break; case "res": if (data.Length == 2) { int v = int.Parse(data[1]); UserProfile.InfoBag.AddResource(new int[] { 0, v, v, v, v, v, v }); } break; case "dmd": if (data.Length == 2) { UserProfile.InfoBag.AddDiamond(int.Parse(data[1])); } break; case "acv": if (data.Length == 2) { UserProfile.Profile.InfoAchieve.SetAchieve(int.Parse(data[1])); } break; case "view": if (data.Length == 3) { PeopleBook.ViewMatch(int.Parse(data[1]), int.Parse(data[2]), "default", TileConfig.Indexer.DefaultTile); } break; case "fbat": if (data.Length == 3) { FastBattle.Instance.StartGame(int.Parse(data[1]), int.Parse(data[2]), "default", TileConfig.Indexer.DefaultTile); MainTipManager.AddTip(string.Format("{0} {1}合", FastBattle.Instance.LeftWin ? "左胜" : "右胜", BattleManager.Instance.StatisticData.Round), "White"); } break; case "cbat": if (data.Length == 4) { var result = CardFastBattle.Instance.StartGame(int.Parse(data[1]), int.Parse(data[2]), int.Parse(data[3])); MainTipManager.AddTip(string.Format("{0} {1}合", result, BattleManager.Instance.StatisticData.Round), "White"); } break; case "scr": if (data.Length == 2) { switch (data[1]) { case "Vs": GmScript.MonsterVsBatch(); break; } } break; case "sceq": NpcTalkForm sw = new NpcTalkForm(); sw.EventId = int.Parse(data[1]); sw.NeedBlackForm = true; PanelManager.DealPanel(sw); break; case "cure": UserProfile.InfoBasic.MentalPoint = 100; UserProfile.InfoBasic.HealthPoint = 100; UserProfile.InfoBasic.FoodPoint = 100; break; case "bls": if (data.Length == 2) { BlessManager.AddBless(int.Parse(data[1]), 10); } break; case "qst": if (data.Length == 2) { UserProfile.InfoQuest.SetQuest(int.Parse(data[1])); } break; } } catch (FormatException) { } catch (IndexOutOfRangeException) { } }