diff options
author | nathansmithsmith <nathansmith7@mailfence.com> | 2023-09-12 21:53:32 -0600 |
---|---|---|
committer | nathansmithsmith <nathansmith7@mailfence.com> | 2023-09-12 21:53:32 -0600 |
commit | 7d4d948dfa92416c802229b1c444a44785ee2a0c (patch) | |
tree | 129fcf7141640ec8b3c7647de174755d04858ce2 /src/entities/guidedMissile.c | |
parent | c759231e1e8570ffe5fdda2f1eb5d011b1c6a29f (diff) |
Guided missile worky worky
Diffstat (limited to 'src/entities/guidedMissile.c')
-rw-r--r-- | src/entities/guidedMissile.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/entities/guidedMissile.c b/src/entities/guidedMissile.c index 53cbaf8..b7f6b68 100644 --- a/src/entities/guidedMissile.c +++ b/src/entities/guidedMissile.c @@ -18,6 +18,8 @@ void initGuidedMissile(Entity * entity, Game * game) { GuidedMissile * data = (GuidedMissile*)entity->data; + data->beenBorn = false; // NOT EVEN BORN YET! HA HA!!! + data->flyToPoint = (EntityFlyToPointInfo){ .controller.bangbang.speed = 80, .controller.bangbang.stopAt = 0.0, @@ -41,12 +43,24 @@ void updateGuidedMissile(Game * game, Entity * entity) { Entity * player = getEntityFromWorld(game->world, 0); GuidedMissile * data = (GuidedMissile*)entity->data; + // Life begins. + if (!data->beenBorn) { + data->beenBorn = true; + data->birthDay = GetTime(); + } + entityFlyToPoint(entity, player->position, &data->flyToPoint); // boom boom time if (Vector3Distance(player->position, entity->position) <= GUIDED_MISSILE_BOOM_BOOM_AT) guidedMissileGoBoomBoom(game, entity); + // Death countdown. + if (GetTime() - data->birthDay >= GUIDED_MISSILE_DEATH_DAY) { + guidedMissileGoBoomBoom(game, entity); + puts("Me is fucking dead!!!!"); + } + entityCheckTransformedCollisionModel(entity); } @@ -67,5 +81,5 @@ void guidedMissileGoBoomBoom(Game * game, Entity * entity) { // Remove its self from the world. I have thought of doing the same for years ): entity->health = 0.0; - printf("This fucker did %f damage\n", damage); + printf("This fucker died %f damage\n", damage); } |