public void CmdPlayerCombat(Transform attacker, Transform defender) { this.Attacker = PlayerTable.Select((int)attacker.GetComponent <PlayerData>().netId.Value); this.AttackerCharacter = CharacterTable.Select(this.Attacker.CharacterID); this.AttackerInventory = InventoryTable.Select(this.Attacker.InventoryID); this.Weapon = WeaponTable.Select(this.AttackerInventory.Weapon_ID); this.Defender = PlayerTable.Select((int)defender.GetComponent <PlayerData>().netId.Value); bool EnoughStamina; int Damage = CountFireDamage(out EnoughStamina); if (EnoughStamina) { if (Damage > 0) { LifeLoss(Damage); this.Message = System.Convert.ToString(Damage); } else { this.Message = "miss"; } } else { this.Message = "influcient action points"; } }
public void CmdCharacterSelection(string name, int ID) { Player player = new Player(); Character c = CharacterTable.Select(ID); Inventory i = new Inventory(); Weapon w = WeaponTable.Select(c.Weapon); player.ID = (int)netId.Value; player.Name = name; player.Health = Constants.player_basehealth + c.BHealth; player.Score = 0; player.Armor = 0; player.CharacterID = ID; player.InventoryID = InventoryTable.Select_Count() + 1; PlayerTable.Insert(player); i.Actual = w.Ammo; i.Player_ID = player.ID; i.Weapon_ID = c.Weapon; i.Slot = InventoryTable.Select_Count() + 1; InventoryTable.Insert(i); PlayerSelection.UsedWeapon = w.Name; Debug.Log("Srv exec." + name + "," + ID); _playerData.Name = player.Name; _playerData.Armor = player.Armor; _playerData.Health = player.Health; _playerData.Score = player.Score; _playerData.Inventory_ID = player.InventoryID; _playerData.Character_ID = player.CharacterID; _playerData.IsMoving = false; // TODO: Generate position for player. }
public void CmdRefill(int id) { Player player = PlayerTable.Select(id); System.Random rnd = new System.Random(); int rnum = rnd.Next(0, 100); if (rnum >= 0 && rnum <= 33) //healthpack { Character ch = CharacterTable.Select(player.CharacterID); player.Health = ch.BHealth + Constants.player_basehealth; PlayerTable.Update(player); this.message = "Health"; } else if (rnum > 33 && rnum <= 66)//ammo { Inventory i = InventoryTable.Select(player.InventoryID); i.Actual = WeaponTable.Select(i.Weapon_ID).Ammo; InventoryTable.Update(i); this.message = "Ammo"; } else //Weapon { Collection <Weapon> weapons = WeaponTable.Select(); Collection <Inventory> inventories = InventoryTable.Select(); Collection <Weapon> notowned = new Collection <Weapon>(); foreach (Weapon w in weapons) { bool add = true; foreach (Inventory inv in inventories) { if (w.ID == inv.Weapon_ID && inv.Player_ID == player.ID) //pokud hráč již vlastní zbraň { add = false; break; } } if (add) { notowned.Add(w); } } if (notowned.Count == 0) //pokud uz vlastnim vše { Character ch = CharacterTable.Select(player.CharacterID); player.Armor += 100; PlayerTable.Update(player); this.message = "Armor"; } else { int WeaponID = rnd.Next(0, notowned.Count - 1); Inventory i = new Inventory(); i.Player_ID = player.ID; i.Weapon_ID = notowned[WeaponID].ID; i.Actual = notowned[WeaponID].Ammo; i.Slot = InventoryTable.Select_Count() + 1; InventoryTable.Insert(i); this.message = notowned[WeaponID].Name; } } PlayerRefill.ObtainedItem = this.message; }