aboutsummaryrefslogtreecommitdiff
path: root/src/entities/missile.h
diff options
context:
space:
mode:
authornathansmithsmith <nathansmith7@mailfence.com>2023-09-14 21:18:54 -0600
committernathansmithsmith <nathansmith7@mailfence.com>2023-09-14 21:18:54 -0600
commit0612480baf3d173b2d210693d6a234d76bb902cf (patch)
tree1b746dc002b749e6cb7d135751eda88df2cb1ff4 /src/entities/missile.h
parentc160543a7982a62062aae978da08e4f18ae1e712 (diff)
More configurable missile
Diffstat (limited to 'src/entities/missile.h')
-rw-r--r--src/entities/missile.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/entities/missile.h b/src/entities/missile.h
index 9c81b52..915e1ad 100644
--- a/src/entities/missile.h
+++ b/src/entities/missile.h
@@ -4,14 +4,36 @@
#ifndef MISSILE_H
#define MISSILE_H
-#define MISSILE_SPEED 100.0
+#define MISSILE_LIVE_FOREVER -1.0
+
+#define MISSILE_DEFAULT_SPEED 100.0
+#define MISSILE_DEFAULT_TIME_TO_LIVE MISSILE_LIVE_FOREVER
+#define MISSILE_DEFAULT_DAMAGE 5.0
+#define MISSILE_DEFAULT_BOOM_BOOM_AT 5.0
+
+// I WANT TO BUILD A FUCKING MISSILE IN REAL LIFE!!!
+
+typedef struct Missile {
+ double timeToLive;
+ double birthDay;
+ float damage;
+ float boomBoomAt;
+} Missile;
void initMissile(Entity * entity, Game * game);
void closeMissile(Entity * entity);
void updateMissile(Game * game, Entity * entity);
void drawMissile(Game * game, Entity * entity);
-void aimMissileAtTarget(Entity * entity, Vector3 target);
+void launchMissileAtTarget(Entity * entity, Vector3 target, float speed);
+
void setMissileDirection(Entity * entity, Vector3 direction);
+void setMissileDamage(Entity * entity, float damage);
+void setMissileBoomBoomAt(Entity * entity, float boomBoomAt);
+
+void startMissileCountDown(Entity * entity, double timeToLive);
+
+// Ok boomer
+void missileGoBoomBoom(Game * game, Entity * entity);
#endif