Compare commits
2 Commits
ab61a482c7
...
0c266e4127
Author | SHA1 | Date | |
---|---|---|---|
0c266e4127 | |||
4e9cc3b4ed |
BIN
Data/Audio/message.ogg
(Stored with Git LFS)
Normal file
BIN
Data/Audio/message.ogg
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -515,6 +515,7 @@ void TELY_DLL_Init(void *user_data)
|
||||
game->audio[FP_GameAudio_MerchantGhost] = platform->func_load_audio(assets, DQN_STRING8("Ghost"), DQN_STRING8("Data/Audio/merchant_ghost.ogg"));
|
||||
game->audio[FP_GameAudio_MerchantGym] = platform->func_load_audio(assets, DQN_STRING8("Gym"), DQN_STRING8("Data/Audio/merchant_gym.ogg"));
|
||||
game->audio[FP_GameAudio_MerchantPhone] = platform->func_load_audio(assets, DQN_STRING8("Phone"), DQN_STRING8("Data/Audio/merchant_tech.ogg"));
|
||||
game->audio[FP_GameAudio_Message] = platform->func_load_audio(assets, DQN_STRING8("Message"), DQN_STRING8("Data/Audio/message.ogg"));
|
||||
|
||||
platform->user_data = game;
|
||||
{
|
||||
@ -1368,6 +1369,7 @@ void FP_EntityActionStateMachine(FP_Game *game, TELY_Audio *audio, TELY_Platform
|
||||
projectile_pos,
|
||||
projectile_acceleration,
|
||||
"Phone Message Projectile");
|
||||
TELY_Audio_Play(audio, game->audio[FP_GameAudio_Message], 1.f /*volume*/);
|
||||
} else {
|
||||
Dqn_FArray<Dqn_Rect, FP_GameDirection_Count> attack_boxes = FP_Game_CalcEntityMeleeAttackBoxes(game, entity->handle);
|
||||
entity->attack_box_size = attack_boxes.data[entity->direction].size;
|
||||
@ -1713,6 +1715,11 @@ void FP_Update(TELY_Platform *platform, FP_Game *game, TELY_PlatformInput *input
|
||||
if (dist_to_waypoint_sq > DQN_SQUARED(arrival_threshold)) {
|
||||
Dqn_V2 entity_to_waypoint_norm = Dqn_V2_Normalise(entity_to_waypoint);
|
||||
acceleration_meters_per_s = entity_to_waypoint_norm * (entity->base_acceleration_per_s.meters * 0.25f);
|
||||
|
||||
if (entity->type == FP_EntityType_Clinger && game->play.clock_ms >= entity->clinger_next_dash_timestamp) {
|
||||
entity->clinger_next_dash_timestamp = game->play.clock_ms + 2000;
|
||||
acceleration_meters_per_s = entity_to_waypoint_norm * entity->base_acceleration_per_s.meters * 45.f;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@ -2024,6 +2031,9 @@ void FP_Update(TELY_Platform *platform, FP_Game *game, TELY_PlatformInput *input
|
||||
uint32_t max_vary = DQN_CAST(uint32_t)(one_meter * 2.f);
|
||||
waypoint->data.offset += Dqn_V2_InitNx2(DQN_CAST(Dqn_f32)Dqn_PCG32_Range(&game->play.rng, min_vary, max_vary),
|
||||
DQN_CAST(Dqn_f32)Dqn_PCG32_Range(&game->play.rng, min_vary, max_vary));
|
||||
|
||||
if (Dqn_PCG32_NextF32(&game->play.rng) >= .5f)
|
||||
waypoint->data.offset *= -1;
|
||||
}
|
||||
|
||||
game->play.enemies_spawned_this_wave++;
|
||||
|
@ -463,7 +463,6 @@ static FP_GameEntityHandle FP_Entity_CreateTerry(FP_Game *game, Dqn_V2 pos, DQN_
|
||||
entity->local_hit_box_size = FP_Game_MetersToPixelsNx2(game->play, 0.5f, entity->sprite_height.meters * .6f);
|
||||
entity->hp_cap = FP_DEFAULT_DAMAGE * 3;
|
||||
entity->hp = entity->hp_cap;
|
||||
entity->coins = 1'000'000;
|
||||
FP_Entity_AddDebugEditorFlags(game, result);
|
||||
entity->flags |= FP_GameEntityFlag_NonTraversable;
|
||||
entity->flags |= FP_GameEntityFlag_Attackable;
|
||||
|
@ -220,6 +220,7 @@ struct FP_GameEntity
|
||||
|
||||
Dqn_usize terry_mobile_data_plan;
|
||||
Dqn_usize terry_mobile_data_plan_cap;
|
||||
Dqn_usize clinger_next_dash_timestamp;
|
||||
|
||||
Dqn_usize coins;
|
||||
FP_GameInventory inventory;
|
||||
@ -272,6 +273,7 @@ enum FP_GameAudio
|
||||
FP_GameAudio_MerchantGhost,
|
||||
FP_GameAudio_MerchantGym,
|
||||
FP_GameAudio_MerchantPhone,
|
||||
FP_GameAudio_Message,
|
||||
FP_GameAudio_Count,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user