public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { switch (item.Property2) { case 0: if (player.IsLiving) { player.AddBlood(item.Property3); } break; case 1: List<Player> temps = player.Game.GetAllFightPlayers(); foreach (Player p in temps) { if (p.IsLiving && p.Team == player.Team) { p.AddBlood(item.Property3); } } break; default: break; } }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { if (player.HasPaymentTakeCard == false) { if (player.PlayerDetail.RemoveMoney(100) > 0&&player.PlayerDetail.RemoveGiftToken(429)>0) { int index = packet.ReadByte(); player.CanTakeOut += 1; player.FinishTakeCard = false; player.HasPaymentTakeCard = true; player.PlayerDetail.LogAddMoney(AddMoneyType.Game, AddMoneyType.Game_PaymentTakeCard, player.PlayerDetail.PlayerCharacter.ID, 100, player.PlayerDetail.PlayerCharacter.Money); if (index < 0 || index > game.Cards.Length) { game.TakeCard(player); } else { game.TakeCard(player, index); } } else { player.PlayerDetail.SendInsufficientMoney((int)eBattleRemoveMoneyType.PaymentTakeCard); } } }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { if(game is PVEGame) { PVEGame pve = game as PVEGame; int tryAgain = packet.ReadInt(); bool isHost = packet.ReadBoolean(); if (isHost == true) { if (tryAgain == 1) { if (player.PlayerDetail.RemoveMoney(100) > 0) { //退回关卡结算 pve.WantTryAgain = 1; game.SendToAll(packet); player.PlayerDetail.LogAddMoney(AddMoneyType.Game, AddMoneyType.Game_TryAgain, player.PlayerDetail.PlayerCharacter.ID, 100, player.PlayerDetail.PlayerCharacter.Money); } else { player.PlayerDetail.SendInsufficientMoney((int)eBattleRemoveMoneyType.TryAgain); } } else { //退回房间 pve.WantTryAgain = 0; game.SendToAll(packet); } pve.CheckState(0); } } }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { if (player.IsAttacking) { player.Skip(packet.ReadByte()); } }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { if (game.GameState != eGameState.Playing || player.GetSealState()) return; int type = packet.ReadByte(); int place = packet.ReadInt(); int templateID = packet.ReadInt(); ItemTemplateInfo template = ItemMgr.FindItemTemplate(templateID); if (player.CanUseItem(template)) { //if (player.CurrentBall.ID == 3 && template.TemplateID == 10003) // return; //if (player.PlayerDetail.UsePropItem(game, type, place, templateID, player.IsLiving)) //{ // if (player.UseItem(template) == false) // { // BaseGame.log.Error("Using prop error"); // } //} if (player.PlayerDetail.UsePropItem(game, type, place, templateID, player.IsLiving)) { if (player.UseItem(template) == false) { BaseGame.log.Error("Using prop error"); } } else { player.UseItem(template); } } }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { if (game is PVEGame) { PVEGame pve = game as PVEGame; if (pve.BossCardCount + 1 > 0) { int index = packet.ReadByte(); if (index < 0 || index > pve.BossCards.Length) { if (pve.IsBossWar != "") { pve.TakeBossCard(player); } else pve.TakeCard(player); } else { if (pve.IsBossWar != "") { pve.TakeBossCard(player, index); } else pve.TakeCard(player, index); } } } }
public LivingSealAction(Living Living, Player target, int type, int delay) : base(delay, 2000) { m_Living = Living; m_Target = target; m_Type = type; }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { if(player.IsAttacking) { player.UseFlySkill(); } }
protected override void OnRemovedFromPlayer(Player player) { player.PlayerShoot -= new PlayerEventHandle(ChangeProperty); player.AfterKillingLiving -= new KillLivingEventHanlde(player_AfterKillingLiving); }
public void Execute(BaseGame game, Player player, ItemTemplateInfo item) { if (player.IsLiving) { new SealEffect(item.Property3, 1).Start(player); } }
public void MoveToPlayer(Player player) { int dis = Game.Random.Next(((SimpleNpc)Body).NpcInfo.MoveMin, ((SimpleNpc)Body).NpcInfo.MoveMax); if (player.X > Body.X) { if (Body.X + dis >= player.X) { Body.MoveTo(player.X - 10, Body.Y, "walk", 2000, new LivingCallBack(Beat)); } else { Body.MoveTo(Body.X + dis, Body.Y, "walk", 2000, new LivingCallBack(Beat)); } } else { if (Body.X - dis <= player.X) { Body.MoveTo(player.X + 10, Body.Y, "walk", 2000, new LivingCallBack(Beat)); } else { Body.MoveTo(Body.X - dis, Body.Y, "walk", 2000, new LivingCallBack(Beat)); } } }
private void RandomShootPlayer() { List<Player> players = Game.GetAllLivingPlayers(); int index = Game.Random.Next(0, players.Count); m_target = players[index]; NpcAttack(); }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { if (player.IsLiving == false) { player.TargetPoint.X = packet.ReadInt(); player.TargetPoint.Y = packet.ReadInt(); } }
private void ChangeProperty(Player player) { if (rand.Next(100) < m_probability) { SpellMgr.ExecuteSpell(player.Game, player, ItemMgr.FindItemTemplate(10022)); player.Game.SendEquipEffect(player, LanguageMgr.GetTranslation("AtomBombEquipEffect.Success")); } }
public GhostMoveAction(Player player, Point target) : base(0, 1000) { m_player = player; m_target = target; m_v = new Point(target.X - m_player.X, target.Y - m_player.Y); m_v.Normalize(2); }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { if (player.IsAttacking) { player.UseSpecialSkill(); player.CurrentShootMinus *= (float)player.CurrentBall.Power; } }
void playerShot(Player player) { IsTrigger = false; if (rand.Next(100) < m_probability) { IsTrigger = true; player.EffectTrigger = true; } }
private void ChangeProperty(Player player) { if (rand.Next(100) < m_probability) { SpellMgr.ExecuteSpell(player.Game, player, ItemMgr.FindItemTemplate(10015)); // player.Game.SendEquipEffect(player, LanguageMgr.GetTranslation("IceFronzeEquipEffect.Success")); //player.Game.SendAttackEffect(player, 1); } }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { if (game.GameState != eGameState.Playing || player.GetSealState()) return; int killID = packet.ReadInt(); //game.SendPetUseKill(player, killID, true); player.PetUseKill(killID); }
private void ChangeProperty(Player player) { if (rand.Next(100) < m_probability) { player.Delay = player.DefaultDelay; player.Game.SendEquipEffect(player, LanguageMgr.GetTranslation("AddTurnEquipEffect.Success")); //player.Game.SendAttackEffect(player, 1); } }
private void ChangeProperty(Player player) { IsTrigger = false; if (rand.Next(100) < m_probability) { IsTrigger = true; player.EffectTrigger = true; player.Game.SendEquipEffect(player, LanguageMgr.GetTranslation("SealEquipEffect.Success")); } }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { if (player.IsLiving && game.GameState == eGameState.Playing) { packet.Parameter1 = player.Id; game.SendToAll(packet); player.Die(); game.CheckState(0); } }
private void ChangeProperty(Player player) { IsTrigger = false; if (rand.Next(100) < m_probability) { IsTrigger = true; player.EffectTrigger = true; player.Game.SendEquipEffect(player, LanguageMgr.GetTranslation("ArmorPiercerEquipEffect.Success")); // player.Game.SendAttackEffect(player, 1);reEn } }
private void ChangeProperty(Player player) { IsTrigger = false; if (rand.Next(100) < m_probability) { IsTrigger = true; player.EffectTrigger = true; player.Game.SendEquipEffect(player, LanguageMgr.GetTranslation("ContinueReduceDamageEquipEffect.Success")); //player.Game.SendAttackEffect(player, 1); } }
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); } }
private void ChangeProperty(Player player) { IsTrigger = false; if (rand.Next(100) < m_probability) { player.ShootMovieDelay = 50; IsTrigger = true; player.EffectTrigger = true; if (player.CurrentBall.ID != 3) player.ControlBall = true; player.Game.SendEquipEffect(player, LanguageMgr.GetTranslation("FatalEffect.Success")); //player.Game.SendAttackEffect(player, 1); } }
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; } }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { //if (player.FinishTakeCard == false && player.CanTakeOut > 0) //{ int index = packet.ReadByte(); if (index < 0 || index > game.Cards.Length) { game.TakeCard(player); } else { game.TakeCard(player,index); } //} }
public override void OnStartAttacking() { base.OnStartAttacking(); m_target = Game.FindNearestPlayer(Body.X, Body.Y); m_targetDis = (int)m_target.Distance(Body.X, Body.Y); if (m_targetDis <= 50) { Body.PlayMovie("beatA", 100, 0); Body.RangeAttacking(Body.X - 50, Body.X + 50, "cry", 1500, null); Body.Die(1000); } else { MoveToPlayer(m_target); } }
public void HandleCommand(BaseGame game, Player player, GSPacketIn packet) { if (player.IsAttacking) { int x = packet.ReadInt(); int y = packet.ReadInt(); //检查开炮点的距离有效性 if (player.CheckShootPoint(x, y) == false) return; int force = packet.ReadInt(); int angle = packet.ReadInt(); player.Shoot(x, y, force, angle); } }