virtual bool objectStart(const std::string &name) { switch(otype.back()) { case OT_RACES: color = color4(1,1,1); grow = 1.0f; strength = 1.0f; linkFactor = 1.0f; return true; case OT_PLANET: case OT_BLACK_HOLE: position = vec2(0,0); radius = 0.5f; rich = 1.0f; trees.clear(); return true; case OT_TREES: race = 0; size = 0; dir = randVec2(); return true; default: idx = 0; return true; } return false; }
Vec2 MonsterPart::getBulletDierection() { Vec2 toEnermy = parent->enermy->GetPosition() - parent->GetPosition(); toEnermy.normalize(); Vec2 dir = toEnermy * 2 + randVec2(); dir.normalize(); return dir; }
squad createSquad(aiTeam _t) { squad r; r.m_team = _t; r.m_regroupDist = randNum(1000.0f, 2000.0f); r.m_size = 0; r.m_strength = 0.0f; r.m_confidence = 0.0f; r.m_max_size = rand() % 20 + 40; r.m_squadGoal = GOAL_CONGREGATE; if(_t == TEAM_PLAYER) r.m_targetPos = vec3(); else r.m_targetPos = tovec3( randVec2(2000.0f, 100000.0f) ); r.m_pAveragePos = r.m_targetPos; r.m_averagePos = vec3(); r.m_averageVel = vec3(); return r; }