mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-06 09:09:40 +02:00
GameRandomizer is now in lib, add implementation
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
|
||||
#include "../Engine/Nullkiller.h"
|
||||
#include "../pforeach.h"
|
||||
#include "../../../lib/CRandomGenerator.h"
|
||||
#include "../../../lib/callback/GameRandomizer.h"
|
||||
#include "../../../lib/logging/VisualLogger.h"
|
||||
|
||||
namespace NKAI
|
||||
@@ -211,14 +211,14 @@ void DangerHitMapAnalyzer::calculateTileOwners()
|
||||
auto addTownHero = [&](const CGTownInstance * town)
|
||||
{
|
||||
auto townHero = temporaryHeroes.emplace_back(std::make_unique<CGHeroInstance>(town->cb)).get();
|
||||
CRandomGenerator rng;
|
||||
GameRandomizer randomizer(*town->cb);
|
||||
auto visitablePos = town->visitablePos();
|
||||
|
||||
townHero->id = town->id;
|
||||
townHero->setOwner(ai->playerID); // lets avoid having multiple colors
|
||||
townHero->initHero(rng, static_cast<HeroTypeID>(0));
|
||||
townHero->initHero(randomizer, static_cast<HeroTypeID>(0));
|
||||
townHero->pos = townHero->convertFromVisitablePos(visitablePos);
|
||||
townHero->initObj(rng);
|
||||
townHero->initObj(randomizer);
|
||||
|
||||
heroTownMap[townHero] = town;
|
||||
townHeroes[townHero] = HeroRole::MAIN;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "StdInc.h"
|
||||
#include "ObjectGraphCalculator.h"
|
||||
#include "AIPathfinderConfig.h"
|
||||
#include "../../../lib/CRandomGenerator.h"
|
||||
#include "../../../lib/callback/GameRandomizer.h"
|
||||
#include "../../../lib/mapping/CMap.h"
|
||||
#include "../Engine/Nullkiller.h"
|
||||
#include "../../../lib/logging/VisualLogger.h"
|
||||
@@ -287,13 +287,13 @@ void ObjectGraphCalculator::addObjectActor(const CGObjectInstance * obj)
|
||||
{
|
||||
auto objectActor = temporaryActorHeroes.emplace_back(std::make_unique<CGHeroInstance>(obj->cb)).get();
|
||||
|
||||
CRandomGenerator rng;
|
||||
GameRandomizer randomizer(*obj->cb);
|
||||
auto visitablePos = obj->visitablePos();
|
||||
|
||||
objectActor->setOwner(ai->playerID); // lets avoid having multiple colors
|
||||
objectActor->initHero(rng, static_cast<HeroTypeID>(0));
|
||||
objectActor->initHero(randomizer, static_cast<HeroTypeID>(0));
|
||||
objectActor->pos = objectActor->convertFromVisitablePos(visitablePos);
|
||||
objectActor->initObj(rng);
|
||||
objectActor->initObj(randomizer);
|
||||
|
||||
if(cb->getTile(visitablePos)->isWater())
|
||||
{
|
||||
@@ -325,12 +325,12 @@ void ObjectGraphCalculator::addJunctionActor(const int3 & visitablePos, bool isV
|
||||
auto internalCb = temporaryActorHeroes.front()->cb;
|
||||
auto objectActor = temporaryActorHeroes.emplace_back(std::make_unique<CGHeroInstance>(internalCb)).get();
|
||||
|
||||
CRandomGenerator rng;
|
||||
GameRandomizer randomizer(*internalCb);
|
||||
|
||||
objectActor->setOwner(ai->playerID); // lets avoid having multiple colors
|
||||
objectActor->initHero(rng, static_cast<HeroTypeID>(0));
|
||||
objectActor->initHero(randomizer, static_cast<HeroTypeID>(0));
|
||||
objectActor->pos = objectActor->convertFromVisitablePos(visitablePos);
|
||||
objectActor->initObj(rng);
|
||||
objectActor->initObj(randomizer);
|
||||
|
||||
if(isVirtualBoat || ai->cb->getTile(visitablePos)->isWater())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user