private void Btn_PlayerAttack_Click(object sender, EventArgs e) { Tb_Dungeon.Clear(); if (!_player.IsDead() && !_npc.IsDead()) { int npcDamage = _npc.Attack(); int playerDamage = _player.Attack(); _npc.DecreaseHealth(playerDamage); _player.DecreaseHealth(npcDamage); Tb_Dungeon.AppendText(Story.FightingNPC(_player, _npc, playerDamage, npcDamage)); Lbl_ShowHealth.Text = _player.Health.ToString(); if (_npc.IsDead()) { Tb_Dungeon.AppendText(Environment.NewLine + "You have defeated " + _npc.Name + Environment.NewLine + "You are rewarded with " + _npc.ExperienceDrop + " experience."); _player.ExperienceGain(_npc.ExperienceDrop); Pb_Experience.Value += _npc.ExperienceDrop; if (Pb_Experience.Value == Pb_Experience.Maximum) { Pb_Experience.Value = 0; RefreshMenu(); } } else { Tb_Dungeon.AppendText(Environment.NewLine + _npc.Name + "'s current health: " + _npc.Health); } } else { MessageBox.Show("There is no enemy to attack."); } }
void Update() { if (!started) { Configure(Permanente.iaCount, Permanente.playerCount); started = true; } PlayerBase player = players[turn].GetComponent <PlayerBase>(); var selectedSprite = this.Select.GetComponent <SpriteRenderer>(); var selectedColor = player.color; if (player.selectedTerritory != null) { selectedColor.a = 1; var selectedPos = player.selectedTerritory.transform.position; this.Select.transform.position = new Vector3( selectedPos.x, selectedPos.y, this.Select.transform.position.z ); } else { selectedColor.a = 0; } selectedSprite.color = selectedColor; var otherSprite = this.Other.GetComponent <SpriteRenderer>(); var otherColor = player.color; if (player.otherTerritory != null) { otherColor.a = 1; var otherPos = player.otherTerritory.transform.position; this.Other.transform.position = new Vector3( otherPos.x, otherPos.y, this.Other.transform.position.z ); } else { otherColor.a = 0; } otherSprite.color = otherColor; this.nextButton.SetActive(player.showNext); if (state == -1 || state == 0) { player.Distribute(this, exercitos, exercitosAdd); } else if (state == 1) { if (substate == 0) { player.Attack(this); } else if (substate == 1) { player.ShowAttack(this, attackSource, attackTarget, attackDice, defenseDice, false); } else if (substate == 2) { player.ShowAttack(this, attackSource, attackTarget, attackDice, defenseDice, true); } else if (substate == 3) { player.Conquest(this, attackSource, attackTarget); } } else if (state == 2) { if (substate == 0) { player.Redistribute(this, redistributed); } else { player.RedistributeSelected(this, redistributed); } } if (Input.GetKey(KeyCode.M)) { players[turn].GetComponent <PlayerBase>().EndGame(); } }