fp: Add attack upgrade to merchant
This commit is contained in:
parent
17947c7b69
commit
065292c7ac
@ -2032,15 +2032,16 @@ void FP_Update(TELY_Platform *platform, FP_Game *game, TELY_PlatformInput *input
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
defender->hp = defender->hp >= FP_DEFAULT_DAMAGE ? defender->hp - FP_DEFAULT_DAMAGE : 0;
|
defender->hp = defender->hp >= attacker->base_attack ? defender->hp - attacker->base_attack : 0;
|
||||||
if (defender->hp <= 0) {
|
if (defender->hp <= 0) {
|
||||||
defender->is_dying = true;
|
if (!defender->is_dying) {
|
||||||
|
|
||||||
FP_GameEntity *coin_receiver = FP_Game_GetEntity(game, attacker->projectile_owner);
|
FP_GameEntity *coin_receiver = FP_Game_GetEntity(game, attacker->projectile_owner);
|
||||||
if (FP_Game_IsNilEntity(coin_receiver))
|
if (FP_Game_IsNilEntity(coin_receiver))
|
||||||
coin_receiver = attacker;
|
coin_receiver = attacker;
|
||||||
coin_receiver->coins += 1;
|
coin_receiver->coins += 1;
|
||||||
}
|
}
|
||||||
|
defender->is_dying = true;
|
||||||
|
}
|
||||||
|
|
||||||
// NOTE: Kickback ======================================================================
|
// NOTE: Kickback ======================================================================
|
||||||
#if 0
|
#if 0
|
||||||
@ -2610,8 +2611,9 @@ void FP_Render(FP_Game *game, TELY_Platform *platform, TELY_Renderer *renderer,
|
|||||||
|
|
||||||
if (mapping.merchant == game->play.merchant_terry) {
|
if (mapping.merchant == game->play.merchant_terry) {
|
||||||
// TODO(doyle): Attack damage? Or increase attack range?
|
// TODO(doyle): Attack damage? Or increase attack range?
|
||||||
|
player->base_attack += DQN_CAST(uint32_t)(FP_DEFAULT_DAMAGE * .3f);
|
||||||
} else if (mapping.merchant == game->play.merchant_graveyard) {
|
} else if (mapping.merchant == game->play.merchant_graveyard) {
|
||||||
player->stamina_cap += DQN_CAST(uint16_t)(FP_TERRY_DASH_STAMINA_COST * .5f);
|
player->stamina_cap += DQN_CAST(uint32_t)(FP_TERRY_DASH_STAMINA_COST * .5f);
|
||||||
} else if (mapping.merchant == game->play.merchant_gym) {
|
} else if (mapping.merchant == game->play.merchant_gym) {
|
||||||
player->hp_cap += FP_DEFAULT_DAMAGE;
|
player->hp_cap += FP_DEFAULT_DAMAGE;
|
||||||
player->hp = player->hp_cap;
|
player->hp = player->hp_cap;
|
||||||
|
@ -226,13 +226,14 @@ static FP_GameEntity *FP_Game_MakeEntityPointerFV(FP_Game *game, DQN_FMT_STRING_
|
|||||||
result->action.sprite_alpha = 1.f;
|
result->action.sprite_alpha = 1.f;
|
||||||
result->stamina_cap = 93;
|
result->stamina_cap = 93;
|
||||||
|
|
||||||
result->hp_cap = DQN_CAST(uint16_t)(FP_DEFAULT_DAMAGE * .8f);
|
result->hp_cap = DQN_CAST(uint32_t)(FP_DEFAULT_DAMAGE * .8f);
|
||||||
result->hp = result->hp_cap;
|
result->hp = result->hp_cap;
|
||||||
|
|
||||||
result->inventory.airports_base_price = 100;
|
result->inventory.airports_base_price = 100;
|
||||||
result->inventory.churchs_base_price = 50;
|
result->inventory.churchs_base_price = 50;
|
||||||
result->inventory.kennels_base_price = 50;
|
result->inventory.kennels_base_price = 50;
|
||||||
result->inventory.clubs_base_price = 50;
|
result->inventory.clubs_base_price = 50;
|
||||||
|
result->base_attack = FP_DEFAULT_DAMAGE;
|
||||||
|
|
||||||
result->inventory.stamina_base_price = 10;
|
result->inventory.stamina_base_price = 10;
|
||||||
result->inventory.health_base_price = 10;
|
result->inventory.health_base_price = 10;
|
||||||
|
@ -224,10 +224,11 @@ struct FP_GameEntity
|
|||||||
|
|
||||||
Dqn_usize coins;
|
Dqn_usize coins;
|
||||||
FP_GameInventory inventory;
|
FP_GameInventory inventory;
|
||||||
Dqn_f32 hp;
|
uint32_t hp;
|
||||||
uint16_t hp_cap;
|
uint32_t hp_cap;
|
||||||
Dqn_f32 stamina;
|
uint32_t stamina;
|
||||||
uint16_t stamina_cap;
|
uint32_t stamina_cap;
|
||||||
|
uint32_t base_attack;
|
||||||
|
|
||||||
bool converted_faction;
|
bool converted_faction;
|
||||||
FP_GameEntityFaction faction;
|
FP_GameEntityFaction faction;
|
||||||
|
Loading…
Reference in New Issue
Block a user