mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-23 22:37:55 +02:00
Fix events on .vmap's not activating on hero visit
This commit is contained in:
@@ -275,6 +275,12 @@ void CGPandoraBox::serializeJsonOptions(JsonSerializeFormat & handler)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CGEvent::CGEvent(IGameInfoCallback * cb)
|
||||||
|
: CGPandoraBox(cb)
|
||||||
|
, availableFor(PlayerColor::ALL_PLAYERS().begin(), PlayerColor::ALL_PLAYERS().end())
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void CGEvent::init()
|
void CGEvent::init()
|
||||||
{
|
{
|
||||||
blockVisit = false;
|
blockVisit = false;
|
||||||
@@ -333,7 +339,8 @@ void CGEvent::serializeJsonOptions(JsonSerializeFormat & handler)
|
|||||||
handler.serializeBool("aIActivable", computerActivate, false);
|
handler.serializeBool("aIActivable", computerActivate, false);
|
||||||
handler.serializeBool("humanActivable", humanActivate, true);
|
handler.serializeBool("humanActivable", humanActivate, true);
|
||||||
handler.serializeBool("removeAfterVisit", removeAfterVisit, false);
|
handler.serializeBool("removeAfterVisit", removeAfterVisit, false);
|
||||||
handler.serializeIdArray("availableFor", availableFor);
|
if (handler.saving || !handler.getCurrent()["availableFor"].isNull())
|
||||||
|
handler.serializeIdArray("availableFor", availableFor); // else - keep default value
|
||||||
}
|
}
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_END
|
VCMI_LIB_NAMESPACE_END
|
||||||
|
|||||||
@@ -43,12 +43,17 @@ protected:
|
|||||||
class DLL_LINKAGE CGEvent : public CGPandoraBox //event objects
|
class DLL_LINKAGE CGEvent : public CGPandoraBox //event objects
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
using CGPandoraBox::CGPandoraBox;
|
CGEvent(IGameInfoCallback *cb);
|
||||||
|
|
||||||
bool removeAfterVisit = false; //true if event is removed after occurring
|
//players whom this event is available for
|
||||||
std::set<PlayerColor> availableFor; //players whom this event is available for
|
std::set<PlayerColor> availableFor;
|
||||||
bool computerActivate = false; //true if computer player can activate this event
|
|
||||||
bool humanActivate = false; //true if human player can activate this event
|
//true if event is removed after occurring
|
||||||
|
bool removeAfterVisit = false;
|
||||||
|
//true if computer player can activate this event
|
||||||
|
bool computerActivate = false;
|
||||||
|
//true if human player can activate this event
|
||||||
|
bool humanActivate = false;
|
||||||
|
|
||||||
template <typename Handler> void serialize(Handler &h)
|
template <typename Handler> void serialize(Handler &h)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user