Many new settings to support the new state machine functionality.
This commit is contained in:
parent
908bdbba35
commit
47822bbdec
11 changed files with 84 additions and 21 deletions
|
@ -23,7 +23,8 @@
|
|||
|
||||
KTag_Game_Data_T KTAG_Game_Data =
|
||||
{
|
||||
.My_Health = MAX_HEALTH,
|
||||
.My_Health = 0,
|
||||
.Max_Health = 0,
|
||||
.My_Weapon = TEST_PATTERN_ID,
|
||||
.My_Shield_Strength = 100,
|
||||
.Time_Remaining_in_Game_in_ms = UINT32_MAX,
|
||||
|
|
33
Game/Game.h
33
Game/Game.h
|
@ -24,8 +24,6 @@
|
|||
|
||||
#include "Weapons.h"
|
||||
|
||||
#define MAX_HEALTH 10
|
||||
|
||||
//! Implemented according to the 2024-07-20 "KTag Teams Compatibility Matrix".
|
||||
typedef enum
|
||||
{
|
||||
|
@ -137,6 +135,7 @@ typedef struct
|
|||
uint8_t My_Health;
|
||||
WeaponID_t My_Weapon;
|
||||
uint8_t My_Shield_Strength;
|
||||
uint8_t Max_Health;
|
||||
uint32_t Time_Remaining_in_Game_in_ms;
|
||||
uint32_t Time_Remaining_Until_Countdown_in_ms;
|
||||
uint16_t Shots_Fired;
|
||||
|
@ -163,6 +162,36 @@ __attribute__((always_inline)) inline void Set_Health(uint8_t health)
|
|||
}
|
||||
}
|
||||
|
||||
__attribute__((always_inline)) inline uint8_t Get_Max_Health()
|
||||
{
|
||||
if (KTAG_Game_Data.Max_Health == 0)
|
||||
{
|
||||
// Initialize from settings.
|
||||
uint8_t max_health;
|
||||
if (SETTINGS_get_uint8_t(SYSTEMK_SETTING_MAX_HEALTH, &max_health) == SYSTEMK_RESULT_SUCCESS)
|
||||
{
|
||||
KTAG_Game_Data.Max_Health = max_health;
|
||||
}
|
||||
else
|
||||
{
|
||||
KTAG_Game_Data.Max_Health = 100;
|
||||
}
|
||||
}
|
||||
|
||||
return KTAG_Game_Data.Max_Health;
|
||||
}
|
||||
|
||||
__attribute__((always_inline)) inline void Set_Max_Health(uint8_t health)
|
||||
{
|
||||
KTAG_Game_Data.Max_Health = health;
|
||||
|
||||
// Limit current health to max health.
|
||||
if (KTAG_Game_Data.My_Health > health)
|
||||
{
|
||||
KTAG_Game_Data.My_Health = health;
|
||||
}
|
||||
}
|
||||
|
||||
__attribute__((always_inline)) inline void Reduce_Health(uint8_t reduction)
|
||||
{
|
||||
if (reduction < KTAG_Game_Data.My_Health)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue