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 |
||||
#define GetInt(param) _GetInt(m,param,strategyNumber) |
||||
#define GetFloat(param) _GetFloat(m,param,strategyNumber) |
||||
#define GetString(param) _GetString(m,param,strategyNumber) |
||||
#define GetIntArr(param,ind) _GetInt(m,param,strategyNumber,ind) |
||||
#define GetFloatArr(param,ind) _GetFloat(m,param,strategyNumber,ind) |
||||
#define GetStringArr(param,ind) _GetString(m,param,strategyNumber,ind) |
||||
#define ConfigInt(param) _GetInt(m,param,strategyNumber) |
||||
#define ConfigFloat(param) _GetFloat(m,param,strategyNumber) |
||||
#define ConfigString(param) _GetString(m,param,strategyNumber) |
||||
#define ConfigIntArr(param,ind) _GetInt(m,param,strategyNumber,ind) |
||||
#define ConfigFloatArr(param,ind) _GetFloat(m,param,strategyNumber,ind) |
||||
#define ConfigStringArr(param,ind) _GetString(m,param,strategyNumber,ind) |
@ -1,6 +1,29 @@ |
||||
#include "Monster.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){ |
||||
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