#include "Monster.h" #include "DEFINES.h" #include "olcUTIL_DataFile.h" INCLUDE_DATA int Monster::STRATEGY::_GetInt(Monster&m,std::string param,int strategyNumber,int index){ if(DATA["Monsters"][std::to_string(m.id)].HasProperty(param)){ return DATA["Monsters"][std::to_string(m.id)].GetProperty(param).GetInt(index); } else { return DATA["MonsterStrategy"][std::to_string(strategyNumber)].GetProperty(param).GetInt(index); } } float Monster::STRATEGY::_GetFloat(Monster&m,std::string param,int strategyNumber,int index){ if(DATA["Monsters"][std::to_string(m.id)].HasProperty(param)){ return DATA["Monsters"][std::to_string(m.id)].GetProperty(param).GetReal(index); } else { return DATA["MonsterStrategy"][std::to_string(strategyNumber)].GetProperty(param).GetReal(index); } } std::string Monster::STRATEGY::_GetString(Monster&m,std::string param,int strategyNumber,int index){ if(DATA["Monsters"][std::to_string(m.id)].HasProperty(param)){ return DATA["Monsters"][std::to_string(m.id)].GetProperty(param).GetString(index); } else { return DATA["MonsterStrategy"][std::to_string(strategyNumber)].GetProperty(param).GetString(index); } } void Monster::STRATEGY::RUN_STRATEGY(Monster&m,float fElapsedTime){ switch(m.strategy){ case 0:{//Run Towards Monster::STRATEGY::RUN_TOWARDS(m,fElapsedTime,m.strategy); }break; case 1:{//Shoot Afar Monster::STRATEGY::SHOOT_AFAR(m,fElapsedTime,m.strategy); }break; case 2:{//Turret Monster::STRATEGY::TURRET(m,fElapsedTime,m.strategy); }break; case 3:{//Slime King Monster::STRATEGY::SLIMEKING(m,fElapsedTime,m.strategy); }break; case 4:{//Run Away Strategy Monster::STRATEGY::RUN_AWAY(m,fElapsedTime,m.strategy); }break; } }