//========================================================= // Crea un jefe. //========================================================= void CDirector_Manager::SpawnBoss() { // Actualizamos los nodos candidatos para la creación. UpdateNodes(); // ¡No hay nodos! if ( SpawnNodes.Count() <= 0 ) return; for ( int i = 0; i < MAX_TRIES; ++i ) { // Seleccionamos un nodo candidato al azar. CAI_Node *pNode = GetRandomNode(); // El nodo no existe. if ( !pNode ) continue; // Obtenemos la ubicación del nodo. Vector vecOrigin = pNode->GetPosition(HULL_MEDIUM_TALL); bool bSpawn = AddBoss(vecOrigin); // El hijo no se ha podido crear. if ( !bSpawn ) continue; return; } // No se pudo crear al Jefe, intentarlo en otro momento. Director()->BossPendient = true; }
//Spawn Player void snDungeon2::SpawnPlayer() { //Add Player int random = rand() % 4; if (random == 0) App->game->player->SetPosition({ 1442, 1530 }); else if (random == 1) App->game->player->SetPosition({ 120, 2169 }); else if (random == 2) App->game->player->SetPosition({ -1262, 3101 }); else if (random == 3) App->game->player->SetPosition({ -2340, 1961 }); //Add Boss int random2 = rand() % 4; while (random2 == random) { random2 = rand() % 4; } Entity* to_add = NULL; iPoint pos; if (random2 == 0) { pos = { 1442, 1530 }; to_add = AddBoss(pos); entity_list.push_back(to_add); } else if (random2 == 1) { pos = { 120, 2169 }; to_add = AddBoss(pos); entity_list.push_back(to_add); } else if (random2 == 2) { pos = { -1262, 3101 }; to_add = AddBoss(pos); entity_list.push_back(to_add); } else if (random2 == 3) { pos = { -2340, 1961 }; to_add = AddBoss(pos); entity_list.push_back(to_add); } //Add Enemies 1 if (random != 0 && random2 != 0) { pos = { 109, 40 }; for (int i = 0; i < 3; i++) { for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.y += 3; } pos.x += 2; pos.y = 40; } } if (random != 1 && random2 != 1) { pos = { 105, 102 }; for (int i = 0; i < 3; i++) { for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.y += 3; } pos.x += 2; pos.y = 102; } } if (random != 2 && random2 != 2) { pos = { 120, 182 }; for (int i = 0; i < 3; i++) { for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.y += 3; } pos.x += 2; pos.y = 182; } } if (random != 3 && random2 != 3) { pos = { 35, 153 }; for (int i = 0; i < 3; i++) { for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.y += 3; } pos.x += 2; pos.y = 153; } } //Add Enemies 2 pos = { 109, 123 }; for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.y += 4; } pos.x += 3; pos.y = 123; } pos = { 117, 153 }; for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.y += 4; } pos.x += 3; pos.y = 153; } pos = { 62, 182 }; for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.y += 4; } pos.x += 3; pos.y = 182; } pos = { 178, 46 }; for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.y += 4; } pos.x += 3; pos.y = 46; } //Add Enemies 3 //Y lines pos = { 109, 67 }; for (int i = 0; i < 3; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.y += 4; } pos = { 61, 142 }; for (int i = 0; i < 3; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.y += 4; } pos = { 185, 70 }; for (int i = 0; i < 3; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.y += 4; } //X lines pos = { 87, 177 }; for (int i = 0; i < 3; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } pos = { 191, 125 }; for (int i = 0; i < 3; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } pos = { 144, 33 }; for (int i = 0; i < 3; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } //Add Enemies 4 pos = { 77, 121 }; for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } pos = { 79, 124 }; to_add = AddEnemy(pos); entity_list.push_back(to_add); pos = { 95, 155 }; for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } pos = { 97, 158 }; to_add = AddEnemy(pos); entity_list.push_back(to_add); pos = { 142, 155 }; for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } pos = { 144, 158 }; to_add = AddEnemy(pos); entity_list.push_back(to_add); pos = { 166, 141 }; for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } pos = { 168, 144 }; to_add = AddEnemy(pos); entity_list.push_back(to_add); pos = { 153, 105 }; for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } pos = { 155, 108 }; to_add = AddEnemy(pos); entity_list.push_back(to_add); pos = { 178, 105 }; for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } pos = { 180, 108 }; to_add = AddEnemy(pos); entity_list.push_back(to_add); pos = { 150, 73 }; for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } pos = { 152, 76 }; to_add = AddEnemy(pos); entity_list.push_back(to_add); pos = { 68, 57 }; for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } pos = { 70, 60 }; to_add = AddEnemy(pos); entity_list.push_back(to_add); pos = { 89, 35 }; for (int i = 0; i < 2; i++) { to_add = AddEnemy(pos); entity_list.push_back(to_add); pos.x += 3; } pos = { 91, 38 }; to_add = AddEnemy(pos); entity_list.push_back(to_add); //Items DropItem({ 380, 3118 }); DropItem({ 1402, 2270 }); DropItem({ 61, 1265 }); DropItem({ -2182, 2524 }); DropItem({ -701, 2083 }); DropItem({ -1379, 2543 }); }