diff --git a/Crawler/MonsterAttribute.h b/Crawler/MonsterAttribute.h
index d076a59c..b35159b1 100644
--- a/Crawler/MonsterAttribute.h
+++ b/Crawler/MonsterAttribute.h
@@ -20,4 +20,5 @@ enum class Attribute{
JUMP_TARGET_POS,
JUMP_ORIGINAL_POS,
RECOVERY_TIME,
+ SHOOT_ANIMATION_TIME,
};
\ No newline at end of file
diff --git a/Crawler/Turret.cpp b/Crawler/Turret.cpp
index e7966742..00b184dc 100644
--- a/Crawler/Turret.cpp
+++ b/Crawler/Turret.cpp
@@ -4,11 +4,19 @@
#include "Crawler.h"
#include "utils.h"
+typedef Attribute A;
+
INCLUDE_game
INCLUDE_BULLET_LIST
void Monster::STRATEGY::TURRET(Monster&m,float fElapsedTime,int strategyNumber){
m.attackCooldownTimer=std::max(0.f,m.attackCooldownTimer-fElapsedTime);
+ if(m.F(A::SHOOT_ANIMATION_TIME)>0){
+ m.F(A::SHOOT_ANIMATION_TIME)=std::max(0.f,m.F(A::SHOOT_ANIMATION_TIME)-fElapsedTime);
+ if(m.F(A::SHOOT_ANIMATION_TIME)==0){
+ m.PerformIdleAnimation();
+ }
+ }
if(m.queueShotTimer>0){
m.queueShotTimer-=fElapsedTime;
@@ -23,6 +31,7 @@ void Monster::STRATEGY::TURRET(Monster&m,float fElapsedTime,int strategyNumber){
if(m.attackCooldownTimer==0){
m.attackCooldownTimer=ConfigFloat("ShootingSpeed");
m.queueShotTimer=std::min(m.attackCooldownTimer-0.001,0.3);
+ m.F(A::SHOOT_ANIMATION_TIME)=ConfigIntArr("ShootAnimation",0)*ConfigFloatArr("ShootAnimation",1);
m.PerformShootAnimation();
}
}
diff --git a/Crawler/buildtemplate.html b/Crawler/buildtemplate.html
index c794496f..7e6698dd 100644
--- a/Crawler/buildtemplate.html
+++ b/Crawler/buildtemplate.html
@@ -35,7 +35,7 @@ var Module = {
})(),
};
-
+
+
+
+
+