void mutation_category_trait::load( JsonObject &jsobj ) { mutation_category_trait new_category; new_category.id = jsobj.get_string( "id" ); new_category.raw_name = jsobj.get_string( "name" ); new_category.threshold_mut = trait_id( jsobj.get_string( "threshold_mut" ) ); new_category.raw_mutagen_message = jsobj.get_string( "mutagen_message" ); new_category.mutagen_hunger = jsobj.get_int( "mutagen_hunger", 10 ); new_category.mutagen_thirst = jsobj.get_int( "mutagen_thirst", 10 ); new_category.mutagen_pain = jsobj.get_int( "mutagen_pain", 2 ); new_category.mutagen_fatigue = jsobj.get_int( "mutagen_fatigue", 5 ); new_category.mutagen_morale = jsobj.get_int( "mutagen_morale", 0 ); new_category.raw_iv_message = jsobj.get_string( "iv_message" ); new_category.iv_min_mutations = jsobj.get_int( "iv_min_mutations", 1 ); new_category.iv_additional_mutations = jsobj.get_int( "iv_additional_mutations", 2 ); new_category.iv_additional_mutations_chance = jsobj.get_int( "iv_additional_mutations_chance", 3 ); new_category.iv_hunger = jsobj.get_int( "iv_hunger", 10 ); new_category.iv_thirst = jsobj.get_int( "iv_thirst", 10 ); new_category.iv_pain = jsobj.get_int( "iv_pain", 2 ); new_category.iv_fatigue = jsobj.get_int( "iv_fatigue", 5 ); new_category.iv_morale = jsobj.get_int( "iv_morale", 0 ); new_category.iv_morale_max = jsobj.get_int( "iv_morale_max", 0 ); new_category.iv_sound = jsobj.get_bool( "iv_sound", false ); new_category.raw_iv_sound_message = jsobj.get_string( "iv_sound_message", translate_marker( "You inject yoursel-arRGH!" ) ); new_category.raw_iv_sound_id = jsobj.get_string( "iv_sound_id", "shout" ); new_category.raw_iv_sound_variant = jsobj.get_string( "iv_sound_variant", "default" ); new_category.iv_noise = jsobj.get_int( "iv_noise", 0 ); new_category.iv_sleep = jsobj.get_bool( "iv_sleep", false ); new_category.raw_iv_sleep_message = jsobj.get_string( "iv_sleep_message", translate_marker( "You fall asleep." ) ); new_category.iv_sleep_dur = jsobj.get_int( "iv_sleep_dur", 0 ); static_cast<void>( translate_marker_context( "memorial_male", "Crossed a threshold" ) ); static_cast<void>( translate_marker_context( "memorial_female", "Crossed a threshold" ) ); new_category.raw_memorial_message = jsobj.get_string( "memorial_message", "Crossed a threshold" ); new_category.raw_junkie_message = jsobj.get_string( "junkie_message", translate_marker( "Oh, yeah! That's the stuff!" ) ); mutation_category_traits[new_category.id] = new_category; }
// Returns pairs of message log type id and untranslated name static const std::vector<std::pair<game_message_type, const char *>> &msg_type_and_names() { static const std::vector<std::pair<game_message_type, const char *>> type_n_names = { { m_good, translate_marker_context( "message type", "good" ) }, { m_bad, translate_marker_context( "message type", "bad" ) }, { m_mixed, translate_marker_context( "message type", "mixed" ) }, { m_warning, translate_marker_context( "message type", "warning" ) }, { m_info, translate_marker_context( "message type", "info" ) }, { m_neutral, translate_marker_context( "message type", "neutral" ) }, { m_debug, translate_marker_context( "message type", "debug" ) }, }; return type_n_names; }
, sneak( jsobj.get_int( "sneak" ) ) , crime( jsobj.get_int( "crime" ) ) , cult( jsobj.get_int( "cult" ) ) , good( jsobj.get_int( "good" ) ) , size( jsobj.get_int( "size" ) ) , power( jsobj.get_int( "power" ) ) , combat_ability( jsobj.get_int( "combat_ability" ) ) , food_supply( jsobj.get_int( "food_supply" ) ) , wealth( jsobj.get_int( "wealth" ) ) { } //TODO move them to json static const std::array<std::string, 15> faction_adj_pos = { { translate_marker_context( "faction_adj", "Shining" ), translate_marker_context( "faction_adj", "Sacred" ), translate_marker_context( "faction_adj", "Golden" ), translate_marker_context( "faction_adj", "Holy" ), translate_marker_context( "faction_adj", "Righteous" ), translate_marker_context( "faction_adj", "Devoted" ), translate_marker_context( "faction_adj", "Virtuous" ), translate_marker_context( "faction_adj", "Splendid" ), translate_marker_context( "faction_adj", "Divine" ), translate_marker_context( "faction_adj", "Radiant" ), translate_marker_context( "faction_adj", "Noble" ), translate_marker_context( "faction_adj", "Venerable" ), translate_marker_context( "faction_adj", "Immaculate" ), translate_marker_context( "faction_adj", "Heroic" ), translate_marker_context( "faction_adj", "Bright" ) } }; static const std::array<std::string, 15> faction_adj_neu = {{ translate_marker_context( "faction_adj", "Original" ), translate_marker_context( "faction_adj", "Crystal" ), translate_marker_context( "faction_adj", "Metal" ), translate_marker_context( "faction_adj", "Mighty" ), translate_marker_context( "faction_adj", "Powerful" ), translate_marker_context( "faction_adj", "Solid" ), translate_marker_context( "faction_adj", "Stone" ), translate_marker_context( "faction_adj", "Firey" ), translate_marker_context( "faction_adj", "Colossal" ), translate_marker_context( "faction_adj", "Famous" ), translate_marker_context( "faction_adj", "Supreme" ), translate_marker_context( "faction_adj", "Invincible" ), translate_marker_context( "faction_adj", "Unlimited" ), translate_marker_context( "faction_adj", "Great" ), translate_marker_context( "faction_adj", "Electric" ) } }; static const std::array<std::string, 15> faction_adj_bad = {{ translate_marker_context( "faction_adj", "Poisonous" ), translate_marker_context( "faction_adj", "Deadly" ), translate_marker_context( "faction_adj", "Foul" ), translate_marker_context( "faction_adj", "Nefarious" ), translate_marker_context( "faction_adj", "Wicked" ), translate_marker_context( "faction_adj", "Vile" ), translate_marker_context( "faction_adj", "Ruinous" ), translate_marker_context( "faction_adj", "Horror" ), translate_marker_context( "faction_adj", "Devastating" ), translate_marker_context( "faction_adj", "Vicious" ), translate_marker_context( "faction_adj", "Sinister" ), translate_marker_context( "faction_adj", "Baleful" ),