Bazaar developer reference

OnSameBodyOfWater(CvCity *, CvCity *)

Defined in
CvGameCoreUtils.cpp, line 629
Hook name
CivHooks::OnSameBodyOfWater

Hooks

static bool BeforeOnSameBodyOfWater(CvCity* pCity1, CvCity* pCity2, bool& result);static void AfterOnSameBodyOfWater(CvCity* pCity1, CvCity* pCity2, bool& result);static bool ReplaceOnSameBodyOfWater(bool (*original)(CvCity*, CvCity*), CvCity* pCity1, CvCity* pCity2);CivRegisterBefore<CivHooks::OnSameBodyOfWater>(host, &BeforeOnSameBodyOfWater);CivRegisterAfter<CivHooks::OnSameBodyOfWater>(host, &AfterOnSameBodyOfWater);CivRegisterReplace<CivHooks::OnSameBodyOfWater>(host, &ReplaceOnSameBodyOfWater);

Code

629bool OnSameBodyOfWater(CvCity* pCity1, CvCity* pCity2)630{631	for(int iI = 0; iI < NUM_DIRECTION_TYPES; iI++)632	{633		CvPlot* pAdjacentPlot1 = plotDirection(pCity1->getX(), pCity1->getY(), ((DirectionTypes)iI));634635		if(pAdjacentPlot1 != NULL && pAdjacentPlot1->isWater())636		{637			for(int jJ = 0; jJ < NUM_DIRECTION_TYPES; jJ++)638			{639				CvPlot* pAdjacentPlot2 = plotDirection(pCity2->getX(), pCity2->getY(), ((DirectionTypes)jJ));640				if(pAdjacentPlot2 != NULL && pAdjacentPlot2->isWater())641				{642					if(pAdjacentPlot2->getArea() == pAdjacentPlot1->getArea())643					{644						return true;645					}646				}647			}648		}649	}650	return false;651}

Calls

Called by