Skip to content
Snippets Groups Projects
Commit 7a2f79e9 authored by Robin Halseth Sandvik's avatar Robin Halseth Sandvik
Browse files

Added mana & stamina properties.

parent 94560e05
No related branches found
No related tags found
1 merge request!31Mana and stamina.
......@@ -114,6 +114,11 @@ namespace BigSock {
// Set the base stats.
BaseStats = new CharacterStats {
MaxHP = baseMaxHP,
MaxMana = 10,
MaxStamina = 10,
RegenMana = 2,
RegenStamina = 2,
Damage = baseDamage,
MoveSpeed = baseMovementSpeed,
Knockback = knockbackForce,
......
......@@ -16,6 +16,28 @@ namespace BigSock {
*/
public float MaxHP { get; set; }
/*
The max mana of the character.
*/
public float MaxMana { get; set; }
/*
The max stamina of the character.
*/
public float MaxStamina { get; set; }
/*
The regeneration rate of the character's mana.
*/
public float RegenMana { get; set; }
/*
The regeneration rate of the character's stamina.
*/
public float RegenStamina { get; set; }
/*
The damage of the character.
*/
......
......@@ -12,10 +12,31 @@ namespace BigSock {
*/
public interface ICharacterStats {
/*
The hp of the character.
The max hp of the character.
*/
float MaxHP { get; }
/*
The max mana of the character.
*/
float MaxMana { get; }
/*
The max stamina of the character.
*/
float MaxStamina { get; }
/*
The regeneration rate of the character's mana.
*/
float RegenMana { get; }
/*
The regeneration rate of the character's stamina.
*/
float RegenStamina { get; }
/*
The damage of the character.
*/
......@@ -67,6 +88,11 @@ namespace BigSock {
*/
public static readonly ICharacterStats IDENTITY = new CharacterStats{
MaxHP = 1,
MaxMana = 1,
MaxStamina = 1,
RegenMana = 1,
RegenStamina = 1,
Damage = 1,
MoveSpeed = 1,
Knockback = 1,
......@@ -83,6 +109,11 @@ namespace BigSock {
public static ICharacterStats Add(this ICharacterStats a, ICharacterStats b) {
return new CharacterStats{
MaxHP = a.MaxHP + b.MaxHP,
MaxMana = a.MaxMana + b.MaxMana,
MaxStamina = a.MaxStamina + b.MaxStamina,
RegenMana = a.RegenMana + b.RegenMana,
RegenStamina = a.RegenStamina + b.RegenStamina,
Damage = a.Damage + b.Damage,
MoveSpeed = a.MoveSpeed + b.MoveSpeed,
Knockback = a.Knockback + b.Knockback,
......@@ -101,6 +132,11 @@ namespace BigSock {
public static ICharacterStats Remove(this ICharacterStats a, ICharacterStats b) {
return new CharacterStats{
MaxHP = a.MaxHP - b.MaxHP,
MaxMana = a.MaxMana - b.MaxMana,
MaxStamina = a.MaxStamina - b.MaxStamina,
RegenMana = a.RegenMana - b.RegenMana,
RegenStamina = a.RegenStamina - b.RegenStamina,
Damage = a.Damage - b.Damage,
MoveSpeed = a.MoveSpeed - b.MoveSpeed,
Knockback = a.Knockback - b.Knockback,
......@@ -118,6 +154,11 @@ namespace BigSock {
public static ICharacterStats Multiply(this ICharacterStats a, ICharacterStats b) {
return new CharacterStats{
MaxHP = a.MaxHP * b.MaxHP,
MaxMana = a.MaxMana * b.MaxMana,
MaxStamina = a.MaxStamina * b.MaxStamina,
RegenMana = a.RegenMana * b.RegenMana,
RegenStamina = a.RegenStamina * b.RegenStamina,
Damage = a.Damage * b.Damage,
MoveSpeed = a.MoveSpeed * b.MoveSpeed,
Knockback = a.Knockback * b.Knockback,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment