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()
|
||||
{
|
||||
blockVisit = false;
|
||||
@@ -333,7 +339,8 @@ void CGEvent::serializeJsonOptions(JsonSerializeFormat & handler)
|
||||
handler.serializeBool("aIActivable", computerActivate, false);
|
||||
handler.serializeBool("humanActivable", humanActivate, true);
|
||||
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
|
||||
|
||||
@@ -43,12 +43,17 @@ protected:
|
||||
class DLL_LINKAGE CGEvent : public CGPandoraBox //event objects
|
||||
{
|
||||
public:
|
||||
using CGPandoraBox::CGPandoraBox;
|
||||
CGEvent(IGameInfoCallback *cb);
|
||||
|
||||
bool removeAfterVisit = false; //true if event is removed after occurring
|
||||
std::set<PlayerColor> availableFor; //players whom this event is available for
|
||||
bool computerActivate = false; //true if computer player can activate this event
|
||||
bool humanActivate = false; //true if human player can activate this event
|
||||
//players whom this event is available for
|
||||
std::set<PlayerColor> availableFor;
|
||||
|
||||
//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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user