-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFighter.cs
43 lines (40 loc) · 1.47 KB
/
Fighter.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
namespace simpleRPG
{
public class Fighter : FightingEntity
{
public int MaxHP { get; }
public string Nickname { get; set; }
public int Level { get; }
public int XP { get; }
public string Faction { get; }
public Wearable Wearable { get; }
public Fighter(string name, int hp, int maxHP, int cp, int level, int xp, string faction, Wearable wearable, string nickname = "")
{
Name = name;
HP = hp + wearable.HP;
MaxHP = maxHP;
Nickname = nickname;
CP = cp;
Level = level;
XP = xp;
Faction = faction;
Wearable = wearable;
}
public override void Attack(Entity enemy, out int damage)
{
int temp = 0;
// implement scaling amount of crit derived from the total CP the character can do and chance of crit
damage = Program.Rnd.Next(CP - 5, CP + 5);
damage += Wearable.CP;
if (damage > enemy.HP)
{
temp = damage;
damage = enemy.HP;
}
enemy.HP -= damage;
damage = temp;
}
// vi vill kunna veta namnet på den onda, ifall den har ett smeknamn eller inte, så vi skriver ut det här i båda fallen
public string GetPrintableName() => !string.IsNullOrEmpty(Nickname) ? Nickname : Name;
}
}