aboutsummaryrefslogtreecommitdiffstats
path: root/src/wp_enemyslingshot.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wp_enemyslingshot.cpp')
-rw-r--r--src/wp_enemyslingshot.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/wp_enemyslingshot.cpp b/src/wp_enemyslingshot.cpp
new file mode 100644
index 0000000..2a5b9fc
--- /dev/null
+++ b/src/wp_enemyslingshot.cpp
@@ -0,0 +1,41 @@
+#include "wp_enemyslingshot.hpp"
+
+#include <raylib.h>
+#include <raymath.h>
+#include <iostream>
+
+#include "gameplay.hpp"
+#include "entity.hpp"
+
+wp_enemysling::wp_enemysling(const char* s, const char* r)
+ : AWeapon(300.0f, 10, 2, 0.0, s, r) {}
+
+int wp_enemysling::bang(std::vector<Entity>* enemies, Entity* baddie) {
+ if (barrel == 0) {
+ return (1);
+ } else {
+ barrel--;
+ PlaySound(shot);
+ t = GetTime();
+ // enemysling spawns a new enemy every @reload seconds. thats it.
+ // it's a slingshot
+ //
+ Entity en(1);
+ en.posX = (baddie->posX += range);
+ en.posY = (baddie->posY += range);
+ en.direction = baddie->direction;
+ en.radius = 20;
+ en.currentWeapon = nullptr;
+ en.idleTex = LoadTexture(SBIRE_TEX_IDLE);
+ en.hurtTex = LoadTexture(SBIRE_TEX_HURT);
+ enemies->push_back(en);
+ std::cout << "push back enemy. so far so good " << std::endl;
+
+ //
+ // there
+ if (barrel == 0) {
+ empty = true;
+ }
+ return (0);
+ }
+}