public void GiveCharacterItem(Item item, Character character) { this.IsCharacterAlive(); character.IsCharacterAlive(); character.ReceiveItem(item); }
public void UseItemOn(Item item, Character character) { this.IsCharacterAlive(); character.IsCharacterAlive(); item.AffectCharacter(character); }
public void Heal(Character character) { this.IsCharacterAlive(); character.IsCharacterAlive(); if (this.Faction != character.Faction) { throw new InvalidOperationException($"Cannot heal enemy character!"); } character.Health += this.AbilityPoints; }
public void Attack(Character character) { this.IsCharacterAlive(); character.IsCharacterAlive(); if (this == character) { throw new InvalidOperationException(Messages.SELF_HARM_ATTEMP); } if (this.Faction == character.Faction) { throw new ArgumentException($"Friendly fire! Both characters are from {this.Faction} faction!"); } character.TakeDamage(this.AbilityPoints); }