public Player(IGamePlayer player, int id, BaseGame game, int team) : base(id, game, team, "", "", 1000, 0, 1) //TODO lastPatemer direction { m_rect = new Rectangle(-15, -20, 30, 30); m_player = player; m_player.GamePlayerId = id; m_isActive = true; m_canGetProp = true; Grade = player.PlayerCharacter.Grade; TotalAllHurt = 0; TotalAllHitTargetCount = 0; TotalAllShootCount = 0; TotalAllKill = 0; TotalAllExperience = 0; TotalAllScore = 0; TotalAllCure = 0; m_weapon = m_player.MainWeapon; if (m_weapon != null) { var ballConfig = BallConfigMgr.FindBall(m_weapon.TemplateID); m_mainBallId = ballConfig.Common; m_spBallId = ballConfig.Special; //m_mainBallId = m_weapon.Property1; //m_spBallId = m_weapon.Property2; } m_loadingProcess = 0; InitBuffer(m_player.EquipEffect); m_energy = (m_player.PlayerCharacter.Agility / 30 + 240); m_maxBlood = (int)((950 + m_player.PlayerCharacter.Grade * 50 + LevelPlusBlood + m_player.PlayerCharacter.Defence / 10) * m_player.GetBaseBlood()); }
public void Execute(Game.Server.Games.BaseGame game, Player player, ItemTemplateInfo item) { switch (item.Property2) { case 0: if (player.IsLiving) { player.AddBlood(item.Property3, true); } break; case 1: Player[] temps = player.Game.GetAllFightPlayersSafe(); foreach (Player p in temps) { if (p.IsLiving && p.Team == player.Team) { p.AddBlood(item.Property3, true); } } break; default: break; } }
public void Execute(Game.Server.Games.BaseGame game, Player player, ItemTemplateInfo item) { if (!player.IsSpecialSkill) { player.BallCount = item.Property2; } }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { if (player.IsLiving) { new SealEffect(item.Property3, 1).Start(player); } }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { player.ShootCount += item.Property2; if (item.Property2 == 2) player.CurrentShootMinus *= 0.6f; else player.CurrentShootMinus *= 0.9f; }
/// <summary> /// 通过模板添加物品 /// </summary> /// <param name="temp"></param> /// <param name="count"></param> /// <returns></returns> public int AddItemTemplate(ItemTemplateInfo temp,int count) { //ItemInfo info = new ItemInfo(temp); ItemInfo info = ItemInfo.CreateFromTemplate(temp, count); if (info == null) return -1; ItemInfo.BuyItemDate(info, 0); info.UserID = _player.PlayerCharacter.ID; return AddItem(info); }
/// <summary> /// 创建Buff,以天为单位 /// </summary> /// <param name="template"></param> /// <param name="ValidDate"></param> /// <returns></returns> public static AbstractBuffer CreateBuffer(ItemTemplateInfo template , int ValidDate) { BufferInfo buffer = new BufferInfo(); buffer.BeginDate = DateTime.Now; buffer.ValidDate = ValidDate * 24 * 60; buffer.Value = template.Property2; buffer.Type = template.Property1; buffer.ValidCount = 1; buffer.IsExist = true; return CreateBuffer(buffer); }
public static GiftInfo CreateFromTemplate(ItemTemplateInfo template, int count) { if (template == null) { throw new ArgumentNullException("template"); } return(new GiftInfo(template) { TemplateID = template.TemplateID, IsDirty = false, AddDate = DateTime.Now, Count = count }); }
internal GiftInfo(ItemTemplateInfo template) { _template = template; if (_template != null) { _templateId = _template.TemplateID; } if (_tempInfo == null) { _tempInfo = new Dictionary<string, object>(); } }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { NoHoleEffect effect = (NoHoleEffect)player.EffectList.GetOfType(typeof(NoHoleEffect)); if (effect != null) { effect.Count = item.Property3; } else { new NoHoleEffect(item.Property3).Start(player); } }
public static void ExecuteSpell(BaseGame game,Player player,ItemTemplateInfo item) { try { ISpellHandler spellHandler = SpellMgr.LoadSpellHandler(item.Property1); spellHandler.Execute(game, player, item); } catch (Exception ex) { log.Error("Execute Spell Error:", ex); } }
internal GiftInfo(ItemTemplateInfo template) { this._template = template; if (this._template != null) { this._templateId = this._template.TemplateID; } if (this._tempInfo == null) { this._tempInfo = new Dictionary <string, object>(); } }
public static SqlDataProvider.Data.ItemInfo CreateFromTemplate(ItemTemplateInfo goods, int count, int type) { if (goods == null) { return((SqlDataProvider.Data.ItemInfo)null); } SqlDataProvider.Data.ItemInfo itemInfo = new SqlDataProvider.Data.ItemInfo(goods); itemInfo.AgilityCompose = 0; itemInfo.AttackCompose = 0; itemInfo.BeginDate = DateTime.Now; itemInfo.Color = ""; itemInfo.Skin = ""; itemInfo.DefendCompose = 0; itemInfo.IsUsed = false; itemInfo.IsDirty = false; itemInfo.IsExist = true; itemInfo.IsJudge = true; itemInfo.LuckCompose = 0; itemInfo.StrengthenLevel = 0; itemInfo.TemplateID = goods.TemplateID; itemInfo.ValidDate = 0; itemInfo.Count = count; itemInfo.IsBinds = goods.BindType == 1; itemInfo._removeDate = DateTime.Now; itemInfo._removeType = type; itemInfo.Hole1 = -1; itemInfo.Hole2 = -1; itemInfo.Hole3 = -1; itemInfo.Hole4 = -1; itemInfo.Hole5 = -1; itemInfo.Hole6 = -1; itemInfo.Hole5Exp = 0; itemInfo.Hole5Level = 0; itemInfo.Hole6Exp = 0; itemInfo.Hole6Level = 0; itemInfo.IsGold = false; itemInfo.goldValidDate = 0; itemInfo.goldBeginTime = DateTime.Now; itemInfo.StrengthenExp = 0; itemInfo.latentEnergyCurStr = "0,0,0,0"; itemInfo.latentEnergyNewStr = "0,0,0,0"; itemInfo.latentEnergyEndTime = DateTime.Now; itemInfo.beadExp = 0; itemInfo.beadLevel = 0; itemInfo.beadIsLock = false; itemInfo.isShowBind = false; itemInfo.Damage = 0; itemInfo.Guard = 0; itemInfo.Bless = 0; itemInfo.Blood = 0; return(itemInfo); }
/// <summary> /// 通过模板添加物品,成功返回ItemInfo实例,失败返回null。 /// </summary> /// <param name="temp"></param> /// <returns></returns> public ItemInfo AddItemTemplate(ItemTemplateInfo temp) { ItemInfo info = ItemInfo.CreateFromTemplate(temp,1); //info.Count = 1; if (AddItem(info) != -1) { return info; } else { return null; } }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { if (player.IsSpecialSkill) return; if ((player.CurrentBall.ID == 3 || player.CurrentBall.ID == 5 || player.CurrentBall.ID == 1) && item.TemplateID == 10003) { player.BallCount = 1; } else { player.CurrentDamagePlus *= 0.5f; player.BallCount = item.Property2; } }
/// <summary> /// 装备的位置是否能装备此物品。 /// </summary> /// <param name="slot"></param> /// <param name="temp"></param> /// <returns></returns> public bool CanEquipSlotContains(int slot, ItemTemplateInfo temp) { if (temp.CategoryID == 8) { return slot == 7 || slot == 8; } else if (temp.CategoryID == 9) { return slot == 9 || slot == 10; } else { return temp.CategoryID - 1 == slot; } }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { if ((player.CurrentBall.ID == 3 || player.CurrentBall.ID == 5 || player.CurrentBall.ID == 1) && (item.TemplateID == 10001 || item.TemplateID == 10002)) { player.ShootCount = 1; } else { player.ShootCount += item.Property2; if (item.Property2 == 2) player.CurrentShootMinus *= 0.6f; else player.CurrentShootMinus *= 0.9f; } }
public static SqlDataProvider.Data.ItemInfo CreateWeapon(ItemTemplateInfo goods, SqlDataProvider.Data.ItemInfo item, int type) { if (goods == null) { return((SqlDataProvider.Data.ItemInfo)null); } SqlDataProvider.Data.ItemInfo itemInfo = new SqlDataProvider.Data.ItemInfo(goods); itemInfo.AgilityCompose = item.AgilityCompose; itemInfo.AttackCompose = item.AttackCompose; itemInfo.BeginDate = DateTime.Now; itemInfo.Color = ""; itemInfo.Skin = ""; itemInfo.DefendCompose = item.DefendCompose; itemInfo.IsBinds = item.IsBinds; itemInfo.Place = item.Place; itemInfo.IsUsed = false; itemInfo.IsDirty = false; itemInfo.IsExist = true; itemInfo.IsJudge = true; itemInfo.LuckCompose = item.LuckCompose; itemInfo.StrengthenExp = item.StrengthenExp; itemInfo.StrengthenLevel = item.StrengthenLevel; itemInfo.TemplateID = goods.TemplateID; itemInfo.ValidDate = item.ValidDate; itemInfo._template = goods; itemInfo.Count = 1; itemInfo._removeDate = DateTime.Now; itemInfo._removeType = type; itemInfo.Hole1 = item.Hole1; itemInfo.Hole2 = item.Hole2; itemInfo.Hole3 = item.Hole3; itemInfo.Hole4 = item.Hole4; itemInfo.Hole5 = item.Hole5; itemInfo.Hole6 = item.Hole6; itemInfo.Hole5Level = item.Hole5Level; itemInfo.Hole5Exp = item.Hole5Exp; itemInfo.Hole6Level = item.Hole6Level; itemInfo.Hole6Exp = item.Hole6Exp; itemInfo.IsGold = item.IsGold; itemInfo.goldBeginTime = item.goldBeginTime; itemInfo.goldValidDate = item.goldValidDate; itemInfo.latentEnergyEndTime = item.latentEnergyEndTime; itemInfo.latentEnergyCurStr = "0,0,0,0"; itemInfo.latentEnergyNewStr = "0,0,0,0"; SqlDataProvider.Data.ItemInfo.OpenHole(ref itemInfo); return(itemInfo); }
public ProxyPlayer(ServerClient client, PlayerInfo character, ItemTemplateInfo currentWeapon, ItemInfo secondweapon, double baseAttack, double baseDefence, double baseAglilty, double baseBoold, double gprate, double offerrate, double rate, List<BufferInfo> infos, int serverid) { m_client = client; m_character = character; m_baseAttack = baseAttack; m_baseDefence = baseDefence; m_baseAglilty = baseAglilty; m_baseBlood = baseBoold; m_currentWeapon = currentWeapon; m_secondWeapon = secondweapon; m_equipEffect = new List<int>(); GPRate = gprate; OfferRate = offerrate; Rate = rate; Buffers = infos; m_serverid = serverid; }
public static ItemInfo CreateWeapon(ItemTemplateInfo goods, ItemInfo item, int type) { if (goods == null) { return(null); } ItemInfo userGoods = new ItemInfo(goods); userGoods.AgilityCompose = item.AgilityCompose; userGoods.AttackCompose = item.AttackCompose; userGoods.BeginDate = DateTime.Now; userGoods.Color = ""; userGoods.Skin = ""; userGoods.DefendCompose = item.DefendCompose; userGoods.IsBinds = item.IsBinds; userGoods.IsUsed = false; userGoods.IsDirty = false; userGoods.IsExist = true; userGoods.IsJudge = true; userGoods.LuckCompose = item.LuckCompose; userGoods.StrengthenLevel = item.StrengthenLevel; userGoods.TemplateID = goods.TemplateID; userGoods.ValidDate = item.ValidDate; userGoods._template = goods; userGoods.Count = 1; userGoods._removeDate = DateTime.Now; userGoods._removeType = type; userGoods.Hole1 = item.Hole1; userGoods.Hole2 = item.Hole2; userGoods.Hole3 = item.Hole3; userGoods.Hole4 = item.Hole4; userGoods.Hole5 = item.Hole5; userGoods.Hole6 = item.Hole6; userGoods.Hole5Level = item.Hole5Level; userGoods.Hole5Exp = item.Hole5Exp; userGoods.Hole6Level = item.Hole6Level; userGoods.Hole6Exp = item.Hole6Exp; OpenHole(ref userGoods); return(userGoods); }
public static ItemInfo CreateFromTemplate(ItemTemplateInfo goods, int count, int type) { if (goods == null) { return(null); } ItemInfo userGoods = new ItemInfo(goods); userGoods.AgilityCompose = 0; userGoods.AttackCompose = 0; userGoods.BeginDate = DateTime.Now; userGoods.Color = ""; userGoods.Skin = ""; userGoods.DefendCompose = 0; userGoods.IsBinds = false; userGoods.IsUsed = false; userGoods.IsDirty = false; userGoods.IsExist = true; userGoods.IsJudge = true; userGoods.LuckCompose = 0; userGoods.StrengthenLevel = 0; userGoods.TemplateID = goods.TemplateID; userGoods.ValidDate = 0; userGoods._template = goods; userGoods.Count = count; userGoods.IsBinds = goods.BindType == 1 ? true : false; userGoods._removeDate = DateTime.Now; userGoods._removeType = type; userGoods.Hole1 = -1; userGoods.Hole2 = -1; userGoods.Hole3 = -1; userGoods.Hole4 = -1; userGoods.Hole5 = -1; userGoods.Hole6 = -1; OpenHole(ref userGoods); return(userGoods); }
public static ItemInfo CreateFromTemplate(ItemTemplateInfo template, int count, int type) { if (template == null) { throw new ArgumentNullException("template"); } return(new ItemInfo(template) { TemplateID = template.TemplateID, AgilityCompose = 0, AttackCompose = 0, BeginDate = DateTime.Now, Color = "", Skin = "", DefendCompose = 0, // IsBinds = false, IsUsed = false, IsDirty = false, IsExist = true, IsJudge = true, LuckCompose = 0, StrengthenLevel = 0, ValidDate = 0, Count = count, IsBinds = template.BindType == 1, _removeDate = DateTime.Now, _removeType = type, Hole1 = -1, Hole2 = -1, Hole3 = -1, Hole4 = -1, Hole5 = -1, Hole6 = -1, IsTips = false, IsLogs = false }); }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { switch(item.Property2) { case 0: if(player.IsLiving) { AddHideEffect(player,item.Property3); } break; case 1: Player[] players = player.Game.GetAllFightPlayersSafe(); foreach(Player p in players) { if(p.IsLiving && p.Team == player.Team) { AddHideEffect(p, item.Property3); } } break; default: break; } }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { switch(item.Property2) { case 0: if(player.IsLiving) { new HideEffect(item.Property3).Start(player); } break; case 1: List<Player> players = player.Game.GetAllFightPlayers(); foreach(Player p in players) { if(p.IsLiving && p.Team == player.Team) { new HideEffect(item.Property3).Start(p); } } break; default: break; } }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { player.IgnoreArmor = true; }
public override void Reset() { m_maxBlood = (int)((950 + m_player.PlayerCharacter.Grade * 50 + LevelPlusBlood + m_player.PlayerCharacter.Defence / 10) * m_player.GetBaseBlood()); if (m_game.RoomType == eRoomType.Treasure || m_game.RoomType == eRoomType.Boss) { m_game.Cards = new int[21]; } else { m_game.Cards = new int[8]; } Dander = 0; m_energy = (m_player.PlayerCharacter.Agility / 30 + 240); IsLiving = true; FinishTakeCard = false; m_weapon = m_player.MainWeapon; //m_mainBallId = m_weapon.Property1; //m_spBallId = m_weapon.Property2; var ballConfig = BallConfigMgr.FindBall(m_weapon.TemplateID); m_mainBallId = ballConfig.Common; m_spBallId = ballConfig.Special; BaseDamage = m_player.GetBaseAttack(); BaseGuard = m_player.GetBaseDefence(); Attack = m_player.PlayerCharacter.Attack; Defence = m_player.PlayerCharacter.Defence; Agility = m_player.PlayerCharacter.Agility; Lucky = m_player.PlayerCharacter.Luck; m_currentBall = BallMgr.FindBall(m_mainBallId); m_shootCount = 1; m_ballCount = 1; CurrentIsHitTarget = false; TotalCure = 0; TotalHitTargetCount = 0; TotalHurt = 0; TotalKill = 0; TotalShootCount = 0; LockDirection = false; GainGP = 0; GainOffer = 0; Ready = false; PlayerDetail.ClearTempBag(); LoadingProcess = 0; base.Reset(); }
public bool UseItem(ItemTemplateInfo item) { if (CanUseItem(item)) { m_energy -= item.Property4; m_delay += item.Property5; m_game.SendPlayerUseProp(this, -2, -2, item.TemplateID); SpellMgr.ExecuteSpell(m_game, m_game.CurrentLiving as Player, item); if (item.Property6 == 1 && IsAttacking) { StopAttacking(); m_game.CheckState(0); } return true; } return false; }
public bool CanUseItem(ItemTemplateInfo item) { return m_energy >= item.Property4 && (IsAttacking || (IsLiving == false && Team == m_game.CurrentLiving.Team)); }
public static ItemInfo CreateWithoutInit(ItemTemplateInfo template) { return(new ItemInfo(template)); }
public void SetCurrentWeapon(ItemTemplateInfo item) { m_weapon = item; //m_mainBallId = m_weapon.Property1; //m_spBallId = m_weapon.Property2; var ballConfig = BallConfigMgr.FindBall(m_weapon.TemplateID); m_mainBallId = ballConfig.Common; m_spBallId = ballConfig.Special; SetBall(m_mainBallId); }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { game.UpdateWind(-game.Wind, true); }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { player.SetBall(1); }
public static ItemInfo CreateFromTemplate(ItemTemplateInfo goods, int count, int type) { if (goods == null) return null; ItemInfo userGoods = new ItemInfo(goods); userGoods.AgilityCompose = 0; userGoods.AttackCompose = 0; userGoods.BeginDate = DateTime.Now; userGoods.Color = ""; userGoods.Skin = ""; userGoods.DefendCompose = 0; userGoods.IsBinds = false; userGoods.IsUsed = false; userGoods.IsDirty = false; userGoods.IsExist = true; userGoods.IsJudge = true; userGoods.LuckCompose = 0; userGoods.StrengthenLevel = 0; userGoods.TemplateID = goods.TemplateID; userGoods.ValidDate = 0; userGoods._template = goods; userGoods.Count = count; userGoods.IsBinds = goods.BindType == 1 ? true : false; userGoods._removeDate = DateTime.Now; userGoods._removeType = type; userGoods.Hole1 = -1; userGoods.Hole2 = -1; userGoods.Hole3 = -1; userGoods.Hole4 = -1; userGoods.Hole5 = -1; userGoods.Hole6 = -1; OpenHole(ref userGoods); return userGoods; }
//public ItemInfo(ItemTemplateInfo temp, ShopItemInfo Goods) //{ // _template = temp; // _Goods = Goods; //} public ItemInfo(ItemTemplateInfo temp) { _template = temp; }
public void Execute(Game.Server.Games.BaseGame game, Player player, ItemTemplateInfo item) { }
/// <summary> /// 获取物品的装备位置 /// </summary> /// <param name="item"></param> /// <returns></returns> public int GetItemEpuipSlot(ItemTemplateInfo item) { switch (item.CategoryID) { case 8: if (_items[7] == null) { return 7; } else { return 8; } case 9: if (_items[9] == null) { return 9; } else { return 10; } default: return item.CategoryID - 1; } }
public ItemInfo(ItemTemplateInfo temp) { this._template = temp; }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { player.ControlBall = true; player.CurrentShootMinus *= 0.5f; }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { new NoHoleEffect(item.Property3).Start(player); }