Fixed Bullet fixed step movement. Corrected Warrior Block Cooldown (accidently got changed), implemented Turret Monster Strategy.
parent
6cfb40d642
commit
b1885a1c1e
@ -1,7 +1,7 @@ |
|||||||
#pragma once |
#pragma once |
||||||
#define GetInt(param) _GetInt(m,param,strategyNumber) |
#define ConfigInt(param) _GetInt(m,param,strategyNumber) |
||||||
#define GetFloat(param) _GetFloat(m,param,strategyNumber) |
#define ConfigFloat(param) _GetFloat(m,param,strategyNumber) |
||||||
#define GetString(param) _GetString(m,param,strategyNumber) |
#define ConfigString(param) _GetString(m,param,strategyNumber) |
||||||
#define GetIntArr(param,ind) _GetInt(m,param,strategyNumber,ind) |
#define ConfigIntArr(param,ind) _GetInt(m,param,strategyNumber,ind) |
||||||
#define GetFloatArr(param,ind) _GetFloat(m,param,strategyNumber,ind) |
#define ConfigFloatArr(param,ind) _GetFloat(m,param,strategyNumber,ind) |
||||||
#define GetStringArr(param,ind) _GetString(m,param,strategyNumber,ind) |
#define ConfigStringArr(param,ind) _GetString(m,param,strategyNumber,ind) |
@ -1,6 +1,29 @@ |
|||||||
#include "Monster.h" |
#include "Monster.h" |
||||||
#include "MonsterStrategyHelpers.h" |
#include "MonsterStrategyHelpers.h" |
||||||
|
#include "DEFINES.h" |
||||||
|
#include "Crawler.h" |
||||||
|
#include "utils.h" |
||||||
|
|
||||||
|
INCLUDE_game |
||||||
|
INCLUDE_BULLET_LIST |
||||||
|
|
||||||
void Monster::STRATEGY::TURRET(Monster&m,float fElapsedTime,int strategyNumber){ |
void Monster::STRATEGY::TURRET(Monster&m,float fElapsedTime,int strategyNumber){ |
||||||
|
m.attackCooldownTimer=std::max(0.f,m.attackCooldownTimer-fElapsedTime); |
||||||
|
|
||||||
|
if(m.queueShotTimer>0){ |
||||||
|
m.queueShotTimer-=fElapsedTime; |
||||||
|
if(m.queueShotTimer<0){ |
||||||
|
m.queueShotTimer=0; |
||||||
|
BULLET_LIST.push_back(std::make_unique<Bullet>(Bullet(m.pos + vf2d{ 0,-4 }, geom2d::line(m.pos + vf2d{ 0,-4 }, game->GetPlayer()->GetPos()).vector().norm() * 24 * ConfigInt("BulletSpeed")/100.f, 12.f*ConfigInt("BulletSize")/100.f, m.GetAttack(),m.upperLevel,false, { uint8_t(ConfigIntArr("BulletColor",0)),uint8_t(ConfigIntArr("BulletColor",1)),uint8_t(ConfigIntArr("BulletColor",2)),uint8_t(ConfigIntArr("BulletColor",3) )},{ConfigInt("BulletSize")/100.f*8,ConfigInt("BulletSize")/100.f*8}))); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
auto dist=geom2d::line(m.GetPos(),game->GetPlayer()->GetPos()).length(); |
||||||
|
if(dist<ConfigInt("Range")/100.f*24){ |
||||||
|
if(m.attackCooldownTimer==0){ |
||||||
|
m.attackCooldownTimer=ConfigFloat("ShootingSpeed"); |
||||||
|
m.queueShotTimer=std::min(m.attackCooldownTimer-0.001,0.3); |
||||||
|
m.PerformShootAnimation(); |
||||||
|
} |
||||||
|
} |
||||||
} |
} |
Loading…
Reference in new issue