public string Attack(string[] args) { var attackerName = args[0]; var receiverName = args[1]; var attackerCharacter = party.FirstOrDefault(c => c.Name == attackerName); ExceptionTracker.DoesCharacterExist(attackerCharacter, attackerName); var receiverCharacter = party.FirstOrDefault(c => c.Name == receiverName); ExceptionTracker.DoesCharacterExist(receiverCharacter, receiverName); ExceptionTracker.AttackableCharacter(attackerCharacter); ((Warrior)attackerCharacter).Attack(receiverCharacter); var output = $"{attackerName} attacks {receiverName} for {attackerCharacter.AbilityPoints} hit points!" + $" {receiverName} has {receiverCharacter.Health}/{receiverCharacter.BaseHealth} HP " + $"and {receiverCharacter.Armor}/{receiverCharacter.BaseArmor} AP left!"; if (!receiverCharacter.IsAlive) { output += $"\n{receiverCharacter.Name} is dead!"; } return(output); }
public string UseItem(string[] args) { var characterName = args[0]; var itemName = args[1]; var character = party.FirstOrDefault(c => c.Name == characterName); ExceptionTracker.DoesCharacterExist(character, characterName); var item = character.Bag.GetItem(itemName); character.UseItem(item); return($"{character.Name} used {itemName}."); }
public string PickUpItem(string[] args) { var characterName = args[0]; var character = party.FirstOrDefault(c => c.Name == characterName); ExceptionTracker.DoesCharacterExist(character, characterName); var item = pool.LastOrDefault(); ExceptionTracker.DoesItemExist(item); pool.Remove(item); return($"{characterName} picked up {item.GetType().Name}!"); }
public string Heal(string[] args) { string healerName = args[0]; string healingReceiverName = args[1]; var healer = party.FirstOrDefault(c => c.Name == healerName); var receiver = party.FirstOrDefault(c => c.Name == healingReceiverName); ExceptionTracker.DoesCharacterExist(healer, healerName); ExceptionTracker.DoesCharacterExist(receiver, healingReceiverName); ((Cleric)healer).Heal(receiver); return($"{healer.Name} heals {receiver.Name} for {healer.AbilityPoints}!" + $"{receiver.Name} has {receiver.Health} health now!"); }
public string GiveCharacterItem(string[] args) { var giverName = args[0]; var receiverName = args[1]; var itemName = args[2]; var giverCharacter = party.FirstOrDefault(c => c.Name == giverName); ExceptionTracker.DoesCharacterExist(giverCharacter, giverName); var receiverCharacter = party.FirstOrDefault(c => c.Name == receiverName); ExceptionTracker.DoesCharacterExist(receiverCharacter, receiverName); var item = giverCharacter.Bag.GetItem(itemName); giverCharacter.GiveCharacterItem(item, receiverCharacter); return($"{giverName} gave {receiverName} {itemName}."); }