61 lines
1.6 KiB
C#
Executable File
61 lines
1.6 KiB
C#
Executable File
using System.Collections.Generic;
|
|
|
|
namespace UPWG.Core
|
|
{
|
|
public enum WeightClass
|
|
{
|
|
Light,
|
|
Normal,
|
|
Heavy,
|
|
}
|
|
|
|
public class Wrestler
|
|
{
|
|
public string Name { get; }
|
|
public uint Strength { get; } // used
|
|
public uint Grappling { get; }
|
|
public uint Agility { get; }
|
|
public uint Fortitude { get; }
|
|
public uint Charisma { get; }
|
|
public WeightClass Weight { get; }
|
|
public Dictionary<string, uint> MoveSet;
|
|
|
|
public Wrestler(string name, uint strength, uint grappling, uint agility, uint fortitude, uint charisma,
|
|
WeightClass weight
|
|
)
|
|
{
|
|
Name = name;
|
|
Strength = strength;
|
|
Grappling = grappling;
|
|
Agility = agility;
|
|
Fortitude = fortitude;
|
|
Charisma = charisma;
|
|
Weight = weight;
|
|
MoveSet = new Dictionary<string, uint>();
|
|
foreach (var (move, _) in MoveDatabase.Moves)
|
|
{
|
|
MoveSet[move] = 0;
|
|
}
|
|
}
|
|
|
|
public double DamageMult
|
|
{
|
|
get
|
|
{
|
|
switch (Strength)
|
|
{
|
|
case <= 2: return 0.5;
|
|
case <= 4: return 1.0;
|
|
case <= 6: return 1.2;
|
|
case <= 8: return 1.4;
|
|
default: return 1.7;
|
|
}
|
|
}
|
|
}
|
|
|
|
public uint GetExpertise(string moveName)
|
|
{
|
|
return MoveSet.ContainsKey(moveName) ? MoveSet[moveName] : 0;
|
|
}
|
|
}
|
|
} |