improve player init

efd/v1
Dominik Madarász 2023-02-03 11:22:15 +01:00
parent 94c49e770b
commit eccaa14bda
4 changed files with 6 additions and 7 deletions

View File

@ -19,9 +19,7 @@ uint64_t player_spawn(char *name) {
ecs_set_name(world_ecs(), e, name); ecs_set_name(world_ecs(), e, name);
ecs_set(world_ecs(), e, ClientInfo, {0}); ecs_set(world_ecs(), e, ClientInfo, {0});
ecs_set(world_ecs(), e, Inventory, {0});
ecs_set(world_ecs(), e, Health, {.hp = PLAYER_MAX_HP, .max_hp = PLAYER_MAX_HP}); ecs_set(world_ecs(), e, Health, {.hp = PLAYER_MAX_HP, .max_hp = PLAYER_MAX_HP});
ecs_set(world_ecs(), e, HealthRegen, {.amt = 15.0f});
ecs_set(world_ecs(), e, Velocity, { 0 }); ecs_set(world_ecs(), e, Velocity, { 0 });
ecs_set(world_ecs(), e, PhysicsBody, { .kind = PHYS_AABB, .mass = INFINITE_MASS }); ecs_set(world_ecs(), e, PhysicsBody, { .kind = PHYS_AABB, .mass = INFINITE_MASS });
Input *i = ecs_get_mut(world_ecs(), e, Input); Input *i = ecs_get_mut(world_ecs(), e, Input);

View File

@ -14,7 +14,8 @@ void game_render() {
void game_player_joined(uint64_t ent) { void game_player_joined(uint64_t ent) {
ecs_set(world_ecs(), ent, Inventory, {0});
ecs_set(world_ecs(), ent, HealthRegen, {15.f});
} }
void game_player_departed(uint64_t ent) { void game_player_departed(uint64_t ent) {

View File

@ -21,7 +21,7 @@ void mob_systems(ecs_world_t *ecs) {
//NOTE(DavoSK): weapons //NOTE(DavoSK): weapons
ecs_mobpos_query = ecs_query_new(world_ecs(), "components.Mob, components.Position, components.Health, components.Velocity"); ecs_mobpos_query = ecs_query_new(world_ecs(), "components.Mob, components.Position, components.Health, components.Velocity");
ECS_SYSTEM_TICKED(ecs, WeaponKnifeMechanic, EcsPostUpdate, components.WeaponKnife, components.Position, components.Input); ECS_SYSTEM_TICKED(ecs, WeaponKnifeMechanic, EcsPostUpdate, components.WeaponKnife, components.Position, components.Input, !components.Dead);
ECS_SYSTEM_TICKED(ecs, WeaponProjectileHit, EcsPostUpdate, components.WeaponProjectile, components.Position, components.Rotation); ECS_SYSTEM_TICKED(ecs, WeaponProjectileHit, EcsPostUpdate, components.WeaponProjectile, components.Position, components.Rotation);
ECS_SYSTEM_TICKED(ecs, WeaponProjectileExpire, EcsPostUpdate, components.WeaponProjectile, components.Position); ECS_SYSTEM_TICKED(ecs, WeaponProjectileExpire, EcsPostUpdate, components.WeaponProjectile, components.Position);
ECS_OBSERVER(ecs, MobOnDead, EcsOnAdd, components.Mob, components.Dead); ECS_OBSERVER(ecs, MobOnDead, EcsOnAdd, components.Mob, components.Dead);

View File

@ -53,8 +53,8 @@ void MobMovement(ecs_iter_t *it) {
} }
} }
#define MOB_MELEE_DIST 4000.0f #define MOB_MELEE_DIST 8000.0f
#define MOB_MELEE_DMG 1.5f #define MOB_MELEE_DMG 8.5f
#define MOB_ATK_DELAY 10 #define MOB_ATK_DELAY 10
void MobMeleeAtk(ecs_iter_t *it) { void MobMeleeAtk(ecs_iter_t *it) {
@ -76,9 +76,9 @@ void MobMeleeAtk(ecs_iter_t *it) {
if (range < MOB_MELEE_DIST) { if (range < MOB_MELEE_DIST) {
Health *health = ecs_get_mut_ex(it->world, m->plr, Health); Health *health = ecs_get_mut_ex(it->world, m->plr, Health);
health->dmg += MOB_MELEE_DMG; health->dmg += MOB_MELEE_DMG;
}
mob[i].atk_delay = MOB_ATK_DELAY; mob[i].atk_delay = MOB_ATK_DELAY;
} }
}
} }
void MobOnDead(ecs_iter_t *it) { void MobOnDead(ecs_iter_t *it) {