Editor: slightly less hardcoded teleport map
This commit is contained in:
+19
-5
@@ -2,20 +2,25 @@
|
||||
|
||||
MapObject::MapObject(uint16_t terrain_id, LandType::Value terrain_type,
|
||||
uint8_t character_id, LandType::Value character_type,
|
||||
uint32_t modifier_id, uint8_t modifier_data) {
|
||||
uint32_t modifier_id, uint8_t modifier_data, const std::string &modifier_text) {
|
||||
setTerrain(terrain_id, terrain_type);
|
||||
if (character_id != 0)
|
||||
setCharacter(character_id, character_type);
|
||||
if (modifier_id != 0)
|
||||
setModifier(modifier_id, modifier_data);
|
||||
if (modifier_id != 0) {
|
||||
if(!modifier_text.empty()) {
|
||||
setModifier(modifier_id, modifier_text);
|
||||
} else {
|
||||
setModifier(modifier_id, modifier_data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MapObject::MapObject(uint16_t terrain_id, uint8_t terrain_type,
|
||||
uint8_t character_id, uint8_t character_type,
|
||||
uint32_t modifier_id, uint8_t modifier_data)
|
||||
uint32_t modifier_id, uint8_t modifier_data, const std::string &modifier_text)
|
||||
: MapObject(terrain_id, static_cast<LandType::Value>(terrain_type),
|
||||
character_id, static_cast<LandType::Value>(character_type),
|
||||
modifier_id, modifier_data) {}
|
||||
modifier_id, modifier_data, modifier_text) {}
|
||||
|
||||
void MapObject::setTerrain(uint16_t id, LandType::Value land_type) {
|
||||
terrain_id = id;
|
||||
@@ -48,6 +53,15 @@ void MapObject::setModifier(uint32_t id, uint8_t data) {
|
||||
}
|
||||
}
|
||||
|
||||
void MapObject::setModifier(uint32_t id, const std::string &text) {
|
||||
setModifier(id, 0);
|
||||
modifier_text = text;
|
||||
}
|
||||
|
||||
const std::string &MapObject::getModifierText() {
|
||||
return modifier_text;
|
||||
}
|
||||
|
||||
void MapObject::unsetTerrain() {
|
||||
setTerrain(0, 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user