|
@@ -76,6 +76,7 @@ public:
|
|
|
//town
|
|
|
virtual void recruitHero(const CGObjectInstance *townOrTavern, const CGHeroInstance *hero, const HeroTypeID & nextHero=HeroTypeID::NONE)=0;
|
|
|
virtual bool buildBuilding(const CGTownInstance *town, BuildingID buildingID)=0;
|
|
|
+ virtual bool triggerTownSpecialBuildingAction(const CGTownInstance *town, BuildingSubID::EBuildingSubID subBuildingID)=0;
|
|
|
virtual void recruitCreatures(const CGDwelling *obj, const CArmedInstance * dst, CreatureID ID, ui32 amount, si32 level=-1)=0;
|
|
|
virtual bool upgradeCreature(const CArmedInstance *obj, SlotID stackPos, CreatureID newID=CreatureID::NONE)=0; //if newID==-1 then best possible upgrade will be made
|
|
|
virtual void swapGarrisonHero(const CGTownInstance *town)=0;
|
|
@@ -182,6 +183,7 @@ public:
|
|
|
void manageHeroCostume(ObjectInstanceID hero, size_t costumeIdx, bool saveCostume) override;
|
|
|
void eraseArtifactByClient(const ArtifactLocation & al) override;
|
|
|
bool buildBuilding(const CGTownInstance *town, BuildingID buildingID) override;
|
|
|
+ bool triggerTownSpecialBuildingAction(const CGTownInstance *town, BuildingSubID::EBuildingSubID subBuildingID) override;
|
|
|
void recruitCreatures(const CGDwelling * obj, const CArmedInstance * dst, CreatureID ID, ui32 amount, si32 level=-1) override;
|
|
|
bool dismissCreature(const CArmedInstance *obj, SlotID stackPos) override;
|
|
|
bool upgradeCreature(const CArmedInstance *obj, SlotID stackPos, CreatureID newID=CreatureID::NONE) override;
|