mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-20 20:23:03 +02:00
Add coastVisitable property to rewardables, update schemas
This commit is contained in:
parent
503b87561e
commit
31dff8f8da
@ -99,7 +99,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"guards" : {}, //TODO
|
"guards" : { "$ref" : "#/definitions/identifierWithValueList" },
|
||||||
|
|
||||||
"limiter" : { "$ref" : "#/definitions/limiter" },
|
"limiter" : { "$ref" : "#/definitions/limiter" },
|
||||||
"message" : { "$ref" : "#/definitions/message" },
|
"message" : { "$ref" : "#/definitions/message" },
|
||||||
@ -293,14 +293,16 @@
|
|||||||
"type" : "boolean"
|
"type" : "boolean"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"coastVisitable": {
|
||||||
|
"type" : "boolean"
|
||||||
|
},
|
||||||
|
|
||||||
"visitMode": {
|
"visitMode": {
|
||||||
"enum" : [ "unlimited", "once", "hero", "bonus", "limiter", "player" ],
|
"enum" : [ "unlimited", "once", "hero", "bonus", "limiter", "player" ],
|
||||||
"type" : "string"
|
"type" : "string"
|
||||||
},
|
},
|
||||||
|
|
||||||
"visitLimiter": {
|
"visitLimiter": { "$ref" : "#/definitions/limiter" },
|
||||||
"type" : "object"
|
|
||||||
},
|
|
||||||
|
|
||||||
"selectMode": {
|
"selectMode": {
|
||||||
"enum" : [ "selectFirst", "selectPlayer", "selectRandom", "selectAll" ],
|
"enum" : [ "selectFirst", "selectPlayer", "selectRandom", "selectAll" ],
|
||||||
|
@ -176,7 +176,7 @@ public:
|
|||||||
h & fogOfWarMap;
|
h & fogOfWarMap;
|
||||||
h & static_cast<CBonusSystemNode&>(*this);
|
h & static_cast<CBonusSystemNode&>(*this);
|
||||||
|
|
||||||
if (h.version >= Handler::Version::TEAM_STATE_SCOUTED_OBJECTS)
|
if (h.version >= Handler::Version::REWARDABLE_BANKS)
|
||||||
h & scoutedObjects;
|
h & scoutedObjects;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -517,4 +517,9 @@ void CRewardableObject::initializeGuards()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CRewardableObject::isCoastVisitable() const
|
||||||
|
{
|
||||||
|
return configuration.coastVisitable;
|
||||||
|
}
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_END
|
VCMI_LIB_NAMESPACE_END
|
||||||
|
@ -76,6 +76,8 @@ public:
|
|||||||
|
|
||||||
void initObj(vstd::RNG & rand) override;
|
void initObj(vstd::RNG & rand) override;
|
||||||
|
|
||||||
|
bool isCoastVisitable() const override;
|
||||||
|
|
||||||
void initializeGuards();
|
void initializeGuards();
|
||||||
|
|
||||||
void setPropertyDer(ObjProperty what, ObjPropertyID identifier) override;
|
void setPropertyDer(ObjProperty what, ObjPropertyID identifier) override;
|
||||||
|
@ -103,6 +103,7 @@ void Rewardable::Configuration::serializeJson(JsonSerializeFormat & handler)
|
|||||||
handler.serializeStruct("resetParameters", resetParameters);
|
handler.serializeStruct("resetParameters", resetParameters);
|
||||||
handler.serializeBool("canRefuse", canRefuse);
|
handler.serializeBool("canRefuse", canRefuse);
|
||||||
handler.serializeBool("showScoutedPreview", showScoutedPreview);
|
handler.serializeBool("showScoutedPreview", showScoutedPreview);
|
||||||
|
handler.serializeBool("coastVisitable", coastVisitable);
|
||||||
handler.serializeInt("infoWindowType", infoWindowType);
|
handler.serializeInt("infoWindowType", infoWindowType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,6 +162,8 @@ struct DLL_LINKAGE Configuration
|
|||||||
/// if true - right-clicking object will show preview of object rewards
|
/// if true - right-clicking object will show preview of object rewards
|
||||||
bool showScoutedPreview = false;
|
bool showScoutedPreview = false;
|
||||||
|
|
||||||
|
bool coastVisitable = false;
|
||||||
|
|
||||||
/// if true - object info will shown in infobox (like resource pickup)
|
/// if true - object info will shown in infobox (like resource pickup)
|
||||||
EInfoWindowMode infoWindowType = EInfoWindowMode::AUTO;
|
EInfoWindowMode infoWindowType = EInfoWindowMode::AUTO;
|
||||||
|
|
||||||
@ -190,6 +192,10 @@ struct DLL_LINKAGE Configuration
|
|||||||
h & canRefuse;
|
h & canRefuse;
|
||||||
h & showScoutedPreview;
|
h & showScoutedPreview;
|
||||||
h & infoWindowType;
|
h & infoWindowType;
|
||||||
|
if (h.version >= Handler::Version::BANK_UNIT_PLACEMENT)
|
||||||
|
h & coastVisitable;
|
||||||
|
else
|
||||||
|
coastVisitable = false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -394,6 +394,7 @@ void Rewardable::Info::configureObject(Rewardable::Configuration & object, vstd:
|
|||||||
|
|
||||||
object.canRefuse = parameters["canRefuse"].Bool();
|
object.canRefuse = parameters["canRefuse"].Bool();
|
||||||
object.showScoutedPreview = parameters["showScoutedPreview"].Bool();
|
object.showScoutedPreview = parameters["showScoutedPreview"].Bool();
|
||||||
|
object.coastVisitable = parameters["coastVisitable"].Bool();
|
||||||
|
|
||||||
if(parameters["showInInfobox"].isNull())
|
if(parameters["showInInfobox"].isNull())
|
||||||
object.infoWindowType = EInfoWindowMode::AUTO;
|
object.infoWindowType = EInfoWindowMode::AUTO;
|
||||||
|
Loading…
Reference in New Issue
Block a user