First let me thank you for yesterday's replies. I was able to continue.
My current issue is that I have been able to avoid making all variables mutable except for currentHP of a Pokemon. Code of my battle first, explanation follows.
let angriffFighter(fighterPair:list<Domain.Pokemon>) =
let dmg = hit fighterPair.[0] fighterPair.[1]
fighterPair.[1].currentHP <- fighterPair.[1].currentHP-dmg
The function "hit" calculates dmg dealt and returns an int. currentHP is the only remaining variable I can't seem to make immutable. I need to reduce it in every battleround and I want it to reset to maxHP after the fight.
How would I tackle this issue?