| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- /*
 
-  * CArmedInstance.h, part of VCMI engine
 
-  *
 
-  * Authors: listed in file AUTHORS in main folder
 
-  *
 
-  * License: GNU General Public License v2.0 or later
 
-  * Full text of license available in license.txt file, in main folder
 
-  *
 
-  */
 
- #pragma once
 
- #include "CGObjectInstance.h"
 
- #include "../CCreatureSet.h"
 
- #include "../bonuses/CBonusProxy.h"
 
- #include "../bonuses/CBonusSystemNode.h"
 
- VCMI_LIB_NAMESPACE_BEGIN
 
- class BattleInfo;
 
- class CGameState;
 
- class JsonSerializeFormat;
 
- class DLL_LINKAGE CArmedInstance: public CGObjectInstance, public CBonusSystemNode, public CCreatureSet, public IConstBonusProvider
 
- {
 
- private:
 
- 	CCheckProxy nonEvilAlignmentMix;
 
- 	static CSelector nonEvilAlignmentMixSelector;
 
- public:
 
- 	BattleInfo *battle; //set to the current battle, if engaged
 
- 	void randomizeArmy(int type);
 
- 	virtual void updateMoraleBonusFromArmy();
 
- 	void armyChanged() override;
 
- 	//////////////////////////////////////////////////////////////////////////
 
- 	//IConstBonusProvider
 
- 	const IBonusBearer* getBonusBearer() const override;
 
- //	int valOfGlobalBonuses(CSelector selector) const; //used only for castle interface								???
 
- 	virtual CBonusSystemNode & whereShouldBeAttached(CGameState * gs);
 
- 	virtual CBonusSystemNode & whatShouldBeAttached();
 
- 	//////////////////////////////////////////////////////////////////////////
 
- 	CArmedInstance();
 
- 	CArmedInstance(bool isHypotetic);
 
- 	PlayerColor getOwner() const override
 
- 	{
 
- 		return this->tempOwner;
 
- 	}
 
- 	
 
- 	void serializeJsonOptions(JsonSerializeFormat & handler) override;
 
- 	template <typename Handler> void serialize(Handler &h, const int version)
 
- 	{
 
- 		h & static_cast<CGObjectInstance&>(*this);
 
- 		h & static_cast<CBonusSystemNode&>(*this);
 
- 		h & static_cast<CCreatureSet&>(*this);
 
- 	}
 
- };
 
- VCMI_LIB_NAMESPACE_END
 
 
  |