From 52a776f0bfb0ed45fd43e5c07a3078dc338e1c56 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sat, 22 Feb 2020 09:03:10 -0500 Subject: [PATCH 01/71] Disable grenade_lethality test for sanitizer CI The Travis CI test using the sanitizers is *still* timing out sometimes, so disable the next-slowest test. This one should save about 90 seconds. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 56bc66740c31b..ed0aff6312e6d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -84,7 +84,7 @@ jobs: packages: ["g++-8", "g++-8-multilib", "libc6-dbg", "libc6-dbg:i386", "libsdl2-dev", "libsdl2-ttf-dev", "libsdl2-image-dev", "libsdl2-mixer-dev", "astyle"] sources: *apt_sources - - env: CLANG=clang++-8 SANITIZE=address,undefined EXTRA_TEST_OPTS="~[.] ~vehicle_efficiency ~vehicle_drag ~starting_items ~starve_test" + - env: CLANG=clang++-8 SANITIZE=address,undefined EXTRA_TEST_OPTS="~[.] ~vehicle_efficiency ~vehicle_drag ~starting_items ~starve_test ~grenade_lethality" name: "Clang 8 Make build with sanitizers enabled, but long-running tests disabled" compiler: clang addons: &clang8 From ed471ccea6aec01334d95eed48590f793a3f7283 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sat, 22 Feb 2020 13:13:54 -0500 Subject: [PATCH 02/71] Disable all starve tests on clang sanitizer test Made a test category so I didn't need to disable them individually. --- .travis.yml | 2 +- tests/stomach_contents_test.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index ed0aff6312e6d..aad4df4348fea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -84,7 +84,7 @@ jobs: packages: ["g++-8", "g++-8-multilib", "libc6-dbg", "libc6-dbg:i386", "libsdl2-dev", "libsdl2-ttf-dev", "libsdl2-image-dev", "libsdl2-mixer-dev", "astyle"] sources: *apt_sources - - env: CLANG=clang++-8 SANITIZE=address,undefined EXTRA_TEST_OPTS="~[.] ~vehicle_efficiency ~vehicle_drag ~starting_items ~starve_test ~grenade_lethality" + - env: CLANG=clang++-8 SANITIZE=address,undefined EXTRA_TEST_OPTS="~[.] ~vehicle_efficiency ~vehicle_drag ~starting_items ~[starve] ~grenade_lethality" name: "Clang 8 Make build with sanitizers enabled, but long-running tests disabled" compiler: clang addons: &clang8 diff --git a/tests/stomach_contents_test.cpp b/tests/stomach_contents_test.cpp index 6b14e9993eee3..0ea0d8dcf2189 100644 --- a/tests/stomach_contents_test.cpp +++ b/tests/stomach_contents_test.cpp @@ -86,7 +86,7 @@ static void eat_all_nutrients( player &p ) // how long does it take to starve to death // player does not thirst or tire or require vitamins -TEST_CASE( "starve_test" ) +TEST_CASE( "starve_test", "[starve]" ) { // change this bool when editing the test const bool print_tests = false; @@ -116,7 +116,7 @@ TEST_CASE( "starve_test" ) // how long does it take to starve to death with extreme metabolism // player does not thirst or tire or require vitamins -TEST_CASE( "starve_test_hunger3" ) +TEST_CASE( "starve_test_hunger3", "[starve]" ) { // change this bool when editing the test const bool print_tests = false; @@ -149,7 +149,7 @@ TEST_CASE( "starve_test_hunger3" ) } // does eating enough food per day keep you alive -TEST_CASE( "all_nutrition_starve_test" ) +TEST_CASE( "all_nutrition_starve_test", "[starve]" ) { // change this bool when editing the test const bool print_tests = false; From 07c7ec068488e003bb453e05a39877041ba030c2 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sat, 22 Feb 2020 13:20:57 -0500 Subject: [PATCH 03/71] Disable vehicle efficiency on the gcc asan build Another test that's slow on a CI run that's sometimes taking too long. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index aad4df4348fea..65bb25de8faeb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -75,7 +75,7 @@ jobs: packages: ["g++-5=5.3.1-14ubuntu2", "libstdc++-5-dev=5.3.1-14ubuntu2", "gcc-5=5.3.1-14ubuntu2", "gcc-5-base=5.3.1-14ubuntu2", "cpp-5=5.3.1-14ubuntu2", "libgcc-5-dev=5.3.1-14ubuntu2", "libasan2=5.3.1-14ubuntu2", "libmpx0=5.3.1-14ubuntu2"] sources: [*apt_sources] - - env: COMPILER=g++-8 CXXFLAGS='-Wno-implicit-fallthrough' TILES=1 SOUND=1 SANITIZE=address + - env: COMPILER=g++-8 CXXFLAGS='-Wno-implicit-fallthrough' TILES=1 SOUND=1 SANITIZE=address EXTRA_TEST_OPTS="~[.] ~vehicle_efficiency" name: "GCC 8 Make build with Tiles, Sound, astyle and address sanitization" dist: bionic compiler: gcc From d1b2f3328d24a9991857bab59da0a4eb6ab9a362 Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Sun, 23 Feb 2020 05:07:33 +0000 Subject: [PATCH 04/71] Supress searching ground for ammo when mounted. --- src/player.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/player.cpp b/src/player.cpp index 38d6012990b17..93486dadbfd3c 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -3042,8 +3042,9 @@ bool player::list_ammo( const item &base, std::vector &ammo } bool ammo_match_found = false; + int ammo_search_range = is_mounted() ? -1 : 1; for( const auto e : opts ) { - for( item_location &ammo : find_ammo( *e, empty ) ) { + for( item_location &ammo : find_ammo( *e, empty, ammo_search_range ) ) { // don't try to unload frozen liquids if( ammo->is_watertight_container() && ammo->contents_made_of( SOLID ) ) { continue; From 49877426cedcb73c7c852c2e4b61dd0320dc5288 Mon Sep 17 00:00:00 2001 From: Eric <52087122+Ramza13@users.noreply.github.com> Date: Sun, 23 Feb 2020 11:50:56 -0500 Subject: [PATCH 05/71] Moved more string consts into single file (#38237) --- src/action.cpp | 2 +- src/activity_handlers.cpp | 2 +- src/activity_item_handling.cpp | 22 ++-- src/advanced_inv_area.cpp | 7 +- src/avatar_action.cpp | 4 +- src/cata_string_consts.h | 43 +++++++- src/cata_tiles.cpp | 2 +- src/character.cpp | 8 +- src/clzones.cpp | 94 ++++++++--------- src/crafting.cpp | 8 +- src/editmap.cpp | 2 +- src/faction_camp.cpp | 2 +- src/game.cpp | 34 +++--- src/handle_action.cpp | 24 ++--- src/inventory.cpp | 16 +-- src/inventory_ui.cpp | 6 +- src/item.cpp | 2 +- src/item_location.cpp | 2 +- src/lightmap.cpp | 2 +- src/map.cpp | 28 ++--- src/map_extras.cpp | 4 +- src/monmove.cpp | 4 +- src/npcmove.cpp | 12 +-- src/pickup.cpp | 4 +- src/player.cpp | 8 +- src/ranged.cpp | 2 +- src/savegame_json.cpp | 12 +-- src/sdltiles.cpp | 10 +- src/turret.cpp | 2 +- src/veh_interact.cpp | 6 +- src/veh_type.cpp | 2 +- src/vehicle.cpp | 178 ++++++++++++++++---------------- src/vehicle_move.cpp | 2 +- src/vehicle_use.cpp | 91 ++++++++-------- src/visitable.cpp | 4 +- tests/vehicle_test.cpp | 3 +- tests/visitable_remove_test.cpp | 3 +- 37 files changed, 353 insertions(+), 304 deletions(-) diff --git a/src/action.cpp b/src/action.cpp index 451974f278acf..f0597db91ff64 100644 --- a/src/action.cpp +++ b/src/action.cpp @@ -650,7 +650,7 @@ static bool can_pickup_at( const tripoint &p ) bool veh_has_items = false; const optional_vpart_position vp = g->m.veh_at( p ); if( vp ) { - const int cargo_part = vp->vehicle().part_with_feature( vp->part_index(), "CARGO", false ); + const int cargo_part = vp->vehicle().part_with_feature( vp->part_index(), flag_CARGO, false ); veh_has_items = cargo_part >= 0 && !vp->vehicle().get_items( cargo_part ).empty(); } return g->m.has_items( p ) || veh_has_items; diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index f170f6c0be48d..05c4a082744b2 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -2362,7 +2362,7 @@ struct weldrig_hack { return false; } - part = veh->part_with_feature( part, "WELDRIG", true ); + part = veh->part_with_feature( part, flag_WELDRIG, true ); return part >= 0; } diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp index 152b41b9c6754..e542aef712239 100644 --- a/src/activity_item_handling.cpp +++ b/src/activity_item_handling.cpp @@ -326,7 +326,8 @@ void put_into_vehicle_or_drop( Character &c, item_drop_reason reason, const std: void put_into_vehicle_or_drop( Character &c, item_drop_reason reason, const std::list &items, const tripoint &where, bool force_ground ) { - const cata::optional vp = g->m.veh_at( where ).part_with_feature( "CARGO", false ); + const cata::optional vp = g->m.veh_at( where ).part_with_feature( flag_CARGO, + false ); if( vp && !force_ground ) { put_into_vehicle( c, reason, items, vp->vehicle(), vp->part_index() ); return; @@ -883,7 +884,7 @@ static int move_cost( const item &it, const tripoint &src, const tripoint &dest tripoint cart_position = g->u.pos() + g->u.grab_point; if( const cata::optional vp = g->m.veh_at( - cart_position ).part_with_feature( "CARGO", false ) ) { + cart_position ).part_with_feature( flag_CARGO, false ) ) { auto veh = vp->vehicle(); auto vstor = vp->part_index(); auto capacity = veh.free_volume( vstor ); @@ -1216,7 +1217,7 @@ static bool are_requirements_nearby( const std::vector &loot_spots, temp_inv += elem2; } if( !in_loot_zones ) { - if( const cata::optional vp = g->m.veh_at( elem ).part_with_feature( "CARGO", + if( const cata::optional vp = g->m.veh_at( elem ).part_with_feature( flag_CARGO, false ) ) { vehicle &src_veh = vp->vehicle(); int src_part = vp->part_index(); @@ -1232,7 +1233,7 @@ static bool are_requirements_nearby( const std::vector &loot_spots, const optional_vpart_position vp = g->m.veh_at( elem ); if( vp ) { vehicle &veh = vp->vehicle(); - const cata::optional weldpart = vp.part_with_feature( "WELDRIG", true ); + const cata::optional weldpart = vp.part_with_feature( flag_WELDRIG, true ); if( weldpart ) { item welder( "welder", 0 ); welder.charges = veh.fuel_left( fuel_type_battery, true ); @@ -1897,7 +1898,7 @@ static bool tidy_activity( player &p, const tripoint &src_loc, vehicle *dest_veh; int dest_part; if( const cata::optional vp = g->m.veh_at( - loot_src_lot ).part_with_feature( "CARGO", + loot_src_lot ).part_with_feature( flag_CARGO, false ) ) { dest_veh = &vp->vehicle(); dest_part = vp->part_index(); @@ -1937,7 +1938,7 @@ static void fetch_activity( player &p, const tripoint &src_loc, auto items_there = g->m.i_at( src_loc ); vehicle *src_veh = nullptr; int src_part = 0; - if( const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( "CARGO", + if( const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( flag_CARGO, false ) ) { src_veh = &vp->vehicle(); src_part = vp->part_index(); @@ -2142,7 +2143,7 @@ void activity_on_turn_move_loot( player_activity &act, player &p ) } //nothing to sort? - const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( "CARGO", + const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( flag_CARGO, false ); if( ( !vp || vp->vehicle().get_items( vp->part_index() ).empty() ) && g->m.i_at( src_loc ).empty() ) { @@ -2213,7 +2214,7 @@ void activity_on_turn_move_loot( player_activity &act, player &p ) //Check source for cargo part //map_stack and vehicle_stack are different types but inherit from item_stack // TODO: use one for loop - if( const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( "CARGO", + if( const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( flag_CARGO, false ) ) { src_veh = &vp->vehicle(); src_part = vp->part_index(); @@ -2258,8 +2259,9 @@ void activity_on_turn_move_loot( player_activity &act, player &p ) const tripoint &dest_loc = g->m.getlocal( dest ); //Check destination for cargo part - if( const cata::optional vp = g->m.veh_at( dest_loc ).part_with_feature( "CARGO", - false ) ) { + if( const cata::optional vp = g->m.veh_at( dest_loc ).part_with_feature( + flag_CARGO, + false ) ) { dest_veh = &vp->vehicle(); dest_part = vp->part_index(); } else { diff --git a/src/advanced_inv_area.cpp b/src/advanced_inv_area.cpp index 2890677790bef..8e3c3e77cc163 100644 --- a/src/advanced_inv_area.cpp +++ b/src/advanced_inv_area.cpp @@ -40,6 +40,7 @@ #include #include #include +#include "cata_string_consts.h" int advanced_inv_area::get_item_count() const { @@ -80,7 +81,7 @@ void advanced_inv_area::init() off = g->u.grab_point; // Reset position because offset changed pos = g->u.pos() + off; - if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", + if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( flag_CARGO, false ) ) { veh = &vp->vehicle(); vstor = vp->part_index(); @@ -122,7 +123,7 @@ void advanced_inv_area::init() case AIM_NORTH: case AIM_NORTHEAST: { const cata::optional vp = - g->m.veh_at( pos ).part_with_feature( "CARGO", false ); + g->m.veh_at( pos ).part_with_feature( flag_CARGO, false ); if( vp ) { veh = &vp->vehicle(); vstor = vp->part_index(); @@ -398,7 +399,7 @@ void advanced_inv_area::set_container_position() // update the absolute position pos = g->u.pos() + off; // update vehicle information - if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", + if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( flag_CARGO, false ) ) { veh = &vp->vehicle(); vstor = vp->part_index(); diff --git a/src/avatar_action.cpp b/src/avatar_action.cpp index 3fbb612f360f2..9bd38c5ea9c0c 100644 --- a/src/avatar_action.cpp +++ b/src/avatar_action.cpp @@ -304,7 +304,7 @@ bool avatar_action::move( avatar &you, map &m, int dx, int dy, int dz ) } else if( veh1 != veh0 ) { add_msg( m_info, _( "There is another vehicle in the way." ) ); return false; - } else if( !vp1.part_with_feature( "BOARDABLE", true ) ) { + } else if( !vp1.part_with_feature( flag_BOARDABLE, true ) ) { add_msg( m_info, _( "That part of the vehicle is currently unsafe." ) ); return false; } @@ -679,7 +679,7 @@ bool avatar_action::fire_check( avatar &you, const map &m, const targeting_data } if( mode_map.second->has_flag( flag_MOUNTED_GUN ) ) { - const bool v_mountable = static_cast( m.veh_at( you.pos() ).part_with_feature( "MOUNTABLE", + const bool v_mountable = static_cast( m.veh_at( you.pos() ).part_with_feature( flag_MOUNTABLE, true ) ); bool t_mountable = m.has_flag_ter_or_furn( flag_MOUNTABLE, you.pos() ); if( !t_mountable && !v_mountable ) { diff --git a/src/cata_string_consts.h b/src/cata_string_consts.h index 775eba95b9e54..3410037bdc561 100644 --- a/src/cata_string_consts.h +++ b/src/cata_string_consts.h @@ -926,6 +926,7 @@ static const std::string flag_ACID_IMMUNE( "ACID_IMMUNE" ); static const std::string flag_ACT_IN_FIRE( "ACT_IN_FIRE" ); static const std::string flag_ACT_ON_RANGED_HIT( "ACT_ON_RANGED_HIT" ); static const std::string flag_ACTIVE_CLOAKING( "ACTIVE_CLOAKING" ); +static const std::string flag_ADVANCED_PLANTER( "ADVANCED_PLANTER" ); static const std::string flag_AISLE( "AISLE" ); static const std::string flag_ALARMCLOCK( "ALARMCLOCK" ); static const std::string flag_ALARMED( "ALARMED" ); @@ -941,6 +942,7 @@ static const std::string flag_ALLOW_OUTSIDE( "ALLOW_OUTSIDE" ); static const std::string flag_ALLOW_ROTTEN( "ALLOW_ROTTEN" ); static const std::string flag_ALLOWS_NATURAL_ATTACKS( "ALLOWS_NATURAL_ATTACKS" ); static const std::string flag_ALLOWS_REMOTE_USE( "ALLOWS_REMOTE_USE" ); +static const std::string flag_ALTERNATOR( "ALTERNATOR" ); static const std::string flag_ALWAYS_TWOHAND( "ALWAYS_TWOHAND" ); static const std::string flag_ANESTHESIA( "ANESTHESIA" ); static const std::string flag_ANIMAL_CTRL( "ANIMAL_CTRL" ); @@ -948,6 +950,7 @@ static const std::string flag_ARMOR( "ARMOR" ); static const std::string flag_AURA( "AURA" ); static const std::string flag_AUT_START( "AUT_START" ); static const std::string flag_auto_wield( "auto_wield" ); +static const std::string flag_AUTOCLAVE( "AUTOCLAVE" ); static const std::string flag_AUTODOC( "AUTODOC" ); static const std::string flag_AUTODOC_COUCH( "AUTODOC_COUCH" ); static const std::string flag_AUTOPILOT( "AUTOPILOT" ); @@ -963,6 +966,7 @@ static const std::string flag_BED( "BED" ); static const std::string flag_BEEPER( "BEEPER" ); static const std::string flag_BELTABLE( "BELTABLE" ); static const std::string flag_BELTED( "BELTED" ); +static const std::string flag_BIKE_RACK_VEH( "BIKE_RACK_VEH" ); static const std::string flag_BIO_IMMUNE( "BIO_IMMUNE" ); static const std::string flag_BIPOD( "BIPOD" ); static const std::string flag_BIRD( "BIRD" ); @@ -986,6 +990,7 @@ static const std::string flag_CAN_SIT( "CAN_SIT" ); static const std::string flag_CANNIBAL( "CANNIBAL" ); static const std::string flag_CANNIBALISM( "CANNIBALISM" ); static const std::string flag_CANT_HEAL_EVERYONE( "CANT_HEAL_EVERYONE" ); +static const std::string flag_CAPTURE_MONSTER_VEH( "CAPTURE_MONSTER_VEH" ); static const std::string flag_CARGO( "CARGO" ); static const std::string flag_CARGO_LOCKING( "CARGO_LOCKING" ); static const std::string flag_CARNIVORE_OK( "CARNIVORE_OK" ); @@ -1013,7 +1018,10 @@ static const std::string flag_CONTROLS( "CONTROLS" ); static const std::string flag_COOKED( "COOKED" ); static const std::string flag_COOLER( "COOLER" ); static const std::string flag_CORPSE( "CORPSE" ); +static const std::string flag_COVERED( "COVERED" ); static const std::string flag_CRAFTRIG( "CRAFTRIG" ); +static const std::string flag_CRASH_TERRAIN_AROUND( "CRASH_TERRAIN_AROUND" ); +static const std::string flag_CTRL_ELECTRONIC( "CTRL_ELECTRONIC" ); static const std::string flag_CURRENT( "CURRENT" ); static const std::string flag_CURTAIN( "CURTAIN" ); static const std::string flag_CUT_IMMUNE( "CUT_IMMUNE" ); @@ -1030,6 +1038,7 @@ static const std::string flag_DIGGABLE_CAN_DEEPEN( "DIGGABLE_CAN_DEEPEN" ); static const std::string flag_DIMENSIONAL_ANCHOR( "DIMENSIONAL_ANCHOR" ); static const std::string flag_DIRTY( "DIRTY" ); static const std::string flag_DISABLE_SIGHTS( "DISABLE_SIGHTS" ); +static const std::string flag_DISHWASHER( "DISHWASHER" ); static const std::string flag_DONT_REMOVE_ROTTEN( "DONT_REMOVE_ROTTEN" ); static const std::string flag_DOOR( "DOOR" ); static const std::string flag_DOOR_MOTOR( "DOOR_MOTOR" ); @@ -1038,6 +1047,7 @@ static const std::string flag_DURABLE_MELEE( "DURABLE_MELEE" ); static const std::string flag_E_ALTERNATOR( "E_ALTERNATOR" ); static const std::string flag_E_COLD_START( "E_COLD_START" ); static const std::string flag_E_COMBUSTION( "E_COMBUSTION" ); +static const std::string flag_E_HEATER( "E_HEATER" ); static const std::string flag_E_HIGHER_SKILL( "E_HIGHER_SKILL" ); static const std::string flag_E_STARTS_INSTANTLY( "E_STARTS_INSTANTLY" ); static const std::string flag_EASY_DECONSTRUCT( "EASY_DECONSTRUCT" ); @@ -1100,7 +1110,9 @@ static const std::string flag_FORAGE_POISON( "FORAGE_POISON" ); static const std::string flag_FORGE( "FORGE" ); static const std::string flag_FRAGILE( "FRAGILE" ); static const std::string flag_FRAGILE_MELEE( "FRAGILE_MELEE" ); +static const std::string flag_FREEZER( "FREEZER" ); static const std::string flag_FREEZERBURN( "FREEZERBURN" ); +static const std::string flag_FRIDGE( "FRIDGE" ); static const std::string flag_FROZEN( "FROZEN" ); static const std::string flag_FUEL_TANK( "FUEL_TANK" ); static const std::string flag_FULL_BOARD( "FULL_BOARD" ); @@ -1144,6 +1156,7 @@ static const std::string flag_IRREMOVABLE( "IRREMOVABLE" ); static const std::string flag_IS_ARMOR( "IS_ARMOR" ); static const std::string flag_IS_PET_ARMOR( "IS_PET_ARMOR" ); static const std::string flag_IS_UPS( "IS_UPS" ); +static const std::string flag_KILN( "KILN" ); static const std::string flag_KITCHEN( "KITCHEN" ); static const std::string flag_LADDER( "LADDER" ); static const std::string flag_LEAK_ALWAYS( "LEAK_ALWAYS" ); @@ -1279,6 +1292,7 @@ static const std::string flag_RAMP_END( "RAMP_END" ); static const std::string flag_RAW( "RAW" ); static const std::string flag_REACH_ATTACK( "REACH_ATTACK" ); static const std::string flag_REACH3( "REACH3" ); +static const std::string flag_REAPER( "REAPER" ); static const std::string flag_REBREATHER( "REBREATHER" ); static const std::string flag_RECHARGE( "RECHARGE" ); static const std::string flag_REDUCED_BASHING( "REDUCED_BASHING" ); @@ -1303,6 +1317,7 @@ static const std::string flag_SAFECRACK( "SAFECRACK" ); static const std::string flag_SALT_WATER( "SALT_WATER" ); static const std::string flag_SAPIOVORE( "SAPIOVORE" ); static const std::string flag_SCEN_ONLY( "SCEN_ONLY" ); +static const std::string flag_SCOOP( "SCOOP" ); static const std::string flag_SEALED( "SEALED" ); static const std::string flag_SEAT( "SEAT" ); static const std::string flag_SEATBELT( "SEATBELT" ); @@ -1315,6 +1330,15 @@ static const std::string flag_SHORT( "SHORT" ); static const std::string flag_SHRUB( "SHRUB" ); static const std::string flag_SIGN( "SIGN" ); static const std::string flag_SILENT( "SILENT" ); +static const std::string flag_MULTISQUARE( "MULTISQUARE" ); +static const std::string flag_CONE_LIGHT( "CONE_LIGHT" ); +static const std::string flag_CIRCLE_LIGHT( "CIRCLE_LIGHT" ); +static const std::string flag_AISLE_LIGHT( "AISLE_LIGHT" ); +static const std::string flag_ROCKWHEEL( "ROCKWHEEL" ); +static const std::string flag_PLOW( "PLOW" ); +static const std::string flag_ROADHEAD( "ROADHEAD" ); +static const std::string flag_DOME_LIGHT( "DOME_LIGHT" ); +static const std::string flag_ATOMIC_LIGHT( "ATOMIC_LIGHT" ); static const std::string flag_SKINNED( "SKINNED" ); static const std::string flag_SKINTIGHT( "SKINTIGHT" ); static const std::string flag_SLEEP_AID( "SLEEP_AID" ); @@ -1352,9 +1376,11 @@ static const std::string flag_TIE_UP( "TIE_UP" ); static const std::string flag_TINDER( "TINDER" ); static const std::string flag_TINY( "TINY" ); static const std::string flag_TOBACCO( "TOBACCO" ); +static const std::string flag_TOWEL( "TOWEL" ); static const std::string flag_TRACK( "TRACK" ); static const std::string flag_TRACKED( "TRACKED" ); static const std::string flag_TRADER_AVOID( "TRADER_AVOID" ); +static const std::string flag_TRANSFORM_TERRAIN( "TRANSFORM_TERRAIN" ); static const std::string flag_TRANSLOCATOR( "TRANSLOCATOR" ); static const std::string flag_TRANSPARENT( "TRANSPARENT" ); static const std::string flag_TREE( "TREE" ); @@ -1385,6 +1411,7 @@ static const std::string flag_VEHICLE( "VEHICLE" ); static const std::string flag_VISION( "VISION" ); static const std::string flag_WAIST( "WAIST" ); static const std::string flag_WALL( "WALL" ); +static const std::string flag_WASHING_MACHINE( "WASHING_MACHINE" ); static const std::string flag_WATCH( "WATCH" ); static const std::string flag_WATER_EXTINGUISH( "WATER_EXTINGUISH" ); static const std::string flag_WATER_FRIENDLY( "WATER_FRIENDLY" ); @@ -1412,7 +1439,6 @@ static const std::string flag_WRITE_MESSAGE( "WRITE_MESSAGE" ); static const std::string flag_YOUNG( "YOUNG" ); static const std::string flag_ZOOM( "ZOOM" ); - static const skill_id skill_archery( "archery" ); static const skill_id skill_barter( "barter" ); static const skill_id skill_bashing( "bashing" ); @@ -1473,6 +1499,19 @@ static const zone_type_id zone_type_LOOT_WOOD( "LOOT_WOOD" ); static const zone_type_id zone_type_NO_AUTO_PICKUP( "NO_AUTO_PICKUP" ); static const zone_type_id zone_type_VEHICLE_DECONSTRUCT( "VEHICLE_DECONSTRUCT" ); static const zone_type_id zone_type_VEHICLE_REPAIR( "VEHICLE_REPAIR" ); +static const zone_type_id zone_type_LOOT_CUSTOM( "LOOT_CUSTOM" ); +static const zone_type_id zone_type_NO_NPC_PICKUP( "NO_NPC_PICKUP" ); +static const zone_type_id zone_type_NPC_RETREAT( "NPC_RETREAT" ); +static const zone_type_id zone_type_NPC_NO_INVESTIGATE( "NPC_NO_INVESTIGATE" ); +static const zone_type_id zone_type_NPC_INVESTIGATE_ONLY( "NPC_INVESTIGATE_ONLY" ); +static const zone_type_id zone_type_SOURCE_FIREWOOD( "SOURCE_FIREWOOD" ); +static const zone_type_id zone_type_VEHICLE_PATROL( "VEHICLE_PATROL" ); +static const zone_type_id zone_type_CAMP_STORAGE( "CAMP_STORAGE" ); +static const zone_type_id zone_type_LOOT_PDRINK( "LOOT_PDRINK" ); +static const zone_type_id zone_type_LOOT_DRINK( "LOOT_DRINK" ); +static const zone_type_id zone_type_LOOT_PFOOD( "LOOT_PFOOD" ); +static const zone_type_id zone_type_LOOT_FOOD( "LOOT_FOOD" ); +static const zone_type_id zone_type_CAMP_FOOD( "CAMP_FOOD" ); static const zone_type_id z_camp_food( "CAMP_FOOD" ); static const zone_type_id z_camp_storage( "CAMP_STORAGE" ); @@ -1487,7 +1526,7 @@ static const itype_id fuel_type_animal( "animal" ); static const itype_id fuel_type_battery( "battery" ); static const itype_id fuel_type_muscle( "muscle" ); static const itype_id fuel_type_none( "null" ); -static const itype_id fuel_type_plutonium_cell( "plut_cell" ); +static const itype_id fuel_type_plut_cell( "plut_cell" ); static const itype_id fuel_type_sun_light( "sunlight" ); static const itype_id fuel_type_water( "water" ); static const itype_id fuel_type_water_clean( "water_clean" ); diff --git a/src/cata_tiles.cpp b/src/cata_tiles.cpp index 0ae953c69f1a3..4d0228049613b 100644 --- a/src/cata_tiles.cpp +++ b/src/cata_tiles.cpp @@ -2600,7 +2600,7 @@ bool cata_tiles::draw_vpart( const tripoint &p, lit_level ll, int &height_3d, g->u.memorize_tile( g->m.getabs( p ), vpname, subtile, rotation ); } if( !overridden ) { - const cata::optional cargopart = vp.part_with_feature( "CARGO", true ); + const cata::optional cargopart = vp.part_with_feature( flag_CARGO, true ); const bool draw_highlight = cargopart && !veh.get_items( cargopart->part_index() ).empty(); const bool ret = draw_from_id_string( vpname, C_VEHICLE_PART, empty_string, p, subtile, rotation, ll, nv_goggles_activated, height_3d ); diff --git a/src/character.cpp b/src/character.cpp index 574d220401d1b..bd9844298ed85 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -4432,7 +4432,7 @@ void Character::update_bodytemp() const bool has_climate_control = in_climate_control(); const bool use_floor_warmth = can_use_floor_warmth(); const furn_id furn_at_pos = g->m.furn( pos() ); - const cata::optional boardable = vp.part_with_feature( "BOARDABLE", true ); + const cata::optional boardable = vp.part_with_feature( flag_BOARDABLE, true ); // Temperature norms // Ambient normal temperature is lower while asleep const int ambient_norm = has_sleep ? 3100 : 1900; @@ -4934,8 +4934,8 @@ Character::comfort_response_t Character::base_comfort_value( const tripoint &p ) comfort += 1 + static_cast( comfort_level::slightly_comfortable ); // Note: shelled individuals can still use sleeping aids! } else if( vp ) { - const cata::optional carg = vp.part_with_feature( "CARGO", false ); - const cata::optional board = vp.part_with_feature( "BOARDABLE", true ); + const cata::optional carg = vp.part_with_feature( flag_CARGO, false ); + const cata::optional board = vp.part_with_feature( flag_BOARDABLE, true ); if( carg ) { const vehicle_stack items = vp->vehicle().get_items( carg->part_index() ); for( const item &items_it : items ) { @@ -8335,7 +8335,7 @@ int Character::floor_bedding_warmth( const tripoint &pos ) int floor_bedding_warmth = 0; const optional_vpart_position vp = g->m.veh_at( pos ); - const cata::optional boardable = vp.part_with_feature( "BOARDABLE", true ); + const cata::optional boardable = vp.part_with_feature( flag_BOARDABLE, true ); // Search the floor for bedding if( furn_at_pos != f_null ) { floor_bedding_warmth += furn_at_pos.obj().floor_bedding_warmth; diff --git a/src/clzones.cpp b/src/clzones.cpp index 8355b4be7b6f8..d80e523807dfc 100644 --- a/src/clzones.cpp +++ b/src/clzones.cpp @@ -38,19 +38,19 @@ zone_manager::zone_manager() { - types.emplace( zone_type_id( "NO_AUTO_PICKUP" ), + types.emplace( zone_type_NO_AUTO_PICKUP, zone_type( translate_marker( "No Auto Pickup" ), translate_marker( "You won't auto-pickup items inside the zone." ) ) ); - types.emplace( zone_type_id( "NO_NPC_PICKUP" ), + types.emplace( zone_type_NO_NPC_PICKUP, zone_type( translate_marker( "No NPC Pickup" ), translate_marker( "Friendly NPCs don't pickup items inside the zone." ) ) ); - types.emplace( zone_type_id( "NPC_RETREAT" ), + types.emplace( zone_type_NPC_RETREAT, zone_type( translate_marker( "NPC Retreat" ), translate_marker( "When fleeing, friendly NPCs will attempt to retreat toward this zone if it is within 60 tiles." ) ) ); - types.emplace( zone_type_id( "NPC_NO_INVESTIGATE" ), + types.emplace( zone_type_NPC_NO_INVESTIGATE, zone_type( translate_marker( "NPC Ignore Sounds" ), translate_marker( "Friendly NPCs won't investigate unseen sounds coming from this zone." ) ) ); - types.emplace( zone_type_id( "NPC_INVESTIGATE_ONLY" ), + types.emplace( zone_type_NPC_INVESTIGATE_ONLY, zone_type( translate_marker( "NPC Investigation Area" ), translate_marker( "Friendly NPCs will investigate unseen sounds only if they come from inside this area." ) ) ); @@ -58,35 +58,35 @@ zone_manager::zone_manager() types.emplace( zone.id, zone ); } - types.emplace( zone_type_id( "SOURCE_FIREWOOD" ), + types.emplace( zone_type_SOURCE_FIREWOOD, zone_type( translate_marker( "Source: Firewood" ), translate_marker( "Source for firewood or other flammable materials in this zone may be used to automatically refuel fires. " "This will be done to maintain light during long-running tasks such as crafting, reading or waiting." ) ) ); - types.emplace( zone_type_id( "CONSTRUCTION_BLUEPRINT" ), + types.emplace( zone_type_CONSTRUCTION_BLUEPRINT, zone_type( translate_marker( "Construction: Blueprint" ), translate_marker( "Designate a blueprint zone for construction." ) ) ); - types.emplace( zone_type_id( "FARM_PLOT" ), + types.emplace( zone_type_FARM_PLOT, zone_type( translate_marker( "Farm: Plot" ), translate_marker( "Designate a farm plot for tilling and planting." ) ) ); - types.emplace( zone_type_id( "CHOP_TREES" ), + types.emplace( zone_type_CHOP_TREES, zone_type( translate_marker( "Chop Trees" ), translate_marker( "Designate an area to chop down trees." ) ) ); - types.emplace( zone_type_id( "FISHING_SPOT" ), + types.emplace( zone_type_FISHING_SPOT, zone_type( translate_marker( "Fishing Spot" ), translate_marker( "Designate an area to fish from." ) ) ); - types.emplace( zone_type_id( "VEHICLE_DECONSTRUCT" ), + types.emplace( zone_type_VEHICLE_DECONSTRUCT, zone_type( translate_marker( "Vehicle Deconstruct Zone" ), translate_marker( "Any vehicles in this area are marked for deconstruction." ) ) ); - types.emplace( zone_type_id( "VEHICLE_REPAIR" ), + types.emplace( zone_type_VEHICLE_REPAIR, zone_type( translate_marker( "Vehicle Repair Zone" ), translate_marker( "Any vehicles in this area are marked for repair work." ) ) ); - types.emplace( zone_type_id( "VEHICLE_PATROL" ), + types.emplace( zone_type_VEHICLE_PATROL, zone_type( translate_marker( "Vehicle Patrol Zone" ), translate_marker( "Vehicles with an autopilot will patrol in this zone." ) ) ); - types.emplace( zone_type_id( "CAMP_STORAGE" ), + types.emplace( zone_type_CAMP_STORAGE, zone_type( translate_marker( "Basecamp: Storage" ), translate_marker( "Items in this zone will be added to a basecamp's inventory for use by it's workers." ) ) ); - types.emplace( zone_type_id( "CAMP_FOOD" ), + types.emplace( zone_type_CAMP_FOOD, zone_type( translate_marker( "Basecamp: Food" ), translate_marker( "Items in this zone will be added to a basecamp's food supply in the Distribute Food mission." ) ) ); @@ -138,11 +138,11 @@ void zone_type::load( const JsonObject &jo, const std::string & ) shared_ptr_fast zone_options::create( const zone_type_id &type ) { - if( type == zone_type_id( "FARM_PLOT" ) ) { + if( type == zone_type_FARM_PLOT ) { return make_shared_fast(); - } else if( type == zone_type_id( "CONSTRUCTION_BLUEPRINT" ) ) { + } else if( type == zone_type_CONSTRUCTION_BLUEPRINT ) { return make_shared_fast(); - } else if( type == zone_type_id( "LOOT_CUSTOM" ) ) { + } else if( type == zone_type_LOOT_CUSTOM ) { return make_shared_fast(); } @@ -151,11 +151,11 @@ shared_ptr_fast zone_options::create( const zone_type_id &type ) bool zone_options::is_valid( const zone_type_id &type, const zone_options &options ) { - if( type == zone_type_id( "FARM_PLOT" ) ) { + if( type == zone_type_FARM_PLOT ) { return dynamic_cast( &options ) != nullptr; - } else if( type == zone_type_id( "CONSTRUCTION_BLUEPRINT" ) ) { + } else if( type == zone_type_CONSTRUCTION_BLUEPRINT ) { return dynamic_cast( &options ) != nullptr; - } else if( type == zone_type_id( "LOOT_CUSTOM" ) ) { + } else if( type == zone_type_LOOT_CUSTOM ) { return dynamic_cast( &options ) != nullptr; } @@ -604,7 +604,7 @@ std::unordered_set zone_manager::get_point_set_loot( const tripoint &w if( ( !zone ) || ( zone->get_type().str().substr( 0, 4 ) != "LOOT" ) ) { continue; } - if( npc_search && ( has( zone_type_id( "NO_NPC_PICKUP" ), elem ) ) ) { + if( npc_search && ( has( zone_type_NO_NPC_PICKUP, elem ) ) ) { continue; } res.insert( elem ); @@ -660,10 +660,10 @@ bool zone_manager::has_loot_dest_near( const tripoint &where ) const { for( const auto &ztype : get_manager().get_types() ) { const zone_type_id &type = ztype.first; - if( type == zone_type_id( "CAMP_FOOD" ) || type == zone_type_id( "FARM_PLOT" ) || - type == zone_type_id( "LOOT_UNSORTED" ) || type == zone_type_id( "LOOT_IGNORE" ) || - type == zone_type_id( "CONSTRUCTION_BLUEPRINT" ) || - type == zone_type_id( "NO_AUTO_PICKUP" ) || type == zone_type_id( "NO_NPC_PICKUP" ) ) { + if( type == zone_type_CAMP_FOOD || type == zone_type_FARM_PLOT || + type == zone_type_LOOT_UNSORTED || type == zone_type_LOOT_IGNORE || + type == zone_type_CONSTRUCTION_BLUEPRINT || + type == zone_type_NO_AUTO_PICKUP || type == zone_type_NO_NPC_PICKUP ) { continue; } if( has_near( type, where ) ) { @@ -691,7 +691,7 @@ const zone_data *zone_manager::get_zone_at( const tripoint &where, const zone_ty bool zone_manager::custom_loot_has( const tripoint &where, const item *it ) const { - auto zone = get_zone_at( where, zone_type_id( "LOOT_CUSTOM" ) ); + auto zone = get_zone_at( where, zone_type_LOOT_CUSTOM ); if( !zone || !it ) { return false; } @@ -711,7 +711,7 @@ std::unordered_set zone_manager::get_near( const zone_type_id &type, for( auto &point : point_set ) { if( point.z == where.z ) { if( square_dist( point, where ) <= range ) { - if( it && has( zone_type_id( "LOOT_CUSTOM" ), point ) ) { + if( it && has( zone_type_LOOT_CUSTOM, point ) ) { if( custom_loot_has( point, it ) ) { near_point_set.insert( point ); } @@ -726,7 +726,7 @@ std::unordered_set zone_manager::get_near( const zone_type_id &type, for( auto &point : vzone_set ) { if( point.z == where.z ) { if( square_dist( point, where ) <= range ) { - if( it && has( zone_type_id( "LOOT_CUSTOM" ), point ) ) { + if( it && has( zone_type_LOOT_CUSTOM, point ) ) { if( custom_loot_has( point, it ) ) { near_point_set.insert( point ); } @@ -783,20 +783,20 @@ zone_type_id zone_manager::get_near_zone_type_for_item( const item &it, { const item_category &cat = it.get_category(); - if( has_near( zone_type_id( "LOOT_CUSTOM" ), where, range ) ) { - for( const auto elem : get_near( zone_type_id( "LOOT_CUSTOM" ), where, range, &it ) ) { + if( has_near( zone_type_LOOT_CUSTOM, where, range ) ) { + for( const auto elem : get_near( zone_type_LOOT_CUSTOM, where, range, &it ) ) { ( void )elem; - return zone_type_id( "LOOT_CUSTOM" ); + return zone_type_LOOT_CUSTOM; } } if( it.has_flag( flag_FIREWOOD ) ) { - if( has_near( zone_type_id( "LOOT_WOOD" ), where, range ) ) { - return zone_type_id( "LOOT_WOOD" ); + if( has_near( zone_type_LOOT_WOOD, where, range ) ) { + return zone_type_LOOT_WOOD; } } if( it.is_corpse() ) { - if( has_near( zone_type_id( "LOOT_CORPSE" ), where, range ) ) { - return zone_type_id( "LOOT_CORPSE" ); + if( has_near( zone_type_LOOT_CORPSE, where, range ) ) { + return zone_type_LOOT_CORPSE; } } @@ -814,20 +814,20 @@ zone_type_id zone_manager::get_near_zone_type_for_item( const item &it, // skip food without comestible, like MREs if( const item *it_food = it.get_food() ) { - if( it_food->get_comestible()->comesttype == "DRINK" ) { - if( !preserves && it_food->goes_bad() && has_near( zone_type_id( "LOOT_PDRINK" ), where, range ) ) { - return zone_type_id( "LOOT_PDRINK" ); - } else if( has_near( zone_type_id( "LOOT_DRINK" ), where, range ) ) { - return zone_type_id( "LOOT_DRINK" ); + if( it_food->get_comestible()->comesttype == comesttype_DRINK ) { + if( !preserves && it_food->goes_bad() && has_near( zone_type_LOOT_PDRINK, where, range ) ) { + return zone_type_LOOT_PDRINK; + } else if( has_near( zone_type_LOOT_DRINK, where, range ) ) { + return zone_type_LOOT_DRINK; } } - if( !preserves && it_food->goes_bad() && has_near( zone_type_id( "LOOT_PFOOD" ), where, range ) ) { - return zone_type_id( "LOOT_PFOOD" ); + if( !preserves && it_food->goes_bad() && has_near( zone_type_LOOT_PFOOD, where, range ) ) { + return zone_type_LOOT_PFOOD; } } - return zone_type_id( "LOOT_FOOD" ); + return zone_type_LOOT_FOOD; } return zone_type_id(); @@ -912,11 +912,11 @@ void zone_manager::add( const std::string &name, const zone_type_id &type, const zone_data new_zone = zone_data( name, type, fac, invert, enabled, start, end, options ); //the start is a vehicle tile with cargo space if( const cata::optional vp = g->m.veh_at( g->m.getlocal( - start ) ).part_with_feature( "CARGO", false ) ) { + start ) ).part_with_feature( flag_CARGO, false ) ) { // TODO:Allow for loot zones on vehicles to be larger than 1x1 if( start == end && query_yn( _( "Bind this zone to the cargo part here?" ) ) ) { // TODO: refactor zone options for proper validation code - if( type == zone_type_id( "FARM_PLOT" ) || type == zone_type_id( "CONSTRUCTION_BLUEPRINT" ) ) { + if( type == zone_type_FARM_PLOT || type == zone_type_CONSTRUCTION_BLUEPRINT ) { popup( _( "You cannot add that type of zone to a vehicle." ), PF_NONE ); return; } @@ -1178,7 +1178,7 @@ void zone_manager::revert_vzones() for( auto zone : removed_vzones ) { //Code is copied from add() to avoid yn query if( const cata::optional vp = g->m.veh_at( g->m.getlocal( - zone.get_start_point() ) ).part_with_feature( "CARGO", false ) ) { + zone.get_start_point() ) ).part_with_feature( flag_CARGO, false ) ) { zone.set_is_vehicle( true ); vp->vehicle().loot_zones.emplace( vp->mount(), zone ); vp->vehicle().zones_dirty = false; diff --git a/src/crafting.cpp b/src/crafting.cpp index e777d0451e082..e7401b9b379d5 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -172,7 +172,7 @@ static float workbench_crafting_speed_multiplier( const item &craft, const tripo allowed_mass = f.workbench->allowed_mass; allowed_volume = f.workbench->allowed_volume; } else if( const cata::optional vp = g->m.veh_at( - loc ).part_with_feature( "WORKBENCH", true ) ) { + loc ).part_with_feature( flag_WORKBENCH, true ) ) { // Vehicle workbench const vpart_info &vp_info = vp->part().info(); if( const cata::optional &wb_info = vp_info.get_workbench_info() ) { @@ -454,7 +454,7 @@ std::vector player::get_eligible_containers_for_crafting() const } } - if( const cata::optional vp = g->m.veh_at( loc ).part_with_feature( "CARGO", + if( const cata::optional vp = g->m.veh_at( loc ).part_with_feature( flag_CARGO, true ) ) { for( const auto &it : vp->vehicle().get_items( vp->part_index() ) ) { if( is_container_eligible_for_crafting( it, false ) ) { @@ -641,7 +641,7 @@ static item_location set_item_map( const tripoint &loc, item &newit ) */ static item_location set_item_map_or_vehicle( const player &p, const tripoint &loc, item &newit ) { - if( const cata::optional vp = g->m.veh_at( loc ).part_with_feature( "CARGO", + if( const cata::optional vp = g->m.veh_at( loc ).part_with_feature( flag_CARGO, false ) ) { if( const cata::optional it = vp->vehicle().add_item( vp->part_index(), @@ -709,7 +709,7 @@ void player::start_craft( craft_command &command, const tripoint &loc ) target = adj; } } else if( const cata::optional vp = g->m.veh_at( - adj ).part_with_feature( "WORKBENCH", true ) ) { + adj ).part_with_feature( flag_WORKBENCH, true ) ) { if( const cata::optional &wb_info = vp->part().info().get_workbench_info() ) { if( wb_info->multiplier > best_bench_multi ) { best_bench_multi = wb_info->multiplier; diff --git a/src/editmap.cpp b/src/editmap.cpp index 08b592c0321ae..4fe9872e3b8db 100644 --- a/src/editmap.cpp +++ b/src/editmap.cpp @@ -1630,7 +1630,7 @@ void editmap::mapgen_preview( const real_coords &tc, uilist &gmenu ) const int veh_part = vp->part_index(); char part_mod = 0; const vpart_id &vp_id = veh.part_id_string( veh_part, part_mod ); - const cata::optional cargopart = vp.part_with_feature( "CARGO", true ); + const cata::optional cargopart = vp.part_with_feature( flag_CARGO, true ); bool draw_highlight = cargopart && !veh.get_items( cargopart->part_index() ).empty(); int veh_dir = veh.face.dir(); g->draw_vpart_override( map_p, vp_id, part_mod, veh_dir, draw_highlight, vp->mount() ); diff --git a/src/faction_camp.cpp b/src/faction_camp.cpp index e0d9a5dce0064..6b54ffa94e3b0 100644 --- a/src/faction_camp.cpp +++ b/src/faction_camp.cpp @@ -3605,7 +3605,7 @@ std::string camp_car_description( vehicle *car ) { std::string entry = string_format( _( "Name: %s\n" ), right_justify( car->name, 25 ) ); entry += _( "---- Engines ----\n" ); - for( const vpart_reference &vpr : car->get_any_parts( "ENGINE" ) ) { + for( const vpart_reference &vpr : car->get_any_parts( flag_ENGINE ) ) { const vehicle_part &pt = vpr.part(); const vpart_info &vp = pt.info(); entry += string_format( _( "Engine: %s\n" ), right_justify( vp.name(), 25 ) ); diff --git a/src/game.cpp b/src/game.cpp index 578ec4787364b..63b6e08a4bacc 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -2644,7 +2644,7 @@ void game::load( const save_t &name ) // The vehicle stores the IDs of the boarded players, so update it, too. if( u.in_vehicle ) { if( const cata::optional vp = m.veh_at( - u.pos() ).part_with_feature( "BOARDABLE", true ) ) { + u.pos() ).part_with_feature( flag_BOARDABLE, true ) ) { vp->part().passenger_id = u.getID(); } } @@ -5058,14 +5058,14 @@ void game::control_vehicle() } } if( veh != nullptr && veh->player_in_control( u ) && - veh->avail_part_with_feature( veh_part, "CONTROLS", true ) >= 0 ) { + veh->avail_part_with_feature( veh_part, flag_CONTROLS, true ) >= 0 ) { veh->use_controls( u.pos() ); } else if( veh && veh->player_in_control( u ) && - veh->avail_part_with_feature( veh_part, "CONTROL_ANIMAL", true ) >= 0 ) { + veh->avail_part_with_feature( veh_part, flag_CONTROL_ANIMAL, true ) >= 0 ) { u.controlling_vehicle = false; add_msg( m_info, _( "You let go of the reins." ) ); - } else if( veh && ( veh->avail_part_with_feature( veh_part, "CONTROLS", true ) >= 0 || - ( veh->avail_part_with_feature( veh_part, "CONTROL_ANIMAL", true ) >= 0 && + } else if( veh && ( veh->avail_part_with_feature( veh_part, flag_CONTROLS, true ) >= 0 || + ( veh->avail_part_with_feature( veh_part, flag_CONTROL_ANIMAL, true ) >= 0 && veh->has_engine_type( fuel_type_animal, false ) && veh->has_harnessed_animal() ) ) && u.in_vehicle ) { if( !veh->interact_vehicle_locked() ) { @@ -5090,7 +5090,8 @@ void game::control_vehicle() cata::optional vehicle_controls; for( const tripoint elem : m.points_in_radius( g->u.pos(), 1 ) ) { if( const optional_vpart_position vp = m.veh_at( elem ) ) { - const cata::optional controls = vp.value().part_with_feature( "CONTROLS", true ); + const cata::optional controls = vp.value().part_with_feature( flag_CONTROLS, + true ); if( controls ) { num_valid_controls++; vehicle_position = elem; @@ -5108,7 +5109,7 @@ void game::control_vehicle() } const optional_vpart_position vp = m.veh_at( *vehicle_position ); if( vp ) { - vehicle_controls = vp.value().part_with_feature( "CONTROLS", true ); + vehicle_controls = vp.value().part_with_feature( flag_CONTROLS, true ); if( !vehicle_controls ) { add_msg( _( "The vehicle doesn't have controls there." ) ); return; @@ -6171,7 +6172,7 @@ void game::zones_manager() as_m.entries.emplace_back( 1, true, '1', _( "Edit name" ) ); as_m.entries.emplace_back( 2, true, '2', _( "Edit type" ) ); as_m.entries.emplace_back( 3, zone.get_options().has_options(), '3', - zone.get_type() == zone_type_id( "LOOT_CUSTOM" ) ? _( "Edit filter" ) : _( "Edit options" ) ); + zone.get_type() == zone_type_LOOT_CUSTOM ? _( "Edit filter" ) : _( "Edit options" ) ); as_m.entries.emplace_back( 4, !zone.get_is_vehicle(), '4', _( "Edit position" ) ); as_m.query(); @@ -8450,7 +8451,8 @@ void game::wield( item_location &loc ) m.add_item( pos, to_wield ); break; case item_location::type::vehicle: { - const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", false ); + const cata::optional vp = g->m.veh_at( pos ).part_with_feature( flag_CARGO, + false ); // If we fail to return the item to the vehicle for some reason, add it to the map instead. if( !vp || !( vp->vehicle().add_item( vp->part_index(), to_wield ) ) ) { m.add_item( pos, to_wield ); @@ -8642,7 +8644,7 @@ std::vector game::get_dangerous_tile( const tripoint &dest_loc ) co if( !u.is_blind() ) { const trap &tr = m.tr_at( dest_loc ); - const bool boardable = static_cast( m.veh_at( dest_loc ).part_with_feature( "BOARDABLE", + const bool boardable = static_cast( m.veh_at( dest_loc ).part_with_feature( flag_BOARDABLE, true ) ); // HACK: Hack for now, later ledge should stop being a trap // Note: in non-z-level mode, ledges obey different rules and so should be handled as regular traps @@ -9223,7 +9225,7 @@ point game::place_player( const tripoint &dest_loc ) } // If the new tile is a boardable part, board it - if( vp1.part_with_feature( "BOARDABLE", true ) && !u.is_mounted() ) { + if( vp1.part_with_feature( flag_BOARDABLE, true ) && !u.is_mounted() ) { m.board_vehicle( u.pos(), &u ); } @@ -9243,7 +9245,7 @@ point game::place_player( const tripoint &dest_loc ) // List items here if( !m.has_flag( flag_SEALED, u.pos() ) ) { if( get_option( "NO_AUTO_PICKUP_ZONES_LIST_ITEMS" ) || - !g->check_zone( zone_type_id( "NO_AUTO_PICKUP" ), u.pos() ) ) { + !g->check_zone( zone_type_NO_AUTO_PICKUP, u.pos() ) ) { if( u.is_blind() && !m.i_at( u.pos() ).empty() ) { add_msg( _( "There's something here, but you can't see what it is." ) ); } else if( m.has_items( u.pos() ) ) { @@ -9316,13 +9318,13 @@ point game::place_player( const tripoint &dest_loc ) } } - if( ( vp1.part_with_feature( "CONTROL_ANIMAL", true ) || - vp1.part_with_feature( "CONTROLS", true ) ) && u.in_vehicle && !u.is_mounted() ) { + if( ( vp1.part_with_feature( flag_CONTROL_ANIMAL, true ) || + vp1.part_with_feature( flag_CONTROLS, true ) ) && u.in_vehicle && !u.is_mounted() ) { add_msg( _( "There are vehicle controls here." ) ); if( !u.has_trait( trait_WAYFARER ) ) { add_msg( m_info, _( "%s to drive." ), press_x( ACTION_CONTROL_VEHICLE ) ); } - } else if( vp1.part_with_feature( "CONTROLS", true ) && u.in_vehicle && + } else if( vp1.part_with_feature( flag_CONTROLS, true ) && u.in_vehicle && u.is_mounted() ) { add_msg( _( "There are vehicle controls here but you cannot reach them whilst mounted." ) ); } @@ -9423,7 +9425,7 @@ bool game::phasing_move( const tripoint &dest_loc ) u.moves -= 100; //tunneling costs 100 moves u.setpos( dest ); - if( m.veh_at( u.pos() ).part_with_feature( "BOARDABLE", true ) ) { + if( m.veh_at( u.pos() ).part_with_feature( flag_BOARDABLE, true ) ) { m.board_vehicle( u.pos(), &u ); } diff --git a/src/handle_action.cpp b/src/handle_action.cpp index 6230d737f48f2..1095bbaf4ac55 100644 --- a/src/handle_action.cpp +++ b/src/handle_action.cpp @@ -486,7 +486,7 @@ static void open() } } else { // If there are any OPENABLE parts here, they must be already open - if( const cata::optional already_open = vp.part_with_feature( "OPENABLE", + if( const cata::optional already_open = vp.part_with_feature( flag_OPENABLE, true ) ) { const std::string name = already_open->info().name(); add_msg( m_info, _( "That %s is already open." ), name ); @@ -1039,25 +1039,25 @@ static void loot() // but with a stale cache we never get that far. mgr.cache_vzones(); - flags |= g->check_near_zone( zone_type_id( "LOOT_UNSORTED" ), u.pos() ) ? SortLoot : 0; - if( g->check_near_zone( zone_type_id( "FARM_PLOT" ), u.pos() ) ) { + flags |= g->check_near_zone( zone_type_LOOT_UNSORTED, u.pos() ) ? SortLoot : 0; + if( g->check_near_zone( zone_type_FARM_PLOT, u.pos() ) ) { flags |= FertilizePlots; flags |= MultiFarmPlots; } - flags |= g->check_near_zone( zone_type_id( "CONSTRUCTION_BLUEPRINT" ), + flags |= g->check_near_zone( zone_type_CONSTRUCTION_BLUEPRINT, u.pos() ) ? ConstructPlots : 0; - flags |= g->check_near_zone( zone_type_id( "CHOP_TREES" ), u.pos() ) ? Multichoptrees : 0; - flags |= g->check_near_zone( zone_type_id( "LOOT_WOOD" ), u.pos() ) ? Multichopplanks : 0; - flags |= g->check_near_zone( zone_type_id( "VEHICLE_DECONSTRUCT" ), + flags |= g->check_near_zone( zone_type_CHOP_TREES, u.pos() ) ? Multichoptrees : 0; + flags |= g->check_near_zone( zone_type_LOOT_WOOD, u.pos() ) ? Multichopplanks : 0; + flags |= g->check_near_zone( zone_type_VEHICLE_DECONSTRUCT, u.pos() ) ? Multideconvehicle : 0; - flags |= g->check_near_zone( zone_type_id( "VEHICLE_REPAIR" ), u.pos() ) ? Multirepairvehicle : 0; - flags |= g->check_near_zone( zone_type_id( "LOOT_CORPSE" ), u.pos() ) ? MultiButchery : 0; + flags |= g->check_near_zone( zone_type_VEHICLE_REPAIR, u.pos() ) ? Multirepairvehicle : 0; + flags |= g->check_near_zone( zone_type_LOOT_CORPSE, u.pos() ) ? MultiButchery : 0; if( flags == 0 ) { add_msg( m_info, _( "There is no compatible zone nearby." ) ); add_msg( m_info, _( "Compatible zones are %s and %s" ), - mgr.get_name_from_type( zone_type_id( "LOOT_UNSORTED" ) ), - mgr.get_name_from_type( zone_type_id( "FARM_PLOT" ) ) ); + mgr.get_name_from_type( zone_type_LOOT_UNSORTED ), + mgr.get_name_from_type( zone_type_FARM_PLOT ) ); return; } @@ -1277,7 +1277,7 @@ static void fire() return; } - if( vp.part_with_feature( "CONTROLS", true ) ) { + if( vp.part_with_feature( flag_CONTROLS, true ) ) { if( vp->vehicle().turrets_aim_and_fire() ) { return; } diff --git a/src/inventory.cpp b/src/inventory.cpp index b18b315df1c44..e3f84bb228fc5 100644 --- a/src/inventory.cpp +++ b/src/inventory.cpp @@ -506,14 +506,14 @@ void inventory::form_from_map( map &m, std::vector pts, const Characte //Adds faucet to kitchen stuff; may be horribly wrong to do such.... //ShouldBreak into own variable - const cata::optional kpart = vp.part_with_feature( "KITCHEN", true ); - const cata::optional faupart = vp.part_with_feature( "FAUCET", true ); - const cata::optional weldpart = vp.part_with_feature( "WELDRIG", true ); - const cata::optional craftpart = vp.part_with_feature( "CRAFTRIG", true ); - const cata::optional forgepart = vp.part_with_feature( "FORGE", true ); - const cata::optional kilnpart = vp.part_with_feature( "KILN", true ); - const cata::optional chempart = vp.part_with_feature( "CHEMLAB", true ); - const cata::optional cargo = vp.part_with_feature( "CARGO", true ); + const cata::optional kpart = vp.part_with_feature( flag_KITCHEN, true ); + const cata::optional faupart = vp.part_with_feature( flag_FAUCET, true ); + const cata::optional weldpart = vp.part_with_feature( flag_WELDRIG, true ); + const cata::optional craftpart = vp.part_with_feature( flag_CRAFTRIG, true ); + const cata::optional forgepart = vp.part_with_feature( flag_FORGE, true ); + const cata::optional kilnpart = vp.part_with_feature( flag_KILN, true ); + const cata::optional chempart = vp.part_with_feature( flag_CHEMLAB, true ); + const cata::optional cargo = vp.part_with_feature( flag_CARGO, true ); if( cargo ) { const auto items = veh->get_items( cargo->part_index() ); diff --git a/src/inventory_ui.cpp b/src/inventory_ui.cpp index 656d92230a2c0..b14ced5285c12 100644 --- a/src/inventory_ui.cpp +++ b/src/inventory_ui.cpp @@ -41,6 +41,7 @@ #include #include #include +#include "cata_string_consts.h" /** The maximum distance from the screen edge, to snap a window to it */ static const size_t max_win_snap_distance = 4; @@ -650,7 +651,7 @@ void inventory_column::set_stack_favorite( const item_location &location, bool f } } else if( location.where() == item_location::type::vehicle ) { const cata::optional vp = g->m.veh_at( - location.position() ).part_with_feature( "CARGO", true ); + location.position() ).part_with_feature( flag_CARGO, true ); assert( vp ); auto items = vp->vehicle().get_items( vp->part_index() ); @@ -1184,7 +1185,8 @@ void inventory_selector::add_map_items( const tripoint &target ) void inventory_selector::add_vehicle_items( const tripoint &target ) { - const cata::optional vp = g->m.veh_at( target ).part_with_feature( "CARGO", true ); + const cata::optional vp = g->m.veh_at( target ).part_with_feature( flag_CARGO, + true ); if( !vp ) { return; } diff --git a/src/item.cpp b/src/item.cpp index 687179425f4d5..f16a4ce6a33d4 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -8886,7 +8886,7 @@ cata::optional item::get_cable_target( Character *p, const tripoint &p } const optional_vpart_position vp_pos = g->m.veh_at( pos ); if( vp_pos ) { - const cata::optional seat = vp_pos.part_with_feature( "BOARDABLE", true ); + const cata::optional seat = vp_pos.part_with_feature( flag_BOARDABLE, true ); if( seat && p == seat->vehicle().get_passenger( seat->part_index() ) ) { return pos; } diff --git a/src/item_location.cpp b/src/item_location.cpp index 903cd46cdf293..5dd52acfc6e2e 100644 --- a/src/item_location.cpp +++ b/src/item_location.cpp @@ -423,7 +423,7 @@ class item_location::impl::item_on_vehicle : public item_location::impl if( auto label = part_pos.get_label() ) { res = colorize( *label, c_light_blue ) + " "; } - if( auto cargo_part = part_pos.part_with_feature( "CARGO", true ) ) { + if( auto cargo_part = part_pos.part_with_feature( flag_CARGO, true ) ) { res += cargo_part->part().name(); } else { debugmsg( "item in vehicle part without cargo storage" ); diff --git a/src/lightmap.cpp b/src/lightmap.cpp index 80a3a01b9284f..dee86db0ce83d 100644 --- a/src/lightmap.cpp +++ b/src/lightmap.cpp @@ -424,7 +424,7 @@ void map::generate_lightmap( const int zlev ) if( !inbounds( pp ) ) { continue; } - if( vp.has_feature( VPFLAG_CARGO ) && !vp.has_feature( "COVERED" ) ) { + if( vp.has_feature( VPFLAG_CARGO ) && !vp.has_feature( flag_COVERED ) ) { add_light_from_items( pp, v->get_items( static_cast( p ) ).begin(), v->get_items( static_cast( p ) ).end() ); } diff --git a/src/map.cpp b/src/map.cpp index 3c8788dda98a4..290f45f579ea7 100755 --- a/src/map.cpp +++ b/src/map.cpp @@ -849,7 +849,7 @@ void map::register_vehicle_zone( vehicle *veh, const int zlev ) bool map::deregister_vehicle_zone( zone_data &zone ) { if( const cata::optional vp = veh_at( getlocal( - zone.get_start_point() ) ).part_with_feature( "CARGO", false ) ) { + zone.get_start_point() ) ).part_with_feature( flag_CARGO, false ) ) { auto bounds = vp->vehicle().loot_zones.equal_range( vp->mount() ); for( auto it = bounds.first; it != bounds.second; it++ ) { if( &zone == &( it->second ) ) { @@ -2117,7 +2117,7 @@ bool map::can_put_items( const tripoint &p ) const return true; } const optional_vpart_position vp = veh_at( p ); - return static_cast( vp.part_with_feature( "CARGO", true ) ); + return static_cast( vp.part_with_feature( flag_CARGO, true ) ); } bool map::can_put_items_ter_furn( const tripoint &p ) const @@ -2588,7 +2588,7 @@ bool map::has_nearby_table( const tripoint &p, int radius ) if( has_flag( flag_FLAT_SURF, pt ) ) { return true; } - if( vp && ( vp->vehicle().has_part( "KITCHEN" ) || vp->vehicle().has_part( "FLAT_SURF" ) ) ) { + if( vp && ( vp->vehicle().has_part( flag_KITCHEN ) || vp->vehicle().has_part( flag_FLAT_SURF ) ) ) { return true; } } @@ -2602,7 +2602,7 @@ bool map::has_nearby_chair( const tripoint &p, int radius ) if( has_flag( flag_CAN_SIT, pt ) ) { return true; } - if( vp && vp->vehicle().has_part( "SEAT" ) ) { + if( vp && vp->vehicle().has_part( flag_SEAT ) ) { return true; } } @@ -4347,7 +4347,7 @@ static void process_vehicle_items( vehicle &cur_veh, int part ) } if( cur_veh.part_with_feature( part, VPFLAG_RECHARGE, true ) >= 0 && - cur_veh.has_part( "RECHARGE", true ) ) { + cur_veh.has_part( flag_RECHARGE, true ) ) { for( auto &n : cur_veh.get_items( part ) ) { if( !n.has_flag( flag_RECHARGE ) && !n.has_flag( flag_USE_UPS ) ) { continue; @@ -4486,7 +4486,7 @@ void map::process_items_in_vehicles( submap ¤t_submap, const int gridz, void map::process_items_in_vehicle( vehicle &cur_veh, submap ¤t_submap, const int /*gridz*/, map::map_process_func processor, const std::string &signal ) { - const bool engine_heater_is_on = cur_veh.has_part( "E_HEATER", true ) && cur_veh.engine_on; + const bool engine_heater_is_on = cur_veh.has_part( flag_E_HEATER, true ) && cur_veh.engine_on; for( const vpart_reference &vp : cur_veh.get_any_parts( VPFLAG_FLUIDTANK ) ) { vp.part().process_contents( vp.pos(), engine_heater_is_on ); } @@ -4635,7 +4635,7 @@ std::list map::use_amount_square( const tripoint &p, const itype_id &type, return ret; } - if( const cata::optional vp = veh_at( p ).part_with_feature( "CARGO", true ) ) { + if( const cata::optional vp = veh_at( p ).part_with_feature( flag_CARGO, true ) ) { std::list tmp = use_amount_stack( vp->vehicle().get_items( vp->part_index() ), type, quantity, filter ); ret.splice( ret.end(), tmp ); @@ -4781,13 +4781,13 @@ std::list map::use_charges( const tripoint &origin, const int range, continue; } - const cata::optional kpart = vp.part_with_feature( "FAUCET", true ); - const cata::optional weldpart = vp.part_with_feature( "WELDRIG", true ); - const cata::optional craftpart = vp.part_with_feature( "CRAFTRIG", true ); - const cata::optional forgepart = vp.part_with_feature( "FORGE", true ); - const cata::optional kilnpart = vp.part_with_feature( "KILN", true ); - const cata::optional chempart = vp.part_with_feature( "CHEMLAB", true ); - const cata::optional cargo = vp.part_with_feature( "CARGO", true ); + const cata::optional kpart = vp.part_with_feature( flag_FAUCET, true ); + const cata::optional weldpart = vp.part_with_feature( flag_WELDRIG, true ); + const cata::optional craftpart = vp.part_with_feature( flag_CRAFTRIG, true ); + const cata::optional forgepart = vp.part_with_feature( flag_FORGE, true ); + const cata::optional kilnpart = vp.part_with_feature( flag_KILN, true ); + const cata::optional chempart = vp.part_with_feature( flag_CHEMLAB, true ); + const cata::optional cargo = vp.part_with_feature( flag_CARGO, true ); if( kpart ) { // we have a faucet, now to see what to drain itype_id ftype = "null"; diff --git a/src/map_extras.cpp b/src/map_extras.cpp index caf08d0a45d4b..c228004b8b87d 100644 --- a/src/map_extras.cpp +++ b/src/map_extras.cpp @@ -304,8 +304,8 @@ static void mx_helicopter( map &m, const tripoint &abs_sub ) 1 ); const auto controls_at = []( vehicle * wreckage, const tripoint & pos ) { - return !wreckage->get_parts_at( pos, "CONTROLS", part_status_flag::any ).empty() || - !wreckage->get_parts_at( pos, "CTRL_ELECTRONIC", part_status_flag::any ).empty(); + return !wreckage->get_parts_at( pos, flag_CONTROLS, part_status_flag::any ).empty() || + !wreckage->get_parts_at( pos, flag_CTRL_ELECTRONIC, part_status_flag::any ).empty(); }; if( wreckage != nullptr ) { diff --git a/src/monmove.cpp b/src/monmove.cpp index e963176459143..a11fece252eaf 100644 --- a/src/monmove.cpp +++ b/src/monmove.cpp @@ -553,7 +553,7 @@ static float get_stagger_adjust( const tripoint &source, const tripoint &destina bool monster::is_aquatic_danger( const tripoint &at_pos ) { return g->m.has_flag_ter( TFLAG_DEEP_WATER, at_pos ) && g->m.has_flag( flag_LIQUID, at_pos ) && - can_drown() && !g->m.veh_at( at_pos ).part_with_feature( "BOARDABLE", false ); + can_drown() && !g->m.veh_at( at_pos ).part_with_feature( flag_BOARDABLE, false ); } bool monster::die_if_drowning( const tripoint &at_pos, const int chance ) @@ -697,7 +697,7 @@ void monster::move() // don't move if a passenger in a moving vehicle auto vp = g->m.veh_at( pos() ); - bool harness_part = static_cast( g->m.veh_at( pos() ).part_with_feature( "ANIMAL_CTRL", + bool harness_part = static_cast( g->m.veh_at( pos() ).part_with_feature( flag_ANIMAL_CTRL, true ) ); if( vp && vp->vehicle().is_moving() && vp->vehicle().get_pet( vp->part_index() ) ) { moves = 0; diff --git a/src/npcmove.cpp b/src/npcmove.cpp index 5883d470023b9..e102d9b385c47 100644 --- a/src/npcmove.cpp +++ b/src/npcmove.cpp @@ -159,7 +159,7 @@ static bool clear_shot_reach( const tripoint &from, const tripoint &to, bool che tripoint npc::good_escape_direction( bool include_pos ) { if( path.empty() ) { - zone_type_id retreat_zone = zone_type_id( "NPC_RETREAT" ); + zone_type_id retreat_zone = zone_type_NPC_RETREAT; const tripoint &abs_pos = global_square_location(); const zone_manager &mgr = zone_manager::get_manager(); cata::optional retreat_target = mgr.get_nearest( retreat_zone, abs_pos, 60, @@ -2719,15 +2719,13 @@ void npc::find_item() continue; } const cata::optional cargo = vp.part_with_feature( VPFLAG_CARGO, true ); - static const std::string locked_string( "LOCKED" ); // TODO: Let player know what parts are safe from NPC thieves - if( !cargo || cargo->has_feature( locked_string ) ) { + if( !cargo || cargo->has_feature( flag_LOCKED ) ) { cache_tile(); continue; } - static const std::string cargo_locking_string( "CARGO_LOCKING" ); - if( vp.part_with_feature( cargo_locking_string, true ) ) { + if( vp.part_with_feature( flag_CARGO_LOCKING, true ) ) { cache_tile(); continue; } @@ -2780,11 +2778,11 @@ void npc::pick_up_item() const cata::optional vp = g->m.veh_at( wanted_item_pos ).part_with_feature( VPFLAG_CARGO, false ); - const bool has_cargo = vp && !vp->has_feature( "LOCKED" ); + const bool has_cargo = vp && !vp->has_feature( flag_LOCKED ); if( ( !g->m.has_items( wanted_item_pos ) && !has_cargo && !g->m.is_harvestable( wanted_item_pos ) && sees( wanted_item_pos ) ) || - ( is_player_ally() && g->check_zone( zone_type_id( "NO_NPC_PICKUP" ), wanted_item_pos ) ) ) { + ( is_player_ally() && g->check_zone( zone_type_NO_NPC_PICKUP, wanted_item_pos ) ) ) { // Items we wanted no longer exist and we can see it // Or player who is leading us doesn't want us to pick it up fetching_item = false; diff --git a/src/pickup.cpp b/src/pickup.cpp index 22c7165bb8b3f..c0abaf506cbf9 100644 --- a/src/pickup.cpp +++ b/src/pickup.cpp @@ -419,7 +419,7 @@ void Pickup::pick_up( const tripoint &p, int min, from_where get_items_from ) if( min != -1 ) { if( veh != nullptr && get_items_from == prompt ) { - const cata::optional carg = vp.part_with_feature( "CARGO", false ); + const cata::optional carg = vp.part_with_feature( flag_CARGO, false ); const bool veh_has_items = carg && !veh->get_items( carg->part_index() ).empty(); const bool map_has_items = g->m.has_items( p ); if( veh_has_items && map_has_items ) { @@ -433,7 +433,7 @@ void Pickup::pick_up( const tripoint &p, int min, from_where get_items_from ) } } if( get_items_from == from_cargo ) { - const cata::optional carg = vp.part_with_feature( "CARGO", false ); + const cata::optional carg = vp.part_with_feature( flag_CARGO, false ); cargo_part = carg ? carg->part_index() : -1; from_vehicle = cargo_part >= 0; } else { diff --git a/src/player.cpp b/src/player.cpp index 38d6012990b17..ba6546e38462f 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -1773,14 +1773,14 @@ int player::impact( const int force, const tripoint &p ) // Slamming into vehicles // TODO: Integrate it with vehicle collision function somehow target_name = vp->vehicle().disp_name(); - if( vp.part_with_feature( "SHARP", true ) ) { + if( vp.part_with_feature( flag_SHARP, true ) ) { // Now we're actually getting impaled cut = force; // Lots of fun } mod = slam ? 1.0f : fall_damage_mod(); armor_eff = 0.25f; // Not much - if( !slam && vp->part_with_feature( "ROOF", true ) ) { + if( !slam && vp->part_with_feature( flag_ROOF, true ) ) { // Roof offers better landing than frame or pavement // TODO: Make this not happen with heavy duty/plated roof effective_force /= 2; @@ -4414,8 +4414,8 @@ void player::try_to_sleep( const time_duration &dur ) ter_at_pos == t_improvised_shelter || trap_at_pos.comfort > static_cast( comfort_level::neutral ) || in_shell || websleeping || watersleep || - vp.part_with_feature( "SEAT", true ) || - vp.part_with_feature( "BED", true ) ) ) { + vp.part_with_feature( flag_SEAT, true ) || + vp.part_with_feature( flag_BED, true ) ) ) { add_msg_if_player( m_good, _( "This is a comfortable place to sleep." ) ); } else if( !plantsleep && !fungaloid_cosplay && !watersleep ) { if( !vp && ter_at_pos != t_floor ) { diff --git a/src/ranged.cpp b/src/ranged.cpp index c1d31187e249a..45b634fbd1499 100644 --- a/src/ranged.cpp +++ b/src/ranged.cpp @@ -2190,7 +2190,7 @@ static void cycle_action( item &weap, const tripoint &pos ) const optional_vpart_position vp = g->m.veh_at( pos ); std::vector cargo; if( vp && weap.has_flag( flag_VEHICLE ) ) { - cargo = vp->vehicle().get_parts_at( pos, "CARGO", part_status_flag::any ); + cargo = vp->vehicle().get_parts_at( pos, flag_CARGO, part_status_flag::any ); } if( weap.ammo_data() && weap.ammo_data()->ammo->casing ) { diff --git a/src/savegame_json.cpp b/src/savegame_json.cpp index 964bd61f91d37..f9004820d816b 100644 --- a/src/savegame_json.cpp +++ b/src/savegame_json.cpp @@ -2685,35 +2685,35 @@ void vehicle::deserialize( JsonIn &jsin ) } } - for( const vpart_reference &vp : get_any_parts( "TURRET" ) ) { + for( const vpart_reference &vp : get_any_parts( flag_TURRET ) ) { install_part( vp.mount(), vpart_turret_mount, false ); //Forcibly set turrets' targeting mode to manual if no turret control unit is present on turret's tile on loading save - if( !has_part( global_part_pos3( vp.part() ), "TURRET_CONTROLS" ) ) { + if( !has_part( global_part_pos3( vp.part() ), flag_TURRET_CONTROLS ) ) { vp.part().enabled = false; } //Set turret control unit's state equal to turret's targeting mode on loading save - for( const vpart_reference &turret_part : get_any_parts( "TURRET_CONTROLS" ) ) { + for( const vpart_reference &turret_part : get_any_parts( flag_TURRET_CONTROLS ) ) { turret_part.part().enabled = vp.part().enabled; } } // Add vehicle mounts to cars that are missing them. - for( const vpart_reference &vp : get_any_parts( "NEEDS_WHEEL_MOUNT_LIGHT" ) ) { + for( const vpart_reference &vp : get_any_parts( flag_NEEDS_WHEEL_MOUNT_LIGHT ) ) { if( vp.info().has_flag( flag_STEERABLE ) ) { install_part( vp.mount(), vpart_wheel_mount_light_steerable, false ); } else { install_part( vp.mount(), vpart_wheel_mount_light, false ); } } - for( const vpart_reference &vp : get_any_parts( "NEEDS_WHEEL_MOUNT_MEDIUM" ) ) { + for( const vpart_reference &vp : get_any_parts( flag_NEEDS_WHEEL_MOUNT_MEDIUM ) ) { if( vp.info().has_flag( flag_STEERABLE ) ) { install_part( vp.mount(), vpart_wheel_mount_medium_steerable, false ); } else { install_part( vp.mount(), vpart_wheel_mount_medium, false ); } } - for( const vpart_reference &vp : get_any_parts( "NEEDS_WHEEL_MOUNT_HEAVY" ) ) { + for( const vpart_reference &vp : get_any_parts( flag_NEEDS_WHEEL_MOUNT_HEAVY ) ) { if( vp.info().has_flag( flag_STEERABLE ) ) { install_part( vp.mount(), vpart_wheel_mount_heavy_steerable, false ); } else { diff --git a/src/sdltiles.cpp b/src/sdltiles.cpp index ced7ef5859fbf..01f7add3679fd 100644 --- a/src/sdltiles.cpp +++ b/src/sdltiles.cpp @@ -1836,7 +1836,7 @@ input_context touch_input_context; std::string get_quick_shortcut_name( const std::string &category ) { - if( category == "DEFAULTMODE" && g->check_zone( zone_type_id( "NO_AUTO_PICKUP" ), g->u.pos() ) && + if( category == "DEFAULTMODE" && g->check_zone( zone_type_NO_AUTO_PICKUP, g->u.pos() ) && get_option( "ANDROID_SHORTCUT_ZONE" ) ) { return "DEFAULTMODE____SHORTCUTS"; } @@ -2650,19 +2650,19 @@ static void CheckMessages() vehicle *const veh = veh_pointer_or_null( vp ); if( veh ) { const int veh_part = vp ? vp->part_index() : -1; - if( veh->part_with_feature( veh_part, "CONTROLS", true ) >= 0 ) { + if( veh->part_with_feature( veh_part, flag_CONTROLS, true ) >= 0 ) { actions.insert( ACTION_CONTROL_VEHICLE ); } - const int openablepart = veh->part_with_feature( veh_part, "OPENABLE", true ); + const int openablepart = veh->part_with_feature( veh_part, flag_OPENABLE, true ); if( openablepart >= 0 && veh->is_open( openablepart ) && ( dx != 0 || dy != 0 ) ) { // an open door adjacent to us actions.insert( ACTION_CLOSE ); } - const int curtainpart = veh->part_with_feature( veh_part, "CURTAIN", true ); + const int curtainpart = veh->part_with_feature( veh_part, flag_CURTAIN, true ); if( curtainpart >= 0 && veh->is_open( curtainpart ) && ( dx != 0 || dy != 0 ) ) { actions.insert( ACTION_CLOSE ); } - const int cargopart = veh->part_with_feature( veh_part, "CARGO", true ); + const int cargopart = veh->part_with_feature( veh_part, flag_CARGO, true ); if( cargopart >= 0 && ( !veh->get_items( cargopart ).empty() ) ) { actions.insert( ACTION_PICKUP ); } diff --git a/src/turret.cpp b/src/turret.cpp index bdaae9db90ea4..89b3ca8ca6656 100644 --- a/src/turret.cpp +++ b/src/turret.cpp @@ -64,7 +64,7 @@ turret_data vehicle::turret_query( const vehicle_part &pt ) const turret_data vehicle::turret_query( const tripoint &pos ) { - auto res = get_parts_at( pos, "TURRET", part_status_flag::any ); + auto res = get_parts_at( pos, flag_TURRET, part_status_flag::any ); return !res.empty() ? turret_query( *res.front() ) : turret_data(); } diff --git a/src/veh_interact.cpp b/src/veh_interact.cpp index 9107ea531bf10..b5fe18527e42f 100644 --- a/src/veh_interact.cpp +++ b/src/veh_interact.cpp @@ -2207,7 +2207,7 @@ void veh_interact::display_stats() const units::volume total_cargo = 0_ml; units::volume free_cargo = 0_ml; - for( const vpart_reference &vp : veh->get_any_parts( "CARGO" ) ) { + for( const vpart_reference &vp : veh->get_any_parts( flag_CARGO ) ) { const size_t p = vp.part_index(); total_cargo += veh->max_volume( p ); free_cargo += veh->free_volume( p ); @@ -2735,7 +2735,7 @@ void act_vehicle_unload_fuel( vehicle *veh ) uilist smenu; smenu.text = _( "Remove what?" ); for( auto &fuel : fuels ) { - if( fuel == fuel_type_plutonium_cell && veh->fuel_left( fuel ) < PLUTONIUM_CHARGES ) { + if( fuel == fuel_type_plut_cell && veh->fuel_left( fuel ) < PLUTONIUM_CHARGES ) { continue; } smenu.addentry( item::nname( fuel ) ); @@ -2751,7 +2751,7 @@ void act_vehicle_unload_fuel( vehicle *veh ) } int qty = veh->fuel_left( fuel ); - if( fuel == fuel_type_plutonium_cell ) { + if( fuel == fuel_type_plut_cell ) { if( qty / PLUTONIUM_CHARGES == 0 ) { add_msg( m_info, _( "The vehicle has no charged plutonium cells." ) ); return; diff --git a/src/veh_type.cpp b/src/veh_type.cpp index f4d3ab1a59529..a3d7418f8a196 100644 --- a/src/veh_type.cpp +++ b/src/veh_type.cpp @@ -449,7 +449,7 @@ void vpart_info::finalize() // Calculate and cache z-ordering based off of location // list_order is used when inspecting the vehicle - if( e.second.location == "on_roof" ) { + if( e.second.location == part_location_onroof ) { e.second.z_order = 9; e.second.list_order = 3; } else if( e.second.location == "on_cargo" ) { diff --git a/src/vehicle.cpp b/src/vehicle.cpp index a7eea2a7ddaf5..23d5ba0fa8dc7 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -228,7 +228,7 @@ bool vehicle::player_in_control( const player &p ) const const optional_vpart_position vp = g->m.veh_at( p.pos() ); if( vp && &vp->vehicle() == this && - ( ( part_with_feature( vp->part_index(), "CONTROL_ANIMAL", true ) >= 0 && + ( ( part_with_feature( vp->part_index(), flag_CONTROL_ANIMAL, true ) >= 0 && has_engine_type( fuel_type_animal, false ) && has_harnessed_animal() ) || ( part_with_feature( vp->part_index(), VPFLAG_CONTROLS, false ) >= 0 ) ) && p.controlling_vehicle ) { @@ -292,7 +292,7 @@ void vehicle::add_steerable_wheels() // Find wheels that have steerable versions. // Convert the wheel(s) with the largest x value. for( const vpart_reference &vp : get_all_parts() ) { - if( vp.has_feature( "STEERABLE" ) || vp.has_feature( "TRACKED" ) ) { + if( vp.has_feature( flag_STEERABLE ) || vp.has_feature( flag_TRACKED ) ) { // Has a wheel that is inherently steerable // (e.g. unicycle, casters), this vehicle doesn't // need conversion. @@ -440,15 +440,15 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) blood_inside = true; } - for( const vpart_reference &vp : get_parts_including_carried( "FRIDGE" ) ) { + for( const vpart_reference &vp : get_parts_including_carried( flag_FRIDGE ) ) { vp.part().enabled = true; } - for( const vpart_reference &vp : get_parts_including_carried( "FREEZER" ) ) { + for( const vpart_reference &vp : get_parts_including_carried( flag_FREEZER ) ) { vp.part().enabled = true; } - for( const vpart_reference &vp : get_parts_including_carried( "WATER_PURIFIER" ) ) { + for( const vpart_reference &vp : get_parts_including_carried( flag_WATER_PURIFIER ) ) { vp.part().enabled = true; } } @@ -465,44 +465,44 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) if( pt.is_reactor() ) { if( veh_fuel_mult == 100 ) { // Mint condition vehicle - pt.ammo_set( "plut_cell", pt.ammo_capacity() ); + pt.ammo_set( fuel_type_plut_cell, pt.ammo_capacity() ); } else if( one_in( 2 ) && veh_fuel_mult > 0 ) { // Randomize charge a bit - pt.ammo_set( "plut_cell", pt.ammo_capacity() * ( veh_fuel_mult + rng( 0, 10 ) ) / 100 ); + pt.ammo_set( fuel_type_plut_cell, pt.ammo_capacity() * ( veh_fuel_mult + rng( 0, 10 ) ) / 100 ); } else if( one_in( 2 ) && veh_fuel_mult > 0 ) { - pt.ammo_set( "plut_cell", pt.ammo_capacity() * ( veh_fuel_mult - rng( 0, 10 ) ) / 100 ); + pt.ammo_set( fuel_type_plut_cell, pt.ammo_capacity() * ( veh_fuel_mult - rng( 0, 10 ) ) / 100 ); } else { - pt.ammo_set( "plut_cell", pt.ammo_capacity() * veh_fuel_mult / 100 ); + pt.ammo_set( fuel_type_plut_cell, pt.ammo_capacity() * veh_fuel_mult / 100 ); } } if( pt.is_battery() ) { if( veh_fuel_mult == 100 ) { // Mint condition vehicle - pt.ammo_set( "battery", pt.ammo_capacity() ); + pt.ammo_set( fuel_type_battery, pt.ammo_capacity() ); } else if( one_in( 2 ) && veh_fuel_mult > 0 ) { // Randomize battery ammo a bit - pt.ammo_set( "battery", pt.ammo_capacity() * ( veh_fuel_mult + rng( 0, 10 ) ) / 100 ); + pt.ammo_set( fuel_type_battery, pt.ammo_capacity() * ( veh_fuel_mult + rng( 0, 10 ) ) / 100 ); } else if( one_in( 2 ) && veh_fuel_mult > 0 ) { - pt.ammo_set( "battery", pt.ammo_capacity() * ( veh_fuel_mult - rng( 0, 10 ) ) / 100 ); + pt.ammo_set( fuel_type_battery, pt.ammo_capacity() * ( veh_fuel_mult - rng( 0, 10 ) ) / 100 ); } else { - pt.ammo_set( "battery", pt.ammo_capacity() * veh_fuel_mult / 100 ); + pt.ammo_set( fuel_type_battery, pt.ammo_capacity() * veh_fuel_mult / 100 ); } } - if( pt.is_tank() && type->parts[p].fuel != "null" ) { + if( pt.is_tank() && type->parts[p].fuel != fuel_type_none ) { int qty = pt.ammo_capacity() * veh_fuel_mult / 100; qty *= std::max( item::find_type( type->parts[p].fuel )->stack_size, 1 ); qty /= to_milliliter( units::legacy_volume_factor ); pt.ammo_set( type->parts[ p ].fuel, qty ); - } else if( pt.is_fuel_store() && type->parts[p].fuel != "null" ) { + } else if( pt.is_fuel_store() && type->parts[p].fuel != fuel_type_none ) { int qty = pt.ammo_capacity() * veh_fuel_mult / 100; pt.ammo_set( type->parts[ p ].fuel, qty ); } - if( vp.has_feature( "OPENABLE" ) ) { // doors are closed + if( vp.has_feature( flag_OPENABLE ) ) { // doors are closed if( !pt.open && one_in( 4 ) ) { open( p ); } } - if( vp.has_feature( "BOARDABLE" ) ) { // no passengers + if( vp.has_feature( flag_BOARDABLE ) ) { // no passengers pt.remove_flag( vehicle_part::passenger_flag ); } @@ -537,9 +537,9 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) } while( one_in( 3 ) ); } - } else if( ( destroySeats && ( vp.has_feature( "SEAT" ) || vp.has_feature( "SEATBELT" ) ) ) || - ( destroyControls && ( vp.has_feature( "CONTROLS" ) || vp.has_feature( "SECURITY" ) ) ) || - ( destroyAlarm && vp.has_feature( "SECURITY" ) ) ) { + } else if( ( destroySeats && ( vp.has_feature( flag_SEAT ) || vp.has_feature( flag_SEATBELT ) ) ) || + ( destroyControls && ( vp.has_feature( flag_CONTROLS ) || vp.has_feature( flag_SECURITY ) ) ) || + ( destroyAlarm && vp.has_feature( flag_SECURITY ) ) ) { set_hp( pt, 0 ); } @@ -550,7 +550,7 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) } //Solar panels have 25% of being destroyed - if( vp.has_feature( "SOLAR_PANEL" ) && one_in( 4 ) ) { + if( vp.has_feature( flag_SOLAR_PANEL ) && one_in( 4 ) ) { set_hp( pt, 0 ); } @@ -577,14 +577,14 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) if( distSq <= 1 ) { pt.blood = rng( 200, 400 ) - distSq * 100; } - } else if( vp.has_feature( "SEAT" ) ) { + } else if( vp.has_feature( flag_SEAT ) ) { // Set the center of the bloody mess inside blood_inside_pos.emplace( vp.mount() ); } } } //sets the vehicle to locked, if there is no key and an alarm part exists - if( vp.has_feature( "SECURITY" ) && has_no_key && pt.is_available() ) { + if( vp.has_feature( flag_SECURITY ) && has_no_key && pt.is_available() ) { is_locked = true; if( one_in( 2 ) ) { @@ -653,7 +653,7 @@ void vehicle::autopilot_patrol() return; } zone_manager &mgr = zone_manager::get_manager(); - const auto &zone_src_set = mgr.get_near( zone_type_id( "VEHICLE_PATROL" ), + const auto &zone_src_set = mgr.get_near( zone_type_VEHICLE_PATROL, g->m.getabs( global_pos3() ), 60 ); if( zone_src_set.empty() ) { is_patrolling = false; @@ -1556,15 +1556,15 @@ bool vehicle::can_unmount( const int p, std::string &reason ) const // Check if the part is required by another part. Do not allow removing those. // { "FLAG THAT IS REQUIRED", "FLAG THAT REQUIRES", "Reason why can't remove." } static const std::array, 9> blocking_flags = {{ - std::make_tuple( "ENGINE", "ALTERNATOR", translate_marker( "Remove attached alternator first." ) ), - std::make_tuple( "BELTABLE", "SEATBELT", translate_marker( "Remove attached seatbelt first." ) ), - std::make_tuple( "WINDOW", "CURTAIN", translate_marker( "Remove attached curtains first." ) ), - std::make_tuple( "CONTROLS", "ON_CONTROLS", translate_marker( "Remove the attached %s first." ) ), - std::make_tuple( "BATTERY_MOUNT", "NEEDS_BATTERY_MOUNT", translate_marker( "Remove battery from mount first." ) ), - std::make_tuple( "TURRET_MOUNT", "TURRET", translate_marker( "Remove attached mounted weapon first." ) ), - std::make_tuple( "WHEEL_MOUNT_LIGHT", "NEEDS_WHEEL_MOUNT_LIGHT", translate_marker( "Remove attached wheel first." ) ), - std::make_tuple( "WHEEL_MOUNT_MEDIUM", "NEEDS_WHEEL_MOUNT_MEDIUM", translate_marker( "Remove attached wheel first." ) ), - std::make_tuple( "WHEEL_MOUNT_HEAVY", "NEEDS_WHEEL_MOUNT_HEAVY", translate_marker( "Remove attached wheel first." ) ) + std::make_tuple( flag_ENGINE, flag_ALTERNATOR, translate_marker( "Remove attached alternator first." ) ), + std::make_tuple( flag_BELTABLE, flag_SEATBELT, translate_marker( "Remove attached seatbelt first." ) ), + std::make_tuple( flag_WINDOW, flag_CURTAIN, translate_marker( "Remove attached curtains first." ) ), + std::make_tuple( flag_CONTROLS, flag_ON_CONTROLS, translate_marker( "Remove the attached %s first." ) ), + std::make_tuple( flag_BATTERY_MOUNT, flag_NEEDS_BATTERY_MOUNT, translate_marker( "Remove battery from mount first." ) ), + std::make_tuple( flag_TURRET_MOUNT, flag_TURRET, translate_marker( "Remove attached mounted weapon first." ) ), + std::make_tuple( flag_WHEEL_MOUNT_LIGHT, flag_NEEDS_WHEEL_MOUNT_LIGHT, translate_marker( "Remove attached wheel first." ) ), + std::make_tuple( flag_WHEEL_MOUNT_MEDIUM, flag_NEEDS_WHEEL_MOUNT_MEDIUM, translate_marker( "Remove attached wheel first." ) ), + std::make_tuple( flag_WHEEL_MOUNT_HEAVY, flag_NEEDS_WHEEL_MOUNT_HEAVY, translate_marker( "Remove attached wheel first." ) ) } }; for( auto &flag_check : blocking_flags ) { @@ -1747,26 +1747,26 @@ int vehicle::install_part( const point &dp, const vehicle_part &new_part ) } else { // TODO: read toggle groups from JSON static const std::vector enable_like = {{ - "CONE_LIGHT", - "CIRCLE_LIGHT", - "AISLE_LIGHT", - "AUTOPILOT", - "DOME_LIGHT", - "ATOMIC_LIGHT", - "STEREO", - "CHIMES", - "FRIDGE", - "FREEZER", - "RECHARGE", - "PLOW", - "REAPER", - "PLANTER", - "SCOOP", - "SPACE_HEATER", - "COOLER", - "WATER_PURIFIER", - "ROCKWHEEL", - "ROADHEAD" + flag_CONE_LIGHT, + flag_CIRCLE_LIGHT, + flag_AISLE_LIGHT, + flag_AUTOPILOT, + flag_DOME_LIGHT, + flag_ATOMIC_LIGHT, + flag_STEREO, + flag_CHIMES, + flag_FRIDGE, + flag_FREEZER, + flag_RECHARGE, + flag_PLOW, + flag_REAPER, + flag_PLANTER, + flag_SCOOP, + flag_SPACE_HEATER, + flag_COOLER, + flag_WATER_PURIFIER, + flag_ROCKWHEEL, + flag_ROADHEAD } }; @@ -2027,12 +2027,12 @@ bool vehicle::remove_part( const int p, RemovePartHandler &handler ) // if a windshield is removed (usually destroyed) also remove curtains // attached to it. - if( remove_dependent_part( "WINDOW", "CURTAIN" ) || part_flag( p, VPFLAG_OPAQUE ) ) { + if( remove_dependent_part( flag_WINDOW, flag_CURTAIN ) || part_flag( p, VPFLAG_OPAQUE ) ) { handler.set_transparency_cache_dirty( sm_pos.z ); } - remove_dependent_part( "SEAT", "SEATBELT" ); - remove_dependent_part( "BATTERY_MOUNT", "NEEDS_BATTERY_MOUNT" ); + remove_dependent_part( flag_SEAT, flag_SEATBELT ); + remove_dependent_part( flag_BATTERY_MOUNT, flag_NEEDS_BATTERY_MOUNT ); // Release any animal held by the part if( parts[p].has_flag( vehicle_part::animal_flag ) ) { @@ -2938,7 +2938,7 @@ std::vector> vehicle::find_lines_of_parts( int part, const std: point target = parts[ part ].mount; for( const vpart_reference &vp : possible_parts ) { if( vp.part().is_unavailable() || - !vp.has_feature( "MULTISQUARE" ) || + !vp.has_feature( flag_MULTISQUARE ) || vp.info().get_id() != part_id ) { continue; } @@ -3114,7 +3114,7 @@ int vehicle::roof_at_part( const int part ) const { std::vector parts_in_square = parts_at_relative( parts[part].mount, true ); for( const int p : parts_in_square ) { - if( part_info( p ).location == "on_roof" || part_flag( p, flag_ROOF ) ) { + if( part_info( p ).location == part_location_onroof || part_flag( p, flag_ROOF ) ) { return p; } } @@ -4382,9 +4382,8 @@ std::map vehicle::fuel_usage() const const size_t e = engines[ i ]; const auto &info = part_info( e ); - static const itype_id null_fuel_type( "null" ); const itype_id &cur_fuel = parts[ e ].fuel_current(); - if( cur_fuel == null_fuel_type ) { + if( cur_fuel == fuel_type_none ) { continue; } @@ -4713,11 +4712,11 @@ void vehicle::power_parts() if( battery_deficit != 0 ) { // Scoops need a special case since they consume power during actual use - for( const vpart_reference &vp : get_enabled_parts( "SCOOP" ) ) { + for( const vpart_reference &vp : get_enabled_parts( flag_SCOOP ) ) { vp.part().enabled = false; } // Rechargers need special case since they consume power on demand - for( const vpart_reference &vp : get_enabled_parts( "RECHARGE" ) ) { + for( const vpart_reference &vp : get_enabled_parts( flag_RECHARGE ) ) { vp.part().enabled = false; } @@ -4953,7 +4952,7 @@ void vehicle::idle( bool on_map ) } if( !warm_enough_to_plant( g->u.pos() ) ) { - for( const vpart_reference &vp : get_enabled_parts( "PLANTER" ) ) { + for( const vpart_reference &vp : get_enabled_parts( flag_PLANTER ) ) { if( g->u.sees( global_pos3() ) ) { add_msg( _( "The %s's planter turns off due to low temperature." ), name ); } @@ -4967,15 +4966,15 @@ void vehicle::idle( bool on_map ) update_time( calendar::turn ); } - if( has_part( "STEREO", true ) ) { + if( has_part( flag_STEREO, true ) ) { play_music(); } - if( has_part( "CHIMES", true ) ) { + if( has_part( flag_CHIMES, true ) ) { play_chimes(); } - if( has_part( "CRASH_TERRAIN_AROUND", true ) ) { + if( has_part( flag_CRASH_TERRAIN_AROUND, true ) ) { crash_terrain_around(); } @@ -4986,16 +4985,16 @@ void vehicle::idle( bool on_map ) void vehicle::on_move() { - if( has_part( "TRANSFORM_TERRAIN", true ) ) { + if( has_part( flag_TRANSFORM_TERRAIN, true ) ) { transform_terrain(); } - if( has_part( "SCOOP", true ) ) { + if( has_part( flag_SCOOP, true ) ) { operate_scoop(); } - if( has_part( "PLANTER", true ) ) { + if( has_part( flag_PLANTER, true ) ) { operate_planter(); } - if( has_part( "REAPER", true ) ) { + if( has_part( flag_REAPER, true ) ) { operate_reaper(); } @@ -5017,11 +5016,11 @@ void vehicle::slow_leak() const tripoint dest = global_pos3() + tripoint( q, 0 ); // damaged batteries self-discharge without leaking, plutonium leaks slurry - if( fuel != fuel_type_battery && fuel != fuel_type_plutonium_cell ) { + if( fuel != fuel_type_battery && fuel != fuel_type_plut_cell ) { item leak( fuel, calendar::turn, qty ); g->m.add_item_or_charges( dest, leak ); p.ammo_consume( qty, global_part_pos3( p ) ); - } else if( fuel == fuel_type_plutonium_cell ) { + } else if( fuel == fuel_type_plut_cell ) { if( p.ammo_remaining() >= PLUTONIUM_CHARGES / 10 ) { item leak( "plut_slurry_dense", calendar::turn, qty ); g->m.add_item_or_charges( dest, leak ); @@ -5057,7 +5056,7 @@ void vehicle::make_active( item_location &loc ) if( !target.needs_processing() ) { return; } - auto cargo_parts = get_parts_at( loc.position(), "CARGO", part_status_flag::any ); + auto cargo_parts = get_parts_at( loc.position(), flag_CARGO, part_status_flag::any ); if( cargo_parts.empty() ) { return; } @@ -5190,7 +5189,7 @@ void vehicle::place_spawn_items() for( const auto &pt : type->parts ) { if( pt.with_ammo ) { - int turret = part_with_feature( pt.pos, "TURRET", true ); + int turret = part_with_feature( pt.pos, flag_TURRET, true ); if( turret >= 0 && x_in_y( pt.with_ammo, 100 ) ) { parts[ turret ].ammo_set( random_entry( pt.ammo_types ), rng( pt.ammo_qty.first, pt.ammo_qty.second ) ); @@ -5200,7 +5199,7 @@ void vehicle::place_spawn_items() for( const auto &spawn : type.obj().item_spawns ) { if( rng( 1, 100 ) <= spawn.chance ) { - int part = part_with_feature( spawn.pos, "CARGO", false ); + int part = part_with_feature( spawn.pos, flag_CARGO, false ); if( part < 0 ) { debugmsg( "No CARGO parts at (%d, %d) of %s!", spawn.pos.x, spawn.pos.y, name ); @@ -5482,7 +5481,8 @@ void vehicle::refresh() } else if( !camera_on && vpi.has_flag( flag_CAMERA ) ) { vp.part().enabled = false; } - if( vpi.has_flag( flag_TURRET ) && !has_part( global_part_pos3( vp.part() ), "TURRET_CONTROLS" ) ) { + if( vpi.has_flag( flag_TURRET ) && + !has_part( global_part_pos3( vp.part() ), flag_TURRET_CONTROLS ) ) { vp.part().enabled = false; } } @@ -5589,7 +5589,7 @@ void vehicle::refresh_pivot() const // broken wheels don't roll on either axis weight_i = contact_area * 2.0; weight_p = contact_area * 2.0; - } else if( part_with_feature( wheel.mount, "STEERABLE", true ) != -1 ) { + } else if( part_with_feature( wheel.mount, flag_STEERABLE, true ) != -1 ) { // Unbroken steerable wheels can handle motion on both axes // (but roll a little more easily inline) weight_i = contact_area * 0.1; @@ -5658,7 +5658,7 @@ void vehicle::shed_loose_parts() bool vehicle::enclosed_at( const tripoint &pos ) { refresh_insides(); - std::vector parts_here = get_parts_at( pos, "BOARDABLE", + std::vector parts_here = get_parts_at( pos, flag_BOARDABLE, part_status_flag::working ); if( !parts_here.empty() ) { return parts_here.front()->inside; @@ -5679,7 +5679,7 @@ void vehicle::refresh_insides() } /* If there's no roof, or there is a roof but it's broken, it's outside. * (Use short-circuiting && so broken frames don't screw this up) */ - if( !( part_with_feature( p, "ROOF", true ) >= 0 && vp.part().is_available() ) ) { + if( !( part_with_feature( p, flag_ROOF, true ) >= 0 && vp.part().is_available() ) ) { vp.part().inside = false; continue; } @@ -5785,7 +5785,7 @@ int vehicle::damage( int p, int dmg, damage_type type, bool aimed ) int damage_dealt; - int armor_part = part_with_feature( p, "ARMOR", true ); + int armor_part = part_with_feature( p, flag_ARMOR, true ); if( armor_part < 0 ) { // Not covered by armor -- damage part damage_dealt = damage_direct( target_part, dmg, type ); @@ -5794,7 +5794,7 @@ int vehicle::damage( int p, int dmg, damage_type type, bool aimed ) int protection = part_info( armor_part ).damage_reduction[ type ]; // Parts on roof aren't protected bool overhead = part_flag( target_part, flag_ROOF ) || - part_info( target_part ).location == "on_roof"; + part_info( target_part ).location == part_location_onroof; // Calling damage_direct may remove the damaged part // completely, therefore the other index (target_part) becomes // wrong if target_part > armor_part. @@ -5880,8 +5880,8 @@ bool vehicle::shift_if_needed() } //Find a frame, any frame, to shift to for( const vpart_reference &vp : get_all_parts() ) { - if( vp.info().location == "structure" - && !vp.has_feature( "PROTRUSION" ) + if( vp.info().location == part_location_structure + && !vp.has_feature( flag_PROTRUSION ) && !vp.part().removed ) { shift_parts( vp.mount() ); refresh(); @@ -6090,7 +6090,7 @@ std::map vehicle::fuels_left() const bool vehicle::is_foldable() const { for( const vpart_reference &vp : get_all_parts() ) { - if( !vp.has_feature( "FOLDABLE" ) ) { + if( !vp.has_feature( flag_FOLDABLE ) ) { return false; } } @@ -6276,12 +6276,12 @@ void vehicle::update_time( const time_point &update_to ) int cost_to_purify = c_qty * item::find_type( "water_purifier" )->charges_to_use(); if( qty > 0 ) { - if( has_part( global_part_pos3( pt ), "WATER_PURIFIER", true ) && - ( fuel_left( "battery", true ) > cost_to_purify ) ) { - tank->ammo_set( "water_clean", c_qty ); + if( has_part( global_part_pos3( pt ), flag_WATER_PURIFIER, true ) && + ( fuel_left( fuel_type_battery, true ) > cost_to_purify ) ) { + tank->ammo_set( fuel_type_water_clean, c_qty ); discharge_battery( cost_to_purify ); } else { - tank->ammo_set( "water", tank->ammo_remaining() + qty ); + tank->ammo_set( fuel_type_water, tank->ammo_remaining() + qty ); } invalidate_mass(); } @@ -6444,7 +6444,7 @@ bool vehicle::refresh_zones() zone_data zone = z.second; //Get the global position of the first cargo part at the relative coordinate - const int part_idx = part_with_feature( z.first, "CARGO", false ); + const int part_idx = part_with_feature( z.first, flag_CARGO, false ); if( part_idx == -1 ) { debugmsg( "Could not find cargo part at %d,%d on vehicle %s for loot zone. Removing loot zone.", z.first.x, z.first.y, this->name ); diff --git a/src/vehicle_move.cpp b/src/vehicle_move.cpp index fe75bf33e5588..12b33b78c7baf 100644 --- a/src/vehicle_move.cpp +++ b/src/vehicle_move.cpp @@ -512,7 +512,7 @@ veh_collision vehicle::part_collision( int part, const tripoint &p, !g->m.has_flag_ter_or_furn( flag_TINY, p ) ) && // Protrusions don't collide with short terrain. // Tiny also doesn't, but it's already excluded unless there's a wheel present. - !( part_with_feature( ret.part, "PROTRUSION", true ) >= 0 && + !( part_with_feature( ret.part, flag_PROTRUSION, true ) >= 0 && g->m.has_flag_ter_or_furn( flag_SHORT, p ) ) && // These are bashable, but don't interact with vehicles. !g->m.has_flag_ter_or_furn( flag_NOCOLLIDE, p ) && diff --git a/src/vehicle_use.cpp b/src/vehicle_use.cpp index f09462cf799c1..b0679c78ead31 100644 --- a/src/vehicle_use.cpp +++ b/src/vehicle_use.cpp @@ -256,11 +256,11 @@ void vehicle::set_electronics_menu_options( std::vector &options, add_toggle( pgettext( "electronics menu option", "water purifier" ), keybind( "TOGGLE_WATER_PURIFIER" ), "WATER_PURIFIER" ); - if( has_part( "DOOR_MOTOR" ) ) { + if( has_part( flag_DOOR_MOTOR ) ) { options.emplace_back( _( "Toggle doors" ), keybind( "TOGGLE_DOORS" ) ); actions.push_back( [&] { control_doors(); refresh(); } ); } - if( camera_on || ( has_part( "CAMERA" ) && has_part( "CAMERA_CONTROL" ) ) ) { + if( camera_on || ( has_part( flag_CAMERA ) && has_part( flag_CAMERA_CONTROL ) ) ) { options.emplace_back( camera_on ? colorize( _( "Turn off camera system" ), c_pink ) : _( "Turn on camera system" ), @@ -449,7 +449,7 @@ void vehicle::smash_security_system() for( int p : speciality ) { if( part_flag( p, flag_SECURITY ) && !parts[ p ].is_broken() ) { s = p; - c = part_with_feature( s, "CONTROLS", true ); + c = part_with_feature( s, flag_CONTROLS, true ); break; } } @@ -493,7 +493,7 @@ std::string vehicle::tracking_toggle_string() void vehicle::autopilot_patrol_check() { zone_manager &mgr = zone_manager::get_manager(); - if( mgr.has_near( zone_type_id( "VEHICLE_PATROL" ), g->m.getabs( global_pos3() ), 60 ) ) { + if( mgr.has_near( zone_type_VEHICLE_PATROL, g->m.getabs( global_pos3() ), 60 ) ) { enable_patrol(); } else { g->zones_manager(); @@ -562,7 +562,7 @@ void vehicle::use_controls( const tripoint &pos ) refresh(); } ); - has_electronic_controls = has_part( "CTRL_ELECTRONIC" ) || has_part( "REMOTE_CONTROLS" ); + has_electronic_controls = has_part( flag_CTRL_ELECTRONIC ) || has_part( flag_REMOTE_CONTROLS ); } else if( veh_pointer_or_null( g->m.veh_at( pos ) ) == this ) { if( g->u.controlling_vehicle ) { @@ -573,11 +573,12 @@ void vehicle::use_controls( const tripoint &pos ) refresh(); } ); } - has_electronic_controls = !get_parts_at( pos, "CTRL_ELECTRONIC", + has_electronic_controls = !get_parts_at( pos, flag_CTRL_ELECTRONIC, part_status_flag::any ).empty(); } - if( get_parts_at( pos, "CONTROLS", part_status_flag::any ).empty() && !has_electronic_controls ) { + if( get_parts_at( pos, flag_CONTROLS, part_status_flag::any ).empty() && + !has_electronic_controls ) { add_msg( m_info, _( "No controls there" ) ); return; } @@ -587,7 +588,7 @@ void vehicle::use_controls( const tripoint &pos ) return; } - if( has_part( "ENGINE" ) ) { + if( has_part( flag_ENGINE ) ) { if( g->u.controlling_vehicle || ( remote && engine_on ) ) { options.emplace_back( _( "Stop driving" ), keybind( "TOGGLE_ENGINE" ) ); actions.push_back( [&] { @@ -649,12 +650,12 @@ void vehicle::use_controls( const tripoint &pos ) } } - if( has_part( "HORN" ) ) { + if( has_part( flag_HORN ) ) { options.emplace_back( _( "Honk horn" ), keybind( "SOUND_HORN" ) ); actions.push_back( [&] { honk_horn(); refresh(); } ); } - if( has_part( "AUTOPILOT" ) && ( has_part( "CTRL_ELECTRONIC" ) || - has_part( "REMOTE_CONTROLS" ) ) ) { + if( has_part( flag_AUTOPILOT ) && ( has_part( flag_CTRL_ELECTRONIC ) || + has_part( flag_REMOTE_CONTROLS ) ) ) { options.emplace_back( _( "Control autopilot" ), keybind( "CONTROL_AUTOPILOT" ) ); actions.push_back( [&] { toggle_autopilot(); refresh(); } ); @@ -684,7 +685,7 @@ void vehicle::use_controls( const tripoint &pos ) actions.push_back( [&] { fold_up(); } ); } - if( has_part( "ENGINE" ) ) { + if( has_part( flag_ENGINE ) ) { options.emplace_back( _( "Control individual engines" ), keybind( "CONTROL_ENGINES" ) ); actions.push_back( [&] { control_engines(); refresh(); } ); } @@ -694,7 +695,7 @@ void vehicle::use_controls( const tripoint &pos ) options.emplace_back( _( "Try to disarm alarm." ), keybind( "TOGGLE_ALARM" ) ); actions.push_back( [&] { smash_security_system(); refresh(); } ); - } else if( has_electronic_controls && has_part( "SECURITY" ) ) { + } else if( has_electronic_controls && has_part( flag_SECURITY ) ) { options.emplace_back( _( "Trigger alarm" ), keybind( "TOGGLE_ALARM" ) ); actions.push_back( [&] { is_alarm_on = true; @@ -704,7 +705,7 @@ void vehicle::use_controls( const tripoint &pos ) } } - if( has_part( "TURRET" ) ) { + if( has_part( flag_TURRET ) ) { options.emplace_back( _( "Set turret targeting modes" ), keybind( "TURRET_TARGET_MODE" ) ); actions.push_back( [&] { turrets_set_targeting(); refresh(); } ); @@ -780,7 +781,7 @@ bool vehicle::fold_up() item bicycle( can_be_folded ? "generic_folded_vehicle" : "folding_bicycle", calendar::turn ); // Drop stuff in containers on ground - for( const vpart_reference &vp : get_any_parts( "CARGO" ) ) { + for( const vpart_reference &vp : get_any_parts( flag_CARGO ) ) { const size_t p = vp.part_index(); for( auto &elem : get_items( p ) ) { g->m.add_item_or_charges( g->u.pos(), elem ); @@ -1152,7 +1153,7 @@ void vehicle::beeper_sound() void vehicle::play_music() { - for( const vpart_reference &vp : get_enabled_parts( "STEREO" ) ) { + for( const vpart_reference &vp : get_enabled_parts( flag_STEREO ) ) { iuse::play_music( g->u, vp.pos(), 15, 30 ); } } @@ -1163,7 +1164,7 @@ void vehicle::play_chimes() return; } - for( const vpart_reference &vp : get_enabled_parts( "CHIMES" ) ) { + for( const vpart_reference &vp : get_enabled_parts( flag_CHIMES ) ) { sounds::sound( vp.pos(), 40, sounds::sound_t::music, _( "a simple melody blaring from the loudspeakers." ), false, "vehicle", "chimes" ); } @@ -1174,7 +1175,7 @@ void vehicle::crash_terrain_around() if( total_power_w() <= 0 ) { return; } - for( const vpart_reference &vp : get_enabled_parts( "CRASH_TERRAIN_AROUND" ) ) { + for( const vpart_reference &vp : get_enabled_parts( flag_CRASH_TERRAIN_AROUND ) ) { tripoint crush_target( 0, 0, -OVERMAP_LAYERS ); const tripoint start_pos = vp.pos(); const transform_terrain_data &ttd = vp.info().transform_terrain; @@ -1205,7 +1206,7 @@ void vehicle::crash_terrain_around() void vehicle::transform_terrain() { - for( const vpart_reference &vp : get_enabled_parts( "TRANSFORM_TERRAIN" ) ) { + for( const vpart_reference &vp : get_enabled_parts( flag_TRANSFORM_TERRAIN ) ) { const tripoint start_pos = vp.pos(); const transform_terrain_data &ttd = vp.info().transform_terrain; bool prereq_fulfilled = false; @@ -1240,7 +1241,7 @@ void vehicle::transform_terrain() void vehicle::operate_reaper() { - for( const vpart_reference &vp : get_enabled_parts( "REAPER" ) ) { + for( const vpart_reference &vp : get_enabled_parts( flag_REAPER ) ) { const size_t reaper_id = vp.part_index(); const tripoint reaper_pos = vp.pos(); const int plant_produced = rng( 1, vp.info().bonus ); @@ -1267,7 +1268,7 @@ void vehicle::operate_reaper() } sounds::sound( reaper_pos, rng( 10, 25 ), sounds::sound_t::combat, _( "Swish" ), false, "vehicle", "reaper" ); - if( vp.has_feature( "CARGO" ) ) { + if( vp.has_feature( flag_CARGO ) ) { for( map_stack::iterator iter = items.begin(); iter != items.end(); ) { if( ( iter->volume() <= max_pickup_volume ) && add_item( reaper_id, *iter ) ) { @@ -1282,14 +1283,14 @@ void vehicle::operate_reaper() void vehicle::operate_planter() { - for( const vpart_reference &vp : get_enabled_parts( "PLANTER" ) ) { + for( const vpart_reference &vp : get_enabled_parts( flag_PLANTER ) ) { const size_t planter_id = vp.part_index(); const tripoint loc = vp.pos(); vehicle_stack v = get_items( planter_id ); for( auto i = v.begin(); i != v.end(); i++ ) { if( i->is_seed() ) { // If it is an "advanced model" then it will avoid damaging itself or becoming damaged. It's a real feature. - if( g->m.ter( loc ) != t_dirtmound && vp.has_feature( "ADVANCED_PLANTER" ) ) { + if( g->m.ter( loc ) != t_dirtmound && vp.has_feature( flag_ADVANCED_PLANTER ) ) { //then don't put the item there. break; } else if( g->m.ter( loc ) == t_dirtmound ) { @@ -1319,7 +1320,7 @@ void vehicle::operate_planter() void vehicle::operate_scoop() { - for( const vpart_reference &vp : get_enabled_parts( "SCOOP" ) ) { + for( const vpart_reference &vp : get_enabled_parts( flag_SCOOP ) ) { const size_t scoop = vp.part_index(); const int chance_to_damage_item = 9; const units::volume max_pickup_volume = vp.info().size / 10; @@ -1842,43 +1843,45 @@ void vehicle::interact_with( const tripoint &pos, int interact_part ) auto turret = turret_query( pos ); - const int curtain_part = avail_part_with_feature( interact_part, "CURTAIN", true ); + const int curtain_part = avail_part_with_feature( interact_part, flag_CURTAIN, true ); const bool curtain_closed = ( curtain_part == -1 ) ? false : !parts[curtain_part].open; - const bool has_kitchen = avail_part_with_feature( interact_part, "KITCHEN", true ) >= 0; - const bool has_faucet = avail_part_with_feature( interact_part, "FAUCET", true ) >= 0; - const bool has_towel = avail_part_with_feature( interact_part, "TOWEL", true ) >= 0; - const bool has_weldrig = avail_part_with_feature( interact_part, "WELDRIG", true ) >= 0; - const bool has_chemlab = avail_part_with_feature( interact_part, "CHEMLAB", true ) >= 0; - const bool has_purify = avail_part_with_feature( interact_part, "WATER_PURIFIER", true ) >= 0; - const bool has_controls = avail_part_with_feature( interact_part, "CONTROLS", true ) >= 0; - const bool has_electronics = avail_part_with_feature( interact_part, "CTRL_ELECTRONIC", true ) >= 0; - const int cargo_part = part_with_feature( interact_part, "CARGO", false ); + const bool has_kitchen = avail_part_with_feature( interact_part, flag_KITCHEN, true ) >= 0; + const bool has_faucet = avail_part_with_feature( interact_part, flag_FAUCET, true ) >= 0; + const bool has_towel = avail_part_with_feature( interact_part, flag_TOWEL, true ) >= 0; + const bool has_weldrig = avail_part_with_feature( interact_part, flag_WELDRIG, true ) >= 0; + const bool has_chemlab = avail_part_with_feature( interact_part, flag_CHEMLAB, true ) >= 0; + const bool has_purify = avail_part_with_feature( interact_part, flag_WATER_PURIFIER, true ) >= 0; + const bool has_controls = avail_part_with_feature( interact_part, flag_CONTROLS, true ) >= 0; + const bool has_electronics = avail_part_with_feature( interact_part, flag_CTRL_ELECTRONIC, + true ) >= 0; + const int cargo_part = part_with_feature( interact_part, flag_CARGO, false ); const bool from_vehicle = cargo_part >= 0 && !get_items( cargo_part ).empty(); const bool can_be_folded = is_foldable(); const bool is_convertible = tags.count( "convertible" ) > 0; const bool remotely_controlled = g->remoteveh() == this; - const int autoclave_part = avail_part_with_feature( interact_part, "AUTOCLAVE", true ); + const int autoclave_part = avail_part_with_feature( interact_part, flag_AUTOCLAVE, true ); const bool has_autoclave = autoclave_part >= 0; bool autoclave_on = ( autoclave_part == -1 ) ? false : parts[autoclave_part].enabled; - const int washing_machine_part = avail_part_with_feature( interact_part, "WASHING_MACHINE", true ); + const int washing_machine_part = avail_part_with_feature( interact_part, flag_WASHING_MACHINE, + true ); const bool has_washmachine = washing_machine_part >= 0; bool washing_machine_on = ( washing_machine_part == -1 ) ? false : parts[washing_machine_part].enabled; - const int dishwasher_part = avail_part_with_feature( interact_part, "DISHWASHER", true ); + const int dishwasher_part = avail_part_with_feature( interact_part, flag_DISHWASHER, true ); const bool has_dishwasher = dishwasher_part >= 0; bool dishwasher_on = ( dishwasher_part == -1 ) ? false : parts[dishwasher_part].enabled; - const int monster_capture_part = avail_part_with_feature( interact_part, "CAPTURE_MONSTER_VEH", + const int monster_capture_part = avail_part_with_feature( interact_part, flag_CAPTURE_MONSTER_VEH, true ); const bool has_monster_capture = monster_capture_part >= 0; - const int bike_rack_part = avail_part_with_feature( interact_part, "BIKE_RACK_VEH", true ); - const int harness_part = avail_part_with_feature( interact_part, "ANIMAL_CTRL", true ); + const int bike_rack_part = avail_part_with_feature( interact_part, flag_BIKE_RACK_VEH, true ); + const int harness_part = avail_part_with_feature( interact_part, flag_ANIMAL_CTRL, true ); const bool has_harness = harness_part >= 0; const bool has_bike_rack = bike_rack_part >= 0; - const bool has_planter = avail_part_with_feature( interact_part, "PLANTER", true ) >= 0 || - avail_part_with_feature( interact_part, "ADVANCED_PLANTER", true ) >= 0; - const int workbench_part = avail_part_with_feature( interact_part, "WORKBENCH", true ); + const bool has_planter = avail_part_with_feature( interact_part, flag_PLANTER, true ) >= 0 || + avail_part_with_feature( interact_part, flag_ADVANCED_PLANTER, true ) >= 0; + const int workbench_part = avail_part_with_feature( interact_part, flag_WORKBENCH, true ); const bool has_workbench = workbench_part >= 0; enum { @@ -2055,7 +2058,7 @@ void vehicle::interact_with( const tripoint &pos, int interact_part ) act.coords.push_back( pos ); // Finally tell if it is the vehicle part with welding rig act.values.resize( 2 ); - act.values[1] = part_with_feature( interact_part, "WELDRIG", true ); + act.values[1] = part_with_feature( interact_part, flag_WELDRIG, true ); } } return; diff --git a/src/visitable.cpp b/src/visitable.cpp index 216e71e91941e..859c67936830a 100644 --- a/src/visitable.cpp +++ b/src/visitable.cpp @@ -465,7 +465,7 @@ VisitResponse visitable::visit_items( { auto self = static_cast( this ); - int idx = self->veh.part_with_feature( self->part, "CARGO", true ); + int idx = self->veh.part_with_feature( self->part, flag_CARGO, true ); if( idx >= 0 ) { for( auto &e : self->veh.get_items( idx ) ) { if( visit_internal( func, &e ) == VisitResponse::ABORT ) { @@ -715,7 +715,7 @@ std::list visitable::remove_items_with( const return res; } - int idx = cur->veh.part_with_feature( cur->part, "CARGO", false ); + int idx = cur->veh.part_with_feature( cur->part, flag_CARGO, false ); if( idx < 0 ) { return res; } diff --git a/tests/vehicle_test.cpp b/tests/vehicle_test.cpp index ee7e528450364..46b35022da6b2 100644 --- a/tests/vehicle_test.cpp +++ b/tests/vehicle_test.cpp @@ -10,6 +10,7 @@ #include "enums.h" #include "type_id.h" #include "point.h" +#include "cata_string_consts.h" TEST_CASE( "detaching_vehicle_unboards_passengers" ) { @@ -55,7 +56,7 @@ TEST_CASE( "add_item_to_broken_vehicle_part" ) REQUIRE( veh_ptr != nullptr ); const tripoint pos = vehicle_origin + tripoint_west; - auto cargo_parts = veh_ptr->get_parts_at( pos, "CARGO", part_status_flag::any ); + auto cargo_parts = veh_ptr->get_parts_at( pos, flag_CARGO, part_status_flag::any ); REQUIRE( !cargo_parts.empty( ) ); vehicle_part *cargo_part = cargo_parts.front(); REQUIRE( cargo_part != nullptr ); diff --git a/tests/visitable_remove_test.cpp b/tests/visitable_remove_test.cpp index 2b8fce5a50d07..abd7bc2624602 100644 --- a/tests/visitable_remove_test.cpp +++ b/tests/visitable_remove_test.cpp @@ -22,6 +22,7 @@ #include "optional.h" #include "type_id.h" #include "point.h" +#include "cata_string_consts.h" template static int count_items( const T &src, const itype_id &id ) @@ -416,7 +417,7 @@ TEST_CASE( "visitable_remove", "[visitable]" ) return static_cast( g->m.veh_at( e ) ); } ) == 1 ); - const cata::optional vp = g->m.veh_at( veh ).part_with_feature( "CARGO", true ); + const cata::optional vp = g->m.veh_at( veh ).part_with_feature( flag_CARGO, true ); REQUIRE( vp ); vehicle *const v = &vp->vehicle(); const int part = vp->part_index(); From 4e3f9e114809a22e66634640d2009a4dc57b6a6c Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Sun, 23 Feb 2020 12:34:13 -0500 Subject: [PATCH 06/71] fix spelling error (#38231) --- data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json | 2 +- data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json | 4 ++-- data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json index 2057b0d5855e5..479afcc5931d7 100644 --- a/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json @@ -59,7 +59,7 @@ "condition": { "u_is_wearing": "badge_marshal" } }, { - "text": "Hi, looks like you are building a forage setup.", + "text": "Hi, looks like you are building a forge setup.", "topic": "TALK_ISHERWOOD_CARLOS_TALK1", "effect": { "u_add_var": "u_met_carlos_isherwood", "type": "general", "context": "meeting", "value": "yes" } }, diff --git a/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json index 9cc39feab88af..3e3cf878fd831 100644 --- a/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json @@ -164,8 +164,8 @@ { "type": "talk_topic", "id": "TALK_EDDIE_CARLOS", - "dynamic_line": "Carlos will be in his workshop if he isn't out hunting. He is trying to get a forage set up.", - "speaker_effect": { "effect": { "u_add_var": "u_learned_about_forage", "type": "general", "context": "meeting", "value": "yes" } }, + "dynamic_line": "Carlos will be in his workshop if he isn't out hunting. He is trying to get a forge set up.", + "speaker_effect": { "effect": { "u_add_var": "u_learned_about_forge", "type": "general", "context": "meeting", "value": "yes" } }, "responses": [ { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_EDDIE_TOPICS" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } diff --git a/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json index c934bed3d7820..65142463fc41a 100644 --- a/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json @@ -155,7 +155,7 @@ { "type": "talk_topic", "id": "TALK_JESSE_CARLOS", - "dynamic_line": "Carlos will be in his workshop if he isn't out hunting. He is trying to get a forage set up.", + "dynamic_line": "Carlos will be in his workshop if he isn't out hunting. He is trying to get a forge set up.", "responses": [ { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_JESSE_TOPICS" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } From 087338b53ed3552590e1dcc73ba2b057a8ba937b Mon Sep 17 00:00:00 2001 From: Lil Shining Man <56778776+LilShiningMan@users.noreply.github.com> Date: Sun, 23 Feb 2020 09:36:07 -0800 Subject: [PATCH 07/71] item_groups penultimate (#38240) item_groups sorting --- data/json/itemgroups/art_antiques_crafts.json | 270 +++++++++ data/json/itemgroups/drugs.json | 5 + data/json/itemgroups/electronics.json | 11 + data/json/itemgroups/item_groups.json | 550 ------------------ data/json/itemgroups/misc.json | 24 + data/json/itemgroups/monster_drops_lairs.json | 10 + data/json/itemgroups/trash_and_debris.json | 174 ++++++ data/json/itemgroups/weapons_misc.json | 62 ++ 8 files changed, 556 insertions(+), 550 deletions(-) create mode 100644 data/json/itemgroups/art_antiques_crafts.json create mode 100644 data/json/itemgroups/trash_and_debris.json create mode 100644 data/json/itemgroups/weapons_misc.json diff --git a/data/json/itemgroups/art_antiques_crafts.json b/data/json/itemgroups/art_antiques_crafts.json new file mode 100644 index 0000000000000..fe97e08571c3e --- /dev/null +++ b/data/json/itemgroups/art_antiques_crafts.json @@ -0,0 +1,270 @@ +[ + { + "type": "item_group", + "id": "art", + "items": [ + [ "petrified_eye", 1 ], + [ "spiral_stone", 20 ], + [ "cane", 10 ], + [ "candlestick", 20 ], + { "group": "tinware", "prob": 5 }, + [ "heels", 50 ], + [ "coat_fur_sf", 1 ], + [ "tricorne", 3 ], + [ "gold_bracelet", 8 ], + [ "gold_necklace", 8 ], + [ "gold_locket", 3 ], + [ "gold_ring", 8 ], + [ "gold_ear", 8 ], + [ "pearl_collar", 1 ], + [ "diamond_ring", 1 ], + [ "copper_bracelet", 1 ], + [ "copper_necklace", 1 ], + [ "copper_locket", 1 ], + [ "copper_ring", 1 ], + [ "copper_ear", 1 ], + [ "silver_bracelet", 10 ], + [ "silver_necklace", 10 ], + [ "silver_locket", 4 ], + [ "silver_ring", 10 ], + [ "silver_ear", 10 ], + [ "bead_ear", 10 ], + [ "jade_brooch", 2 ], + [ "diamond", 1 ], + [ "manual_dodge", 1 ], + [ "fancy_sunglasses", 2 ], + [ "pocketwatch", 5 ], + [ "well_pump", 1 ], + [ "nodachi", 1 ], + [ "katana", 2 ], + [ "rapier", 3 ], + [ "cavalry_sabre", 2 ], + [ "sf_watch", 5 ], + [ "platinum_watch", 1 ], + [ "ring_signet", 1 ], + [ "magic_8_ball", 1 ], + [ "coin_quarter", 1 ] + ] + }, + { + "type": "item_group", + "id": "medieval", + "items": [ + [ "katana", 2 ], + [ "katana_inferior", 2 ], + [ "cestus", 2 ], + [ "mace", 20 ], + [ "mace_inferior", 25 ], + [ "morningstar", 10 ], + [ "morningstar_inferior", 15 ], + [ "glaive", 10 ], + [ "rapier", 3 ], + [ "cavalry_sabre", 3 ], + [ "estoc", 3 ], + [ "estoc_inferior", 3 ], + [ "cutlass", 3 ], + [ "cutlass_inferior", 3 ], + [ "scimitar", 20 ], + [ "scimitar_inferior", 25 ], + [ "arming_sword", 25 ], + [ "arming_sword_inferior", 25 ], + [ "broadsword", 30 ], + [ "broadsword_inferior", 30 ], + [ "longsword", 25 ], + [ "longsword_inferior", 25 ], + [ "zweihander", 20 ], + [ "zweihander_inferior", 20 ], + [ "battleaxe", 20 ], + [ "battleaxe_inferior", 20 ], + [ "warhammer", 10 ], + [ "halberd", 5 ], + [ "lucern_hammer", 3 ], + [ "lucern_hammerfake", 5 ], + [ "pike", 5 ], + [ "pike_inferior", 10 ], + [ "spear_steel", 5 ], + [ "shillelagh", 3 ], + [ "shillelagh_weighted", 2 ], + [ "helmet_plate", 1 ], + [ "armor_plate", 2 ], + [ "huge_crossbow", 2 ], + [ "quiver", 2 ], + [ "quiver_large", 1 ], + [ "baldric", 4 ], + [ "nodachi", 1 ], + [ "nodachi_inferior", 2 ], + [ "gambeson", 3 ], + [ "tunic", 1 ], + [ "armor_lamellar", 2 ], + [ "armor_lightplate", 1 ], + [ "cuirass_lightplate", 2 ], + [ "armguard_lightplate", 1 ], + [ "legguard_lightplate", 1 ], + [ "armor_samurai", 1 ], + [ "helmet_kabuto", 1 ], + [ "gloves_plate", 1 ], + [ "boots_plate", 1 ], + [ "helmet_barbute", 1 ], + [ "helmet_conical", 1 ], + [ "helmet_galea", 1 ], + [ "helmet_nasal", 1 ], + [ "chainmail_suit", 1 ], + [ "chainmail_hood", 3 ], + [ "chainmail_vest", 3 ], + [ "chainmail_arms", 3 ], + [ "chainmail_legs", 3 ], + [ "chainmail_feet", 3 ], + [ "chainmail_hands", 3 ], + [ "legguard_metal", 1 ], + [ "textbook_weapwest", 5 ], + [ "textbook_weapeast", 5 ], + [ "textbook_armwest", 5 ], + [ "textbook_armeast", 5 ], + [ "textbook_armschina", 5 ], + [ "q_staff", 10 ], + [ "i_staff", 5 ], + [ "sword_bayonet", 10 ], + [ "bagh_nakha", 5 ], + [ "kris", 5 ], + [ "cheese_hard", 1 ], + [ "tinderbox", 4 ], + [ "flint_steel", 7 ], + [ "canteen_wood", 5 ], + [ "apron_leather", 1 ], + [ "pot_copper", 3 ], + { "group": "tinware", "prob": 10 } + ] + }, + { + "type": "item_group", + "id": "antique", + "ammo": 75, + "magazine": 100, + "items": [ + [ "oxylamp", 50 ], + [ "cow_bell", 15 ], + [ "sickle", 2 ], + [ "scythe", 2 ], + [ "hollow_cane", 2 ], + [ "sword_cane", 2 ], + [ "pipe_tobacco", 10 ], + [ "talking_doll", 10 ], + [ "brazier", 12 ], + [ "candle", 10 ], + [ "alarmclock", 10 ], + [ "golf_club", 10 ], + [ "pocketwatch", 8 ], + [ "cane", 12 ], + [ "bat", 8 ], + [ "football", 12 ], + [ "baseball", 12 ], + [ "glass_plate", 15 ], + [ "glass_bowl", 15 ], + [ "glass", 15 ], + [ "ceramic_cup", 15 ], + [ "ceramic_bowl", 15 ], + [ "ceramic_plate", 15 ], + { "group": "tinware", "prob": 25 }, + [ "bowling_ball", 12 ], + [ "spiral_stone", 1 ], + [ "petrified_eye", 1 ], + [ "teapot", 15 ], + [ "briefcase", 10 ], + [ "gold_watch", 5 ], + [ "silver_watch", 10 ], + [ "jade_brooch", 12 ], + [ "silver_locket", 8 ], + [ "gold_locket", 4 ], + [ "ring_signet", 4 ], + [ "ring_engagement", 2 ], + [ "ring_wedding", 1 ], + [ "pistol_flintlock", 4 ], + [ "carbine_flintlock", 4 ], + [ "rifle_flintlock", 4 ], + [ "boxing_gloves", 12 ], + [ "straw_doll", 1 ], + [ "pitchfork", 1 ], + [ "straw_sandals", 1 ], + [ "holy_symbol", 10 ], + [ "magic_8_ball", 1 ], + [ "coin_quarter", 1 ], + [ "bronze_medal", 1 ], + [ "silver_medal", 1 ], + [ "gold_medal", 1 ] + ] + }, + { + "type": "item_group", + "id": "antique_rare", + "items": [ + [ "trex_gun", 4 ], + [ "spiral_stone", 2 ], + [ "cutlass", 2 ], + [ "broadsword", 2 ], + [ "nodachi", 2 ], + [ "zweihander", 2 ], + [ "longsword", 2 ], + [ "katana", 2 ], + [ "kris", 2 ], + [ "rapier", 2 ], + [ "cavalry_sabre", 2 ], + [ "glaive", 2 ], + [ "naginata", 2 ], + [ "naginata_fake", 2 ], + [ "naginata_inferior", 3 ], + [ "estoc", 2 ], + [ "estoc_fake", 6 ], + [ "qiang", 3 ], + [ "halberd", 2 ], + [ "halberd_fake", 7 ], + [ "lucern_hammer", 2 ], + [ "lucern_hammerfake", 7 ], + [ "katana_fake", 4 ], + [ "katana_inferior", 8 ], + [ "zweihander_fake", 4 ], + [ "zweihander_inferior", 8 ], + [ "cutlass_fake", 4 ], + [ "cutlass_inferior", 8 ], + [ "jian", 2 ], + [ "jian_fake", 4 ], + [ "jian_inferior", 8 ], + [ "scimitar", 4 ], + [ "scimitar_fake", 8 ], + [ "arming_sword", 4 ], + [ "arming_sword_fake", 8 ], + [ "broadsword_fake", 4 ], + [ "broadsword_inferior", 8 ], + [ "longsword_fake", 4 ], + [ "longsword_inferior", 8 ], + [ "rapier_fake", 4 ], + [ "cavalry_sabre_fake", 4 ], + [ "wakizashi_fake", 4 ], + [ "wakizashi_inferior", 8 ], + [ "kris_fake", 8 ], + [ "pistol_flintlock", 4 ], + [ "carbine_flintlock", 4 ], + [ "rifle_flintlock", 4 ], + [ "petrified_eye", 2 ], + [ "ji", 1 ], + [ "dao", 3 ], + [ "sword_xiphos", 4 ], + [ "khopesh", 4 ], + [ "spear_dory", 3 ] + ] + }, + { + "id": "pottery", + "type": "item_group", + "items": [ + [ "bowl_clay", 10 ], + [ "clay_canister", 15 ], + [ "clay_hydria", 10 ], + [ "clay_watercont", 10 ], + [ "jug_clay", 15 ], + [ "ceramic_plate", 15 ], + [ "ceramic_bowl", 15 ], + [ "ceramic_cup", 15 ], + [ "jug_clay", 15 ] + ] + } +] diff --git a/data/json/itemgroups/drugs.json b/data/json/itemgroups/drugs.json index 865427188fcbf..038e054ecb350 100644 --- a/data/json/itemgroups/drugs.json +++ b/data/json/itemgroups/drugs.json @@ -147,5 +147,10 @@ [ "flu_shot", 5 ], [ "syringe", 8 ] ] + }, + { + "type": "item_group", + "id": "meth_ingredients", + "items": [ [ "dayquil", 2 ], [ "aspirin", 40 ], [ "adderall", 5 ], [ "energy_drink", 2 ], [ "caffeine", 20 ] ] } ] diff --git a/data/json/itemgroups/electronics.json b/data/json/itemgroups/electronics.json index 0beed9d1f863b..d6d6122259d8c 100644 --- a/data/json/itemgroups/electronics.json +++ b/data/json/itemgroups/electronics.json @@ -101,5 +101,16 @@ [ "l-stick", 1 ], [ "reading_light", 6 ] ] + }, + { + "type": "item_group", + "subtype": "distribution", + "id": "phones", + "items": [ + { "item": "cell_phone", "prob": 9, "charges-min": 0, "charges-max": 15 }, + { "item": "cell_phone", "prob": 1, "charges-min": 150, "charges-max": 150 }, + { "item": "smart_phone", "prob": 9, "charges-min": 0, "charges-max": 15 }, + { "item": "smart_phone", "prob": 1, "charges-min": 130, "charges-max": 130 } + ] } ] diff --git a/data/json/itemgroups/item_groups.json b/data/json/itemgroups/item_groups.json index 32fc78ef60dff..e424787c33ada 100644 --- a/data/json/itemgroups/item_groups.json +++ b/data/json/itemgroups/item_groups.json @@ -10,301 +10,6 @@ [ "beekeeping_gloves", 5 ] ] }, - { - "type": "item_group", - "id": "trash", - "ammo": 20, - "magazine": 50, - "items": [ - [ "plastic_shopping_bag", 35 ], - [ "iodine", 5 ], - [ "prussian_blue", 5 ], - [ "bum_wine", 5 ], - [ "meth", 2 ], - [ "heroin", 1 ], - [ "wrapper", 50 ], - [ "fp_loyalty_card", 5 ], - [ "string_6", 2 ], - [ "chain", 20 ], - [ "glass_sheet", 5 ], - { "item": "glass_shard", "prob": 20, "count": [ 1, 8 ] }, - [ "ceramic_shard", 15 ], - [ "stick", 95 ], - [ "seed_wheat", 5 ], - [ "seed_tomato", 5 ], - [ "seed_weed", 5 ], - [ "seed_flower", 5 ], - [ "seed_tobacco", 1 ], - [ "joint_roach", 5 ], - [ "pipe", 20 ], - [ "bag_plastic", 10 ], - [ "bottle_plastic", 10 ], - [ "bottle_plastic_small", 5 ], - [ "bag_canvas", 5 ], - [ "bag_canvas_small", 5 ], - [ "bottle_glass", 10 ], - [ "can_drink_unsealed", 10 ], - [ "can_food_unsealed", 10 ], - [ "box_small", 10 ], - [ "bubblewrap", 50 ], - [ "cig_butt", 30 ], - { "item": "lighter", "prob": 60, "charges-min": 0, "charges-max": 10 }, - { "item": "matches", "prob": 60, "charges-min": 0, "charges-max": 20 }, - [ "syringe", 8 ], - [ "tinder", 1 ], - [ "rag", 1 ], - [ "hairpin", 1 ], - [ "kevlar_plate", 1 ], - [ "ceramic_armor", 1 ], - [ "leather", 1 ], - [ "software_hacking", 10 ], - [ "news_regional", 8 ], - [ "file", 5 ], - [ "decoy_elfa", 10 ], - [ "recipe_elfa", 1 ], - [ "jug_plastic", 10 ], - [ "spray_can", 50 ], - [ "jar_glass", 10 ], - [ "jar_3l_glass", 8 ], - [ "flyer", 10 ], - [ "scorecard", 10 ], - [ "talking_doll", 60 ], - [ "marble", 65 ], - [ "handflare_dead", 3 ], - [ "creepy_doll", 1 ], - [ "straw_doll", 1 ], - [ "striped_shirt", 1 ], - [ "striped_pants", 1 ], - [ "foodperson_mask", 1 ], - [ "razor_blade", 10 ], - [ "survnote", 5 ], - [ "eclipse_glasses", 1 ], - [ "plastic_sheet", 5 ], - [ "balloon", 5 ], - [ "box_medium", 15 ], - [ "thermos", 30 ], - { "group": "tinware", "prob": 15 } - ] - }, - { - "type": "item_group", - "id": "trash_cart", - "items": [ - [ "bottle_plastic", 5 ], - [ "bottle_plastic_small", 15 ], - [ "bottle_glass", 2 ], - { "group": "tinware", "prob": 2 }, - [ "can_drink_unsealed", 5 ], - [ "plastic_shopping_bag", 13 ], - [ "bag_plastic", 15 ], - [ "wrapper", 30 ], - [ "flyer", 15 ], - [ "scorecard", 10 ], - [ "eclipse_glasses", 1 ], - [ "plastic_sheet", 5 ] - ] - }, - { - "type": "item_group", - "id": "art", - "items": [ - [ "petrified_eye", 1 ], - [ "spiral_stone", 20 ], - [ "cane", 10 ], - [ "candlestick", 20 ], - { "group": "tinware", "prob": 5 }, - [ "heels", 50 ], - [ "coat_fur_sf", 1 ], - [ "tricorne", 3 ], - [ "gold_bracelet", 8 ], - [ "gold_necklace", 8 ], - [ "gold_locket", 3 ], - [ "gold_ring", 8 ], - [ "gold_ear", 8 ], - [ "pearl_collar", 1 ], - [ "diamond_ring", 1 ], - [ "copper_bracelet", 1 ], - [ "copper_necklace", 1 ], - [ "copper_locket", 1 ], - [ "copper_ring", 1 ], - [ "copper_ear", 1 ], - [ "silver_bracelet", 10 ], - [ "silver_necklace", 10 ], - [ "silver_locket", 4 ], - [ "silver_ring", 10 ], - [ "silver_ear", 10 ], - [ "bead_ear", 10 ], - [ "jade_brooch", 2 ], - [ "diamond", 1 ], - [ "manual_dodge", 1 ], - [ "fancy_sunglasses", 2 ], - [ "pocketwatch", 5 ], - [ "well_pump", 1 ], - [ "nodachi", 1 ], - [ "katana", 2 ], - [ "rapier", 3 ], - [ "cavalry_sabre", 2 ], - [ "sf_watch", 5 ], - [ "platinum_watch", 1 ], - [ "ring_signet", 1 ], - [ "magic_8_ball", 1 ], - [ "coin_quarter", 1 ] - ] - }, - { - "type": "item_group", - "id": "medieval", - "items": [ - [ "katana", 2 ], - [ "katana_inferior", 2 ], - [ "cestus", 2 ], - [ "mace", 20 ], - [ "mace_inferior", 25 ], - [ "morningstar", 10 ], - [ "morningstar_inferior", 15 ], - [ "glaive", 10 ], - [ "rapier", 3 ], - [ "cavalry_sabre", 3 ], - [ "estoc", 3 ], - [ "estoc_inferior", 3 ], - [ "cutlass", 3 ], - [ "cutlass_inferior", 3 ], - [ "scimitar", 20 ], - [ "scimitar_inferior", 25 ], - [ "arming_sword", 25 ], - [ "arming_sword_inferior", 25 ], - [ "broadsword", 30 ], - [ "broadsword_inferior", 30 ], - [ "longsword", 25 ], - [ "longsword_inferior", 25 ], - [ "zweihander", 20 ], - [ "zweihander_inferior", 20 ], - [ "battleaxe", 20 ], - [ "battleaxe_inferior", 20 ], - [ "warhammer", 10 ], - [ "halberd", 5 ], - [ "lucern_hammer", 3 ], - [ "lucern_hammerfake", 5 ], - [ "pike", 5 ], - [ "pike_inferior", 10 ], - [ "spear_steel", 5 ], - [ "shillelagh", 3 ], - [ "shillelagh_weighted", 2 ], - [ "helmet_plate", 1 ], - [ "armor_plate", 2 ], - [ "huge_crossbow", 2 ], - [ "quiver", 2 ], - [ "quiver_large", 1 ], - [ "baldric", 4 ], - [ "nodachi", 1 ], - [ "nodachi_inferior", 2 ], - [ "gambeson", 3 ], - [ "tunic", 1 ], - [ "armor_lamellar", 2 ], - [ "armor_lightplate", 1 ], - [ "cuirass_lightplate", 2 ], - [ "armguard_lightplate", 1 ], - [ "legguard_lightplate", 1 ], - [ "armor_samurai", 1 ], - [ "helmet_kabuto", 1 ], - [ "gloves_plate", 1 ], - [ "boots_plate", 1 ], - [ "helmet_barbute", 1 ], - [ "helmet_conical", 1 ], - [ "helmet_galea", 1 ], - [ "helmet_nasal", 1 ], - [ "chainmail_suit", 1 ], - [ "chainmail_hood", 3 ], - [ "chainmail_vest", 3 ], - [ "chainmail_arms", 3 ], - [ "chainmail_legs", 3 ], - [ "chainmail_feet", 3 ], - [ "chainmail_hands", 3 ], - [ "legguard_metal", 1 ], - [ "textbook_weapwest", 5 ], - [ "textbook_weapeast", 5 ], - [ "textbook_armwest", 5 ], - [ "textbook_armeast", 5 ], - [ "textbook_armschina", 5 ], - [ "q_staff", 10 ], - [ "i_staff", 5 ], - [ "sword_bayonet", 10 ], - [ "bagh_nakha", 5 ], - [ "kris", 5 ], - [ "cheese_hard", 1 ], - [ "tinderbox", 4 ], - [ "flint_steel", 7 ], - [ "canteen_wood", 5 ], - [ "apron_leather", 1 ], - [ "pot_copper", 3 ], - { "group": "tinware", "prob": 10 } - ] - }, - { - "type": "item_group", - "id": "grenades", - "items": [ - [ "grenade", 30 ], - [ "grenade_inc", 30 ], - [ "flashbang", 30 ], - [ "EMPbomb", 20 ], - [ "grenade_emp", 5 ], - [ "gasbomb", 15 ], - [ "gasbomb_makeshift", 15 ], - [ "smokebomb", 50 ], - [ "dynamite", 50 ], - [ "mininuke", 5 ], - [ "c4", 50 ] - ] - }, - { - "type": "item_group", - "id": "weapons", - "items": [ - [ "chain", 20 ], - [ "knuckle_brass", 20 ], - [ "hammer", 35 ], - [ "wrench", 30 ], - [ "hammer_sledge", 4 ], - [ "hammer_sledge_short", 2 ], - [ "hatchet", 10 ], - [ "ax", 8 ], - [ "knife_combat", 14 ], - [ "kukri", 2 ], - [ "knife_hunting", 4 ], - [ "knife_rambo", 8 ], - [ "knife_rm42", 2 ], - [ "throwing_knife", 7 ], - [ "throwing_axe", 6 ], - [ "punch_dagger", 6 ], - [ "pipe", 20 ], - [ "bat", 60 ], - [ "bullwhip", 10 ], - [ "machete", 5 ], - [ "baton", 8 ], - [ "blackjack", 10 ], - [ "tazer", 3 ], - [ "rapier", 3 ], - [ "cavalry_sabre", 2 ], - [ "bat_metal", 60 ], - [ "e_tool", 2 ], - [ "knife_trench", 7 ], - [ "switchblade", 4 ], - [ "tonfa", 10 ], - [ "tonfa_wood", 10 ], - [ "shocktonfa_off", 5 ], - [ "tanto", 7 ], - [ "wakizashi", 3 ], - [ "nodachi", 1 ], - [ "katana", 2 ], - [ "survnote", 1 ] - ] - }, - { - "type": "item_group", - "id": "spiral", - "items": [ [ "spiral_stone", 20 ], [ "vortex_stone", 2 ] ] - }, { "type": "item_group", "id": "radio", @@ -511,22 +216,6 @@ [ "lsd", 6 ] ] }, - { - "type": "item_group", - "id": "wreckage", - "items": [ - [ "chain", 20 ], - [ "steel_chunk", 30 ], - [ "spring", 50 ], - [ "steel_lump", 30 ], - [ "frame", 20 ], - [ "hdframe", 20 ], - [ "cu_pipe", 25 ], - [ "scrap_copper", 50 ], - [ "rock", 40 ], - [ "survnote", 1 ] - ] - }, { "type": "item_group", "id": "moonshine_brew", @@ -541,235 +230,6 @@ [ "chem_ethanol", 5 ] ] }, - { - "type": "item_group", - "id": "cow", - "items": [ [ "cow_bell", 1 ] ] - }, - { - "type": "item_group", - "id": "dog_cop", - "items": [ [ "kevlar_harness", 1 ] ] - }, - { - "type": "item_group", - "id": "tobacco_products", - "items": [ - [ "cig", 60 ], - [ "tobacco", 20 ], - [ "chaw", 20 ], - [ "cigar", 10 ], - [ "ecig", 10 ], - [ "advanced_ecig", 8 ], - [ "nicotine_liquid", 15 ], - [ "pipe_tobacco", 10 ] - ] - }, - { - "type": "item_group", - "id": "trash_forest", - "items": [ - { "group": "ammo_casings", "prob": 3 }, - [ "rock", 5 ], - [ "ceramic_shard", 5 ], - [ "stick", 5 ], - [ "pine_bough", 2 ], - [ "hickory_root", 2 ], - [ "hickory_nut", 3 ], - [ "acorns", 2 ], - [ "pinecone", 3 ], - [ "flyer", 1 ], - [ "fp_loyalty_card", 1 ], - [ "one_year_old_newspaper", 1 ], - [ "months_old_newspaper", 2 ], - [ "weeks_old_newspaper", 3 ], - [ "newest_newspaper", 4 ], - [ "bag_plastic", 3 ], - [ "bottle_plastic", 2 ], - [ "bottle_plastic_small", 1 ], - [ "bag_canvas", 1 ], - [ "bag_canvas_small", 1 ], - [ "cup_plastic_unsealed", 3 ], - [ "bottle_glass", 1 ], - { "group": "tinware", "prob": 3 }, - [ "can_drink_unsealed", 2 ], - [ "can_food_unsealed", 1 ], - [ "box_small", 5 ], - [ "box_medium", 3 ], - [ "box_large", 1 ], - [ "plastic_sheet", 1 ], - [ "jug_plastic", 1 ], - [ "jar_glass", 2 ], - [ "jar_3l_glass", 1 ], - [ "wrapper", 3 ], - { "item": "withered", "prob": 5, "count-min": 1, "count-max": 10 }, - [ "straw_pile", 5 ], - [ "tinder", 1 ], - { "item": "plant_fibre", "prob": 2, "count-min": 1, "count-max": 10 }, - [ "string_6", 1 ], - [ "cig_butt", 4 ], - [ "string_36", 1 ], - [ "steel_lump", 1 ], - [ "steel_chunk", 1 ], - { "item": "scrap", "prob": 2, "count-min": 1, "count-max": 10 }, - { "item": "glass_shard", "prob": 3, "count-min": 8, "count-max": 84 }, - { "item": "feather", "prob": 5, "count-min": 5, "count-max": 10 }, - [ "wire", 1 ], - [ "wire_barbed", 1 ], - [ "splinter", 3 ], - [ "rag", 2 ], - [ "rag_bloody", 1 ], - [ "bone", 2 ], - [ "syringe", 1 ], - [ "spike", 1 ], - [ "tanbark", 2 ], - [ "thermos", 1 ], - [ "bag_body_bag", 1 ] - ] - }, - { - "type": "item_group", - "id": "antique", - "ammo": 75, - "magazine": 100, - "items": [ - [ "oxylamp", 50 ], - [ "cow_bell", 15 ], - [ "sickle", 2 ], - [ "scythe", 2 ], - [ "hollow_cane", 2 ], - [ "sword_cane", 2 ], - [ "pipe_tobacco", 10 ], - [ "talking_doll", 10 ], - [ "brazier", 12 ], - [ "candle", 10 ], - [ "alarmclock", 10 ], - [ "golf_club", 10 ], - [ "pocketwatch", 8 ], - [ "cane", 12 ], - [ "bat", 8 ], - [ "football", 12 ], - [ "baseball", 12 ], - [ "glass_plate", 15 ], - [ "glass_bowl", 15 ], - [ "glass", 15 ], - [ "ceramic_cup", 15 ], - [ "ceramic_bowl", 15 ], - [ "ceramic_plate", 15 ], - { "group": "tinware", "prob": 25 }, - [ "bowling_ball", 12 ], - [ "spiral_stone", 1 ], - [ "petrified_eye", 1 ], - [ "teapot", 15 ], - [ "briefcase", 10 ], - [ "gold_watch", 5 ], - [ "silver_watch", 10 ], - [ "jade_brooch", 12 ], - [ "silver_locket", 8 ], - [ "gold_locket", 4 ], - [ "ring_signet", 4 ], - [ "ring_engagement", 2 ], - [ "ring_wedding", 1 ], - [ "pistol_flintlock", 4 ], - [ "carbine_flintlock", 4 ], - [ "rifle_flintlock", 4 ], - [ "boxing_gloves", 12 ], - [ "straw_doll", 1 ], - [ "pitchfork", 1 ], - [ "straw_sandals", 1 ], - [ "holy_symbol", 10 ], - [ "magic_8_ball", 1 ], - [ "coin_quarter", 1 ], - [ "bronze_medal", 1 ], - [ "silver_medal", 1 ], - [ "gold_medal", 1 ] - ] - }, - { - "type": "item_group", - "id": "antique_rare", - "items": [ - [ "trex_gun", 4 ], - [ "spiral_stone", 2 ], - [ "cutlass", 2 ], - [ "broadsword", 2 ], - [ "nodachi", 2 ], - [ "zweihander", 2 ], - [ "longsword", 2 ], - [ "katana", 2 ], - [ "kris", 2 ], - [ "rapier", 2 ], - [ "cavalry_sabre", 2 ], - [ "glaive", 2 ], - [ "naginata", 2 ], - [ "naginata_fake", 2 ], - [ "naginata_inferior", 3 ], - [ "estoc", 2 ], - [ "estoc_fake", 6 ], - [ "qiang", 3 ], - [ "halberd", 2 ], - [ "halberd_fake", 7 ], - [ "lucern_hammer", 2 ], - [ "lucern_hammerfake", 7 ], - [ "katana_fake", 4 ], - [ "katana_inferior", 8 ], - [ "zweihander_fake", 4 ], - [ "zweihander_inferior", 8 ], - [ "cutlass_fake", 4 ], - [ "cutlass_inferior", 8 ], - [ "jian", 2 ], - [ "jian_fake", 4 ], - [ "jian_inferior", 8 ], - [ "scimitar", 4 ], - [ "scimitar_fake", 8 ], - [ "arming_sword", 4 ], - [ "arming_sword_fake", 8 ], - [ "broadsword_fake", 4 ], - [ "broadsword_inferior", 8 ], - [ "longsword_fake", 4 ], - [ "longsword_inferior", 8 ], - [ "rapier_fake", 4 ], - [ "cavalry_sabre_fake", 4 ], - [ "wakizashi_fake", 4 ], - [ "wakizashi_inferior", 8 ], - [ "kris_fake", 8 ], - [ "pistol_flintlock", 4 ], - [ "carbine_flintlock", 4 ], - [ "rifle_flintlock", 4 ], - [ "petrified_eye", 2 ], - [ "ji", 1 ], - [ "dao", 3 ], - [ "sword_xiphos", 4 ], - [ "khopesh", 4 ], - [ "spear_dory", 3 ] - ] - }, - { - "type": "item_group", - "subtype": "distribution", - "id": "phones", - "items": [ - { "item": "cell_phone", "prob": 9, "charges-min": 0, "charges-max": 15 }, - { "item": "cell_phone", "prob": 1, "charges-min": 150, "charges-max": 150 }, - { "item": "smart_phone", "prob": 9, "charges-min": 0, "charges-max": 15 }, - { "item": "smart_phone", "prob": 1, "charges-min": 130, "charges-max": 130 } - ] - }, - { - "id": "pottery", - "type": "item_group", - "items": [ - [ "bowl_clay", 10 ], - [ "clay_canister", 15 ], - [ "clay_hydria", 10 ], - [ "clay_watercont", 10 ], - [ "jug_clay", 15 ], - [ "ceramic_plate", 15 ], - [ "ceramic_bowl", 15 ], - [ "ceramic_cup", 15 ], - [ "jug_clay", 15 ] - ] - }, { "type": "item_group", "id": "roof_holdout", @@ -854,15 +314,5 @@ [ "golf_ball", 20 ], { "group": "alcohol_bottled_canned", "prob": 343 } ] - }, - { - "type": "item_group", - "id": "maps", - "items": [ { "item": "roadmap", "prob": 33 }, { "item": "touristmap", "prob": 33 }, { "item": "survivormap", "prob": 33 } ] - }, - { - "type": "item_group", - "id": "meth_ingredients", - "items": [ [ "dayquil", 2 ], [ "aspirin", 40 ], [ "adderall", 5 ], [ "energy_drink", 2 ], [ "caffeine", 20 ] ] } ] diff --git a/data/json/itemgroups/misc.json b/data/json/itemgroups/misc.json index 7a6f43da0627c..5f0d7676bc50d 100644 --- a/data/json/itemgroups/misc.json +++ b/data/json/itemgroups/misc.json @@ -148,5 +148,29 @@ "type": "item_group", "//": "Horse vehicle items", "items": [ [ "horse_tack", 50 ], [ "yoke_harness", 50 ], [ "reins_tackle", 50 ] ] + }, + { + "type": "item_group", + "id": "maps", + "items": [ { "item": "roadmap", "prob": 33 }, { "item": "touristmap", "prob": 33 }, { "item": "survivormap", "prob": 33 } ] + }, + { + "type": "item_group", + "id": "tobacco_products", + "items": [ + [ "cig", 60 ], + [ "tobacco", 20 ], + [ "chaw", 20 ], + [ "cigar", 10 ], + [ "ecig", 10 ], + [ "advanced_ecig", 8 ], + [ "nicotine_liquid", 15 ], + [ "pipe_tobacco", 10 ] + ] + }, + { + "type": "item_group", + "id": "spiral", + "items": [ [ "spiral_stone", 20 ], [ "vortex_stone", 2 ] ] } ] diff --git a/data/json/itemgroups/monster_drops_lairs.json b/data/json/itemgroups/monster_drops_lairs.json index 12e93d8632047..a8716a32a77e9 100644 --- a/data/json/itemgroups/monster_drops_lairs.json +++ b/data/json/itemgroups/monster_drops_lairs.json @@ -267,5 +267,15 @@ [ "can_sealer", 10 ], [ "remotevehcontrol", 8 ] ] + }, + { + "type": "item_group", + "id": "cow", + "items": [ [ "cow_bell", 1 ] ] + }, + { + "type": "item_group", + "id": "dog_cop", + "items": [ [ "kevlar_harness", 1 ] ] } ] diff --git a/data/json/itemgroups/trash_and_debris.json b/data/json/itemgroups/trash_and_debris.json new file mode 100644 index 0000000000000..9c216b4cf6f9a --- /dev/null +++ b/data/json/itemgroups/trash_and_debris.json @@ -0,0 +1,174 @@ +[ + { + "type": "item_group", + "id": "wreckage", + "items": [ + [ "chain", 20 ], + [ "steel_chunk", 30 ], + [ "spring", 50 ], + [ "steel_lump", 30 ], + [ "frame", 20 ], + [ "hdframe", 20 ], + [ "cu_pipe", 25 ], + [ "scrap_copper", 50 ], + [ "rock", 40 ], + [ "survnote", 1 ] + ] + }, + { + "type": "item_group", + "id": "trash_forest", + "items": [ + { "group": "ammo_casings", "prob": 3 }, + [ "rock", 5 ], + [ "ceramic_shard", 5 ], + [ "stick", 5 ], + [ "pine_bough", 2 ], + [ "hickory_root", 2 ], + [ "hickory_nut", 3 ], + [ "acorns", 2 ], + [ "pinecone", 3 ], + [ "flyer", 1 ], + [ "fp_loyalty_card", 1 ], + [ "one_year_old_newspaper", 1 ], + [ "months_old_newspaper", 2 ], + [ "weeks_old_newspaper", 3 ], + [ "newest_newspaper", 4 ], + [ "bag_plastic", 3 ], + [ "bottle_plastic", 2 ], + [ "bottle_plastic_small", 1 ], + [ "bag_canvas", 1 ], + [ "bag_canvas_small", 1 ], + [ "cup_plastic_unsealed", 3 ], + [ "bottle_glass", 1 ], + { "group": "tinware", "prob": 3 }, + [ "can_drink_unsealed", 2 ], + [ "can_food_unsealed", 1 ], + [ "box_small", 5 ], + [ "box_medium", 3 ], + [ "box_large", 1 ], + [ "plastic_sheet", 1 ], + [ "jug_plastic", 1 ], + [ "jar_glass", 2 ], + [ "jar_3l_glass", 1 ], + [ "wrapper", 3 ], + { "item": "withered", "prob": 5, "count-min": 1, "count-max": 10 }, + [ "straw_pile", 5 ], + [ "tinder", 1 ], + { "item": "plant_fibre", "prob": 2, "count-min": 1, "count-max": 10 }, + [ "string_6", 1 ], + [ "cig_butt", 4 ], + [ "string_36", 1 ], + [ "steel_lump", 1 ], + [ "steel_chunk", 1 ], + { "item": "scrap", "prob": 2, "count-min": 1, "count-max": 10 }, + { "item": "glass_shard", "prob": 3, "count-min": 8, "count-max": 84 }, + { "item": "feather", "prob": 5, "count-min": 5, "count-max": 10 }, + [ "wire", 1 ], + [ "wire_barbed", 1 ], + [ "splinter", 3 ], + [ "rag", 2 ], + [ "rag_bloody", 1 ], + [ "bone", 2 ], + [ "syringe", 1 ], + [ "spike", 1 ], + [ "tanbark", 2 ], + [ "thermos", 1 ], + [ "bag_body_bag", 1 ] + ] + }, + { + "type": "item_group", + "id": "trash", + "ammo": 20, + "magazine": 50, + "items": [ + [ "plastic_shopping_bag", 35 ], + [ "iodine", 5 ], + [ "prussian_blue", 5 ], + [ "bum_wine", 5 ], + [ "meth", 2 ], + [ "heroin", 1 ], + [ "wrapper", 50 ], + [ "fp_loyalty_card", 5 ], + [ "string_6", 2 ], + [ "chain", 20 ], + [ "glass_sheet", 5 ], + { "item": "glass_shard", "prob": 20, "count": [ 1, 8 ] }, + [ "ceramic_shard", 15 ], + [ "stick", 95 ], + [ "seed_wheat", 5 ], + [ "seed_tomato", 5 ], + [ "seed_weed", 5 ], + [ "seed_flower", 5 ], + [ "seed_tobacco", 1 ], + [ "joint_roach", 5 ], + [ "pipe", 20 ], + [ "bag_plastic", 10 ], + [ "bottle_plastic", 10 ], + [ "bottle_plastic_small", 5 ], + [ "bag_canvas", 5 ], + [ "bag_canvas_small", 5 ], + [ "bottle_glass", 10 ], + [ "can_drink_unsealed", 10 ], + [ "can_food_unsealed", 10 ], + [ "box_small", 10 ], + [ "bubblewrap", 50 ], + [ "cig_butt", 30 ], + { "item": "lighter", "prob": 60, "charges-min": 0, "charges-max": 10 }, + { "item": "matches", "prob": 60, "charges-min": 0, "charges-max": 20 }, + [ "syringe", 8 ], + [ "tinder", 1 ], + [ "rag", 1 ], + [ "hairpin", 1 ], + [ "kevlar_plate", 1 ], + [ "ceramic_armor", 1 ], + [ "leather", 1 ], + [ "software_hacking", 10 ], + [ "news_regional", 8 ], + [ "file", 5 ], + [ "decoy_elfa", 10 ], + [ "recipe_elfa", 1 ], + [ "jug_plastic", 10 ], + [ "spray_can", 50 ], + [ "jar_glass", 10 ], + [ "jar_3l_glass", 8 ], + [ "flyer", 10 ], + [ "scorecard", 10 ], + [ "talking_doll", 60 ], + [ "marble", 65 ], + [ "handflare_dead", 3 ], + [ "creepy_doll", 1 ], + [ "straw_doll", 1 ], + [ "striped_shirt", 1 ], + [ "striped_pants", 1 ], + [ "foodperson_mask", 1 ], + [ "razor_blade", 10 ], + [ "survnote", 5 ], + [ "eclipse_glasses", 1 ], + [ "plastic_sheet", 5 ], + [ "balloon", 5 ], + [ "box_medium", 15 ], + [ "thermos", 30 ], + { "group": "tinware", "prob": 15 } + ] + }, + { + "type": "item_group", + "id": "trash_cart", + "items": [ + [ "bottle_plastic", 5 ], + [ "bottle_plastic_small", 15 ], + [ "bottle_glass", 2 ], + { "group": "tinware", "prob": 2 }, + [ "can_drink_unsealed", 5 ], + [ "plastic_shopping_bag", 13 ], + [ "bag_plastic", 15 ], + [ "wrapper", 30 ], + [ "flyer", 15 ], + [ "scorecard", 10 ], + [ "eclipse_glasses", 1 ], + [ "plastic_sheet", 5 ] + ] + } +] diff --git a/data/json/itemgroups/weapons_misc.json b/data/json/itemgroups/weapons_misc.json new file mode 100644 index 0000000000000..b236ec8da1ecc --- /dev/null +++ b/data/json/itemgroups/weapons_misc.json @@ -0,0 +1,62 @@ +[ + { + "type": "item_group", + "id": "weapons", + "items": [ + [ "chain", 20 ], + [ "knuckle_brass", 20 ], + [ "hammer", 35 ], + [ "wrench", 30 ], + [ "hammer_sledge", 4 ], + [ "hammer_sledge_short", 2 ], + [ "hatchet", 10 ], + [ "ax", 8 ], + [ "knife_combat", 14 ], + [ "kukri", 2 ], + [ "knife_hunting", 4 ], + [ "knife_rambo", 8 ], + [ "knife_rm42", 2 ], + [ "throwing_knife", 7 ], + [ "throwing_axe", 6 ], + [ "punch_dagger", 6 ], + [ "pipe", 20 ], + [ "bat", 60 ], + [ "bullwhip", 10 ], + [ "machete", 5 ], + [ "baton", 8 ], + [ "blackjack", 10 ], + [ "tazer", 3 ], + [ "rapier", 3 ], + [ "cavalry_sabre", 2 ], + [ "bat_metal", 60 ], + [ "e_tool", 2 ], + [ "knife_trench", 7 ], + [ "switchblade", 4 ], + [ "tonfa", 10 ], + [ "tonfa_wood", 10 ], + [ "shocktonfa_off", 5 ], + [ "tanto", 7 ], + [ "wakizashi", 3 ], + [ "nodachi", 1 ], + [ "katana", 2 ], + [ "survnote", 1 ] + ] + }, + { + "type": "item_group", + "id": "grenades", + "items": [ + [ "grenade", 30 ], + [ "grenade_inc", 30 ], + [ "flashbang", 30 ], + [ "EMPbomb", 20 ], + [ "grenade_emp", 5 ], + [ "gasbomb", 15 ], + [ "gasbomb_makeshift", 15 ], + [ "smokebomb", 50 ], + [ "dynamite", 50 ], + [ "mininuke", 5 ], + [ "c4", 50 ] + ] + } +] From 585fbbe03d633d760f117c97f26e9b224dccbfc6 Mon Sep 17 00:00:00 2001 From: Sergey Alirzaev Date: Sun, 23 Feb 2020 20:39:59 +0300 Subject: [PATCH 08/71] Make the boat hull crafting time a little more real (#38253) --- data/json/recipes/recipe_vehicle.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/recipes/recipe_vehicle.json b/data/json/recipes/recipe_vehicle.json index 0d9aa568ac043..93e887d6f524a 100644 --- a/data/json/recipes/recipe_vehicle.json +++ b/data/json/recipes/recipe_vehicle.json @@ -370,7 +370,7 @@ "subcategory": "CSC_OTHER_VEHICLE", "skill_used": "fabrication", "difficulty": 3, - "time": "1 m", + "time": "1 h", "reversible": true, "autolearn": true, "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_W", "level": 1 } ], From 4c48fc6377190abe1728ca0910fb59f3cfa82ae7 Mon Sep 17 00:00:00 2001 From: cosmiccoincidence <41941008+cosmiccoincidence@users.noreply.github.com> Date: Sun, 23 Feb 2020 15:24:30 -0500 Subject: [PATCH 09/71] adds newspaper item groups (#38246) * adds newspaper item groups * adds more uses of the new groups * more uses of the new groups * fix * linting * more linting * New group uses in new item group file --- data/json/itemgroups/books.json | 19 ++++++-- .../json/itemgroups/collections_domestic.json | 7 +-- data/json/itemgroups/locations.json | 48 +++++-------------- .../json/itemgroups/locations_commercial.json | 3 +- data/json/itemgroups/mansion.json | 7 +-- .../itemgroups/oa_shared_item_groups.json | 18 +------ data/json/itemgroups/trash_and_debris.json | 6 +-- data/json/mapgen/cemetery_4square.json | 7 +-- data/json/mapgen/cs_market_small.json | 11 +---- 9 files changed, 37 insertions(+), 89 deletions(-) diff --git a/data/json/itemgroups/books.json b/data/json/itemgroups/books.json index 09ce4a409d392..dd2fb7de10c42 100644 --- a/data/json/itemgroups/books.json +++ b/data/json/itemgroups/books.json @@ -596,9 +596,7 @@ { "group": "book_mag_surv", "prob": 90 }, [ "mag_porn", 20 ], [ "mag_comic", 20 ], - [ "months_old_newspaper", 1 ], - [ "weeks_old_newspaper", 4 ], - [ "newest_newspaper", 10 ], + { "group": "newspaper_recent", "prob": 15 }, [ "survnote", 1 ] ] }, @@ -656,5 +654,20 @@ "id": "book_mag_surv", "type": "item_group", "items": [ [ "mag_survival", 40 ], [ "mag_traps", 20 ], [ "fun_survival", 10 ], [ "mag_archery", 20 ] ] + }, + { + "id": "newspaper", + "type": "item_group", + "items": [ { "group": "newspaper_recent", "prob": 80 }, { "group": "newspaper_old", "prob": 20 } ] + }, + { + "id": "newspaper_recent", + "type": "item_group", + "items": [ [ "months_old_newspaper", 10 ], [ "weeks_old_newspaper", 15 ], [ "newest_newspaper", 20 ] ] + }, + { + "id": "newspaper_old", + "type": "item_group", + "items": [ [ "many_years_old_newspaper", 5 ], [ "years_old_newspaper", 10 ], [ "one_year_old_newspaper", 20 ] ] } ] diff --git a/data/json/itemgroups/collections_domestic.json b/data/json/itemgroups/collections_domestic.json index 3024c09634d6d..484b55de0c7a9 100644 --- a/data/json/itemgroups/collections_domestic.json +++ b/data/json/itemgroups/collections_domestic.json @@ -216,8 +216,7 @@ "type": "item_group", "items": [ { "group": "magazines", "prob": 515 }, - { "item": "weeks_old_newspaper", "prob": 95, "count-min": 3, "count-max": 5 }, - { "item": "newest_newspaper", "prob": 100, "count-min": 3, "count-max": 5 }, + { "group": "newspaper_recent", "prob": 200, "count-min": 3, "count-max": 5 }, [ "flyer", 80 ], [ "survnote", 3 ], [ "touristmap", 3 ], @@ -288,9 +287,7 @@ [ "mask_guy_fawkes", 5 ], [ "hockey_stick", 10 ], [ "news_regional", 4 ], - [ "many_years_old_newspaper", 2 ], - [ "years_old_newspaper", 2 ], - [ "one_year_old_newspaper", 3 ], + { "group": "newspaper_old", "prob": 5 }, { "group": "kids_books", "prob": 110 }, { "group": "novels", "prob": 16 }, [ "tailor_portfolio", 1 ], diff --git a/data/json/itemgroups/locations.json b/data/json/itemgroups/locations.json index adc7246323c0e..07e6fab50967a 100644 --- a/data/json/itemgroups/locations.json +++ b/data/json/itemgroups/locations.json @@ -158,9 +158,7 @@ { "group": "kids_books", "prob": 35 }, [ "recipe_augs", 20 ], [ "decoy_anarch", 50 ], - [ "months_old_newspaper", 20 ], - [ "weeks_old_newspaper", 100 ], - [ "newest_newspaper", 100 ], + { "group": "newspaper_recent", "prob": 200 }, [ "survnote", 1 ] ] }, @@ -223,9 +221,7 @@ [ "stethoscope", 20 ], [ "novel_pulp", 16 ], [ "atomic_light", 1 ], - [ "months_old_newspaper", 4 ], - [ "weeks_old_newspaper", 5 ], - [ "newest_newspaper", 6 ], + { "group": "newspaper_recent", "prob": 15 }, { "group": "book_mag_gen", "prob": 99 }, [ "mag_porn", 5 ], [ "hairpin", 5 ], @@ -595,12 +591,7 @@ [ "box_small", 400 ], [ "box_medium", 400 ], [ "box_large", 200 ], - [ "one_year_old_newspaper", 200 ], - [ "months_old_newspaper", 250 ], - [ "weeks_old_newspaper", 250 ], - [ "one_year_old_newspaper", 200 ], - [ "years_old_newspaper", 200 ], - [ "many_years_old_newspaper", 200 ] + { "group": "newspaper", "prob": 1000 } ] }, { @@ -843,12 +834,7 @@ [ "rock", 40 ], [ "ceramic_shard", 30 ], [ "pipe", 20 ], - [ "many_years_old_newspaper", 1 ], - [ "years_old_newspaper", 2 ], - [ "one_year_old_newspaper", 3 ], - [ "months_old_newspaper", 4 ], - [ "weeks_old_newspaper", 5 ], - [ "newest_newspaper", 10 ], + { "group": "newspaper", "prob": 20 }, [ "file", 30 ], [ "mag_porn", 20 ], [ "bottle_plastic", 10 ], @@ -905,8 +891,7 @@ [ "mag_porn", 20 ], [ "rag", 1 ], [ "hairpin", 1 ], - [ "weeks_old_newspaper", 1 ], - [ "newest_newspaper", 2 ], + { "group": "newspaper_recent", "prob": 5 }, [ "flyer", 10 ], [ "file", 10 ], [ "child_book", 2 ], @@ -1279,9 +1264,7 @@ "items": [ [ "rock", 40 ], [ "sharp_rock", 5 ], - [ "months_old_newspaper", 1 ], - [ "weeks_old_newspaper", 2 ], - [ "newest_newspaper", 3 ], + { "group": "newspaper_recent", "prob": 5 }, { "group": "ammo_casings", "prob": 10 }, { "group": "everyday_corpse", "prob": 1 } ] @@ -1299,9 +1282,7 @@ [ "hickory_root", 3 ], [ "hickory_nut", 5 ], [ "one_year_old_newspaper", 2 ], - [ "months_old_newspaper", 3 ], - [ "weeks_old_newspaper", 4 ], - [ "newest_newspaper", 5 ], + { "group": "newspaper_recent", "prob": 15 }, [ "bottle_plastic", 1 ], [ "bottle_glass", 1 ], [ "syringe", 1 ], @@ -1367,10 +1348,8 @@ [ "55gal_drum", 1 ], [ "flyer", 10 ], [ "one_year_old_newspaper", 2 ], + { "group": "newspaper_recent", "prob": 15 }, [ "foodperson_mask", 1 ], - [ "months_old_newspaper", 3 ], - [ "weeks_old_newspaper", 4 ], - [ "newest_newspaper", 5 ], [ "survnote", 1 ] ] }, @@ -2061,8 +2040,7 @@ [ "umbrella", 50 ], [ "teleumbrella", 20 ], { "group": "magazines", "prob": 120 }, - [ "weeks_old_newspaper", 80 ], - [ "newest_newspaper", 100 ], + { "group": "newspaper_recent", "prob": 100 }, [ "survnote", 1 ], [ "dnd_handbook", 1 ] ] @@ -2210,9 +2188,7 @@ [ "recipe_bows", 4 ], [ "recipe_arrows", 4 ], { "group": "kids_books", "prob": 5 }, - [ "many_years_old_newspaper", 3 ], - [ "years_old_newspaper", 3 ], - [ "one_year_old_newspaper", 3 ], + { "group": "newspaper_old", "prob": 10 }, [ "months_old_newspaper", 4 ], [ "lighter", 60 ], [ "ref_lighter", 5 ], @@ -2454,9 +2430,7 @@ [ "fetus", 5 ], [ "foodperson_mask", 1 ], [ "human_brain_embalmed", 5 ], - [ "many_years_old_newspaper", 2 ], - [ "years_old_newspaper", 2 ], - [ "one_year_old_newspaper", 2 ], + { "group": "newspaper_old", "prob": 8 }, [ "months_old_newspaper", 2 ] ] } diff --git a/data/json/itemgroups/locations_commercial.json b/data/json/itemgroups/locations_commercial.json index 111f6f81c3ed2..1670306523af0 100644 --- a/data/json/itemgroups/locations_commercial.json +++ b/data/json/itemgroups/locations_commercial.json @@ -43,8 +43,7 @@ [ "nic_gum", 2 ], [ "razor_blade", 3 ], [ "knitting_needles", 1 ], - [ "weeks_old_newspaper", 5 ], - [ "newest_newspaper", 10 ], + { "group": "newspaper_recent", "prob": 15 }, [ "survnote", 2 ], [ "eclipse_glasses", 1 ], [ "thermos", 10 ] diff --git a/data/json/itemgroups/mansion.json b/data/json/itemgroups/mansion.json index 26f5c48df233a..c1d23dc016022 100644 --- a/data/json/itemgroups/mansion.json +++ b/data/json/itemgroups/mansion.json @@ -1162,19 +1162,14 @@ [ "glass", 20 ], [ "bandana", 10 ], [ "mp3", 10 ], - [ "weeks_old_newspaper", 5 ], - [ "newest_newspaper", 5 ], [ "portable_game", 5 ], [ "cell_phone", 1 ], [ "smart_phone", 5 ], [ "phonebook", 5 ], [ "hairpin", 5 ], { "group": "tinware", "prob": 5 }, - [ "months_old_newspaper", 4 ], - [ "one_year_old_newspaper", 3 ], - [ "years_old_newspaper", 2 ], + { "group": "newspaper", "prob": 15 }, [ "news_regional", 2 ], - [ "many_years_old_newspaper", 1 ], [ "magnifying_glass", 1 ] ] }, diff --git a/data/json/itemgroups/oa_shared_item_groups.json b/data/json/itemgroups/oa_shared_item_groups.json index 57a66adc73c7b..2538679c52a9f 100644 --- a/data/json/itemgroups/oa_shared_item_groups.json +++ b/data/json/itemgroups/oa_shared_item_groups.json @@ -2,16 +2,7 @@ { "type": "item_group", "id": "oa_discarded_news", - "items": [ - [ "many_years_old_newspaper", 20 ], - [ "years_old_newspaper", 20 ], - [ "one_year_old_newspaper", 20 ], - [ "months_old_newspaper", 20 ], - [ "weeks_old_newspaper", 20 ], - [ "newest_newspaper", 20 ], - [ "news_regional", 20 ], - [ "mag_news", 20 ] - ] + "items": [ { "group": "newspaper", "prob": 60 }, [ "news_regional", 20 ], [ "mag_news", 20 ] ] }, { "type": "item_group", @@ -61,12 +52,7 @@ [ "razor_blade", 10 ], [ "survnote", 5 ], [ "eclipse_glasses", 5 ], - [ "many_years_old_newspaper", 15 ], - [ "years_old_newspaper", 15 ], - [ "one_year_old_newspaper", 15 ], - [ "months_old_newspaper", 15 ], - [ "weeks_old_newspaper", 15 ], - [ "newest_newspaper", 15 ], + { "group": "newspaper", "prob": 60 }, [ "news_regional", 15 ], [ "paper", 20 ], [ "rag_bloody", 35 ], diff --git a/data/json/itemgroups/trash_and_debris.json b/data/json/itemgroups/trash_and_debris.json index 9c216b4cf6f9a..8cd71ce118bb1 100644 --- a/data/json/itemgroups/trash_and_debris.json +++ b/data/json/itemgroups/trash_and_debris.json @@ -30,10 +30,7 @@ [ "pinecone", 3 ], [ "flyer", 1 ], [ "fp_loyalty_card", 1 ], - [ "one_year_old_newspaper", 1 ], - [ "months_old_newspaper", 2 ], - [ "weeks_old_newspaper", 3 ], - [ "newest_newspaper", 4 ], + { "group": "newspaper", "prob": 10 }, [ "bag_plastic", 3 ], [ "bottle_plastic", 2 ], [ "bottle_plastic_small", 1 ], @@ -126,6 +123,7 @@ [ "leather", 1 ], [ "software_hacking", 10 ], [ "news_regional", 8 ], + { "group": "newspaper", "prob": 10 }, [ "file", 5 ], [ "decoy_elfa", 10 ], [ "recipe_elfa", 1 ], diff --git a/data/json/mapgen/cemetery_4square.json b/data/json/mapgen/cemetery_4square.json index a621df08c00d8..9dbe7eee03c6a 100644 --- a/data/json/mapgen/cemetery_4square.json +++ b/data/json/mapgen/cemetery_4square.json @@ -32,12 +32,7 @@ [ "teleumbrella", 2 ], [ "thawb", 1 ], [ "umbrella", 10 ], - [ "many_years_old_newspaper", 2 ], - [ "years_old_newspaper", 5 ], - [ "one_year_old_newspaper", 4 ], - [ "months_old_newspaper", 3 ], - [ "weeks_old_newspaper", 3 ], - [ "newest_newspaper", 1 ], + { "group": "newspaper", "prob": 20 }, [ "survnote", 3 ], [ "cig_butt", 5 ], [ "cigar_butt", 10 ] diff --git a/data/json/mapgen/cs_market_small.json b/data/json/mapgen/cs_market_small.json index ed7befa4b3e73..49bc0924cc4d4 100644 --- a/data/json/mapgen/cs_market_small.json +++ b/data/json/mapgen/cs_market_small.json @@ -48,16 +48,7 @@ { "type": "item_group", "id": "m_merch_4", - "items": [ - [ "many_years_old_newspaper", 20 ], - [ "years_old_newspaper", 20 ], - [ "one_year_old_newspaper", 20 ], - [ "months_old_newspaper", 20 ], - [ "weeks_old_newspaper", 20 ], - [ "newest_newspaper", 20 ], - [ "mag_news", 20 ], - [ "hat_newsboy", 20 ] - ] + "items": [ { "group": "newspaper", "prob": 80 }, [ "mag_news", 20 ], [ "hat_newsboy", 20 ] ] }, { "type": "item_group", From 73d7992249eafb85e22816240dec1972b8c51ab8 Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Sun, 23 Feb 2020 16:22:34 -0500 Subject: [PATCH 10/71] fix laundromat --- .../json/overmap/multitile_city_buildings.json | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/data/json/overmap/multitile_city_buildings.json b/data/json/overmap/multitile_city_buildings.json index b33c1c7ebee45..23a1ca3ab6fb6 100644 --- a/data/json/overmap/multitile_city_buildings.json +++ b/data/json/overmap/multitile_city_buildings.json @@ -3322,5 +3322,23 @@ { "point": [ 0, 0, 1 ], "overmap": "house_crack3_roof_north" }, { "point": [ 0, 0, -1 ], "overmap": "house_crack3_basement_north" } ] + }, + { + "type": "city_building", + "id": "s_laundromat", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "s_laundromat_north" }, + { "point": [ 0, 0, 1 ], "overmap": "s_laundromat_roof_north" } + ] + }, + { + "type": "city_building", + "id": "s_laundromat_1", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "s_laundromat_1_north" }, + { "point": [ 0, 0, 1 ], "overmap": "s_laundromat_roof_1_north" } + ] } ] From f00a2f806540cc2a3dfd736c0666d22e3e48ffe4 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sun, 23 Feb 2020 14:40:00 -0500 Subject: [PATCH 11/71] Simplify shadowcasting types There are a bunch of types which are just a std::array of pointers to two-dimensional arrays. These are all quite verbose. Introduce a template alias to simplify all those types. --- src/lightmap.cpp | 37 ++++++++++++++++++------------------- src/shadowcasting.h | 9 ++++++--- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/lightmap.cpp b/src/lightmap.cpp index dee86db0ce83d..5656bfb8ce51b 100644 --- a/src/lightmap.cpp +++ b/src/lightmap.cpp @@ -670,9 +670,9 @@ template void cast_zlight_segment( - const std::array &output_caches, - const std::array &input_arrays, - const std::array &floor_caches, + const array_of_grids_of &output_caches, + const array_of_grids_of &input_arrays, + const array_of_grids_of &floor_caches, const tripoint &offset, int offset_distance, T numerator = 1.0f, int row = 1, float start_major = 0.0f, float end_major = 1.0f, @@ -684,9 +684,9 @@ template void cast_zlight_segment( - const std::array &output_caches, - const std::array &input_arrays, - const std::array &floor_caches, + const array_of_grids_of &output_caches, + const array_of_grids_of &input_arrays, + const array_of_grids_of &floor_caches, const tripoint &offset, const int offset_distance, const T numerator, const int row, float start_major, const float end_major, @@ -877,9 +877,9 @@ template void cast_zlight( - const std::array &output_caches, - const std::array &input_arrays, - const std::array &floor_caches, + const array_of_grids_of &output_caches, + const array_of_grids_of &input_arrays, + const array_of_grids_of &floor_caches, const tripoint &origin, const int offset_distance, const T numerator ) { // Down @@ -928,16 +928,15 @@ void cast_zlight( // I can't figure out how to make implicit instantiation work when the parameters of // the template-supplied function pointers are involved, so I'm explicitly instantiating instead. template void cast_zlight( - const std::array &output_caches, - const std::array &input_arrays, - const std::array &floor_caches, + const array_of_grids_of &output_caches, + const array_of_grids_of &input_arrays, + const array_of_grids_of &floor_caches, const tripoint &origin, int offset_distance, float numerator ); template void cast_zlight( - const std::array &output_caches, - const std::array - &input_arrays, - const std::array &floor_caches, + const array_of_grids_of &output_caches, + const array_of_grids_of &input_arrays, + const array_of_grids_of &floor_caches, const tripoint &origin, int offset_distance, fragment_cloud numerator ); template transparency_caches; - std::array seen_caches; - std::array floor_caches; + array_of_grids_of transparency_caches; + array_of_grids_of seen_caches; + array_of_grids_of floor_caches; for( int z = -OVERMAP_DEPTH; z <= OVERMAP_HEIGHT; z++ ) { auto &cur_cache = get_cache( z ); transparency_caches[z + OVERMAP_DEPTH] = &cur_cache.transparency_cache; diff --git a/src/shadowcasting.h b/src/shadowcasting.h index 8b542e95cfcb4..fb7779a423124 100644 --- a/src/shadowcasting.h +++ b/src/shadowcasting.h @@ -110,14 +110,17 @@ void castLightAll( Out( &output_cache )[MAPSIZE_X][MAPSIZE_Y], const point &offset, int offsetDistance = 0, T numerator = 1.0 ); +template +using array_of_grids_of = std::array; + // TODO: Generalize the floor check, allow semi-transparent floors template< typename T, T( *calc )( const T &, const T &, const int & ), bool( *check )( const T &, const T & ), T( *accumulate )( const T &, const T &, const int & ) > void cast_zlight( - const std::array &output_caches, - const std::array &input_arrays, - const std::array &floor_caches, + const array_of_grids_of &output_caches, + const array_of_grids_of &input_arrays, + const array_of_grids_of &floor_caches, const tripoint &origin, int offset_distance, T numerator ); #endif From 4c70a18f8a71e81fef9ac6e9b68a560009ceca92 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sun, 23 Feb 2020 15:18:51 -0500 Subject: [PATCH 12/71] Separate caches for light and vision transparency Crouching affects your ability to see past adjacent obstacles. Previously this was implemented by altering the transparency cache. However, this also stops light passing the tile, and means that crouching by a window can cause a room to fall dark. Fix by separating the transparency cache into two, one for light and one for vision. The latter is a copy of the former, except with tweaks for crouching and with the avatar's tile forced to be transparent. --- src/lightmap.cpp | 38 ++++++++++++++++++++++++++++++++++++-- src/map.cpp | 21 ++++----------------- src/map.h | 2 ++ 3 files changed, 42 insertions(+), 19 deletions(-) diff --git a/src/lightmap.cpp b/src/lightmap.cpp index 5656bfb8ce51b..01b5668cb8b79 100644 --- a/src/lightmap.cpp +++ b/src/lightmap.cpp @@ -143,6 +143,40 @@ bool map::build_transparency_cache( const int zlev ) return true; } +bool map::build_vision_transparency_cache( const int zlev ) +{ + auto &map_cache = get_cache( zlev ); + auto &transparency_cache = map_cache.transparency_cache; + auto &vision_transparency_cache = map_cache.vision_transparency_cache; + + memcpy( &vision_transparency_cache, &transparency_cache, sizeof( transparency_cache ) ); + + const tripoint &p = g->u.pos(); + + if( p.z != zlev ) { + return false; + } + + bool dirty = false; + + bool is_crouching = g->u.movement_mode_is( CMM_CROUCH ); + for( const tripoint &loc : points_in_radius( p, 1 ) ) { + if( loc == p ) { + // The tile player is standing on should always be visible + if( ( has_furn( p ) && !furn( p )->transparent ) || !ter( p )->transparent ) { + vision_transparency_cache[p.x][p.y] = LIGHT_TRANSPARENCY_CLEAR; + } + } else if( is_crouching && coverage( loc ) >= 30 ) { + // If we're crouching behind an obstacle, we can't see past it. + vision_transparency_cache[loc.x][loc.y] = LIGHT_TRANSPARENCY_SOLID; + map_cache.transparency_cache_dirty = true; + dirty = true; + } + } + + return dirty; +} + void map::apply_character_light( player &p ) { if( p.has_effect( effect_onfire ) ) { @@ -1102,7 +1136,7 @@ castLightAll floor_caches; for( int z = -OVERMAP_DEPTH; z <= OVERMAP_HEIGHT; z++ ) { auto &cur_cache = get_cache( z ); - transparency_caches[z + OVERMAP_DEPTH] = &cur_cache.transparency_cache; + transparency_caches[z + OVERMAP_DEPTH] = &cur_cache.vision_transparency_cache; seen_caches[z + OVERMAP_DEPTH] = &cur_cache.seen_cache; floor_caches[z + OVERMAP_DEPTH] = &cur_cache.floor_cache; std::uninitialized_fill_n( diff --git a/src/map.cpp b/src/map.cpp index 290f45f579ea7..6c3bb1e039a5d 100755 --- a/src/map.cpp +++ b/src/map.cpp @@ -7718,33 +7718,19 @@ void map::build_map_cache( const int zlev, bool skip_lightmap ) for( int z = minz; z <= maxz; z++ ) { build_outside_cache( z ); seen_cache_dirty |= build_transparency_cache( z ); + seen_cache_dirty |= build_vision_transparency_cache( zlev ); seen_cache_dirty |= build_floor_cache( z ); do_vehicle_caching( z ); } - const tripoint &p = g->u.pos(); - bool is_crouching = g->u.movement_mode_is( CMM_CROUCH ); - for( const tripoint &loc : points_in_radius( p, 1 ) ) { - if( loc == p ) { - // The tile player is standing on should always be transparent - if( ( has_furn( p ) && !furn( p ).obj().transparent ) || !ter( p ).obj().transparent ) { - get_cache( p.z ).transparency_cache[p.x][p.y] = LIGHT_TRANSPARENCY_CLEAR; - } - } else if( is_crouching && coverage( loc ) >= 30 ) { - // If we're crouching behind an obstacle, we can't see past it. - get_cache( loc.z ).transparency_cache[loc.x][loc.y] = LIGHT_TRANSPARENCY_SOLID; - get_cache( loc.z ).transparency_cache_dirty = true; - seen_cache_dirty = true; - } - } - if( seen_cache_dirty ) { skew_vision_cache.clear(); } // Initial value is illegal player position. + const tripoint &p = g->u.pos(); static tripoint player_prev_pos; if( seen_cache_dirty || player_prev_pos != p ) { - build_seen_cache( g->u.pos(), zlev ); + build_seen_cache( p, zlev ); player_prev_pos = p; } if( !skip_lightmap ) { @@ -8243,6 +8229,7 @@ level_cache::level_cache() std::fill_n( &outside_cache[0][0], map_dimensions, false ); std::fill_n( &floor_cache[0][0], map_dimensions, false ); std::fill_n( &transparency_cache[0][0], map_dimensions, 0.0f ); + std::fill_n( &vision_transparency_cache[0][0], map_dimensions, 0.0f ); std::fill_n( &seen_cache[0][0], map_dimensions, 0.0f ); std::fill_n( &camera_cache[0][0], map_dimensions, 0.0f ); std::fill_n( &visibility_cache[0][0], map_dimensions, LL_DARK ); diff --git a/src/map.h b/src/map.h index eceef058560bc..782e442c66e6c 100644 --- a/src/map.h +++ b/src/map.h @@ -170,6 +170,7 @@ struct level_cache { bool outside_cache[MAPSIZE_X][MAPSIZE_Y]; bool floor_cache[MAPSIZE_X][MAPSIZE_Y]; float transparency_cache[MAPSIZE_X][MAPSIZE_Y]; + float vision_transparency_cache[MAPSIZE_X][MAPSIZE_Y]; float seen_cache[MAPSIZE_X][MAPSIZE_Y]; float camera_cache[MAPSIZE_X][MAPSIZE_Y]; lit_level visibility_cache[MAPSIZE_X][MAPSIZE_Y]; @@ -1559,6 +1560,7 @@ class map // Builds a transparency cache and returns true if the cache was invalidated. // Used to determine if seen cache should be rebuilt. bool build_transparency_cache( int zlev ); + bool build_vision_transparency_cache( int zlev ); void build_sunlight_cache( int zlev ); public: void build_outside_cache( int zlev ); From 9528517bc7bff3b5f55e3ed1bfb2fb4a7453743b Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Sun, 23 Feb 2020 13:51:08 -0500 Subject: [PATCH 13/71] Add a test for crouching vision This tests that the player cannot see past an adjacent obstacle when crouching, but light can still pass it. --- tests/vision_test.cpp | 70 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 59 insertions(+), 11 deletions(-) diff --git a/tests/vision_test.cpp b/tests/vision_test.cpp index df21a9eee6684..96efebcca0a97 100644 --- a/tests/vision_test.cpp +++ b/tests/vision_test.cpp @@ -22,9 +22,27 @@ #include "game_constants.h" #include "point.h" +enum class vision_test_flags { + none = 0, + no_3d = 1 << 0, + crouching = 1 << 1, +}; + +static vision_test_flags operator&( vision_test_flags l, vision_test_flags r ) +{ + return static_cast( + static_cast( l ) & static_cast( r ) ); +} + +static bool operator!( vision_test_flags f ) +{ + return !static_cast( f ); +} + static void full_map_test( const std::vector &setup, const std::vector &expected_results, - const time_point &time ) + const time_point &time, + const vision_test_flags flags ) { const ter_id t_brick_wall( "t_brick_wall" ); const ter_id t_window_frame( "t_window_frame" ); @@ -40,6 +58,12 @@ static void full_map_test( const std::vector &setup, clear_map(); g->reset_light_level(); + if( !!( flags & vision_test_flags::crouching ) ) { + g->u.set_movement_mode( character_movemode::CMM_CROUCH ); + } else { + g->u.set_movement_mode( character_movemode::CMM_WALK ); + } + REQUIRE( !g->u.is_blind() ); REQUIRE( !g->u.in_sleep_state() ); REQUIRE( !g->u.has_effect( effect_narcosis ) ); @@ -224,7 +248,7 @@ struct vision_test_case { std::vector setup; std::vector expected_results; time_point time; - bool test_3d; + vision_test_flags flags; static void transpose( std::vector &v ) { if( v.empty() ) { @@ -261,7 +285,7 @@ struct vision_test_case { } void test() const { - full_map_test( setup, expected_results, time ); + full_map_test( setup, expected_results, time, flags ); } void test_all_transformations() const { @@ -286,6 +310,7 @@ struct vision_test_case { void test_all() const { // Disabling 3d tests for now since 3d sight casting is actually // different (it sees round corners more). + const bool test_3d = !( flags & vision_test_flags::no_3d ); if( test_3d ) { INFO( "using 3d casting" ); fov_3d = true; @@ -326,7 +351,7 @@ TEST_CASE( "vision_daylight", "[shadowcasting][vision]" ) "444", }, midday, - true + vision_test_flags::none }; t.test_all(); @@ -346,7 +371,7 @@ TEST_CASE( "vision_day_indoors", "[shadowcasting][vision]" ) "111", }, midday, - true + vision_test_flags::none }; t.test_all(); @@ -370,7 +395,8 @@ TEST_CASE( "vision_light_shining_in", "[shadowcasting][vision]" ) "1144444444", }, midday, - false // 3D FOV gives different results here due to it seeing round corners more + // 3D FOV gives different results here due to it seeing round corners more + vision_test_flags::no_3d }; t.test_all(); @@ -388,7 +414,7 @@ TEST_CASE( "vision_no_lights", "[shadowcasting][vision]" ) "111", }, midnight, - true + vision_test_flags::none }; t.test_all(); @@ -408,7 +434,7 @@ TEST_CASE( "vision_utility_light", "[shadowcasting][vision]" ) "444", }, midnight, - true + vision_test_flags::none }; t.test_all(); @@ -428,7 +454,7 @@ TEST_CASE( "vision_wall_obstructs_light", "[shadowcasting][vision]" ) "111", }, midnight, - true + vision_test_flags::none }; t.test_all(); @@ -452,7 +478,29 @@ TEST_CASE( "vision_wall_can_be_lit_by_player", "[shadowcasting][vision]" ) "66", }, midnight, - true + vision_test_flags::none + }; + + t.test_all(); +} + +TEST_CASE( "vision_crouching_blocks_vision_but_not_light", "[shadowcasting][vision]" ) +{ + vision_test_case t { + { + "###", + "#u#", + "#=#", + " ", + }, + { + "444", + "444", + "444", + "666", + }, + midday, + vision_test_flags::crouching }; t.test_all(); @@ -481,7 +529,7 @@ TEST_CASE( "vision_see_wall_in_moonlight", "[shadowcasting][vision]" ) }, // Want a night time full_moon - time_past_midnight( full_moon ), - true + vision_test_flags::none }; t.test_all(); From 6b8a15d5f1d232769b61014511a1c7daeb61885d Mon Sep 17 00:00:00 2001 From: Paul Fenwick Date: Sat, 22 Feb 2020 14:26:12 +1100 Subject: [PATCH 14/71] =?UTF-8?q?Tainted=20tallow=20moved=20to=20'chems'?= =?UTF-8?q?=20category,=20from=20other=20=F0=9F=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tainted tallow is a feedstock for oil production, and thus most likely used in a chemlab. --- data/json/items/comestibles/carnivore.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/comestibles/carnivore.json b/data/json/items/comestibles/carnivore.json index ecefda4a5e9d9..ae4bc0c04da8e 100644 --- a/data/json/items/comestibles/carnivore.json +++ b/data/json/items/comestibles/carnivore.json @@ -724,7 +724,7 @@ "type": "COMESTIBLE", "id": "tallow_tainted", "name": "tainted tallow", - "category": "other", + "category": "chems", "weight": "128 g", "color": "light_gray", "use_action": "POISON", From a0f0f0f8eb86764fe5f04b2a0768b5182e2c18de Mon Sep 17 00:00:00 2001 From: Paul Fenwick Date: Sun, 23 Feb 2020 17:20:40 -0800 Subject: [PATCH 15/71] =?UTF-8?q?Poppy=20buds=20moved=20to=20'chems'=20cat?= =?UTF-8?q?egory,=20from=20'other'.=20=F0=9F=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mutated poppies are a feedstock into various medicines, and thus most likely used in a chemlab. --- data/json/items/generic.json | 1 + 1 file changed, 1 insertion(+) diff --git a/data/json/items/generic.json b/data/json/items/generic.json index f120a36d1a938..25b5947ceb265 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -1808,6 +1808,7 @@ "type": "GENERIC", "id": "poppy_bud", "name": "poppy bud", + "category": "chems", "description": "A poppy bud. Contains some substances commonly produced by a mutated poppy flower.", "weight": "30 g", "to_hit": -3, From 95cfdc43381437d5ecc7260e7fea86796c57f1ca Mon Sep 17 00:00:00 2001 From: Sergey Alirzaev Date: Mon, 24 Feb 2020 04:46:57 +0300 Subject: [PATCH 16/71] Increase the fishing quality of the pro fishing rod (#38257) So the player won't mistakenly decide the pro fishing rod is equal to the basic one. --- data/json/items/tool/fishing.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/items/tool/fishing.json b/data/json/items/tool/fishing.json index 87855860e9d0c..563387ebd7c30 100644 --- a/data/json/items/tool/fishing.json +++ b/data/json/items/tool/fishing.json @@ -72,7 +72,7 @@ "symbol": "/", "color": "brown", "use_action": "FISH_ROD", - "qualities": [ [ "FISHING", 1 ] ], + "qualities": [ [ "FISHING", 2 ] ], "flags": [ "FISH_GOOD" ] } ] From 1d6cc0e83fc3f8f1aa04a39ea93eff5e0b379ea9 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 02:49:13 +0100 Subject: [PATCH 17/71] BIONIC_ITEM name to object (#38273) --- data/json/items/bionics.json | 42 ++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/data/json/items/bionics.json b/data/json/items/bionics.json index 03e01626de36d..56879f73918e5 100644 --- a/data/json/items/bionics.json +++ b/data/json/items/bionics.json @@ -258,7 +258,7 @@ "id": "bio_digestion", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Expanded Digestive System CBM", + "name": { "str": "Expanded Digestive System CBM" }, "looks_like": "bio_int_enhancer", "description": "This module contains three synthetic stomachs and industrial-grade intestines. Not only will these extract much more nutrition from food, but also increase the user's resistance to foodborne illness, and occasionally allow the digestion of rotten food.", "price": 550000, @@ -268,7 +268,7 @@ "id": "bio_ears", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Enhanced Hearing CBM", + "name": { "str": "Enhanced Hearing CBM" }, "looks_like": "bio_int_enhancer", "description": "While this bionic is active, the user's hearing will be drastically improved, allowing them to hear ten times better than the average person. Additionally, high-intensity sounds will be automatically dampened before they can damage their hearing.", "price": 500000, @@ -279,7 +279,7 @@ "id": "bio_emp", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Directional EMP CBM", + "name": { "str": "Directional EMP CBM" }, "looks_like": "bio_int_enhancer", "description": "Small parabolic EMP field generators that are mounted in the palm of the user's right hand. These can be used to instantly fire a wide, but short-ranged blast which will disable electronics and robots.", "price": 720000, @@ -289,7 +289,7 @@ "id": "bio_emp_armgun", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "EMP Projector CBM", + "name": { "str": "EMP Projector CBM" }, "looks_like": "bio_int_enhancer", "description": "A ranged EMP generator system that is implanted in the user's right arm and hand. The system fires precise, single-target pulses that require time to aim. Extremely effective against electronic targets but mostly useless otherwise.", "price": 220000, @@ -299,7 +299,7 @@ "id": "bio_ethanol", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Ethanol Burner CBM", + "name": { "str": "Ethanol Burner CBM" }, "looks_like": "bio_int_enhancer", "description": "A reactor that burns alcohol as fuel in an extremely efficient reaction. It can store up to 500ml and accepts ethanol, methanol and denatured alcohol as fuel.", "price": 120000, @@ -319,7 +319,7 @@ "id": "bio_eye_enhancer", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Diamond Cornea CBM", + "name": { "str": "Diamond Cornea CBM" }, "looks_like": "bio_int_enhancer", "description": "A set of diamond corneas which greatly enhance the user's vision, granting a +2 bonus to perception.", "price": 800000, @@ -341,7 +341,7 @@ "id": "bio_face_mask", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Facial Distortion CBM", + "name": { "str": "Facial Distortion CBM" }, "looks_like": "bio_int_enhancer", "description": "Through controlled application of electrochemical impulses, this bionic module lets the user alter their facial structure so as to subtly affect the reactions of others. This grants a bonus to all social interactions.", "price": 850000, @@ -352,7 +352,7 @@ "id": "bio_faraday", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Dielectric Capacitance System CBM", + "name": { "str": "Dielectric Capacitance System CBM" }, "looks_like": "bio_int_enhancer", "description": "A network of miniature piezoelectric capacitors, implanted throughout the body to protect from external electrical discharge.", "price": 5000, @@ -363,7 +363,7 @@ "id": "bio_fingerhack", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Fingerhack CBM", + "name": { "str": "Fingerhack CBM" }, "looks_like": "bio_int_enhancer", "description": "A miniature electrohack, surgically embedded in a finger of the right hand. This is an all-purpose hacking unit used to override control panels and the like, but not computers. Computer proficiency is important, and a failed use may cause damage.", "price": 350000, @@ -374,7 +374,7 @@ "id": "bio_flashbang", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Flashbang Generator CBM", + "name": { "str": "Flashbang Generator CBM" }, "looks_like": "bio_int_enhancer", "description": "A combination of LEDs and speakers that create a flash and sound comparable to a flashbang grenade, deafening and blinding nearby enemies.", "price": 720000, @@ -385,7 +385,7 @@ "id": "bio_flashlight", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Cranial Flashlight CBM", + "name": { "str": "Cranial Flashlight CBM" }, "looks_like": "bio_int_enhancer", "description": "A small, but powerful LED flashlight that is mounted between the eyes.", "price": 20000, @@ -492,7 +492,7 @@ "id": "bio_laser", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Finger-Mounted Laser CBM", + "name": { "str": "Finger-Mounted Laser CBM" }, "looks_like": "bio_int_enhancer", "description": "A small, high-powered laser that is embedded in the fingertip. This long range weapon is not incredibly damaging, but is very accurate, and has the potential to start fires.", "price": 720000, @@ -514,7 +514,7 @@ "id": "bio_lighter", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Finger Lighter CBM", + "name": { "str": "Finger Lighter CBM" }, "looks_like": "bio_int_enhancer", "description": "Powerful fire starters which extend from the tip of both hands' index fingers.", "price": 130000, @@ -525,7 +525,7 @@ "id": "bio_lockpick", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Fingerpick CBM", + "name": { "str": "Fingerpick CBM" }, "looks_like": "bio_int_enhancer", "description": "An electronic lockpick that is embedded in a fingertip. This automatic system will quickly unlock all but the most advanced key locks without any skill required on the part of the user.", "price": 350000, @@ -536,7 +536,7 @@ "id": "bio_magnet", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Electromagnetic Unit CBM", + "name": { "str": "Electromagnetic Unit CBM" }, "looks_like": "bio_int_enhancer", "description": "A powerful electromagnet that is implanted into the user's right hand, allowing them to indiscriminately pull all nearby magnetic objects towards them. Unlucky bystanders might be injured or killed by flying objects.", "price": 200000, @@ -558,7 +558,7 @@ "id": "bio_memory", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Enhanced Memory Banks CBM", + "name": { "str": "Enhanced Memory Banks CBM" }, "looks_like": "bio_int_enhancer", "description": "A set of highly-advanced quantum storage drives used to enhance memory. While active, they increase the rate that the user learns skills, and give them near-perfect memory of skills and terrain.", "price": 1000000, @@ -732,7 +732,7 @@ "id": "bio_razors", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Fingertip Razors CBM", + "name": { "str": "Fingertip Razors CBM" }, "looks_like": "bio_int_enhancer", "description": "A set of ten double-edged, four centimeter long razor-sharp claws that are implanted underneath the fingernails. These will deal a small amount of unarmed slashing damage whenever the user's fingertips are uncovered.", "price": 450000, @@ -808,7 +808,7 @@ "id": "bio_shock", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Electroshock Unit CBM", + "name": { "str": "Electroshock Unit CBM" }, "looks_like": "bio_int_enhancer", "description": "While fighting unarmed, or with a weapon that conducts electricity, there is a chance that a successful hit will shock the user's opponent, inflicting extra damage and disabling them temporarily at the cost of some energy.", "price": 550000, @@ -1062,7 +1062,7 @@ "id": "bio_dis_shock", "copy-from": "bionic_general_faulty", "type": "BIONIC_ITEM", - "name": "Faulty Electric System", + "name": { "str": "Faulty Electric System" }, "description": "This CBM is a mess of naked wire and burnt resistors.", "weight": "700 g", "difficulty": 5 @@ -1071,7 +1071,7 @@ "id": "bio_drain", "copy-from": "bionic_general_faulty", "type": "BIONIC_ITEM", - "name": "Electrical Drain", + "name": { "str": "Electrical Drain" }, "description": "This CBM was wired incorrectly and would drain power from any system connected to it.", "weight": "900 g", "difficulty": 5 @@ -1150,7 +1150,7 @@ "id": "bio_sleepy", "copy-from": "bionic_general_faulty", "type": "BIONIC_ITEM", - "name": "Endocrine Enervator", + "name": { "str": "Endocrine Enervator" }, "description": "This malfunctioning bionic causes fatigue by altering the unfortunate user's brain chemistry.", "weight": "100 g", "difficulty": 11 From e55bd75067b304227d1186d2e195dfccbfe7e878 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 02:50:03 +0100 Subject: [PATCH 18/71] Ammo name to object (#38274) --- data/json/items/ammo/38.json | 6 +++--- data/json/items/ammo/380.json | 16 ++++++++-------- data/json/items/ammo/40.json | 12 ++++++------ data/json/items/ammo/410shot.json | 4 ++-- data/json/items/ammo/44.json | 12 ++++++------ data/json/items/ammo/44paper.json | 2 +- 6 files changed, 26 insertions(+), 26 deletions(-) diff --git a/data/json/items/ammo/38.json b/data/json/items/ammo/38.json index 90b727bc819e2..731e8e002aeb9 100644 --- a/data/json/items/ammo/38.json +++ b/data/json/items/ammo/38.json @@ -3,7 +3,7 @@ "id": "38_fmj", "copy-from": "38_special", "type": "AMMO", - "name": ".38 FMJ", + "name": { "str": ".38 FMJ" }, "description": ".38 Special ammunition with brass jacketed 130gr bullets. The .38 Special round has been known from its inception for its accuracy and low recoil.", "relative": { "damage": -2, "pierce": 4 } }, @@ -33,7 +33,7 @@ "id": "38_super", "copy-from": "38_special", "type": "AMMO", - "name": ".38 Super", + "name": { "str": ".38 Super" }, "description": ".38 Super ammunition with 90gr JHP bullets. Designed in 1929, the .38 super cartridge was designed to penetrate body armor and vehicles.", "price": 240, "price_postapoc": 2700, @@ -63,7 +63,7 @@ "id": "reloaded_38_super", "copy-from": "38_super", "type": "AMMO", - "name": ".38 Super, reloaded", + "name": { "str": ".38 Super, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/380.json b/data/json/items/ammo/380.json index fc75918aba056..b380354056df9 100644 --- a/data/json/items/ammo/380.json +++ b/data/json/items/ammo/380.json @@ -2,7 +2,7 @@ { "id": "380_FMJ", "type": "AMMO", - "name": ".380 ACP FMJ", + "name": { "str": ".380 ACP FMJ" }, "description": ".380 ACP ammunition with a brass jacketed 95gr bullet. Popular in pocket pistols for over a century, it is often considered the weakest caliber to consider carrying. One should be careful not to chamber it in 9x18mm Makarov or 9x19mm firearms.", "weight": "6 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "380_JHP", "copy-from": "380_FMJ", "type": "AMMO", - "name": ".380 ACP JHP", + "name": { "str": ".380 ACP JHP" }, "description": ".380 ACP ammunition with a 95gr jacketed hollow point bullet. It is a popular round for small concealable backup pistols, and often the weakest recommended defensive caliber. One should be careful not to chamber it in 9x18mm Makarov or 9x19mm firearms.", "relative": { "damage": 2, "pierce": -2 } }, @@ -34,7 +34,7 @@ "id": "380_p", "copy-from": "380_FMJ", "type": "AMMO", - "name": ".380 ACP +P", + "name": { "str": ".380 ACP +P" }, "description": "Overpressure .380 ACP ammunition with a 90gr jacketed hollow point bullet. These defensive loadings are designed to maximize performance and tend to be more accurate than practice ammo. One should be careful not to chamber it in 9x18mm Makarov or 9x19mm firearms.", "price": 190, "price_postapoc": 3800, @@ -46,7 +46,7 @@ "id": "bp_380_FMJ", "copy-from": "380_FMJ", "type": "AMMO", - "name": ".380 ACP FMJ, black powder", + "name": { "str": ".380 ACP FMJ, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -55,7 +55,7 @@ "id": "bp_380_JHP", "copy-from": "380_JHP", "type": "AMMO", - "name": ".380 ACP JHP, black powder", + "name": { "str": ".380 ACP JHP, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -64,7 +64,7 @@ "id": "reloaded_380_FMJ", "copy-from": "380_FMJ", "type": "AMMO", - "name": ".380 ACP FMJ, reloaded", + "name": { "str": ".380 ACP FMJ, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -73,7 +73,7 @@ "id": "reloaded_380_JHP", "copy-from": "380_JHP", "type": "AMMO", - "name": ".380 ACP JHP, reloaded", + "name": { "str": ".380 ACP JHP, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -82,7 +82,7 @@ "id": "reloaded_380_p", "copy-from": "380_p", "type": "AMMO", - "name": ".380 ACP +P, reloaded", + "name": { "str": ".380 ACP +P, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/40.json b/data/json/items/ammo/40.json index 7aeba66194014..a8aa42e70b224 100644 --- a/data/json/items/ammo/40.json +++ b/data/json/items/ammo/40.json @@ -3,14 +3,14 @@ "id": "40fmj", "copy-from": "40sw", "type": "AMMO", - "name": ".40 S&W FMJ", + "name": { "str": ".40 S&W FMJ" }, "description": ".40 S&W ammunition with 180gr FMJ bullets. Designed to retain the 10mm Auto cartridge's power with lower recoil, the .40 S&W round became popular for law enforcement and personal defense.", "relative": { "damage": -3, "pierce": 6 } }, { "id": "40sw", "type": "AMMO", - "name": ".40 S&W JHP", + "name": { "str": ".40 S&W JHP" }, "description": ".40 S&W ammunition with 135gr JHP bullets. The .40 S&W round is a descended from the 10mm Auto cartridge and maintains most of its predecessor's strengths while reducing recoil.", "weight": "9 g", "volume": "250 ml", @@ -34,7 +34,7 @@ "id": "bp_40fmj", "copy-from": "40fmj", "type": "AMMO", - "name": ".40 S&W FMJ, black powder", + "name": { "str": ".40 S&W FMJ, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -43,7 +43,7 @@ "id": "bp_40sw", "copy-from": "40sw", "type": "AMMO", - "name": ".40 S&W JHP, black powder", + "name": { "str": ".40 S&W JHP, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -52,7 +52,7 @@ "id": "reloaded_40fmj", "copy-from": "40fmj", "type": "AMMO", - "name": ".40 S&W FMJ, reloaded", + "name": { "str": ".40 S&W FMJ, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -61,7 +61,7 @@ "id": "reloaded_40sw", "copy-from": "40sw", "type": "AMMO", - "name": ".40 S&W JHP, reloaded", + "name": { "str": ".40 S&W JHP, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/410shot.json b/data/json/items/ammo/410shot.json index ff8b57f9c4019..5fb3e68f0b482 100644 --- a/data/json/items/ammo/410shot.json +++ b/data/json/items/ammo/410shot.json @@ -2,7 +2,7 @@ { "id": "410shot_000", "type": "AMMO", - "name": ".410 000 shot", + "name": { "str": ".410 000 shot" }, "description": "A .410 shell with 5 000 pellets. Good for a hunting or combat load.", "weight": "16 g", "volume": "250 ml", @@ -25,7 +25,7 @@ "id": "reloaded_410shot_000", "copy-from": "410shot_000", "type": "AMMO", - "name": ".410 000 shot, reloaded", + "name": { "str": ".410 000 shot, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/44.json b/data/json/items/ammo/44.json index 9f4260ea91cd5..42d1405c8ea4e 100644 --- a/data/json/items/ammo/44.json +++ b/data/json/items/ammo/44.json @@ -3,14 +3,14 @@ "id": "44fmj", "copy-from": "44magnum", "type": "AMMO", - "name": ".44 Magnum FMJ", + "name": { "str": ".44 Magnum FMJ" }, "description": "A brass-jacketed variant of the .44 Magnum round. This increases penetration slightly at the cost of reduced damage from expansion.", "relative": { "damage": -4, "pierce": 8 } }, { "id": "44magnum", "type": "AMMO", - "name": ".44 Magnum", + "name": { "str": ".44 Magnum" }, "description": ".44 magnum ammunition with 240gr JHP bullets. The .44 magnum round is one of the most powerful handgun cartridges available. It has excellent stopping power but suffers from extremely high recoil for a handgun round.", "weight": "13 g", "volume": "250 ml", @@ -34,7 +34,7 @@ "id": "reloaded_44fmj", "copy-from": "44fmj", "type": "AMMO", - "name": ".44 Magnum FMJ, reloaded", + "name": { "str": ".44 Magnum FMJ, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -43,7 +43,7 @@ "id": "reloaded_44magnum", "copy-from": "44magnum", "type": "AMMO", - "name": ".44 Magnum, reloaded", + "name": { "str": ".44 Magnum, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -52,7 +52,7 @@ "id": "bp_44magnum", "copy-from": "44magnum", "type": "AMMO", - "name": ".44 Magnum, black powder", + "name": { "str": ".44 Magnum, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -61,7 +61,7 @@ "id": "bp_44fmj", "copy-from": "44fmj", "type": "AMMO", - "name": ".44 Magnum FMJ, black powder", + "name": { "str": ".44 Magnum FMJ, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/44paper.json b/data/json/items/ammo/44paper.json index 868054794585d..4cc8e3d4f184a 100644 --- a/data/json/items/ammo/44paper.json +++ b/data/json/items/ammo/44paper.json @@ -2,7 +2,7 @@ { "id": "44army", "type": "AMMO", - "name": ".44 paper cartridge", + "name": { "str": ".44 paper cartridge" }, "description": "A paper cartridge containing a premeasured amount of black powder and a .44 projectile. Used by the Colt M1860 Army.", "weight": "7 g", "volume": "250 ml", From d850c6e3247549683cc8110821d3e1b48b948490 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 02:51:10 +0100 Subject: [PATCH 19/71] Magazine name to object (#38278) --- data/json/items/magazine/300.json | 2 +- data/json/items/magazine/357sig.json | 4 ++-- data/json/items/magazine/380.json | 2 +- data/json/items/magazine/40.json | 8 ++++---- data/json/items/magazine/45.json | 8 ++++---- data/json/items/magazine/66mm.json | 2 +- data/json/items/magazine/762x25.json | 4 ++-- data/json/items/magazine/9mm.json | 18 +++++++++--------- data/json/items/magazine/9x18.json | 2 +- 9 files changed, 25 insertions(+), 25 deletions(-) diff --git a/data/json/items/magazine/300.json b/data/json/items/magazine/300.json index 23a69b7c75eb8..dda92f3be0568 100644 --- a/data/json/items/magazine/300.json +++ b/data/json/items/magazine/300.json @@ -3,7 +3,7 @@ "id": "m2010mag", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "M2010 ESR magazine", + "name": { "str": "M2010 ESR magazine" }, "description": "A 5-round box magazine used by M2010 ESR sniper rifle.", "weight": "78 g", "volume": "250 ml", diff --git a/data/json/items/magazine/357sig.json b/data/json/items/magazine/357sig.json index 6b71472d547d4..9d46cce55d777 100644 --- a/data/json/items/magazine/357sig.json +++ b/data/json/items/magazine/357sig.json @@ -3,7 +3,7 @@ "id": "p226mag_15rd_357sig", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "P226 .357 SIG magazine", + "name": { "str": "P226 .357 SIG magazine" }, "description": "A 15 round double stack box magazine for a SIG P226 chambered for .357 SIG rounds.", "weight": "150 g", "volume": "250 ml", @@ -20,7 +20,7 @@ "id": "p320mag_14rd_357sig", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "P320 .357 SIG magazine", + "name": { "str": "P320 .357 SIG magazine" }, "description": "A 14 round double stack box magazine for the SIG Sauer P320.", "weight": "105 g", "volume": "250 ml", diff --git a/data/json/items/magazine/380.json b/data/json/items/magazine/380.json index 6a27a23e7e58a..9f19d12f5fa78 100644 --- a/data/json/items/magazine/380.json +++ b/data/json/items/magazine/380.json @@ -54,7 +54,7 @@ "id": "mac11mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "MAC-11 magazine", + "name": { "str": "MAC-11 magazine" }, "description": "A cheap 32-round steel box magazine for use with the MAC-11 SMG.", "weight": "200 g", "volume": "737ml", diff --git a/data/json/items/magazine/40.json b/data/json/items/magazine/40.json index bb035e62dea4d..117fbfc13fca7 100644 --- a/data/json/items/magazine/40.json +++ b/data/json/items/magazine/40.json @@ -106,7 +106,7 @@ "id": "ppq40mag_10rd", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "PPQ .40 S&W 10-round magazine", + "name": { "str": "PPQ .40 S&W 10-round magazine" }, "description": "A 10 round steel box magazine for the Walther PPQ .40 S&W.", "weight": "80 g", "volume": "200 ml", @@ -123,7 +123,7 @@ "id": "ppq40mag_12rd", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "PPQ .40 S&W 12-round magazine", + "name": { "str": "PPQ .40 S&W 12-round magazine" }, "description": "A 12 round steel box magazine for the Walther PPQ .40 S&W.", "weight": "80 g", "volume": "200 ml", @@ -140,7 +140,7 @@ "id": "ppq40mag_14rd", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "PPQ .40 S&W 14-round magazine", + "name": { "str": "PPQ .40 S&W 14-round magazine" }, "description": "A 14 round steel box magazine for the Walther PPQ .40 S&W.", "weight": "80 g", "volume": "200 ml", @@ -157,7 +157,7 @@ "id": "hptjcpmag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "Model JCP magazine", + "name": { "str": "Model JCP magazine" }, "description": "A 10-round steel box magazine for use with the Hi-Point Model JCP.", "weight": "110 g", "volume": "312 ml", diff --git a/data/json/items/magazine/45.json b/data/json/items/magazine/45.json index eb3a83a920210..6daef3daa1204 100644 --- a/data/json/items/magazine/45.json +++ b/data/json/items/magazine/45.json @@ -37,7 +37,7 @@ "id": "mac10mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "MAC-10 magazine", + "name": { "str": "MAC-10 magazine" }, "description": "A cheap 30-round steel box magazine for use with the MAC-10 SMG.", "weight": "210 g", "volume": "500 ml", @@ -54,7 +54,7 @@ "id": "smg_45_mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "MAC-10 makeshift magazine", + "name": { "str": "MAC-10 makeshift magazine" }, "description": "An improvised 20-round straight single-stack box magazine consisting of little more than a bent sheet of steel held together by duct tape and hope, for use with MAC-10 SMG.", "weight": "300 g", "volume": "750 ml", @@ -190,7 +190,7 @@ "id": "ppq45mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "PPQ .45 ACP magazine", + "name": { "str": "PPQ .45 ACP magazine" }, "description": "A 12 round steel box magazine for the Walther PPQ .45 ACP.", "weight": "80 g", "volume": "240 ml", @@ -207,7 +207,7 @@ "id": "hptjhpmag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "Model JHP magazine", + "name": { "str": "Model JHP magazine" }, "description": "A 9-round steel box magazine for use with the Hi-Point Model JHP.", "weight": "110 g", "volume": "353 ml", diff --git a/data/json/items/magazine/66mm.json b/data/json/items/magazine/66mm.json index e71dc78e09970..4a39b9755cb7d 100644 --- a/data/json/items/magazine/66mm.json +++ b/data/json/items/magazine/66mm.json @@ -3,7 +3,7 @@ "id": "m74_clip", "looks_like": "belt40mm", "type": "MAGAZINE", - "name": "M74 rocket clip", + "name": { "str": "M74 rocket clip" }, "description": "This is a clip for the M202A1 FLASH that can hold 4 M74 incendiary rockets.", "weight": "200 g", "volume": "500 ml", diff --git a/data/json/items/magazine/762x25.json b/data/json/items/magazine/762x25.json index f51467d0c37ae..b1c9419dee30f 100644 --- a/data/json/items/magazine/762x25.json +++ b/data/json/items/magazine/762x25.json @@ -3,7 +3,7 @@ "id": "ppshdrum", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "PPSh 71-round drum magazine", + "name": { "str": "PPSh 71-round drum magazine" }, "//": "Provisional.", "description": "A high-capacity drum magazine for the PPSh-41.", "weight": "1387 g", @@ -22,7 +22,7 @@ "id": "ppshmag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "PPSh 35-round magazine", + "name": { "str": "PPSh 35-round magazine" }, "description": "A 35-round box magazine for the PPSh-41.", "weight": "470 g", "volume": "500 ml", diff --git a/data/json/items/magazine/9mm.json b/data/json/items/magazine/9mm.json index 0608951368aec..917b53d0da860 100644 --- a/data/json/items/magazine/9mm.json +++ b/data/json/items/magazine/9mm.json @@ -159,7 +159,7 @@ "id": "m9bigmag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "M9 extended magazine", + "name": { "str": "M9 extended magazine" }, "description": "A 30-round extended magazine compatible with both the M9 handgun and some modern carbines.", "weight": "270 g", "volume": "500 ml", @@ -177,7 +177,7 @@ "id": "m9mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "M9 magazine", + "name": { "str": "M9 magazine" }, "description": "A military issue 15-round box magazine originally intended for use with the Beretta M9 handgun.", "weight": "135 g", "volume": "250 ml", @@ -194,7 +194,7 @@ "id": "mp5bigmag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "MP5 extended magazine", + "name": { "str": "MP5 extended magazine" }, "description": "A drum magazine for use with the H&K MP5 SMG. Much greater capacity but less reliable the factory specification magazine.", "weight": "350 g", "volume": "750 ml", @@ -212,7 +212,7 @@ "id": "mp5mag", "//": "Tileset whitelist for SMG magazines", "type": "MAGAZINE", - "name": "MP5 magazine", + "name": { "str": "MP5 magazine" }, "description": "A standard capacity curved magazine for use with the H&K MP5 SMG.", "weight": "210 g", "volume": "500 ml", @@ -332,7 +332,7 @@ "id": "p320mag_17rd_9x19mm", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "P320 9x19mm magazine", + "name": { "str": "P320 9x19mm magazine" }, "description": "A 17 round double stack box magazine for the SIG Sauer P320.", "weight": "105 g", "volume": "250 ml", @@ -384,7 +384,7 @@ "id": "p38mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "P38 magazine", + "name": { "str": "P38 magazine" }, "description": "An 8 round steel box magazine for the Walther P38.", "weight": "70 g", "volume": "228 ml", @@ -401,7 +401,7 @@ "id": "ppq9mag_10rd", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "PPQ 9x19mm 10-round magazine", + "name": { "str": "PPQ 9x19mm 10-round magazine" }, "description": "A 10 round steel box magazine for the Walther PPQ 9mm.", "weight": "80 g", "volume": "207 ml", @@ -418,7 +418,7 @@ "id": "ppq9mag_15rd", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "PPQ 9x19mm 15-round magazine", + "name": { "str": "PPQ 9x19mm 15-round magazine" }, "description": "A 15 round steel box magazine for the Walther PPQ 9mm.", "weight": "80 g", "volume": "207 ml", @@ -435,7 +435,7 @@ "id": "ppq9mag_17rd", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "PPQ 9x19mm 17-round magazine", + "name": { "str": "PPQ 9x19mm 17-round magazine" }, "description": "A 17 round steel box magazine for the Walther PPQ 9mm.", "weight": "80 g", "volume": "207 ml", diff --git a/data/json/items/magazine/9x18.json b/data/json/items/magazine/9x18.json index 3394056efa0b9..e898673a36d4b 100644 --- a/data/json/items/magazine/9x18.json +++ b/data/json/items/magazine/9x18.json @@ -3,7 +3,7 @@ "id": "makarovmag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "Makarov PM magazine", + "name": { "str": "Makarov PM magazine" }, "description": "The standard magazine for the Pistolet Makarova, holds 8 rounds.", "weight": "60 g", "volume": "250 ml", From abdf29ad909a12122e29989069941ffd4ee67ce4 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 02:55:04 +0100 Subject: [PATCH 20/71] Generic name to object (#38277) --- data/json/items/generic/ammolink.json | 4 +-- data/json/items/generic/casing.json | 42 +++++++++++++-------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/data/json/items/generic/ammolink.json b/data/json/items/generic/ammolink.json index 5b929b545f9aa..1728e0227a6d8 100644 --- a/data/json/items/generic/ammolink.json +++ b/data/json/items/generic/ammolink.json @@ -17,14 +17,14 @@ "id": "ammolink223", "copy-from": "ammolink", "type": "GENERIC", - "name": ".223 ammo belt linkage", + "name": { "str": ".223 ammo belt linkage" }, "use_action": { "type": "ammobelt", "belt": "belt223" } }, { "id": "ammolink308", "copy-from": "ammolink", "type": "GENERIC", - "name": ".308 ammo belt linkage", + "name": { "str": ".308 ammo belt linkage" }, "use_action": { "type": "ammobelt", "belt": "belt308" } }, { diff --git a/data/json/items/generic/casing.json b/data/json/items/generic/casing.json index d98503d4c3b81..d6347c0ff95cc 100644 --- a/data/json/items/generic/casing.json +++ b/data/json/items/generic/casing.json @@ -14,7 +14,7 @@ "id": "223_casing", "copy-from": "casing", "type": "GENERIC", - "name": ".223 casing", + "name": { "str": ".223 casing" }, "description": "An empty casing from a .223 round.", "weight": "5 g", "volume": "5ml" @@ -24,7 +24,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".22 LR casing", + "name": { "str": ".22 LR casing" }, "description": "An empty casing from a .22 LR round. These can't be hand-reloaded.", "weight": "2 g", "volume": "3ml" @@ -47,7 +47,7 @@ "copy-from": "casing", "looks_like": "223_casing", "type": "GENERIC", - "name": ".30-06 casing", + "name": { "str": ".30-06 casing" }, "description": "An empty casing from a .30-06 round.", "weight": "7 g", "volume": "10ml" @@ -57,7 +57,7 @@ "copy-from": "casing", "looks_like": "223_casing", "type": "GENERIC", - "name": ".270 Winchester casing", + "name": { "str": ".270 Winchester casing" }, "description": "An empty casing from a .270 Winchester round.", "weight": "7 g", "volume": "10ml" @@ -67,7 +67,7 @@ "copy-from": "casing", "looks_like": "223_casing", "type": "GENERIC", - "name": ".300 Win Mag casing", + "name": { "str": ".300 Win Mag casing" }, "description": "An empty casing from a .300 Winchester Magnum round.", "weight": "7 g", "volume": "10ml" @@ -77,7 +77,7 @@ "copy-from": "casing", "looks_like": "223_casing", "type": "GENERIC", - "name": ".308 casing", + "name": { "str": ".308 casing" }, "description": "An empty casing from a .308 round.", "weight": "6 g", "volume": "9ml" @@ -97,7 +97,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".32 ACP casing", + "name": { "str": ".32 ACP casing" }, "description": "An empty casing from a .32 ACP round.", "weight": "2 g", "volume": "3ml" @@ -107,7 +107,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".38 Special casing", + "name": { "str": ".38 Special casing" }, "description": "An empty casing from a .38 Special round.", "weight": "3 g", "volume": "4ml" @@ -117,7 +117,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".38 Super casing", + "name": { "str": ".38 Super casing" }, "description": "An empty casing from a .38 Super round.", "weight": "3 g", "volume": "4ml" @@ -127,7 +127,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".40 S&W casing", + "name": { "str": ".40 S&W casing" }, "description": "An empty casing from a .40 S&W round.", "weight": "3 g", "volume": "5ml" @@ -207,7 +207,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".44 Magnum casing", + "name": { "str": ".44 Magnum casing" }, "description": "An empty casing from a .44 Magnum round.", "weight": "4 g", "volume": "6ml" @@ -217,7 +217,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".454 Casull casing", + "name": { "str": ".454 Casull casing" }, "description": "An empty casing from a .454 Casull round.", "weight": "7 g", "volume": "10ml" @@ -227,7 +227,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".45 ACP casing", + "name": { "str": ".45 ACP casing" }, "description": "An empty casing from a .45 ACP round.", "weight": "4 g", "volume": "6ml" @@ -237,7 +237,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".45 Colt casing", + "name": { "str": ".45 Colt casing" }, "description": "An empty casing from a .45 Colt round.", "weight": "4 g", "volume": "6ml" @@ -247,7 +247,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".45-70 casing", + "name": { "str": ".45-70 casing" }, "description": "An empty casing from a .45-70 Government round.", "weight": "4 g", "volume": "10ml" @@ -267,7 +267,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".460 Rowland casing", + "name": { "str": ".460 Rowland casing" }, "description": "An empty casing from a .460 Rowland round. It looks deceptively like a .45ACP casing.", "weight": "4 g", "volume": "6ml" @@ -378,7 +378,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".357 SIG casing", + "name": { "str": ".357 SIG casing" }, "description": "An empty casing from a .357 SIG round.", "weight": "3 g", "volume": "5ml" @@ -388,7 +388,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".357 magnum casing", + "name": { "str": ".357 magnum casing" }, "description": "An empty casing from a .357 magnum round.", "weight": "3 g", "volume": "5ml" @@ -408,7 +408,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".380 ACP casing", + "name": { "str": ".380 ACP casing" }, "description": "An empty casing from a .380 ACP round.", "weight": "3 g", "volume": "5ml" @@ -442,7 +442,7 @@ "id": "410shot_hull", "type": "GENERIC", "category": "spare_parts", - "name": ".410 hull", + "name": { "str": ".410 hull" }, "description": "An empty hull from a .410 shotgun shell.", "weight": "8 g", "volume": "12ml", @@ -458,7 +458,7 @@ "copy-from": "casing", "looks_like": "223_casing", "type": "GENERIC", - "name": ".300BLK casing", + "name": { "str": ".300BLK casing" }, "description": "An empty casing from a .300 AAC Blackout round.", "weight": "6 g", "volume": "9ml" From 92b0b2c36bb327017529b8d275f3f9477e1eb680 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 02:56:49 +0100 Subject: [PATCH 21/71] Bionic name to object (#38279) --- data/json/bionics.json | 48 +++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/data/json/bionics.json b/data/json/bionics.json index b6762f961b267..f3ef8ed2dda75 100644 --- a/data/json/bionics.json +++ b/data/json/bionics.json @@ -222,7 +222,7 @@ { "id": "bio_climate", "type": "bionic", - "name": "Internal Climate Control", + "name": { "str": "Internal Climate Control" }, "description": "Throughout your body lies a network of thermal piping, which eases the effects of high and low ambient temperatures when activated.", "occupied_bodyparts": [ [ "TORSO", 8 ], @@ -423,7 +423,7 @@ { "id": "bio_face_mask", "type": "bionic", - "name": "Facial Distortion", + "name": { "str": "Facial Distortion" }, "description": "Through controlled application of electrochemical impulses, you are capable of altering your facial structure so as to subtly affect the reactions of others. This grants a bonus to all social interactions.", "occupied_bodyparts": [ [ "HEAD", 3 ], [ "MOUTH", 1 ] ] }, @@ -452,14 +452,14 @@ { "id": "bio_fingerhack", "type": "bionic", - "name": "Fingerhack", + "name": { "str": "Fingerhack" }, "description": "One of your fingers has an electrohack surgically embedded in it; an all-purpose hacking unit used to override control panels and the like (but not computers). Skill in computers is important, and a failed use may damage your circuits.", "occupied_bodyparts": [ [ "HAND_R", 2 ] ] }, { "id": "bio_flashbang", "type": "bionic", - "name": "Flashbang Generator", + "name": { "str": "Flashbang Generator" }, "description": "Light emitting diodes surgically integrated into your skin can release a flash comparable to a flashbang grenade, blinding nearby enemies. Speakers integrated into your body mimic the loud sound, deafening those nearby.", "occupied_bodyparts": [ [ "TORSO", 20 ], [ "ARM_L", 2 ], [ "ARM_R", 2 ], [ "LEG_L", 3 ], [ "LEG_R", 3 ] ], "act_cost": "10 kJ" @@ -488,14 +488,14 @@ { "id": "bio_glowy", "type": "bionic", - "name": "Glowy Thing", + "name": { "str": "Glowy Thing" }, "description": "You don't think that capacitor is *meant* to glow, but it does, and usually at bad times. A malfunctioning bionic randomly turns on and off, causing you to glow and making you visible in the dark without improving how much you can see in the slightest.", "flags": [ "BIONIC_FAULTY" ] }, { "id": "bio_geiger", "type": "bionic", - "name": "Integrated Dosimeter", + "name": { "str": "Integrated Dosimeter" }, "description": "Small radiation sensors have been surgically implanted throughout your body, allowing you to analyze your level of absorbed radiation. They will also alert you whenever exposed to environmental radiation.", "occupied_bodyparts": [ [ "TORSO", 2 ], [ "HEAD", 1 ], [ "ARM_L", 1 ], [ "ARM_R", 1 ], [ "LEG_L", 1 ], [ "LEG_R", 1 ] ], "act_cost": "100 J" @@ -522,7 +522,7 @@ { "id": "bio_heat_absorb", "type": "bionic", - "name": "Heat Drain", + "name": { "str": "Heat Drain" }, "description": "While fighting unarmed against a warm-blooded opponent, there is a chance that a successful hit will drain body heat, inflicting a small amount of extra damage, and increasing your power reserves slightly.", "occupied_bodyparts": [ [ "TORSO", 12 ], @@ -563,7 +563,7 @@ { "id": "bio_hydraulics", "type": "bionic", - "name": "Hydraulic Muscles", + "name": { "str": "Hydraulic Muscles" }, "description": "While activated, your muscles will be greatly enhanced, increasing your strength by 20.", "occupied_bodyparts": [ [ "TORSO", 4 ], [ "ARM_L", 8 ], [ "ARM_R", 8 ], [ "LEG_L", 14 ], [ "LEG_R", 14 ] ], "flags": [ "BIONIC_TOGGLED", "BIONIC_NPC_USABLE" ], @@ -574,7 +574,7 @@ { "id": "bio_infrared", "type": "bionic", - "name": "Infrared Vision", + "name": { "str": "Infrared Vision" }, "description": "Your range of vision extends into the infrared, allowing you to see warm-blooded creatures in the dark or through smoke.", "occupied_bodyparts": [ [ "EYES", 1 ] ], "flags": [ "BIONIC_TOGGLED" ], @@ -594,7 +594,7 @@ { "id": "bio_itchy", "type": "bionic", - "name": "Itchy Metal Thing", + "name": { "str": "Itchy Metal Thing" }, "description": "A bionic of some sort, so badly installed that you cannot even tell what it was originally supposed to be. Sometimes it itches horribly.", "occupied_bodyparts": [ [ "TORSO", 3 ], [ "HEAD", 2 ], [ "HAND_L", 1 ], [ "HAND_R", 1 ] ], "flags": [ "BIONIC_FAULTY" ] @@ -602,7 +602,7 @@ { "id": "bio_laser", "type": "bionic", - "name": "Finger-Mounted Laser", + "name": { "str": "Finger-Mounted Laser" }, "description": "One of your fingers has a small high-powered laser surgically embedded in it. This long range weapon is not incredibly damaging, but is very accurate, and has the potential to start fires.", "occupied_bodyparts": [ [ "HAND_R", 1 ] ], "act_cost": "30 kJ", @@ -631,7 +631,7 @@ { "id": "bio_lighter", "type": "bionic", - "name": "Finger Lighter", + "name": { "str": "Finger Lighter" }, "description": "The index fingers of both hands have powerful fire starters which extend from the tip.", "occupied_bodyparts": [ [ "HAND_L", 1 ], [ "HAND_R", 1 ] ], "fake_item": "fake_firestarter", @@ -640,7 +640,7 @@ { "id": "bio_lockpick", "type": "bionic", - "name": "Fingerpick", + "name": { "str": "Fingerpick" }, "description": "One of your fingers has an electronic lockpick surgically embedded in it. This automatic system will quickly unlock all but the most advanced key locks without any skill required on the part of the user.", "occupied_bodyparts": [ [ "HAND_R", 2 ] ], "act_cost": "50 J" @@ -716,7 +716,7 @@ { "id": "bio_night_vision", "type": "bionic", - "name": "Implanted Night Vision", + "name": { "str": "Implanted Night Vision" }, "description": "When active, this bionic will amplify existing light, allowing you to see in the dark.", "occupied_bodyparts": [ [ "EYES", 1 ] ], "flags": [ "BIONIC_TOGGLED" ], @@ -856,7 +856,7 @@ { "id": "bio_razors", "type": "bionic", - "name": "Fingertip Razors", + "name": { "str": "Fingertip Razors" }, "description": "You possess razor-sharp claws underneath your fingernails that do a small amount of unarmed slashing damage whenever your fingertips are uncovered.", "occupied_bodyparts": [ [ "HAND_L", 2 ], [ "HAND_R", 2 ] ], "fake_item": "fake_razor", @@ -1070,7 +1070,7 @@ { "id": "bio_tools", "type": "bionic", - "name": "Integrated Toolset", + "name": { "str": "Integrated Toolset" }, "description": "Surgically implanted in your hands and fingers is a set of tools - screwdriver, hammer, wrench, hacksaw, drill, welder, and heating elements. You can use this in place of many tools when crafting.", "occupied_bodyparts": [ [ "HAND_L", 3 ], [ "HAND_R", 3 ] ], "fake_item": "toolset", @@ -1080,7 +1080,7 @@ { "id": "bio_tools_extend", "type": "bionic", - "name": "Extended Toolset", + "name": { "str": "Extended Toolset" }, "description": "Extend or withdraw your integrated toolset to cut metal, pry things, or other stuff. This takes up your hands.", "fake_item": "toolset_extended", "included": true, @@ -1089,7 +1089,7 @@ { "id": "bio_torsionratchet", "type": "bionic", - "name": "Joint Torsion Ratchet", + "name": { "str": "Joint Torsion Ratchet" }, "description": "Your joints have been surgically equipped with torsion ratchets that slowly generate power when you move. Whilst this is toggled, moving will require more effort, though more power will be generated.", "occupied_bodyparts": [ [ "ARM_L", 8 ], [ "ARM_R", 8 ], [ "LEG_L", 12 ], [ "LEG_R", 12 ] ], "fuel_options": [ "muscle" ], @@ -1100,7 +1100,7 @@ { "id": "bio_jointservo", "type": "bionic", - "name": "Joint Servo", + "name": { "str": "Joint Servo" }, "description": "Your leg joints have been equipped with servomotors that provide power-assisted movement. They are optimized for running, but walking also requires less effort when this bionic is online. However, when it's offline it will hamper your movement, as you struggle against its moving parts.", "occupied_bodyparts": [ [ "LEG_L", 12 ], [ "LEG_R", 12 ] ], "flags": [ "BIONIC_TOGGLED" ] @@ -1127,7 +1127,7 @@ { "id": "bio_ups", "type": "bionic", - "name": "Internal Unified Power System", + "name": { "str": "Internal Unified Power System" }, "description": "You have a Unified Power System wired into your power banks. Objects that run on a UPS can now draw directly from your bionic power supply.", "occupied_bodyparts": [ [ "TORSO", 5 ] ], "flags": [ "BIONIC_TOGGLED" ] @@ -1143,7 +1143,7 @@ { "id": "bio_watch", "type": "bionic", - "name": "Internal Chronometer", + "name": { "str": "Internal Chronometer" }, "description": "You have been equipped with an internal atomic clock, ensuring that you will always know the current time. Additionally, it includes a silent alarm clock function.", "occupied_bodyparts": [ [ "HEAD", 1 ] ] }, @@ -1158,7 +1158,7 @@ { "id": "bio_fuel_cell_gasoline", "type": "bionic", - "name": "Gasoline Fuel Cell CBM", + "name": { "str": "Gasoline Fuel Cell CBM" }, "description": "A small gasoline fuel cell fixed to your scapula. Despite its limited energy output compared to other fuel cells, this device still produces a significant amount of heat dissipated through a heat exhaust protruding from your back. A diffuse network of bio-plastic bladders has been meshed with your circulatory system and serves as a fuel tank.", "occupied_bodyparts": [ [ "TORSO", 8 ] ], "encumbrance": [ [ "TORSO", 5 ] ], @@ -1172,7 +1172,7 @@ { "id": "bio_syringe", "type": "bionic", - "name": "Intravenous Needletip", + "name": { "str": "Intravenous Needletip" }, "description": "The flesh of the inside of your middle finger has been replaced with a tube leading into your arteries, with a retractable needle extending out of the tip of the finger when clenched. This lets you pump intravenous drugs like morphine directly into your bloodstream without needing to carry a syringe.", "occupied_bodyparts": [ [ "HAND_L", 1 ] ] }, @@ -1188,7 +1188,7 @@ { "id": "bio_shock_absorber", "type": "bionic", - "name": "Kinetic Shock Absorbers", + "name": { "str": "Kinetic Shock Absorbers" }, "description": "Most of the flesh in your arms, legs, and upper torso has been replaced with industrial-strength springs and protective padding. Clenching your fist allows you to fold and unfold this padding; while active, the hydraulic absorbers will prevent damage to your body from severe impacts, at the cost of impaired movement.", "occupied_bodyparts": [ [ "TORSO", 1 ], [ "ARM_L", 1 ], [ "ARM_R", 1 ], [ "LEG_L", 1 ], [ "LEG_R", 1 ] ], "flags": [ "BIONIC_TOGGLED" ] From f29c9d2d6afc96988da0647e9224b8ed109beb88 Mon Sep 17 00:00:00 2001 From: Damien Wilson Date: Sun, 23 Feb 2020 19:50:26 -0800 Subject: [PATCH 22/71] Include JSON formatter binary in release. --- Makefile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 57bf265f32de9..32aa5d037337a 100644 --- a/Makefile +++ b/Makefile @@ -165,6 +165,13 @@ ifdef MSYSTEM MSYS2 = 1 endif +# Determine JSON formatter binary name +ifeq ($(MSYS2), 1) + JSON_FORMATTER_BIN=tools/format/json_formatter.exe +else + JSON_FORMATTER_BIN=tools/format/json_formatter.cgi +endif + # Enable backtrace by default ifndef BACKTRACE # ...except not on native Windows builds, because the relevant headers are @@ -362,7 +369,7 @@ endif CXXFLAGS += $(WARNINGS) $(DEBUG) $(DEBUGSYMS) $(PROFILE) $(OTHERS) -MMD -MP TOOL_CXXFLAGS = -DCATA_IN_TOOL -BINDIST_EXTRAS += README.md data doc LICENSE.txt LICENSE-OFL-Terminus-Font.txt VERSION.txt +BINDIST_EXTRAS += README.md data doc LICENSE.txt LICENSE-OFL-Terminus-Font.txt VERSION.txt $(JSON_FORMATTER_BIN) BINDIST = $(BUILD_PREFIX)cataclysmdda-$(VERSION).tar.gz W32BINDIST = $(BUILD_PREFIX)cataclysmdda-$(VERSION).zip BINDIST_CMD = tar --transform=s@^$(BINDIST_DIR)@cataclysmdda-$(VERSION)@ -czvf $(BINDIST) $(BINDIST_DIR) @@ -1067,11 +1074,6 @@ endif JSON_FILES = $(shell find data -name "*.json" | sed "s|^\./||") JSON_WHITELIST = $(filter-out $(shell cat json_blacklist), $(JSON_FILES)) -ifeq ($(MSYS2), 1) - JSON_FORMATTER_BIN=tools/format/json_formatter.exe -else - JSON_FORMATTER_BIN=tools/format/json_formatter.cgi -endif style-json: $(JSON_WHITELIST) From 1c29e3d2df8cbf81b52c9638808a87e3a1375c3f Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Mon, 24 Feb 2020 06:39:04 +0000 Subject: [PATCH 23/71] Even more gcc warning options (#38222) * Add -Wlogical-op -Wrestrict These don't trigger anything in our code, but are useful gcc warnings to have enabled. * Remove redundant declarations * Remove unused macros * Fix format signedness * NULL -> nullptr * Guard dbg declaration in sounds.cpp * Enable a few more gcc warning options * Add -Wnon-virtual-dtor and virtual destructors This warning detects classes with virtual functions but a non-virtual destructor. Deleting instances through pointers whose type is such a class is undefined behaviour. I'm not certain whether any of the classes I've added the virtual destructors to here actually needed it, but there should be negligible performance impact, and it's a good warning to have enabled. * Remove -Wrestrict Turns out it's not actually supported by gcc 5.3. --- CMakeLists.txt | 8 +++++++- Makefile | 6 ++++++ src/behavior_strategy.h | 1 + src/crafting.cpp | 1 + src/crafting.h | 2 -- src/game.cpp | 2 ++ src/iexamine.cpp | 2 -- src/inventory_ui.h | 3 ++- src/item_stack.h | 1 + src/json.cpp | 2 -- src/main_menu.cpp | 2 -- src/mapgen_functions.cpp | 3 --- src/mission_companion.h | 1 - src/ncurses_def.cpp | 2 +- src/npctalk_funcs.cpp | 2 -- src/options.cpp | 2 -- src/overmap.cpp | 2 -- src/savegame_json.cpp | 2 -- src/sounds.cpp | 4 ++-- src/worldfactory.cpp | 2 -- tests/stomach_contents_test.cpp | 4 ++-- tools/format/getpost.h | 8 ++++---- 22 files changed, 29 insertions(+), 33 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 21089148f6b38..fc90e4be2b0a3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -221,12 +221,18 @@ IF(MSVC) ELSE() SET(CATA_WARNINGS "-Werror -Wall -Wextra \ + -Wformat-signedness \ + -Wlogical-op \ -Wmissing-declarations \ -Wmissing-noreturn \ + -Wnon-virtual-dtor \ -Wold-style-cast \ -Woverloaded-virtual \ - -Wsuggest-override \ -Wpedantic \ + -Wredundant-decls \ + -Wsuggest-override \ + -Wunused-macros \ + -Wzero-as-null-pointer-constant \ -Wno-unknown-warning-option") # Compact the whitespace in the warning string string(REGEX REPLACE "[\t ]+" " " CATA_WARNINGS "${CATA_WARNINGS}") diff --git a/Makefile b/Makefile index 57bf265f32de9..41ce984111283 100644 --- a/Makefile +++ b/Makefile @@ -89,12 +89,18 @@ RELEASE_FLAGS = WARNINGS = \ -Werror -Wall -Wextra \ + -Wformat-signedness \ + -Wlogical-op \ -Wmissing-declarations \ -Wmissing-noreturn \ + -Wnon-virtual-dtor \ -Wold-style-cast \ -Woverloaded-virtual \ -Wpedantic \ + -Wredundant-decls \ -Wsuggest-override \ + -Wunused-macros \ + -Wzero-as-null-pointer-constant \ -Wno-unknown-warning-option # Uncomment below to disable warnings #WARNINGS = -w diff --git a/src/behavior_strategy.h b/src/behavior_strategy.h index b5a374d67d76d..587367dddb7b8 100644 --- a/src/behavior_strategy.h +++ b/src/behavior_strategy.h @@ -18,6 +18,7 @@ struct behavior_return; class strategy_t { public: + virtual ~strategy_t() = default; virtual behavior_return evaluate( const oracle_t *subject, std::vector children ) const = 0; }; diff --git a/src/crafting.cpp b/src/crafting.cpp index e7401b9b379d5..78774615b05ea 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -17,6 +17,7 @@ #include "bionics.h" #include "calendar.h" #include "craft_command.h" +#include "crafting_gui.h" #include "debug.h" #include "flag.h" #include "game.h" diff --git a/src/crafting.h b/src/crafting.h index 18a00750e5fa0..1659a378d40a9 100644 --- a/src/crafting.h +++ b/src/crafting.h @@ -24,6 +24,4 @@ void remove_ammo( item &dis_item, player &p ); // same as above but for each item in the list void remove_ammo( std::list &dis_items, player &p ); -const recipe *select_crafting_recipe( int &batch_size ); - #endif diff --git a/src/game.cpp b/src/game.cpp index 63b6e08a4bacc..4c21e2a3249c1 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -6839,7 +6839,9 @@ static void centerlistview( const tripoint &active_item_position, int ui_width ) } +#if defined(TILES) #define MAXIMUM_ZOOM_LEVEL 4 +#endif void game::zoom_out() { #if defined(TILES) diff --git a/src/iexamine.cpp b/src/iexamine.cpp index f86cb3b4a1484..0bb3e725445f2 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -2512,8 +2512,6 @@ void iexamine::arcfurnace_full( player &, const tripoint &examp ) } //arc furnace end -void iexamine::fireplace( player &p, const tripoint &examp ); - void iexamine::autoclave_empty( player &p, const tripoint &examp ) { furn_id cur_autoclave_type = g->m.furn( examp ); diff --git a/src/inventory_ui.h b/src/inventory_ui.h index f1afe1ad7245e..331f4e2d21a2f 100644 --- a/src/inventory_ui.h +++ b/src/inventory_ui.h @@ -129,6 +129,7 @@ class inventory_selector_preset { public: inventory_selector_preset(); + virtual ~inventory_selector_preset() = default; /** Does this entry satisfy the basic preset conditions? */ virtual bool is_shown( const item_location & ) const { @@ -424,7 +425,7 @@ class inventory_selector { public: inventory_selector( player &u, const inventory_selector_preset &preset = default_preset ); - ~inventory_selector(); + virtual ~inventory_selector(); /** These functions add items from map / vehicles. */ void add_character_items( Character &character ); void add_map_items( const tripoint &target ); diff --git a/src/item_stack.h b/src/item_stack.h index 6df19649b0c6c..58da76cbf0c60 100644 --- a/src/item_stack.h +++ b/src/item_stack.h @@ -28,6 +28,7 @@ class item_stack using const_reverse_iterator = cata::colony::const_reverse_iterator; item_stack( cata::colony *items ) : items( items ) { } + virtual ~item_stack() = default; size_t size() const; bool empty() const; diff --git a/src/json.cpp b/src/json.cpp index c0d3bdee424d9..f7e4df07a6bf7 100644 --- a/src/json.cpp +++ b/src/json.cpp @@ -24,8 +24,6 @@ extern bool test_mode; // JSON parsing and serialization tools for Cataclysm-DDA. // For documentation, see the included header, json.h. -#define dbg(x) DebugLog((x), D_MAIN) << __FILE__ << ":" << __LINE__ << ": " - static bool is_whitespace( char ch ) { // These are all the valid whitespace characters allowed by RFC 4627. diff --git a/src/main_menu.cpp b/src/main_menu.cpp index c1244e251f07f..bca8cea985b9e 100644 --- a/src/main_menu.cpp +++ b/src/main_menu.cpp @@ -39,8 +39,6 @@ #include "pldata.h" #include "string_formatter.h" -#define dbg(x) DebugLog((DebugLevel)(x),D_GAME) << __FILE__ << ":" << __LINE__ << ": " - static const holiday current_holiday = holiday::none; void main_menu::on_move() const diff --git a/src/mapgen_functions.cpp b/src/mapgen_functions.cpp index 901576ad030ef..1d57959794a89 100644 --- a/src/mapgen_functions.cpp +++ b/src/mapgen_functions.cpp @@ -173,9 +173,6 @@ void mapgen_rotate( map *m, oter_id terrain_type, bool north_is_down ) m->rotate( static_cast( north_is_down ? om_direction::opposite( dir ) : dir ) ); } -#define autorotate(x) mapgen_rotate(m, terrain_type, x) -#define autorotate_down() mapgen_rotate(m, terrain_type, true) - ///////////////////////////////////////////////////////////////////////////////////////////////// ///// builtin terrain-specific mapgen functions. big multi-overmap-tile terrains are located in ///// mapgen_functions_big.cpp diff --git a/src/mission_companion.h b/src/mission_companion.h index 70e70a40c5c49..f6992b01b13fb 100644 --- a/src/mission_companion.h +++ b/src/mission_companion.h @@ -71,7 +71,6 @@ namespace talk_function //Identifies which mission set the NPC draws from void companion_mission( npc &p ); -void basecamp_mission( npc &p ); // Display the available missions and let the player choose one bool display_and_choose_opts( mission_data &mission_key, const tripoint &omt_pos, diff --git a/src/ncurses_def.cpp b/src/ncurses_def.cpp index b4177e80f6046..8550acb7b7ffd 100644 --- a/src/ncurses_def.cpp +++ b/src/ncurses_def.cpp @@ -218,7 +218,7 @@ void catacurses::init_interface() } #if !defined(__CYGWIN__) // ncurses mouse registration - mousemask( BUTTON1_CLICKED | BUTTON3_CLICKED | REPORT_MOUSE_POSITION, NULL ); + mousemask( BUTTON1_CLICKED | BUTTON3_CLICKED | REPORT_MOUSE_POSITION, nullptr ); #endif // our curses wrapper does not support changing this behavior, ncurses must // behave exactly like the wrapper, therefor: diff --git a/src/npctalk_funcs.cpp b/src/npctalk_funcs.cpp index a9d0e4cb3de61..0f896eb819ad3 100644 --- a/src/npctalk_funcs.cpp +++ b/src/npctalk_funcs.cpp @@ -52,8 +52,6 @@ struct itype; -#define dbg(x) DebugLog((DebugLevel)(x), D_NPC) << __FILE__ << ":" << __LINE__ << ": " - void spawn_animal( npc &p, const mtype_id &mon ); void talk_function::nothing( npc & ) diff --git a/src/options.cpp b/src/options.cpp index 7cce5d0437778..8e83461b55b59 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -41,8 +41,6 @@ #include #include -#define dbg(x) DebugLog((x), D_MAIN) << __FILE__ << ":" << __LINE__ << ": " - bool trigdist; bool use_tiles; bool log_from_top; diff --git a/src/overmap.cpp b/src/overmap.cpp index ef73b1407bad4..4c04f0e550080 100644 --- a/src/overmap.cpp +++ b/src/overmap.cpp @@ -60,8 +60,6 @@ class map_extra; #define MAX_ANT_SIZE 20 #define MIN_GOO_SIZE 1 #define MAX_GOO_SIZE 2 -#define MIN_RIFT_SIZE 6 -#define MAX_RIFT_SIZE 16 using oter_type_id = int_id; using oter_type_str_id = string_id; diff --git a/src/savegame_json.cpp b/src/savegame_json.cpp index f9004820d816b..ddf5ea8e94a11 100644 --- a/src/savegame_json.cpp +++ b/src/savegame_json.cpp @@ -98,8 +98,6 @@ struct oter_type_t; struct mutation_branch; -#define dbg(x) DebugLog((DebugLevel)(x),D_GAME) << __FILE__ << ":" << __LINE__ << ": " - static const std::array obj_type_name = { { "OBJECT_NONE", "OBJECT_ITEM", "OBJECT_ACTOR", "OBJECT_PLAYER", "OBJECT_NPC", "OBJECT_MONSTER", "OBJECT_VEHICLE", "OBJECT_TRAP", "OBJECT_FIELD", "OBJECT_TERRAIN", "OBJECT_FURNITURE" diff --git a/src/sounds.cpp b/src/sounds.cpp index 1bce93d3eaf07..d7e79149576d4 100644 --- a/src/sounds.cpp +++ b/src/sounds.cpp @@ -56,9 +56,9 @@ # if defined(_WIN32) && !defined(_MSC_VER) # include "mingw.thread.h" # endif -#endif -#define dbg(x) DebugLog((x),D_SDL) << __FILE__ << ":" << __LINE__ << ": " +# define dbg(x) DebugLog((x),D_SDL) << __FILE__ << ":" << __LINE__ << ": " +#endif weather_type previous_weather; int prev_hostiles = 0; diff --git a/src/worldfactory.cpp b/src/worldfactory.cpp index 3957f879c42ea..9c7e34fec03d2 100644 --- a/src/worldfactory.cpp +++ b/src/worldfactory.cpp @@ -34,8 +34,6 @@ using namespace std::placeholders; -#define dbg(x) DebugLog((x), D_MAIN) << __FILE__ << ":" << __LINE__ << ": " - // single instance of world generator std::unique_ptr world_generator; diff --git a/tests/stomach_contents_test.cpp b/tests/stomach_contents_test.cpp index 6b14e9993eee3..c7c14d2e625be 100644 --- a/tests/stomach_contents_test.cpp +++ b/tests/stomach_contents_test.cpp @@ -133,7 +133,7 @@ TEST_CASE( "starve_test_hunger3" ) unsigned int day = 0; do { if( print_tests ) { - printf( "day %d: %d\n", day, dummy.get_stored_kcal() ); + printf( "day %u: %d\n", day, dummy.get_stored_kcal() ); } pass_time( dummy, 1_days ); dummy.set_thirst( 0 ); @@ -163,7 +163,7 @@ TEST_CASE( "all_nutrition_starve_test" ) for( unsigned int day = 0; day <= 20; day++ ) { if( print_tests ) { - printf( "day %d: %d\n", day, dummy.get_stored_kcal() ); + printf( "day %u: %d\n", day, dummy.get_stored_kcal() ); } pass_time( dummy, 1_days ); dummy.set_thirst( 0 ); diff --git a/tools/format/getpost.h b/tools/format/getpost.h index 407449bbe19d1..1502fcb8415e0 100644 --- a/tools/format/getpost.h +++ b/tools/format/getpost.h @@ -44,7 +44,7 @@ inline std::string urlDecode( std::string str ) tmp[2] = str[i + 1]; tmp[3] = str[i + 2]; tmp[4] = '\0'; - tmpchar = static_cast( strtol( tmp, NULL, 0 ) ); + tmpchar = static_cast( strtol( tmp, nullptr, 0 ) ); temp += tmpchar; i += 2; continue; @@ -65,7 +65,7 @@ inline void initializeGet( std::map &Get ) std::string tmpkey, tmpvalue; std::string *tmpstr = &tmpkey; char *raw_get = getenv( "QUERY_STRING" ); - if( raw_get == NULL ) { + if( raw_get == nullptr ) { Get.clear(); return; } @@ -98,9 +98,9 @@ inline void initializePost( std::map &Post ) std::string *tmpstr = &tmpkey; int content_length; char *ibuffer; - char *buffer = NULL; + char *buffer = nullptr; char *strlength = getenv( "CONTENT_LENGTH" ); - if( strlength == NULL ) { + if( strlength == nullptr ) { Post.clear(); return; } From 875d138ffcf99e86349792d5addc7110edaa39db Mon Sep 17 00:00:00 2001 From: Tim Pollard Date: Mon, 24 Feb 2020 16:43:34 +1000 Subject: [PATCH 24/71] Decreasing how many Zombie brides and priests there are. (#38291) * Decreasing how many Zombie brides and priests there are. * Running JSON lint for the zombie brides JSON changes. --- data/json/monsterdrops/zombie_default.json | 26 ++++++++-------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/data/json/monsterdrops/zombie_default.json b/data/json/monsterdrops/zombie_default.json index a9fc595d367fd..70164ef5c6df1 100644 --- a/data/json/monsterdrops/zombie_default.json +++ b/data/json/monsterdrops/zombie_default.json @@ -31,9 +31,9 @@ }, { "item": "suit", "prob": 5, "damage": [ 1, 4 ] }, { "item": "tux", "prob": 5, "damage": [ 1, 4 ] }, - { "item": "thawb", "prob": 10, "damage": [ 1, 4 ] }, - { "item": "cassock", "prob": 10, "damage": [ 1, 4 ] }, - { "item": "haori", "prob": 10, "damage": [ 1, 4 ] } + { "item": "thawb", "prob": 1, "damage": [ 1, 4 ] }, + { "item": "cassock", "prob": 1, "damage": [ 1, 4 ] }, + { "item": "haori", "prob": 1, "damage": [ 1, 4 ] } ] }, { "group": "neckties", "prob": 15, "damage": [ 1, 4 ] }, @@ -70,7 +70,11 @@ "distribution": [ { "item": "gown", "prob": 10, "damage": [ 1, 4 ] }, { "item": "dress", "prob": 70, "damage": [ 1, 4 ] }, - { "item": "sundress", "prob": 50, "damage": [ 1, 4 ] } + { "item": "sundress", "prob": 45, "damage": [ 1, 4 ] }, + { + "collection": [ { "item": "dress_wedding", "damage": [ 1, 4 ] }, { "item": "veil_wedding", "damage": [ 1, 4 ] } ], + "prob": 5 + } ] }, { "group": "dress_shoes", "prob": 30, "damage": [ 1, 4 ] }, @@ -79,19 +83,7 @@ }, { "item": "long_glove_white", "prob": 20, "damage": [ 1, 4 ] } ], - "prob": 20 - }, - { - "collection": [ - { "item": "dress_wedding", "damage": [ 1, 4 ] }, - { "item": "veil_wedding", "damage": [ 1, 4 ] }, - { "group": "dress_shoes", "prob": 30, "damage": [ 1, 4 ] }, - { - "distribution": [ { "item": "stockings", "prob": 50, "damage": [ 1, 4 ] }, { "item": "tights", "prob": 50, "damage": [ 1, 4 ] } ] - }, - { "item": "long_glove_white", "prob": 20, "damage": [ 1, 4 ] } - ], - "prob": 10 + "prob": 30 } ] } From 879356784f33f024890bc4c658f6466f92dcecc1 Mon Sep 17 00:00:00 2001 From: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Date: Mon, 24 Feb 2020 07:52:58 +0100 Subject: [PATCH 25/71] Fix dark craftable PR (#38243) --- src/construction.cpp | 31 +++++++++++++++++++++---------- src/construction.h | 1 + 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/construction.cpp b/src/construction.cpp index 6926ba65ad141..1472f5712ee19 100644 --- a/src/construction.cpp +++ b/src/construction.cpp @@ -690,10 +690,15 @@ construction_id construction_menu( const bool blueprint ) } if( !blueprint ) { if( player_can_build( g->u, total_inv, constructs[select] ) ) { - place_construction( constructs[select] ); - uistate.last_construction = constructs[select]; + if( !player_can_see_to_build( g->u, constructs[select] ) ) { + add_msg( m_info, _( "It is too dark to construct right now." ) ); + } else { + place_construction( constructs[select] ); + uistate.last_construction = constructs[select]; + } exit = true; } else { + popup( _( "You can't build that!" ) ); draw_grid( w_con, w_list_width + w_list_x0 ); update_info = true; } @@ -733,7 +738,6 @@ bool player_can_build( player &p, const inventory &inv, const std::string &desc bool player_can_build( player &p, const inventory &inv, const construction &con ) { - if( p.has_trait( trait_DEBUG_HS ) ) { return true; } @@ -742,14 +746,21 @@ bool player_can_build( player &p, const inventory &inv, const construction &con return false; } - const bool can_build = con.requirements->can_make_with_inventory( inv, is_crafting_component ); - if( !can_build ) { - popup( _( "You can't build that!" ) ); - } else if( g->u.fine_detail_vision_mod() > 4 && !con.dark_craftable ) { - popup( _( "It is too dark to construct right now." ) ); - return false; + return con.requirements->can_make_with_inventory( inv, is_crafting_component ); +} + +bool player_can_see_to_build( player &p, const std::string &desc ) +{ + if( p.fine_detail_vision_mod() < 4 || p.has_trait( trait_DEBUG_HS ) ) { + return true; + } + std::vector cons = constructions_by_desc( desc ); + for( construction *&con : cons ) { + if( con->dark_craftable ) { + return true; + } } - return can_build; + return false; } bool can_construct( const std::string &desc ) diff --git a/src/construction.h b/src/construction.h index 49bab027cd766..5cf96cfce0e8f 100644 --- a/src/construction.h +++ b/src/construction.h @@ -120,6 +120,7 @@ construction_id construction_menu( bool blueprint ); void complete_construction( player *p ); bool can_construct( const construction &con, const tripoint &p ); bool player_can_build( player &p, const inventory &inv, const construction &con ); +bool player_can_see_to_build( player &p, const std::string &desc ); void check_constructions(); void finalize_constructions(); From d10f828baa4ae6b3539db22cd67b2b2066de1450 Mon Sep 17 00:00:00 2001 From: cosmiccoincidence <41941008+cosmiccoincidence@users.noreply.github.com> Date: Mon, 24 Feb 2020 01:54:28 -0500 Subject: [PATCH 26/71] add random town name string (#38242) --- src/output.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/output.cpp b/src/output.cpp index b441a8ca4252b..be21fc3f60cf7 100644 --- a/src/output.cpp +++ b/src/output.cpp @@ -1610,6 +1610,10 @@ void replace_name_tags( std::string &input ) replace_substring( input, "", Name::get( nameIsGivenName ), false ); } + while( input.find( "" ) != std::string::npos ) { + replace_substring( input, "", Name::get( nameIsTownName ), + false ); + } } void replace_city_tag( std::string &input, const std::string &name ) From f8c79aa4725b1883e8393d87c3f896b16bec5e6a Mon Sep 17 00:00:00 2001 From: Fris0uman <41293484+Fris0uman@users.noreply.github.com> Date: Mon, 24 Feb 2020 07:55:24 +0100 Subject: [PATCH 27/71] Move some description function to Character (#38236) --- src/character.cpp | 104 +++++++++++++++++++++++++++++++++++----------- src/character.h | 12 +++--- src/player.cpp | 87 -------------------------------------- src/player.h | 4 -- 4 files changed, 86 insertions(+), 121 deletions(-) diff --git a/src/character.cpp b/src/character.cpp index bd9844298ed85..fb1c6eb1d2377 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -3502,34 +3502,67 @@ std::pair Character::get_thirst_description() const std::pair Character::get_hunger_description() const { - int hunger = get_hunger(); + const bool calorie_deficit = get_bmi() < character_weight_category::normal; + const units::volume contains = stomach.contains(); + const units::volume cap = stomach.capacity( *this ); std::string hunger_string; nc_color hunger_color = c_white; - if( hunger >= 300 && get_starvation() > 2500 ) { - hunger_color = c_red; - hunger_string = _( "Starving!" ); - } else if( hunger >= 300 && get_starvation() > 1100 ) { - hunger_color = c_light_red; - hunger_string = _( "Near starving" ); - } else if( hunger > 250 ) { - hunger_color = c_light_red; - hunger_string = _( "Famished" ); - } else if( hunger > 100 ) { - hunger_color = c_yellow; - hunger_string = _( "Very hungry" ); - } else if( hunger > 40 ) { - hunger_color = c_yellow; - hunger_string = _( "Hungry" ); - } else if( hunger < -60 ) { - hunger_color = c_yellow; - hunger_string = _( "Engorged" ); - } else if( hunger < -20 ) { - hunger_color = c_green; - hunger_string = _( "Sated" ); - } else if( hunger < 0 ) { - hunger_color = c_green; - hunger_string = _( "Full" ); + // i ate just now! + const bool just_ate = stomach.time_since_ate() < 15_minutes; + // i ate a meal recently enough that i shouldn't need another meal + const bool recently_ate = stomach.time_since_ate() < 3_hours; + if( calorie_deficit ) { + if( contains >= cap ) { + hunger_string = _( "Engorged" ); + hunger_color = c_green; + } else if( contains > cap * 3 / 4 ) { + hunger_string = _( "Sated" ); + hunger_color = c_green; + } else if( just_ate && contains > cap / 2 ) { + hunger_string = _( "Full" ); + hunger_color = c_green; + } else if( just_ate ) { + hunger_string = _( "Hungry" ); + hunger_color = c_yellow; + } else if( recently_ate ) { + hunger_string = _( "Very Hungry" ); + hunger_color = c_yellow; + } else if( get_bmi() < character_weight_category::emaciated ) { + hunger_string = _( "Starving!" ); + hunger_color = c_red; + } else if( get_bmi() < character_weight_category::underweight ) { + hunger_string = _( "Near starving" ); + hunger_color = c_red; + } else { + hunger_string = _( "Famished" ); + hunger_color = c_light_red; + } + } else { + if( contains >= cap * 5 / 6 ) { + hunger_string = _( "Engorged" ); + hunger_color = c_green; + } else if( contains > cap * 11 / 20 ) { + hunger_string = _( "Sated" ); + hunger_color = c_green; + } else if( recently_ate && contains >= cap * 3 / 8 ) { + hunger_string = _( "Full" ); + hunger_color = c_green; + } else if( ( stomach.time_since_ate() > 90_minutes && contains < cap / 8 && recently_ate ) || + ( just_ate && contains > 0_ml && contains < cap * 3 / 8 ) ) { + hunger_string = _( "Peckish" ); + hunger_color = c_dark_gray; + } else if( !just_ate && ( recently_ate || contains > 0_ml ) ) { + hunger_string.clear(); + } else { + if( get_bmi() > character_weight_category::overweight ) { + hunger_string = _( "Hungry" ); + } else { + hunger_string = _( "Very Hungry" ); + } + hunger_color = c_yellow; + } } + return std::make_pair( hunger_string, hunger_color ); } @@ -3602,6 +3635,27 @@ int Character::get_sleep_deprivation() const return sleep_deprivation; } +std::pair Character::get_pain_description() const +{ + const std::pair pain = Creature::get_pain_description(); + nc_color pain_color = pain.second; + std::string pain_string; + // get pain color + if( get_perceived_pain() >= 60 ) { + pain_color = c_red; + } else if( get_perceived_pain() >= 40 ) { + pain_color = c_light_red; + } + // get pain string + if( ( has_trait( trait_SELFAWARE ) || has_effect( effect_got_checked ) ) && + get_perceived_pain() > 0 ) { + pain_string = string_format( "%s %d", _( "Pain " ), get_perceived_pain() ); + } else if( get_perceived_pain() > 0 ) { + pain_string = pain.first; + } + return std::make_pair( pain_string, pain_color ); +} + bool Character::is_deaf() const { return get_effect_int( effect_deaf ) > 2 || worn_with_flag( flag_DEAF ) || diff --git a/src/character.h b/src/character.h index ee37495b04842..75e8e37f4bc52 100644 --- a/src/character.h +++ b/src/character.h @@ -352,11 +352,13 @@ class Character : public Creature, public visitable virtual int get_thirst() const; /** Gets character's minimum hunger and thirst */ int stomach_capacity() const; - virtual std::pair get_thirst_description() const; - virtual std::pair get_hunger_description() const; - virtual std::pair get_fatigue_description() const; - virtual int get_fatigue() const; - virtual int get_sleep_deprivation() const; + std::pair get_thirst_description() const; + std::pair get_hunger_description() const; + std::pair get_fatigue_description() const; + int get_fatigue() const; + int get_sleep_deprivation() const; + + std::pair get_pain_description() const override; /** Modifiers for need values exclusive to characters */ virtual void mod_stored_kcal( int nkcal ); diff --git a/src/player.cpp b/src/player.cpp index ba6546e38462f..1baa50b7b0c7f 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -5683,90 +5683,3 @@ std::set player::get_path_avoid() const return ret; } - -std::pair player::get_hunger_description() const -{ - const bool calorie_deficit = get_bmi() < character_weight_category::normal; - const units::volume contains = stomach.contains(); - const units::volume cap = stomach.capacity( *this ); - std::string hunger_string; - nc_color hunger_color = c_white; - // i ate just now! - const bool just_ate = stomach.time_since_ate() < 15_minutes; - // i ate a meal recently enough that i shouldn't need another meal - const bool recently_ate = stomach.time_since_ate() < 3_hours; - if( calorie_deficit ) { - if( contains >= cap ) { - hunger_string = _( "Engorged" ); - hunger_color = c_green; - } else if( contains > cap * 3 / 4 ) { - hunger_string = _( "Sated" ); - hunger_color = c_green; - } else if( just_ate && contains > cap / 2 ) { - hunger_string = _( "Full" ); - hunger_color = c_green; - } else if( just_ate ) { - hunger_string = _( "Hungry" ); - hunger_color = c_yellow; - } else if( recently_ate ) { - hunger_string = _( "Very Hungry" ); - hunger_color = c_yellow; - } else if( get_bmi() < character_weight_category::emaciated ) { - hunger_string = _( "Starving!" ); - hunger_color = c_red; - } else if( get_bmi() < character_weight_category::underweight ) { - hunger_string = _( "Near starving" ); - hunger_color = c_red; - } else { - hunger_string = _( "Famished" ); - hunger_color = c_light_red; - } - } else { - if( contains >= cap * 5 / 6 ) { - hunger_string = _( "Engorged" ); - hunger_color = c_green; - } else if( contains > cap * 11 / 20 ) { - hunger_string = _( "Sated" ); - hunger_color = c_green; - } else if( recently_ate && contains >= cap * 3 / 8 ) { - hunger_string = _( "Full" ); - hunger_color = c_green; - } else if( ( stomach.time_since_ate() > 90_minutes && contains < cap / 8 && recently_ate ) || - ( just_ate && contains > 0_ml && contains < cap * 3 / 8 ) ) { - hunger_string = _( "Peckish" ); - hunger_color = c_dark_gray; - } else if( !just_ate && ( recently_ate || contains > 0_ml ) ) { - hunger_string.clear(); - } else { - if( get_bmi() > character_weight_category::overweight ) { - hunger_string = _( "Hungry" ); - } else { - hunger_string = _( "Very Hungry" ); - } - hunger_color = c_yellow; - } - } - - return std::make_pair( hunger_string, hunger_color ); -} - -std::pair player::get_pain_description() const -{ - auto pain = Creature::get_pain_description(); - nc_color pain_color = pain.second; - std::string pain_string; - // get pain color - if( get_perceived_pain() >= 60 ) { - pain_color = c_red; - } else if( get_perceived_pain() >= 40 ) { - pain_color = c_light_red; - } - // get pain string - if( ( has_trait( trait_SELFAWARE ) || has_effect( effect_got_checked ) ) && - get_perceived_pain() > 0 ) { - pain_string = string_format( "%s %d", _( "Pain " ), get_perceived_pain() ); - } else if( get_perceived_pain() > 0 ) { - pain_string = pain.first; - } - return std::make_pair( pain_string, pain_color ); -} diff --git a/src/player.h b/src/player.h index 27f86ebb3c03c..99be20fa30579 100644 --- a/src/player.h +++ b/src/player.h @@ -509,10 +509,6 @@ class player : public Character /** Handles the enjoyability value for a book. **/ int book_fun_for( const item &book, const player &p ) const; - std::pair get_hunger_description() const override; - - std::pair get_pain_description() const override; - int get_lift_assist() const; bool list_ammo( const item &base, std::vector &ammo_list, From 6cc80b3efc6355477e46203b9fc183cce3e5ab84 Mon Sep 17 00:00:00 2001 From: jkraybill Date: Mon, 24 Feb 2020 18:01:14 +1100 Subject: [PATCH 28/71] Translated fertilizer name for "ran out of fertilizer" message (#38261) --- src/activity_handlers.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index 05c4a082744b2..d2a84768dd97d 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -4103,7 +4103,7 @@ void activity_handlers::fertilize_plot_do_turn( player_activity *act, player *p if( have_fertilizer() ) { iexamine::fertilize_plant( p, tile, fertilizer ); if( !have_fertilizer() ) { - add_msg( m_info, _( "You have run out of %s" ), fertilizer ); + add_msg( m_info, _( "You have run out of %s." ), item::nname( fertilizer ) ); } } }; From dc64c6e3101073d1d809ef061b57f101f8648222 Mon Sep 17 00:00:00 2001 From: eilaattwood Date: Mon, 24 Feb 2020 09:04:41 +0200 Subject: [PATCH 29/71] Converting multi-cooker to another item when it is filled with a dish. (#37794) * Converting multi-cooker to another item when filled with dish. To prevent other crafting processes to touch it when it is cooking. --- data/json/items/tool/cooking.json | 8 ++++++++ src/iuse.cpp | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/data/json/items/tool/cooking.json b/data/json/items/tool/cooking.json index d7a380538424b..ca96a48d84859 100644 --- a/data/json/items/tool/cooking.json +++ b/data/json/items/tool/cooking.json @@ -660,6 +660,14 @@ ], "magazine_well": 2 }, + { + "id": "multi_cooker_filled", + "type": "TOOL", + "copy-from": "multi_cooker", + "name": { "str": "multi cooker - cooking" }, + "description": "A professional-grade multi-cooker, with a battery slot for camping trips or tailgating. There is a dish in it.", + "delete": { "qualities": [ [ "CONTAIN", 1 ] ] } + }, { "id": "oil_cooker", "type": "TOOL", diff --git a/src/iuse.cpp b/src/iuse.cpp index 46496ded0d2c9..2ef6f265bf322 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -8537,7 +8537,7 @@ int iuse::multicooker( player *p, item *it, bool t, const tripoint &pos ) it->contents.erase( dish_it ); it->erase_var( "RECIPE" ); - + it->convert( "multi_cooker" ); if( is_delicious ) { p->add_msg_if_player( m_good, _( "You got the dish from the multi-cooker. The %s smells delicious." ), @@ -8619,7 +8619,7 @@ int iuse::multicooker( player *p, item *it, bool t, const tripoint &pos ) p->add_msg_if_player( m_good, _( "The screen flashes blue symbols and scales as the multi-cooker begins to shake." ) ); - it->active = true; + it->convert( "multi_cooker_filled" ).active = true; it->ammo_consume( charges_to_start, pos ); p->practice( skill_cooking, meal->difficulty * 3 ); //little bonus From a31826a9c85a8034b5742ab7d324142b375d5536 Mon Sep 17 00:00:00 2001 From: Aloxaf Date: Mon, 24 Feb 2020 20:54:48 +0800 Subject: [PATCH 30/71] Fix translation of vehicle owner --- src/vehicle.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vehicle.cpp b/src/vehicle.cpp index a7eea2a7ddaf5..0fb9e0c5902ea 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -4217,9 +4217,9 @@ std::string vehicle::get_owner_name() const { if( !g->faction_manager_ptr->get( owner ) ) { debugmsg( "vehicle::get_owner_name() vehicle %s has no valid nor null faction id ", disp_name() ); - return "no owner"; + return _( "no owner" ); } - return g->faction_manager_ptr->get( owner )->name; + return _( g->faction_manager_ptr->get( owner )->name ); } void vehicle::set_owner( const Character &c ) From dbe55a1f0b3cd6611e98908b4b79017c6fabf3da Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 16:10:42 +0100 Subject: [PATCH 31/71] container name to object, volume to string (#38281) * container name to object, volume to string * Update data/json/items/containers.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update data/json/items/tool/container.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> * Update data/json/items/containers.json Co-Authored-By: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Co-authored-by: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> --- data/json/items/containers.json | 46 ++++++++++++++--------------- data/json/items/tool/container.json | 4 +-- data/json/items/tool/med.json | 2 +- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/data/json/items/containers.json b/data/json/items/containers.json index fb0200d9ddbe0..5dfccfbe251b9 100644 --- a/data/json/items/containers.json +++ b/data/json/items/containers.json @@ -3,7 +3,7 @@ "id": "2lcanteen", "type": "CONTAINER", "category": "container", - "name": "2.5L canteen", + "name": { "str": "2.5L canteen" }, "description": "A large plastic water canteen, with a 2.5 liter capacity and carrying strap.", "weight": "155 g", "volume": "2500 ml", @@ -23,7 +23,7 @@ "id": "30gal_barrel", "type": "CONTAINER", "category": "container", - "name": "30 gallon barrel", + "name": { "str": "30 gallon barrel" }, "description": "A huge plastic barrel with a resealable lid.", "weight": "6800 g", "volume": "112500 ml", @@ -80,7 +80,7 @@ "id": "bag_canvas", "type": "CONTAINER", "category": "container", - "name": "canvas sack", + "name": { "str": "canvas sack" }, "description": "A large and sturdy canvas sack. Smells faintly of earth and hard work.", "weight": "415 g", "volume": "1 L", @@ -97,7 +97,7 @@ "id": "bag_canvas_small", "type": "CONTAINER", "category": "container", - "name": "canvas bag", + "name": { "str": "canvas bag" }, "description": "Small bag made of canvas. Looks fine to store dried herbs in.", "weight": "5 g", "volume": "250 ml", @@ -149,7 +149,7 @@ "id": "bag_body_bag", "type": "CONTAINER", "category": "container", - "name": "body bag", + "name": { "str": "body bag" }, "looks_like": "bag_canvas", "description": "A large, human size, rectangular bag made of strong plastic, with a zipper in the middle. Used to hold a dead body.", "weight": "500 g", @@ -167,11 +167,11 @@ "id": "bag_iv", "type": "CONTAINER", "category": "container", - "name": "IV bag", + "name": { "str": "IV bag" }, "description": "A small, sealed plastic bag for liquids used in intravenous therapy.", "looks_like": "bag_plastic", "weight": "10 g", - "volume": 0, + "volume": "50 ml", "price": 0, "to_hit": -1, "rigid": false, @@ -187,7 +187,7 @@ "id": "bottle_glass", "type": "CONTAINER", "category": "container", - "name": "glass bottle", + "name": { "str": "glass bottle" }, "description": "A resealable glass bottle, holds 750 ml of liquid.", "weight": "200 g", "volume": "750 ml", @@ -257,7 +257,7 @@ "id": "bowl_clay", "type": "CONTAINER", "category": "container", - "name": "clay bowl", + "name": { "str": "clay bowl" }, "description": "A clay bowl with a waterproofed hide lid. Can be used as a container or as a tool. Holds 250 ml of liquid.", "weight": "60 g", "volume": "250 ml", @@ -370,7 +370,7 @@ "id": "can_drink", "type": "CONTAINER", "category": "container", - "name": "aluminum can", + "name": { "str": "aluminum can" }, "description": "An aluminum can, like what soda comes in.", "weight": "13 g", "volume": "250 ml", @@ -541,7 +541,7 @@ "id": "clay_canister", "type": "CONTAINER", "category": "container", - "name": "clay canister", + "name": { "str": "clay canister" }, "description": "A fragile clay vessel. It can be used to make crude impact grenades or to store liquid.", "weight": "268 g", "volume": "250 ml", @@ -559,7 +559,7 @@ "id": "clay_hydria", "type": "CONTAINER", "category": "container", - "name": "clay hydria", + "name": { "str": "clay hydria" }, "description": "A 15-liter clay pot with three handles for carrying and for pouring.", "weight": "1955 g", "volume": "15 L", @@ -624,7 +624,7 @@ "id": "flask_glass", "type": "CONTAINER", "category": "container", - "name": "glass flask", + "name": { "str": "glass flask" }, "description": "A 250 ml laboratory conical flask, with a rubber bung.", "weight": "48 g", "volume": "250 ml", @@ -662,7 +662,7 @@ "id": "beaker", "type": "CONTAINER", "category": "container", - "name": "beaker", + "name": { "str": "beaker" }, "description": "A 250ml laboratory beaker. Basically a cup with delusions of grandeur.", "weight": "150 g", "volume": "250ml", @@ -680,7 +680,7 @@ "id": "gradcylinder", "type": "CONTAINER", "category": "container", - "name": "graduated cylinder", + "name": { "str": "graduated cylinder" }, "description": "A tall, narrow glass cylinder with precise markings for measuring fluid quantities. An important science tool, it is also useful for anal retentive chefs.", "weight": "150 g", "volume": "100ml", @@ -737,7 +737,7 @@ "id": "jar_3l_glass", "type": "CONTAINER", "category": "container", - "name": "3L glass jar", + "name": { "str": "3L glass jar" }, "description": "A three-liter glass jar with a metal screw top lid, used for canning.", "weight": "365 g", "volume": "3 L", @@ -768,7 +768,7 @@ "id": "jar_glass", "type": "CONTAINER", "category": "container", - "name": "glass jar", + "name": { "str": "glass jar" }, "description": "A half-liter glass jar with a metal screw top lid, used for canning.", "weight": "150 g", "volume": "500 ml", @@ -835,7 +835,7 @@ "id": "jug_clay", "type": "CONTAINER", "category": "container", - "name": "clay jug", + "name": { "str": "clay jug" }, "description": "A clay container with a lid, used to hold and pour liquids.", "weight": "400 g", "volume": "1 L", @@ -853,7 +853,7 @@ "id": "jug_plastic", "type": "CONTAINER", "category": "container", - "name": "gallon jug", + "name": { "str": "gallon jug" }, "description": "A standard plastic jug used for milk and household cleaning chemicals.", "weight": "190 g", "volume": "3750 ml", @@ -870,7 +870,7 @@ "id": "keg", "type": "CONTAINER", "category": "container", - "name": "aluminum keg", + "name": { "str": "aluminum keg" }, "description": "A reusable lightweight aluminum keg, used for shipping beer. It has a capacity of 50 liters.", "weight": "5040 g", "volume": "50 L", @@ -1135,10 +1135,10 @@ "id": "condom", "type": "CONTAINER", "category": "container", - "name": "condom", + "name": { "str": "condom" }, "description": "A gentleman's balloon. A single use life preventer. A thumbless latex mitten. This could be used as a makeshift water container, but otherwise it's anyone's guess what it's for.", "weight": "5 g", - "volume": 0, + "volume": "15 ml", "price": 0, "to_hit": -5, "rigid": false, @@ -1155,7 +1155,7 @@ "type": "CONTAINER", "category": "other", "looks_like": "condom", - "name": "balloon", + "name": { "str": "balloon" }, "description": "A child's balloon. This could be used as a makeshift water container.", "copy-from": "condom" }, diff --git a/data/json/items/tool/container.json b/data/json/items/tool/container.json index f1e16010db225..cae773afeb10b 100644 --- a/data/json/items/tool/container.json +++ b/data/json/items/tool/container.json @@ -22,10 +22,10 @@ "id": "bottle_folding", "type": "CONTAINER", "category": "other", - "name": "foldable plastic bottle", + "name": { "str": "foldable plastic bottle" }, "description": "A non-rigid plastic bottle for easy storage, holds 500 ml of liquid.", "weight": "13 g", - "volume": 0, + "volume": "50 ml", "price": 0, "to_hit": 1, "rigid": false, diff --git a/data/json/items/tool/med.json b/data/json/items/tool/med.json index 8d4f934b86d86..6f97dfe4c2bb6 100644 --- a/data/json/items/tool/med.json +++ b/data/json/items/tool/med.json @@ -158,7 +158,7 @@ "id": "vacutainer", "type": "CONTAINER", "category": "tools", - "name": "blood draw kit", + "name": { "str": "blood draw kit" }, "description": "This is a kit for drawing blood, including a test tube for holding the sample. Use this tool to draw blood, either from yourself or from a corpse you are standing on.", "weight": "13 g", "volume": "250 ml", From 95e95ebd6c44e2443bb955f83ce3971e294662c2 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 20:32:39 +0100 Subject: [PATCH 32/71] Ammo name to object 3 (#38302) --- data/json/items/ammo/45.json | 16 ++++++++-------- data/json/items/ammo/454.json | 6 +++--- data/json/items/ammo/4570.json | 14 +++++++------- data/json/items/ammo/45colt.json | 4 ++-- data/json/items/ammo/460.json | 12 ++++++------ 5 files changed, 26 insertions(+), 26 deletions(-) diff --git a/data/json/items/ammo/45.json b/data/json/items/ammo/45.json index 133789b21955e..4ca17c78a0c02 100644 --- a/data/json/items/ammo/45.json +++ b/data/json/items/ammo/45.json @@ -3,14 +3,14 @@ "id": "45_acp", "copy-from": "45_jhp", "type": "AMMO", - "name": ".45 ACP FMJ", + "name": { "str": ".45 ACP FMJ" }, "description": ".45 ACP ammunition with 230gr FMJ bullets. Noted for its stopping power, the .45 ACP round has been common for almost 150 years.", "relative": { "damage": -3, "pierce": 6 } }, { "id": "45_jhp", "type": "AMMO", - "name": ".45 ACP JHP", + "name": { "str": ".45 ACP JHP" }, "description": ".45 ACP ammunition with 185gr JHP bullets. The .45 ACP round was developed to replace the .38 Long Colt cartridge in the early 20th century. It has good stopping power but above average recoil.", "weight": "10 g", "volume": "250 ml", @@ -34,7 +34,7 @@ "id": "45_super", "copy-from": "45_jhp", "type": "AMMO", - "name": ".45 ACP +P", + "name": { "str": ".45 ACP +P" }, "description": "Overpressure .45 ACP ammunition with 200gr JHP bullets. This +P ammunition has higher muzzle energy than typical loads leading to greater damage, accuracy and recoil.", "price": 210, "price_postapoc": 2800, @@ -45,7 +45,7 @@ "id": "bp_45_acp", "copy-from": "45_acp", "type": "AMMO", - "name": ".45 ACP FMJ, black powder", + "name": { "str": ".45 ACP FMJ, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -54,7 +54,7 @@ "id": "bp_45_jhp", "copy-from": "45_jhp", "type": "AMMO", - "name": ".45 ACP JHP, black powder", + "name": { "str": ".45 ACP JHP, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -63,7 +63,7 @@ "id": "reloaded_45_acp", "copy-from": "45_acp", "type": "AMMO", - "name": ".45 FMJ, reloaded", + "name": { "str": ".45 FMJ, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -72,7 +72,7 @@ "id": "reloaded_45_jhp", "copy-from": "45_jhp", "type": "AMMO", - "name": ".45 ACP JHP, reloaded", + "name": { "str": ".45 ACP JHP, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -81,7 +81,7 @@ "id": "reloaded_45_super", "copy-from": "45_super", "type": "AMMO", - "name": ".45 ACP +P, reloaded", + "name": { "str": ".45 ACP +P, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/454.json b/data/json/items/ammo/454.json index d01ac579f5827..b0d4961303e17 100644 --- a/data/json/items/ammo/454.json +++ b/data/json/items/ammo/454.json @@ -2,7 +2,7 @@ { "id": "454_Casull", "type": "AMMO", - "name": ".454 Casull", + "name": { "str": ".454 Casull" }, "description": ".454 Casull ammunition with 300gr jacketed soft point bullets. The .454 Casull round is derived from .45 Long Colt with a stronger, lengthened case. It is an exceptionally powerful cartridge with higher stopping power than many rifle rounds, although it suffers from extreme recoil making it unsuitable for most purposes.", "weight": "16 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "reloaded_454_Casull", "copy-from": "454_Casull", "type": "AMMO", - "name": ".454 Casull, reloaded", + "name": { "str": ".454 Casull, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -35,7 +35,7 @@ "id": "bp_454_Casull", "copy-from": "454_Casull", "type": "AMMO", - "name": ".454 Casull, black powder", + "name": { "str": ".454 Casull, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/4570.json b/data/json/items/ammo/4570.json index 2449723c81613..4281757d02983 100644 --- a/data/json/items/ammo/4570.json +++ b/data/json/items/ammo/4570.json @@ -2,7 +2,7 @@ { "id": "4570_sp", "type": "AMMO", - "name": ".45-70 SP", + "name": { "str": ".45-70 SP" }, "description": ".45-70 Government ammunition loaded with a 305 grain soft point round. One of the oldest cartridges still in use, it is still a favorite for large game hunting at short ranges.", "weight": "35 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "4570_pen", "copy-from": "4570_sp", "type": "AMMO", - "name": ".45-70 +P penetrator", + "name": { "str": ".45-70 +P penetrator" }, "description": ".45-70 Government +P ammunition loaded with a 305 grain solid copper penetrator projectile. Designed for maximum penetration through thick hide and bone while maintaining ideal wounding characteristics.", "price": 175, "price_postapoc": 5000, @@ -37,7 +37,7 @@ "id": "4570_low", "copy-from": "4570_sp", "type": "AMMO", - "name": ".45-70 LFN cowboy", + "name": { "str": ".45-70 LFN cowboy" }, "description": ".45-70 Government ammunition loaded with a 405 grain lead flat nose bullet to original specifications for safe use in antique firearms. Quite a bit less powerful than modern ammo, but still packs a punch.", "price": 250, "price_postapoc": 3500, @@ -47,7 +47,7 @@ "id": "reloaded_4570_sp", "copy-from": "4570_sp", "type": "AMMO", - "name": ".45-70 SP, reloaded", + "name": { "str": ".45-70 SP, reloaded" }, "description": ".45-70 Government ammunition loaded with a 305 grain soft point round. One of the oldest cartridges still in use, it is still a favorite for large game hunting at short ranges. This one has been hand-loaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, @@ -57,7 +57,7 @@ "id": "reloaded_4570_pen", "copy-from": "4570_pen", "type": "AMMO", - "name": ".45-70 +P penetrator, reloaded", + "name": { "str": ".45-70 +P penetrator, reloaded" }, "description": ".45-70 Government +P ammunition loaded with a 305 grain solid copper penetrator projectile. Designed for maximum penetration through thick hide and bone while maintaining ideal wounding characteristics. This one has been hand-loaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, @@ -67,7 +67,7 @@ "id": "reloaded_4570_low", "copy-from": "4570_low", "type": "AMMO", - "name": ".45-70 LFN cowboy, reloaded", + "name": { "str": ".45-70 LFN cowboy, reloaded" }, "description": ".45-70 Government ammunition loaded with a 405 grain lead flat nose bullet to original specifications for safe use in antique firearms. Quite a bit less powerful than modern ammo, but still packs a punch. This one has been hand-loaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, @@ -78,7 +78,7 @@ "//": "***Add blackpowder effects once #30944 gets merged***", "copy-from": "4570_low", "type": "AMMO", - "name": ".45-70, black powder", + "name": { "str": ".45-70, black powder" }, "description": ".45-70 Government ammunition loaded with a 405 grain lead flat nose bullet using black powder to original specifications. Quite a bit less powerful and a lot dirtier than modern ammo, but still packs a punch. This one has been hand-loaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.3 }, "extend": { "effects": [ "RECYCLED" ] }, diff --git a/data/json/items/ammo/45colt.json b/data/json/items/ammo/45colt.json index 4573c9dd03781..08ff0ce79828e 100644 --- a/data/json/items/ammo/45colt.json +++ b/data/json/items/ammo/45colt.json @@ -2,7 +2,7 @@ { "id": "45colt_jhp", "type": "AMMO", - "name": ".45 Colt JHP", + "name": { "str": ".45 Colt JHP" }, "description": ".45 Colt ammunition with 250gr jacketed hollow point bullets. Originally designed for the Colt Single Action Army, and still used for modern reproduction revolvers. Originally a black powder cartridge, modern loads can make this round competitive in the new era.", "weight": "12 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "reloaded_45colt_jhp", "copy-from": "45colt_jhp", "type": "AMMO", - "name": ".45 Colt JHP, reloaded", + "name": { "str": ".45 Colt JHP, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/460.json b/data/json/items/ammo/460.json index af0dc1426c277..41709ca81f883 100644 --- a/data/json/items/ammo/460.json +++ b/data/json/items/ammo/460.json @@ -3,7 +3,7 @@ "id": "460_fmj", "copy-from": "460_rowland", "type": "AMMO", - "name": ".460 Rowland HCFN", + "name": { "str": ".460 Rowland HCFN" }, "description": "A plated, hard cast flat nosed variant of the .460 Rowland round. This increases penetration slightly at the cost of reduced damage from expansion.", "relative": { "damage": -4, "pierce": 8 } }, @@ -11,7 +11,7 @@ "id": "460_rowland", "copy-from": "44magnum", "type": "AMMO", - "name": ".460 Rowland", + "name": { "str": ".460 Rowland" }, "description": ".460 Rowland ammunition with 185gr JHP bullets. The .460 Rowland round is designed to emulate hard-hitting .44 magnum in common autoloading pistols. Like the .44, .460 Rowland has exceptional power - and recoil. It is almost dimensionally identical to .45ACP, save for having a longer case and deeper seated bullets to prevent ammunition mix-ups.", "ammo_type": "460", "casing": "460_casing", @@ -21,7 +21,7 @@ "id": "bp_460_fmj", "copy-from": "460_fmj", "type": "AMMO", - "name": ".460 Rowland FMJ, black powder", + "name": { "str": ".460 Rowland FMJ, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -30,7 +30,7 @@ "id": "bp_460_rowland", "copy-from": "460_rowland", "type": "AMMO", - "name": ".460 Rowland, black powder", + "name": { "str": ".460 Rowland, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -39,7 +39,7 @@ "id": "reloaded_460_fmj", "copy-from": "460_fmj", "type": "AMMO", - "name": ".460 Rowland FMJ, reloaded", + "name": { "str": ".460 Rowland FMJ, reloaded" }, "description": "A brass-jacketed variant of the .460 Rowland round. This increases penetration slightly at the cost of reduced damage from expansion.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, @@ -49,7 +49,7 @@ "id": "reloaded_460_rowland", "copy-from": "460_rowland", "type": "AMMO", - "name": ".460 Rowland, reloaded", + "name": { "str": ".460 Rowland, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } From 58d1d9facf8d568930a87737fb16eb5837f196c7 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 20:33:19 +0100 Subject: [PATCH 33/71] bionic name to object (#38305) --- data/json/bionics.json | 48 +++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/data/json/bionics.json b/data/json/bionics.json index f3ef8ed2dda75..be5a02dd5236d 100644 --- a/data/json/bionics.json +++ b/data/json/bionics.json @@ -50,7 +50,7 @@ { "id": "bio_armor_eyes", "type": "bionic", - "name": "Protective Lenses", + "name": { "str": "Protective Lenses" }, "description": "Your eye sockets have been surgically sealed with highly protective mirrored lenses and your tear ducts have been re-routed to your mouth. When you cry, you must spit out or swallow your tears.", "occupied_bodyparts": [ [ "EYES", 1 ] ], "env_protec": [ [ "EYES", 7 ] ], @@ -103,7 +103,7 @@ { "id": "bio_blade", "type": "bionic", - "name": "Monomolecular Blade", + "name": { "str": "Monomolecular Blade" }, "description": "A deadly foot-long blade made of advanced material now resides inside your forearm, capable of being extended through the back of your wrist at the cost of a small amount of power. Though exceptionally sharp, it will prevent you from holding anything else while extended.", "occupied_bodyparts": [ [ "ARM_R", 5 ], [ "HAND_R", 2 ] ], "act_cost": "50 J", @@ -124,7 +124,7 @@ { "id": "bio_blindfold", "type": "bionic", - "name": "Optical Dampers", + "name": { "str": "Optical Dampers" }, "description": "The lenses surgically installed over your eyes can be tinted to block out incoming light.", "included": true, "flags": [ "BIONIC_TOGGLED" ] @@ -478,7 +478,7 @@ { "id": "bio_tattoo_led", "type": "bionic", - "name": "LED Tattoo", + "name": { "str": "LED Tattoo" }, "description": "A small LED display just beneath your dermal layer can be illuminated on command to show patterns of your choice at dim or bright luminosity. It doesn't provide enough light to comfortably read or craft, but it can suffice if you have nothing else.", "act_cost": "1 J", "react_cost": "1 J", @@ -612,7 +612,7 @@ { "id": "bio_leaky", "type": "bionic", - "name": "Leaky Bionic", + "name": { "str": "Leaky Bionic" }, "description": "This botched piece of bionic hardware slowly leaks electrolytic compounds, piezoelectric nanomaterials, and other high-tech contaminants into your bloodstream. Needless to say, this is not good for your health.", "occupied_bodyparts": [ [ "TORSO", 5 ] ], "flags": [ "BIONIC_FAULTY" ] @@ -620,7 +620,7 @@ { "id": "bio_leukocyte", "type": "bionic", - "name": "Leukocyte Breeder System", + "name": { "str": "Leukocyte Breeder System" }, "description": "You are equipped with bionic stimulators which augment your haematopoiesis system, allowing you to accelerate white blood cell production using bionic power. It is supposed to run continuously and may cause unpleasant side effects when turned off.", "occupied_bodyparts": [ [ "TORSO", 10 ] ], "flags": [ "BIONIC_TOGGLED", "BIONIC_SLEEP_FRIENDLY", "BIONIC_NPC_USABLE" ], @@ -656,7 +656,7 @@ { "id": "bio_membrane", "type": "bionic", - "name": "Nictating Membrane", + "name": { "str": "Nictating Membrane" }, "description": "Your eyes have a thin membrane that closes over your eyes while underwater, negating any vision penalties.", "occupied_bodyparts": [ [ "EYES", 1 ] ], "flags": [ "BIONIC_NPC_USABLE" ] @@ -675,7 +675,7 @@ { "id": "bio_metabolics", "type": "bionic", - "name": "Metabolic Interchange", + "name": { "str": "Metabolic Interchange" }, "description": "Your digestive system and power supply are interconnected; bionic energy is replenished by burning calories. Can be toggled on and off at will.", "occupied_bodyparts": [ [ "TORSO", 25 ] ], "fuel_options": [ "metabolism" ], @@ -694,7 +694,7 @@ { "id": "bio_nanobots", "type": "bionic", - "name": "Repair Nanobots", + "name": { "str": "Repair Nanobots" }, "description": "Inside your body is a fleet of tiny dormant robots. While activated they will flit about your body, repairing damage at 1 HP per minute and stopping bleeding at the cost of extra power and stored calories.", "occupied_bodyparts": [ [ "TORSO", 10 ] ], "flags": [ "BIONIC_TOGGLED", "BIONIC_NPC_USABLE" ], @@ -727,7 +727,7 @@ { "id": "bio_noise", "type": "bionic", - "name": "Noisemaker", + "name": { "str": "Noisemaker" }, "description": "A malfunctioning bionic. It will occasionally emit a loud burst of noise.", "occupied_bodyparts": [ [ "TORSO", 4 ], [ "ARM_L", 1 ], [ "ARM_R", 1 ], [ "LEG_L", 1 ], [ "LEG_R", 1 ] ], "flags": [ "BIONIC_FAULTY" ] @@ -744,7 +744,7 @@ { "id": "bio_ods", "type": "bionic", - "name": "Offensive Defense System", + "name": { "str": "Offensive Defense System" }, "description": "A thin forcefield surrounds your body, continually draining power. This field does not deflect attacks, but rather delivers a strong shock, damaging unarmed attackers and those with a conductive weapon.", "occupied_bodyparts": [ [ "TORSO", 10 ], [ "HEAD", 1 ], [ "ARM_L", 1 ], [ "ARM_R", 1 ], [ "LEG_L", 2 ], [ "LEG_R", 2 ] ], "flags": [ "BIONIC_TOGGLED", "BIONIC_NPC_USABLE" ], @@ -772,7 +772,7 @@ { "id": "bio_power_armor_interface", "type": "bionic", - "name": "Power Armor Interface", + "name": { "str": "Power Armor Interface" }, "description": "Interfaces your power system with the internal charging port on suits of power armor, allowing them to draw from your bionic power banks.", "occupied_bodyparts": [ [ "TORSO", 4 ], [ "HEAD", 1 ] ], "flags": [ "BIONIC_ARMOR_INTERFACE", "BIONIC_TOGGLED" ], @@ -782,7 +782,7 @@ { "id": "bio_power_armor_interface_mkII", "type": "bionic", - "name": "Power Armor Interface Mk. II", + "name": { "str": "Power Armor Interface Mk. II" }, "description": "Interfaces your power system with the internal charging port on suits of power armor, allowing them to draw from your bionic power banks. Twice as efficient as the Mk. I model.", "occupied_bodyparts": [ [ "TORSO", 3 ], [ "HEAD", 2 ] ], "flags": [ "BIONIC_ARMOR_INTERFACE", "BIONIC_TOGGLED" ], @@ -792,7 +792,7 @@ { "id": "bio_power_storage", "type": "bionic", - "name": "Power Storage", + "name": { "str": "Power Storage" }, "capacity": "100 kJ", "description": "A Compact Bionics Module that increases your power capacity by 100 kJ. Having at least one of these is a prerequisite to using powered bionics. You will also need a power supply, found in various CBMs.", "flags": [ "BIONIC_NPC_USABLE" ] @@ -800,7 +800,7 @@ { "id": "bio_power_storage_mkII", "type": "bionic", - "name": "Power Storage Mk. II", + "name": { "str": "Power Storage Mk. II" }, "capacity": "250 kJ", "description": "A Compact Bionics Module that increases your power capacity by 250 kJ.", "flags": [ "BIONIC_NPC_USABLE" ] @@ -808,7 +808,7 @@ { "id": "bio_power_weakness", "type": "bionic", - "name": "Power Overload", + "name": { "str": "Power Overload" }, "description": "Damaged power circuits cause short-circuiting inside your muscles when your batteries are above 75% capacity, causing greatly reduced strength. This has no effect if you have no internal batteries.", "occupied_bodyparts": [ [ "TORSO", 3 ], [ "ARM_L", 1 ], [ "ARM_R", 1 ], [ "LEG_L", 2 ], [ "LEG_R", 2 ] ], "flags": [ "BIONIC_FAULTY" ] @@ -816,7 +816,7 @@ { "id": "bio_probability_travel", "type": "bionic", - "name": "Probability Travel", + "name": { "str": "Probability Travel" }, "description": "Increases your body's wavelength, allowing you to quantum tunnel through walls, reappearing on the other side. Power drain in standby is minimal, but each tile tunneled through costs 250 bionic power.", "occupied_bodyparts": [ [ "TORSO", 20 ], [ "ARM_L", 2 ], [ "ARM_R", 2 ], [ "LEG_L", 3 ], [ "LEG_R", 3 ], [ "FOOT_L", 1 ], [ "FOOT_R", 1 ] ], "flags": [ "BIONIC_TOGGLED" ], @@ -836,7 +836,7 @@ { "id": "bio_radscrubber", "type": "bionic", - "name": "Radiation Scrubber System", + "name": { "str": "Radiation Scrubber System" }, "description": "A system of advanced piezomechanical blood filters have been surgically implanted throughout your body, allowing you to purge yourself of absorbed radiation at the cost of some bionic power.", "occupied_bodyparts": [ [ "TORSO", 5 ], [ "ARM_L", 1 ], [ "ARM_R", 1 ], [ "LEG_L", 2 ], [ "LEG_R", 2 ] ], "flags": [ "BIONIC_NPC_USABLE" ], @@ -845,7 +845,7 @@ { "id": "bio_railgun", "type": "bionic", - "name": "Railgun", + "name": { "str": "Railgun" }, "description": "EM field generators in your arms double the range and damage of thrown iron and steel objects at a cost of 1 power per throw, causing them to leave a trail of electricity that can cause additional damage.", "occupied_bodyparts": [ [ "ARM_L", 5 ], [ "ARM_R", 5 ], [ "HAND_L", 1 ], [ "HAND_R", 1 ] ], "flags": [ "BIONIC_TOGGLED" ], @@ -865,7 +865,7 @@ { "id": "bio_recycler", "type": "bionic", - "name": "Recycler Unit", + "name": { "str": "Recycler Unit" }, "description": "Your digestive system has been outfitted with a series of filters and processors, allowing you to reclaim waste liquid and, to a lesser degree, nutrients. The net effect is a greatly reduced need to eat and drink.", "occupied_bodyparts": [ [ "TORSO", 15 ] ], "flags": [ "BIONIC_NPC_USABLE" ] @@ -873,7 +873,7 @@ { "id": "bio_remote", "type": "bionic", - "name": "Remote Controller", + "name": { "str": "Remote Controller" }, "description": "A small module connected to your brain allows you to interface with nearby devices with wireless capabilities.", "occupied_bodyparts": [ [ "HEAD", 2 ] ], "flags": [ "BIONIC_TOGGLED" ], @@ -891,7 +891,7 @@ { "id": "bio_scent_mask", "type": "bionic", - "name": "Olfactory Mask", + "name": { "str": "Olfactory Mask" }, "description": "While this system is powered, your body will produce very little odor, making it nearly impossible for creatures to track you by scent.", "occupied_bodyparts": [ [ "TORSO", 3 ], [ "HEAD", 1 ], [ "ARM_L", 1 ], [ "ARM_R", 1 ], [ "LEG_L", 1 ], [ "LEG_R", 1 ] ], "flags": [ "BIONIC_TOGGLED" ], @@ -956,7 +956,7 @@ { "id": "bio_spasm", "type": "bionic", - "name": "Motor Control Overstimulator", + "name": { "str": "Motor Control Overstimulator" }, "description": "One piezoelectric solenoid surgically installed backwards, two crossed wires, and four burned-out capacitors later you started falling on your face and writhing around at the least convenient times. This incorrectly-configured bionic periodically stuns you for a short duration.", "occupied_bodyparts": [ [ "HEAD", 3 ] ], "flags": [ "BIONIC_FAULTY" ] @@ -999,7 +999,7 @@ { "id": "bio_str_enhancer", "type": "bionic", - "name": "Muscle Augmentation", + "name": { "str": "Muscle Augmentation" }, "description": "Your muscular system has been surgically enhanced with myomer fibers, giving you a +2 bonus to strength.", "occupied_bodyparts": [ [ "TORSO", 6 ], [ "ARM_L", 4 ], [ "ARM_R", 4 ], [ "LEG_L", 8 ], [ "LEG_R", 8 ] ], "stat_bonus": [ [ "STR", 2 ] ], From 66e62f90e9d4299965b823d0ba48f35d969e441d Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 20:34:17 +0100 Subject: [PATCH 34/71] gun name to object (#38306) --- data/json/items/gun/3006.json | 2 +- data/json/items/gun/308.json | 2 +- data/json/items/gun/38.json | 4 ++-- data/json/items/gun/40.json | 2 +- data/json/items/gun/45colt.json | 4 ++-- data/json/items/gun/50.json | 2 +- data/json/items/gun/545x39.json | 4 ++-- data/json/items/gun/762.json | 2 +- data/json/items/gun/9mm.json | 6 +++--- data/json/items/gun/bio.json | 2 +- data/json/items/gun/shot.json | 12 ++++++------ data/json/items/gun/ups.json | 4 ++-- data/json/items/ranged/energy.json | 2 +- data/json/items/ranged/pneumatic.json | 2 +- 14 files changed, 25 insertions(+), 25 deletions(-) diff --git a/data/json/items/gun/3006.json b/data/json/items/gun/3006.json index 8e4984359e596..283ac134e4e62 100644 --- a/data/json/items/gun/3006.json +++ b/data/json/items/gun/3006.json @@ -119,7 +119,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, - "name": "Browning Automatic Rifle", + "name": { "str": "Browning Automatic Rifle" }, "description": "Designed near the end of World War I, the BAR provided fire support for the US Army from World War II all the way to the Vietnam War. Too much firepower to serve as a battle rifle, but not enough to be an ideal light machine gun, it still found a niche on the battlefield.", "weight": "8820 g", "volume": "2500 ml", diff --git a/data/json/items/gun/308.json b/data/json/items/gun/308.json index 809918b20bc60..376f8abf3a70d 100644 --- a/data/json/items/gun/308.json +++ b/data/json/items/gun/308.json @@ -378,7 +378,7 @@ "copy-from": "rifle_semi", "looks_like": "ar15", "type": "GUN", - "name": "AR-10", + "name": { "str": "AR-10" }, "description": "Somewhat similar to the later AR-15, the AR-10 is a gas operated, rotating bolt rifle chambered for 7.62x51mm rounds.", "weight": "3290 g", "volume": "2 L", diff --git a/data/json/items/gun/38.json b/data/json/items/gun/38.json index e9c57907d2d8a..29d0be12b4af2 100644 --- a/data/json/items/gun/38.json +++ b/data/json/items/gun/38.json @@ -4,7 +4,7 @@ "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, - "name": "2 Shot Special", + "name": { "str": "2 Shot Special" }, "//": "It's hard to say just how big this is, although it's (very large) pistol sized. But it is a handmade weapon.", "description": "A crudely made double barrel pistol firing 38 special ammo. Unfortunately, the name is less about the double barrels and more about the number of shots you'll get before it breaks down on you.", "weight": "750 g", @@ -39,7 +39,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "COP .357 Derringer", + "name": { "str": "COP .357 Derringer" }, "description": "A small, chubby derringer pistol bearing a slight resemblance to the Mossberg Brownie. It uses a rotating firing pin to fire the individual hammers of the four barrels arranged in a square formation.", "weight": "800 g", "volume": "399 ml", diff --git a/data/json/items/gun/40.json b/data/json/items/gun/40.json index 90afa0ad6de7f..25b472c55bf6b 100644 --- a/data/json/items/gun/40.json +++ b/data/json/items/gun/40.json @@ -226,7 +226,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "Browning Hi-Power .40 S&W", + "name": { "str": "Browning Hi-Power .40 S&W" }, "description": "The Browning Hi-Power is a semi-automatic handgun developed shortly before the second world war. Widely issued since then, it remains in use by India, Canada and Australia. This is a commercial variant produced by Browning Arms in .40 S&W.", "weight": "900 g", "volume": "418 ml", diff --git a/data/json/items/gun/45colt.json b/data/json/items/gun/45colt.json index b0b0e8674a03f..6f7be1f0f1a40 100644 --- a/data/json/items/gun/45colt.json +++ b/data/json/items/gun/45colt.json @@ -4,7 +4,7 @@ "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, - "name": "Bond Arms Derringer", + "name": { "str": "Bond Arms Derringer" }, "description": "The Bond Arms Derringer is a series of multi-barrel compact pistols. Most commonly chambered for .45 Colt, with chambers long enough to accept .410 shotgun shells.", "weight": "595 g", "volume": "132 ml", @@ -38,7 +38,7 @@ "copy-from": "rifle_manual", "looks_like": "ar15", "type": "GUN", - "name": "Colt Lightning .45 Carbine", + "name": { "str": "Colt Lightning .45 Carbine" }, "description": "A modern reproduction of a Colt pump-action rifle. Originally chambered in .44-40, modern versions most commonly use .45 Colt, complementing the Single Action Army as a Cowboy Action Shooting firearm.", "weight": "2722 g", "volume": "1601 ml", diff --git a/data/json/items/gun/50.json b/data/json/items/gun/50.json index ec9a23ecce7ed..c05a9b6b3637c 100644 --- a/data/json/items/gun/50.json +++ b/data/json/items/gun/50.json @@ -91,7 +91,7 @@ "copy-from": "rifle_base", "looks_like": "ar15", "type": "GUN", - "name": "AI AS50", + "name": { "str": "AI AS50" }, "description": ".50 caliber anti-materiel rifle made by Accuracy International. With high accuracy for long range target and high fire rate, this weapon is still being used by Greek national guard.", "weight": "13330 g", "volume": "3500 ml", diff --git a/data/json/items/gun/545x39.json b/data/json/items/gun/545x39.json index ccaf059c6259b..bae21510b1079 100644 --- a/data/json/items/gun/545x39.json +++ b/data/json/items/gun/545x39.json @@ -4,7 +4,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, - "name": "AK-74M", + "name": { "str": "AK-74M" }, "//": "AKs likewise aren't commercially traded in the US, plus this is newer.", "description": "The successor to the well-known AK-47 rifle. It combines the reliability of the AK series with the high-velocity, lightweight 5.45x39mm cartridge.", "weight": "3400 g", @@ -43,7 +43,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, - "name": "AN-94", + "name": { "str": "AN-94" }, "description": "Intended to replace the AK-74, this rifle uses a sophisticated mechanism to delay felt recoil, along with a very fast two-round burst mode. While its increased complexity prevented it from being adopted by the Russian military, it has seen service among their special forces.", "weight": "3850 g", "volume": "1750 ml", diff --git a/data/json/items/gun/762.json b/data/json/items/gun/762.json index 6577a5ae2fea3..5dd9c538856c1 100644 --- a/data/json/items/gun/762.json +++ b/data/json/items/gun/762.json @@ -4,7 +4,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, - "name": "AKM", + "name": { "str": "AKM" }, "description": "One of the most recognizable assault rifles ever made, the AKM is renowned for its durability even under the worst conditions.", "weight": "3300 g", "volume": "1750 ml", diff --git a/data/json/items/gun/9mm.json b/data/json/items/gun/9mm.json index 38156a7e2fd0c..251fd4c665cb3 100644 --- a/data/json/items/gun/9mm.json +++ b/data/json/items/gun/9mm.json @@ -343,7 +343,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "Beretta M9A1", + "name": { "str": "Beretta M9A1" }, "description": "An iconic 9x19mm pistol, the M9 was the standard issue sidearm of US armed force from 1985 only until recently. It was formerly popular amongst law enforcement before the advent of commercially available polymer-framed handguns and the FBI's adoption of .40S&W.", "weight": "961 g", "volume": "528 ml", @@ -652,7 +652,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "Browning Hi-Power 9x19mm", + "name": { "str": "Browning Hi-Power 9x19mm" }, "description": "The Browning Hi-Power is a semi-automatic handgun developed shortly before the second world war. Widely issued since then, it remains in use by India, Canada and Australia. This is a commercial variant produced by Browning Arms in 9x19mm Parabellum.", "weight": "900 g", "volume": "418 ml", @@ -731,7 +731,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "CZ-75", + "name": { "str": "CZ-75" }, "description": "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one of the original wonder nines. Though designed for export to western countries, it was declared a state secret; lack of international patent protection meant that many clones and variants were produced and distributed around the world, with ÄŒeská zbrojovka only joining in the 90's. This pistol remains wildly popular among competition shooters.", "weight": "1000 g", "volume": "526 ml", diff --git a/data/json/items/gun/bio.json b/data/json/items/gun/bio.json index e0a3bdf63d5ec..ce5ee399bfd83 100644 --- a/data/json/items/gun/bio.json +++ b/data/json/items/gun/bio.json @@ -70,7 +70,7 @@ { "id": "bio_lightning", "type": "GUN", - "name": "Chain Lightning", + "name": { "str": "Chain Lightning" }, "description": "this a pseudo item", "volume": "3 L", "price": 0, diff --git a/data/json/items/gun/shot.json b/data/json/items/gun/shot.json index 61350d2cb8697..6b3a28d2e7fd0 100644 --- a/data/json/items/gun/shot.json +++ b/data/json/items/gun/shot.json @@ -4,7 +4,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "12 gauge pistol", + "name": { "str": "12 gauge pistol" }, "description": "A single shot pistol that loads 12 gauge shotgun shells, handcrafted from scrap.", "weight": "828 g", "volume": "500 ml", @@ -37,7 +37,7 @@ "copy-from": "shotgun_base", "looks_like": "remington_870", "type": "GUN", - "name": "12-gauge gatling gun", + "name": { "str": "12-gauge gatling gun" }, "description": "An electrically driven six barrel gatling shotgun, fed from handmade cloth belts. Even properly mounted, this seems like an unwieldy beast, and the six separate barrels make for difficult zeroing. The externally driven action means this is much less likely to jam.", "weight": "4980 g", "volume": "4500 ml", @@ -58,7 +58,7 @@ "id": "browning_a5", "copy-from": "shotgun_base", "type": "GUN", - "name": "Browning Auto 5", + "name": { "str": "Browning Auto 5" }, "description": "This humble looking shotgun was the earliest successful semi-automatic shotgun, and the second most successful in U.S. history, with over 2.7 million made between 1902 and 1998. The recoil tuning mechanism under the handguard and long dwell time of the action make for pleasant shooting.", "weight": "4100 g", "volume": "3525 ml", @@ -493,7 +493,7 @@ "id": "streetsweeper", "copy-from": "shotgun_base", "type": "GUN", - "name": "Cobray Streetsweeper", + "name": { "str": "Cobray Streetsweeper" }, "description": "Less shotgun and more comically oversized revolver, the Cobray Streetsweeper sold poorly before it was deemed a destructive device. The cylinder is driven by a clockspring, cannot be indexed by hand, and must be ejected with an ejector rod. Its unique design allows for all 12 shells to be fired in under 3 seconds, as demonstrated by the ATF technical branch.", "weight": "419 g", "volume": "3193 ml", @@ -509,7 +509,7 @@ "barrel_length": "36 ml", "default_mods": [ "grip" ], "built_in_mods": [ "wire_stock" ], - "modes": [ [ "DEFAULT", "single", 1 ], [ "AUTO", "3-round", 3 ] ], + "modes": [ [ "DEFAULT", "single", 1 ], [ "AUTO", "3 rd.", 3 ] ], "valid_mod_locations": [ [ "accessories", 4 ], [ "barrel", 1 ], @@ -626,7 +626,7 @@ "id": "winchester_1887", "copy-from": "shotgun_base", "type": "GUN", - "name": "1887 bootleg shotgun", + "name": { "str": "1887 bootleg shotgun" }, "description": "One of the first commercially successful repeating shotguns, the Winchester 1887 was specifically made lever-action at Winchester's request. Though later overshadowed in success by pump designs, the 1887 remains popular today. This one has a very short barrel, no stock, and would pair nicely with a motorcycle jacket and a Harley Davidson.", "weight": "2994 g", "volume": "1127 ml", diff --git a/data/json/items/gun/ups.json b/data/json/items/gun/ups.json index 24958928ae1d8..0891e900ce498 100644 --- a/data/json/items/gun/ups.json +++ b/data/json/items/gun/ups.json @@ -42,7 +42,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 20, - "name": "CMES laser cannon", + "name": { "str": "CMES laser cannon" }, "description": "This is the integral weapon system for the CMES exoskeleton mech-suit, a rotating-barrel active-cooled rapid-fire laser system, can spray death downrange with ease.", "weight": "39500 g", "volume": "11 L", @@ -153,7 +153,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, - "name": "A7 laser rifle", + "name": { "str": "A7 laser rifle" }, "description": "A state-of-the-art laser rifle developed by the R&D outfit \"Aerial Labs\". Initial performance rivaled Rivtech's finest, with rumors flying about corporate skulduggery. Though the Cataclysm put that on the ash heap of history, this weapon can still do the same to your foes.", "weight": "2950 g", "volume": "3 L", diff --git a/data/json/items/ranged/energy.json b/data/json/items/ranged/energy.json index d3c377ca2d9be..fcc4f4fd1bb6f 100644 --- a/data/json/items/ranged/energy.json +++ b/data/json/items/ranged/energy.json @@ -44,7 +44,7 @@ "reload_noise_volume": 10, "symbol": "(", "color": "light_blue", - "name": "Boeing XM-P plasma rifle", + "name": { "str": "Boeing XM-P plasma rifle" }, "description": "Boeing developed the focused plasma weaponry together with DARPA. It heats solid hydrogen to create plasma and envelops it with polymers to reduce blooming. While powerful, it suffers from short range. Powered by UPS.", "price": 1750000, "material": "steel", diff --git a/data/json/items/ranged/pneumatic.json b/data/json/items/ranged/pneumatic.json index af66b2282dfea..0d71278396011 100644 --- a/data/json/items/ranged/pneumatic.json +++ b/data/json/items/ranged/pneumatic.json @@ -6,7 +6,7 @@ "reload_noise_volume": 10, "symbol": "(", "color": "brown", - "name": "BB gun", + "name": { "str": "BB gun" }, "description": "Popular among children. It's fairly accurate, but BBs deal nearly no damage.", "price": 8000, "//": "You could get a Red Ryder at walmart for $32, but you'd shoot your eye out x_-", From 06b484f66cf15fda4b008ada1a5d504c5980a6b5 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 20:36:30 +0100 Subject: [PATCH 35/71] Tool name to object (#38307) --- data/json/items/tool/explosives.json | 44 +++++++++++++------------- data/json/items/tool/firefighting.json | 2 +- data/json/items/tool/lighting.json | 4 +-- data/json/items/tool/med.json | 2 +- data/json/items/tool/misc.json | 4 +-- data/json/items/tool/radio_tools.json | 4 +-- data/json/items/tool/science.json | 2 +- data/json/items/tool/workshop.json | 2 +- 8 files changed, 32 insertions(+), 32 deletions(-) diff --git a/data/json/items/tool/explosives.json b/data/json/items/tool/explosives.json index 151da4befae5b..9d14ea60f34ba 100644 --- a/data/json/items/tool/explosives.json +++ b/data/json/items/tool/explosives.json @@ -3,7 +3,7 @@ "id": "acidbomb", "type": "TOOL", "category": "weapons", - "name": "acid bomb", + "name": { "str": "acid bomb" }, "description": "This is a fragile container filled with acid. Throw it to spill out a pool of potent acid.", "weight": "650 g", "volume": "500 ml", @@ -47,7 +47,7 @@ "id": "can_bomb_act", "copy-from": "can_bomb", "type": "TOOL", - "name": "active can bomb", + "name": { "str": "active can bomb" }, "description": "This is a tin can filled to the brim with explosive and with a bit of fuse sticking out of it. Will produce metal shrapnel that can deal with armor… you think. The fuse has been lit, you should throw it.", "price": 0, "initial_charges": 5, @@ -66,7 +66,7 @@ "id": "c4", "type": "TOOL", "category": "weapons", - "name": "C-4 explosive", + "name": { "str": "C-4 explosive" }, "description": "This is military grade RDX composition explosive. A label reads: \"Highly explosive, use with extreme caution!\" It comes with a small timer.", "weight": "1570 g", "volume": "1 L", @@ -214,7 +214,7 @@ "id": "EMPbomb", "type": "TOOL", "category": "weapons", - "name": "EMP bomb", + "name": { "str": "EMP bomb" }, "description": "This substantial device is a bomb that generates an electromagnetic pulse. When activated, the plutonium fuel cell is drained into a flux compression generator, the detonation of which creates a strong magnetic field. When this magnetic field is fed into the antenna, it creates a strong electro-magnetic pulse.", "weight": "4543 g", "volume": "15500 ml", @@ -240,7 +240,7 @@ "id": "EMPbomb_act", "type": "TOOL", "category": "weapons", - "name": "active EMP bomb", + "name": { "str": "active EMP bomb" }, "description": "This EMP bomb is active, and will shortly detonate, creating a large EMP field that damages robots and drains bionic energy, as well as a sizeable explosion. You may not want to be holding it much longer.", "weight": "19515 g", "volume": "16 L", @@ -415,7 +415,7 @@ "id": "flashbang_act", "type": "TOOL", "category": "weapons", - "name": "active flashbang", + "name": { "str": "active flashbang" }, "description": "This flashbang is active, and will soon detonate with intense light and sound, blinding, deafening and disorienting anyone nearby. It may be a good idea to throw it!", "weight": "236 g", "volume": "250 ml", @@ -468,7 +468,7 @@ "id": "fragment_bomb_act", "copy-from": "fragment_bomb", "type": "TOOL", - "name": "active fragment bomb", + "name": { "str": "active fragment bomb" }, "description": "A crude and bulky improvised bomb. Made from a container, an explosive surrounded by small pieces of metal and a fuse. The fuse has been lit, you should throw it.", "price": 0, "initial_charges": 5, @@ -555,7 +555,7 @@ "id": "gasbomb_makeshift_act", "type": "TOOL", "category": "weapons", - "name": "active makeshift gas grenade", + "name": { "str": "active makeshift gas grenade" }, "description": "This homemade canister of poison gas has been unsealed, and is (or will shortly be) expelling highly toxic gas. You should consider getting rid of it soon.", "weight": "1264 g", "volume": "250 ml", @@ -609,7 +609,7 @@ "id": "grenade_act", "type": "TOOL", "category": "weapons", - "name": "active grenade", + "name": { "str": "active grenade" }, "description": "This is an active grenade, and will explode any second now. Better throw it!", "weight": "397 g", "volume": "250 ml", @@ -635,7 +635,7 @@ "id": "grenade_emp", "type": "TOOL", "category": "weapons", - "name": "EMP grenade", + "name": { "str": "EMP grenade" }, "description": "This is a grenade that generates an electromagnetic pulse with a low-inductance capacitor bank discharged into a single-loop antenna. Use this item to pull the pin and light the fuse, turning it into an active EMP grenade. You will then have three turns before it detonates, creating an EMP field that damages robots and drains bionic energy.", "weight": "400 g", "volume": "250 ml", @@ -662,7 +662,7 @@ "id": "grenade_emp_act", "type": "TOOL", "category": "weapons", - "name": "active EMP grenade", + "name": { "str": "active EMP grenade" }, "description": "This EMP grenade is active, and will shortly detonate, creating a large EMP field that damages robots and drains bionic energy. You may not want to be holding it much longer.", "weight": "400 g", "volume": "250 ml", @@ -714,7 +714,7 @@ "id": "grenade_inc_act", "type": "TOOL", "category": "weapons", - "name": "active incendiary grenade", + "name": { "str": "active incendiary grenade" }, "description": "This is an active incendiary grenade, likely to burst into an inferno any second now. Better throw it!", "weight": "180 g", "volume": "250 ml", @@ -858,7 +858,7 @@ "id": "makeshift_grenade_act", "copy-from": "makeshift_grenade", "type": "TOOL", - "name": "active makeshift grenade", + "name": { "str": "active makeshift grenade" }, "description": "This is an active grenade, and will explode any second now. Better throw it!", "price": 0, "rand_charges": [ 2, 7 ], @@ -924,7 +924,7 @@ "id": "molotov", "type": "TOOL", "category": "weapons", - "name": "Molotov cocktail", + "name": { "str": "Molotov cocktail" }, "description": "A bottle of flammable liquid with a rag inserted. Use this item to light the rag. You will, of course, need a lighter or matches in your inventory to do this. After lighting it, throw it to cause fires.", "weight": "742 g", "volume": "750 ml", @@ -999,7 +999,7 @@ "id": "nail_bomb_act", "copy-from": "nail_bomb", "type": "TOOL", - "name": "active nail bomb", + "name": { "str": "active nail bomb" }, "description": "A crude and bulky improvised bomb. Made from a container, an explosive surrounded by nails and a fuse. The fuse has been lit, you should throw it.", "price": 0, "initial_charges": 5, @@ -1044,7 +1044,7 @@ "id": "pipebomb_act", "type": "TOOL", "category": "weapons", - "name": "active pipe bomb", + "name": { "str": "active pipe bomb" }, "description": "This pipe bomb's fuse is lit, and it will explode any second now. Throw it immediately!", "weight": "1298 g", "volume": "500 ml", @@ -1096,7 +1096,7 @@ "id": "scrambler_act", "type": "TOOL", "category": "weapons", - "name": "active scrambler grenade", + "name": { "str": "active scrambler grenade" }, "description": "This scrambler grenade is active, and will soon detonate, releasing a control wave that temporarily converts robots to your side.", "weight": "500 g", "volume": "250 ml", @@ -1145,7 +1145,7 @@ "id": "tool_anfo_charge", "type": "TOOL", "category": "weapons", - "name": "ANFO charge", + "name": { "str": "ANFO charge" }, "description": "This is a large metal keg filled with ANFO pellets and equipped with a dynamite primer. Use this item to light the fuse. You will then have twenty turns before it explodes and creates a large fireball.", "weight": "77800 g", "volume": "50 L", @@ -1176,7 +1176,7 @@ "id": "tool_anfo_charge_act", "type": "TOOL", "category": "weapons", - "name": "active ANFO charge", + "name": { "str": "active ANFO charge" }, "description": "This is a large metal keg filled with ANFO pellets and equipped with a dynamite primer. The fuse has been lit - better run like hell!", "weight": "77800 g", "volume": "50 L", @@ -1233,7 +1233,7 @@ "id": "tool_black_powder_charge_act", "type": "TOOL", "category": "weapons", - "name": "active black gunpowder charge", + "name": { "str": "active black gunpowder charge" }, "description": "This is a home-made explosive device, consisting of a large plastic jug filled with black gunpowder and scrap metal, whose fuse has been lit, its final countdown starting.", "weight": "6500 g", "volume": "4 L", @@ -1260,7 +1260,7 @@ "id": "tool_rdx_charge", "type": "TOOL", "category": "weapons", - "name": "RDX charge", + "name": { "str": "RDX charge" }, "description": "This is a metal keg, filled with 50 liters worth of RDX and scrap metal. Contains a core of primary explosive to ensure that the charge detonates completely and delivers its entire destructive power to everything in sight.", "weight": "106600 g", "volume": "50 L", @@ -1290,7 +1290,7 @@ "id": "tool_rdx_charge_act", "type": "TOOL", "category": "weapons", - "name": "active RDX charge", + "name": { "str": "active RDX charge" }, "description": "This is a metal keg, filled with 50 liters worth of RDX and scrap metal. The fuse has been lit and once it ignites the primary explosive, the charge will detonate and rain fire and steel on everything in sight.", "weight": "106600 g", "volume": "50 L", diff --git a/data/json/items/tool/firefighting.json b/data/json/items/tool/firefighting.json index f8c85953d8e65..80f9203ae973f 100644 --- a/data/json/items/tool/firefighting.json +++ b/data/json/items/tool/firefighting.json @@ -60,7 +60,7 @@ { "id": "halligan", "type": "TOOL", - "name": "Halligan bar", + "name": { "str": "Halligan bar" }, "description": "This is a heavy multiple-use tool commonly carried by firefighters, law enforcement, and military rescue units. Use it to open locked doors without destroying them or to lift manhole covers. You could also wield it to bash some heads in.", "weight": "3600 g", "volume": "1250 ml", diff --git a/data/json/items/tool/lighting.json b/data/json/items/tool/lighting.json index 8c4b407329b3a..b0c326ed05e09 100644 --- a/data/json/items/tool/lighting.json +++ b/data/json/items/tool/lighting.json @@ -307,7 +307,7 @@ { "id": "glowstick_lit", "type": "TOOL", - "name": "active glowstick", + "name": { "str": "active glowstick" }, "description": "This is an active glowstick and is producing light. It will last for a few hours before burning out.", "weight": "29 g", "volume": "250 ml", @@ -347,7 +347,7 @@ "id": "handflare_lit", "copy-from": "handflare", "type": "TOOL", - "name": "active flare", + "name": { "str": "active flare" }, "description": "This burning magnesium flare is producing light. It will last for about a half hour before burning out.", "color": "white", "turns_per_charge": 6, diff --git a/data/json/items/tool/med.json b/data/json/items/tool/med.json index 6f97dfe4c2bb6..ee7e1997581b8 100644 --- a/data/json/items/tool/med.json +++ b/data/json/items/tool/med.json @@ -59,7 +59,7 @@ { "id": "rx12_injector", "type": "TOOL", - "name": "RX12 jet injector", + "name": { "str": "RX12 jet injector" }, "description": "The Rivtech RX12 jet injector is a small pistol-shaped device used to inject advanced fast-healing chemicals through the skin without using a needle. A label on the side warns against using more than two doses per hour.", "weight": "316 g", "volume": "500 ml", diff --git a/data/json/items/tool/misc.json b/data/json/items/tool/misc.json index 136f647ed331f..4d91a6e328bcf 100644 --- a/data/json/items/tool/misc.json +++ b/data/json/items/tool/misc.json @@ -240,7 +240,7 @@ "id": "kevlar_plate", "type": "TOOL", "category": "spare_parts", - "name": "Kevlar plate", + "name": { "str": "Kevlar plate" }, "description": "This is a plate of reinforced Kevlar. It could be used to repair items made of Kevlar.", "weight": "300 g", "volume": "250 ml", @@ -577,7 +577,7 @@ "id": "tear_gas_payload_act", "type": "TOOL", "category": "weapons", - "name": "active tear gas payload", + "name": { "str": "active tear gas payload" }, "description": "This is a dummy item used by tear gas hacks that just so happens to be counting down. You should never see it outside of debug.", "symbol": "*", "color": "dark_gray", diff --git a/data/json/items/tool/radio_tools.json b/data/json/items/tool/radio_tools.json index 3fe8073bbbf3c..4ba4bb81255de 100644 --- a/data/json/items/tool/radio_tools.json +++ b/data/json/items/tool/radio_tools.json @@ -17,7 +17,7 @@ "id": "radiocontrol", "copy-from": "radio_car_box", "type": "TOOL", - "name": "RC control", + "name": { "str": "RC control" }, "description": "A remote control for RC cars, with joystick to steer the car and colorful buttons that don't seem to do anything. Perhaps they were for the deluxe model?", "symbol": "#", "color": "yellow", @@ -46,7 +46,7 @@ "id": "radio_car", "copy-from": "radio_car_box", "type": "TOOL", - "name": "RC car", + "name": { "str": "RC car" }, "description": "A remote-controlled car. Fun for young and old alike.", "symbol": "#", "ammo": "battery", diff --git a/data/json/items/tool/science.json b/data/json/items/tool/science.json index c485ccbc46a87..05e62962724e6 100644 --- a/data/json/items/tool/science.json +++ b/data/json/items/tool/science.json @@ -236,7 +236,7 @@ "id": "weather_reader", "type": "TOOL", "category": "tools", - "name": "Doppler Radar Turbo 2000", + "name": { "str": "Doppler Radar Turbo 2000" }, "description": "A briefcase with built-in laptop that looks like it's from the 80s. Its vintage monochrome monitor displays a plethora of meteorological data. No sign of the FLDSMDFR, however.", "weight": "10 g", "volume": "2500 ml", diff --git a/data/json/items/tool/workshop.json b/data/json/items/tool/workshop.json index a55c358189ae3..11f267cac77c4 100644 --- a/data/json/items/tool/workshop.json +++ b/data/json/items/tool/workshop.json @@ -42,7 +42,7 @@ { "id": "acetylene_machine", "type": "TOOL", - "name": "acetylene-gas machine", + "name": { "str": "acetylene-gas machine" }, "symbol": "&", "color": "light_gray", "description": "This bulky device takes water and calcium carbide and yields unpressurised acetylene.", From b03e1f5dae069a71f8155f3966462f33113373b7 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 20:36:54 +0100 Subject: [PATCH 36/71] Vitamins name to object (#38308) --- data/json/vitamin.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/data/json/vitamin.json b/data/json/vitamin.json index c60267600955e..369b4d945b566 100644 --- a/data/json/vitamin.json +++ b/data/json/vitamin.json @@ -3,7 +3,7 @@ "id": "calcium", "type": "vitamin", "vit_type": "vitamin", - "name": "Calcium", + "name": { "str": "Calcium" }, "deficiency": "hypocalcemia", "min": -12000, "rate": "15 m", @@ -13,7 +13,7 @@ "id": "iron", "type": "vitamin", "vit_type": "vitamin", - "name": "Iron", + "name": { "str": "Iron" }, "excess": "hypervitaminosis", "deficiency": "anemia", "min": -12000, @@ -25,7 +25,7 @@ "id": "vitA", "type": "vitamin", "vit_type": "vitamin", - "name": "Vitamin A", + "name": { "str": "Vitamin A" }, "excess": "hypervitaminosis", "deficiency": "hypovitA", "min": -8400, @@ -37,7 +37,7 @@ "id": "vitB", "type": "vitamin", "vit_type": "vitamin", - "name": "Vitamin B12", + "name": { "str": "Vitamin B12" }, "deficiency": "hypovitB", "min": -5600, "rate": "15 m", @@ -47,7 +47,7 @@ "id": "vitC", "type": "vitamin", "vit_type": "vitamin", - "name": "Vitamin C", + "name": { "str": "Vitamin C" }, "deficiency": "scurvy", "min": -5600, "rate": "15 m", @@ -57,7 +57,7 @@ "id": "mutant_toxin", "type": "vitamin", "vit_type": "toxin", - "name": "Toxins", + "name": { "str": "Toxins" }, "excess": "toxin_buildup", "min": 0, "max": 1800, @@ -68,7 +68,7 @@ "id": "bad_food", "type": "vitamin", "vit_type": "counter", - "name": "Disgusting Diet", + "name": { "str": "Disgusting Diet" }, "excess": "bad_food_ennui", "min": 0, "max": 40, From 01b7e6f6b03fbda8a53bcfb64ac33992b6c43ad1 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 21:21:33 +0100 Subject: [PATCH 37/71] Gun name to object --- data/json/items/gun/12mm.json | 2 +- data/json/items/gun/22.json | 2 +- data/json/items/gun/223.json | 10 +++++----- data/json/items/gun/3006.json | 2 +- data/json/items/gun/300BLK.json | 2 +- data/json/items/gun/308.json | 6 +++--- data/json/items/gun/32.json | 2 +- data/json/items/gun/380.json | 4 ++-- data/json/items/gun/40.json | 2 +- data/json/items/gun/44paper.json | 2 +- data/json/items/gun/45.json | 4 ++-- data/json/items/gun/46.json | 2 +- data/json/items/gun/57.json | 4 ++-- data/json/items/gun/700nx.json | 2 +- data/json/items/gun/9mm.json | 8 ++++---- data/json/items/gun/shot.json | 2 +- 16 files changed, 28 insertions(+), 28 deletions(-) diff --git a/data/json/items/gun/12mm.json b/data/json/items/gun/12mm.json index a4c5fda578565..5eb22ee2807ad 100644 --- a/data/json/items/gun/12mm.json +++ b/data/json/items/gun/12mm.json @@ -4,7 +4,7 @@ "copy-from": "gun_base", "looks_like": "ar15", "type": "GUN", - "name": "H&K G80 railgun", + "name": { "str": "H&K G80 railgun" }, "description": "Developed by Heckler & Koch, this railgun magnetically propels a ferromagnetic projectile using an alternating current. Powered by UPS.", "weight": "3914 g", "volume": "2750 ml", diff --git a/data/json/items/gun/22.json b/data/json/items/gun/22.json index e49bf8f71a347..5b9d48917c4a4 100644 --- a/data/json/items/gun/22.json +++ b/data/json/items/gun/22.json @@ -304,7 +304,7 @@ "copy-from": "pistol_backup", "looks_like": "glock_17", "type": "GUN", - "name": "Jennings J-22", + "name": { "str": "Jennings J-22" }, "description": "One of the quintessential 'saturday night specials', the Jennings J-22 was very affordably priced with its injection molded zinc slide and frame. Intended to fill the void left after small pocket pistols were banned from import, these were more commonly used by criminals unfazed by their glaring safety issues.", "weight": "370 g", "volume": "123ml", diff --git a/data/json/items/gun/223.json b/data/json/items/gun/223.json index 6ea7cccf13784..ac03fcaa9ccb4 100644 --- a/data/json/items/gun/223.json +++ b/data/json/items/gun/223.json @@ -50,7 +50,7 @@ "copy-from": "rifle_auto", "looks_like": "ar15", "type": "GUN", - "name": "HK416 A5", + "name": { "str": "HK416 A5" }, "//": "*Current* milspec gear is now ridiculously overpriced, as seen with the M2010 IRL.", "description": "Designed to replace the M4A1, the Heckler and Koch 416A5 features most of the former's strengths, while being considerably more durable.", "weight": "3490 g", @@ -74,7 +74,7 @@ "copy-from": "rifle_auto", "looks_like": "ar15", "type": "GUN", - "name": "H&K G36", + "name": { "str": "H&K G36" }, "description": "Designed as a replacement for the early H&K G3 battle rifle, the G36 is more accurate, and uses the much-lighter .223 round, allowing for a higher ammo capacity.", "weight": "3630 g", "volume": "2500 ml", @@ -96,7 +96,7 @@ "copy-from": "pistol_revolver", "looks_like": "sw_619", "type": "GUN", - "name": "L2037 Backup", + "name": { "str": "L2037 Backup" }, "//": "Most real-life autorevolvers use 6-7.5 inch barrel, but this one's mentioned to be particularly massive.", "description": "The logical extension of Leadworks' autorevolver series, this massive 'sidearm' fires 5.56 NATO to share ammo with a soldier's rifle. The muzzle flash and report of this 5-shot revolver are incredible, producing ballistics similar to .357 Magnum. Similar to other Leadworks products it doesn't accept third-party modifications.", "weight": "2370 g", @@ -124,7 +124,7 @@ "copy-from": "rifle_auto", "looks_like": "ar15", "type": "GUN", - "name": "L523 platform", + "name": { "str": "L523 platform" }, "//": "Current milspec, so Expensive.", "description": "Leadworks LLC's bullpup L523 platform utilizes the ubiquitous 5.56 round in multiple applications, and is designed to part-swap quickly, safely, and effectively from one to the next. The base mechanism could--theoretically--be used on its own, but such use is inadvisable and will void your warranty. There's no real place to incorporate aftermarket modifications on this barren proto-weapon.", "weight": "2500 g", @@ -405,7 +405,7 @@ "copy-from": "rifle_auto", "looks_like": "ar15", "type": "GUN", - "name": "FN SCAR-L", + "name": { "str": "FN SCAR-L" }, "description": "A highly accurate and modular assault rifle specially designed for the United States Special Operations Command. The 'L' in its name stands for light, as it uses the lightweight .223 round.", "weight": "3300 g", "volume": "2250 ml", diff --git a/data/json/items/gun/3006.json b/data/json/items/gun/3006.json index 283ac134e4e62..7ae956ca07a51 100644 --- a/data/json/items/gun/3006.json +++ b/data/json/items/gun/3006.json @@ -44,7 +44,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, - "name": "M1 Garand", + "name": { "str": "M1 Garand" }, "description": "A semi-automatic .30-06 battle rifle, developed to replace the M1903 Springfield. It didn't completely supplant the older bolt-action until after World War II.", "weight": "4280 g", "volume": "2500 ml", diff --git a/data/json/items/gun/300BLK.json b/data/json/items/gun/300BLK.json index 71ee6500f52f0..220f6efca54ce 100644 --- a/data/json/items/gun/300BLK.json +++ b/data/json/items/gun/300BLK.json @@ -29,7 +29,7 @@ "copy-from": "rifle_semi", "looks_like": "ar15", "type": "GUN", - "name": "IWI Tavor X95 .300BLK", + "name": { "str": "IWI Tavor X95 .300BLK" }, "description": "The IWI Tavor X95 (also called Micro-Tavor or MTAR) is an Israeli bullpup assault rifle designed and produced by Israel Weapon Industries. This is the civilian version chambered for .300 AAC Blackout.", "weight": "3610 g", "volume": "1500 ml", diff --git a/data/json/items/gun/308.json b/data/json/items/gun/308.json index 376f8abf3a70d..02712684ef547 100644 --- a/data/json/items/gun/308.json +++ b/data/json/items/gun/308.json @@ -51,7 +51,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, - "name": "M134D-H Minigun", + "name": { "str": "M134D-H Minigun" }, "description": "The M134D-H Minigun is a (relatively) lightweight heavy rotary machine gun. Its six barrels are rotated by an electric motor, powered by UPS or vehicle. If you could find enough ammo for it, it would become a devastating weapon. It must be mounted on a vehicle before use.", "weight": "19770 g", "volume": "6 L", @@ -331,7 +331,7 @@ "copy-from": "rifle_auto", "looks_like": "ar15", "type": "GUN", - "name": "HK417 A2", + "name": { "str": "HK417 A2" }, "description": "A German battle rifle with a 13\" barrel and telescopic stock. It is a gas operated, rotating bolt rifle with a short-stroke piston design similar to that of the G36.", "weight": "4220 g", "volume": "1750 ml", @@ -355,7 +355,7 @@ "copy-from": "rifle_semi", "looks_like": "ar15", "type": "GUN", - "name": "M110A1", + "name": { "str": "M110A1" }, "description": "A derivative of H&K's G28 with an aluminum upper receiver to meet US Army weight requirements. It is a gas operated, rotating bolt rifle accurate to 1.5 MOA with standard ammunition.", "weight": "4330 g", "volume": "2 L", diff --git a/data/json/items/gun/32.json b/data/json/items/gun/32.json index 81e4bca732ee9..947c51f80db2b 100644 --- a/data/json/items/gun/32.json +++ b/data/json/items/gun/32.json @@ -118,7 +118,7 @@ "looks_like": "glock_17", "copy-from": "pistol_backup", "type": "GUN", - "name": "Kel-Tec P32", + "name": { "str": "Kel-Tec P32" }, "description": "One of Kel-tec's oldest designs, the P32 is a popular option for deep concealment and backup usage. Despite its extreme light weight and small size, its .32 ACP chambering makes for good handling and recoil control.", "weight": "186 g", "volume": "186ml", diff --git a/data/json/items/gun/380.json b/data/json/items/gun/380.json index e952d844bdb98..84b32c3d780eb 100644 --- a/data/json/items/gun/380.json +++ b/data/json/items/gun/380.json @@ -33,7 +33,7 @@ "copy-from": "pistol_backup", "looks_like": "glock_17", "type": "GUN", - "name": "FN 1910 .380", + "name": { "str": "FN 1910 .380" }, "description": "Made infamous in Sarajevo in 1914, the FN1910 was a popular pocket pistol, albeit in .32 ACP. Collectors value the .380 model for its notoriety and more modern terminal performance. If such a humble firearm could start a world war, could it perhaps protect you from the undead?", "weight": "590 g", "volume": "186ml", @@ -73,7 +73,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "Hi-Point CF-380", + "name": { "str": "Hi-Point CF-380" }, "description": "The Hi-Point CF-380 is a blowback operated semi-automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", "weight": "820 g", "volume": "539 ml", diff --git a/data/json/items/gun/40.json b/data/json/items/gun/40.json index 25b472c55bf6b..0e50e23997253 100644 --- a/data/json/items/gun/40.json +++ b/data/json/items/gun/40.json @@ -265,7 +265,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "Hi-Point Model JCP", + "name": { "str": "Hi-Point Model JCP" }, "description": "The Hi-Point Model JCP is a blowback operated semi-automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", "weight": "990 g", "volume": "703 ml", diff --git a/data/json/items/gun/44paper.json b/data/json/items/gun/44paper.json index 73f3f34eb0bb4..70cb7739bbe36 100644 --- a/data/json/items/gun/44paper.json +++ b/data/json/items/gun/44paper.json @@ -23,7 +23,7 @@ "copy-from": "pistol_revolver_cap_ball", "looks_like": "sw_619", "type": "GUN", - "name": "LeMat revolver", + "name": { "str": "LeMat revolver" }, "description": "A Pietta reproduction of the civil war era LeMat revolver, a rare and unusual cap & ball .44-caliber revolver. While its original non-standard .42 or .35 caliber curbed its usefulness for the CSA army, this reproduction is offered in more prevalent .44 caliber. Despite modern quality materials, the design is still rather delicate.", "weight": "1410 g", "volume": "851 ml", diff --git a/data/json/items/gun/45.json b/data/json/items/gun/45.json index 27cbf7e6e6f86..5ceb7e432bfda 100644 --- a/data/json/items/gun/45.json +++ b/data/json/items/gun/45.json @@ -43,7 +43,7 @@ "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, - "name": "H&K UMP45", + "name": { "str": "H&K UMP45" }, "description": "Developed as a successor to the MP5 submachine gun, the UMP45 retains the earlier model's supreme accuracy and low recoil, but in the higher .45 caliber.", "weight": "2300 g", "volume": "1250 ml", @@ -341,7 +341,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "Hi-Point Model JHP", + "name": { "str": "Hi-Point Model JHP" }, "description": "The Hi-Point Model JHP is a blowback operated semi-automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", "weight": "990 g", "volume": "720 ml", diff --git a/data/json/items/gun/46.json b/data/json/items/gun/46.json index 2a09b016e5382..e47ec44c9fc29 100644 --- a/data/json/items/gun/46.json +++ b/data/json/items/gun/46.json @@ -4,7 +4,7 @@ "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, - "name": "H&K MP7A2", + "name": { "str": "H&K MP7A2" }, "description": "Designed as a personal defense weapon, the MP7 fires the high-powered 4.6x30mm round while being lightweight, compact in size, and practically recoil free.", "weight": "1800 g", "volume": "2034 ml", diff --git a/data/json/items/gun/57.json b/data/json/items/gun/57.json index 48156a80cc4ea..178f008db45e0 100644 --- a/data/json/items/gun/57.json +++ b/data/json/items/gun/57.json @@ -4,7 +4,7 @@ "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, - "name": "FN Five-Seven", + "name": { "str": "FN Five-Seven" }, "description": "Designed to work with FN's proprietary 5.7x28mm round, the Five-Seven is a lightweight pistol with a very high capacity, best used against armored opponents.", "weight": "600 g", "volume": "551 ml", @@ -41,7 +41,7 @@ "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, - "name": "FN P90", + "name": { "str": "FN P90" }, "description": "The first in a new genre of guns, termed \"personal defense weapons.\" FN designed the P90 to use their proprietary 5.7x28mm ammunition. It is made for firing bursts manageably.", "weight": "2640 g", "volume": "3817 ml", diff --git a/data/json/items/gun/700nx.json b/data/json/items/gun/700nx.json index b577db9f35a4d..8553a17909434 100644 --- a/data/json/items/gun/700nx.json +++ b/data/json/items/gun/700nx.json @@ -4,7 +4,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, - "name": "Elephant gun", + "name": { "str": "Elephant gun" }, "description": "A custom-made single shot rifle specially designed for the hunting of huge game. You could obviously kill everything with this, EVERYTHING. If you ever find enough ammo of course.", "weight": "8082 g", "volume": "3 L", diff --git a/data/json/items/gun/9mm.json b/data/json/items/gun/9mm.json index 251fd4c665cb3..0901a84db0bcb 100644 --- a/data/json/items/gun/9mm.json +++ b/data/json/items/gun/9mm.json @@ -45,7 +45,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, - "name": "Cx4 Storm", + "name": { "str": "Cx4 Storm" }, "description": "A small pistol caliber carbine designed for police use and civilian self-defense, the Cx4 Storm uses magazines that are interchangeable with other Beretta 9x19mm handguns.", "weight": "2580 g", "volume": "1500 ml", @@ -86,7 +86,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "Glock 19", + "name": { "str": "Glock 19" }, "description": "Possibly the most popular pistol in existence. The Glock 19 is often derided for its plastic construction, but it is easy to shoot.", "weight": "600 g", "volume": "500 ml", @@ -307,7 +307,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "L39", + "name": { "str": "L39" }, "//": "L39s are based off the Robocop Auto-9, in turn a dolled-up Beretta 93R.", "description": "A semiautomatic 9x19mm handgun introduced by Leadworks LLC's, L39 provides accurate single-shot placement in a very robust frame with built in red dot and laser sights. Several urban legends describe using it in ways that would have destroyed a lesser weapon. Similar to other Leadworks products it doesn't accept third-party modifications.", "weight": "935 g", @@ -711,7 +711,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "Hi-Point C-9", + "name": { "str": "Hi-Point C-9" }, "description": "The Hi-Point C-9 is a blowback operated semi-automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", "weight": "820 g", "volume": "539 ml", diff --git a/data/json/items/gun/shot.json b/data/json/items/gun/shot.json index 6b3a28d2e7fd0..33664ae49c2df 100644 --- a/data/json/items/gun/shot.json +++ b/data/json/items/gun/shot.json @@ -529,7 +529,7 @@ "id": "SPAS_12", "copy-from": "shotgun_base", "type": "GUN", - "name": "Franchi SPAS-12", + "name": { "str": "Franchi SPAS-12" }, "description": "Mean and intimidating looking, the SPAS 12 has the dubious honor of being declared a destructive device and being banned from import by name, adding to its already considerable appeal. It is a combination pump-action and semi-automatic firearm, with an arm stabilizing hook for one handed shooting.", "weight": "4400 g", "volume": "2768 ml", From 700e57991427a8243b5627675c8ffe7c1501e9fb Mon Sep 17 00:00:00 2001 From: Paul Fenwick Date: Sun, 23 Feb 2020 23:56:19 -0800 Subject: [PATCH 38/71] =?UTF-8?q?Lamp=20oil=20now=20has=20an=2080%=20time-?= =?UTF-8?q?saving=20at=204=20units.=20=F0=9F=AA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This matches the savings in other chemical processes which refine liquids. --- data/json/recipes/chem/fuel.json | 1 + 1 file changed, 1 insertion(+) diff --git a/data/json/recipes/chem/fuel.json b/data/json/recipes/chem/fuel.json index af07cf82cd877..89b643aea3a45 100644 --- a/data/json/recipes/chem/fuel.json +++ b/data/json/recipes/chem/fuel.json @@ -81,6 +81,7 @@ "skill_used": "cooking", "difficulty": 2, "time": "30 m", + "batch_time_factors": [ 80, 4 ], "autolearn": true, "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 3 } ], "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], From 7f8d1db4538190dc8467d312a9345ae65246581b Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Mon, 24 Feb 2020 21:50:03 +0100 Subject: [PATCH 39/71] Ammo name to object --- data/json/items/ammo.json | 2 +- data/json/items/ammo/10mm.json | 6 +++--- data/json/items/ammo/50.json | 16 ++++++++-------- data/json/items/ammo/500.json | 6 +++--- data/json/items/ammo/700nx.json | 4 ++-- data/json/items/ammo/atgm.json | 2 +- data/json/items/ammo/shot.json | 10 +++++----- data/json/items/ammo/shotpaper.json | 2 +- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/data/json/items/ammo.json b/data/json/items/ammo.json index 3a256a3d8dc01..cc8207bee1041 100644 --- a/data/json/items/ammo.json +++ b/data/json/items/ammo.json @@ -436,7 +436,7 @@ "type": "AMMO", "id": "120mm_HEAT", "price": 999999, - "name": "120mm HEAT", + "name": { "str": "120mm HEAT" }, "symbol": "=", "color": "dark_gray", "description": "A 120mm high-explosive anti-tank round. It could ruin anyone's whole day.", diff --git a/data/json/items/ammo/10mm.json b/data/json/items/ammo/10mm.json index 4cbddb568dcfe..6d8fbaf747cb2 100644 --- a/data/json/items/ammo/10mm.json +++ b/data/json/items/ammo/10mm.json @@ -2,7 +2,7 @@ { "id": "10mm_fmj", "type": "AMMO", - "name": "10mm Auto FMJ", + "name": { "str": "10mm Auto FMJ" }, "description": "A jacketed 10mm Auto round. The 10mm Auto cartridge is a rather powerful handgun round and the progenitor to the more popular .40 S&W.", "weight": "9 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "bp_10mm_fmj", "copy-from": "10mm_fmj", "type": "AMMO", - "name": "10mm Auto FMJ, black powder", + "name": { "str": "10mm Auto FMJ, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -35,7 +35,7 @@ "id": "reloaded_10mm_fmj", "copy-from": "10mm_fmj", "type": "AMMO", - "name": "10mm Auto FMJ, reloaded", + "name": { "str": "10mm Auto FMJ, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/50.json b/data/json/items/ammo/50.json index 724628539399b..8dfb307b79028 100644 --- a/data/json/items/ammo/50.json +++ b/data/json/items/ammo/50.json @@ -3,7 +3,7 @@ "id": "50_incendiary", "copy-from": "50bmg", "type": "AMMO", - "name": ".50 BMG M17 tracer", + "name": { "str": ".50 BMG M17 tracer" }, "description": "A tracer variant of the powerful .50 BMG round. Tracer rounds help to keep the weapon they are fired from on target at the risk of igniting flammable substances.", "count": 10, "effects": [ "INCENDIARY" ], @@ -12,7 +12,7 @@ { "id": "50bmg", "type": "AMMO", - "name": ".50 BMG M33 Ball", + "name": { "str": ".50 BMG M33 Ball" }, "description": ".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is a very powerful rifle round designed for anti-aircraft use, later adapted to anti-vehicular and anti-personnel roles. Its stupendous energy and armor piercing capabilities make it one of the most deadly rounds available, offset only by its drastic recoil and noise.", "weight": "114 g", "volume": "250 ml", @@ -36,7 +36,7 @@ "id": "50match", "copy-from": "50bmg", "type": "AMMO", - "name": ".50 BMG Match", + "name": { "str": ".50 BMG Match" }, "description": ".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for long-range competition shooting or other precision rifle use.", "count": 10, "relative": { "damage": 2, "pierce": -4 }, @@ -46,7 +46,7 @@ "id": "50ss", "copy-from": "50bmg", "type": "AMMO", - "name": ".50 BMG M2 AP", + "name": { "str": ".50 BMG M2 AP" }, "description": "Variant of the .50 BMG round that uses a core of very dense, hardened tungsten steel. Penetration is increased, but damage is reduced.", "count": 10, "relative": { "damage": -10, "pierce": 20 }, @@ -56,7 +56,7 @@ "id": "50_mk211", "copy-from": "50bmg", "type": "AMMO", - "name": ".50 BMG Raufoss Mk 211", + "name": { "str": ".50 BMG Raufoss Mk 211" }, "price": 60000, "price_postapoc": 120000, "description": "This variant of the .50 BMG round makes the most of the caliber's potential payload delivery: the tip is loaded with an incendiary mix, which ignites on impact, detonating the RDX or PETN charge. This also ignites a secondary zirconium powder incendiary charge that surrounds a tungsten carbide penetrator, both encased by a mild steel cup. Fragments from the cup and burning metallic powder follow the penetrator through armored targets, increasing lethality. These rare, complicated, and expensive rounds are not likely to be manufactured again; use them wisely.", @@ -69,7 +69,7 @@ "id": "reloaded_50_incendiary", "copy-from": "50_incendiary", "type": "AMMO", - "name": ".50 BMG tracer, reloaded", + "name": { "str": ".50 BMG tracer, reloaded" }, "description": "A tracer variant of the powerful .50 BMG round. Tracer rounds help to keep the weapon they are fired from on target at the risk of igniting flammable substances. This one has been hand-reloaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, @@ -79,7 +79,7 @@ "id": "reloaded_50bmg", "copy-from": "50match", "type": "AMMO", - "name": ".50 BMG Match, reloaded", + "name": { "str": ".50 BMG Match, reloaded" }, "description": ".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very powerful rifle round designed for anti-aircraft use, later adapted to anti-vehicular and anti-personnel roles. Its stupendous energy and armor piercing capabilities make it one of the most deadly rounds available, offset only by its drastic recoil and noise.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, @@ -89,7 +89,7 @@ "id": "reloaded_50ss", "copy-from": "50ss", "type": "AMMO", - "name": ".50 BMG AP, reloaded", + "name": { "str": ".50 BMG AP, reloaded" }, "description": "Variant of the .50 BMG round that uses a core hardened steel. Penetration is increased, but damage is reduced. This one has been hand-reloaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, diff --git a/data/json/items/ammo/500.json b/data/json/items/ammo/500.json index 30f3197bf2f9d..2ac6cbc49724c 100644 --- a/data/json/items/ammo/500.json +++ b/data/json/items/ammo/500.json @@ -2,7 +2,7 @@ { "id": "500_Magnum", "type": "AMMO", - "name": ".500 S&W Magnum", + "name": { "str": ".500 S&W Magnum" }, "description": ".500 S&W Magnum ammunition with 500gr bullets. The .500 S&W Magnum round is a colossally powerful handgun cartridge capable of killing almost any target with one hit. It has extremely high damage and recoil to match.", "weight": "15 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "bp_500_Magnum", "copy-from": "500_Magnum", "type": "AMMO", - "name": ".500 S&W Magnum, black powder", + "name": { "str": ".500 S&W Magnum, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -35,7 +35,7 @@ "id": "reloaded_500_Magnum", "copy-from": "500_Magnum", "type": "AMMO", - "name": ".500 S&W Magnum, reloaded", + "name": { "str": ".500 S&W Magnum, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/700nx.json b/data/json/items/ammo/700nx.json index b465b76f6d0c9..29ecd2716818c 100644 --- a/data/json/items/ammo/700nx.json +++ b/data/json/items/ammo/700nx.json @@ -2,7 +2,7 @@ { "id": "700nx", "type": "AMMO", - "name": ".700 NX", + "name": { "str": ".700 NX" }, "description": "The .700 Nitro Express is a very powerful rifle round designed for long-range use. Its stupendous accuracy and armor piercing capabilities make it one of the most deadly rounds available, offset only by its drastic recoil and noise.", "weight": "80 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "reloaded_700nx", "copy-from": "700nx", "type": "AMMO", - "name": ".700 NX, reloaded", + "name": { "str": ".700 NX, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/atgm.json b/data/json/items/ammo/atgm.json index 5984e6d07e6e5..777842d27a4c2 100644 --- a/data/json/items/ammo/atgm.json +++ b/data/json/items/ammo/atgm.json @@ -3,7 +3,7 @@ "type": "AMMO", "id": "atgm_heat", "price": 70000, - "name": "152mm ATGM HEAT", + "name": { "str": "152mm ATGM HEAT" }, "symbol": "=", "color": "dark_gray", "description": "A tube-launched, optically tracked, wire-guided missile contained in a steel tube. Designed to be highly effective against vehicles and structures.", diff --git a/data/json/items/ammo/shot.json b/data/json/items/ammo/shot.json index 7aab8ca2aef7a..c2cf59b99ca72 100644 --- a/data/json/items/ammo/shot.json +++ b/data/json/items/ammo/shot.json @@ -21,7 +21,7 @@ "id": "reloaded_shot_00", "copy-from": "shot_00", "type": "AMMO", - "name": "00 shot, reloaded", + "name": { "str": "00 shot, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -66,7 +66,7 @@ "id": "bp_shot_00", "copy-from": "shot_00", "type": "AMMO", - "name": "00 shot, black powder", + "name": { "str": "00 shot, black powder" }, "extend": { "effects": [ "RECYCLED", "MUZZLE_SMOKE", "BLACKPOWDER" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } }, @@ -91,7 +91,7 @@ { "id": "shot_00", "type": "AMMO", - "name": "00 shot", + "name": { "str": "00 shot" }, "description": "A shell filled with metal pellets. Extremely damaging, plus the spread makes it very accurate at short range. Favored by SWAT forces.", "weight": "32 g", "volume": "250 ml", @@ -173,7 +173,7 @@ "id": "shot_scrap", "copy-from": "shot_00", "type": "AMMO", - "name": "00 shot, scrap loaded", + "name": { "str": "00 shot, scrap loaded" }, "description": "A shotgun shell filled with whatever was lying around. They are more damaging than birdshot, but fairly inaccurate.", "proportional": { "price": 0.4, "damage": 0.6, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED" ] }, @@ -183,7 +183,7 @@ "id": "bp_shot_scrap", "copy-from": "shot_scrap", "type": "AMMO", - "name": "00 shot, black powder, scrap loaded", + "name": { "str": "00 shot, black powder, scrap loaded" }, "proportional": { "price": 0.6, "damage": 0.8 }, "extend": { "effects": [ "RECYCLED", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/shotpaper.json b/data/json/items/ammo/shotpaper.json index 8ba5ba25a6493..468187ba0dc89 100644 --- a/data/json/items/ammo/shotpaper.json +++ b/data/json/items/ammo/shotpaper.json @@ -36,7 +36,7 @@ "id": "shot_paper_slug", "copy-from": "shot_paper_00", "type": "AMMO", - "name": ".62 paper cartridge", + "name": { "str": ".62 paper cartridge" }, "description": "A paper cartridge containing a premeasured amount of black powder and a .605 inch lead ball.", "relative": { "range": 12, "pierce": 4 }, "delete": { "effects": [ "SHOT" ] }, From a3d0a44d8fb534af369286765ab11ee214a859ec Mon Sep 17 00:00:00 2001 From: CSHague <58125670+CSHague@users.noreply.github.com> Date: Mon, 24 Feb 2020 20:38:58 -0500 Subject: [PATCH 40/71] Make 3l jar a by-product of heavy cream from milk cream jar recipe Previously, using this recipe, the 3L jar will simply disappear. --- data/json/recipes/food/dairy_products.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/json/recipes/food/dairy_products.json b/data/json/recipes/food/dairy_products.json index 5d3f9c5541e93..beaab800ef9a0 100644 --- a/data/json/recipes/food/dairy_products.json +++ b/data/json/recipes/food/dairy_products.json @@ -28,7 +28,7 @@ "type": "recipe", "result": "milk_cream", "result_mult": 5, - "byproducts": [ [ "buttermilk", 7 ] ], + "byproducts": [ [ "jar_3l_glass", 1 ], [ "buttermilk", 7 ] ], "category": "CC_FOOD", "subcategory": "CSC_FOOD_DAIRY", "skill_used": "cooking", From abdce8ddacc3f76cb9d67cd74ebde24691cee5cd Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Mon, 24 Feb 2020 21:10:16 -0600 Subject: [PATCH 41/71] Don't crash on loss of target for ACT_READ This can occur if the book an NPC is reading is removed from their inventory. --- src/activity_handlers.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index f170f6c0be48d..de83bd6f4b21b 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -2980,6 +2980,7 @@ void activity_handlers::read_finish( player_activity *act, player *p ) { if( !act->targets.front() ) { debugmsg( "Lost target of ACT_READ" ); + return; } if( p->is_npc() ) { npc *guy = dynamic_cast( p ); From 099414be803eda22c87a8a0859bd84c666d832dd Mon Sep 17 00:00:00 2001 From: Aloxaf Date: Tue, 25 Feb 2020 22:24:06 +0800 Subject: [PATCH 42/71] Add context for item "basin" The item "basin" and terrain "basin" should in different context. --- data/mods/Aftershock/items/items.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/mods/Aftershock/items/items.json b/data/mods/Aftershock/items/items.json index a86418a72ceaf..b91d911a94384 100644 --- a/data/mods/Aftershock/items/items.json +++ b/data/mods/Aftershock/items/items.json @@ -24,7 +24,7 @@ { "id": "afs_basin", "type": "CONTAINER", - "name": "basin", + "name": { "ctxt": "container", "str": "basin" }, "description": "A wide, shallow basin used to hold liquid, hammered from a piece of sheet metal. Ideal for collecting water.", "weight": "5 kg", "looks_like": "ceramic_bowl", From 8762f74a521d3a16f8f52866465d7fc7cf386923 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 16:51:20 +0100 Subject: [PATCH 43/71] Ammo name to object --- data/json/items/ammo/40x46mm.json | 22 +++++++++++----------- data/json/items/ammo/40x53mm.json | 12 ++++++------ data/json/items/ammo/46.json | 6 +++--- data/json/items/ammo/545x39.json | 8 ++++---- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/data/json/items/ammo/40x46mm.json b/data/json/items/ammo/40x46mm.json index b960c554a2ed4..c0572ad5e883b 100644 --- a/data/json/items/ammo/40x46mm.json +++ b/data/json/items/ammo/40x46mm.json @@ -2,7 +2,7 @@ { "abstract": "40x46mm_grenade", "type": "AMMO", - "name": "40x46mm grenade", + "name": { "str": "40x46mm grenade" }, "price": 10000, "price_postapoc": 40000, "material": [ "steel", "powder" ], @@ -21,7 +21,7 @@ "id": "40x46mm_m1006", "copy-from": "40x46mm_grenade", "type": "AMMO", - "name": "40x46mm M1006", + "name": { "str": "40x46mm M1006" }, "description": "A low velocity less-lethal 40x46mm round with a foam and plastic projectile intended to cause pain and disorientation to the target. May still injure or kill.", "weight": "68 g", "damage": 20, @@ -32,7 +32,7 @@ "id": "40x46mm_m433", "copy-from": "40x46mm_grenade", "type": "AMMO", - "name": "40x46mm M433", + "name": { "str": "40x46mm M433" }, "description": "A low velocity 40x46mm HEDP grenade. It can penetrate 2 inches of steel armor and fragmentation of the projectile body also makes it suitable for use against infantry.", "weight": "230 g", "damage": 200, @@ -44,7 +44,7 @@ "id": "40x46mm_m576", "copy-from": "40x46mm_grenade", "type": "AMMO", - "name": "40x46mm M576", + "name": { "str": "40x46mm M576" }, "description": "A 40x46mm buckshot load, designed for use in thick vegetation or room clearing.", "weight": "120 g", "range": 12, @@ -58,7 +58,7 @@ "id": "40x46mm_m651", "copy-from": "40x46mm_grenade", "type": "AMMO", - "name": "40x46mm M651", + "name": { "str": "40x46mm M651" }, "description": "A low velocity 40mm tear gas canister. It is effective for riot control and driving infantry from entrenched positions", "weight": "290 g", "damage": 15, @@ -70,7 +70,7 @@ "id": "40x46mm_buckshot_m118", "copy-from": "40x46mm_grenade", "type": "AMMO", - "name": "40x46mm buckshot", + "name": { "str": "40x46mm buckshot" }, "description": "An improvised 40x46mm buckshot load somewhat resembling M576.", "weight": "120 g", "range": 10, @@ -84,7 +84,7 @@ "id": "40x46mm_buckshot_m199", "copy-from": "40x46mm_grenade", "type": "AMMO", - "name": "40x46mm buckshot", + "name": { "str": "40x46mm buckshot" }, "description": "An improvised 40x46mm buckshot load somewhat resembling M576.", "weight": "120 g", "range": 10, @@ -98,7 +98,7 @@ "id": "40x46mm_slug_m118", "copy-from": "40x46mm_grenade", "type": "AMMO", - "name": "40x46mm slug", + "name": { "str": "40x46mm slug" }, "description": "An improvised 40x46mm load resembling an oversized shotgun slug.", "weight": "120 g", "range": 10, @@ -111,7 +111,7 @@ "id": "40x46mm_slug_m199", "copy-from": "40x46mm_grenade", "type": "AMMO", - "name": "40x46mm slug", + "name": { "str": "40x46mm slug" }, "description": "An improvised 40x46mm load resembling an oversized shotgun slug.", "weight": "120 g", "range": 10, @@ -124,7 +124,7 @@ "id": "40x46mm_flechette_m118", "copy-from": "40x46mm_grenade", "type": "AMMO", - "name": "40x46mm flechette", + "name": { "str": "40x46mm flechette" }, "description": "An improvised 40x46mm flechette load containing 70 steel darts.", "weight": "120 g", "range": 10, @@ -138,7 +138,7 @@ "id": "40x46mm_flechette_m199", "copy-from": "40x46mm_grenade", "type": "AMMO", - "name": "40x46mm flechette", + "name": { "str": "40x46mm flechette" }, "description": "An improvised 40x46mm flechette load containing 70 steel darts.", "weight": "120 g", "range": 10, diff --git a/data/json/items/ammo/40x53mm.json b/data/json/items/ammo/40x53mm.json index a1fbffc9a11f4..749a43f6488c7 100644 --- a/data/json/items/ammo/40x53mm.json +++ b/data/json/items/ammo/40x53mm.json @@ -2,7 +2,7 @@ { "abstract": "40x53mm_grenade", "type": "AMMO", - "name": "40x53mm grenade", + "name": { "str": "40x53mm grenade" }, "price": 10000, "price_postapoc": 40000, "material": [ "steel", "powder" ], @@ -21,7 +21,7 @@ "id": "40x53mm_m1001", "copy-from": "40x53mm_grenade", "type": "AMMO", - "name": "40x53mm M1001", + "name": { "str": "40x53mm M1001" }, "description": "40x53mm canister shot loaded with 17 grain flechettes.", "weight": "340 g", "volume": "137 ml", @@ -36,7 +36,7 @@ "id": "40x53mm_m430a1", "copy-from": "40x53mm_grenade", "type": "AMMO", - "name": "40x53mm M430A1", + "name": { "str": "40x53mm M430A1" }, "description": "A high velocity 40x53mm HEDP grenade. It can penetrate 3 inches of steel armor and fragmentation of the projectile body also makes it suitable for use against infantry.", "weight": "340 g", "volume": "132 ml", @@ -49,7 +49,7 @@ "id": "40x53mm_buckshot_m169", "copy-from": "40x53mm_grenade", "type": "AMMO", - "name": "40x53mm buckshot", + "name": { "str": "40x53mm buckshot" }, "description": "An improvised 40x53mm buckshot load somewhat resembling M576.", "weight": "340 g", "range": 10, @@ -63,7 +63,7 @@ "id": "40x53mm_slug_m169", "copy-from": "40x53mm_grenade", "type": "AMMO", - "name": "40x53mm slug", + "name": { "str": "40x53mm slug" }, "description": "An improvised 40x53mm load resembling an oversized shotgun slug.", "weight": "340 g", "range": 10, @@ -76,7 +76,7 @@ "id": "40x53mm_flechette_m169", "copy-from": "40x53mm_grenade", "type": "AMMO", - "name": "40x53mm flechette", + "name": { "str": "40x53mm flechette" }, "description": "An improvised 40x53mm flechette load containing 100 steel darts.", "weight": "340 g", "range": 10, diff --git a/data/json/items/ammo/46.json b/data/json/items/ammo/46.json index 8702f10352671..09ca22a61a78a 100644 --- a/data/json/items/ammo/46.json +++ b/data/json/items/ammo/46.json @@ -2,7 +2,7 @@ { "id": "46mm", "type": "AMMO", - "name": "4.6x30mm", + "name": { "str": "4.6x30mm" }, "description": "4.6x30mm ammunition with 31gr copper plated steel bullets. The 4.6x30mm round was developed by H&K to compete with FN Herstal's 5.7x28mm cartridge. It has low recoil and excellent armor penetration.", "weight": "5 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "bp_46mm", "copy-from": "46mm", "type": "AMMO", - "name": "4.6x30mm, black powder", + "name": { "str": "4.6x30mm, black powder" }, "description": "4.6x30mm ammunition with 31gr copper plated lead bullets. The 4.6x30mm round was developed by H&K to compete with FN Herstal's 5.7x28mm cartridge. It has low recoil, but no usual armor penetration due to using simple lead bullets rather than proper factory-made penetrator projectiles.", "proportional": { "price": 0.3, "damage": 0.46, "recoil": 0.46, "pierce": 0.1, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, @@ -36,7 +36,7 @@ "id": "reloaded_46mm", "copy-from": "46mm", "type": "AMMO", - "name": "4.6x30mm, reloaded", + "name": { "str": "4.6x30mm, reloaded" }, "description": "4.6x30mm ammunition with 31gr copper plated lead bullets. The 4.6x30mm round was developed by H&K to compete with FN Herstal's 5.7x28mm cartridge. It has low recoil, but no usual armor penetration due to using simple lead bullets rather than proper factory-made penetrator projectiles.", "proportional": { "price": 0.7, "damage": 0.9, "pierce": 0.2, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, diff --git a/data/json/items/ammo/545x39.json b/data/json/items/ammo/545x39.json index dbabb2d153bdc..bfa811df06163 100644 --- a/data/json/items/ammo/545x39.json +++ b/data/json/items/ammo/545x39.json @@ -2,7 +2,7 @@ { "id": "545", "type": "AMMO", - "name": "5.45x39mm 7N10", + "name": { "str": "5.45x39mm 7N10" }, "//": "Mainlined from Icecoon's Weapons Pack.", "description": "5.45x39mm 7N10 ammunition with 56gr FMJ bullets. The 5.45x39mm round was introduced along with the AK-74 in 1974. It has superior wounding potential to the older 7.62x39mm round and quickly replaced it in Soviet military use.", "weight": "10 g", @@ -27,7 +27,7 @@ "id": "545_ap", "copy-from": "545", "type": "AMMO", - "name": "5.45x39mm 7N22", + "name": { "str": "5.45x39mm 7N22" }, "description": "Armor piercing 5.45x39mm ammunition with 57gr bullets containing a steel penetrator. Developed in 1998 by the Russian military.", "price": 350, "price_postapoc": 6500, @@ -39,7 +39,7 @@ "id": "reloaded_545", "copy-from": "545", "type": "AMMO", - "name": "5.45x39mm, reloaded", + "name": { "str": "5.45x39mm, reloaded" }, "description": "The 5.45x39mm was the standard ammunition for the AK series from 1974. Its designers were inspired by the 5.56x45mm NATO cartridge. This one has been hand-reloaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, @@ -49,7 +49,7 @@ "id": "reloaded_545_ap", "copy-from": "545_ap", "type": "AMMO", - "name": "5.45x39mm AP, reloaded", + "name": { "str": "5.45x39mm AP, reloaded" }, "description": "Armor piercing 5.45x39mm ammunition with hand-reloaded bullets containing a steel penetrator. Developed in 1998 by the Russian military.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, From f51e53c9863526ab2ba0ab7e707183ed0acaafba Mon Sep 17 00:00:00 2001 From: dpwb Date: Tue, 25 Feb 2020 16:02:22 +0000 Subject: [PATCH 44/71] clear up item ownership for dead factions --- src/npc.cpp | 11 +++++++++++ src/pickup.cpp | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/src/npc.cpp b/src/npc.cpp index 8d267cea57006..8587421cdcc35 100644 --- a/src/npc.cpp +++ b/src/npc.cpp @@ -2372,6 +2372,17 @@ void npc::die( Creature *nkiller ) elem->remove_owner(); elem->remove_old_owner(); } + // broadcast a signal to any items this NPC may have dropped nearby to clear their ownership too + // this will also validate when the items are interacted with + // but may as well solve what we can now. + for( const tripoint tri_elem : g->m.points_in_radius( pos(), 60 ) ) { + for( item &elem : g->m.i_at( tri_elem ) ) { + if( !elem.get_owner().is_null() && !g->faction_manager_ptr->get( elem.get_owner(), false ) ) { + elem.remove_owner(); + elem.remove_old_owner(); + } + } + } } my_fac->remove_member( getID() ); } diff --git a/src/pickup.cpp b/src/pickup.cpp index c0abaf506cbf9..38958714a43a3 100644 --- a/src/pickup.cpp +++ b/src/pickup.cpp @@ -517,6 +517,11 @@ void Pickup::pick_up( const tripoint &p, int min, from_where get_items_from ) std::vector> stacked_here; for( item_stack::iterator it : here ) { bool found_stack = false; + // an NPC may have dropped an item, then later died, the faction is now invalid. + if( !it->get_owner().is_null() && !g->faction_manager_ptr->get( it->get_owner(), false ) ) { + it->remove_owner(); + it->remove_old_owner(); + } for( std::list &stack : stacked_here ) { if( stack.front()->display_stacked_with( *it ) ) { stack.push_back( it ); From d0398f7af4c10f59f37bacc6303afe0d2b84bdfd Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 17:12:16 +0100 Subject: [PATCH 45/71] bionic name to object --- data/json/bionics.json | 56 +++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/data/json/bionics.json b/data/json/bionics.json index be5a02dd5236d..ab7bf1762e1f2 100644 --- a/data/json/bionics.json +++ b/data/json/bionics.json @@ -32,7 +32,7 @@ { "id": "bio_ankles", "type": "bionic", - "name": "Squeaky Ankles", + "name": { "str": "Squeaky Ankles" }, "description": "In a cruel twist of fate, a poorly executed CBM surgery has given you a pair of useless bionics which make squeaking noises when you walk.", "occupied_bodyparts": [ [ "LEG_L", 3 ], [ "LEG_R", 3 ] ], "flags": [ "BIONIC_FAULTY" ] @@ -113,7 +113,7 @@ { "id": "bio_shotgun", "type": "bionic", - "name": "Shotgun Arm", + "name": { "str": "Shotgun Arm" }, "description": "Concealed in your left arm is a single shot 12 gauge shotgun. Activate the bionic to fire and reload the shotgun.", "occupied_bodyparts": [ [ "ARM_L", 15 ] ], "encumbrance": [ [ "ARM_L", 5 ] ], @@ -159,7 +159,7 @@ { "id": "bio_carbon", "type": "bionic", - "name": "Subdermal Carbon Filament", + "name": { "str": "Subdermal Carbon Filament" }, "description": "Lying just beneath your skin is a thin armor made of carbon nanotubes. This reduces bashing damage by 2 and cutting damage by 4.", "occupied_bodyparts": [ [ "TORSO", 5 ], @@ -285,7 +285,7 @@ { "id": "bio_dex_enhancer", "type": "bionic", - "name": "Wired Reflexes", + "name": { "str": "Wired Reflexes" }, "description": "Your reaction time has been greatly enhanced with bionic nerve stimulators, giving you a +2 bonus to dexterity.", "occupied_bodyparts": [ [ "TORSO", 6 ], [ "ARM_L", 4 ], [ "ARM_R", 4 ], [ "LEG_L", 8 ], [ "LEG_R", 8 ] ], "stat_bonus": [ [ "DEX", 2 ] ], @@ -326,7 +326,7 @@ { "id": "bio_earplugs", "type": "bionic", - "name": "Sound Dampeners", + "name": { "str": "Sound Dampeners" }, "description": "When this bionic is active, you can block hearing completely (with Enhanced Hearing deactivated) or dampen sound slightly (with Enhanced Hearing activated).", "included": true, "flags": [ "BIONIC_TOGGLED" ] @@ -393,7 +393,7 @@ { "id": "bio_eye_optic", "type": "bionic", - "name": "Telescopic Eyes", + "name": { "str": "Telescopic Eyes" }, "description": "Much of the material in your inner eye has been surgically removed and replaced with an array of high-powered, auto-focusing lenses. They function as integrated binoculars, letting you see much farther than before, and any vision problems you might have had are now gone.", "occupied_bodyparts": [ [ "EYES", 2 ] ], "canceled_mutations": [ @@ -503,7 +503,7 @@ { "id": "bio_gills", "type": "bionic", - "name": "Respirator", + "name": { "str": "Respirator" }, "description": "A complex respiration augmentation system. Improves respiration ability in air and allows breathing water. Will automatically turn on when drowning. Turn on to recharge stamina faster, at moderate power cost. Asthmatics may also use it to stop asthma attacks.", "occupied_bodyparts": [ [ "TORSO", 8 ], [ "HEAD", 2 ], [ "MOUTH", 2 ] ], "flags": [ "BIONIC_TOGGLED" ] @@ -511,7 +511,7 @@ { "id": "bio_ground_sonar", "type": "bionic", - "name": "Terranian Sonar", + "name": { "str": "Terranian Sonar" }, "description": "Your feet are equipped with precision sonar equipment, allowing you to detect the movements of creatures below the ground, buried traps, and unstable terrain.", "occupied_bodyparts": [ [ "FOOT_L", 3 ], [ "FOOT_R", 3 ] ], "flags": [ "BIONIC_TOGGLED" ], @@ -541,7 +541,7 @@ { "id": "bio_heatsink", "type": "bionic", - "name": "Thermal Dissipation", + "name": { "str": "Thermal Dissipation" }, "description": "Powerful heatsinks and supermaterials are surgically woven into your flesh. While powered, this system will prevent heat damage up to 2000 degrees Fahrenheit. Note that this does not affect your internal temperature.", "occupied_bodyparts": [ [ "TORSO", 10 ], @@ -686,7 +686,7 @@ { "id": "bio_meteorologist", "type": "bionic", - "name": "Weather Reader", + "name": { "str": "Weather Reader" }, "description": "A multitude of scientific instruments and sensors collect environmental data. The data is compiled and presented as a simple readout of the current weather. It also passively tells you the local air temperature.", "occupied_bodyparts": [ [ "TORSO", 1 ], [ "HEAD", 1 ] ], "act_cost": "10 J" @@ -755,7 +755,7 @@ { "id": "bio_painkiller", "type": "bionic", - "name": "Sensory Dulling", + "name": { "str": "Sensory Dulling" }, "description": "Your nervous system is wired to allow you to inhibit the signals of pain, allowing you to dull your senses at will. However, the use of this system may cause delayed reaction time and drowsiness.", "occupied_bodyparts": [ [ "HEAD", 2 ] ], "flags": [ "BIONIC_TOGGLED", "BIONIC_NPC_USABLE" ] @@ -883,7 +883,7 @@ { "id": "bio_resonator", "type": "bionic", - "name": "Sonic Resonator", + "name": { "str": "Sonic Resonator" }, "description": "Your entire body may resonate at very high power, creating a short-range shockwave. While it will not do much damage to creatures, solid objects such as walls and doors will be damaged.", "occupied_bodyparts": [ [ "TORSO", 15 ], [ "HEAD", 1 ], [ "ARM_L", 2 ], [ "ARM_R", 2 ], [ "LEG_L", 4 ], [ "LEG_R", 4 ] ], "act_cost": 100 @@ -902,7 +902,7 @@ { "id": "bio_scent_vision", "type": "bionic", - "name": "Scent Vision", + "name": { "str": "Scent Vision" }, "description": "While this system is powered, you're able to visually sense your own scent, making it possible for you to recognize your surroundings even in complete darkness.", "occupied_bodyparts": [ [ "HEAD", 3 ] ], "flags": [ "BIONIC_TOGGLED" ], @@ -921,7 +921,7 @@ { "id": "bio_synaptic_regen", "type": "bionic", - "name": "Synaptic Regeneration System", + "name": { "str": "Synaptic Regeneration System" }, "description": "An electromagnetic stimulator has been surgically implanted on the back of your head and along your spine, continually draining power. As long as it's active, you won't become sleep deprived; and if you're sleep deprived already, it will boost the rate of recovery while you sleep.", "flags": [ "BIONIC_TOGGLED" ], "occupied_bodyparts": [ [ "HEAD", 1 ], [ "TORSO", 1 ] ], @@ -940,7 +940,7 @@ { "id": "bio_shockwave", "type": "bionic", - "name": "Shockwave Generator", + "name": { "str": "Shockwave Generator" }, "description": "You generate a powerful shockwave, knocking back all nearby creatures. Targets are stunned briefly, take damage and additional stun upon impact with impassable terrain, and knockback any creatures they collide with.", "occupied_bodyparts": [ [ "TORSO", 20 ] ], "act_cost": 250 @@ -964,7 +964,7 @@ { "id": "bio_speed", "type": "bionic", - "name": "Synaptic Accelerator", + "name": { "str": "Synaptic Accelerator" }, "description": "Your nervous system has been enhanced with bionic stimulators, giving you a 10% boost to your speed.", "occupied_bodyparts": [ [ "TORSO", 12 ], @@ -982,7 +982,7 @@ { "id": "bio_stiff", "type": "bionic", - "name": "Wire-Induced Stiffness", + "name": { "str": "Wire-Induced Stiffness" }, "description": "Improperly installed wires cause a physical stiffness in most of your body, causing increased encumbrance.", "occupied_bodyparts": [ [ "TORSO", 2 ], [ "ARM_L", 1 ], [ "ARM_R", 1 ], [ "LEG_L", 1 ], [ "LEG_R", 1 ], [ "FOOT_L", 1 ], [ "FOOT_R", 1 ] ], "encumbrance": [ @@ -1026,7 +1026,7 @@ { "id": "bio_targeting", "type": "bionic", - "name": "Targeting System", + "name": { "str": "Targeting System" }, "description": "Your eyes are surgically equipped with range finders, and their movement is synced with that of your arms, to a degree. Shots you fire will be much more accurate, particularly at long range.", "occupied_bodyparts": [ [ "EYES", 1 ], [ "ARM_L", 3 ], [ "ARM_R", 3 ], [ "HAND_L", 1 ], [ "HAND_R", 1 ] ], "flags": [ "BIONIC_NPC_USABLE" ] @@ -1034,7 +1034,7 @@ { "id": "bio_teleport", "type": "bionic", - "name": "Teleportation Unit", + "name": { "str": "Teleportation Unit" }, "description": "This highly experimental unit folds space over short distances, instantly transporting your body up to 25 feet at the cost of much power. Note that prolonged or frequent use may have dangerous side effects.", "occupied_bodyparts": [ [ "TORSO", 16 ], [ "ARM_L", 3 ], [ "ARM_R", 3 ], [ "LEG_L", 4 ], [ "LEG_R", 4 ] ], "act_cost": 250 @@ -1042,7 +1042,7 @@ { "id": "bio_thumbs", "type": "bionic", - "name": "Self-Locking Thumbs", + "name": { "str": "Self-Locking Thumbs" }, "description": "Self-locking thumbs hold tight (even when you really don't want them to) and don't let go (even when you'd rather they did). Increases hand encumbrance by ten, while failing to improve your ability to hold objects whatsoever.", "occupied_bodyparts": [ [ "HAND_L", 1 ], [ "HAND_R", 1 ] ], "encumbrance": [ [ "HAND_L", 10 ], [ "HAND_R", 10 ] ], @@ -1051,7 +1051,7 @@ { "id": "bio_time_freeze", "type": "bionic", - "name": "Time Dilation", + "name": { "str": "Time Dilation" }, "description": "At the cost of all stored bionic power, you may increase your body speed and reactions dramatically, essentially freezing time. You are still delicate, however, and violent or rapid movements may damage you due to friction.", "occupied_bodyparts": [ [ "TORSO", 12 ], @@ -1108,7 +1108,7 @@ { "id": "bio_trip", "type": "bionic", - "name": "Visual Disruptor", + "name": { "str": "Visual Disruptor" }, "description": "A malfunctioning bionic which causes occasional visual distortion and pixelation.", "occupied_bodyparts": [ [ "EYES", 1 ] ], "flags": [ "BIONIC_FAULTY" ] @@ -1116,7 +1116,7 @@ { "id": "bio_uncanny_dodge", "type": "bionic", - "name": "Uncanny Dodge", + "name": { "str": "Uncanny Dodge" }, "description": "Your nervous system has been augmented with bionic processors, allowing you to dodge attacks beyond normal human capability, including bullets.", "occupied_bodyparts": [ [ "TORSO", 12 ], [ "ARM_L", 3 ], [ "ARM_R", 3 ], [ "LEG_L", 5 ], [ "LEG_R", 5 ], [ "FOOT_L", 1 ], [ "FOOT_R", 1 ] ], "flags": [ "BIONIC_TOGGLED" ], @@ -1135,7 +1135,7 @@ { "id": "bio_voice", "type": "bionic", - "name": "Voice Remodulator", + "name": { "str": "Voice Remodulator" }, "description": "You will likely spend the rest of your days serving as a walking testament to why you don't opt for the Autodoc's 'Cyborg Identity Package'. A remodulator unit jammed down your throat has given you a creepy robot voice.", "occupied_bodyparts": [ [ "TORSO", 2 ], [ "MOUTH", 1 ] ], "flags": [ "BIONIC_FAULTY" ] @@ -1150,7 +1150,7 @@ { "id": "bio_water_extractor", "type": "bionic", - "name": "Water Extraction Unit", + "name": { "str": "Water Extraction Unit" }, "description": "Nanotubes surgically embedded in the palm of your hand will pump any available fluid out of a dead body, cleanse it of impurities and convert it into drinkable water. You must, however, have a container to store the water in.", "occupied_bodyparts": [ [ "ARM_R", 1 ], [ "HAND_R", 2 ] ], "act_cost": "20 kJ" @@ -1179,7 +1179,7 @@ { "id": "bio_weight", "type": "bionic", - "name": "Titanium Skeletal Bracing", + "name": { "str": "Titanium Skeletal Bracing" }, "description": "Titanium bracing has been installed onto your elbows, knees, and spine, making them far better at handling strain. Your carrying capacity is increased by 20 kilograms, or about 44 pounds.", "occupied_bodyparts": [ [ "TORSO", 8 ], [ "ARM_L", 3 ], [ "ARM_R", 3 ], [ "LEG_L", 3 ], [ "LEG_R", 3 ] ], "weight_capacity_bonus": "20 kg", @@ -1196,7 +1196,7 @@ { "id": "bio_taste_blocker", "type": "bionic", - "name": "Taste Modifier", + "name": { "str": "Taste Modifier" }, "description": "A set of highly sensitive sensors is installed in your mouth, and a small yet sophisticated analyzer is installed in the cavity of your skull. The active bionic will nullify the taste of all comestibles with negative enjoyment value at the cost of draining bionic power.", "occupied_bodyparts": [ [ "HEAD", 1 ], [ "MOUTH", 1 ] ], "flags": [ "BIONIC_TOGGLED" ] @@ -1204,7 +1204,7 @@ { "id": "bio_soporific", "type": "bionic", - "name": "Soporific Induction", + "name": { "str": "Soporific Induction" }, "description": "An electrode has been implanted into your brain's ventrolateral preoptic nucleus. It turns on whenever you're trying to fall asleep, creating an artificial but effective sensation of fatigue.", "occupied_bodyparts": [ [ "HEAD", 1 ] ], "flags": [ "BIONIC_TOGGLED" ] From 3d7a03bbe04c2409a61c5cc01316af0838925355 Mon Sep 17 00:00:00 2001 From: John Bytheway Date: Tue, 25 Feb 2020 16:23:00 +0000 Subject: [PATCH 46/71] Fix a couple of rare test failures (#38327) * Ignore damage to battery_car in explosion_balance After seeing a test failure for this test, and looking into it, I think the damage is simply because the explosion got an unusually high amount of damage by chance. So I've added battery_car to the whitelist of things we'll ignore if they're damaged. * Fix test ordering dependency npc_talk_conditionals relied on a previous test setting player cash. Have it do so locally. --- tests/explosion_balance_test.cpp | 6 ++++-- tests/npc_talk_test.cpp | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/explosion_balance_test.cpp b/tests/explosion_balance_test.cpp index f54b5aa412666..fd51ad69351a1 100644 --- a/tests/explosion_balance_test.cpp +++ b/tests/explosion_balance_test.cpp @@ -122,9 +122,11 @@ static void check_vehicle_damage( const std::string &explosive_id, const std::st // We don't expect any destroyed parts. REQUIRE( before_hp.size() == after_hp.size() ); for( size_t i = 0; i < before_hp.size(); ++i ) { + CAPTURE( i ); INFO( target_vehicle->parts[ i ].name() ); - if( target_vehicle->parts[ i ].info().get_id() == "windshield" || - target_vehicle->parts[ i ].info().get_id() == "headlight" ) { + if( target_vehicle->parts[ i ].info().get_id() == "battery_car" || + target_vehicle->parts[ i ].info().get_id() == "headlight" || + target_vehicle->parts[ i ].info().get_id() == "windshield" ) { CHECK( before_hp[ i ] >= after_hp[ i ] ); } else if( !( target_vehicle->parts[ i ].info().get_id() == "vehicle_clock" ) ) { CHECK( before_hp[ i ] == after_hp[ i ] ); diff --git a/tests/npc_talk_test.cpp b/tests/npc_talk_test.cpp index fd8253705768f..7340e470fe0a2 100644 --- a/tests/npc_talk_test.cpp +++ b/tests/npc_talk_test.cpp @@ -532,6 +532,7 @@ TEST_CASE( "npc_talk_conditionals", "[npc_talk]" ) { dialogue d; prep_test( d ); + g->u.cash = 800; d.add_topic( "TALK_TEST_TRUE_FALSE_CONDITIONAL" ); gen_response_lines( d, 3 ); From 4f526ca195f8a3aac4412ec0ad48e211e39ecd99 Mon Sep 17 00:00:00 2001 From: dpwb Date: Tue, 25 Feb 2020 16:53:50 +0000 Subject: [PATCH 47/71] rework the concept - make owner mutable, confine validation to get_owner() --- src/item.cpp | 18 +++++++++++++++--- src/item.h | 9 +++++---- src/npc.cpp | 11 ----------- src/pickup.cpp | 5 ----- 4 files changed, 20 insertions(+), 23 deletions(-) diff --git a/src/item.cpp b/src/item.cpp index f16a4ce6a33d4..72fa7454ba08a 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -1048,7 +1048,7 @@ bool item::is_owned_by( const Character &c, bool available_to_take ) const bool item::is_old_owner( const Character &c, bool available_to_take ) const { - if( old_owner.is_null() ) { + if( get_old_owner().is_null() ) { return available_to_take; } if( !c.get_faction() ) { @@ -1060,11 +1060,11 @@ bool item::is_old_owner( const Character &c, bool available_to_take ) const std::string item::get_owner_name() const { - if( !g->faction_manager_ptr->get( owner ) ) { + if( !g->faction_manager_ptr->get( get_owner() ) ) { debugmsg( "item::get_owner_name() item %s has no valid nor null faction id ", tname() ); return "no owner"; } - return g->faction_manager_ptr->get( owner )->name; + return g->faction_manager_ptr->get( get_owner() )->name; } void item::set_owner( const Character &c ) @@ -1078,14 +1078,26 @@ void item::set_owner( const Character &c ) faction_id item::get_owner() const { + validate_ownership(); return owner; } faction_id item::get_old_owner() const { + validate_ownership(); return old_owner; } +void item::validate_ownership() const +{ + if( !old_owner.is_null() && !g->faction_manager_ptr->get( old_owner, false ) ) { + remove_old_owner(); + } + if( !owner.is_null() && !g->faction_manager_ptr->get( owner, false ) ) { + remove_owner(); + } +} + static void insert_separation_line( std::vector &info ) { if( info.empty() || info.back().sName != "--" ) { diff --git a/src/item.h b/src/item.h index 47eb4085e896f..21eb66e400b08 100644 --- a/src/item.h +++ b/src/item.h @@ -1963,17 +1963,18 @@ class item : public visitable void set_birthday( const time_point &bday ); void handle_pickup_ownership( Character &c ); int get_gun_ups_drain() const; + void validate_ownership() const; inline void set_old_owner( const faction_id &temp_owner ) { old_owner = temp_owner; } - inline void remove_old_owner() { + inline void remove_old_owner() const { old_owner = faction_id::NULL_ID(); } inline void set_owner( const faction_id &new_owner ) { owner = new_owner; } void set_owner( const Character &c ); - inline void remove_owner() { + inline void remove_owner() const { owner = faction_id::NULL_ID(); } faction_id get_owner() const; @@ -2183,9 +2184,9 @@ class item : public visitable */ phase_id current_phase = static_cast( 0 ); // The faction that owns this item. - faction_id owner = faction_id::NULL_ID(); + mutable faction_id owner = faction_id::NULL_ID(); // The faction that previously owned this item - faction_id old_owner = faction_id::NULL_ID(); + mutable faction_id old_owner = faction_id::NULL_ID(); int damage_ = 0; light_emission light = nolight; diff --git a/src/npc.cpp b/src/npc.cpp index 8587421cdcc35..8d267cea57006 100644 --- a/src/npc.cpp +++ b/src/npc.cpp @@ -2372,17 +2372,6 @@ void npc::die( Creature *nkiller ) elem->remove_owner(); elem->remove_old_owner(); } - // broadcast a signal to any items this NPC may have dropped nearby to clear their ownership too - // this will also validate when the items are interacted with - // but may as well solve what we can now. - for( const tripoint tri_elem : g->m.points_in_radius( pos(), 60 ) ) { - for( item &elem : g->m.i_at( tri_elem ) ) { - if( !elem.get_owner().is_null() && !g->faction_manager_ptr->get( elem.get_owner(), false ) ) { - elem.remove_owner(); - elem.remove_old_owner(); - } - } - } } my_fac->remove_member( getID() ); } diff --git a/src/pickup.cpp b/src/pickup.cpp index 38958714a43a3..c0abaf506cbf9 100644 --- a/src/pickup.cpp +++ b/src/pickup.cpp @@ -517,11 +517,6 @@ void Pickup::pick_up( const tripoint &p, int min, from_where get_items_from ) std::vector> stacked_here; for( item_stack::iterator it : here ) { bool found_stack = false; - // an NPC may have dropped an item, then later died, the faction is now invalid. - if( !it->get_owner().is_null() && !g->faction_manager_ptr->get( it->get_owner(), false ) ) { - it->remove_owner(); - it->remove_old_owner(); - } for( std::list &stack : stacked_here ) { if( stack.front()->display_stacked_with( *it ) ) { stack.push_back( it ); From e9c664202982c401828e5dc828db477b6bd0f9de Mon Sep 17 00:00:00 2001 From: dpwb Date: Tue, 25 Feb 2020 17:01:18 +0000 Subject: [PATCH 48/71] use get_owner() in is_owned_by() --- src/item.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/item.cpp b/src/item.cpp index 72fa7454ba08a..1b272c77a2e99 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -1036,7 +1036,7 @@ bool item::is_owned_by( const Character &c, bool available_to_take ) const // owner.is_null() implies faction_id( "no_faction" ) which shouldnt happen, or no owner at all. // either way, certain situations this means the thing is available to take. // in other scenarios we actaully really want to check for id == id, even for no_faction - if( owner.is_null() ) { + if( get_owner().is_null() ) { return available_to_take; } if( !c.get_faction() ) { From 983ed6c2a16307e4a60a9ba279e468f78f7460e1 Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Tue, 25 Feb 2020 17:06:45 +0000 Subject: [PATCH 49/71] Trim player include (#38324) * Remove player header include from output.h * Remove player.h include from map.h --- src/advanced_inv_listitem.h | 9 +-------- src/bodypart.cpp | 1 + src/character_martial_arts.cpp | 1 + src/clothing_mod.cpp | 1 + src/debug.cpp | 1 + src/help.cpp | 5 +++-- src/iexamine.cpp | 11 +++++++++++ src/map.cpp | 6 ++++++ src/map.h | 5 +---- src/output.h | 13 ++----------- 10 files changed, 28 insertions(+), 25 deletions(-) diff --git a/src/advanced_inv_listitem.h b/src/advanced_inv_listitem.h index 50da1e4e3982a..89e514fef3fa0 100644 --- a/src/advanced_inv_listitem.h +++ b/src/advanced_inv_listitem.h @@ -1,18 +1,11 @@ #pragma once #ifndef ADVANCED_INV_LISTITEM_H #define ADVANCED_INV_LISTITEM_H -#include "cursesdef.h" -#include "units.h" + #include "advanced_inv_area.h" -#include "color.h" -#include "player.h" -#include -#include #include #include -#include -#include // see item_factory.h class item_category; diff --git a/src/bodypart.cpp b/src/bodypart.cpp index d18b855d46f16..13364bc1d2498 100644 --- a/src/bodypart.cpp +++ b/src/bodypart.cpp @@ -10,6 +10,7 @@ #include "debug.h" #include "generic_factory.h" #include "json.h" +#include "pldata.h" side opposite_side( side s ) { diff --git a/src/character_martial_arts.cpp b/src/character_martial_arts.cpp index 755d946284928..7739f8005d2bc 100644 --- a/src/character_martial_arts.cpp +++ b/src/character_martial_arts.cpp @@ -1,6 +1,7 @@ #include "character_martial_arts.h" #include "action.h" +#include "character.h" #include "martialarts.h" #include "messages.h" #include "output.h" diff --git a/src/clothing_mod.cpp b/src/clothing_mod.cpp index 8438b557d4e63..6b0d761023ac7 100644 --- a/src/clothing_mod.cpp +++ b/src/clothing_mod.cpp @@ -1,5 +1,6 @@ #include "clothing_mod.h" +#include #include #include diff --git a/src/debug.cpp b/src/debug.cpp index 05dd52c74badb..aaeab8c1642b0 100644 --- a/src/debug.cpp +++ b/src/debug.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include #include diff --git a/src/help.cpp b/src/help.cpp index f00c4ae70e7d7..546eb61c2d790 100644 --- a/src/help.cpp +++ b/src/help.cpp @@ -1,11 +1,12 @@ #include "help.h" -#include #include -#include #include +#include #include #include +#include +#include #include "action.h" #include "catacharset.h" diff --git a/src/iexamine.cpp b/src/iexamine.cpp index 0bb3e725445f2..f6e376203ff0f 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -4349,6 +4349,17 @@ static player &best_installer( player &p, player &null_player, int difficulty ) return p; } +template +inline void popup_player_or_npc( player &p, const char *player_mes, const char *npc_mes, + Args &&... args ) +{ + if( p.is_player() ) { + popup( player_mes, std::forward( args )... ); + } else { + popup( p.replace_with_npc_name( string_format( npc_mes, std::forward( args )... ) ) ); + } +} + void iexamine::autodoc( player &p, const tripoint &examp ) { enum options { diff --git a/src/map.cpp b/src/map.cpp index 6c3bb1e039a5d..b44be3402d31f 100755 --- a/src/map.cpp +++ b/src/map.cpp @@ -5599,6 +5599,12 @@ void map::draw( const catacurses::window &w, const tripoint ¢er ) } } +void map::drawsq( const catacurses::window &w, player &u, const tripoint &p, + bool invert, bool show_items ) const +{ + drawsq( w, u, p, invert, show_items, u.pos() + u.view_offset, false, false, false ); +} + void map::drawsq( const catacurses::window &w, player &u, const tripoint &p, const bool invert_arg, const bool show_items_arg, const tripoint &view_center, const bool low_light, const bool bright_light, const bool inorder ) const diff --git a/src/map.h b/src/map.h index 782e442c66e6c..8b6a6a87c26c8 100644 --- a/src/map.h +++ b/src/map.h @@ -32,7 +32,6 @@ #include "point.h" #include "mapdata.h" #include "vehicle_group.h" -#include "player.h" struct furn_t; struct ter_t; @@ -336,9 +335,7 @@ class map bool low_light = false, bool bright_light = false, bool inorder = false ) const; void drawsq( const catacurses::window &w, player &u, const tripoint &p, - bool invert = false, bool show_items = true ) const { - drawsq( w, u, p, invert, show_items, u.pos() + u.view_offset, false, false, false ); - } + bool invert = false, bool show_items = true ) const; /** * Add currently loaded submaps (in @ref grid) to the @ref mapbuffer. diff --git a/src/output.h b/src/output.h index 81d36d6448c9c..bc4cfaa362271 100644 --- a/src/output.h +++ b/src/output.h @@ -14,7 +14,8 @@ #include "catacharset.h" #include "color.h" #include "enums.h" -#include "player.h" +#include "item.h" +#include "point.h" #include "string_formatter.h" #include "translations.h" #include "units.h" @@ -455,16 +456,6 @@ inline void full_screen_popup( const char *mes, Args &&... args ) { popup( string_format( mes, std::forward( args )... ), PF_FULLSCREEN ); } -template -inline void popup_player_or_npc( player &p, const char *player_mes, const char *npc_mes, - Args &&... args ) -{ - if( p.is_player() ) { - popup( player_mes, std::forward( args )... ); - } else { - popup( p.replace_with_npc_name( string_format( npc_mes, std::forward( args )... ) ) ); - } -} /*@}*/ std::string format_item_info( const std::vector &vItemDisplay, From beead20e49aa549256e38789439ddfdb8189e83f Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 19:23:50 +0100 Subject: [PATCH 50/71] Ammo name to object --- data/json/items/ammo.json | 2 +- data/json/items/ammo/223.json | 12 ++++++------ data/json/items/ammo/308.json | 12 ++++++------ data/json/items/ammo/57.json | 6 +++--- data/json/items/ammo/5x50.json | 2 +- data/json/items/ammo/762.json | 8 ++++---- data/json/items/ammo/762R.json | 4 ++-- data/json/items/ammo/762x25.json | 10 +++++----- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/data/json/items/ammo.json b/data/json/items/ammo.json index cc8207bee1041..8c52873f6c28f 100644 --- a/data/json/items/ammo.json +++ b/data/json/items/ammo.json @@ -417,7 +417,7 @@ "type": "AMMO", "id": "66mm_HEAT", "price": 0, - "name": "66mm HEAT", + "name": { "str": "66mm HEAT" }, "symbol": "=", "color": "dark_gray", "description": "A 60mm high-explosive anti-tank round. It could blow through up to two feet of concrete.", diff --git a/data/json/items/ammo/223.json b/data/json/items/ammo/223.json index 44e27d37050eb..69fc2a2cd25e9 100644 --- a/data/json/items/ammo/223.json +++ b/data/json/items/ammo/223.json @@ -26,7 +26,7 @@ "id": "556", "copy-from": "223", "type": "AMMO", - "name": "5.56 NATO M855A1", + "name": { "str": "5.56 NATO M855A1" }, "description": "5.56x45mm ammunition with a 62gr FMJ bullet containing a steel penetrator. Its light weight, high accuracy, and manageable recoil lead to widespread use in the 20th century and it remains popular among militaries and civilians.", "price": 290, "price_postapoc": 8225, @@ -38,7 +38,7 @@ "id": "556_incendiary", "copy-from": "556", "type": "AMMO", - "name": "5.56 NATO tracer", + "name": { "str": "5.56 NATO tracer" }, "description": "This ammunition is a one-in-five mix of M855A1 and M856 tracer rounds to help keep the weapon they are fired from on target.", "extend": { "effects": [ "INCENDIARY" ] } }, @@ -55,7 +55,7 @@ "id": "bp_556", "copy-from": "556", "type": "AMMO", - "name": "5.56 NATO, black powder", + "name": { "str": "5.56 NATO, black powder" }, "proportional": { "price": 0.3, "damage": 0.57, "recoil": 0.57, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -64,7 +64,7 @@ "id": "bp_556_incendiary", "copy-from": "556_incendiary", "type": "AMMO", - "name": "5.56 NATO tracer, black powder", + "name": { "str": "5.56 NATO tracer, black powder" }, "proportional": { "price": 0.3, "damage": 0.57, "recoil": 0.57, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -82,7 +82,7 @@ "id": "reloaded_556", "copy-from": "556", "type": "AMMO", - "name": "5.56 NATO, reloaded", + "name": { "str": "5.56 NATO, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -91,7 +91,7 @@ "id": "reloaded_556_incendiary", "copy-from": "556_incendiary", "type": "AMMO", - "name": "5.56 NATO tracer, reloaded", + "name": { "str": "5.56 NATO tracer, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/308.json b/data/json/items/ammo/308.json index 9347edbefe3bb..f67b5b7f4cc7a 100644 --- a/data/json/items/ammo/308.json +++ b/data/json/items/ammo/308.json @@ -26,7 +26,7 @@ "id": "762_51", "copy-from": "308", "type": "AMMO", - "name": "7.62x51mm M80", + "name": { "str": "7.62x51mm M80" }, "casing": "762_51_casing", "description": "A 7.62x51mm NATO round with a 147gr FMJ bullet. It is a powerful rifle cartridge commonly used by hunters and military snipers because of its high accuracy and long range.", "relative": { "damage": -2, "pierce": 4, "dispersion": -10 }, @@ -37,7 +37,7 @@ "id": "762_51_incendiary", "copy-from": "762_51", "type": "AMMO", - "name": "7.62x51mm NATO tracer", + "name": { "str": "7.62x51mm NATO tracer" }, "description": "This ammunition is a one-in-five mix of M80 and M62 tracer rounds to help keep the weapon they are fired from on target.", "extend": { "effects": [ "INCENDIARY" ] } }, @@ -54,7 +54,7 @@ "id": "bp_762_51", "copy-from": "762_51", "type": "AMMO", - "name": "7.62x51mm, black powder", + "name": { "str": "7.62x51mm, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -63,7 +63,7 @@ "id": "bp_762_51_incendiary", "copy-from": "762_51_incendiary", "type": "AMMO", - "name": "7.62x51mm tracer, black powder", + "name": { "str": "7.62x51mm tracer, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -81,7 +81,7 @@ "id": "reloaded_762_51", "copy-from": "762_51", "type": "AMMO", - "name": "7.62x51mm, reloaded", + "name": { "str": "7.62x51mm, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -90,7 +90,7 @@ "id": "reloaded_762_51_incendiary", "copy-from": "762_51_incendiary", "type": "AMMO", - "name": "7.62x51mm incendiary, reloaded", + "name": { "str": "7.62x51mm incendiary, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/57.json b/data/json/items/ammo/57.json index fd469385fc1b3..73f895dea452c 100644 --- a/data/json/items/ammo/57.json +++ b/data/json/items/ammo/57.json @@ -2,7 +2,7 @@ { "id": "57mm", "type": "AMMO", - "name": "5.7x28mm SS190", + "name": { "str": "5.7x28mm SS190" }, "description": "5.7x28mm ammunition with 31gr AP FMJ bullets. The 5.7x28mm cartridge was designed by FN Herstal to replace the 9x19mm round in NATO use. Although the project to replace 9x19mm Parabellum was effectively canceled the 5.7x28mm round has seen action in many conflicts and has proven to be reliable. It has very low recoil and its armor penetration is a defining feature.", "weight": "6 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "bp_57mm", "copy-from": "57mm", "type": "AMMO", - "name": "5.7x28mm, black powder", + "name": { "str": "5.7x28mm, black powder" }, "description": "5.7x28mm ammunition with 31gr AP FMJ bullets. The 5.7x28mm cartridge was designed by FN Herstal to replace the 9x19mm round in NATO use. Although the project to replace 9x19mm Parabellum was effectively canceled the 5.7x28mm round has seen action in many conflicts and has proven to be reliable. It has very low recoil but no usual armor penetration due to using simple lead bullets rather than proper factory-made penetrator projectiles.", "proportional": { "price": 0.3, "damage": 0.56, "recoil": 0.56, "pierce": 0.1, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, @@ -36,7 +36,7 @@ "id": "reloaded_57mm", "copy-from": "57mm", "type": "AMMO", - "name": "5.7x28mm, reloaded", + "name": { "str": "5.7x28mm, reloaded" }, "description": "5.7x28mm ammunition with 31gr AP FMJ bullets. The 5.7x28mm cartridge was designed by FN Herstal to replace the 9x19mm round in NATO use. Although the project to replace 9x19mm Parabellum was effectively canceled the 5.7x28mm round has seen action in many conflicts and has proven to be reliable. It has very low recoil but no usual armor penetration due to using simple lead bullets rather than proper factory-made penetrator projectiles.", "proportional": { "price": 0.7, "damage": 0.9, "pierce": 0.2, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, diff --git a/data/json/items/ammo/5x50.json b/data/json/items/ammo/5x50.json index ed8b32d0e1890..38085d1879759 100644 --- a/data/json/items/ammo/5x50.json +++ b/data/json/items/ammo/5x50.json @@ -38,7 +38,7 @@ "id": "reloaded_5x50dart", "copy-from": "5x50dart", "type": "AMMO", - "name": "5x50mm flechette, reloaded", + "name": { "str": "5x50mm flechette, reloaded" }, "description": "Designed to defeat modern body armor, the Rivtech 5x50mm flechette round features a biodegradable sabot and a single, fin-stabilized penetrator. This one has been hand-reloaded.", "effects": [ "COOKOFF", "RECYCLED" ], "relative": { "range": -15, "dispersion": 40 }, diff --git a/data/json/items/ammo/762.json b/data/json/items/ammo/762.json index cdd2eba7a9708..79f7668fca952 100644 --- a/data/json/items/ammo/762.json +++ b/data/json/items/ammo/762.json @@ -2,7 +2,7 @@ { "id": "762_m43", "type": "AMMO", - "name": "7.62x39mm 57-N-231", + "name": { "str": "7.62x39mm 57-N-231" }, "description": "7.62x39mm 57-N-231 ammunition with 121.9gr steel core FMJ bullets. Developed in WW2 by the Soviet Union the 7.62x39mm round rapidly became extremely popular all over the world. The bullet has poor wounding potential due to its stability, only beginning to yaw after 26cm.", "weight": "16 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "762_m87", "copy-from": "762_m43", "type": "AMMO", - "name": "7.62x39mm M67", + "name": { "str": "7.62x39mm M67" }, "//": "Entirely provisional. Could someone design a better wound ballistics system?", "description": "7.62x39mm M67 rounds with 123gr bullets. The inadequate terminal ballistics of the M43 round led to the development of the M67 round in Yugoslavia in the 1960s. It destabilizes much faster than M43 after hitting a target leading to greater damage.", "price": 150, @@ -37,7 +37,7 @@ "id": "reloaded_762_m43", "copy-from": "762_m43", "type": "AMMO", - "name": "7.62x39mm M43, reloaded", + "name": { "str": "7.62x39mm M43, reloaded" }, "description": "7.62x39mm ammunition with 121.9gr bullets. Developed in WW2 by the Soviet Union the 7.62x39mm round rapidly became extremely popular all over the world. The bullet has poor wounding potential due to its stability, only beginning to yaw after 26cm.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, @@ -47,7 +47,7 @@ "id": "reloaded_762_m87", "copy-from": "762_m87", "type": "AMMO", - "name": "7.62x39mm M67, reloaded", + "name": { "str": "7.62x39mm M67, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/762R.json b/data/json/items/ammo/762R.json index d3021c94b22f5..4cf4406ca66bd 100644 --- a/data/json/items/ammo/762R.json +++ b/data/json/items/ammo/762R.json @@ -2,7 +2,7 @@ { "id": "762_54R", "type": "AMMO", - "name": "7.62x54mmR", + "name": { "str": "7.62x54mmR" }, "description": "7.62x54mmR ammunition with 150gr FMJ bullets. The 7.62x54mmR round is one of the oldest still in common use, primarily due to the popularity of the Mosin-Nagant rifle. Although it has not been used by militaries for several decades it remains popular with civilians. It is a powerful cartridge capable of killing most targets with one shot.", "weight": "18 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "reloaded_762_54R", "copy-from": "762_54R", "type": "AMMO", - "name": "7.62x54mmR, reloaded", + "name": { "str": "7.62x54mmR, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/762x25.json b/data/json/items/ammo/762x25.json index f0e68f9a44e9d..348d8b0b3fe00 100644 --- a/data/json/items/ammo/762x25.json +++ b/data/json/items/ammo/762x25.json @@ -2,7 +2,7 @@ { "id": "762_25", "type": "AMMO", - "name": "7.62x25mm JHP", + "name": { "str": "7.62x25mm JHP" }, "description": "A commercial version of the 7.62x25mm cartridge created for the armed forces of Soviet Russia. It was derived from the 7.63x25mm cartridge used by the C96 pistol.", "weight": "10 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "762_25hot", "copy-from": "762_25", "type": "AMMO", - "name": "7.62x25mm FMJ hot load", + "name": { "str": "7.62x25mm FMJ hot load" }, "description": "A high-pressure commercial version of the 7.62x25mm cartridge, loaded with an 85 gr. FMJ bullet. It is more powerful than the original.", "relative": { "price": 500, "range": 2, "damage": 4, "pierce": 3 }, "proportional": { "recoil": 1.4 } @@ -35,7 +35,7 @@ "id": "762_25typeP", "copy-from": "762_25", "type": "AMMO", - "name": "7.62x25mm Type P", + "name": { "str": "7.62x25mm Type P" }, "//": "Stopgap price of $1 per. Anti-China prejudice in the pre-Cataclysm US may have made this ammo tougher to come by.", "description": "A subsonic cartridge derived from the 7.62x25mm, designed for silenced firearms. It offers good armor penetration at the cost of slightly less damage.", "weight": "12 g", @@ -46,7 +46,7 @@ "id": "bp_762_25", "copy-from": "762_25hot", "type": "AMMO", - "name": "7.62x25mm FMJ, black powder", + "name": { "str": "7.62x25mm FMJ, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -55,7 +55,7 @@ "id": "reloaded_762_25", "copy-from": "762_25hot", "type": "AMMO", - "name": "7.62x25mm, reloaded", + "name": { "str": "7.62x25mm, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "pierce": 0.9, "dispersion": 1.1 } } ] From f52fab18216919ae5e3c74ebd5bf157755bb1f06 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 19:25:20 +0100 Subject: [PATCH 51/71] Magazine name to object (#38336) --- data/json/items/magazine/20x60mm.json | 6 +++--- data/json/items/magazine/22.json | 8 ++++---- data/json/items/magazine/223.json | 8 ++++---- data/json/items/magazine/380.json | 2 +- data/json/items/magazine/5x50.json | 4 ++-- data/json/items/magazine/8x40mm.json | 14 +++++++------- data/json/items/magazine/liquid.json | 4 ++-- 7 files changed, 23 insertions(+), 23 deletions(-) diff --git a/data/json/items/magazine/20x60mm.json b/data/json/items/magazine/20x60mm.json index bc9c4659e99de..561e2ca79ff24 100644 --- a/data/json/items/magazine/20x60mm.json +++ b/data/json/items/magazine/20x60mm.json @@ -3,7 +3,7 @@ "id": "20x66_10_mag", "looks_like": "shotbelt_20", "type": "MAGAZINE", - "name": "RMSA10 20x66mm compact magazine", + "name": { "str": "RMSA10 20x66mm compact magazine" }, "description": "A 10 round box magazine for use with the RM228 PDW and RM121 auxiliary shotgun.", "weight": "210 g", "volume": "250 ml", @@ -21,7 +21,7 @@ "id": "20x66_20_mag", "looks_like": "shotbelt_20", "type": "MAGAZINE", - "name": "RMSB20 20x66mm magazine", + "name": { "str": "RMSB20 20x66mm magazine" }, "description": "A 20 round box magazine for use with the RM20 caseless shotgun.", "weight": "280 g", "volume": "500 ml", @@ -39,7 +39,7 @@ "id": "20x66_40_mag", "looks_like": "shotbelt_20", "type": "MAGAZINE", - "name": "RMSB40 20x66mm extended magazine", + "name": { "str": "RMSB40 20x66mm extended magazine" }, "description": "A 40 round box magazine for use with the RM20 caseless shotgun.", "weight": "280 g", "volume": "750 ml", diff --git a/data/json/items/magazine/22.json b/data/json/items/magazine/22.json index 8ac5def0d61ad..cf039e208d42f 100644 --- a/data/json/items/magazine/22.json +++ b/data/json/items/magazine/22.json @@ -19,7 +19,7 @@ "id": "360_200_mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "RMRB200 .22 magazine", + "name": { "str": "RMRB200 .22 magazine" }, "description": "A 200 round box magazine for use with the RM360 rotary carbine.", "weight": "360 g", "volume": "500 ml", @@ -37,7 +37,7 @@ "id": "360_400_mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "RMRD400 .22 drum magazine", + "name": { "str": "RMRD400 .22 drum magazine" }, "description": "A 400 round drum magazine for use with the RM360 rotary carbine.", "weight": "440 g", "volume": "750 ml", @@ -106,7 +106,7 @@ "id": "ruger1022bigmag", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "Ruger BX-25 magazine", + "name": { "str": "Ruger BX-25 magazine" }, "description": "Extended 25-round stick magazine for the Ruger 10/22.", "weight": "180 g", "volume": "500 ml", @@ -123,7 +123,7 @@ "id": "ruger1022mag", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "Ruger 10/22 rotary magazine", + "name": { "str": "Ruger 10/22 rotary magazine" }, "description": "Removable 10-round rotary magazine for the Ruger 10/22 which allows the magazine to fit flush with the bottom of the stock.", "weight": "80 g", "volume": "250 ml", diff --git a/data/json/items/magazine/223.json b/data/json/items/magazine/223.json index 1efb5b5bf0e49..822426412def3 100644 --- a/data/json/items/magazine/223.json +++ b/data/json/items/magazine/223.json @@ -67,7 +67,7 @@ "id": "ruger5", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "Ruger .223 5-round magazine", + "name": { "str": "Ruger .223 5-round magazine" }, "description": "A compact 5-round magazine used with the Ruger Mini-14 rifle.", "weight": "60 g", "volume": "250 ml", @@ -85,7 +85,7 @@ "looks_like": "stanag30", "id": "stanag10", "type": "MAGAZINE", - "name": "Ruger .223 10-round magazine", + "name": { "str": "Ruger .223 10-round magazine" }, "description": "A compact 10-round magazine used with the Ruger Mini-14 rifle.", "weight": "100 g", "volume": "250 ml", @@ -102,7 +102,7 @@ "id": "ruger30", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "Ruger .223 high-capacity magazine", + "name": { "str": "Ruger .223 high-capacity magazine" }, "description": "A high capacity magazine for use with the Ruger Mini-14 rifle.", "weight": "360 g", "volume": "500 ml", @@ -174,7 +174,7 @@ "id": "ruger_makeshiftmag", "copy-from": "survivor223mag", "type": "MAGAZINE", - "name": "Ruger makeshift magazine", + "name": { "str": "Ruger makeshift magazine" }, "description": "An improvised 5-round straight single-stack box magazine consisting of little more than a bent sheet of steel held together by duct tape and hope, for use with the Ruger Mini-14 rifle." } ] diff --git a/data/json/items/magazine/380.json b/data/json/items/magazine/380.json index 9f19d12f5fa78..04a933f310640 100644 --- a/data/json/items/magazine/380.json +++ b/data/json/items/magazine/380.json @@ -37,7 +37,7 @@ "id": "rugerlcpmag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "Ruger LCP magazine", + "name": { "str": "Ruger LCP magazine" }, "description": "A standard 6-round capacity magazine for the Ruger LCP pistol.", "weight": "65 g", "volume": "60ml", diff --git a/data/json/items/magazine/5x50.json b/data/json/items/magazine/5x50.json index eb2a7993c9720..be5213cdcf7c4 100644 --- a/data/json/items/magazine/5x50.json +++ b/data/json/items/magazine/5x50.json @@ -3,7 +3,7 @@ "id": "5x50_100_mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "RMFB100 5x50mm extended magazine", + "name": { "str": "RMFB100 5x50mm extended magazine" }, "description": "A 100 round box magazine for use with 5x50mm flechette firearms.", "weight": "360 g", "volume": "630ml", @@ -21,7 +21,7 @@ "id": "5x50_50_mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "RMFB50 5x50mm magazine", + "name": { "str": "RMFB50 5x50mm magazine" }, "description": "A 50 round box magazine for use with 5x50mm flechette firearms.", "weight": "240 g", "volume": "315ml", diff --git a/data/json/items/magazine/8x40mm.json b/data/json/items/magazine/8x40mm.json index faac24e1571d3..384d2534fcd23 100644 --- a/data/json/items/magazine/8x40mm.json +++ b/data/json/items/magazine/8x40mm.json @@ -3,7 +3,7 @@ "id": "8x40_100_mag", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "RMGB100 8x40mm magazine", + "name": { "str": "RMGB100 8x40mm magazine" }, "description": "A 100 round box magazine for use with Rivtech 8x40mm caseless firearms.", "weight": "150 g", "volume": "750 ml", @@ -21,7 +21,7 @@ "id": "8x40_10_mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "RMGP10 8x40mm stick magazine", + "name": { "str": "RMGP10 8x40mm stick magazine" }, "description": "A 10 round stick magazine for use with Rivtech 8x40mm caseless firearms.", "weight": "60 g", "volume": "250 ml", @@ -39,7 +39,7 @@ "id": "8x40_250_mag", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "RMGD250 8x40mm drum magazine", + "name": { "str": "RMGD250 8x40mm drum magazine" }, "description": "A 250 round drum magazine for use with Rivtech 8x40mm caseless firearms.", "weight": "340 g", "volume": "2 L", @@ -56,7 +56,7 @@ "id": "8x40_25_mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "RMGP25 8x40mm stick magazine", + "name": { "str": "RMGP25 8x40mm stick magazine" }, "description": "A 25 round stick magazine for use with Rivtech 8x40mm caseless firearms.", "weight": "90 g", "volume": "500 ml", @@ -74,7 +74,7 @@ "id": "8x40_500_mag", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "RMGB500 8x40mm drum magazine", + "name": { "str": "RMGB500 8x40mm drum magazine" }, "description": "A 500 round drum magazine for use with Rivtech 8x40mm caseless firearms.", "weight": "1400 g", "volume": "4 L", @@ -90,7 +90,7 @@ "id": "8x40_50_mag", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "RMGB50 8x40mm magazine", + "name": { "str": "RMGB50 8x40mm magazine" }, "description": "A 50 round box magazine for use with Rivtech 8x40mm caseless firearms.", "weight": "110 g", "volume": "500 ml", @@ -108,7 +108,7 @@ "id": "8x40_speedloader5", "looks_like": "38_speedloader", "type": "MAGAZINE", - "name": "RMGS5 8x40mm speedloader", + "name": { "str": "RMGS5 8x40mm speedloader" }, "description": "This speedloader, made by Rivtech for use with RM99 revolver, can hold 5 rounds of 8x40mm caseless rounds and quickly reload a compatible revolver.", "weight": "92 g", "volume": "250 ml", diff --git a/data/json/items/magazine/liquid.json b/data/json/items/magazine/liquid.json index 62773f9bfb5ec..d1d359a3f2cdf 100644 --- a/data/json/items/magazine/liquid.json +++ b/data/json/items/magazine/liquid.json @@ -38,7 +38,7 @@ "id": "rm4502", "looks_like": "pressurized_tank", "type": "MAGAZINE", - "name": "RM450-2 fuel canister", + "name": { "str": "RM450-2 fuel canister" }, "description": "A 2L pressurized steel canister with a valve designed for the RM451's feed system.", "weight": "400 g", "volume": "2 L", @@ -55,7 +55,7 @@ "id": "rm4504", "looks_like": "pressurized_tank", "type": "MAGAZINE", - "name": "RM450-4 fuel canister", + "name": { "str": "RM450-4 fuel canister" }, "description": "A 4L pressurized steel canister with a valve designed for the RM451's feed system.", "weight": "800 g", "volume": "4 L", From 1fde1d1adb9f96931e91e90ef1d0d4f62add1d0c Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 19:36:02 +0100 Subject: [PATCH 52/71] Magazine name to object --- data/json/items/magazine/22.json | 4 ++-- data/json/items/magazine/223.json | 6 +++--- data/json/items/magazine/32.json | 4 ++-- data/json/items/magazine/380.json | 2 +- data/json/items/magazine/40.json | 2 +- data/json/items/magazine/410shot.json | 4 ++-- data/json/items/magazine/45.json | 10 +++++----- data/json/items/magazine/50.json | 2 +- data/json/items/magazine/762x25.json | 2 +- data/json/items/magazine/9mm.json | 4 ++-- data/json/items/magazine/9x18.json | 2 +- data/json/items/magazine/shot.json | 4 ++-- 12 files changed, 23 insertions(+), 23 deletions(-) diff --git a/data/json/items/magazine/22.json b/data/json/items/magazine/22.json index cf039e208d42f..dedfa91078fba 100644 --- a/data/json/items/magazine/22.json +++ b/data/json/items/magazine/22.json @@ -89,7 +89,7 @@ "id": "mosquitomag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "SIG Mosquito magazine", + "name": { "str": "SIG Mosquito magazine" }, "description": "A factory specification 10-round magazine for the SIG Mosquito.", "weight": "60 g", "volume": "250 ml", @@ -141,7 +141,7 @@ "id": "sw22mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "S&W 22A magazine", + "name": { "str": "S&W 22A magazine" }, "description": "A standard capacity magazine for the popular S&W 22A pistol.", "weight": "70 g", "volume": "250 ml", diff --git a/data/json/items/magazine/223.json b/data/json/items/magazine/223.json index 822426412def3..47d69c343d536 100644 --- a/data/json/items/magazine/223.json +++ b/data/json/items/magazine/223.json @@ -118,7 +118,7 @@ { "id": "stanag30", "type": "MAGAZINE", - "name": "STANAG magazine", + "name": { "str": "STANAG magazine" }, "//": "Tileset whitelist for rifle magazines", "description": "A standard capacity magazine for use with STANAG compatible rifles.", "weight": "360 g", @@ -136,7 +136,7 @@ "id": "stanag50", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "STANAG drum magazine", + "name": { "str": "STANAG drum magazine" }, "description": "A 50-round magazine with a bulky green drum for use with STANAG compatible rifles.", "weight": "600 g", "volume": "1 L", @@ -156,7 +156,7 @@ "id": "survivor223mag", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "STANAG makeshift magazine", + "name": { "str": "STANAG makeshift magazine" }, "description": "An improvised 5-round straight single-stack box magazine consisting of little more than a bent sheet of steel held together by duct tape and hope, for use with STANAG compatible rifles.", "weight": "80 g", "volume": "250 ml", diff --git a/data/json/items/magazine/32.json b/data/json/items/magazine/32.json index 2ce8a1bdee5f8..ad96587037d8b 100644 --- a/data/json/items/magazine/32.json +++ b/data/json/items/magazine/32.json @@ -20,7 +20,7 @@ "id": "sigp230mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "SIG P230 magazine", + "name": { "str": "SIG P230 magazine" }, "description": "A factory specification 8-round magazine for the SIG Sauer P230.", "weight": "70 g", "volume": "250 ml", @@ -37,7 +37,7 @@ "id": "skorpion61mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "Skorpion Vz. 61 magazine", + "name": { "str": "Skorpion Vz. 61 magazine" }, "description": "A standard 20-round magazine for the Skorpion Vz. 61, in .32 ACP.", "weight": "120 g", "volume": "250 ml", diff --git a/data/json/items/magazine/380.json b/data/json/items/magazine/380.json index 04a933f310640..68db156af8e90 100644 --- a/data/json/items/magazine/380.json +++ b/data/json/items/magazine/380.json @@ -105,7 +105,7 @@ "id": "taurus_spectrum_mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "Taurus Spectrum magazine", + "name": { "str": "Taurus Spectrum magazine" }, "description": "A compact, 6-round steel box magazine for use with the Taurus Spectrum.", "weight": "65 g", "volume": "74 ml", diff --git a/data/json/items/magazine/40.json b/data/json/items/magazine/40.json index 117fbfc13fca7..958dd41090b2e 100644 --- a/data/json/items/magazine/40.json +++ b/data/json/items/magazine/40.json @@ -54,7 +54,7 @@ "id": "sig40mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "SIG Pro .40 magazine", + "name": { "str": "SIG Pro .40 magazine" }, "description": "A compact and reliable magazine for use with the SIG Pro .40 pistol.", "weight": "90 g", "volume": "250 ml", diff --git a/data/json/items/magazine/410shot.json b/data/json/items/magazine/410shot.json index 3344b5912cff1..59e6ce1228c9e 100644 --- a/data/json/items/magazine/410shot.json +++ b/data/json/items/magazine/410shot.json @@ -3,7 +3,7 @@ "id": "saiga410mag_10rd", "looks_like": "shotbelt_20", "type": "MAGAZINE", - "name": "Saiga-410 box magazine", + "name": { "str": "Saiga-410 box magazine" }, "description": "A removable plastic box magazine for the Saiga-410 shotgun. Holds 10 shells.", "weight": "210 g", "volume": "500 ml", @@ -20,7 +20,7 @@ "id": "saiga410mag_30rd", "looks_like": "shotbelt_20", "type": "MAGAZINE", - "name": "Saiga-410 drum magazine", + "name": { "str": "Saiga-410 drum magazine" }, "description": "A removable plastic drum magazine for the Saiga-410 shotgun. Holds 30 shells.", "weight": "460 g", "volume": "1 L", diff --git a/data/json/items/magazine/45.json b/data/json/items/magazine/45.json index 6daef3daa1204..c9574693ec8e6 100644 --- a/data/json/items/magazine/45.json +++ b/data/json/items/magazine/45.json @@ -72,7 +72,7 @@ "id": "tdi_mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "TDI Vector magazine", + "name": { "str": "TDI Vector magazine" }, "description": "A 30-round steel box magazine for use with the TDI Vector", "weight": "210 g", "volume": "500 ml", @@ -89,7 +89,7 @@ "id": "thompson_bigmag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "Thompson extended magazine", + "name": { "str": "Thompson extended magazine" }, "description": "An extended 30-round magazine for the Thompson submachine gun.", "weight": "255 g", "volume": "750 ml", @@ -107,7 +107,7 @@ "id": "thompson_drum", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "Thompson drum magazine", + "name": { "str": "Thompson drum magazine" }, "description": "A 50-round drum magazine for the Thompson submachine gun. Made famous by gangsters, but the military preferred standard 20 and 30-round magazines due to greater reliability.", "weight": "500 g", "volume": "1 L", @@ -125,7 +125,7 @@ "id": "thompson_mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "Thompson magazine", + "name": { "str": "Thompson magazine" }, "description": "A standard 20-round magazine for the Thompson submachine gun.", "weight": "170 g", "volume": "500 ml", @@ -142,7 +142,7 @@ "id": "thompson_makeshiftmag", "copy-from": "smg_45_mag", "type": "MAGAZINE", - "name": "Thompson makeshift magazine", + "name": { "str": "Thompson makeshift magazine" }, "description": "An improvised 20-round straight single-stack box magazine consisting of little more than a bent sheet of steel held together by duct tape and hope, for use with the Thompson SMG." }, { diff --git a/data/json/items/magazine/50.json b/data/json/items/magazine/50.json index f646112f1baea..8ad819d021db6 100644 --- a/data/json/items/magazine/50.json +++ b/data/json/items/magazine/50.json @@ -51,7 +51,7 @@ "id": "tac50mag", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "TAC-50 magazine", + "name": { "str": "TAC-50 magazine" }, "description": "5-round box magazine for McMillan TAC-50.", "weight": "730 g", "volume": "500 ml", diff --git a/data/json/items/magazine/762x25.json b/data/json/items/magazine/762x25.json index b1c9419dee30f..5d6ed14162e0a 100644 --- a/data/json/items/magazine/762x25.json +++ b/data/json/items/magazine/762x25.json @@ -39,7 +39,7 @@ "id": "tokarevmag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "Tokarev TT-33 magazine", + "name": { "str": "Tokarev TT-33 magazine" }, "description": "Standard 8-round magazine for Tokarev TT-33.", "weight": "56 g", "volume": "250 ml", diff --git a/data/json/items/magazine/9mm.json b/data/json/items/magazine/9mm.json index 917b53d0da860..4773aca978609 100644 --- a/data/json/items/magazine/9mm.json +++ b/data/json/items/magazine/9mm.json @@ -229,7 +229,7 @@ "id": "stenmag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "STEN magazine", + "name": { "str": "STEN magazine" }, "description": "A double-column, single-feed 9x19mm magazine used by the STEN submachine gun, based off the magazines for the German MP-28 and later MP-40.", "weight": "255 g", "volume": "500 ml", @@ -264,7 +264,7 @@ "id": "tec9mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "TEC-9 magazine", + "name": { "str": "TEC-9 magazine" }, "description": "A cheap and somewhat unreliable 32-round steel box magazine for use with the TEC-9 SMG.", "weight": "220 g", "volume": "500 ml", diff --git a/data/json/items/magazine/9x18.json b/data/json/items/magazine/9x18.json index e898673a36d4b..04d038f175876 100644 --- a/data/json/items/magazine/9x18.json +++ b/data/json/items/magazine/9x18.json @@ -20,7 +20,7 @@ "id": "skorpion82mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "Skorpion Vz. 82 magazine", + "name": { "str": "Skorpion Vz. 82 magazine" }, "description": "A standard 20-round magazine for the Skorpion Vz. 82, in 9x18mm Makarov.", "weight": "170 g", "volume": "500 ml", diff --git a/data/json/items/magazine/shot.json b/data/json/items/magazine/shot.json index 40ca0d96624b9..34e8d75997915 100644 --- a/data/json/items/magazine/shot.json +++ b/data/json/items/magazine/shot.json @@ -3,7 +3,7 @@ "id": "saiga10mag", "looks_like": "shotbelt_20", "type": "MAGAZINE", - "name": "Saiga-12 box magazine", + "name": { "str": "Saiga-12 box magazine" }, "description": "A removable plastic magazine for the Saiga-12 shotgun. Holds 10 rounds.", "weight": "210 g", "volume": "500 ml", @@ -20,7 +20,7 @@ "id": "saiga30mag", "looks_like": "shotbelt_20", "type": "MAGAZINE", - "name": "Saiga-12 drum magazine", + "name": { "str": "Saiga-12 drum magazine" }, "description": "A removable plastic magazine for the Saiga-12 shotgun. Holds 30 rounds.", "weight": "460 g", "volume": "1 L", From 2a53b2be3d50ccc927643b7f5725700170794b41 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 19:49:06 +0100 Subject: [PATCH 53/71] Generic name to object --- data/json/items/generic.json | 6 ++--- data/json/items/generic/ammolink.json | 2 +- data/json/items/generic/casing.json | 28 ++++++++++---------- data/json/items/generic/currency.json | 4 +-- data/json/items/melee/swords_and_blades.json | 2 +- data/json/items/newspaper.json | 4 +-- 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 25b5947ceb265..c5e2694c648d8 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -123,7 +123,7 @@ "type": "GENERIC", "id": "log_immersion27", "copy-from": "file", - "name": "INCIDENT REPORT: IMMERSION-27A", + "name": { "str": "INCIDENT REPORT: IMMERSION-27A" }, "description": "A white piece of paper, with the logo of XEDRA printed on its upper left corner. It seems to be an internal report of some kind.", "snippet_category": "log_immersion27" }, @@ -131,14 +131,14 @@ "type": "GENERIC", "id": "report_t_substrate", "copy-from": "log_immersion27", - "name": "MATERIAL: T-SUBSTRATE", + "name": { "str": "MATERIAL: T-SUBSTRATE" }, "snippet_category": "t-substrate" }, { "type": "GENERIC", "id": "HAADF_t_substrate", "copy-from": "log_immersion27", - "name": "HAADF MICROGRAPH: T-SUBSTRATE", + "name": { "str": "HAADF MICROGRAPH: T-SUBSTRATE" }, "snippet_category": "HAADF_t-substrate" }, { diff --git a/data/json/items/generic/ammolink.json b/data/json/items/generic/ammolink.json index 1728e0227a6d8..4db2dcc9b2a8d 100644 --- a/data/json/items/generic/ammolink.json +++ b/data/json/items/generic/ammolink.json @@ -40,7 +40,7 @@ "id": "ammolink50", "copy-from": "ammolink", "type": "GENERIC", - "name": ".50 ammo belt linkage", + "name": { "str": ".50 ammo belt linkage" }, "use_action": { "type": "ammobelt", "belt": "belt50" } } ] diff --git a/data/json/items/generic/casing.json b/data/json/items/generic/casing.json index d6347c0ff95cc..be2ae67c9cffe 100644 --- a/data/json/items/generic/casing.json +++ b/data/json/items/generic/casing.json @@ -3,7 +3,7 @@ "abstract": "casing", "type": "GENERIC", "category": "spare_parts", - "name": "Casing from ammunition cartridge", + "name": { "str": "Casing from ammunition cartridge" }, "stackable": true, "material": "brass", "symbol": "=", @@ -87,7 +87,7 @@ "copy-from": "casing", "looks_like": "223_casing", "type": "GENERIC", - "name": "7.62x51mm casing", + "name": { "str": "7.62x51mm casing" }, "description": "An empty casing from a 7.62x51mm M80 round.", "weight": "6 g", "volume": "9ml" @@ -137,7 +137,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": "10mm Auto casing", + "name": { "str": "10mm Auto casing" }, "description": "An empty casing from a 10mm Auto round.", "weight": "3 g", "volume": "5ml" @@ -257,7 +257,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": "4.6x30mm casing", + "name": { "str": "4.6x30mm casing" }, "description": "An empty casing from a 4.6x30mm round.", "weight": "2 g", "volume": "3ml" @@ -277,7 +277,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": "5x50mm hull", + "name": { "str": "5x50mm hull" }, "description": "An empty plastic hull from a 5x50mm flechette round.", "weight": "1 g", "volume": "5ml", @@ -289,7 +289,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".500 S&W Magnum casing", + "name": { "str": ".500 S&W Magnum casing" }, "description": "An empty casing from a .500 S&W Magnum round.", "weight": "7 g", "volume": "10ml" @@ -299,7 +299,7 @@ "copy-from": "casing", "looks_like": "223_casing", "type": "GENERIC", - "name": ".50 BMG casing", + "name": { "str": ".50 BMG casing" }, "description": "An empty casing from a .50 BMG round. These are rare, so you might want to hold onto these.", "weight": "18 g", "volume": "12ml" @@ -309,7 +309,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": "5.45x39mm casing", + "name": { "str": "5.45x39mm casing" }, "description": "An empty casing from a 5.45x39mm round.", "weight": "4 g", "volume": "7ml" @@ -319,7 +319,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": "5.7x28mm casing", + "name": { "str": "5.7x28mm casing" }, "description": "An empty casing from a 5.7x28mm round.", "weight": "2 g", "volume": "3ml" @@ -329,7 +329,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": ".700 NX casing", + "name": { "str": ".700 NX casing" }, "description": "An empty casing from a .700 NX round. These are rare, so you might want to hold onto these.", "weight": "18 g", "volume": "12ml" @@ -339,7 +339,7 @@ "copy-from": "casing", "looks_like": "223_casing", "type": "GENERIC", - "name": "7.62x54mmR casing", + "name": { "str": "7.62x54mmR casing" }, "description": "An empty casing from a 7.62x54mmR round.", "weight": "7 g", "volume": "10ml" @@ -349,7 +349,7 @@ "copy-from": "casing", "looks_like": "223_casing", "type": "GENERIC", - "name": "7.62x39mm casing", + "name": { "str": "7.62x39mm casing" }, "description": "An empty casing from a 7.62x39mm round.", "weight": "6 g", "volume": "9ml" @@ -359,7 +359,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": "7.62x25mm casing", + "name": { "str": "7.62x25mm casing" }, "description": "An empty casing from a 7.62x25mm round.", "weight": "4 g", "volume": "7ml" @@ -398,7 +398,7 @@ "copy-from": "casing", "looks_like": "9mm_casing", "type": "GENERIC", - "name": "9x18mm casing", + "name": { "str": "9x18mm casing" }, "description": "An empty casing from a 9x18mm round.", "weight": "3 g", "volume": "5ml" diff --git a/data/json/items/generic/currency.json b/data/json/items/generic/currency.json index 4c0e6ca0696f7..7dd5d68c7cc40 100644 --- a/data/json/items/generic/currency.json +++ b/data/json/items/generic/currency.json @@ -16,7 +16,7 @@ { "type": "GENERIC", "id": "RobofacCoin", - "name": "Hub 01 Gold Coin", + "name": { "str": "Hub 01 Gold Coin" }, "description": "This is a small but surprisingly heavy gold coin. One side is etched with circuitry and the other side reads 'Hub 01 exchange currency'.", "price": 90000, "price_postapoc": 5000, @@ -31,7 +31,7 @@ { "type": "GENERIC", "id": "FlatCoin", - "name": "FlatCoin", + "name": { "str": "FlatCoin" }, "description": "This is a coin that has been flattened in a novelty coin flattening machine. The machine has been somewhat crudely altered so that the design - which appears to once have been Mickey Mouse - is overlaid with a handwritten emblem of a book. There is some text that faintly reads 'Campus Exchange Token'.", "price": 5, "price_postapoc": 320, diff --git a/data/json/items/melee/swords_and_blades.json b/data/json/items/melee/swords_and_blades.json index f6f0b73a43f9c..526c330e5456d 100644 --- a/data/json/items/melee/swords_and_blades.json +++ b/data/json/items/melee/swords_and_blades.json @@ -4,7 +4,7 @@ "id": "sword_wood", "symbol": "!", "color": "brown", - "name": "2-by-sword", + "name": { "str": "2-by-sword" }, "description": "A two by four with a cross guard and whittled down point; not much for slashing, but much better than your bare hands.", "material": "wood", "volume": "1250 ml", diff --git a/data/json/items/newspaper.json b/data/json/items/newspaper.json index a34ccf53bd6e9..5f6958f9bee89 100644 --- a/data/json/items/newspaper.json +++ b/data/json/items/newspaper.json @@ -177,7 +177,7 @@ "type": "GENERIC", "id": "evac_pamphlet", "category": "books", - "name": "FEMA evacuation pamphlet", + "name": { "str": "FEMA evacuation pamphlet" }, "description": "Welcome to your Emergency Survival Shelter. We hope your stay here will be short and comfortable. Provided are an emergency blanket, high visibility jacket, gas mask, and food and water rations for one day, as well as an emergency lighter and flashlight. There are further supplies in the communal cabinets should the facility be over its intended capacity. These resources are checked and updated by FEMA on a regular basis, but if you find some items missing, please contact a FEMA supervisor at your earliest convenience.\n\nPlease wait in the shelter until an official evacuation transport arrives to take you to your homes or, in the event of a major disaster, to the nearest evacuation gathering point.\n\nIn the event that you have been evacuated under violent circumstances, FEMA recommends taking cover in the shelter's basement until help arrives. Remember: if you leave the shelter, we cannot find you to take you to safety.", "weight": "5 g", "volume": "15 ml", @@ -185,6 +185,6 @@ "looks_like": "newest_newspaper", "color": "white", "symbol": "?", - "flags": "TRADER_AVOID" + "flags": [ "TRADER_AVOID" ] } ] From 980e0cbb46051bedd6afe632aaf4811a3fc3e025 Mon Sep 17 00:00:00 2001 From: ZhilkinSerg Date: Tue, 25 Feb 2020 18:58:48 +0300 Subject: [PATCH 54/71] Guard `-Wredundant-decls` to non-Windows builds --- Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 35ac44eb2a605..9475c6e8384a0 100644 --- a/Makefile +++ b/Makefile @@ -97,7 +97,6 @@ WARNINGS = \ -Wold-style-cast \ -Woverloaded-virtual \ -Wpedantic \ - -Wredundant-decls \ -Wsuggest-override \ -Wunused-macros \ -Wzero-as-null-pointer-constant \ @@ -488,6 +487,10 @@ ifneq (,$(findstring mingw32,$(CROSS))) TARGETSYSTEM=WINDOWS endif +ifneq ($(TARGETSYSTEM),WINDOWS) + WARNINGS += -Wredundant-decls +endif + # Global settings for Windows targets ifeq ($(TARGETSYSTEM),WINDOWS) CHKJSON_BIN = chkjson.exe From 2539f0f388ecf5158ae93100d6267b0802afc771 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 20:06:03 +0100 Subject: [PATCH 55/71] Bionic_item name to object --- data/json/items/bionics.json | 52 ++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/data/json/items/bionics.json b/data/json/items/bionics.json index 56879f73918e5..24f332e974174 100644 --- a/data/json/items/bionics.json +++ b/data/json/items/bionics.json @@ -88,7 +88,7 @@ "id": "bio_armor_head", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Head Alloy Plating CBM", + "name": { "str": "Head Alloy Plating CBM" }, "looks_like": "bio_int_enhancer", "description": "Alloy plating that replaces the flesh on the user's head, protecting both their head and jaw regions.", "price": 350000, @@ -99,7 +99,7 @@ "id": "bio_armor_legs", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Legs Alloy Plating CBM", + "name": { "str": "Legs Alloy Plating CBM" }, "looks_like": "bio_int_enhancer", "description": "Alloy plating that replaces the flesh on the user's legs. Provides passive protection and can be used in conjunction with bionic martial arts.", "price": 350000, @@ -131,7 +131,7 @@ "id": "bio_blade", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Monomolecular Blade CBM", + "name": { "str": "Monomolecular Blade CBM" }, "looks_like": "bio_int_enhancer", "description": "A deadly foot-long blade made of advanced material that is installed inside the forearm, capable of being extended through the back of the user's wrist at the cost of a small amount of power. Though exceptionally sharp, it will prevent the user from holding anything else while extended.", "price": 8000, @@ -216,7 +216,7 @@ "id": "bio_climate", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Internal Climate Control CBM", + "name": { "str": "Internal Climate Control CBM" }, "looks_like": "bio_int_enhancer", "description": "A network of thermal piping which eases the effects of high and low ambient temperatures once activated.", "price": 350000, @@ -396,7 +396,7 @@ "id": "bio_tattoo_led", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "LED Tattoo", + "name": { "str": "LED Tattoo" }, "looks_like": "bio_int_enhancer", "description": "An LED display implanted beneath the epidermis that can display patterns or pictures through the skin. When active it glows dimly, providing a very small amount of light.", "price": 20000, @@ -407,7 +407,7 @@ "id": "bio_geiger", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Integrated Dosimeter CBM", + "name": { "str": "Integrated Dosimeter CBM" }, "looks_like": "bio_int_enhancer", "description": "Small radiation sensors that are implanted throughout the body, allowing the user to analyze their level of absorbed radiation. They will also alert the user whenever exposed to environmental radiation.", "price": 350000, @@ -440,7 +440,7 @@ "id": "bio_heat_absorb", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Heat Drain CBM", + "name": { "str": "Heat Drain CBM" }, "looks_like": "bio_int_enhancer", "description": "While fighting unarmed against a warm-blooded opponent, there is a chance that a successful hit will drain body heat, inflicting a small amount of extra damage, and recharging the user's bionic power reserves slightly.", "price": 550000, @@ -461,7 +461,7 @@ "id": "bio_hydraulics", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Hydraulic Muscles CBM", + "name": { "str": "Hydraulic Muscles CBM" }, "looks_like": "bio_int_enhancer", "description": "A hydraulic muscle support system that when active, increases strength by 20.", "price": 400000, @@ -471,7 +471,7 @@ "id": "bio_infrared", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Infrared Vision CBM", + "name": { "str": "Infrared Vision CBM" }, "looks_like": "bio_int_enhancer", "description": "A bionic module that extends the range of vision into the infrared, allowing the user to see warm-blooded creatures in the dark and through smoke.", "price": 450000, @@ -503,7 +503,7 @@ "id": "bio_leukocyte", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Leukocyte Breeder System CBM", + "name": { "str": "Leukocyte Breeder System CBM" }, "looks_like": "bio_int_enhancer", "description": "Bionic stimulators which augment the user's haematopoiesis system, allowing them to accelerate white blood cell production using bionic power. It is designed for continuous use and may cause unpleasant side effects when turned off.", "price": 6000, @@ -547,7 +547,7 @@ "id": "bio_membrane", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Nictating Membrane CBM", + "name": { "str": "Nictating Membrane CBM" }, "looks_like": "bio_int_enhancer", "description": "A thin membrane that closes over the eyes while underwater, negating any vision penalties.", "price": 450000, @@ -569,7 +569,7 @@ "id": "bio_metabolics", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Metabolic Interchange CBM", + "name": { "str": "Metabolic Interchange CBM" }, "looks_like": "bio_int_enhancer", "description": "This module interconnects the user's digestive system and power supply, letting them replenish bionic energy by burning calories.", "price": 70000, @@ -612,7 +612,7 @@ "id": "bio_night_vision", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Implanted Night Vision CBM", + "name": { "str": "Implanted Night Vision CBM" }, "looks_like": "bio_int_enhancer", "description": "This bionic module modifies the user's eyes to amplify existing light, allowing them to see in the dark.", "price": 900000, @@ -743,7 +743,7 @@ "id": "bio_fuel_cell_gasoline", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Gasoline Fuel Cell CBM", + "name": { "str": "Gasoline Fuel Cell CBM" }, "looks_like": "bio_int_enhancer", "description": "A small gasoline fuel cell able to convert gasoline to bionic power. It's connected to a diffuse network of bio-plastic bladders able to hold up to 500 ml of gasoline.", "price": 450000, @@ -841,7 +841,7 @@ "id": "bio_str_enhancer", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Muscle Augmentation CBM", + "name": { "str": "Muscle Augmentation CBM" }, "looks_like": "bio_int_enhancer", "description": "Myomer fibers that enhance the muscular system, granting a +2 bonus to strength.", "price": 800000, @@ -905,7 +905,7 @@ "id": "bio_tools", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Integrated Toolset CBM", + "name": { "str": "Integrated Toolset CBM" }, "looks_like": "bio_int_enhancer", "description": "A surgically implanted set of tools - screwdriver, hammer, wrench, hacksaw, drill, welder and heating elements. These can be used in place of many tools when crafting.", "price": 800000, @@ -915,7 +915,7 @@ "id": "bio_torsionratchet", "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", - "name": "Joint Torsion Ratchet CBM", + "name": { "str": "Joint Torsion Ratchet CBM" }, "looks_like": "bio_int_enhancer", "description": "Torsion ratchets that replace the user's joints to slowly generate power when they move. These can be toggled to generate more power, but movement will require more effort.", "price": 380000, @@ -926,7 +926,7 @@ "id": "bio_jointservo", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Joint Servo CBM", + "name": { "str": "Joint Servo CBM" }, "looks_like": "bio_int_enhancer", "description": "A set of servomotors that get installed on leg joints to provide power-assisted movement. They are optimized for running, but walking also requires less effort while this bionic is active. However, when it's offline it will hamper the user's movement.", "price": 450000, @@ -959,7 +959,7 @@ "id": "bio_watch", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Internal Chronometer CBM", + "name": { "str": "Internal Chronometer CBM" }, "looks_like": "bio_int_enhancer", "description": "This bionic module contains an atomic clock, complete with silent alarm clock function.", "price": 1000, @@ -981,7 +981,7 @@ "id": "bio_syringe", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Intravenous Needletip CBM", + "name": { "str": "Intravenous Needletip CBM" }, "looks_like": "bio_int_enhancer", "description": "A small tube with a retractable needle that terminates in a net of tiny hoses instead of a plunger. Installed, it allows the user to draw substances directly into their bloodstream akin to a regular syringe.", "price": 1000, @@ -1003,7 +1003,7 @@ "id": "bio_shock_absorber", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Kinetic Shock Absorbers CBM", + "name": { "str": "Kinetic Shock Absorbers CBM" }, "looks_like": "bio_int_enhancer", "description": "A set of hydraulic springs and foldable padding that replaces most of the flesh in the limbs and upper torso. While active, these absorbers will negate damage from severe impacts such as falling, at the cost of reducing the user's ability to move effectively.", "price": 10000, @@ -1080,7 +1080,7 @@ "id": "bio_itchy", "copy-from": "bionic_general_faulty", "type": "BIONIC_ITEM", - "name": "Itchy Metal Thing", + "name": { "str": "Itchy Metal Thing" }, "description": "You can't recognize what this is supposed to be, but it's a very awkward thing to have in one's body.", "weight": "200 g", "difficulty": 3 @@ -1089,7 +1089,7 @@ "id": "bio_glowy", "copy-from": "bionic_general_faulty", "type": "BIONIC_ITEM", - "name": "Glowy Thing", + "name": { "str": "Glowy Thing" }, "description": "It's a… thing? And it glows, at least it did when it was plugged in.", "weight": "5 g", "difficulty": 3 @@ -1098,7 +1098,7 @@ "id": "bio_leaky", "copy-from": "bionic_general_faulty", "type": "BIONIC_ITEM", - "name": "Leaky Bionic", + "name": { "str": "Leaky Bionic" }, "description": "A mess of pierced pipes and broken seals, something unpleasant is leaking from it.", "weight": "600 g", "difficulty": 7 @@ -1107,7 +1107,7 @@ "id": "bio_noise", "copy-from": "bionic_general_faulty", "type": "BIONIC_ITEM", - "name": "Noisemaker", + "name": { "str": "Noisemaker" }, "description": "A malfunctioning bionic. When powered, it occasionally emits a loud burst of noise.", "weight": "250 g", "difficulty": 3 @@ -1168,7 +1168,7 @@ "id": "bio_spasm", "copy-from": "bionic_general_faulty", "type": "BIONIC_ITEM", - "name": "Motor Control Overstimulator", + "name": { "str": "Motor Control Overstimulator" }, "description": "The result of poor configuration, this bionic module frequently causes debilitating muscle spasms.", "difficulty": 11 }, From bd69797c27a52b7625fa80bc77dba367723388b5 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 20:45:35 +0100 Subject: [PATCH 56/71] Gun name to object --- data/json/items/gun/223.json | 8 ++++---- data/json/items/gun/3006.json | 2 +- data/json/items/gun/308.json | 4 ++-- data/json/items/gun/380.json | 2 +- data/json/items/gun/38super.json | 2 +- data/json/items/gun/40x46mm.json | 4 ++-- data/json/items/gun/40x53mm.json | 2 +- data/json/items/gun/45.json | 6 +++--- data/json/items/gun/4570.json | 4 ++-- data/json/items/gun/50.json | 2 +- data/json/items/gun/762x25.json | 2 +- data/json/items/gun/84x246mm.json | 2 +- data/json/items/gun/9mm.json | 2 +- data/json/items/gun/9x18.json | 2 +- data/json/items/gun/paintball.json | 2 +- data/json/items/gun/shot.json | 6 +++--- data/json/items/ranged/energy.json | 2 +- 17 files changed, 27 insertions(+), 27 deletions(-) diff --git a/data/json/items/gun/223.json b/data/json/items/gun/223.json index ac03fcaa9ccb4..ca389f7181097 100644 --- a/data/json/items/gun/223.json +++ b/data/json/items/gun/223.json @@ -237,7 +237,7 @@ "copy-from": "rifle_auto", "looks_like": "ar15", "type": "GUN", - "name": "M249", + "name": { "str": "M249" }, "description": "The M249 is a mountable machine gun used by the US military and SWAT teams. Quite inaccurate and difficult to control, the M249 is designed to fire many rounds very quickly.", "weight": "7330 g", "volume": "3 L", @@ -285,7 +285,7 @@ "copy-from": "rifle_auto", "looks_like": "ar15", "type": "GUN", - "name": "M4A1", + "name": { "str": "M4A1" }, "description": "A popular carbine, long used by the US military. Though accurate, small, and lightweight, it is infamous for its unreliability when not properly maintained.", "weight": "3160 g", "volume": "1750 ml", @@ -308,7 +308,7 @@ "copy-from": "rifle_semi", "looks_like": "ar15", "type": "GUN", - "name": "M16A4", + "name": { "str": "M16A4" }, "description": "The M16 is a very common assault rifle descended from the AR-15, used by militaries across the world for over 50 years. It is a gas operated, rotating bolt rifle known for its accuracy and controllable recoil.", "weight": "3510 g", "volume": "1750 ml", @@ -322,7 +322,7 @@ "dispersion": 150, "durability": 7, "min_cycle_recoil": 1350, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "3rd burst", 3 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "3 rd.", 3 ] ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] }, { diff --git a/data/json/items/gun/3006.json b/data/json/items/gun/3006.json index 7ae956ca07a51..0ffaa9df8f34d 100644 --- a/data/json/items/gun/3006.json +++ b/data/json/items/gun/3006.json @@ -82,7 +82,7 @@ "copy-from": "rifle_manual", "looks_like": "ar15", "type": "GUN", - "name": "M1903 Springfield", + "name": { "str": "M1903 Springfield" }, "description": "A powerful military rifle chambered in .30-06, developed to replace the US Army's older Krag rifle. Served as the main American rifle in World War I, was used alongside the M1 Garand in World War II, and was used as a sniper rifle as late as the Vietnam War.", "weight": "3910 g", "volume": "3 L", diff --git a/data/json/items/gun/308.json b/data/json/items/gun/308.json index 02712684ef547..381616703b197 100644 --- a/data/json/items/gun/308.json +++ b/data/json/items/gun/308.json @@ -142,7 +142,7 @@ "copy-from": "rifle_auto", "looks_like": "ar15", "type": "GUN", - "name": "M240", + "name": { "str": "M240" }, "description": "The M240 is a medium machine gun used by the US military, replacing the older M60. Quite inaccurate and difficult to control, the M240 is designed to fire many rounds very quickly.", "weight": "12400 g", "volume": "3 L", @@ -179,7 +179,7 @@ "copy-from": "rifle_auto", "looks_like": "ar15", "type": "GUN", - "name": "M60", + "name": { "str": "M60" }, "description": "The M60 is a general-purpose machine gun developed to replace the .30-caliber M1918 and M1919. Heavy and difficult to handle fired from the shoulder, as most people aren't action-movie heroes.", "weight": "10500 g", "volume": "3 L", diff --git a/data/json/items/gun/380.json b/data/json/items/gun/380.json index 84b32c3d780eb..83f337a936004 100644 --- a/data/json/items/gun/380.json +++ b/data/json/items/gun/380.json @@ -4,7 +4,7 @@ "copy-from": "mac_10", "looks_like": "hk_mp5", "type": "GUN", - "name": "MAC-11", + "name": { "str": "MAC-11" }, "description": "A lesser known variant of the MAC-10, this machine pistol is chambered in .380 ACP for a smaller overall size while remaining inherently subsonic. Smaller in almost every dimension, this inexpensive automatic weapon was declared 'fit only for combat in a phone booth' due to its low weight and absurd fire rate ranging from 1200 to 1400 rounds per minute.", "weight": "1590 g", "volume": "754 ml", diff --git a/data/json/items/gun/38super.json b/data/json/items/gun/38super.json index f32ad21c20dbf..1e55edf1d4632 100644 --- a/data/json/items/gun/38super.json +++ b/data/json/items/gun/38super.json @@ -41,7 +41,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "M1911A1", + "name": { "str": "M1911A1" }, "description": "The M1911A1 is an extremely popular pistol known for its reliability. This one is chambered for .38 Super.", "weight": "1157 g", "volume": "462 ml", diff --git a/data/json/items/gun/40x46mm.json b/data/json/items/gun/40x46mm.json index 86fbfe134af00..692aab7c45e3a 100644 --- a/data/json/items/gun/40x46mm.json +++ b/data/json/items/gun/40x46mm.json @@ -33,7 +33,7 @@ "copy-from": "launcher_base", "looks_like": "m79", "type": "GUN", - "name": "M320 standalone launcher", + "name": { "str": "M320 standalone launcher" }, "description": "Heckler & Koch's M320 grenade launcher offers the functionality of larger launchers in a very small package at the cost of decreased accuracy. This one is combined with a buttstock for standalone operation.", "weight": "2100 g", "volume": "750 ml", @@ -153,7 +153,7 @@ "copy-from": "launcher_base", "looks_like": "m203", "type": "GUN", - "name": "M203 array", + "name": { "str": "M203 array" }, "description": "An array of six M203 grenade launchers for use on the TALON UGV platform.", "weight": "8200 g", "volume": "4 L", diff --git a/data/json/items/gun/40x53mm.json b/data/json/items/gun/40x53mm.json index 2aae3f15a2218..a6d81713d95dd 100644 --- a/data/json/items/gun/40x53mm.json +++ b/data/json/items/gun/40x53mm.json @@ -4,7 +4,7 @@ "copy-from": "launcher_base", "looks_like": "m79", "type": "GUN", - "name": "Mark 19 grenade launcher", + "name": { "str": "Mark 19 grenade launcher" }, "description": "A heavy, tripod-mounted belt-fed grenade launcher used by the US Military since the start of the Cold War all the way to the cataclysm, and if you can find some 40mm grenades, maybe even beyond.", "weight": "35200 g", "volume": "4 L", diff --git a/data/json/items/gun/45.json b/data/json/items/gun/45.json index 5ceb7e432bfda..a87f1a7ee7066 100644 --- a/data/json/items/gun/45.json +++ b/data/json/items/gun/45.json @@ -82,7 +82,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "M1911", + "name": { "str": "M1911" }, "//": "You can get 'em for over US$1K if you want. This is a fairly cheap remake.", "description": "The M1911 was the US Military standard-issue sidearm for most of the 20th Century. It remains one of the most popular .45 pistols today.", "weight": "1120 g", @@ -106,7 +106,7 @@ "copy-from": "m1911", "looks_like": "glock_17", "type": "GUN", - "name": "M45A1", + "name": { "str": "M45A1" }, "description": "The M45A1 supplanted earlier M45 MEUSOC pistols in use by Force Recon elements of Marine Expeditionary Units. Where the original M45 pistols were gutted M1911A1's hand-fitted by USMC armorers, the updated M45A1's are hardly different from any other commercial 1911 design save for their dual recoil springs. Most were replaced in 2016 with Glock 19's due to logistics issues.", "weight": "1105 g", "price": 169900, @@ -119,7 +119,7 @@ "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, - "name": "MAC-10", + "name": { "str": "MAC-10" }, "description": "The MAC-10 is a popular machine pistol originally designed for military use. For many years they were the most inexpensive automatic weapon in the US, and enjoyed great popularity among criminals less concerned with quality firearms.", "weight": "2840 g", "volume": "750 ml", diff --git a/data/json/items/gun/4570.json b/data/json/items/gun/4570.json index ca39057f7e38f..33728b7817365 100644 --- a/data/json/items/gun/4570.json +++ b/data/json/items/gun/4570.json @@ -4,7 +4,7 @@ "copy-from": "rifle_manual", "looks_like": "ar15", "type": "GUN", - "name": "Marlin 1895 SBL", + "name": { "str": "Marlin 1895 SBL" }, "description": "A handy but powerful lever-action rifle chambered for .45-70 Government. Designed for wilderness guides for defense against large predators such as grizzly bears, moose, and dinosaurs.", "weight": "3650 g", "volume": "2250 ml", @@ -37,7 +37,7 @@ "copy-from": "pistol_revolver", "looks_like": "sw_619", "type": "GUN", - "name": "Magnum Research BFR", + "name": { "str": "Magnum Research BFR" }, "description": "A massive single-action revolver. While the .45-70 rifle round loses significant velocity in its short pistol barrel, it still competes with other large magnum handguns in terms of power.", "weight": "1950 g", "volume": "1 L", diff --git a/data/json/items/gun/50.json b/data/json/items/gun/50.json index c05a9b6b3637c..4e2ee9f494f84 100644 --- a/data/json/items/gun/50.json +++ b/data/json/items/gun/50.json @@ -116,7 +116,7 @@ "copy-from": "rifle_base", "looks_like": "ar15", "type": "GUN", - "name": "McMillan TAC-50", + "name": { "str": "McMillan TAC-50" }, "description": "A long-range anti-materiel and anti-personnel sniper rifle made by McMillan Firearms, serving the Canadian Army since 2000 as the C15, and the Navy Seals as the Mk 15 Mod 0. This .50 caliber bolt-action rifle is capable of defeating light vehicles, radar installations and crew served weapons at extreme distances. It notably holds the longest range confirmed sniper kill, as well as the 4th and 5th longest.", "weight": "11020 g", "volume": "3127 ml", diff --git a/data/json/items/gun/762x25.json b/data/json/items/gun/762x25.json index 2fa6a6b7f031a..ef72d99a112be 100644 --- a/data/json/items/gun/762x25.json +++ b/data/json/items/gun/762x25.json @@ -4,7 +4,7 @@ "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, - "name": "PPSh-41", + "name": { "str": "PPSh-41" }, "description": "The Soviet-made PPSh-41 is a mass-produced selective-fire submachine gun. It has a relatively high rate of fire.", "weight": "3630 g", "volume": "1750 ml", diff --git a/data/json/items/gun/84x246mm.json b/data/json/items/gun/84x246mm.json index 37231a8645060..8f809d29466f3 100644 --- a/data/json/items/gun/84x246mm.json +++ b/data/json/items/gun/84x246mm.json @@ -6,7 +6,7 @@ "reload_noise_volume": 10, "symbol": "(", "color": "green", - "name": "M3 recoilless rifle", + "name": { "str": "M3 recoilless rifle" }, "description": "Manufactured in Sweden, the Carl Gustav M3 is a breech-loading 84 millimeter man-portable, reusable, multi-role recoilless rifle commonly used by the US military.", "price": 1300000, "material": "steel", diff --git a/data/json/items/gun/9mm.json b/data/json/items/gun/9mm.json index 0901a84db0bcb..e41172a94a1ad 100644 --- a/data/json/items/gun/9mm.json +++ b/data/json/items/gun/9mm.json @@ -631,7 +631,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "M17", + "name": { "str": "M17" }, "description": "The M17 is a semi-automatic, short recoil operated pistol derived from the SIG Sauer P320.", "weight": "840 g", "volume": "500 ml", diff --git a/data/json/items/gun/9x18.json b/data/json/items/gun/9x18.json index 7a23a072d4faa..5841fae44a748 100644 --- a/data/json/items/gun/9x18.json +++ b/data/json/items/gun/9x18.json @@ -4,7 +4,7 @@ "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "name": "Makarov PM", + "name": { "str": "Makarov PM" }, "//": "10 and 12-round magazines exist, but were made for the newer PMM, and are not compatible with the old PM.", "description": "The Pistolet Makarova was developed by the Soviet Union to replace the WWII-era TT-33 pistol. It uses the 9x18mm cartridge, which remains in use among various former Soviet countries.", "weight": "730 g", diff --git a/data/json/items/gun/paintball.json b/data/json/items/gun/paintball.json index 013e18a6a7282..3a750e742b7bf 100644 --- a/data/json/items/gun/paintball.json +++ b/data/json/items/gun/paintball.json @@ -6,7 +6,7 @@ "reload_noise_volume": 6, "symbol": "(", "color": "light_gray", - "name": "Paintball gun", + "name": { "str": "Paintball gun" }, "description": "A fairly harmless gun that shoots small paintballs.", "price": 8000, "material": [ "aluminum", "plastic" ], diff --git a/data/json/items/gun/shot.json b/data/json/items/gun/shot.json index 33664ae49c2df..536c21dae62ae 100644 --- a/data/json/items/gun/shot.json +++ b/data/json/items/gun/shot.json @@ -188,7 +188,7 @@ "id": "mossberg_930", "copy-from": "shotgun_base", "type": "GUN", - "name": "Mossberg 930 SPX", + "name": { "str": "Mossberg 930 SPX" }, "description": "This semi-automatic offering from Mossberg features a recoil reducing gas system, rifle style sights and a factory-installed picatinny rail. Affordable pricing and decent ergonomics make this a popular entry-level 3-gun shotgun.", "weight": "3402 g", "volume": "2942 ml", @@ -659,7 +659,7 @@ "id": "winchester_1897", "copy-from": "shotgun_base", "type": "GUN", - "name": "M1897 Trench Gun", + "name": { "str": "M1897 Trench Gun" }, "description": "The Winchester 1897 was one of the first commercially successful pump action shotguns. In its 'trench' configuraton it has become a heavily romanticized American icon of World War 1. With its barrel shroud, bayonet lug and 17 inch bayonet, this shotgun is undeniably fearsome in appearance. There aren't any more trenches to clear, so the next zombie infested town will have to suffice.", "weight": "3629 g", "volume": "2564 ml", @@ -671,7 +671,7 @@ "dispersion": 360, "durability": 8, "clip_size": 6, - "modes": [ [ "DEFAULT", "single", 1 ], [ "AUTO", "2-round", 2 ] ], + "modes": [ [ "DEFAULT", "single", 1 ], [ "AUTO", "2 rd.", 2 ] ], "valid_mod_locations": [ [ "accessories", 2 ], [ "stock mount", 1 ], diff --git a/data/json/items/ranged/energy.json b/data/json/items/ranged/energy.json index fcc4f4fd1bb6f..3cf32d6da5f7d 100644 --- a/data/json/items/ranged/energy.json +++ b/data/json/items/ranged/energy.json @@ -6,7 +6,7 @@ "reload_noise_volume": 10, "symbol": "(", "color": "light_gray", - "name": "PPA-5", + "name": { "str": "PPA-5" }, "description": "Portable Plasma Accelerator Model Five, developed by Lockheed Martin Corporation. This device uses highly advanced capacitor banks to create a torus of superheated hydrogen plasma and accelerate it to incredible speed. It was designed to take down heavy vehicles, and was expected to fully enter US Army service not long before the Cataclysm.", "price": 980000, "material": [ "steel", "plastic" ], From dea003ebe9ce627b75f3e55a5f39f8d7212e2f9f Mon Sep 17 00:00:00 2001 From: jkraybill Date: Wed, 26 Feb 2020 06:53:33 +1100 Subject: [PATCH 57/71] Clarify "Gather 75 Stones" quest messages (#38329) --- data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json | 4 ++-- data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json index 3e3cf878fd831..ed435370dfe15 100644 --- a/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json @@ -193,7 +193,7 @@ { "id": "MISSION_ISHERWOOD_EDDIE_1", "type": "mission_definition", - "name": "Gather 120 Stones", + "name": "Gather 120 Rocks", "goal": "MGOAL_FIND_ITEM", "difficulty": 5, "value": 50000, @@ -205,7 +205,7 @@ "dialogue": { "describe": "We need to build some kilns.", "offer": "I could use 120 rocks to construct some kilns.", - "accepted": "You can break up some larger rocks, or gather them up from the fields.", + "accepted": "You can break up some larger stones, or gather them up from the fields.", "rejected": "Thanks anyway, we'll find the time to get them ourselves.", "advice": "Mining would always be an option if you had the resources.", "inquire": "Do you have the stone?", diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json b/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json index 08ec337d01408..4ed808e0111ec 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json @@ -367,7 +367,7 @@ { "id": "MISSION_RANCH_FOREMAN_6", "type": "mission_definition", - "name": "Gather 75 Stones", + "name": "Gather 75 Rocks", "goal": "MGOAL_FIND_ITEM", "difficulty": 5, "value": 50000, @@ -377,7 +377,7 @@ "followup": "MISSION_RANCH_FOREMAN_7", "dialogue": { "describe": "We need help…", - "offer": "Our current assessment for survivability has increased significantly thanks to your efforts. The next priority issue is securing a cleaner water source. Drinking from the pond on the back end of the ranch has led to an outbreak of dysentery. As quickly as possible we need to improve the sanitary conditions in the camp. To do so the first step is to dig a well and construct stone fireplaces in the barn for the migrants to boil water. We are going to need at least 75 large rocks from you if we hope to accomplish the task before we all get sick. After we have them installed you will have free access to them, guaranteed. ", + "offer": "Our current assessment for survivability has increased significantly thanks to your efforts. The next priority issue is securing a cleaner water source. Drinking from the pond on the back end of the ranch has led to an outbreak of dysentery. As quickly as possible we need to improve the sanitary conditions in the camp. To do so the first step is to dig a well and construct stone fireplaces in the barn for the migrants to boil water. We are going to need at least 75 rocks from you if we hope to accomplish the task before we all get sick. After we have them installed you will have free access to them, guaranteed. ", "accepted": "If you take a shovel to a pile of rubble you should be able to pull out structural grade stone.", "rejected": "Come back when you get a chance. We need skilled survivors.", "advice": "Mining would always be an option if you had the resources.", From 5fa9146f831fcdd4706c189b14938fba27fdde8b Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Tue, 25 Feb 2020 20:00:09 +0000 Subject: [PATCH 58/71] Revert string centralization (#38321) * Revert "Moved more string consts into single file (#38237)" This reverts commit 49877426cedcb73c7c852c2e4b61dd0320dc5288. * Revert "Moved more string consts into single file (#38220)" This reverts commit d9c6079762217e8a13caeeb76bc1dc9bc752bd84. * Revert "Move string consts into single file (#38195)" This reverts commit b1b48badff60f3c3ba85d4a3683ac2f38fa2b4ed. * Revert "More string consts into single file (#38189)" This reverts commit 4fffd961436b09a5069fd003f4542b78cbce6a5e. * Revert "More string consts into single file (#38183)" This reverts commit 05940bfe3aa1c95c10dc2df49bb2b7a88f23b039. * Revert "Move string consts into single file (#38184)" This reverts commit 19c569826b96f948387d486ea5452985a1ccef1b. * Revert "Move string consts into single file (#38181)" This reverts commit 55cabb794cc7812cba36fb84a893d971dafcf6de. * Revert "Move more string consts into single file (#38175)" This reverts commit 571efb2f8ea22a7a277af2c0cd0621ead2e82fe1. * Revert "Merge pull request #38176 from Ramza13/string_consts_and_more" This reverts commit 9c9835ff081ac75dd73cf3f1ad4c8e4517cd04a9, reversing changes made to 07995cdda539d56aca5a70b73647c4b37ca0925e. * Revert "Move more string consts into single file (#38169)" This reverts commit 07995cdda539d56aca5a70b73647c4b37ca0925e. * Revert "Merge pull request #38168 from Ramza13/even_more_string_consts" This reverts commit 2bf1c1ea18e193f6b1141646c0c6eb72ca24507d, reversing changes made to 24a32c0d1adcb0c223db34421dcd98f15f5a606a. * Revert "Merge pull request #38141 from ZhilkinSerg/sa-2020-02-18" This reverts commit 142295b1dcec10d738326341dcbdabe0fb9fc81e, reversing changes made to f98c67d3c3dd5b19196938a4d8516f5faf069a28. * Revert "Move string consts into single file (#38158)" This reverts commit 50059c8a247e254754008c3ea56f9dcc65d1e8dc. * Revert "Merge pull request #38157 from Ramza13/string_consts_more_flags" This reverts commit 8ec8e78959d7ffb9c5b9b3c01962261ef93db8d0, reversing changes made to 72ef0222a007e067ca4cb9bd6e8a366a9ddc2109. * Revert "Move string_consts" This reverts commit 0a6bf67436fc51f980ddff6d62703dd71ad36cf6. * Revert "Merge pull request #38146 from Ramza13/battery" This reverts commit 9286722b7448888268383770eef1e6ea95b02c25, reversing changes made to e9f1cd7787cef325119e70d6beb26f22700369c1. * Revert "Merge pull request #38134 from AMurkin/rename-blob" This reverts commit 06f72d2b7dae185bfee81df6c15cee6a9d92ec80, reversing changes made to bcfe0741e1a520f2d92e694c09cac08069268d80. * Revert "Yet more string consts moved out (#38130)" This reverts commit b5f18f3574c3a28c396f42d2b827b785a9bdd603. * Revert "Merge pull request #38115 from Ramza13/string_consts_game" This reverts commit 98076577b0b44e25185f5200a83b0705b4dbe18e, reversing changes made to 036465f51720df3142b6e4930474f0ff080cfa13. * Fixup to the picked_up * RE-inline item_location initialization * Update character.h * Update item.cpp * Update item.h * Update item_action.cpp * Update item_factory.cpp * Update point.h * Update safemode_ui.cpp --- src/action.cpp | 6 +- src/activity_handlers.cpp | 42 +-- src/activity_item_handling.cpp | 72 +++-- src/advanced_inv_area.cpp | 7 +- src/advanced_inv_listitem.h | 1 + src/ammo.h | 4 +- src/armor_layers.cpp | 2 +- src/artifact.cpp | 41 ++- src/avatar.cpp | 2 +- src/avatar_action.cpp | 8 +- src/basecamp.cpp | 2 +- src/basecamp.h | 2 + src/bionics.cpp | 2 +- src/bionics.h | 2 + src/cata_string_consts.h | 493 ++++-------------------------- src/cata_tiles.cpp | 2 +- src/cata_tiles.h | 2 + src/cata_variant.h | 2 + src/character.cpp | 165 +++++----- src/character_martial_arts.cpp | 2 + src/character_martial_arts.h | 2 + src/clzones.cpp | 94 +++--- src/computer_session.cpp | 4 +- src/construction.cpp | 5 +- src/consumption.cpp | 14 +- src/crafting.cpp | 10 +- src/creature.cpp | 14 +- src/debug_menu.cpp | 4 +- src/dump.cpp | 2 +- src/editmap.cpp | 5 +- src/event.h | 2 + src/explosion.cpp | 6 +- src/explosion.h | 2 +- src/faction.cpp | 9 +- src/faction_camp.cpp | 2 +- src/fungal_effects.cpp | 2 +- src/game.cpp | 338 +++++++++++--------- src/game.h | 1 + src/game_inventory.cpp | 4 +- src/gamemode_defense.h | 2 + src/handle_action.cpp | 37 +-- src/handle_liquid.cpp | 5 +- src/harvest.h | 1 + src/iexamine.cpp | 50 +-- src/inventory.cpp | 68 ++--- src/inventory_ui.cpp | 6 +- src/item.cpp | 24 +- src/item.h | 1 + src/item_factory.cpp | 57 ++-- src/item_location.cpp | 2 +- src/itype.h | 2 + src/iuse.cpp | 66 ++-- src/iuse.h | 4 +- src/iuse_actor.cpp | 54 ++-- src/iuse_actor.h | 52 ++-- src/lightmap.cpp | 8 +- src/magic_spell_effect.cpp | 5 +- src/magic_teleporter_list.cpp | 3 +- src/map.cpp | 253 +++++++-------- src/map.h | 1 + src/map_extras.cpp | 4 +- src/map_field.cpp | 18 +- src/mapdata.cpp | 2 +- src/mapdata.h | 2 + src/mapgen.cpp | 60 ++-- src/mapgen_functions.cpp | 18 +- src/martialarts.cpp | 2 +- src/material.h | 1 + src/melee.cpp | 164 ++++++---- src/mission_start.cpp | 4 +- src/monattack.cpp | 53 ++-- src/mondeath.cpp | 26 +- src/monexamine.cpp | 14 +- src/monmove.cpp | 56 ++-- src/monster.cpp | 50 +-- src/monstergenerator.cpp | 3 +- src/morale.cpp | 6 +- src/mtype.cpp | 32 +- src/mtype.h | 2 + src/mutation.cpp | 6 +- src/mutation.h | 1 + src/newcharacter.cpp | 53 ++-- src/npc.cpp | 28 +- src/npc_favor.h | 1 + src/npcmove.cpp | 30 +- src/npctalk.cpp | 6 +- src/npctalk_funcs.cpp | 6 +- src/npctrade.cpp | 4 +- src/overmap.cpp | 6 +- src/overmap_ui.cpp | 4 +- src/panels.cpp | 2 +- src/pathfinding.cpp | 5 +- src/pickup.cpp | 12 +- src/player.cpp | 199 ++++++------ src/player.h | 1 + src/player_activity.cpp | 2 +- src/player_activity.h | 2 + src/player_hardcoded_effects.cpp | 4 +- src/profession.cpp | 3 +- src/profession.h | 1 + src/ranged.cpp | 22 +- src/recipe.cpp | 9 +- src/recipe.h | 1 + src/recipe_dictionary.h | 2 + src/requirements.cpp | 2 +- src/requirements.h | 3 + src/savegame_json.cpp | 56 ++-- src/savegame_legacy.cpp | 83 +++-- src/scenario.cpp | 5 +- src/sdltiles.cpp | 13 +- src/sounds.cpp | 194 ++++++------ src/start_location.cpp | 13 +- src/string_id.h | 2 + src/submap.cpp | 5 +- src/suffer.cpp | 20 +- src/teleport.cpp | 8 +- src/trap.h | 3 + src/trapfunc.cpp | 10 +- src/turret.cpp | 26 +- src/type_id.h | 5 - src/uistate.h | 2 + src/veh_interact.cpp | 122 ++++---- src/veh_type.cpp | 35 ++- src/veh_type.h | 2 + src/vehicle.cpp | 391 ++++++++++++------------ src/vehicle_display.cpp | 7 +- src/vehicle_move.cpp | 16 +- src/vehicle_part.cpp | 6 +- src/vehicle_use.cpp | 161 +++++----- src/visitable.cpp | 12 +- src/weather.cpp | 14 +- tests/bionics_test.cpp | 7 +- tests/comestible_test.cpp | 3 +- tests/encumbrance_test.cpp | 5 +- tests/memorial_test.cpp | 15 +- tests/npc_test.cpp | 7 +- tests/reload_option_test.cpp | 3 +- tests/reloading_test.cpp | 3 +- tests/stomach_contents_test.cpp | 27 +- tests/vehicle_drag_test.cpp | 7 +- tests/vehicle_efficiency_test.cpp | 25 +- tests/vehicle_part_test.cpp | 3 +- tests/vehicle_test.cpp | 3 +- tests/vehicle_turrets_test.cpp | 7 +- tests/visitable_remove_test.cpp | 3 +- 145 files changed, 2041 insertions(+), 2300 deletions(-) diff --git a/src/action.cpp b/src/action.cpp index f0597db91ff64..1ddec702f445c 100644 --- a/src/action.cpp +++ b/src/action.cpp @@ -579,8 +579,8 @@ int hotkey_for_action( action_id action, const bool restrict_to_printable ) bool can_butcher_at( const tripoint &p ) { // TODO: unify this with game::butcher - const int factor = g->u.max_quality( quality_BUTCHER ); - const int factorD = g->u.max_quality( quality_CUT_FINE ); + const int factor = g->u.max_quality( qual_BUTCHER ); + const int factorD = g->u.max_quality( qual_CUT_FINE ); auto items = g->m.i_at( p ); bool has_item = false; bool has_corpse = false; @@ -650,7 +650,7 @@ static bool can_pickup_at( const tripoint &p ) bool veh_has_items = false; const optional_vpart_position vp = g->m.veh_at( p ); if( vp ) { - const int cargo_part = vp->vehicle().part_with_feature( vp->part_index(), flag_CARGO, false ); + const int cargo_part = vp->vehicle().part_with_feature( vp->part_index(), "CARGO", false ); veh_has_items = cargo_part >= 0 && !vp->vehicle().get_items( cargo_part ).empty(); } return g->m.has_items( p ) || veh_has_items; diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index cb9f9f0fec17f..89f3b1cac29d2 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -370,7 +370,7 @@ static void butcher_cbm_group( const std::string &group, const tripoint &pos, static void set_up_butchery( player_activity &act, player &u, butcher_type action ) { - const int factor = u.max_quality( action == DISSECT ? quality_CUT_FINE : quality_BUTCHER ); + const int factor = u.max_quality( action == DISSECT ? qual_CUT_FINE : qual_BUTCHER ); const item &corpse_item = *act.targets.back(); const mtype &corpse = *corpse_item.get_mtype(); @@ -446,7 +446,7 @@ static void set_up_butchery( player_activity &act, player &u, butcher_type actio act.targets.pop_back(); return; } - if( !( u.has_quality( quality_SAW_W ) || u.has_quality( quality_SAW_M ) ) ) { + if( !( u.has_quality( qual_SAW_W ) || u.has_quality( qual_SAW_M ) ) ) { u.add_msg_if_player( m_info, _( "For a corpse this big you need a saw to perform a full butchery." ) ); act.targets.pop_back(); @@ -498,11 +498,11 @@ static void set_up_butchery( player_activity &act, player &u, butcher_type actio } // applies to all butchery actions - const bool is_human = corpse.id == mtype_id::NULL_ID() || ( corpse.in_species( species_HUMAN ) && - !corpse.in_species( species_ZOMBIE ) ); - if( is_human && !( u.has_trait_flag( flag_CANNIBAL ) || - u.has_trait_flag( flag_PSYCHOPATH ) || - u.has_trait_flag( flag_SAPIOVORE ) ) ) { + const bool is_human = corpse.id == mtype_id::NULL_ID() || ( corpse.in_species( HUMAN ) && + !corpse.in_species( ZOMBIE ) ); + if( is_human && !( u.has_trait_flag( trait_flag_CANNIBAL ) || + u.has_trait_flag( trait_flag_PSYCHOPATH ) || + u.has_trait_flag( trait_flag_SAPIOVORE ) ) ) { if( u.is_player() ) { if( query_yn( _( "Would you dare desecrate the mortal remains of a fellow human being?" ) ) ) { @@ -539,7 +539,7 @@ static void set_up_butchery( player_activity &act, player &u, butcher_type actio int butcher_time_to_cut( const player &u, const item &corpse_item, const butcher_type action ) { const mtype &corpse = *corpse_item.get_mtype(); - const int factor = u.max_quality( action == DISSECT ? quality_CUT_FINE : quality_BUTCHER ); + const int factor = u.max_quality( action == DISSECT ? qual_CUT_FINE : qual_BUTCHER ); int time_to_cut = 0; switch( corpse.size ) { @@ -1038,13 +1038,13 @@ void activity_handlers::butcher_finish( player_activity *act, player *p ) } int skill_level = p->get_skill_level( skill_survival ); - int factor = p->max_quality( action == DISSECT ? quality_CUT_FINE : - quality_BUTCHER ); + int factor = p->max_quality( action == DISSECT ? qual_CUT_FINE : + qual_BUTCHER ); // DISSECT has special case factor calculation and results. if( action == DISSECT ) { skill_level = p->get_skill_level( skill_firstaid ); - skill_level += p->max_quality( quality_CUT_FINE ); + skill_level += p->max_quality( qual_CUT_FINE ); skill_level += p->get_skill_level( skill_electronics ) / 2; add_msg( m_debug, _( "Skill: %s" ), skill_level ); } @@ -1166,7 +1166,7 @@ void activity_handlers::butcher_finish( player_activity *act, player *p ) _( "You did something wrong and hacked the corpse badly. Maybe it's still recoverable." ) ); break; } - corpse_item.set_flag( flag_FIELD_DRESS_FAILED ); + corpse_item.set_flag( "FIELD_DRESS_FAILED" ); g->m.add_splatter( type_gib, p->pos(), rng( corpse->size + 2, ( corpse->size + 1 ) * 2 ) ); g->m.add_splatter( type_blood, p->pos(), rng( corpse->size + 2, ( corpse->size + 1 ) * 2 ) ); @@ -1504,19 +1504,19 @@ void activity_handlers::forage_finish( player_activity *act, player *p ) switch( season_of_year( calendar::turn ) ) { case SPRING: loc = "forage_spring"; - next_ter = ter_underbrush_harvested_spring; + next_ter = ter_str_id( "t_underbrush_harvested_spring" ); break; case SUMMER: loc = "forage_summer"; - next_ter = ter_underbrush_harvested_summer; + next_ter = ter_str_id( "t_underbrush_harvested_summer" ); break; case AUTUMN: loc = "forage_autumn"; - next_ter = ter_underbrush_harvested_autumn; + next_ter = ter_str_id( "t_underbrush_harvested_autumn" ); break; case WINTER: loc = "forage_winter"; - next_ter = ter_underbrush_harvested_winter; + next_ter = ter_str_id( "t_underbrush_harvested_winter" ); break; default: debugmsg( "Invalid season" ); @@ -2362,7 +2362,7 @@ struct weldrig_hack { return false; } - part = veh->part_with_feature( part, flag_WELDRIG, true ); + part = veh->part_with_feature( part, "WELDRIG", true ); return part >= 0; } @@ -2559,7 +2559,7 @@ void activity_handlers::heat_item_finish( player_activity *act, player *p ) return; } item &target = *heat->get_food(); - if( target.item_tags.count( flag_FROZEN ) ) { + if( target.item_tags.count( "FROZEN" ) ) { target.apply_freezerburn(); if( target.has_flag( flag_EATEN_COLD ) ) { target.cold_up(); @@ -2696,7 +2696,7 @@ void activity_handlers::toolmod_add_finish( player_activity *act, player *p ) item &mod = *act->targets[1]; p->add_msg_if_player( m_good, _( "You successfully attached the %1$s to your %2$s." ), mod.tname(), tool.tname() ); - mod.item_tags.insert( flag_IRREMOVABLE ); + mod.item_tags.insert( "IRREMOVABLE" ); tool.contents.push_back( mod ); act->targets[1].remove_item(); } @@ -2860,7 +2860,7 @@ static void rod_fish( player *p, std::vector &fishables ) //if the vector is empty (no fish around) the player is still given a small chance to get a (let us say it was hidden) fish if( fishables.empty() ) { const std::vector fish_group = MonsterGroupManager::GetMonstersFromGroup( - GROUP_FISH ); + mongroup_id( "GROUP_FISH" ) ); const mtype_id fish_mon = random_entry_ref( fish_group ); g->m.add_item_or_charges( p->pos(), item::make_corpse( fish_mon, calendar::turn + rng( 0_turns, 3_hours ) ) ); @@ -3867,7 +3867,7 @@ void activity_handlers::dig_finish( player_activity *act, player *p ) g->m.place_items( "jewelry_front", 20, pos, pos, false, calendar::turn ); for( const auto &it : dropped ) { if( it->is_armor() ) { - it->item_tags.insert( flag_FILTHY ); + it->item_tags.insert( "FILTHY" ); it->set_damage( rng( 1, it->max_damage() - 1 ) ); } } diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp index e542aef712239..38cf6f12711ab 100644 --- a/src/activity_item_handling.cpp +++ b/src/activity_item_handling.cpp @@ -326,8 +326,7 @@ void put_into_vehicle_or_drop( Character &c, item_drop_reason reason, const std: void put_into_vehicle_or_drop( Character &c, item_drop_reason reason, const std::list &items, const tripoint &where, bool force_ground ) { - const cata::optional vp = g->m.veh_at( where ).part_with_feature( flag_CARGO, - false ); + const cata::optional vp = g->m.veh_at( where ).part_with_feature( "CARGO", false ); if( vp && !force_ground ) { put_into_vehicle( c, reason, items, vp->vehicle(), vp->part_index() ); return; @@ -632,7 +631,7 @@ void activity_handlers::washing_finish( player_activity *act, player *p ) for( const auto &ait : items ) { item *filthy_item = const_cast( &*ait.loc ); - filthy_item->item_tags.erase( flag_FILTHY ); + filthy_item->item_tags.erase( "FILTHY" ); p->on_worn_item_washed( *filthy_item ); } @@ -884,7 +883,7 @@ static int move_cost( const item &it, const tripoint &src, const tripoint &dest tripoint cart_position = g->u.pos() + g->u.grab_point; if( const cata::optional vp = g->m.veh_at( - cart_position ).part_with_feature( flag_CARGO, false ) ) { + cart_position ).part_with_feature( "CARGO", false ) ) { auto veh = vp->vehicle(); auto vstor = vp->part_index(); auto capacity = veh.free_volume( vstor ); @@ -1185,7 +1184,7 @@ static bool are_requirements_nearby( const std::vector &loot_spots, activity_to_restore == ACT_MULTIPLE_FISH; bool found_welder = false; for( item *elem : p.inv_dump() ) { - if( elem->has_quality( quality_WELD ) ) { + if( elem->has_quality( qual_WELD ) ) { found_welder = true; } temp_inv += *elem; @@ -1217,7 +1216,7 @@ static bool are_requirements_nearby( const std::vector &loot_spots, temp_inv += elem2; } if( !in_loot_zones ) { - if( const cata::optional vp = g->m.veh_at( elem ).part_with_feature( flag_CARGO, + if( const cata::optional vp = g->m.veh_at( elem ).part_with_feature( "CARGO", false ) ) { vehicle &src_veh = vp->vehicle(); int src_part = vp->part_index(); @@ -1233,15 +1232,15 @@ static bool are_requirements_nearby( const std::vector &loot_spots, const optional_vpart_position vp = g->m.veh_at( elem ); if( vp ) { vehicle &veh = vp->vehicle(); - const cata::optional weldpart = vp.part_with_feature( flag_WELDRIG, true ); + const cata::optional weldpart = vp.part_with_feature( "WELDRIG", true ); if( weldpart ) { item welder( "welder", 0 ); - welder.charges = veh.fuel_left( fuel_type_battery, true ); - welder.item_tags.insert( flag_PSEUDO ); + welder.charges = veh.fuel_left( "battery", true ); + welder.item_tags.insert( "PSEUDO" ); temp_inv.add_item( welder ); item soldering_iron( "soldering_iron", 0 ); - soldering_iron.charges = veh.fuel_left( fuel_type_battery, true ); - soldering_iron.item_tags.insert( flag_PSEUDO ); + soldering_iron.charges = veh.fuel_left( "battery", true ); + soldering_iron.item_tags.insert( "PSEUDO" ); temp_inv.add_item( soldering_iron ); } } @@ -1401,7 +1400,7 @@ static activity_reason_info can_do_activity_there( const activity_id &act, playe if( act == ACT_MULTIPLE_CHOP_TREES ) { if( g->m.has_flag( flag_TREE, src_loc ) || g->m.ter( src_loc ) == t_trunk || g->m.ter( src_loc ) == t_stump ) { - if( p.has_quality( quality_AXE ) ) { + if( p.has_quality( qual_AXE ) ) { return activity_reason_info::ok( NEEDS_TREE_CHOPPING ); } else { return activity_reason_info::fail( NEEDS_TREE_CHOPPING ); @@ -1437,8 +1436,8 @@ static activity_reason_info can_do_activity_there( const activity_id &act, playe if( !b_rack_present || !g->m.has_nearby_table( src_loc, 2 ) ) { return activity_reason_info::fail( NO_ZONE ); } - if( p.has_quality( quality_id( quality_BUTCHER ), 1 ) && ( p.has_quality( quality_SAW_W ) || - p.has_quality( quality_SAW_M ) ) ) { + if( p.has_quality( quality_id( qual_BUTCHER ), 1 ) && ( p.has_quality( qual_SAW_W ) || + p.has_quality( qual_SAW_M ) ) ) { return activity_reason_info::ok( NEEDS_BIG_BUTCHERING ); } else { return activity_reason_info::fail( NEEDS_BIG_BUTCHERING ); @@ -1446,7 +1445,7 @@ static activity_reason_info can_do_activity_there( const activity_id &act, playe } if( ( big_count > 0 && small_count > 0 ) || ( big_count == 0 ) ) { // there are small corpses here, so we can ignore any big corpses here for the moment. - if( p.has_quality( quality_BUTCHER, 1 ) ) { + if( p.has_quality( qual_BUTCHER, 1 ) ) { return activity_reason_info::ok( NEEDS_BUTCHERING ); } else { return activity_reason_info::fail( NEEDS_BUTCHERING ); @@ -1460,7 +1459,7 @@ static activity_reason_info can_do_activity_there( const activity_id &act, playe for( auto &i : g->m.i_at( src_loc ) ) { if( i.typeId() == "log" ) { // do we have an axe? - if( p.has_quality( quality_AXE, 1 ) ) { + if( p.has_quality( qual_AXE, 1 ) ) { return activity_reason_info::ok( NEEDS_CHOPPING ); } else { return activity_reason_info::fail( NEEDS_CHOPPING ); @@ -1507,7 +1506,7 @@ static activity_reason_info can_do_activity_there( const activity_id &act, playe // simple work, pulling up plants, nothing else required. return activity_reason_info::ok( NEEDS_HARVESTING ); } else if( g->m.has_flag( flag_PLOWABLE, src_loc ) && !g->m.has_furn( src_loc ) ) { - if( p.has_quality( quality_DIG, 1 ) ) { + if( p.has_quality( qual_DIG, 1 ) ) { // we have a shovel/hoe already, great return activity_reason_info::ok( NEEDS_TILLING ); } else { @@ -1898,7 +1897,7 @@ static bool tidy_activity( player &p, const tripoint &src_loc, vehicle *dest_veh; int dest_part; if( const cata::optional vp = g->m.veh_at( - loot_src_lot ).part_with_feature( flag_CARGO, + loot_src_lot ).part_with_feature( "CARGO", false ) ) { dest_veh = &vp->vehicle(); dest_part = vp->part_index(); @@ -1938,7 +1937,7 @@ static void fetch_activity( player &p, const tripoint &src_loc, auto items_there = g->m.i_at( src_loc ); vehicle *src_veh = nullptr; int src_part = 0; - if( const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( flag_CARGO, + if( const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( "CARGO", false ) ) { src_veh = &vp->vehicle(); src_part = vp->part_index(); @@ -2047,7 +2046,7 @@ static item *best_quality_item( player &p, const quality_id &qual ) static bool chop_plank_activity( player &p, const tripoint &src_loc ) { - item *best_qual = best_quality_item( p, quality_AXE ); + item *best_qual = best_quality_item( p, qual_AXE ); if( !best_qual ) { return false; } @@ -2143,7 +2142,7 @@ void activity_on_turn_move_loot( player_activity &act, player &p ) } //nothing to sort? - const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( flag_CARGO, + const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( "CARGO", false ); if( ( !vp || vp->vehicle().get_items( vp->part_index() ).empty() ) && g->m.i_at( src_loc ).empty() ) { @@ -2214,7 +2213,7 @@ void activity_on_turn_move_loot( player_activity &act, player &p ) //Check source for cargo part //map_stack and vehicle_stack are different types but inherit from item_stack // TODO: use one for loop - if( const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( flag_CARGO, + if( const cata::optional vp = g->m.veh_at( src_loc ).part_with_feature( "CARGO", false ) ) { src_veh = &vp->vehicle(); src_part = vp->part_index(); @@ -2259,9 +2258,8 @@ void activity_on_turn_move_loot( player_activity &act, player &p ) const tripoint &dest_loc = g->m.getlocal( dest ); //Check destination for cargo part - if( const cata::optional vp = g->m.veh_at( dest_loc ).part_with_feature( - flag_CARGO, - false ) ) { + if( const cata::optional vp = g->m.veh_at( dest_loc ).part_with_feature( "CARGO", + false ) ) { dest_veh = &vp->vehicle(); dest_part = vp->part_index(); } else { @@ -2316,7 +2314,7 @@ void activity_on_turn_move_loot( player_activity &act, player &p ) static int chop_moves( player &p, item *it ) { // quality of tool - const int quality = it->get_quality( quality_AXE ); + const int quality = it->get_quality( qual_AXE ); // attribute; regular tools - based on STR, powered tools - based on DEX const int attr = it->has_flag( flag_POWERED ) ? p.dex_cur : p.str_cur; @@ -2329,7 +2327,7 @@ static int chop_moves( player &p, item *it ) static bool chop_tree_activity( player &p, const tripoint &src_loc ) { - item *best_qual = best_quality_item( p, quality_AXE ); + item *best_qual = best_quality_item( p, qual_AXE ); if( !best_qual ) { return false; } @@ -2591,21 +2589,21 @@ static bool generic_multi_activity_check_requirement( player &p, const activity_ std::vector> quality_comp_vector; std::vector> tool_comp_vector; if( reason == NEEDS_TILLING ) { - quality_comp_vector.push_back( std::vector { quality_requirement( quality_DIG, 1, 1 ) } ); + quality_comp_vector.push_back( std::vector { quality_requirement( qual_DIG, 1, 1 ) } ); } else if( reason == NEEDS_CHOPPING || reason == NEEDS_TREE_CHOPPING ) { - quality_comp_vector.push_back( std::vector { quality_requirement( quality_AXE, 1, 1 ) } ); + quality_comp_vector.push_back( std::vector { quality_requirement( qual_AXE, 1, 1 ) } ); } else if( reason == NEEDS_PLANTING ) { requirement_comp_vector.push_back( std::vector { item_comp( itype_id( dynamic_cast ( zone->get_options() ).get_seed() ), 1 ) } ); } else if( reason == NEEDS_BUTCHERING || reason == NEEDS_BIG_BUTCHERING ) { - quality_comp_vector.push_back( std::vector { quality_requirement( quality_BUTCHER, 1, 1 ) } ); + quality_comp_vector.push_back( std::vector { quality_requirement( qual_BUTCHER, 1, 1 ) } ); if( reason == NEEDS_BIG_BUTCHERING ) { - quality_comp_vector.push_back( std::vector { quality_requirement( quality_SAW_M, 1, 1 ), quality_requirement( quality_SAW_W, 1, 1 ) } ); + quality_comp_vector.push_back( std::vector { quality_requirement( qual_SAW_M, 1, 1 ), quality_requirement( qual_SAW_W, 1, 1 ) } ); } } else if( reason == NEEDS_FISHING ) { - quality_comp_vector.push_back( std::vector {quality_requirement( quality_FISHING, 1, 1 )} ); + quality_comp_vector.push_back( std::vector {quality_requirement( qual_FISHING, 1, 1 )} ); } // ok, we need a shovel/hoe/axe/etc // this is an activity that only requires this one tool, so we will fetch and wield it. @@ -2681,7 +2679,7 @@ static bool generic_multi_activity_do( player &p, const activity_id &act_id, if( reason == NEEDS_HARVESTING && g->m.has_flag_furn( flag_GROWTH_HARVEST, src_loc ) ) { iexamine::harvest_plant( p, src_loc, true ); } else if( reason == NEEDS_TILLING && g->m.has_flag( flag_PLOWABLE, src_loc ) && - p.has_quality( quality_DIG, 1 ) && !g->m.has_furn( src_loc ) ) { + p.has_quality( qual_DIG, 1 ) && !g->m.has_furn( src_loc ) ) { p.assign_activity( ACT_CHURN, 18000, -1 ); p.backlog.push_front( act_id ); p.activity.placement = src; @@ -2702,7 +2700,7 @@ static bool generic_multi_activity_do( player &p, const activity_id &act_id, iexamine::plant_seed( p, src_loc, itype_id( seed ) ); break; } - } else if( reason == NEEDS_CHOPPING && p.has_quality( quality_AXE, 1 ) ) { + } else if( reason == NEEDS_CHOPPING && p.has_quality( qual_AXE, 1 ) ) { if( chop_plank_activity( p, src_loc ) ) { p.backlog.push_front( act_id ); return false; @@ -2731,16 +2729,16 @@ static bool generic_multi_activity_do( player &p, const activity_id &act_id, // Because some player activities are necessarily not marked as auto-resume. activity_handlers::resume_for_multi_activities( p ); return false; - } else if( reason == NEEDS_TREE_CHOPPING && p.has_quality( quality_AXE, 1 ) ) { + } else if( reason == NEEDS_TREE_CHOPPING && p.has_quality( qual_AXE, 1 ) ) { p.backlog.push_front( act_id ); if( chop_tree_activity( p, src_loc ) ) { return false; } - } else if( reason == NEEDS_FISHING && p.has_quality( quality_FISHING, 1 ) ) { + } else if( reason == NEEDS_FISHING && p.has_quality( qual_FISHING, 1 ) ) { p.backlog.push_front( act_id ); // we dont want to keep repeating the fishing activity, just piggybacking on this functions structure to find requirements. p.activity = player_activity(); - item *best_rod = best_quality_item( p, quality_FISHING ); + item *best_rod = best_quality_item( p, qual_FISHING ); p.assign_activity( ACT_FISH, to_moves( 5_hours ), 0, p.get_item_position( best_rod ), best_rod->tname() ); p.activity.coord_set = g->get_fishable_locations( ACTIVITY_SEARCH_DISTANCE, src_loc ); diff --git a/src/advanced_inv_area.cpp b/src/advanced_inv_area.cpp index 8e3c3e77cc163..2890677790bef 100644 --- a/src/advanced_inv_area.cpp +++ b/src/advanced_inv_area.cpp @@ -40,7 +40,6 @@ #include #include #include -#include "cata_string_consts.h" int advanced_inv_area::get_item_count() const { @@ -81,7 +80,7 @@ void advanced_inv_area::init() off = g->u.grab_point; // Reset position because offset changed pos = g->u.pos() + off; - if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( flag_CARGO, + if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", false ) ) { veh = &vp->vehicle(); vstor = vp->part_index(); @@ -123,7 +122,7 @@ void advanced_inv_area::init() case AIM_NORTH: case AIM_NORTHEAST: { const cata::optional vp = - g->m.veh_at( pos ).part_with_feature( flag_CARGO, false ); + g->m.veh_at( pos ).part_with_feature( "CARGO", false ); if( vp ) { veh = &vp->vehicle(); vstor = vp->part_index(); @@ -399,7 +398,7 @@ void advanced_inv_area::set_container_position() // update the absolute position pos = g->u.pos() + off; // update vehicle information - if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( flag_CARGO, + if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", false ) ) { veh = &vp->vehicle(); vstor = vp->part_index(); diff --git a/src/advanced_inv_listitem.h b/src/advanced_inv_listitem.h index 89e514fef3fa0..55ae22c6997d9 100644 --- a/src/advanced_inv_listitem.h +++ b/src/advanced_inv_listitem.h @@ -18,6 +18,7 @@ class item_category; class advanced_inv_listitem { public: + using itype_id = std::string; /** * Index of the item in the itemstack. */ diff --git a/src/ammo.h b/src/ammo.h index f3e91f4f15b7c..173ab6ff7c88d 100644 --- a/src/ammo.h +++ b/src/ammo.h @@ -5,10 +5,10 @@ #include #include -#include "type_id.h" - class JsonObject; +using itype_id = std::string; + class ammunition_type { friend class DynamicDataLoader; diff --git a/src/armor_layers.cpp b/src/armor_layers.cpp index 193354a22d2eb..a8dc810618923 100644 --- a/src/armor_layers.cpp +++ b/src/armor_layers.cpp @@ -311,7 +311,7 @@ std::vector clothing_flags_description( const item &worn_item ) if( worn_item.has_flag( flag_FIT ) ) { description_stack.push_back( _( "It fits you well." ) ); - } else if( worn_item.has_flag( flag_VARSIZE ) ) { + } else if( worn_item.has_flag( "VARSIZE" ) ) { description_stack.push_back( _( "It could be refitted." ) ); } diff --git a/src/artifact.cpp b/src/artifact.cpp index 9cc1f8c6b1066..2c8fa5da7c1da 100644 --- a/src/artifact.cpp +++ b/src/artifact.cpp @@ -24,7 +24,6 @@ #include "units.h" #include "type_id.h" #include "value_ptr.h" -#include "cata_string_consts.h" template inline units::quantity rng( const units::quantity &min, @@ -418,27 +417,27 @@ static const std::array artifact_property_ }; static const std::array artifact_tool_form_data = { { { - translate_marker( "Harp" ), ';', def_c_yellow, material_wood, 5_liter, 7500_ml, 1150_gram, 2100_gram, ARTWEAP_BULK, + translate_marker( "Harp" ), ';', def_c_yellow, material_id( "wood" ), 5_liter, 7500_ml, 1150_gram, 2100_gram, ARTWEAP_BULK, {{ARTWEAP_SPEAR, ARTWEAP_SWORD, ARTWEAP_KNIFE}} }, { - translate_marker( "Staff" ), '/', def_c_brown, material_wood, 1500_ml, 3_liter, 450_gram, 1150_gram, ARTWEAP_CLUB, + translate_marker( "Staff" ), '/', def_c_brown, material_id( "wood" ), 1500_ml, 3_liter, 450_gram, 1150_gram, ARTWEAP_CLUB, {{ARTWEAP_BULK, ARTWEAP_SPEAR, ARTWEAP_KNIFE}} }, { - translate_marker( "Sword" ), '/', def_c_light_blue, material_steel, 2_liter, 3500_ml, 900_gram, 3259_gram, ARTWEAP_SWORD, + translate_marker( "Sword" ), '/', def_c_light_blue, material_id( "steel" ), 2_liter, 3500_ml, 900_gram, 3259_gram, ARTWEAP_SWORD, {{ARTWEAP_BULK, NUM_ARTWEAPS, NUM_ARTWEAPS}} }, { - translate_marker( "Dagger" ), ';', def_c_light_blue, material_steel, 250_ml, 1_liter, 100_gram, 700_gram, ARTWEAP_KNIFE, + translate_marker( "Dagger" ), ';', def_c_light_blue, material_id( "steel" ), 250_ml, 1_liter, 100_gram, 700_gram, ARTWEAP_KNIFE, {{NUM_ARTWEAPS, NUM_ARTWEAPS, NUM_ARTWEAPS}} }, { - translate_marker( "Cube" ), '*', def_c_white, material_steel, 250_ml, 750_ml, 100_gram, 2300_gram, ARTWEAP_BULK, + translate_marker( "Cube" ), '*', def_c_white, material_id( "steel" ), 250_ml, 750_ml, 100_gram, 2300_gram, ARTWEAP_BULK, {{ARTWEAP_SPEAR, NUM_ARTWEAPS, NUM_ARTWEAPS}} } } @@ -455,7 +454,7 @@ static const std::array artifact_weapon_dat static const std::array artifact_armor_form_data = { { // Name color Material Vol Wgt Enc MaxEnc Cov Thk Env Wrm Sto Bsh Cut Hit { - translate_marker( "Robe" ), def_c_red, material_wool, 1500_ml, 700_gram, 1, 1, 90, 3, 0, 2, 0_ml, -8, 0, -3, + translate_marker( "Robe" ), def_c_red, material_id( "wool" ), 1500_ml, 700_gram, 1, 1, 90, 3, 0, 2, 0_ml, -8, 0, -3, { { bp_torso, bp_leg_l, bp_leg_r } }, false, {{ ARMORMOD_LIGHT, ARMORMOD_BULKY, ARMORMOD_POCKETED, ARMORMOD_FURRED, @@ -465,7 +464,7 @@ static const std::array artifact_arm }, { - translate_marker( "Coat" ), def_c_brown, material_leather, 3500_ml, 1600_gram, 2, 2, 80, 2, 1, 4, 1_liter, -6, 0, -3, + translate_marker( "Coat" ), def_c_brown, material_id( "leather" ), 3500_ml, 1600_gram, 2, 2, 80, 2, 1, 4, 1_liter, -6, 0, -3, { bp_torso }, false, {{ ARMORMOD_LIGHT, ARMORMOD_POCKETED, ARMORMOD_FURRED, ARMORMOD_PADDED, @@ -475,7 +474,7 @@ static const std::array artifact_arm }, { - translate_marker( "Mask" ), def_c_white, material_wood, 1_liter, 100_gram, 2, 2, 50, 2, 1, 2, 0_ml, 2, 0, -2, + translate_marker( "Mask" ), def_c_white, material_id( "wood" ), 1_liter, 100_gram, 2, 2, 50, 2, 1, 2, 0_ml, 2, 0, -2, { { bp_eyes, bp_mouth } }, false, {{ ARMORMOD_FURRED, ARMORMOD_FURRED, ARMORMOD_NULL, ARMORMOD_NULL, @@ -486,7 +485,7 @@ static const std::array artifact_arm // Name color Materials Vol Wgt Enc MaxEnc Cov Thk Env Wrm Sto Bsh Cut Hit { - translate_marker( "Helm" ), def_c_dark_gray, material_silver, 1500_ml, 700_gram, 2, 2, 85, 3, 0, 1, 0_ml, 8, 0, -2, + translate_marker( "Helm" ), def_c_dark_gray, material_id( "silver" ), 1500_ml, 700_gram, 2, 2, 85, 3, 0, 1, 0_ml, 8, 0, -2, { bp_head }, false, {{ ARMORMOD_BULKY, ARMORMOD_FURRED, ARMORMOD_PADDED, ARMORMOD_PLATED, @@ -496,7 +495,7 @@ static const std::array artifact_arm }, { - translate_marker( "Gloves" ), def_c_light_blue, material_leather, 500_ml, 100_gram, 1, 1, 90, 3, 1, 2, 0_ml, -4, 0, -2, + translate_marker( "Gloves" ), def_c_light_blue, material_id( "leather" ), 500_ml, 100_gram, 1, 1, 90, 3, 1, 2, 0_ml, -4, 0, -2, { { bp_hand_l, bp_hand_r } }, true, {{ ARMORMOD_BULKY, ARMORMOD_FURRED, ARMORMOD_PADDED, ARMORMOD_PLATED, @@ -507,7 +506,7 @@ static const std::array artifact_arm // Name color Materials Vol Wgt Enc MaxEnc Cov Thk Env Wrm Sto Bsh Cut Hit { - translate_marker( "Boots" ), def_c_blue, material_leather, 1500_ml, 250_gram, 1, 1, 75, 3, 1, 3, 0_ml, 4, 0, -1, + translate_marker( "Boots" ), def_c_blue, material_id( "leather" ), 1500_ml, 250_gram, 1, 1, 75, 3, 1, 3, 0_ml, 4, 0, -1, { { bp_foot_l, bp_foot_r } }, true, {{ ARMORMOD_LIGHT, ARMORMOD_BULKY, ARMORMOD_PADDED, ARMORMOD_PLATED, @@ -517,7 +516,7 @@ static const std::array artifact_arm }, { - translate_marker( "Ring" ), def_c_light_green, material_silver, 0_ml, 4_gram, 0, 0, 0, 0, 0, 0, 0_ml, 0, 0, 0, + translate_marker( "Ring" ), def_c_light_green, material_id( "silver" ), 0_ml, 4_gram, 0, 0, 0, 0, 0, 0, 0_ml, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} } @@ -530,44 +529,44 @@ static const std::array artifact_arm */ static const std::array artifact_armor_mod_data = { { { - "", def_c_white, material_null, 0_ml, 0_gram, 0, 0, 0, 0, 0, 0, 0_ml, 0, 0, 0, {}, false, + "", def_c_white, material_id( "null" ), 0_ml, 0_gram, 0, 0, 0, 0, 0, 0, 0_ml, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, // Description; "It is ..." or "They are ..." { - translate_marker( "very thin and light." ), def_c_white, material_null, + translate_marker( "very thin and light." ), def_c_white, material_id( "null" ), // Vol Wgt Enc MaxEnc Cov Thk Env Wrm Sto -1_liter, -950_gram, -2, -2, -1, -1, -1, -1, 0_ml, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, { - translate_marker( "extremely bulky." ), def_c_white, material_null, + translate_marker( "extremely bulky." ), def_c_white, material_id( "null" ), 2_liter, 1150_gram, 2, 2, 1, 1, 0, 1, 0_ml, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, { - translate_marker( "covered in pockets." ), def_c_white, material_null, + translate_marker( "covered in pockets." ), def_c_white, material_id( "null" ), 250_ml, 150_gram, 1, 1, 0, 0, 0, 0, 4_liter, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, { - translate_marker( "disgustingly furry." ), def_c_white, material_wool, + translate_marker( "disgustingly furry." ), def_c_white, material_id( "wool" ), // Vol Wgt Enc MaxEnc Dmg Cut Env Wrm Sto 1_liter, 250_gram, 1, 1, 1, 1, 1, 3, 0_ml, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, { - translate_marker( "leather-padded." ), def_c_white, material_leather, + translate_marker( "leather-padded." ), def_c_white, material_id( "leather" ), 1_liter, 450_gram, 1, 1, 1, 1, 0, 1, -750_ml, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, { - translate_marker( "plated in iron." ), def_c_white, material_iron, + translate_marker( "plated in iron." ), def_c_white, material_id( "iron" ), 1_liter, 1400_gram, 3, 3, 2, 2, 0, 1, -1_liter, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, @@ -942,7 +941,7 @@ std::string new_natural_artifact( artifact_natural_property prop ) def.sym = ":"; def.color = c_yellow; - def.materials.push_back( material_stone ); + def.materials.push_back( material_id( "stone" ) ); def.volume = rng( shape_data.volume_min, shape_data.volume_max ); def.weight = rng( shape_data.weight_min, shape_data.weight_max ); def.melee[DT_BASH] = 0; diff --git a/src/avatar.cpp b/src/avatar.cpp index dea5853d96a54..c52af877b5dcc 100644 --- a/src/avatar.cpp +++ b/src/avatar.cpp @@ -1354,7 +1354,7 @@ void avatar::upgrade_stat_prompt( const Character::stat &stat ) faction *avatar::get_faction() const { - return g->faction_manager_ptr->get( faction_your_followers ); + return g->faction_manager_ptr->get( faction_id( "your_followers" ) ); } void avatar::set_movement_mode( character_movemode new_mode ) diff --git a/src/avatar_action.cpp b/src/avatar_action.cpp index 9bd38c5ea9c0c..029d69fdd1b66 100644 --- a/src/avatar_action.cpp +++ b/src/avatar_action.cpp @@ -304,7 +304,7 @@ bool avatar_action::move( avatar &you, map &m, int dx, int dy, int dz ) } else if( veh1 != veh0 ) { add_msg( m_info, _( "There is another vehicle in the way." ) ); return false; - } else if( !vp1.part_with_feature( flag_BOARDABLE, true ) ) { + } else if( !vp1.part_with_feature( "BOARDABLE", true ) ) { add_msg( m_info, _( "That part of the vehicle is currently unsafe." ) ); return false; } @@ -679,9 +679,9 @@ bool avatar_action::fire_check( avatar &you, const map &m, const targeting_data } if( mode_map.second->has_flag( flag_MOUNTED_GUN ) ) { - const bool v_mountable = static_cast( m.veh_at( you.pos() ).part_with_feature( flag_MOUNTABLE, + const bool v_mountable = static_cast( m.veh_at( you.pos() ).part_with_feature( "MOUNTABLE", true ) ); - bool t_mountable = m.has_flag_ter_or_furn( flag_MOUNTABLE, you.pos() ); + bool t_mountable = m.has_flag_ter_or_furn( "MOUNTABLE", you.pos() ); if( !t_mountable && !v_mountable ) { messages.push_back( string_format( _( "You must stand near acceptable terrain or furniture to use this %s. A table, a mound of dirt, a broken window, etc." ), @@ -1138,7 +1138,7 @@ void avatar_action::unload( avatar &you ) it = &you.i_at( loc.obtain( you ) ); } if( you.unload( *it ) ) { - if( it->has_flag( flag_MAG_DESTROY ) && it->ammo_remaining() == 0 ) { + if( it->has_flag( "MAG_DESTROY" ) && it->ammo_remaining() == 0 ) { you.remove_item( *it ); } } diff --git a/src/basecamp.cpp b/src/basecamp.cpp index e3d5ca2a7fdfb..2223f36e4c935 100644 --- a/src/basecamp.cpp +++ b/src/basecamp.cpp @@ -623,7 +623,7 @@ void basecamp::form_crafting_inventory( map &target_map ) for( basecamp_resource &bcp_r : resources ) { bcp_r.consumed = 0; item camp_item( bcp_r.fake_id, 0 ); - camp_item.item_tags.insert( flag_PSEUDO ); + camp_item.item_tags.insert( "PSEUDO" ); if( bcp_r.ammo_id != "NULL" ) { for( basecamp_fuel &bcp_f : fuels ) { if( bcp_f.ammo_id == bcp_r.ammo_id ) { diff --git a/src/basecamp.h b/src/basecamp.h index ea37bad461df3..6347425b33b38 100644 --- a/src/basecamp.h +++ b/src/basecamp.h @@ -42,6 +42,8 @@ struct expansion_data { using npc_ptr = shared_ptr_fast; using comp_list = std::vector; using Group_tag = std::string; +using itype_id = std::string; + namespace catacurses { class window; diff --git a/src/bionics.cpp b/src/bionics.cpp index 3af1b992c8cdf..4f27c2ed3d613 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -539,7 +539,7 @@ bool Character::activate_bionic( int b, bool eff_only ) } } else if( bio.id == bio_magnet ) { static const std::set affected_materials = - { material_iron, material_steel }; + { material_id( "iron" ), material_id( "steel" ) }; // Remember all items that will be affected, then affect them // Don't "snowball" by affecting some items multiple times std::vector> affected; diff --git a/src/bionics.h b/src/bionics.h index b0c08f3892481..c1da377933a68 100644 --- a/src/bionics.h +++ b/src/bionics.h @@ -21,6 +21,8 @@ class player; class JsonObject; class JsonIn; class JsonOut; +using itype_id = std::string; + struct bionic_data { bionic_data(); diff --git a/src/cata_string_consts.h b/src/cata_string_consts.h index 3410037bdc561..56b56993c83e4 100644 --- a/src/cata_string_consts.h +++ b/src/cata_string_consts.h @@ -3,7 +3,8 @@ #define STRING_CONSTS_H #include "type_id.h" -#include "itype.h" +#include "player_activity.h" + static const activity_id ACT_ADV_INVENTORY( "ACT_ADV_INVENTORY" ); static const activity_id ACT_AIM( "ACT_AIM" ); @@ -103,6 +104,7 @@ static const activity_id ACT_WAIT_WEATHER( "ACT_WAIT_WEATHER" ); static const activity_id ACT_WASH( "ACT_WASH" ); static const activity_id ACT_WEAR( "ACT_WEAR" ); + static const bionic_id bio_adrenaline( "bio_adrenaline" ); static const bionic_id bio_ads( "bio_ads" ); static const bionic_id bio_advreactor( "bio_advreactor" ); @@ -717,8 +719,12 @@ static const trait_id trait_WOOLALLERGY( "WOOLALLERGY" ); static const trait_id trait_XS( "XS" ); static const trait_id trait_XXXL( "XXXL" ); -static const mongroup_id GROUP_ANT( "GROUP_ANT" ); -static const mongroup_id GROUP_ANT_ACID( "GROUP_ANT_ACID" ); +static const trait_id debug_nodmg( "DEBUG_NODMG" ); + +static const std::string trait_flag_CANNIBAL( "CANNIBAL" ); +static const std::string trait_flag_PSYCHOPATH( "PSYCHOPATH" ); +static const std::string trait_flag_SAPIOVORE( "SAPIOVORE" ); + static const mongroup_id GROUP_BLOB( "GROUP_BLOB" ); static const mongroup_id GROUP_BREATHER( "GROUP_BREATHER" ); static const mongroup_id GROUP_BREATHER_HUB( "GROUP_BREATHER_HUB" ); @@ -822,7 +828,6 @@ static const mtype_id mon_hologram( "mon_hologram" ); static const mtype_id mon_horse( "mon_horse" ); static const mtype_id mon_hound_tindalos_afterimage( "mon_hound_tindalos_afterimage" ); static const mtype_id mon_jabberwock( "mon_jabberwock" ); -static const mtype_id mon_laserturret( "mon_laserturret" ); static const mtype_id mon_leech_blossom( "mon_leech_blossom" ); static const mtype_id mon_leech_root_drone( "mon_leech_root_drone" ); static const mtype_id mon_leech_root_runner( "mon_leech_root_runner" ); @@ -834,7 +839,6 @@ static const mtype_id mon_marloss_zealot_m( "mon_marloss_zealot_m" ); static const mtype_id mon_mink( "mon_mink" ); static const mtype_id mon_moose( "mon_moose" ); static const mtype_id mon_muskrat( "mon_muskrat" ); -static const mtype_id mon_null( "mon_null" ); static const mtype_id mon_opossum( "mon_opossum" ); static const mtype_id mon_otter( "mon_otter" ); static const mtype_id mon_pheasant( "mon_pheasant" ); @@ -900,7 +904,6 @@ static const mtype_id mon_zombie_hazmat( "mon_zombie_hazmat" ); static const mtype_id mon_zombie_hulk( "mon_zombie_hulk" ); static const mtype_id mon_zombie_hunter( "mon_zombie_hunter" ); static const mtype_id mon_zombie_jackson( "mon_zombie_jackson" ); -static const mtype_id mon_zombie_kevlar_2( "mon_zombie_kevlar_2" ); static const mtype_id mon_zombie_master( "mon_zombie_master" ); static const mtype_id mon_zombie_military_pilot( "mon_zombie_military_pilot" ); static const mtype_id mon_zombie_necro( "mon_zombie_necro" ); @@ -921,14 +924,10 @@ static const mtype_id mon_zombie_technician( "mon_zombie_technician" ); static const mtype_id mon_zombie_tough( "mon_zombie_tough" ); static const mtype_id mon_zombie_waif( "mon_zombie_waif" ); + static const std::string flag_ACID( "ACID" ); -static const std::string flag_ACID_IMMUNE( "ACID_IMMUNE" ); static const std::string flag_ACT_IN_FIRE( "ACT_IN_FIRE" ); -static const std::string flag_ACT_ON_RANGED_HIT( "ACT_ON_RANGED_HIT" ); static const std::string flag_ACTIVE_CLOAKING( "ACTIVE_CLOAKING" ); -static const std::string flag_ADVANCED_PLANTER( "ADVANCED_PLANTER" ); -static const std::string flag_AISLE( "AISLE" ); -static const std::string flag_ALARMCLOCK( "ALARMCLOCK" ); static const std::string flag_ALARMED( "ALARMED" ); static const std::string flag_ALLERGEN_EGG( "ALLERGEN_EGG" ); static const std::string flag_ALLERGEN_FRUIT( "ALLERGEN_FRUIT" ); @@ -937,149 +936,83 @@ static const std::string flag_ALLERGEN_MEAT( "ALLERGEN_MEAT" ); static const std::string flag_ALLERGEN_MILK( "ALLERGEN_MILK" ); static const std::string flag_ALLERGEN_VEGGY( "ALLERGEN_VEGGY" ); static const std::string flag_ALLERGEN_WHEAT( "ALLERGEN_WHEAT" ); -static const std::string flag_ALLERGEN_WOOL( "ALLERGEN_WOOL" ); -static const std::string flag_ALLOW_OUTSIDE( "ALLOW_OUTSIDE" ); -static const std::string flag_ALLOW_ROTTEN( "ALLOW_ROTTEN" ); static const std::string flag_ALLOWS_NATURAL_ATTACKS( "ALLOWS_NATURAL_ATTACKS" ); static const std::string flag_ALLOWS_REMOTE_USE( "ALLOWS_REMOTE_USE" ); -static const std::string flag_ALTERNATOR( "ALTERNATOR" ); static const std::string flag_ALWAYS_TWOHAND( "ALWAYS_TWOHAND" ); static const std::string flag_ANESTHESIA( "ANESTHESIA" ); -static const std::string flag_ANIMAL_CTRL( "ANIMAL_CTRL" ); -static const std::string flag_ARMOR( "ARMOR" ); static const std::string flag_AURA( "AURA" ); static const std::string flag_AUT_START( "AUT_START" ); -static const std::string flag_auto_wield( "auto_wield" ); -static const std::string flag_AUTOCLAVE( "AUTOCLAVE" ); static const std::string flag_AUTODOC( "AUTODOC" ); static const std::string flag_AUTODOC_COUCH( "AUTODOC_COUCH" ); -static const std::string flag_AUTOPILOT( "AUTOPILOT" ); static const std::string flag_BAD_DAY( "BAD_DAY" ); static const std::string flag_BAROMETER( "BAROMETER" ); static const std::string flag_BARRICADABLE_DOOR( "BARRICADABLE_DOOR" ); static const std::string flag_BARRICADABLE_DOOR_DAMAGED( "BARRICADABLE_DOOR_DAMAGED" ); static const std::string flag_BARRICADABLE_DOOR_REINFORCED( "BARRICADABLE_DOOR_REINFORCED" ); static const std::string flag_BARRICADABLE_WINDOW_CURTAINS( "BARRICADABLE_WINDOW_CURTAINS" ); -static const std::string flag_BASH_IMMUNE( "BASH_IMMUNE" ); -static const std::string flag_BATTERY_MOUNT( "BATTERY_MOUNT" ); -static const std::string flag_BED( "BED" ); -static const std::string flag_BEEPER( "BEEPER" ); -static const std::string flag_BELTABLE( "BELTABLE" ); static const std::string flag_BELTED( "BELTED" ); -static const std::string flag_BIKE_RACK_VEH( "BIKE_RACK_VEH" ); -static const std::string flag_BIO_IMMUNE( "BIO_IMMUNE" ); static const std::string flag_BIPOD( "BIPOD" ); static const std::string flag_BIRD( "BIRD" ); static const std::string flag_BLIND( "BLIND" ); static const std::string flag_BLIND_EASY( "BLIND_EASY" ); static const std::string flag_BLIND_HARD( "BLIND_HARD" ); static const std::string flag_BLOCK_WHILE_WORN( "BLOCK_WHILE_WORN" ); -static const std::string flag_BLOCK_WIND( "BLOCK_WIND" ); static const std::string flag_BLOCKSDOOR( "BLOCKSDOOR" ); -static const std::string flag_BOARDABLE( "BOARDABLE" ); -static const std::string flag_BOARDED( "BOARDED" ); static const std::string flag_BOMB( "BOMB" ); -static const std::string flag_BURROWABLE( "BURROWABLE" ); static const std::string flag_BUTCHER_EQ( "BUTCHER_EQ" ); static const std::string flag_BYPRODUCT( "BYPRODUCT" ); static const std::string flag_CABLE_SPOOL( "CABLE_SPOOL" ); -static const std::string flag_CAMERA( "CAMERA" ); -static const std::string flag_CAMERA_CONTROL( "CAMERA_CONTROL" ); static const std::string flag_CAMERA_PRO( "CAMERA_PRO" ); static const std::string flag_CAN_SIT( "CAN_SIT" ); -static const std::string flag_CANNIBAL( "CANNIBAL" ); static const std::string flag_CANNIBALISM( "CANNIBALISM" ); -static const std::string flag_CANT_HEAL_EVERYONE( "CANT_HEAL_EVERYONE" ); -static const std::string flag_CAPTURE_MONSTER_VEH( "CAPTURE_MONSTER_VEH" ); -static const std::string flag_CARGO( "CARGO" ); -static const std::string flag_CARGO_LOCKING( "CARGO_LOCKING" ); static const std::string flag_CARNIVORE_OK( "CARNIVORE_OK" ); static const std::string flag_CASING( "CASING" ); static const std::string flag_CATTLE( "CATTLE" ); static const std::string flag_CHALLENGE( "CHALLENGE" ); static const std::string flag_CHARGEDIM( "CHARGEDIM" ); -static const std::string flag_CHEMLAB( "CHEMLAB" ); -static const std::string flag_CHIMES( "CHIMES" ); static const std::string flag_CITY_START( "CITY_START" ); -static const std::string flag_CLIMATE_CONTROL( "CLIMATE_CONTROL" ); static const std::string flag_CLIMB_SIMPLE( "CLIMB_SIMPLE" ); static const std::string flag_CLIMBABLE( "CLIMBABLE" ); static const std::string flag_COLD( "COLD" ); -static const std::string flag_COLD_IMMUNE( "COLD_IMMUNE" ); static const std::string flag_COLLAPSES( "COLLAPSES" ); static const std::string flag_COLLAPSIBLE_STOCK( "COLLAPSIBLE_STOCK" ); -static const std::string flag_COLLAR( "COLLAR" ); static const std::string flag_CONDUCTIVE( "CONDUCTIVE" ); static const std::string flag_CONSOLE( "CONSOLE" ); static const std::string flag_CONSUMABLE( "CONSUMABLE" ); static const std::string flag_CONTAINER( "CONTAINER" ); -static const std::string flag_CONTROL_ANIMAL( "CONTROL_ANIMAL" ); -static const std::string flag_CONTROLS( "CONTROLS" ); static const std::string flag_COOKED( "COOKED" ); -static const std::string flag_COOLER( "COOLER" ); static const std::string flag_CORPSE( "CORPSE" ); -static const std::string flag_COVERED( "COVERED" ); -static const std::string flag_CRAFTRIG( "CRAFTRIG" ); -static const std::string flag_CRASH_TERRAIN_AROUND( "CRASH_TERRAIN_AROUND" ); -static const std::string flag_CTRL_ELECTRONIC( "CTRL_ELECTRONIC" ); static const std::string flag_CURRENT( "CURRENT" ); -static const std::string flag_CURTAIN( "CURTAIN" ); -static const std::string flag_CUT_IMMUNE( "CUT_IMMUNE" ); static const std::string flag_DANGEROUS( "DANGEROUS" ); static const std::string flag_DEAF( "DEAF" ); static const std::string flag_DEEP_WATER( "DEEP_WATER" ); static const std::string flag_DESTROY_ITEM( "DESTROY_ITEM" ); -static const std::string flag_DETERGENT( "DETERGENT" ); static const std::string flag_DIAMOND( "DIAMOND" ); static const std::string flag_DIFFICULT_Z( "DIFFICULT_Z" ); static const std::string flag_DIG_TOOL( "DIG_TOOL" ); static const std::string flag_DIGGABLE( "DIGGABLE" ); static const std::string flag_DIGGABLE_CAN_DEEPEN( "DIGGABLE_CAN_DEEPEN" ); static const std::string flag_DIMENSIONAL_ANCHOR( "DIMENSIONAL_ANCHOR" ); -static const std::string flag_DIRTY( "DIRTY" ); static const std::string flag_DISABLE_SIGHTS( "DISABLE_SIGHTS" ); -static const std::string flag_DISHWASHER( "DISHWASHER" ); static const std::string flag_DONT_REMOVE_ROTTEN( "DONT_REMOVE_ROTTEN" ); -static const std::string flag_DOOR( "DOOR" ); -static const std::string flag_DOOR_MOTOR( "DOOR_MOTOR" ); static const std::string flag_DROP_ACTION_ONLY_IF_LIQUID( "DROP_ACTION_ONLY_IF_LIQUID" ); static const std::string flag_DURABLE_MELEE( "DURABLE_MELEE" ); -static const std::string flag_E_ALTERNATOR( "E_ALTERNATOR" ); -static const std::string flag_E_COLD_START( "E_COLD_START" ); -static const std::string flag_E_COMBUSTION( "E_COMBUSTION" ); -static const std::string flag_E_HEATER( "E_HEATER" ); -static const std::string flag_E_HIGHER_SKILL( "E_HIGHER_SKILL" ); -static const std::string flag_E_STARTS_INSTANTLY( "E_STARTS_INSTANTLY" ); static const std::string flag_EASY_DECONSTRUCT( "EASY_DECONSTRUCT" ); static const std::string flag_EATEN_COLD( "EATEN_COLD" ); static const std::string flag_EATEN_HOT( "EATEN_HOT" ); static const std::string flag_EDIBLE_FROZEN( "EDIBLE_FROZEN" ); -static const std::string flag_EFFECT_ACID_IMMUNE( "EFFECT_ACID_IMMUNE" ); -static const std::string flag_EFFECT_BASH_IMMUNE( "EFFECT_BASH_IMMUNE" ); -static const std::string flag_EFFECT_BIO_IMMUNE( "EFFECT_BIO_IMMUNE" ); -static const std::string flag_EFFECT_COLD_IMMUNE( "EFFECT_COLD_IMMUNE" ); -static const std::string flag_EFFECT_CUT_IMMUNE( "EFFECT_CUT_IMMUNE" ); -static const std::string flag_EFFECT_ELECTRIC_IMMUNE( "EFFECT_ELECTRIC_IMMUNE" ); -static const std::string flag_EFFECT_FEATHER_FALL( "EFFECT_FEATHER_FALL" ); -static const std::string flag_EFFECT_HEAT_IMMUNE( "EFFECT_HEAT_IMMUNE" ); static const std::string flag_EFFECT_INVISIBLE( "EFFECT_INVISIBLE" ); static const std::string flag_EFFECT_NIGHT_VISION( "EFFECT_NIGHT_VISION" ); -static const std::string flag_EFFECT_STAB_IMMUNE( "EFFECT_STAB_IMMUNE" ); -static const std::string flag_ELECTRIC_IMMUNE( "ELECTRIC_IMMUNE" ); static const std::string flag_EMITTER( "EMITTER" ); -static const std::string flag_ENGINE( "ENGINE" ); static const std::string flag_ETHEREAL_ITEM( "ETHEREAL_ITEM" ); -static const std::string flag_EXTRA_DRAG( "EXTRA_DRAG" ); static const std::string flag_FAKE_MILL( "FAKE_MILL" ); static const std::string flag_FAKE_SMOKE( "FAKE_SMOKE" ); static const std::string flag_FANCY( "FANCY" ); -static const std::string flag_FAUCET( "FAUCET" ); static const std::string flag_FELINE( "FELINE" ); static const std::string flag_FERTILIZER( "FERTILIZER" ); static const std::string flag_FIELD_DRESS( "FIELD_DRESS" ); static const std::string flag_FIELD_DRESS_FAILED( "FIELD_DRESS_FAILED" ); static const std::string flag_FILTHY( "FILTHY" ); -static const std::string flag_FIN( "FIN" ); static const std::string flag_FIRE( "FIRE" ); static const std::string flag_FIRE_100( "FIRE_100" ); static const std::string flag_FIRE_20( "FIRE_20" ); @@ -1101,25 +1034,16 @@ static const std::string flag_FLAMMABLE_ASH( "FLAMMABLE_ASH" ); static const std::string flag_FLASH_PROTECTION( "FLASH_PROTECTION" ); static const std::string flag_FLAT( "FLAT" ); static const std::string flag_FLAT_SURF( "FLAT_SURF" ); -static const std::string flag_FLOATS( "FLOATS" ); static const std::string flag_FLOTATION( "FLOTATION" ); static const std::string flag_FLOWER( "FLOWER" ); -static const std::string flag_FOLDABLE( "FOLDABLE" ); static const std::string flag_FORAGE_HALLU( "FORAGE_HALLU" ); static const std::string flag_FORAGE_POISON( "FORAGE_POISON" ); -static const std::string flag_FORGE( "FORGE" ); -static const std::string flag_FRAGILE( "FRAGILE" ); static const std::string flag_FRAGILE_MELEE( "FRAGILE_MELEE" ); -static const std::string flag_FREEZER( "FREEZER" ); static const std::string flag_FREEZERBURN( "FREEZERBURN" ); -static const std::string flag_FRIDGE( "FRIDGE" ); static const std::string flag_FROZEN( "FROZEN" ); -static const std::string flag_FUEL_TANK( "FUEL_TANK" ); -static const std::string flag_FULL_BOARD( "FULL_BOARD" ); static const std::string flag_FULL_MAGAZINE( "FULL_MAGAZINE" ); static const std::string flag_FUNGAL_VECTOR( "FUNGAL_VECTOR" ); static const std::string flag_FUNGUS( "FUNGUS" ); -static const std::string flag_FUNNEL( "FUNNEL" ); static const std::string flag_GAS_DISCOUNT( "GAS_DISCOUNT" ); static const std::string flag_GAS_PROOF( "GAS_PROOF" ); static const std::string flag_GIBBED( "GIBBED" ); @@ -1129,17 +1053,12 @@ static const std::string flag_GOES_UP( "GOES_UP" ); static const std::string flag_GROWTH_HARVEST( "GROWTH_HARVEST" ); static const std::string flag_GROWTH_MATURE( "GROWTH_MATURE" ); static const std::string flag_GROWTH_SEEDLING( "GROWTH_SEEDLING" ); -static const std::string flag_HALF_BOARD( "HALF_BOARD" ); -static const std::string flag_HARNESS_any( "HARNESS_any" ); -static const std::string flag_HEAT_IMMUNE( "HEAT_IMMUNE" ); static const std::string flag_HELI_CRASH( "HELI_CRASH" ); static const std::string flag_HELMET_COMPAT( "HELMET_COMPAT" ); static const std::string flag_HIDDEN_HALLU( "HIDDEN_HALLU" ); static const std::string flag_HIDDEN_ITEM( "HIDDEN_ITEM" ); static const std::string flag_HIDDEN_POISON( "HIDDEN_POISON" ); -static const std::string flag_HIDE_PLACE( "HIDE_PLACE" ); static const std::string flag_HOOD( "HOOD" ); -static const std::string flag_HORN( "HORN" ); static const std::string flag_HOT( "HOT" ); static const std::string flag_HURT_WHEN_WIELDED( "HURT_WHEN_WIELDED" ); static const std::string flag_HYGROMETER( "HYGROMETER" ); @@ -1148,15 +1067,11 @@ static const std::string flag_INDOORS( "INDOORS" ); static const std::string flag_INEDIBLE( "INEDIBLE" ); static const std::string flag_INFECTED( "INFECTED" ); static const std::string flag_INITIAL_PART( "INITIAL_PART" ); -static const std::string flag_INSPIRATIONAL( "INSPIRATIONAL" ); -static const std::string flag_INSTALL_DIFFICULT( "INSTALL_DIFFICULT" ); -static const std::string flag_INTERNAL( "INTERNAL" ); static const std::string flag_IR_EFFECT( "IR_EFFECT" ); static const std::string flag_IRREMOVABLE( "IRREMOVABLE" ); static const std::string flag_IS_ARMOR( "IS_ARMOR" ); static const std::string flag_IS_PET_ARMOR( "IS_PET_ARMOR" ); static const std::string flag_IS_UPS( "IS_UPS" ); -static const std::string flag_KILN( "KILN" ); static const std::string flag_KITCHEN( "KITCHEN" ); static const std::string flag_LADDER( "LADDER" ); static const std::string flag_LEAK_ALWAYS( "LEAK_ALWAYS" ); @@ -1164,13 +1079,10 @@ static const std::string flag_LEAK_DAM( "LEAK_DAM" ); static const std::string flag_LIQUID( "LIQUID" ); static const std::string flag_LIQUIDCONT( "LIQUIDCONT" ); static const std::string flag_LITCIG( "LITCIG" ); -static const std::string flag_LOCKABLE_CARGO( "LOCKABLE_CARGO" ); static const std::string flag_LOCKED( "LOCKED" ); static const std::string flag_LONE_START( "LONE_START" ); -static const std::string flag_LOW_FINAL_AIR_DRAG( "LOW_FINAL_AIR_DRAG" ); static const std::string flag_LUPINE( "LUPINE" ); static const std::string flag_MAG_BELT( "MAG_BELT" ); -static const std::string flag_MAG_BULKY( "MAG_BULKY" ); static const std::string flag_MAG_DESTROY( "MAG_DESTROY" ); static const std::string flag_MAG_EJECT( "MAG_EJECT" ); static const std::string flag_MAGIC_FOCUS( "MAGIC_FOCUS" ); @@ -1182,183 +1094,111 @@ static const std::string flag_MC_RANDOM_STUFF( "MC_RANDOM_STUFF" ); static const std::string flag_MC_SCIENCE_STUFF( "MC_SCIENCE_STUFF" ); static const std::string flag_MC_TURN_USED( "MC_TURN_USED" ); static const std::string flag_MC_USED( "MC_USED" ); -static const std::string flag_MECH_BAT( "MECH_BAT" ); static const std::string flag_MELTS( "MELTS" ); static const std::string flag_MESSY( "MESSY" ); static const std::string flag_MILLABLE( "MILLABLE" ); static const std::string flag_MINEABLE( "MINEABLE" ); static const std::string flag_MOUNTABLE( "MOUNTABLE" ); static const std::string flag_MOUNTED_GUN( "MOUNTED_GUN" ); -static const std::string flag_MUFFLER( "MUFFLER" ); -static const std::string flag_MUSCLE_ARMS( "MUSCLE_ARMS" ); -static const std::string flag_MUSCLE_LEGS( "MUSCLE_LEGS" ); static const std::string flag_MUSHY( "MUSHY" ); static const std::string flag_MYCUS_OK( "MYCUS_OK" ); static const std::string flag_NANOFAB_TEMPLATE( "NANOFAB_TEMPLATE" ); static const std::string flag_NEED_ACTIVE_TO_MELEE( "NEED_ACTIVE_TO_MELEE" ); -static const std::string flag_NEEDS_BATTERY_MOUNT( "NEEDS_BATTERY_MOUNT" ); -static const std::string flag_NEEDS_JACKING( "NEEDS_JACKING" ); static const std::string flag_NEEDS_NO_LUBE( "NEEDS_NO_LUBE" ); static const std::string flag_NEEDS_UNFOLD( "NEEDS_UNFOLD" ); -static const std::string flag_NEEDS_WHEEL_MOUNT_HEAVY( "NEEDS_WHEEL_MOUNT_HEAVY" ); -static const std::string flag_NEEDS_WHEEL_MOUNT_LIGHT( "NEEDS_WHEEL_MOUNT_LIGHT" ); -static const std::string flag_NEEDS_WHEEL_MOUNT_MEDIUM( "NEEDS_WHEEL_MOUNT_MEDIUM" ); static const std::string flag_NEGATIVE_MONOTONY_OK( "NEGATIVE_MONOTONY_OK" ); static const std::string flag_NEVER_JAMS( "NEVER_JAMS" ); -static const std::string flag_no_auto_equip( "no_auto_equip" ); static const std::string flag_NO_CVD( "NO_CVD" ); -static const std::string flag_NO_DISEASE( "NO_DISEASE" ); static const std::string flag_NO_DISPLAY( "NO_DISPLAY" ); static const std::string flag_NO_DROP( "NO_DROP" ); -static const std::string flag_NO_INGEST( "NO_INGEST" ); static const std::string flag_NO_PACKED( "NO_PACKED" ); static const std::string flag_NO_PARASITES( "NO_PARASITES" ); static const std::string flag_NO_QUICKDRAW( "NO_QUICKDRAW" ); -static const std::string flag_NO_RADIATION( "NO_RADIATION" ); static const std::string flag_NO_RELOAD( "NO_RELOAD" ); static const std::string flag_NO_REPAIR( "NO_REPAIR" ); static const std::string flag_NO_RESIZE( "NO_RESIZE" ); -static const std::string flag_NO_ROOF_NEEDED( "NO_ROOF_NEEDED" ); static const std::string flag_NO_SALVAGE( "NO_SALVAGE" ); static const std::string flag_NO_STERILE( "NO_STERILE" ); -static const std::string flag_NO_TAKEOFF( "NO_TAKEOFF" ); -static const std::string flag_NO_THIRST( "NO_THIRST" ); static const std::string flag_NO_UNLOAD( "NO_UNLOAD" ); static const std::string flag_NO_UNWIELD( "NO_UNWIELD" ); static const std::string flag_NOCOLLIDE( "NOCOLLIDE" ); -static const std::string flag_NOINSTALL( "NOINSTALL" ); static const std::string flag_NOITEM( "NOITEM" ); static const std::string flag_NON_FOULING( "NON-FOULING" ); -static const std::string flag_NONBELTABLE( "NONBELTABLE" ); static const std::string flag_NONCONDUCTIVE( "NONCONDUCTIVE" ); -static const std::string flag_NPC_ACTIVATE( "NPC_ACTIVATE" ); static const std::string flag_NPC_SAFE( "NPC_SAFE" ); static const std::string flag_NUTRIENT_OVERRIDE( "NUTRIENT_OVERRIDE" ); -static const std::string flag_OBSTACLE( "OBSTACLE" ); -static const std::string flag_ON_CONTROLS( "ON_CONTROLS" ); -static const std::string flag_ON_ROOF( "ON_ROOF" ); static const std::string flag_ONLY_ONE( "ONLY_ONE" ); -static const std::string flag_OPAQUE( "OPAQUE" ); -static const std::string flag_OPENABLE( "OPENABLE" ); static const std::string flag_OPENCLOSE_INSIDE( "OPENCLOSE_INSIDE" ); static const std::string flag_ORGANIC( "ORGANIC" ); static const std::string flag_OUTER( "OUTER" ); static const std::string flag_OVERSIZE( "OVERSIZE" ); static const std::string flag_PARTIAL_DEAF( "PARTIAL_DEAF" ); -static const std::string flag_PERMEABLE( "PERMEABLE" ); static const std::string flag_PERPETUAL( "PERPETUAL" ); static const std::string flag_PERSONAL( "PERSONAL" ); -static const std::string flag_PLACE_ITEM( "PLACE_ITEM" ); static const std::string flag_PLACE_RANDOMLY( "PLACE_RANDOMLY" ); static const std::string flag_PLANT( "PLANT" ); static const std::string flag_PLANTABLE( "PLANTABLE" ); -static const std::string flag_PLANTER( "PLANTER" ); static const std::string flag_PLOWABLE( "PLOWABLE" ); static const std::string flag_POCKETS( "POCKETS" ); -static const std::string flag_POWER_TRANSFER( "POWER_TRANSFER" ); static const std::string flag_POWERARMOR_COMPATIBLE( "POWERARMOR_COMPATIBLE" ); static const std::string flag_POWERED( "POWERED" ); -static const std::string flag_PRED1( "PRED1" ); -static const std::string flag_PRED2( "PRED2" ); -static const std::string flag_PRED3( "PRED3" ); -static const std::string flag_PRED4( "PRED4" ); static const std::string flag_PRIMITIVE_RANGED_WEAPON( "PRIMITIVE_RANGED_WEAPON" ); static const std::string flag_PROCESSING( "PROCESSING" ); static const std::string flag_PROCESSING_RESULT( "PROCESSING_RESULT" ); -static const std::string flag_PROTRUSION( "PROTRUSION" ); -static const std::string flag_PSEUDO( "PSEUDO" ); -static const std::string flag_PSYCHOPATH( "PSYCHOPATH" ); -static const std::string flag_PSYSHIELD_PARTIAL( "PSYSHIELD_PARTIAL" ); static const std::string flag_PULPED( "PULPED" ); static const std::string flag_PUMP_ACTION( "PUMP_ACTION" ); static const std::string flag_PUMP_RAIL_COMPATIBLE( "PUMP_RAIL_COMPATIBLE" ); static const std::string flag_QUARTERED( "QUARTERED" ); -static const std::string flag_RAD_PROOF( "RAD_PROOF" ); static const std::string flag_RAD_RESIST( "RAD_RESIST" ); static const std::string flag_RADIO_ACTIVATION( "RADIO_ACTIVATION" ); static const std::string flag_RADIO_CONTAINER( "RADIO_CONTAINER" ); static const std::string flag_RADIO_INVOKE_PROC( "RADIO_INVOKE_PROC" ); static const std::string flag_RADIO_MOD( "RADIO_MOD" ); -static const std::string flag_RADIO_MODABLE( "RADIO_MODABLE" ); static const std::string flag_RADIOACTIVE( "RADIOACTIVE" ); static const std::string flag_RADIOCARITEM( "RADIOCARITEM" ); static const std::string flag_RADIOSIGNAL_1( "RADIOSIGNAL_1" ); static const std::string flag_RADIOSIGNAL_2( "RADIOSIGNAL_2" ); static const std::string flag_RADIOSIGNAL_3( "RADIOSIGNAL_3" ); static const std::string flag_RAIN_PROTECT( "RAIN_PROTECT" ); -static const std::string flag_RAINPROOF( "RAINPROOF" ); -static const std::string flag_RAMP( "RAMP" ); static const std::string flag_RAMP_END( "RAMP_END" ); static const std::string flag_RAW( "RAW" ); static const std::string flag_REACH_ATTACK( "REACH_ATTACK" ); static const std::string flag_REACH3( "REACH3" ); -static const std::string flag_REAPER( "REAPER" ); -static const std::string flag_REBREATHER( "REBREATHER" ); static const std::string flag_RECHARGE( "RECHARGE" ); static const std::string flag_REDUCED_BASHING( "REDUCED_BASHING" ); static const std::string flag_REDUCED_WEIGHT( "REDUCED_WEIGHT" ); static const std::string flag_RELOAD_AND_SHOOT( "RELOAD_AND_SHOOT" ); static const std::string flag_RELOAD_EJECT( "RELOAD_EJECT" ); static const std::string flag_RELOAD_ONE( "RELOAD_ONE" ); -static const std::string flag_REMOTE_CONTROLS( "REMOTE_CONTROLS" ); -static const std::string flag_REQUIRES_BALANCE( "REQUIRES_BALANCE" ); static const std::string flag_REQUIRES_TINDER( "REQUIRES_TINDER" ); static const std::string flag_RESTRICT_HANDS( "RESTRICT_HANDS" ); static const std::string flag_REVIVE_SPECIAL( "REVIVE_SPECIAL" ); -static const std::string flag_ROAD( "ROAD" ); static const std::string flag_ROLLER_INLINE( "ROLLER_INLINE" ); static const std::string flag_ROLLER_ONE( "ROLLER_ONE" ); static const std::string flag_ROLLER_QUAD( "ROLLER_QUAD" ); -static const std::string flag_ROOF( "ROOF" ); static const std::string flag_ROUGH( "ROUGH" ); static const std::string flag_RUBBLE( "RUBBLE" ); static const std::string flag_SAFE_FUEL_OFF( "SAFE_FUEL_OFF" ); static const std::string flag_SAFECRACK( "SAFECRACK" ); static const std::string flag_SALT_WATER( "SALT_WATER" ); -static const std::string flag_SAPIOVORE( "SAPIOVORE" ); -static const std::string flag_SCEN_ONLY( "SCEN_ONLY" ); -static const std::string flag_SCOOP( "SCOOP" ); static const std::string flag_SEALED( "SEALED" ); -static const std::string flag_SEAT( "SEAT" ); -static const std::string flag_SEATBELT( "SEATBELT" ); static const std::string flag_SECRET( "SECRET" ); -static const std::string flag_SECURITY( "SECURITY" ); -static const std::string flag_SELF_JACK( "SELF_JACK" ); static const std::string flag_SEMITANGIBLE( "SEMITANGIBLE" ); static const std::string flag_SHARP( "SHARP" ); -static const std::string flag_SHORT( "SHORT" ); static const std::string flag_SHRUB( "SHRUB" ); -static const std::string flag_SIGN( "SIGN" ); static const std::string flag_SILENT( "SILENT" ); -static const std::string flag_MULTISQUARE( "MULTISQUARE" ); -static const std::string flag_CONE_LIGHT( "CONE_LIGHT" ); -static const std::string flag_CIRCLE_LIGHT( "CIRCLE_LIGHT" ); -static const std::string flag_AISLE_LIGHT( "AISLE_LIGHT" ); -static const std::string flag_ROCKWHEEL( "ROCKWHEEL" ); -static const std::string flag_PLOW( "PLOW" ); -static const std::string flag_ROADHEAD( "ROADHEAD" ); -static const std::string flag_DOME_LIGHT( "DOME_LIGHT" ); -static const std::string flag_ATOMIC_LIGHT( "ATOMIC_LIGHT" ); static const std::string flag_SKINNED( "SKINNED" ); static const std::string flag_SKINTIGHT( "SKINTIGHT" ); static const std::string flag_SLEEP_AID( "SLEEP_AID" ); static const std::string flag_SLOW_WIELD( "SLOW_WIELD" ); -static const std::string flag_SLOWS_MOVEMENT( "SLOWS_MOVEMENT" ); static const std::string flag_SLOWS_THIRST( "SLOWS_THIRST" ); static const std::string flag_SMOKABLE( "SMOKABLE" ); static const std::string flag_SMOKED( "SMOKED" ); -static const std::string flag_SOLAR_PANEL( "SOLAR_PANEL" ); -static const std::string flag_SPACE_HEATER( "SPACE_HEATER" ); static const std::string flag_SPEAR( "SPEAR" ); static const std::string flag_SPEEDLOADER( "SPEEDLOADER" ); static const std::string flag_SPLINT( "SPLINT" ); static const std::string flag_SPR_START( "SPR_START" ); -static const std::string flag_STAB_IMMUNE( "STAB_IMMUNE" ); -static const std::string flag_STABLE( "STABLE" ); -static const std::string flag_STEERABLE( "STEERABLE" ); -static const std::string flag_STEREO( "STEREO" ); static const std::string flag_STR_DRAW( "STR_DRAW" ); -static const std::string flag_STR_RELOAD( "STR_RELOAD" ); static const std::string flag_STURDY( "STURDY" ); static const std::string flag_SUM_ADV_START( "SUM_ADV_START" ); static const std::string flag_SUM_START( "SUM_START" ); @@ -1368,26 +1208,13 @@ static const std::string flag_SUPPORTS_ROOF( "SUPPORTS_ROOF" ); static const std::string flag_SUR_START( "SUR_START" ); static const std::string flag_SWIM_GOGGLES( "SWIM_GOGGLES" ); static const std::string flag_SWIMMABLE( "SWIMMABLE" ); -static const std::string flag_TACK( "TACK" ); -static const std::string flag_TANGLE( "TANGLE" ); static const std::string flag_THERMOMETER( "THERMOMETER" ); static const std::string flag_THIN_OBSTACLE( "THIN_OBSTACLE" ); -static const std::string flag_TIE_UP( "TIE_UP" ); static const std::string flag_TINDER( "TINDER" ); static const std::string flag_TINY( "TINY" ); static const std::string flag_TOBACCO( "TOBACCO" ); -static const std::string flag_TOWEL( "TOWEL" ); -static const std::string flag_TRACK( "TRACK" ); -static const std::string flag_TRACKED( "TRACKED" ); -static const std::string flag_TRADER_AVOID( "TRADER_AVOID" ); -static const std::string flag_TRANSFORM_TERRAIN( "TRANSFORM_TERRAIN" ); -static const std::string flag_TRANSLOCATOR( "TRANSLOCATOR" ); static const std::string flag_TRANSPARENT( "TRANSPARENT" ); static const std::string flag_TREE( "TREE" ); -static const std::string flag_TURRET( "TURRET" ); -static const std::string flag_TURRET_CONTROLS( "TURRET_CONTROLS" ); -static const std::string flag_TURRET_MOUNT( "TURRET_MOUNT" ); -static const std::string flag_TWO_WAY_RADIO( "TWO_WAY_RADIO" ); static const std::string flag_UNARMED_BONUS( "UNARMED_BONUS" ); static const std::string flag_UNARMED_WEAPON( "UNARMED_WEAPON" ); static const std::string flag_UNBREAKABLE_MELEE( "UNBREAKABLE_MELEE" ); @@ -1395,49 +1222,27 @@ static const std::string flag_UNCRAFT_LIQUIDS_CONTAINED( "UNCRAFT_LIQUIDS_CONTAI static const std::string flag_UNCRAFT_SINGLE_CHARGE( "UNCRAFT_SINGLE_CHARGE " ); static const std::string flag_UNDERSIZE( "UNDERSIZE" ); static const std::string flag_UNDERWATER_GUN( "UNDERWATER_GUN" ); -static const std::string flag_UNMOUNT_ON_DAMAGE( "UNMOUNT_ON_DAMAGE" ); -static const std::string flag_UNMOUNT_ON_MOVE( "UNMOUNT_ON_MOVE" ); -static const std::string flag_UNRECOVERABLE( "UNRECOVERABLE" ); static const std::string flag_UNSTABLE( "UNSTABLE" ); static const std::string flag_URSINE_HONEY( "URSINE_HONEY" ); static const std::string flag_USABLE_FIRE( "USABLE_FIRE" ); static const std::string flag_USE_EAT_VERB( "USE_EAT_VERB" ); -static const std::string flag_USE_PLAYER_ENERGY( "USE_PLAYER_ENERGY" ); -static const std::string flag_USE_TANKS( "USE_TANKS" ); static const std::string flag_USE_UPS( "USE_UPS" ); static const std::string flag_USES_BIONIC_POWER( "USES_BIONIC_POWER" ); static const std::string flag_VARSIZE( "VARSIZE" ); static const std::string flag_VEHICLE( "VEHICLE" ); -static const std::string flag_VISION( "VISION" ); static const std::string flag_WAIST( "WAIST" ); static const std::string flag_WALL( "WALL" ); -static const std::string flag_WASHING_MACHINE( "WASHING_MACHINE" ); -static const std::string flag_WATCH( "WATCH" ); static const std::string flag_WATER_EXTINGUISH( "WATER_EXTINGUISH" ); static const std::string flag_WATER_FRIENDLY( "WATER_FRIENDLY" ); -static const std::string flag_WATER_PURIFIER( "WATER_PURIFIER" ); -static const std::string flag_WATER_WHEEL( "WATER_WHEEL" ); static const std::string flag_WATERPROOF( "WATERPROOF" ); static const std::string flag_WATERPROOF_GUN( "WATERPROOF_GUN" ); -static const std::string flag_WELDRIG( "WELDRIG" ); static const std::string flag_WET( "WET" ); -static const std::string flag_WHEEL( "WHEEL" ); -static const std::string flag_WHEEL_MOUNT_HEAVY( "WHEEL_MOUNT_HEAVY" ); -static const std::string flag_WHEEL_MOUNT_LIGHT( "WHEEL_MOUNT_LIGHT" ); -static const std::string flag_WHEEL_MOUNT_MEDIUM( "WHEEL_MOUNT_MEDIUM" ); static const std::string flag_WHIP( "WHIP" ); static const std::string flag_WIN_START( "WIN_START" ); static const std::string flag_WIND_EXTINGUISH( "WIND_EXTINGUISH" ); -static const std::string flag_WIND_POWERED( "WIND_POWERED" ); -static const std::string flag_WIND_TURBINE( "WIND_TURBINE" ); -static const std::string flag_WINDOW( "WINDOW" ); -static const std::string flag_WINDOW_CURTAIN( "WINDOW_CURTAIN" ); -static const std::string flag_WINDSHIELD( "WINDSHIELD" ); -static const std::string flag_wooled( "wooled" ); -static const std::string flag_WORKBENCH( "WORKBENCH" ); static const std::string flag_WRITE_MESSAGE( "WRITE_MESSAGE" ); static const std::string flag_YOUNG( "YOUNG" ); -static const std::string flag_ZOOM( "ZOOM" ); + static const skill_id skill_archery( "archery" ); static const skill_id skill_barter( "barter" ); @@ -1466,25 +1271,27 @@ static const skill_id skill_tailor( "tailor" ); static const skill_id skill_throw( "throw" ); static const skill_id skill_traps( "traps" ); static const skill_id skill_unarmed( "unarmed" ); -static const skill_id skill_weapon( "weapon" ); +static const skill_id weapon_skill( "weapon" ); + + +static const quality_id qual_ANESTHESIA( "ANESTHESIA" ); +static const quality_id qual_AXE( "AXE" ); +static const quality_id qual_BUTCHER( "BUTCHER" ); +static const quality_id qual_CUT( "CUT" ); +static const quality_id qual_CUT_FINE( "CUT_FINE" ); +static const quality_id qual_DIG( "DIG" ); +static const quality_id qual_DRILL( "DRILL" ); +static const quality_id qual_FISHING( "FISHING" ); +static const quality_id qual_HAMMER( "HAMMER" ); +static const quality_id qual_JACK( "JACK" ); +static const quality_id qual_LIFT( "LIFT" ); +static const quality_id qual_PRY( "PRY" ); +static const quality_id qual_SAW_M( "SAW_M" ); +static const quality_id qual_SAW_W( "SAW_W" ); +static const quality_id qual_SCREW_FINE( "SCREW_FINE" ); +static const quality_id qual_SELF_JACK( "SELF_JACK" ); +static const quality_id qual_WELD( "WELD" ); -static const quality_id quality_ANESTHESIA( "ANESTHESIA" ); -static const quality_id quality_AXE( "AXE" ); -static const quality_id quality_BUTCHER( "BUTCHER" ); -static const quality_id quality_CUT( "CUT" ); -static const quality_id quality_CUT_FINE( "CUT_FINE" ); -static const quality_id quality_DIG( "DIG" ); -static const quality_id quality_DRILL( "DRILL" ); -static const quality_id quality_FISHING( "FISHING" ); -static const quality_id quality_HAMMER( "HAMMER" ); -static const quality_id quality_JACK( "JACK" ); -static const quality_id quality_LIFT( "LIFT" ); -static const quality_id quality_PRY( "PRY" ); -static const quality_id quality_SAW_M( "SAW_M" ); -static const quality_id quality_SAW_W( "SAW_W" ); -static const quality_id quality_SCREW_FINE( "SCREW_FINE" ); -static const quality_id quality_SELF_JACK( "SELF_JACK" ); -static const quality_id quality_WELD( "WELD" ); static const zone_type_id zone_investigate_only( "NPC_INVESTIGATE_ONLY" ); static const zone_type_id zone_no_investigate( "NPC_NO_INVESTIGATE" ); @@ -1496,22 +1303,8 @@ static const zone_type_id zone_type_LOOT_CORPSE( "LOOT_CORPSE" ); static const zone_type_id zone_type_LOOT_IGNORE( "LOOT_IGNORE" ); static const zone_type_id zone_type_LOOT_UNSORTED( "LOOT_UNSORTED" ); static const zone_type_id zone_type_LOOT_WOOD( "LOOT_WOOD" ); -static const zone_type_id zone_type_NO_AUTO_PICKUP( "NO_AUTO_PICKUP" ); static const zone_type_id zone_type_VEHICLE_DECONSTRUCT( "VEHICLE_DECONSTRUCT" ); static const zone_type_id zone_type_VEHICLE_REPAIR( "VEHICLE_REPAIR" ); -static const zone_type_id zone_type_LOOT_CUSTOM( "LOOT_CUSTOM" ); -static const zone_type_id zone_type_NO_NPC_PICKUP( "NO_NPC_PICKUP" ); -static const zone_type_id zone_type_NPC_RETREAT( "NPC_RETREAT" ); -static const zone_type_id zone_type_NPC_NO_INVESTIGATE( "NPC_NO_INVESTIGATE" ); -static const zone_type_id zone_type_NPC_INVESTIGATE_ONLY( "NPC_INVESTIGATE_ONLY" ); -static const zone_type_id zone_type_SOURCE_FIREWOOD( "SOURCE_FIREWOOD" ); -static const zone_type_id zone_type_VEHICLE_PATROL( "VEHICLE_PATROL" ); -static const zone_type_id zone_type_CAMP_STORAGE( "CAMP_STORAGE" ); -static const zone_type_id zone_type_LOOT_PDRINK( "LOOT_PDRINK" ); -static const zone_type_id zone_type_LOOT_DRINK( "LOOT_DRINK" ); -static const zone_type_id zone_type_LOOT_PFOOD( "LOOT_PFOOD" ); -static const zone_type_id zone_type_LOOT_FOOD( "LOOT_FOOD" ); -static const zone_type_id zone_type_CAMP_FOOD( "CAMP_FOOD" ); static const zone_type_id z_camp_food( "CAMP_FOOD" ); static const zone_type_id z_camp_storage( "CAMP_STORAGE" ); @@ -1526,10 +1319,8 @@ static const itype_id fuel_type_animal( "animal" ); static const itype_id fuel_type_battery( "battery" ); static const itype_id fuel_type_muscle( "muscle" ); static const itype_id fuel_type_none( "null" ); -static const itype_id fuel_type_plut_cell( "plut_cell" ); +static const itype_id fuel_type_plutonium_cell( "plut_cell" ); static const itype_id fuel_type_sun_light( "sunlight" ); -static const itype_id fuel_type_water( "water" ); -static const itype_id fuel_type_water_clean( "water_clean" ); static const itype_id fuel_type_wind( "wind" ); static const fault_id fault_belt( "fault_engine_belt_drive" ); @@ -1571,219 +1362,53 @@ static const matype_id style_tiger( "style_tiger" ); static const matype_id style_wingchun( "style_wingchun" ); static const matype_id style_zui_quan( "style_zui_quan" ); -static const species_id species_BLOB( "BLOB" ); -static const species_id species_FISH( "FISH" ); -static const species_id species_FUNGUS( "FUNGUS" ); -static const species_id species_HALLUCINATION( "HALLUCINATION" ); -static const species_id species_HUMAN( "HUMAN" ); -static const species_id species_INSECT( "INSECT" ); -static const species_id species_LEECH_PLANT( "LEECH_PLANT" ); -static const species_id species_MAMMAL( "MAMMAL" ); -static const species_id species_MOLLUSK( "MOLLUSK" ); -static const species_id species_PLANT( "PLANT" ); -static const species_id species_ROBOT( "ROBOT" ); -static const species_id species_SPIDER( "SPIDER" ); -static const species_id species_ZOMBIE( "ZOMBIE" ); +static const species_id ABERRATION( "ABERRATION" ); +static const species_id BLOB( "BLOB" ); +static const species_id FISH( "FISH" ); +static const species_id FUNGUS( "FUNGUS" ); +static const species_id HALLUCINATION( "HALLUCINATION" ); +static const species_id HUMAN( "HUMAN" ); +static const species_id INSECT( "INSECT" ); +static const species_id LEECH_PLANT( "LEECH_PLANT" ); +static const species_id MAMMAL( "MAMMAL" ); +static const species_id MOLLUSK( "MOLLUSK" ); +static const species_id PLANT( "PLANT" ); +static const species_id ROBOT( "ROBOT" ); +static const species_id SPIDER( "SPIDER" ); +static const species_id ZOMBIE( "ZOMBIE" ); -static const matec_id matec_no_technique_id( "" ); -static const matec_id matec_RAPID( "RAPID" ); -static const matec_id matec_tec_none( "tec_none" ); -static const matec_id matec_VORPAL( "VORPAL" ); -static const matec_id matec_WBLOCK_1( "WBLOCK_1" ); -static const matec_id matec_WBLOCK_2( "WBLOCK_2" ); -static const matec_id matec_WBLOCK_3( "WBLOCK_3" ); -static const matec_id matec_WHIP_DISARM( "WHIP_DISARM" ); +static const matec_id tec_none( "tec_none" ); +static const matec_id WBLOCK_1( "WBLOCK_1" ); +static const matec_id WBLOCK_2( "WBLOCK_2" ); +static const matec_id WBLOCK_3( "WBLOCK_3" ); +static const matec_id WHIP_DISARM( "WHIP_DISARM" ); -static const ter_str_id ter_bridge( "t_bridge" ); -static const ter_str_id ter_chainfence( "t_chainfence" ); -static const ter_str_id ter_clay( "t_clay" ); -static const ter_str_id ter_claymound( "t_claymound" ); -static const ter_str_id ter_conveyor( "t_conveyor" ); static const ter_str_id ter_dirt( "t_dirt" ); -static const ter_str_id ter_dirtfloor( "t_dirtfloor" ); -static const ter_str_id ter_dirtmound( "t_dirtmound" ); -static const ter_str_id ter_dirtmoundfloor( "t_dirtmoundfloor" ); -static const ter_str_id ter_elevator( "t_elevator" ); -static const ter_str_id ter_gas_pump( "t_gas_pump" ); -static const ter_str_id ter_gas_pump_a( "t_gas_pump_a" ); -static const ter_str_id ter_gas_tank( "t_gas_tank" ); -static const ter_str_id ter_golf_hole( "t_golf_hole" ); -static const ter_str_id ter_grass( "t_grass" ); static const ter_str_id ter_grass_dead( "t_grass_dead" ); -static const ter_str_id ter_grass_golf( "t_grass_golf" ); -static const ter_str_id ter_grass_long( "t_grass_long" ); -static const ter_str_id ter_grass_tall( "t_grass_tall" ); -static const ter_str_id ter_grass_white( "t_grass_white" ); -static const ter_str_id ter_grate( "t_grate" ); -static const ter_str_id ter_grave( "t_grave" ); -static const ter_str_id ter_grave_new( "t_grave_new" ); -static const ter_str_id ter_guardrail_bg_dp( "t_guardrail_bg_dp" ); -static const ter_str_id ter_machinery_electronic( "t_machinery_electronic" ); -static const ter_str_id ter_machinery_heavy( "t_machinery_heavy" ); -static const ter_str_id ter_machinery_light( "t_machinery_light" ); -static const ter_str_id ter_machinery_old( "t_machinery_old" ); -static const ter_str_id ter_metal_floor( "t_metal_floor" ); -static const ter_str_id ter_moss( "t_moss" ); -static const ter_str_id ter_nanofab_body( "t_nanofab_body" ); -static const ter_str_id ter_ov_smreb_cage( "t_ov_smreb_cage" ); -static const ter_str_id ter_palisade_gate_o( "t_palisade_gate_o" ); -static const ter_str_id ter_pavement( "t_pavement" ); -static const ter_str_id ter_pit( "t_pit" ); -static const ter_str_id ter_pit_corpsed( "t_pit_corpsed" ); -static const ter_str_id ter_pit_covered( "t_pit_covered" ); -static const ter_str_id ter_pit_glass( "t_pit_glass" ); -static const ter_str_id ter_pit_shallow( "t_pit_shallow" ); -static const ter_str_id ter_pit_spiked( "t_pit_spiked" ); -static const ter_str_id ter_pit_spiked_covered( "t_pit_spiked_covered" ); -static const ter_str_id ter_plut_generator( "t_plut_generator" ); -static const ter_str_id ter_railroad_rubble( "t_railroad_rubble" ); -static const ter_str_id ter_railroad_tie( "t_railroad_tie" ); -static const ter_str_id ter_railroad_tie_d( "t_railroad_tie_d" ); -static const ter_str_id ter_railroad_tie_d1( "t_railroad_tie_d1" ); -static const ter_str_id ter_railroad_tie_d2( "t_railroad_tie_d2" ); -static const ter_str_id ter_railroad_tie_h( "t_railroad_tie_h" ); -static const ter_str_id ter_railroad_tie_v( "t_railroad_tie_v" ); -static const ter_str_id ter_railroad_track( "t_railroad_track" ); -static const ter_str_id ter_railroad_track_d( "t_railroad_track_d" ); -static const ter_str_id ter_railroad_track_d_on_tie( "t_railroad_track_d_on_tie" ); -static const ter_str_id ter_railroad_track_d1( "t_railroad_track_d1" ); -static const ter_str_id ter_railroad_track_d2( "t_railroad_track_d2" ); -static const ter_str_id ter_railroad_track_h( "t_railroad_track_h" ); -static const ter_str_id ter_railroad_track_h_on_tie( "t_railroad_track_h_on_tie" ); -static const ter_str_id ter_railroad_track_on_tie( "t_railroad_track_on_tie" ); -static const ter_str_id ter_railroad_track_v( "t_railroad_track_v" ); -static const ter_str_id ter_railroad_track_v_on_tie( "t_railroad_track_v_on_tie" ); -static const ter_str_id ter_rootcellar( "t_rootcellar" ); -static const ter_str_id ter_sand( "t_sand" ); -static const ter_str_id ter_sandbox( "t_sandbox" ); -static const ter_str_id ter_sandmound( "t_sandmound" ); -static const ter_str_id ter_sewage( "t_sewage" ); -static const ter_str_id ter_shrub( "t_shrub" ); -static const ter_str_id ter_shrub_blackberry( "t_shrub_blackberry" ); -static const ter_str_id ter_shrub_blackberry_harvested( "t_shrub_blackberry_harvested" ); -static const ter_str_id ter_shrub_blueberry( "t_shrub_blueberry" ); -static const ter_str_id ter_shrub_blueberry_harvested( "t_shrub_blueberry_harvested" ); -static const ter_str_id ter_shrub_grape( "t_shrub_grape" ); -static const ter_str_id ter_shrub_grape_harvested( "t_shrub_grape_harvested" ); -static const ter_str_id ter_shrub_huckleberry( "t_shrub_huckleberry" ); -static const ter_str_id ter_shrub_huckleberry_harvested( "t_shrub_huckleberry_harvested" ); -static const ter_str_id ter_shrub_hydrangea( "t_shrub_hydrangea" ); -static const ter_str_id ter_shrub_hydrangea_harvested( "t_shrub_hydrangea_harvested" ); -static const ter_str_id ter_shrub_lilac( "t_shrub_lilac" ); -static const ter_str_id ter_shrub_lilac_harvested( "t_shrub_lilac_harvested" ); -static const ter_str_id ter_shrub_peanut( "t_shrub_peanut" ); -static const ter_str_id ter_shrub_peanut_harvested( "t_shrub_peanut_harvested" ); -static const ter_str_id ter_shrub_raspberry( "t_shrub_raspberry" ); -static const ter_str_id ter_shrub_raspberry_harvested( "t_shrub_raspberry_harvested" ); -static const ter_str_id ter_shrub_rose( "t_shrub_rose" ); -static const ter_str_id ter_shrub_rose_harvested( "t_shrub_rose_harvested" ); -static const ter_str_id ter_shrub_strawberry( "t_shrub_strawberry" ); -static const ter_str_id ter_shrub_strawberry_harvested( "t_shrub_strawberry_harvested" ); -static const ter_str_id ter_slide( "t_slide" ); static const ter_str_id ter_stump( "t_stump" ); -static const ter_str_id ter_swater_dp( "t_swater_dp" ); -static const ter_str_id ter_swater_sh( "t_swater_sh" ); -static const ter_str_id ter_tree_birch_harvested( "t_tree_birch_harvested" ); static const ter_str_id ter_tree_dead( "t_tree_dead" ); static const ter_str_id ter_tree_deadpine( "t_tree_deadpine" ); -static const ter_str_id ter_tree_hickory_dead( "t_tree_hickory_dead" ); +static const ter_str_id ter_tree_birch_harvested( "t_tree_birch_harvested" ); static const ter_str_id ter_tree_willow_harvested( "t_tree_willow_harvested" ); +static const ter_str_id ter_tree_hickory_dead( "t_tree_hickory_dead" ); static const ter_str_id ter_trunk( "t_trunk" ); -static const ter_str_id ter_underbrush( "t_underbrush" ); -static const ter_str_id ter_underbrush_harvested_autumn( "t_underbrush_harvested_autumn" ); -static const ter_str_id ter_underbrush_harvested_spring( "t_underbrush_harvested_spring" ); -static const ter_str_id ter_underbrush_harvested_summer( "t_underbrush_harvested_summer" ); -static const ter_str_id ter_underbrush_harvested_winter( "t_underbrush_harvested_winter" ); -static const ter_str_id ter_utility_light( "t_utility_light" ); -static const ter_str_id ter_water_dp( "t_water_dp" ); -static const ter_str_id ter_water_moving_dp( "t_water_moving_dp" ); -static const ter_str_id ter_water_moving_sh( "t_water_moving_sh" ); -static const ter_str_id ter_water_pool( "t_water_pool" ); -static const ter_str_id ter_water_sh( "t_water_sh" ); - -static const material_id material_acidchitin( "acidchitin" ); -static const material_id material_alien_resin( "alien_resin" ); -static const material_id material_all( "all" ); -static const material_id material_bean( "bean" ); -static const material_id material_bone( "bone" ); -static const material_id material_budget_steel( "budget_steel" ); -static const material_id material_cac2powder( "cac2powder" ); -static const material_id material_chitin( "chitin" ); -static const material_id material_cotton( "cotton" ); -static const material_id material_egg( "egg" ); -static const material_id material_faux_fur( "faux_fur" ); -static const material_id material_flesh( "flesh" ); -static const material_id material_fruit( "fruit" ); -static const material_id material_fur( "fur" ); -static const material_id material_garlic( "garlic" ); -static const material_id material_glass( "glass" ); -static const material_id material_hardsteel( "hardsteel" ); -static const material_id material_hflesh( "hflesh" ); -static const material_id material_honey( "honey" ); -static const material_id material_hydrocarbons( "hydrocarbons" ); -static const material_id material_iflesh( "iflesh" ); -static const material_id material_iron( "iron" ); -static const material_id material_junk( "junk" ); -static const material_id material_kevlar( "kevlar" ); -static const material_id material_kevlar_rigid( "kevlar_rigid" ); -static const material_id material_leather( "leather" ); -static const material_id material_lycra( "lycra" ); -static const material_id material_milk( "milk" ); -static const material_id material_mushroom( "mushroom" ); -static const material_id material_neoprene( "neoprene" ); -static const material_id material_nomex( "nomex" ); -static const material_id material_null( "null" ); -static const material_id material_nut( "nut" ); -static const material_id material_nylon( "nylon" ); -static const material_id material_oil( "oil" ); -static const material_id material_paper( "paper" ); -static const material_id material_plastic( "plastic" ); -static const material_id material_powder( "powder" ); -static const material_id material_silver( "silver" ); -static const material_id material_steel( "steel" ); -static const material_id material_stone( "stone" ); -static const material_id material_tomato( "tomato" ); -static const material_id material_veggy( "veggy" ); -static const material_id material_wheat( "wheat" ); -static const material_id material_wood( "wood" ); -static const material_id material_wool( "wool" ); - -static const oter_str_id oter_forest( "forest" ); -static const oter_str_id oter_forest_thick( "forest_thick" ); static const std::string part_location_structure( "structure" ); static const std::string part_location_center( "center" ); static const std::string part_location_onroof( "on_roof" ); -static const vpart_id vpart_frame_vertical( "frame_vertical" ); -static const vpart_id vpart_frame_vertical_2( "frame_vertical_2" ); -static const vpart_id vpart_halfboard_horizontal( "halfboard_horizontal" ); -static const vpart_id vpart_horn_bicycle( "horn_bicycle" ); -static const vpart_id vpart_seat( "seat" ); -static const vpart_id vpart_storage_battery( "storage_battery" ); -static const vpart_id vpart_turret_mount( "turret_mount" ); -static const vpart_id vpart_wheel_mount_heavy( "wheel_mount_heavy" ); -static const vpart_id vpart_wheel_mount_heavy_steerable( "wheel_mount_heavy_steerable" ); -static const vpart_id vpart_wheel_mount_light( "wheel_mount_light" ); -static const vpart_id vpart_wheel_mount_light_steerable( "wheel_mount_light_steerable" ); -static const vpart_id vpart_wheel_mount_medium( "wheel_mount_medium" ); -static const vpart_id vpart_wheel_mount_medium_steerable( "wheel_mount_medium_steerable" ); -static const vpart_id vpart_wheel_wide( "wheel_wide" ); - static const std::string GUN_MODE_VAR_NAME( "item::mode" ); static const std::string CLOTHING_MOD_VAR_PREFIX( "clothing_mod_" ); -static const faction_id faction_amf( "amf" ); -static const faction_id faction_your_followers( "your_followers" ); -static const faction_id faction_no_faction( "no_faction" ); +static const faction_id your_followers( "your_followers" ); +static const faction_id no_faction( "no_faction" ); static const std::string errstring( "ERROR" ); -static const ammotype ammo_battery( "battery" ); static const ammotype ammo_bolt( "bolt" ); -static const ammotype ammo_money( "money" ); -static const ammotype ammo_plutonium( "plutonium" ); +static const ammotype ammo_battery( "ammo_battery" ); static const ammotype ammo_reactor_slurry( "reactor_slurry" ); +static const ammotype ammo_plutonium( "plutonium" ); static const std::string title_BIONICS = translate_marker( "BIONICS" ); static const std::string title_EFFECTS = translate_marker( "EFFECTS" ); @@ -1793,11 +1418,7 @@ static const std::string title_SPEED = translate_marker( "SPEED" ); static const std::string title_STATS = translate_marker( "STATS" ); static const std::string title_TRAITS = translate_marker( "TRAITS" ); -const vitamin_id vitamin_calcium( "calcium" ); const vitamin_id vitamin_iron( "iron" ); -const vitamin_id vitamin_vitA( "vitA" ); -const vitamin_id vitamin_vitB( "vitB" ); -const vitamin_id vitamin_vitC( "vitC" ); static const std::string null_item_id( "null" ); diff --git a/src/cata_tiles.cpp b/src/cata_tiles.cpp index 4d0228049613b..0ae953c69f1a3 100644 --- a/src/cata_tiles.cpp +++ b/src/cata_tiles.cpp @@ -2600,7 +2600,7 @@ bool cata_tiles::draw_vpart( const tripoint &p, lit_level ll, int &height_3d, g->u.memorize_tile( g->m.getabs( p ), vpname, subtile, rotation ); } if( !overridden ) { - const cata::optional cargopart = vp.part_with_feature( flag_CARGO, true ); + const cata::optional cargopart = vp.part_with_feature( "CARGO", true ); const bool draw_highlight = cargopart && !veh.get_items( cargopart->part_index() ).empty(); const bool ret = draw_from_id_string( vpname, C_VEHICLE_PART, empty_string, p, subtile, rotation, ll, nv_goggles_activated, height_3d ); diff --git a/src/cata_tiles.h b/src/cata_tiles.h index a1692164f2c66..45ec9194ce19c 100644 --- a/src/cata_tiles.h +++ b/src/cata_tiles.h @@ -28,6 +28,8 @@ class player; class pixel_minimap; class JsonObject; +using itype_id = std::string; + extern void set_displaybuffer_rendertarget(); /** Structures */ diff --git a/src/cata_variant.h b/src/cata_variant.h index a59efee418d94..c02701cd6fc92 100644 --- a/src/cata_variant.h +++ b/src/cata_variant.h @@ -18,6 +18,8 @@ enum body_part : int; enum class mutagen_technique : int; enum hp_part : int; +using itype_id = std::string; + // cata_variant is a variant-like type that stores a variety of different cata // types. All types are stored by converting them to a string. diff --git a/src/character.cpp b/src/character.cpp index fb1c6eb1d2377..e0b710d537c62 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -68,6 +68,7 @@ #include "vitamin.h" #include "vpart_position.h" + // *INDENT-OFF* Character::Character() : @@ -183,7 +184,7 @@ field_type_id Character::gibType() const bool Character::in_species( const species_id &spec ) const { - return spec == species_HUMAN; + return spec == HUMAN; } bool Character::is_warm() const @@ -1939,6 +1940,7 @@ int Character::best_nearby_lifting_assist() const int Character::best_nearby_lifting_assist( const tripoint &world_pos ) const { + const quality_id LIFT( "LIFT" ); int mech_lift = 0; if( is_mounted() ) { auto mons = mounted_creature.get(); @@ -1946,9 +1948,9 @@ int Character::best_nearby_lifting_assist( const tripoint &world_pos ) const mech_lift = mons->mech_str_addition() + 10; } } - return std::max( { this->max_quality( quality_LIFT ), mech_lift, - map_selector( this->pos(), PICKUP_RANGE ).max_quality( quality_LIFT ), - vehicle_selector( world_pos, 4, true, true ).max_quality( quality_LIFT ) + return std::max( { this->max_quality( LIFT ), mech_lift, + map_selector( this->pos(), PICKUP_RANGE ).max_quality( LIFT ), + vehicle_selector( world_pos, 4, true, true ).max_quality( LIFT ) } ); } @@ -2138,8 +2140,8 @@ ret_val Character::can_wear( const item &it, bool with_equip_change ) cons return ret_val::make_failure( _( "Putting on a %s would be tricky." ), it.tname() ); } - if( has_trait( trait_WOOLALLERGY ) && ( it.made_of( material_wool ) || - it.item_tags.count( flag_wooled ) ) ) { + if( has_trait( trait_WOOLALLERGY ) && ( it.made_of( material_id( "wool" ) ) || + it.item_tags.count( "wooled" ) ) ) { return ret_val::make_failure( _( "Can't wear that, it's made of wool!" ) ); } @@ -2158,8 +2160,8 @@ ret_val Character::can_wear( const item &it, bool with_equip_change ) cons } } if( it.covers( bp_head ) && !it.has_flag( flag_SEMITANGIBLE ) && - !it.made_of( material_wool ) && !it.made_of( material_cotton ) && - !it.made_of( material_nomex ) && !it.made_of( material_leather ) && + !it.made_of( material_id( "wool" ) ) && !it.made_of( material_id( "cotton" ) ) && + !it.made_of( material_id( "nomex" ) ) && !it.made_of( material_id( "leather" ) ) && ( has_trait( trait_HORNS_POINTED ) || has_trait( trait_ANTENNAE ) || has_trait( trait_ANTLERS ) ) ) { return ret_val::make_failure( _( "Cannot wear a helmet over %s." ), @@ -2284,7 +2286,7 @@ ret_val Character::can_wear( const item &it, bool with_equip_change ) cons ret_val Character::can_unwield( const item &it ) const { - if( it.has_flag( flag_NO_UNWIELD ) ) { + if( it.has_flag( "NO_UNWIELD" ) ) { return ret_val::make_failure( _( "You cannot unwield your %s." ), it.tname() ); } @@ -2619,9 +2621,9 @@ void Character::do_skill_rust() SkillLevel &skill_level_obj = pair.second; if( aSkill.is_combat_skill() && - ( ( has_trait_flag( flag_PRED2 ) && calendar::once_every( 8_hours ) ) || - ( has_trait_flag( flag_PRED3 ) && calendar::once_every( 4_hours ) ) || - ( has_trait_flag( flag_PRED4 ) && calendar::once_every( 3_hours ) ) ) ) { + ( ( has_trait_flag( "PRED2" ) && calendar::once_every( 8_hours ) ) || + ( has_trait_flag( "PRED3" ) && calendar::once_every( 4_hours ) ) || + ( has_trait_flag( "PRED4" ) && calendar::once_every( 3_hours ) ) ) ) { // Their brain is optimized to remember this if( one_in( 13 ) ) { // They've already passed the roll to avoid rust at @@ -2845,7 +2847,7 @@ static void layer_item( std::array &vals, * for the purposes of the layer penalty system. (normally an item has a minimum * layering_encumbrance of 2 ) */ - if( it.has_flag( flag_SEMITANGIBLE ) ) { + if( it.has_flag( "SEMITANGIBLE" ) ) { encumber_val = 0; layering_encumbrance = 0; } @@ -2928,7 +2930,7 @@ bool Character::in_climate_control() if( w.active && w.is_power_armor() ) { return true; } - if( worn_with_flag( flag_CLIMATE_CONTROL ) ) { + if( worn_with_flag( "CLIMATE_CONTROL" ) ) { return true; } } @@ -2963,13 +2965,13 @@ int Character::get_wind_resistance( body_part bp ) const for( auto &i : worn ) { if( i.covers( bp ) ) { - if( i.made_of( material_leather ) || i.made_of( material_plastic ) || - i.made_of( material_bone ) || - i.made_of( material_chitin ) || i.made_of( material_nomex ) ) { + if( i.made_of( material_id( "leather" ) ) || i.made_of( material_id( "plastic" ) ) || + i.made_of( material_id( "bone" ) ) || + i.made_of( material_id( "chitin" ) ) || i.made_of( material_id( "nomex" ) ) ) { penalty = 10; // 90% effective - } else if( i.made_of( material_cotton ) ) { + } else if( i.made_of( material_id( "cotton" ) ) ) { penalty = 30; - } else if( i.made_of( material_wool ) ) { + } else if( i.made_of( material_id( "wool" ) ) ) { penalty = 40; } else { penalty = 1; // 99% effective @@ -3586,7 +3588,7 @@ std::pair Character::get_fatigue_description() const void Character::mod_thirst( int nthirst ) { - if( has_trait_flag( flag_NO_THIRST ) ) { + if( has_trait_flag( "NO_THIRST" ) ) { return; } set_thirst( std::max( -100, thirst + nthirst ) ); @@ -4003,6 +4005,7 @@ void Character::update_needs( int rate_multiplier ) mod_sleep_deprivation( fatigue_roll * 5 ); } + if( npc_no_food && get_fatigue() > TIRED ) { set_fatigue( TIRED ); set_sleep_deprivation( 0 ); @@ -4369,7 +4372,7 @@ void Character::check_needs_extremes() void Character::get_sick() { // NPCs are too dumb to handle infections now - if( is_npc() || has_trait_flag( flag_NO_DISEASE ) ) { + if( is_npc() || has_trait_flag( "NO_DISEASE" ) ) { // In a shocking twist, disease immunity prevents diseases. return; } @@ -4486,7 +4489,7 @@ void Character::update_bodytemp() const bool has_climate_control = in_climate_control(); const bool use_floor_warmth = can_use_floor_warmth(); const furn_id furn_at_pos = g->m.furn( pos() ); - const cata::optional boardable = vp.part_with_feature( flag_BOARDABLE, true ); + const cata::optional boardable = vp.part_with_feature( "BOARDABLE", true ); // Temperature norms // Ambient normal temperature is lower while asleep const int ambient_norm = has_sleep ? 3100 : 1900; @@ -4988,8 +4991,8 @@ Character::comfort_response_t Character::base_comfort_value( const tripoint &p ) comfort += 1 + static_cast( comfort_level::slightly_comfortable ); // Note: shelled individuals can still use sleeping aids! } else if( vp ) { - const cata::optional carg = vp.part_with_feature( flag_CARGO, false ); - const cata::optional board = vp.part_with_feature( flag_BOARDABLE, true ); + const cata::optional carg = vp.part_with_feature( "CARGO", false ); + const cata::optional board = vp.part_with_feature( "BOARDABLE", true ); if( carg ) { const vehicle_stack items = vp->vehicle().get_items( carg->part_index() ); for( const item &items_it : items ) { @@ -5427,7 +5430,7 @@ nc_color Character::symbol_color() const bool Character::is_immune_field( const field_type_id &fid ) const { // Obviously this makes us invincible - if( has_trait( trait_DEBUG_NODMG ) ) { + if( has_trait( debug_nodmg ) ) { return true; } // Check to see if we are immune @@ -5497,34 +5500,34 @@ bool Character::is_immune_damage( const damage_type dt ) const case DT_TRUE: return false; case DT_BIOLOGICAL: - return has_effect_with_flag( flag_EFFECT_BIO_IMMUNE ) || - worn_with_flag( flag_BIO_IMMUNE ); + return has_effect_with_flag( "EFFECT_BIO_IMMUNE" ) || + worn_with_flag( "BIO_IMMUNE" ); case DT_BASH: - return has_effect_with_flag( flag_EFFECT_BASH_IMMUNE ) || - worn_with_flag( flag_BASH_IMMUNE ); + return has_effect_with_flag( "EFFECT_BASH_IMMUNE" ) || + worn_with_flag( "BASH_IMMUNE" ); case DT_CUT: - return has_effect_with_flag( flag_EFFECT_CUT_IMMUNE ) || - worn_with_flag( flag_CUT_IMMUNE ); + return has_effect_with_flag( "EFFECT_CUT_IMMUNE" ) || + worn_with_flag( "CUT_IMMUNE" ); case DT_ACID: return has_trait( trait_ACIDPROOF ) || - has_effect_with_flag( flag_EFFECT_ACID_IMMUNE ) || - worn_with_flag( flag_ACID_IMMUNE ); + has_effect_with_flag( "EFFECT_ACID_IMMUNE" ) || + worn_with_flag( "ACID_IMMUNE" ); case DT_STAB: - return has_effect_with_flag( flag_EFFECT_STAB_IMMUNE ) || - worn_with_flag( flag_STAB_IMMUNE ); + return has_effect_with_flag( "EFFECT_STAB_IMMUNE" ) || + worn_with_flag( "STAB_IMMUNE" ); case DT_HEAT: return has_trait( trait_M_SKIN2 ) || has_trait( trait_M_SKIN3 ) || - has_effect_with_flag( flag_EFFECT_HEAT_IMMUNE ) || - worn_with_flag( flag_HEAT_IMMUNE ); + has_effect_with_flag( "EFFECT_HEAT_IMMUNE" ) || + worn_with_flag( "HEAT_IMMUNE" ); case DT_COLD: - return has_effect_with_flag( flag_EFFECT_COLD_IMMUNE ) || - worn_with_flag( flag_COLD_IMMUNE ); + return has_effect_with_flag( "EFFECT_COLD_IMMUNE" ) || + worn_with_flag( "COLD_IMMUNE" ); case DT_ELECTRIC: return has_active_bionic( bio_faraday ) || - worn_with_flag( flag_ELECTRIC_IMMUNE ) || + worn_with_flag( "ELECTRIC_IMMUNE" ) || has_artifact_with( AEP_RESIST_ELECTRICITY ) || - has_effect_with_flag( flag_EFFECT_ELECTRIC_IMMUNE ); + has_effect_with_flag( "EFFECT_ELECTRIC_IMMUNE" ); default: return true; } @@ -5533,7 +5536,7 @@ bool Character::is_immune_damage( const damage_type dt ) const bool Character::is_rad_immune() const { bool has_helmet = false; - return ( is_wearing_power_armor( &has_helmet ) && has_helmet ) || worn_with_flag( flag_RAD_PROOF ); + return ( is_wearing_power_armor( &has_helmet ) && has_helmet ) || worn_with_flag( "RAD_PROOF" ); } int Character::throw_range( const item &it ) const @@ -5563,7 +5566,7 @@ int Character::throw_range( const item &it ) const static_cast( tmp.weight() / 15_gram ) ); ret -= tmp.volume() / 1_liter; - static const std::set affected_materials = { material_iron, material_steel }; + static const std::set affected_materials = { material_id( "iron" ), material_id( "steel" ) }; if( has_active_bionic( bio_railgun ) && tmp.made_of_any( affected_materials ) ) { ret *= 2; } @@ -5581,7 +5584,7 @@ int Character::throw_range( const item &it ) const return ret; } -const std::vector Character::fleshy = { material_flesh, material_hflesh }; +const std::vector Character::fleshy = { material_id( "flesh" ), material_id( "hflesh" ) }; bool Character::made_of( const material_id &m ) const { // TODO: check for mutations that change this. @@ -5699,7 +5702,7 @@ bool Character::sees_with_specials( const Creature &critter ) const { // electroreceptors grants vision of robots and electric monsters through walls if( has_trait( trait_ELECTRORECEPTORS ) && - ( critter.in_species( species_ROBOT ) || critter.has_flag( MF_ELECTRIC ) ) ) { + ( critter.in_species( ROBOT ) || critter.has_flag( MF_ELECTRIC ) ) ) { return true; } @@ -6462,7 +6465,7 @@ void Character::set_rad( int new_rad ) void Character::mod_rad( int mod ) { - if( has_trait_flag( flag_NO_RADIATION ) ) { + if( has_trait_flag( "NO_RADIATION" ) ) { return; } set_rad( std::max( 0, get_rad() + mod ) ); @@ -7507,7 +7510,7 @@ bool Character::armor_absorb( damage_unit &du, item &armor ) m_info ); } - return armor.mod_damage( armor.has_flag( flag_FRAGILE ) ? + return armor.mod_damage( armor.has_flag( "FRAGILE" ) ? rng( 2 * itype::damage_scale, 3 * itype::damage_scale ) : itype::damage_scale, du.type ); } @@ -7805,8 +7808,8 @@ void Character::rooted() if( ( has_trait( trait_ROOTS2 ) || has_trait( trait_ROOTS3 ) ) && g->m.has_flag( flag_PLOWABLE, pos() ) && shoe_factor != 1.0 ) { if( one_in( 96 ) ) { - vitamin_mod( vitamin_iron, 1, true ); - vitamin_mod( vitamin_calcium, 1, true ); + vitamin_mod( vitamin_id( "iron" ), 1, true ); + vitamin_mod( vitamin_id( "calcium" ), 1, true ); } if( get_thirst() <= -2000 && x_in_y( 75, 425 ) ) { mod_thirst( -1 ); @@ -7953,7 +7956,7 @@ bool Character::covered_with_flag( const std::string &flag, const body_part_set bool Character::is_waterproof( const body_part_set &parts ) const { - return covered_with_flag( flag_WATERPROOF, parts ); + return covered_with_flag( "WATERPROOF", parts ); } void Character::update_morale() @@ -8313,7 +8316,7 @@ int Character::warmth( body_part bp ) const warmth = i.get_warmth(); // Wool items do not lose their warmth due to being wet. // Warmth is reduced by 0 - 66% based on wetness. - if( !i.made_of( material_wool ) ) { + if( !i.made_of( material_id( "wool" ) ) ) { warmth *= 1.0 - 0.66 * body_wetness[bp] / drench_capacity[bp]; } ret += warmth; @@ -8340,17 +8343,17 @@ int Character::bonus_item_warmth( body_part bp ) const // If the player is not wielding anything big, check if hands can be put in pockets if( ( bp == bp_hand_l || bp == bp_hand_r ) && weapon.volume() < 500_ml ) { - ret += bestwarmth( worn, flag_POCKETS ); + ret += bestwarmth( worn, "POCKETS" ); } // If the player's head is not encumbered, check if hood can be put up if( bp == bp_head && encumb( bp_head ) < 10 ) { - ret += bestwarmth( worn, flag_HOOD ); + ret += bestwarmth( worn, "HOOD" ); } // If the player's mouth is not encumbered, check if collar can be put up if( bp == bp_mouth && encumb( bp_mouth ) < 10 ) { - ret += bestwarmth( worn, flag_COLLAR ); + ret += bestwarmth( worn, "COLLAR" ); } return ret; @@ -8359,26 +8362,26 @@ int Character::bonus_item_warmth( body_part bp ) const bool Character::can_use_floor_warmth() const { return in_sleep_state() || - has_activity( ACT_WAIT ) || - has_activity( ACT_WAIT_NPC ) || - has_activity( ACT_WAIT_STAMINA ) || - has_activity( ACT_AUTODRIVE ) || - has_activity( ACT_READ ) || - has_activity( ACT_SOCIALIZE ) || - has_activity( ACT_MEDITATE ) || - has_activity( ACT_FISH ) || - has_activity( ACT_GAME ) || - has_activity( ACT_HAND_CRANK ) || - has_activity( ACT_HEATING ) || - has_activity( ACT_VIBE ) || - has_activity( ACT_TRY_SLEEP ) || - has_activity( ACT_OPERATION ) || - has_activity( ACT_TREE_COMMUNION ) || - has_activity( ACT_EAT_MENU ) || - has_activity( ACT_CONSUME_FOOD_MENU ) || - has_activity( ACT_CONSUME_DRINK_MENU ) || - has_activity( ACT_CONSUME_MEDS_MENU ) || - has_activity( ACT_STUDY_SPELL ); + has_activity( activity_id( "ACT_WAIT" ) ) || + has_activity( activity_id( "ACT_WAIT_NPC" ) ) || + has_activity( activity_id( "ACT_WAIT_STAMINA" ) ) || + has_activity( activity_id( "ACT_AUTODRIVE" ) ) || + has_activity( activity_id( "ACT_READ" ) ) || + has_activity( activity_id( "ACT_SOCIALIZE" ) ) || + has_activity( activity_id( "ACT_MEDITATE" ) ) || + has_activity( activity_id( "ACT_FISH" ) ) || + has_activity( activity_id( "ACT_GAME" ) ) || + has_activity( activity_id( "ACT_HAND_CRANK" ) ) || + has_activity( activity_id( "ACT_HEATING" ) ) || + has_activity( activity_id( "ACT_VIBE" ) ) || + has_activity( activity_id( "ACT_TRY_SLEEP" ) ) || + has_activity( activity_id( "ACT_OPERATION" ) ) || + has_activity( activity_id( "ACT_TREE_COMMUNION" ) ) || + has_activity( activity_id( "ACT_EAT_MENU" ) ) || + has_activity( activity_id( "ACT_CONSUME_FOOD_MENU" ) ) || + has_activity( activity_id( "ACT_CONSUME_DRINK_MENU" ) ) || + has_activity( activity_id( "ACT_CONSUME_MEDS_MENU" ) ) || + has_activity( activity_id( "ACT_STUDY_SPELL" ) ); } int Character::floor_bedding_warmth( const tripoint &pos ) @@ -8389,7 +8392,7 @@ int Character::floor_bedding_warmth( const tripoint &pos ) int floor_bedding_warmth = 0; const optional_vpart_position vp = g->m.veh_at( pos ); - const cata::optional boardable = vp.part_with_feature( flag_BOARDABLE, true ); + const cata::optional boardable = vp.part_with_feature( "BOARDABLE", true ); // Search the floor for bedding if( furn_at_pos != f_null ) { floor_bedding_warmth += furn_at_pos.obj().floor_bedding_warmth; @@ -8627,10 +8630,10 @@ bool Character::has_fire( const int quantity ) const if( g->m.has_nearby_fire( pos() ) ) { return true; - } else if( has_item_with_flag( flag_FIRE ) ) { + } else if( has_item_with_flag( "FIRE" ) ) { return true; - } else if( has_item_with_flag( flag_FIRESTARTER ) ) { - auto firestarters = all_items_with_flag( flag_FIRESTARTER ); + } else if( has_item_with_flag( "FIRESTARTER" ) ) { + auto firestarters = all_items_with_flag( "FIRESTARTER" ); for( auto &i : firestarters ) { if( has_charges( i->typeId(), quantity ) ) { return true; @@ -8686,10 +8689,10 @@ void Character::use_fire( const int quantity ) if( g->m.has_nearby_fire( pos() ) ) { return; - } else if( has_item_with_flag( flag_FIRE ) ) { + } else if( has_item_with_flag( "FIRE" ) ) { return; - } else if( has_item_with_flag( flag_FIRESTARTER ) ) { - auto firestarters = all_items_with_flag( flag_FIRESTARTER ); + } else if( has_item_with_flag( "FIRESTARTER" ) ) { + auto firestarters = all_items_with_flag( "FIRESTARTER" ); for( auto &i : firestarters ) { if( has_charges( i->typeId(), quantity ) ) { use_charges( i->typeId(), quantity ); diff --git a/src/character_martial_arts.cpp b/src/character_martial_arts.cpp index 7739f8005d2bc..074bc552f98f7 100644 --- a/src/character_martial_arts.cpp +++ b/src/character_martial_arts.cpp @@ -7,6 +7,8 @@ #include "output.h" #include "cata_string_consts.h" +using itype_id = std::string; + character_martial_arts::character_martial_arts() { diff --git a/src/character_martial_arts.h b/src/character_martial_arts.h index 904837f6f4286..bd47591dc3ee0 100644 --- a/src/character_martial_arts.h +++ b/src/character_martial_arts.h @@ -13,6 +13,8 @@ class item; class JsonOut; class JsonIn; +using itype_id = std::string; + class character_martial_arts { private: diff --git a/src/clzones.cpp b/src/clzones.cpp index d80e523807dfc..8355b4be7b6f8 100644 --- a/src/clzones.cpp +++ b/src/clzones.cpp @@ -38,19 +38,19 @@ zone_manager::zone_manager() { - types.emplace( zone_type_NO_AUTO_PICKUP, + types.emplace( zone_type_id( "NO_AUTO_PICKUP" ), zone_type( translate_marker( "No Auto Pickup" ), translate_marker( "You won't auto-pickup items inside the zone." ) ) ); - types.emplace( zone_type_NO_NPC_PICKUP, + types.emplace( zone_type_id( "NO_NPC_PICKUP" ), zone_type( translate_marker( "No NPC Pickup" ), translate_marker( "Friendly NPCs don't pickup items inside the zone." ) ) ); - types.emplace( zone_type_NPC_RETREAT, + types.emplace( zone_type_id( "NPC_RETREAT" ), zone_type( translate_marker( "NPC Retreat" ), translate_marker( "When fleeing, friendly NPCs will attempt to retreat toward this zone if it is within 60 tiles." ) ) ); - types.emplace( zone_type_NPC_NO_INVESTIGATE, + types.emplace( zone_type_id( "NPC_NO_INVESTIGATE" ), zone_type( translate_marker( "NPC Ignore Sounds" ), translate_marker( "Friendly NPCs won't investigate unseen sounds coming from this zone." ) ) ); - types.emplace( zone_type_NPC_INVESTIGATE_ONLY, + types.emplace( zone_type_id( "NPC_INVESTIGATE_ONLY" ), zone_type( translate_marker( "NPC Investigation Area" ), translate_marker( "Friendly NPCs will investigate unseen sounds only if they come from inside this area." ) ) ); @@ -58,35 +58,35 @@ zone_manager::zone_manager() types.emplace( zone.id, zone ); } - types.emplace( zone_type_SOURCE_FIREWOOD, + types.emplace( zone_type_id( "SOURCE_FIREWOOD" ), zone_type( translate_marker( "Source: Firewood" ), translate_marker( "Source for firewood or other flammable materials in this zone may be used to automatically refuel fires. " "This will be done to maintain light during long-running tasks such as crafting, reading or waiting." ) ) ); - types.emplace( zone_type_CONSTRUCTION_BLUEPRINT, + types.emplace( zone_type_id( "CONSTRUCTION_BLUEPRINT" ), zone_type( translate_marker( "Construction: Blueprint" ), translate_marker( "Designate a blueprint zone for construction." ) ) ); - types.emplace( zone_type_FARM_PLOT, + types.emplace( zone_type_id( "FARM_PLOT" ), zone_type( translate_marker( "Farm: Plot" ), translate_marker( "Designate a farm plot for tilling and planting." ) ) ); - types.emplace( zone_type_CHOP_TREES, + types.emplace( zone_type_id( "CHOP_TREES" ), zone_type( translate_marker( "Chop Trees" ), translate_marker( "Designate an area to chop down trees." ) ) ); - types.emplace( zone_type_FISHING_SPOT, + types.emplace( zone_type_id( "FISHING_SPOT" ), zone_type( translate_marker( "Fishing Spot" ), translate_marker( "Designate an area to fish from." ) ) ); - types.emplace( zone_type_VEHICLE_DECONSTRUCT, + types.emplace( zone_type_id( "VEHICLE_DECONSTRUCT" ), zone_type( translate_marker( "Vehicle Deconstruct Zone" ), translate_marker( "Any vehicles in this area are marked for deconstruction." ) ) ); - types.emplace( zone_type_VEHICLE_REPAIR, + types.emplace( zone_type_id( "VEHICLE_REPAIR" ), zone_type( translate_marker( "Vehicle Repair Zone" ), translate_marker( "Any vehicles in this area are marked for repair work." ) ) ); - types.emplace( zone_type_VEHICLE_PATROL, + types.emplace( zone_type_id( "VEHICLE_PATROL" ), zone_type( translate_marker( "Vehicle Patrol Zone" ), translate_marker( "Vehicles with an autopilot will patrol in this zone." ) ) ); - types.emplace( zone_type_CAMP_STORAGE, + types.emplace( zone_type_id( "CAMP_STORAGE" ), zone_type( translate_marker( "Basecamp: Storage" ), translate_marker( "Items in this zone will be added to a basecamp's inventory for use by it's workers." ) ) ); - types.emplace( zone_type_CAMP_FOOD, + types.emplace( zone_type_id( "CAMP_FOOD" ), zone_type( translate_marker( "Basecamp: Food" ), translate_marker( "Items in this zone will be added to a basecamp's food supply in the Distribute Food mission." ) ) ); @@ -138,11 +138,11 @@ void zone_type::load( const JsonObject &jo, const std::string & ) shared_ptr_fast zone_options::create( const zone_type_id &type ) { - if( type == zone_type_FARM_PLOT ) { + if( type == zone_type_id( "FARM_PLOT" ) ) { return make_shared_fast(); - } else if( type == zone_type_CONSTRUCTION_BLUEPRINT ) { + } else if( type == zone_type_id( "CONSTRUCTION_BLUEPRINT" ) ) { return make_shared_fast(); - } else if( type == zone_type_LOOT_CUSTOM ) { + } else if( type == zone_type_id( "LOOT_CUSTOM" ) ) { return make_shared_fast(); } @@ -151,11 +151,11 @@ shared_ptr_fast zone_options::create( const zone_type_id &type ) bool zone_options::is_valid( const zone_type_id &type, const zone_options &options ) { - if( type == zone_type_FARM_PLOT ) { + if( type == zone_type_id( "FARM_PLOT" ) ) { return dynamic_cast( &options ) != nullptr; - } else if( type == zone_type_CONSTRUCTION_BLUEPRINT ) { + } else if( type == zone_type_id( "CONSTRUCTION_BLUEPRINT" ) ) { return dynamic_cast( &options ) != nullptr; - } else if( type == zone_type_LOOT_CUSTOM ) { + } else if( type == zone_type_id( "LOOT_CUSTOM" ) ) { return dynamic_cast( &options ) != nullptr; } @@ -604,7 +604,7 @@ std::unordered_set zone_manager::get_point_set_loot( const tripoint &w if( ( !zone ) || ( zone->get_type().str().substr( 0, 4 ) != "LOOT" ) ) { continue; } - if( npc_search && ( has( zone_type_NO_NPC_PICKUP, elem ) ) ) { + if( npc_search && ( has( zone_type_id( "NO_NPC_PICKUP" ), elem ) ) ) { continue; } res.insert( elem ); @@ -660,10 +660,10 @@ bool zone_manager::has_loot_dest_near( const tripoint &where ) const { for( const auto &ztype : get_manager().get_types() ) { const zone_type_id &type = ztype.first; - if( type == zone_type_CAMP_FOOD || type == zone_type_FARM_PLOT || - type == zone_type_LOOT_UNSORTED || type == zone_type_LOOT_IGNORE || - type == zone_type_CONSTRUCTION_BLUEPRINT || - type == zone_type_NO_AUTO_PICKUP || type == zone_type_NO_NPC_PICKUP ) { + if( type == zone_type_id( "CAMP_FOOD" ) || type == zone_type_id( "FARM_PLOT" ) || + type == zone_type_id( "LOOT_UNSORTED" ) || type == zone_type_id( "LOOT_IGNORE" ) || + type == zone_type_id( "CONSTRUCTION_BLUEPRINT" ) || + type == zone_type_id( "NO_AUTO_PICKUP" ) || type == zone_type_id( "NO_NPC_PICKUP" ) ) { continue; } if( has_near( type, where ) ) { @@ -691,7 +691,7 @@ const zone_data *zone_manager::get_zone_at( const tripoint &where, const zone_ty bool zone_manager::custom_loot_has( const tripoint &where, const item *it ) const { - auto zone = get_zone_at( where, zone_type_LOOT_CUSTOM ); + auto zone = get_zone_at( where, zone_type_id( "LOOT_CUSTOM" ) ); if( !zone || !it ) { return false; } @@ -711,7 +711,7 @@ std::unordered_set zone_manager::get_near( const zone_type_id &type, for( auto &point : point_set ) { if( point.z == where.z ) { if( square_dist( point, where ) <= range ) { - if( it && has( zone_type_LOOT_CUSTOM, point ) ) { + if( it && has( zone_type_id( "LOOT_CUSTOM" ), point ) ) { if( custom_loot_has( point, it ) ) { near_point_set.insert( point ); } @@ -726,7 +726,7 @@ std::unordered_set zone_manager::get_near( const zone_type_id &type, for( auto &point : vzone_set ) { if( point.z == where.z ) { if( square_dist( point, where ) <= range ) { - if( it && has( zone_type_LOOT_CUSTOM, point ) ) { + if( it && has( zone_type_id( "LOOT_CUSTOM" ), point ) ) { if( custom_loot_has( point, it ) ) { near_point_set.insert( point ); } @@ -783,20 +783,20 @@ zone_type_id zone_manager::get_near_zone_type_for_item( const item &it, { const item_category &cat = it.get_category(); - if( has_near( zone_type_LOOT_CUSTOM, where, range ) ) { - for( const auto elem : get_near( zone_type_LOOT_CUSTOM, where, range, &it ) ) { + if( has_near( zone_type_id( "LOOT_CUSTOM" ), where, range ) ) { + for( const auto elem : get_near( zone_type_id( "LOOT_CUSTOM" ), where, range, &it ) ) { ( void )elem; - return zone_type_LOOT_CUSTOM; + return zone_type_id( "LOOT_CUSTOM" ); } } if( it.has_flag( flag_FIREWOOD ) ) { - if( has_near( zone_type_LOOT_WOOD, where, range ) ) { - return zone_type_LOOT_WOOD; + if( has_near( zone_type_id( "LOOT_WOOD" ), where, range ) ) { + return zone_type_id( "LOOT_WOOD" ); } } if( it.is_corpse() ) { - if( has_near( zone_type_LOOT_CORPSE, where, range ) ) { - return zone_type_LOOT_CORPSE; + if( has_near( zone_type_id( "LOOT_CORPSE" ), where, range ) ) { + return zone_type_id( "LOOT_CORPSE" ); } } @@ -814,20 +814,20 @@ zone_type_id zone_manager::get_near_zone_type_for_item( const item &it, // skip food without comestible, like MREs if( const item *it_food = it.get_food() ) { - if( it_food->get_comestible()->comesttype == comesttype_DRINK ) { - if( !preserves && it_food->goes_bad() && has_near( zone_type_LOOT_PDRINK, where, range ) ) { - return zone_type_LOOT_PDRINK; - } else if( has_near( zone_type_LOOT_DRINK, where, range ) ) { - return zone_type_LOOT_DRINK; + if( it_food->get_comestible()->comesttype == "DRINK" ) { + if( !preserves && it_food->goes_bad() && has_near( zone_type_id( "LOOT_PDRINK" ), where, range ) ) { + return zone_type_id( "LOOT_PDRINK" ); + } else if( has_near( zone_type_id( "LOOT_DRINK" ), where, range ) ) { + return zone_type_id( "LOOT_DRINK" ); } } - if( !preserves && it_food->goes_bad() && has_near( zone_type_LOOT_PFOOD, where, range ) ) { - return zone_type_LOOT_PFOOD; + if( !preserves && it_food->goes_bad() && has_near( zone_type_id( "LOOT_PFOOD" ), where, range ) ) { + return zone_type_id( "LOOT_PFOOD" ); } } - return zone_type_LOOT_FOOD; + return zone_type_id( "LOOT_FOOD" ); } return zone_type_id(); @@ -912,11 +912,11 @@ void zone_manager::add( const std::string &name, const zone_type_id &type, const zone_data new_zone = zone_data( name, type, fac, invert, enabled, start, end, options ); //the start is a vehicle tile with cargo space if( const cata::optional vp = g->m.veh_at( g->m.getlocal( - start ) ).part_with_feature( flag_CARGO, false ) ) { + start ) ).part_with_feature( "CARGO", false ) ) { // TODO:Allow for loot zones on vehicles to be larger than 1x1 if( start == end && query_yn( _( "Bind this zone to the cargo part here?" ) ) ) { // TODO: refactor zone options for proper validation code - if( type == zone_type_FARM_PLOT || type == zone_type_CONSTRUCTION_BLUEPRINT ) { + if( type == zone_type_id( "FARM_PLOT" ) || type == zone_type_id( "CONSTRUCTION_BLUEPRINT" ) ) { popup( _( "You cannot add that type of zone to a vehicle." ), PF_NONE ); return; } @@ -1178,7 +1178,7 @@ void zone_manager::revert_vzones() for( auto zone : removed_vzones ) { //Code is copied from add() to avoid yn query if( const cata::optional vp = g->m.veh_at( g->m.getlocal( - zone.get_start_point() ) ).part_with_feature( flag_CARGO, false ) ) { + zone.get_start_point() ) ).part_with_feature( "CARGO", false ) ) { zone.set_is_vehicle( true ); vp->vehicle().loot_zones.emplace( vp->mount(), zone ); vp->vehicle().zones_dirty = false; diff --git a/src/computer_session.cpp b/src/computer_session.cpp index 5651403228f60..6bdb08a48b142 100644 --- a/src/computer_session.cpp +++ b/src/computer_session.cpp @@ -718,8 +718,8 @@ void computer_session::action_blood_anal() const mtype *mt = blood.get_mtype(); if( mt == nullptr || mt->id == mtype_id::NULL_ID() ) { print_line( _( "Result: Human blood, no pathogens found." ) ); - } else if( mt->in_species( species_ZOMBIE ) ) { - if( mt->in_species( species_HUMAN ) ) { + } else if( mt->in_species( ZOMBIE ) ) { + if( mt->in_species( HUMAN ) ) { print_line( _( "Result: Human blood. Unknown pathogen found." ) ); } else { print_line( _( "Result: Unknown blood type. Unknown pathogen found." ) ); diff --git a/src/construction.cpp b/src/construction.cpp index 1472f5712ee19..39ac794f4a534 100644 --- a/src/construction.cpp +++ b/src/construction.cpp @@ -1077,7 +1077,7 @@ void construct::done_grave( const tripoint &p ) g->u.getID(), it.get_mtype()->id, it.get_corpse_name() ); } } - if( g->u.has_quality( quality_CUT ) ) { + if( g->u.has_quality( qual_CUT ) ) { iuse::handle_ground_graffiti( g->u, nullptr, _( "Inscribe something on the grave?" ), p ); } else { add_msg( m_neutral, @@ -1105,7 +1105,8 @@ static vpart_id vpart_from_item( const std::string &item_id ) } } debugmsg( "item %s used by construction is not base item of any vehicle part!", item_id.c_str() ); - return vpart_frame_vertical_2; + static const vpart_id frame_id( "frame_vertical_2" ); + return frame_id; } void construct::done_vehicle( const tripoint &p ) diff --git a/src/consumption.cpp b/src/consumption.cpp index 06efa585df865..06821eb763823 100644 --- a/src/consumption.cpp +++ b/src/consumption.cpp @@ -135,7 +135,7 @@ static std::map compute_default_effective_vitamins( // TODO: put this loop into a function and utilize it again for bionics for( const auto &mat : mut.vitamin_absorb_multi ) { // this is where we are able to check if the food actually is changed by the trait - if( mat.first == material_all || it.made_of( mat.first ) ) { + if( mat.first == material_id( "all" ) || it.made_of( mat.first ) ) { const std::map &mat_vit_map = mat.second; for( auto &vit : res ) { auto vit_factor = mat_vit_map.find( vit.first ); @@ -530,7 +530,7 @@ ret_val Character::can_eat( const item &food ) const return ret_val::make_failure( _( "That doesn't look edible in its current form." ) ); } - if( food.item_tags.count( flag_DIRTY ) ) { + if( food.item_tags.count( "DIRTY" ) ) { return ret_val::make_failure( _( "This is full of dirt after being on the ground." ) ); } @@ -632,7 +632,7 @@ ret_val Character::will_eat( const item &food, bool interactive ) } const bool carnivore = has_trait( trait_CARNIVORE ); - if( food.has_flag( flag_CANNIBALISM ) && !has_trait_flag( flag_CANNIBAL ) ) { + if( food.has_flag( flag_CANNIBALISM ) && !has_trait_flag( "CANNIBAL" ) ) { add_consequence( _( "The thought of eating human flesh makes you feel sick." ), CANNIBALISM ); } @@ -1245,8 +1245,8 @@ hint_rating Character::rate_action_eat( const item &it ) const bool Character::can_feed_reactor_with( const item &it ) const { static const std::set acceptable = {{ - ammo_reactor_slurry, - ammo_plutonium + ammotype( "reactor_slurry" ), + ammotype( "plutonium" ) } }; @@ -1441,10 +1441,10 @@ int Character::get_acquirable_energy( const item &it, rechargeable_cbm cbm ) con int amount = ( consumed_vol / 250_ml + consumed_mass / 1_gram ) / 9; // TODO: JSONize. - if( it.made_of( material_leather ) ) { + if( it.made_of( material_id( "leather" ) ) ) { amount /= 4; } - if( it.made_of( material_wood ) ) { + if( it.made_of( material_id( "wood" ) ) ) { amount /= 2; } diff --git a/src/crafting.cpp b/src/crafting.cpp index 78774615b05ea..31769f7dfea2d 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -173,7 +173,7 @@ static float workbench_crafting_speed_multiplier( const item &craft, const tripo allowed_mass = f.workbench->allowed_mass; allowed_volume = f.workbench->allowed_volume; } else if( const cata::optional vp = g->m.veh_at( - loc ).part_with_feature( flag_WORKBENCH, true ) ) { + loc ).part_with_feature( "WORKBENCH", true ) ) { // Vehicle workbench const vpart_info &vp_info = vp->part().info(); if( const cata::optional &wb_info = vp_info.get_workbench_info() ) { @@ -455,7 +455,7 @@ std::vector player::get_eligible_containers_for_crafting() const } } - if( const cata::optional vp = g->m.veh_at( loc ).part_with_feature( flag_CARGO, + if( const cata::optional vp = g->m.veh_at( loc ).part_with_feature( "CARGO", true ) ) { for( const auto &it : vp->vehicle().get_items( vp->part_index() ) ) { if( is_container_eligible_for_crafting( it, false ) ) { @@ -642,7 +642,7 @@ static item_location set_item_map( const tripoint &loc, item &newit ) */ static item_location set_item_map_or_vehicle( const player &p, const tripoint &loc, item &newit ) { - if( const cata::optional vp = g->m.veh_at( loc ).part_with_feature( flag_CARGO, + if( const cata::optional vp = g->m.veh_at( loc ).part_with_feature( "CARGO", false ) ) { if( const cata::optional it = vp->vehicle().add_item( vp->part_index(), @@ -710,7 +710,7 @@ void player::start_craft( craft_command &command, const tripoint &loc ) target = adj; } } else if( const cata::optional vp = g->m.veh_at( - adj ).part_with_feature( flag_WORKBENCH, true ) ) { + adj ).part_with_feature( "WORKBENCH", true ) ) { if( const cata::optional &wb_info = vp->part().info().get_workbench_info() ) { if( wb_info->multiplier > best_bench_multi ) { best_bench_multi = wb_info->multiplier; @@ -2248,7 +2248,7 @@ void player::complete_disassemble( item_location &target, const recipe &dis ) } if( filthy ) { - act_item.item_tags.insert( flag_FILTHY ); + act_item.item_tags.insert( "FILTHY" ); } for( std::list::iterator a = dis_item.components.begin(); a != dis_item.components.end(); diff --git a/src/creature.cpp b/src/creature.cpp index af653b025360a..06a64e2e8f3f4 100644 --- a/src/creature.cpp +++ b/src/creature.cpp @@ -48,17 +48,17 @@ const std::map Creature::size_map = { }; const std::set Creature::cmat_flesh{ - material_flesh, material_iflesh + material_id( "flesh" ), material_id( "iflesh" ) }; const std::set Creature::cmat_fleshnveg{ - material_flesh, material_iflesh, material_veggy + material_id( "flesh" ), material_id( "iflesh" ), material_id( "veggy" ) }; const std::set Creature::cmat_flammable{ - material_paper, material_powder, material_wood, - material_cotton, material_wool + material_id( "paper" ), material_id( "powder" ), material_id( "wood" ), + material_id( "cotton" ), material_id( "wool" ) }; const std::set Creature::cmat_flameres{ - material_stone, material_kevlar, material_steel + material_id( "stone" ), material_id( "kevlar" ), material_id( "steel" ) }; Creature::Creature() @@ -684,13 +684,13 @@ void Creature::deal_projectile_attack( Creature *source, dealt_projectile_attack } } if( proj.proj_effects.count( "INCENDIARY" ) ) { - if( made_of( material_veggy ) || made_of_any( cmat_flammable ) ) { + if( made_of( material_id( "veggy" ) ) || made_of_any( cmat_flammable ) ) { add_effect( effect_onfire, rng( 2_turns, 6_turns ), bp_hit ); } else if( made_of_any( cmat_flesh ) && one_in( 4 ) ) { add_effect( effect_onfire, rng( 1_turns, 4_turns ), bp_hit ); } } else if( proj.proj_effects.count( "IGNITE" ) ) { - if( made_of( material_veggy ) || made_of_any( cmat_flammable ) ) { + if( made_of( material_id( "veggy" ) ) || made_of_any( cmat_flammable ) ) { add_effect( effect_onfire, 6_turns, bp_hit ); } else if( made_of_any( cmat_flesh ) ) { add_effect( effect_onfire, 10_turns, bp_hit ); diff --git a/src/debug_menu.cpp b/src/debug_menu.cpp index 6db651603ad41..a4d1b1d81cadc 100644 --- a/src/debug_menu.cpp +++ b/src/debug_menu.cpp @@ -1130,8 +1130,8 @@ void debug() new_fac_id += temp->name; // create a new "lone wolf" faction for this one NPC faction *new_solo_fac = g->faction_manager_ptr->add_new_faction( temp->name, - faction_id( new_fac_id ), faction_no_faction ); - temp->set_fac( new_solo_fac ? new_solo_fac->id : faction_no_faction ); + faction_id( new_fac_id ), faction_id( "no_faction" ) ); + temp->set_fac( new_solo_fac ? new_solo_fac->id : faction_id( "no_faction" ) ); g->load_npcs(); } break; diff --git a/src/dump.cpp b/src/dump.cpp index 6eee7c7c69afb..34c85d62329cd 100644 --- a/src/dump.cpp +++ b/src/dump.cpp @@ -122,7 +122,7 @@ bool game::dump_stats( const std::string &what, dump_mode mode, item obj( e ); if( bp == num_bp || obj.covers( bp ) ) { if( obj.has_flag( flag_VARSIZE ) ) { - obj.item_tags.insert( flag_FIT ); + obj.item_tags.insert( "FIT" ); } dump( obj ); } diff --git a/src/editmap.cpp b/src/editmap.cpp index 4fe9872e3b8db..622b95d34a317 100644 --- a/src/editmap.cpp +++ b/src/editmap.cpp @@ -50,7 +50,6 @@ #include "shadowcasting.h" #include "string_id.h" #include "colony.h" -#include "cata_string_consts.h" static constexpr tripoint editmap_boundary_min( 0, 0, -OVERMAP_DEPTH ); static constexpr tripoint editmap_boundary_max( MAPSIZE_X, MAPSIZE_Y, OVERMAP_HEIGHT + 1 ); @@ -643,7 +642,7 @@ void editmap::update_view_with_help( const std::string &txt, const std::string & } map_stack target_stack = g->m.i_at( target ); const int target_stack_size = target_stack.size(); - if( !g->m.has_flag( flag_CONTAINER, target ) && target_stack_size > 0 ) { + if( !g->m.has_flag( "CONTAINER", target ) && target_stack_size > 0 ) { trim_and_print( w_info, point( 1, off ), getmaxx( w_info ), c_light_gray, _( "There is a %s there." ), target_stack.begin()->tname() ); @@ -1630,7 +1629,7 @@ void editmap::mapgen_preview( const real_coords &tc, uilist &gmenu ) const int veh_part = vp->part_index(); char part_mod = 0; const vpart_id &vp_id = veh.part_id_string( veh_part, part_mod ); - const cata::optional cargopart = vp.part_with_feature( flag_CARGO, true ); + const cata::optional cargopart = vp.part_with_feature( "CARGO", true ); bool draw_highlight = cargopart && !veh.get_items( cargopart->part_index() ).empty(); int veh_dir = veh.face.dir(); g->draw_vpart_override( map_p, vp_id, part_mod, veh_dir, draw_highlight, vp->mount() ); diff --git a/src/event.h b/src/event.h index 422f03ac9ae71..9720143303469 100644 --- a/src/event.h +++ b/src/event.h @@ -10,6 +10,8 @@ #include "enum_conversions.h" #include "type_id.h" +using itype_id = std::string; + // An event is something to be passed via the event_bus to subscribers // interested in being notified about events. // diff --git a/src/explosion.cpp b/src/explosion.cpp index ec067f2e26236..a9836a893df07 100644 --- a/src/explosion.cpp +++ b/src/explosion.cpp @@ -546,7 +546,7 @@ void flashbang( const tripoint &p, bool player_immune ) } } for( monster &critter : g->all_monsters() ) { - if( critter.type->in_species( species_ROBOT ) ) { + if( critter.type->in_species( ROBOT ) ) { continue; } // TODO: can the following code be called for all types of creatures @@ -620,7 +620,7 @@ void emp_blast( const tripoint &p ) int x = p.x; int y = p.y; const bool sight = g->u.sees( p ); - if( g->m.has_flag( flag_CONSOLE, point( x, y ) ) ) { + if( g->m.has_flag( "CONSOLE", point( x, y ) ) ) { if( sight ) { add_msg( _( "The %s is rendered non-functional!" ), g->m.tername( point( x, y ) ) ); } @@ -721,7 +721,7 @@ void emp_blast( const tripoint &p ) // TODO: More effects? //e-handcuffs effects if( g->u.weapon.typeId() == "e_handcuffs" && g->u.weapon.charges > 0 ) { - g->u.weapon.item_tags.erase( flag_NO_UNWIELD ); + g->u.weapon.item_tags.erase( "NO_UNWIELD" ); g->u.weapon.charges = 0; g->u.weapon.active = false; add_msg( m_good, _( "The %s on your wrists spark briefly, then release your hands!" ), diff --git a/src/explosion.h b/src/explosion.h index 5ab28b0b11ce6..2010f8adc61a2 100644 --- a/src/explosion.h +++ b/src/explosion.h @@ -5,7 +5,7 @@ #include #include -#include "type_id.h" +using itype_id = std::string; struct tripoint; class JsonObject; diff --git a/src/faction.cpp b/src/faction.cpp index f0d95f947c3ca..788fadeeb7710 100644 --- a/src/faction.cpp +++ b/src/faction.cpp @@ -32,7 +32,6 @@ #include "pimpl.h" #include "type_id.h" #include "point.h" -#include "cata_string_consts.h" namespace npc_factions { @@ -416,7 +415,7 @@ faction *faction_manager::add_new_faction( const std::string &name_new, const fa faction *faction_manager::get( const faction_id &id, const bool complain ) { if( id.is_null() ) { - return get( faction_no_faction ); + return get( faction_id( "no_faction" ) ); } for( auto &elem : factions ) { if( elem.first == id ) { @@ -546,8 +545,8 @@ int npc::faction_display( const catacurses::window &fac_w, const int width ) con } std::string can_see; nc_color see_color; - bool u_has_radio = g->u.has_item_with_flag( flag_TWO_WAY_RADIO, true ); - bool guy_has_radio = has_item_with_flag( flag_TWO_WAY_RADIO, true ); + bool u_has_radio = g->u.has_item_with_flag( "TWO_WAY_RADIO", true ); + bool guy_has_radio = has_item_with_flag( "TWO_WAY_RADIO", true ); // TODO: NPCS on mission contactable same as travelling if( has_companion_mission() && mission != NPC_MISSION_TRAVELLING ) { can_see = _( "Not interactable while on a mission" ); @@ -707,7 +706,7 @@ void faction_manager::display() const } std::vector valfac; // Factions that we know of. for( const auto &elem : g->faction_manager_ptr->all() ) { - if( elem.second.known_by_u && elem.second.id != faction_your_followers ) { + if( elem.second.known_by_u && elem.second.id != faction_id( "your_followers" ) ) { valfac.push_back( &elem.second ); } } diff --git a/src/faction_camp.cpp b/src/faction_camp.cpp index 6b54ffa94e3b0..e0d9a5dce0064 100644 --- a/src/faction_camp.cpp +++ b/src/faction_camp.cpp @@ -3605,7 +3605,7 @@ std::string camp_car_description( vehicle *car ) { std::string entry = string_format( _( "Name: %s\n" ), right_justify( car->name, 25 ) ); entry += _( "---- Engines ----\n" ); - for( const vpart_reference &vpr : car->get_any_parts( flag_ENGINE ) ) { + for( const vpart_reference &vpr : car->get_any_parts( "ENGINE" ) ) { const vehicle_part &pt = vpr.part(); const vpart_info &vp = pt.info(); entry += string_format( _( "Engine: %s\n" ), right_justify( vp.name(), 25 ) ); diff --git a/src/fungal_effects.cpp b/src/fungal_effects.cpp index 516d796de5093..5cb1c65ad39ad 100644 --- a/src/fungal_effects.cpp +++ b/src/fungal_effects.cpp @@ -40,7 +40,7 @@ void fungal_effects::fungalize( const tripoint &p, Creature *origin, double spor if( monster *const mon_ptr = g->critter_at( p ) ) { monster &critter = *mon_ptr; if( gm.u.sees( p ) && - !critter.type->in_species( species_FUNGUS ) ) { + !critter.type->in_species( FUNGUS ) ) { add_msg( _( "The %s is covered in tiny spores!" ), critter.name() ); } if( !critter.make_fungus() ) { diff --git a/src/game.cpp b/src/game.cpp index 4c21e2a3249c1..1d84557d1c8bf 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -143,7 +143,6 @@ #include "string_id.h" #include "colony.h" #include "item.h" -#include "cata_string_consts.h" class inventory; @@ -171,6 +170,60 @@ static constexpr int DANGEROUS_PROXIMITY = 5; /** Will be set to true when running unit tests */ bool test_mode = false; +static const mtype_id mon_manhack( "mon_manhack" ); + +static const skill_id skill_melee( "melee" ); +static const skill_id skill_dodge( "dodge" ); +static const skill_id skill_firstaid( "firstaid" ); +static const skill_id skill_survival( "survival" ); +static const skill_id skill_electronics( "electronics" ); +static const skill_id skill_computer( "computer" ); + +static const species_id PLANT( "PLANT" ); + +static const efftype_id effect_adrenaline_mycus( "adrenaline_mycus" ); +static const efftype_id effect_assisted( "assisted" ); +static const efftype_id effect_blind( "blind" ); +static const efftype_id effect_boomered( "boomered" ); +static const efftype_id effect_bouldering( "bouldering" ); +static const efftype_id effect_contacts( "contacts" ); +static const efftype_id effect_controlled( "controlled" ); +static const efftype_id effect_docile( "docile" ); +static const efftype_id effect_downed( "downed" ); +static const efftype_id effect_drunk( "drunk" ); +static const efftype_id effect_evil( "evil" ); +static const efftype_id effect_flu( "flu" ); +static const efftype_id effect_infected( "infected" ); +static const efftype_id effect_laserlocked( "laserlocked" ); +static const efftype_id effect_no_sight( "no_sight" ); +static const efftype_id effect_npc_suspend( "npc_suspend" ); +static const efftype_id effect_onfire( "onfire" ); +static const efftype_id effect_pacified( "pacified" ); +static const efftype_id effect_paid( "paid" ); +static const efftype_id effect_pet( "pet" ); +static const efftype_id effect_ridden( "ridden" ); +static const efftype_id effect_riding( "riding" ); +static const efftype_id effect_sleep( "sleep" ); +static const efftype_id effect_stunned( "stunned" ); +static const efftype_id effect_tetanus( "tetanus" ); +static const efftype_id effect_tied( "tied" ); +static const efftype_id effect_winded( "winded" ); + +static const bionic_id bio_remote( "bio_remote" ); + +static const trait_id trait_ILLITERATE( "ILLITERATE" ); +static const trait_id trait_INFIMMUNE( "INFIMMUNE" ); +static const trait_id trait_INFRESIST( "INFRESIST" ); +static const trait_id trait_LEG_TENT_BRACE( "LEG_TENT_BRACE" ); +static const trait_id trait_M_IMMUNE( "M_IMMUNE" ); +static const trait_id trait_PARKOUR( "PARKOUR" ); +static const trait_id trait_VINES2( "VINES2" ); +static const trait_id trait_VINES3( "VINES3" ); + +static const trap_str_id tr_unfinished_construction( "tr_unfinished_construction" ); + +static const faction_id your_followers( "your_followers" ); + void intro(); #if defined(__ANDROID__) @@ -695,17 +748,17 @@ bool game::start_game() //Put some NPCs in there! if( get_option( "STARTING_NPC" ) == "always" || ( get_option( "STARTING_NPC" ) == "scenario" && - !g->scen->has_flag( flag_LONE_START ) ) ) { + !g->scen->has_flag( "LONE_START" ) ) ) { create_starting_npcs(); } //Load NPCs. Set nearby npcs to active. load_npcs(); // Spawn the monsters const bool spawn_near = - get_option( "BLACK_ROAD" ) || g->scen->has_flag( flag_SUR_START ); + get_option( "BLACK_ROAD" ) || g->scen->has_flag( "SUR_START" ); // Surrounded start ones if( spawn_near ) { - start_loc.surround_with_monsters( omtstart, GROUP_ZOMBIE, 70 ); + start_loc.surround_with_monsters( omtstart, mongroup_id( "GROUP_ZOMBIE" ), 70 ); } m.spawn_monsters( !spawn_near ); // Static monsters @@ -725,18 +778,18 @@ bool game::start_game() u.set_highest_cat_level(); //Calculate mutation drench protection stats u.drench_mut_calc(); - if( scen->has_flag( flag_FIRE_START ) ) { + if( scen->has_flag( "FIRE_START" ) ) { start_loc.burn( omtstart, 3, 3 ); } - if( scen->has_flag( flag_INFECTED ) ) { + if( scen->has_flag( "INFECTED" ) ) { u.add_effect( effect_infected, 1_turns, random_body_part(), true ); } - if( scen->has_flag( flag_BAD_DAY ) ) { + if( scen->has_flag( "BAD_DAY" ) ) { u.add_effect( effect_flu, 1000_minutes ); u.add_effect( effect_drunk, 270_minutes ); u.add_morale( MORALE_FEELING_BAD, -100, -100, 50_minutes, 50_minutes ); } - if( scen->has_flag( flag_HELI_CRASH ) ) { + if( scen->has_flag( "HELI_CRASH" ) ) { start_loc.handle_heli_crash( u ); bool success = false; for( auto v : m.get_vehicles() ) { @@ -894,8 +947,8 @@ void game::create_starting_npcs() //This sets the NPC mission. This NPC remains in the starting location. tmp->mission = NPC_MISSION_SHELTER; tmp->chatbin.first_topic = "TALK_SHELTER"; - tmp->toggle_trait( trait_NPC_STARTING_NPC ); - tmp->set_fac( faction_no_faction ); + tmp->toggle_trait( trait_id( "NPC_STARTING_NPC" ) ); + tmp->set_fac( faction_id( "no_faction" ) ); //One random starting NPC mission tmp->add_new_mission( mission::reserve_random( ORIGIN_OPENER_NPC, tmp->global_omt_location(), tmp->getID() ) ); @@ -1375,7 +1428,7 @@ bool game::do_turn() sfx::do_hearing_loss(); } - if( !u.has_effect( effect_sleep ) ) { + if( !u.has_effect( efftype_id( "sleep" ) ) ) { if( u.moves > 0 || uquit == QUIT_WATCH ) { while( u.moves > 0 || uquit == QUIT_WATCH ) { cleanup_dead(); @@ -1422,7 +1475,7 @@ bool game::do_turn() // If player is performing a task and a monster is dangerously close, warn them // regardless of previous safemode warnings - if( u.activity && !u.has_activity( ACT_AIM ) && + if( u.activity && !u.has_activity( activity_id( "ACT_AIM" ) ) && u.activity.moves_left > 0 && !u.activity.is_distraction_ignored( distraction_type::hostile_spotted ) ) { Creature *hostile_critter = is_hostile_very_close(); @@ -1446,8 +1499,8 @@ bool game::do_turn() } // No-scent debug mutation has to be processed here or else it takes time to start working - if( !u.has_active_bionic( bio_scent_mask ) && - !u.has_trait( trait_DEBUG_NOSCENT ) ) { + if( !u.has_active_bionic( bionic_id( "bio_scent_mask" ) ) && + !u.has_trait( trait_id( "DEBUG_NOSCENT" ) ) ) { scent.set( u.pos(), u.scent, u.get_type_of_scent() ); overmap_buffer.set_scent( u.global_omt_location(), u.scent ); } @@ -1623,7 +1676,7 @@ bool game::cancel_activity_or_ignore_query( const distraction_type type, const s if( cancel_auto_move( u, text ) ) { return true; } else { - u.set_destination( u.get_auto_move_route(), player_activity( ACT_TRAVELLING ) ); + u.set_destination( u.get_auto_move_route(), player_activity( activity_id( "ACT_TRAVELLING" ) ) ); return false; } } @@ -1667,7 +1720,7 @@ bool game::cancel_activity_query( const std::string &text ) if( cancel_auto_move( u, text ) ) { return true; } else { - u.set_destination( u.get_auto_move_route(), player_activity( ACT_TRAVELLING ) ); + u.set_destination( u.get_auto_move_route(), player_activity( activity_id( "ACT_TRAVELLING" ) ) ); return false; } } @@ -1791,7 +1844,7 @@ void game::remove_npc_follower( const character_id &id ) static void update_faction_api( npc *guy ) { if( guy->get_faction_ver() < 2 ) { - guy->set_fac( faction_your_followers ); + guy->set_fac( your_followers ); guy->set_faction_ver( 2 ); } } @@ -1903,7 +1956,7 @@ int game::inventory_item_menu( item_location locThisItem, int iStartX, int iWidt std::vector vDummy; const bool bHPR = get_auto_pickup().has_rule( &oThisItem ); - const hint_rating rate_drop_item = u.weapon.has_flag( flag_NO_UNWIELD ) ? HINT_CANT : HINT_GOOD; + const hint_rating rate_drop_item = u.weapon.has_flag( "NO_UNWIELD" ) ? HINT_CANT : HINT_GOOD; int max_text_length = 0; uilist action_menu; @@ -2352,7 +2405,7 @@ vehicle *game::remoteveh() tripoint vp; remote_veh_string >> vp.x >> vp.y >> vp.z; vehicle *veh = veh_pointer_or_null( m.veh_at( vp ) ); - if( veh && veh->fuel_left( fuel_type_battery, true ) > 0 ) { + if( veh && veh->fuel_left( "battery", true ) > 0 ) { remoteveh_cache = veh; } else { remoteveh_cache = nullptr; @@ -2644,7 +2697,7 @@ void game::load( const save_t &name ) // The vehicle stores the IDs of the boarded players, so update it, too. if( u.in_vehicle ) { if( const cata::optional vp = m.veh_at( - u.pos() ).part_with_feature( flag_BOARDABLE, true ) ) { + u.pos() ).part_with_feature( "BOARDABLE", true ) ) { vp->part().passenger_id = u.getID(); } } @@ -3197,7 +3250,7 @@ void game::draw_ter( const tripoint ¢er, const bool looking, const bool draw draw_critter( critter, center ); } - if( u.has_active_bionic( bio_scent_vision ) && u.view_offset.z == 0 ) { + if( u.has_active_bionic( bionic_id( "bio_scent_vision" ) ) && u.view_offset.z == 0 ) { tripoint tmp = center; int &realx = tmp.x; int &realy = tmp.y; @@ -3622,7 +3675,7 @@ std::unordered_set game::get_fishable_locations( int distance, const t // Mark this point as visited. visited.emplace( current_point ); - if( m.has_flag( flag_FISHABLE, current_point ) ) { + if( m.has_flag( "FISHABLE", current_point ) ) { fishable_terrain.emplace( current_point ); to_check.push( current_point + point_south ); to_check.push( current_point + point_north ); @@ -3948,7 +4001,7 @@ void game::mon_info_update( ) monster &critter = *new_seen_mon.back(); cancel_activity_or_ignore_query( distraction_type::hostile_spotted, string_format( _( "%s spotted!" ), critter.name() ) ); - if( u.has_trait( trait_id( "M_DEFENDER" ) ) && critter.type->in_species( species_PLANT ) ) { + if( u.has_trait( trait_id( "M_DEFENDER" ) ) && critter.type->in_species( PLANT ) ) { add_msg( m_warning, _( "We have detected a %s - an enemy of the Mycus!" ), critter.name() ); if( !u.has_effect( effect_adrenaline_mycus ) ) { u.add_effect( effect_adrenaline_mycus, 30_minutes ); @@ -4076,7 +4129,7 @@ void game::monmove() } if( !critter.is_dead() && - u.has_active_bionic( bio_alarm ) && + u.has_active_bionic( bionic_id( "bio_alarm" ) ) && u.get_power_level() >= 25_kJ && rl_dist( u.pos(), critter.pos() ) <= 5 && !critter.is_hallucination() ) { @@ -4084,7 +4137,7 @@ void game::monmove() add_msg( m_warning, _( "Your motion alarm goes off!" ) ); cancel_activity_or_ignore_query( distraction_type::motion_alarm, _( "Your motion alarm goes off!" ) ); - if( u.has_effect( effect_sleep ) ) { + if( u.has_effect( efftype_id( "sleep" ) ) ) { u.wake_up(); } } @@ -4111,7 +4164,7 @@ void game::monmove() if( !guy.has_effect( effect_npc_suspend ) ) { guy.process_turn(); } - while( !guy.is_dead() && ( !guy.in_sleep_state() || guy.activity.id() == ACT_OPERATION ) && + while( !guy.is_dead() && ( !guy.in_sleep_state() || guy.activity.id() == "ACT_OPERATION" ) && guy.moves > 0 && turns < 10 ) { int moves = guy.moves; guy.move(); @@ -4254,13 +4307,13 @@ void game::knockback( std::vector &traj, int force, int stun, int dam_ break; } targ->setpos( traj[i] ); - if( m.has_flag( flag_LIQUID, targ->pos() ) && !targ->can_drown() && !targ->is_dead() ) { + if( m.has_flag( "LIQUID", targ->pos() ) && !targ->can_drown() && !targ->is_dead() ) { targ->die( nullptr ); if( u.sees( *targ ) ) { add_msg( _( "The %s drowns!" ), targ->name() ); } } - if( !m.has_flag( flag_LIQUID, targ->pos() ) && targ->has_flag( MF_AQUATIC ) && + if( !m.has_flag( "LIQUID", targ->pos() ) && targ->has_flag( MF_AQUATIC ) && !targ->is_dead() ) { targ->die( nullptr ); if( u.sees( *targ ) ) { @@ -4405,7 +4458,7 @@ void game::knockback( std::vector &traj, int force, int stun, int dam_ knockback( traj, force_remaining, stun, dam_mult ); break; } - if( m.has_flag( flag_LIQUID, u.pos() ) && force_remaining < 1 ) { + if( m.has_flag( "LIQUID", u.pos() ) && force_remaining < 1 ) { avatar_action::swim( m, u, u.pos() ); } else { u.setpos( traj[i] ); @@ -4416,7 +4469,7 @@ void game::knockback( std::vector &traj, int force, int stun, int dam_ void game::use_computer( const tripoint &p ) { - if( u.has_trait( trait_ILLITERATE ) ) { + if( u.has_trait( trait_id( "ILLITERATE" ) ) ) { add_msg( m_info, _( "You can not read a computer screen!" ) ); return; } @@ -4425,8 +4478,8 @@ void game::use_computer( const tripoint &p ) add_msg( m_info, _( "You can not see a computer screen!" ) ); return; } - if( u.has_trait( trait_HYPEROPIC ) && !u.worn_with_flag( flag_FIX_FARSIGHT ) && - !u.has_effect( effect_contacts ) && !u.has_bionic( bio_eye_optic ) ) { + if( u.has_trait( trait_id( "HYPEROPIC" ) ) && !u.worn_with_flag( "FIX_FARSIGHT" ) && + !u.has_effect( effect_contacts ) && !u.has_bionic( bionic_id( "bio_eye_optic" ) ) ) { add_msg( m_info, _( "You'll need to put on reading glasses before you can see the screen." ) ); return; } @@ -4434,7 +4487,7 @@ void game::use_computer( const tripoint &p ) computer *used = m.computer_at( p ); if( used == nullptr ) { - if( m.has_flag( flag_CONSOLE, p ) ) { //Console without map data + if( m.has_flag( "CONSOLE", p ) ) { //Console without map data add_msg( m_bad, _( "The console doesn't display anything coherent." ) ); } else { dbg( D_ERROR ) << "game:use_computer: Tried to use computer at (" << @@ -4748,7 +4801,7 @@ bool game::swap_critters( Creature &a, Creature &b ) bool game::is_empty( const tripoint &p ) { - return ( m.passable( p ) || m.has_flag( flag_LIQUID, p ) ) && + return ( m.passable( p ) || m.has_flag( "LIQUID", p ) ) && critter_at( p ) == nullptr; } @@ -4781,8 +4834,8 @@ bool game::revive_corpse( const tripoint &p, item &it ) // Failed reanimation due to corpse being too burned return false; } - if( it.has_flag( flag_FIELD_DRESS ) || it.has_flag( flag_FIELD_DRESS_FAILED ) || - it.has_flag( flag_QUARTERED ) ) { + if( it.has_flag( "FIELD_DRESS" ) || it.has_flag( "FIELD_DRESS_FAILED" ) || + it.has_flag( "QUARTERED" ) ) { // Failed reanimation due to corpse being butchered return false; } @@ -4989,14 +5042,14 @@ bool game::forced_door_closing( const tripoint &p, const ter_id &door_type, int } m.ter_set( point( x, y ), door_type ); - if( m.has_flag( flag_NOITEM, point( x, y ) ) ) { + if( m.has_flag( "NOITEM", point( x, y ) ) ) { map_stack items = m.i_at( point( x, y ) ); for( map_stack::iterator it = items.begin(); it != items.end(); ) { if( it->made_of( LIQUID ) ) { it = items.erase( it ); continue; } - if( it->made_of( material_glass ) && one_in( 2 ) ) { + if( it->made_of( material_id( "glass" ) ) && one_in( 2 ) ) { if( can_see ) { add_msg( m_warning, _( "A %s shatters!" ), it->tname() ); } else { @@ -5038,7 +5091,7 @@ void game::moving_vehicle_dismount( const tripoint &dest_loc ) // Dive three tiles in the direction of tox and toy fling_creature( &u, d, 30, true ); // Hit the ground according to vehicle speed - if( !m.has_flag( flag_SWIMMABLE, u.pos() ) ) { + if( !m.has_flag( "SWIMMABLE", u.pos() ) ) { if( veh->velocity > 0 ) { fling_creature( &u, veh->face.dir(), veh->velocity / static_cast( 100 ) ); } else { @@ -5049,6 +5102,7 @@ void game::moving_vehicle_dismount( const tripoint &dest_loc ) void game::control_vehicle() { + static const itype_id fuel_type_animal( "animal" ); int veh_part = -1; vehicle *veh = remoteveh(); if( veh == nullptr ) { @@ -5058,14 +5112,14 @@ void game::control_vehicle() } } if( veh != nullptr && veh->player_in_control( u ) && - veh->avail_part_with_feature( veh_part, flag_CONTROLS, true ) >= 0 ) { + veh->avail_part_with_feature( veh_part, "CONTROLS", true ) >= 0 ) { veh->use_controls( u.pos() ); } else if( veh && veh->player_in_control( u ) && - veh->avail_part_with_feature( veh_part, flag_CONTROL_ANIMAL, true ) >= 0 ) { + veh->avail_part_with_feature( veh_part, "CONTROL_ANIMAL", true ) >= 0 ) { u.controlling_vehicle = false; add_msg( m_info, _( "You let go of the reins." ) ); - } else if( veh && ( veh->avail_part_with_feature( veh_part, flag_CONTROLS, true ) >= 0 || - ( veh->avail_part_with_feature( veh_part, flag_CONTROL_ANIMAL, true ) >= 0 && + } else if( veh && ( veh->avail_part_with_feature( veh_part, "CONTROLS", true ) >= 0 || + ( veh->avail_part_with_feature( veh_part, "CONTROL_ANIMAL", true ) >= 0 && veh->has_engine_type( fuel_type_animal, false ) && veh->has_harnessed_animal() ) ) && u.in_vehicle ) { if( !veh->interact_vehicle_locked() ) { @@ -5090,8 +5144,7 @@ void game::control_vehicle() cata::optional vehicle_controls; for( const tripoint elem : m.points_in_radius( g->u.pos(), 1 ) ) { if( const optional_vpart_position vp = m.veh_at( elem ) ) { - const cata::optional controls = vp.value().part_with_feature( flag_CONTROLS, - true ); + const cata::optional controls = vp.value().part_with_feature( "CONTROLS", true ); if( controls ) { num_valid_controls++; vehicle_position = elem; @@ -5109,7 +5162,7 @@ void game::control_vehicle() } const optional_vpart_position vp = m.veh_at( *vehicle_position ); if( vp ) { - vehicle_controls = vp.value().part_with_feature( flag_CONTROLS, true ); + vehicle_controls = vp.value().part_with_feature( "CONTROLS", true ); if( !vehicle_controls ) { add_msg( _( "The vehicle doesn't have controls there." ) ); return; @@ -5388,10 +5441,10 @@ void game::examine( const tripoint &examp ) return; } - if( m.has_flag( flag_CONSOLE, examp ) && !u.is_mounted() ) { + if( m.has_flag( "CONSOLE", examp ) && !u.is_mounted() ) { use_computer( examp ); return; - } else if( m.has_flag( flag_CONSOLE, examp ) && u.is_mounted() ) { + } else if( m.has_flag( "CONSOLE", examp ) && u.is_mounted() ) { add_msg( m_warning, _( "You cannot use a console while mounted." ) ); } const furn_t &xfurn_t = m.furn( examp ).obj(); @@ -5444,9 +5497,9 @@ void game::examine( const tripoint &examp ) add_msg( fire_fuel ); } - if( m.has_flag( flag_SEALED, examp ) ) { + if( m.has_flag( "SEALED", examp ) ) { if( none ) { - if( m.has_flag( flag_UNSTABLE, examp ) ) { + if( m.has_flag( "UNSTABLE", examp ) ) { add_msg( _( "The %s is too unstable to remove anything." ), m.name( examp ) ); } else { add_msg( _( "The %s is firmly sealed." ), m.name( examp ) ); @@ -5455,7 +5508,7 @@ void game::examine( const tripoint &examp ) } else { //examp has no traps, is a container and doesn't have a special examination function if( m.tr_at( examp ).is_null() && m.i_at( examp ).empty() && - m.has_flag( flag_CONTAINER, examp ) && none ) { + m.has_flag( "CONTAINER", examp ) && none ) { add_msg( _( "It is empty." ) ); } else if( ( m.has_flag( TFLAG_FIRE_CONTAINER, examp ) && xfurn_t.examine == &iexamine::fireplace ) || @@ -5807,9 +5860,9 @@ void game::print_items_info( const tripoint &lp, const catacurses::window &w_loo { if( !m.sees_some_items( lp, u ) ) { return; - } else if( m.has_flag( flag_CONTAINER, lp ) && !m.could_see_items( lp, u ) ) { + } else if( m.has_flag( "CONTAINER", lp ) && !m.could_see_items( lp, u ) ) { mvwprintw( w_look, point( column, ++line ), _( "You cannot see what is inside of it." ) ); - } else if( u.has_effect( effect_blind ) || u.worn_with_flag( flag_BLIND ) ) { + } else if( u.has_effect( effect_blind ) || u.worn_with_flag( "BLIND" ) ) { mvwprintz( w_look, point( column, ++line ), c_yellow, _( "There's something there, but you can't see what it is." ) ); return; @@ -6172,7 +6225,7 @@ void game::zones_manager() as_m.entries.emplace_back( 1, true, '1', _( "Edit name" ) ); as_m.entries.emplace_back( 2, true, '2', _( "Edit type" ) ); as_m.entries.emplace_back( 3, zone.get_options().has_options(), '3', - zone.get_type() == zone_type_LOOT_CUSTOM ? _( "Edit filter" ) : _( "Edit options" ) ); + zone.get_type() == zone_type_id( "LOOT_CUSTOM" ) ? _( "Edit filter" ) : _( "Edit options" ) ); as_m.entries.emplace_back( 4, !zone.get_is_vehicle(), '4', _( "Edit position" ) ); as_m.query(); @@ -7816,12 +7869,12 @@ static void butcher_submenu( const std::vector &corpses, in }; const bool enough_light = g->u.fine_detail_vision_mod() <= 4; - const int factor = g->u.max_quality( quality_BUTCHER ); + const int factor = g->u.max_quality( quality_id( "BUTCHER" ) ); const std::string msgFactor = factor > INT_MIN ? string_format( _( "Your best tool has %d butchering." ), factor ) : _( "You have no butchering tool." ); - const int factorD = g->u.max_quality( quality_CUT_FINE ); + const int factorD = g->u.max_quality( quality_id( "CUT_FINE" ) ); const std::string msgFactorD = factorD > INT_MIN ? string_format( _( "Your best tool has %d fine cutting." ), factorD ) : _( "You have no fine cutting tool." ); @@ -7915,25 +7968,25 @@ static void butcher_submenu( const std::vector &corpses, in smenu.query(); switch( smenu.ret ) { case BUTCHER: - g->u.assign_activity( ACT_BUTCHER, 0, true ); + g->u.assign_activity( activity_id( "ACT_BUTCHER" ), 0, true ); break; case BUTCHER_FULL: - g->u.assign_activity( ACT_BUTCHER_FULL, 0, true ); + g->u.assign_activity( activity_id( "ACT_BUTCHER_FULL" ), 0, true ); break; case F_DRESS: - g->u.assign_activity( ACT_FIELD_DRESS, 0, true ); + g->u.assign_activity( activity_id( "ACT_FIELD_DRESS" ), 0, true ); break; case SKIN: - g->u.assign_activity( ACT_SKIN, 0, true ); + g->u.assign_activity( activity_id( "ACT_SKIN" ), 0, true ); break; case QUARTER: - g->u.assign_activity( ACT_QUARTER, 0, true ); + g->u.assign_activity( activity_id( "ACT_QUARTER" ), 0, true ); break; case DISMEMBER: - g->u.assign_activity( ACT_DISMEMBER, 0, true ); + g->u.assign_activity( activity_id( "ACT_DISMEMBER" ), 0, true ); break; case DISSECT: - g->u.assign_activity( ACT_DISSECT, 0, true ); + g->u.assign_activity( activity_id( "ACT_DISSECT" ), 0, true ); break; default: return; @@ -7948,13 +8001,13 @@ void game::butcher() return; } - const int factor = u.max_quality( quality_BUTCHER ); - const int factorD = u.max_quality( quality_CUT_FINE ); + const int factor = u.max_quality( quality_id( "BUTCHER" ) ); + const int factorD = u.max_quality( quality_id( "CUT_FINE" ) ); const std::string no_knife_msg = _( "You don't have a butchering tool." ); const std::string no_corpse_msg = _( "There are no corpses here to butcher." ); //You can't butcher on sealed terrain- you have to smash/shovel/etc it open first - if( m.has_flag( flag_SEALED, u.pos() ) ) { + if( m.has_flag( "SEALED", u.pos() ) ) { if( m.sees_some_items( u.pos(), u ) ) { add_msg( m_info, _( "You can't access the items here." ) ); } else if( factor > INT_MIN || factorD > INT_MIN ) { @@ -8153,7 +8206,7 @@ void game::butcher() case BUTCHER_OTHER: switch( indexer_index ) { case MULTISALVAGE: - u.assign_activity( ACT_LONGSALVAGE, 0, salvage_tool_index ); + u.assign_activity( activity_id( "ACT_LONGSALVAGE" ), 0, salvage_tool_index ); break; case MULTIBUTCHER: butcher_submenu( corpses ); @@ -8201,7 +8254,7 @@ void game::reload( item_location &loc, bool prompt, bool empty ) item *it = loc.get_item(); // bows etc do not need to reload. select favorite ammo for them instead - if( it->has_flag( flag_RELOAD_AND_SHOOT ) ) { + if( it->has_flag( "RELOAD_AND_SHOOT" ) ) { item::reload_option opt = u.select_ammo( *it, prompt ); if( !opt ) { return; @@ -8244,7 +8297,7 @@ void game::reload( item_location &loc, bool prompt, bool empty ) } bool use_loc = true; - if( !it->has_flag( flag_ALLOWS_REMOTE_USE ) ) { + if( !it->has_flag( "ALLOWS_REMOTE_USE" ) ) { it = &u.i_at( loc.obtain( u ) ); use_loc = false; } @@ -8278,7 +8331,7 @@ void game::reload( item_location &loc, bool prompt, bool empty ) moves += 2500; } - u.assign_activity( ACT_RELOAD, moves, opt.qty() ); + u.assign_activity( activity_id( "ACT_RELOAD" ), moves, opt.qty() ); if( use_loc ) { u.activity.targets.emplace_back( loc ); } else { @@ -8369,7 +8422,7 @@ void game::reload_weapon( bool try_everything ) if( veh && ( turret = veh->turret_query( u.pos() ) ) && turret.can_reload() ) { item::reload_option opt = g->u.select_ammo( *turret.base(), true ); if( opt ) { - g->u.assign_activity( activity_id( ACT_RELOAD ), opt.moves(), opt.qty() ); + g->u.assign_activity( activity_id( "ACT_RELOAD" ), opt.moves(), opt.qty() ); g->u.activity.targets.emplace_back( turret.base() ); g->u.activity.targets.push_back( std::move( opt.ammo ) ); } @@ -8453,8 +8506,7 @@ void game::wield( item_location &loc ) m.add_item( pos, to_wield ); break; case item_location::type::vehicle: { - const cata::optional vp = g->m.veh_at( pos ).part_with_feature( flag_CARGO, - false ); + const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", false ); // If we fail to return the item to the vehicle for some reason, add it to the map instead. if( !vp || !( vp->vehicle().add_item( vp->part_index(), to_wield ) ) ) { m.add_item( pos, to_wield ); @@ -8646,7 +8698,7 @@ std::vector game::get_dangerous_tile( const tripoint &dest_loc ) co if( !u.is_blind() ) { const trap &tr = m.tr_at( dest_loc ); - const bool boardable = static_cast( m.veh_at( dest_loc ).part_with_feature( flag_BOARDABLE, + const bool boardable = static_cast( m.veh_at( dest_loc ).part_with_feature( "BOARDABLE", true ) ); // HACK: Hack for now, later ledge should stop being a trap // Note: in non-z-level mode, ledges obey different rules and so should be handled as regular traps @@ -8667,12 +8719,11 @@ std::vector game::get_dangerous_tile( const tripoint &dest_loc ) co return u.immune_to( bp, { DT_CUT, 10 } ); }; - if( m.has_flag( flag_ROUGH, dest_loc ) && !m.has_flag( flag_ROUGH, u.pos() ) && !boardable && + if( m.has_flag( "ROUGH", dest_loc ) && !m.has_flag( "ROUGH", u.pos() ) && !boardable && ( u.get_armor_bash( bp_foot_l ) < 5 || u.get_armor_bash( bp_foot_r ) < 5 ) ) { harmful_stuff.emplace_back( m.name( dest_loc ) ); - } else if( m.has_flag( flag_SHARP, dest_loc ) && !m.has_flag( flag_SHARP, u.pos() ) && - !( u.in_vehicle || - g->m.veh_at( dest_loc ) ) && + } else if( m.has_flag( "SHARP", dest_loc ) && !m.has_flag( "SHARP", u.pos() ) && !( u.in_vehicle || + g->m.veh_at( dest_loc ) ) && u.dex_cur < 78 && !std::all_of( sharp_bps.begin(), sharp_bps.end(), sharp_bp_check ) ) { harmful_stuff.emplace_back( m.name( dest_loc ) ); } @@ -8836,11 +8887,11 @@ bool game::walk_move( const tripoint &dest_loc ) if( u.is_mounted() ) { auto crit = u.mounted_creature.get(); if( !crit->has_flag( MF_RIDEABLE_MECH ) && - ( m.has_flag_ter_or_furn( flag_MOUNTABLE, dest_loc ) || - m.has_flag_ter_or_furn( flag_BARRICADABLE_DOOR, dest_loc ) || - m.has_flag_ter_or_furn( flag_OPENCLOSE_INSIDE, dest_loc ) || - m.has_flag_ter_or_furn( flag_BARRICADABLE_DOOR_DAMAGED, dest_loc ) || - m.has_flag_ter_or_furn( flag_BARRICADABLE_DOOR_REINFORCED, dest_loc ) ) ) { + ( m.has_flag_ter_or_furn( "MOUNTABLE", dest_loc ) || + m.has_flag_ter_or_furn( "BARRICADABLE_DOOR", dest_loc ) || + m.has_flag_ter_or_furn( "OPENCLOSE_INSIDE", dest_loc ) || + m.has_flag_ter_or_furn( "BARRICADABLE_DOOR_DAMAGED", dest_loc ) || + m.has_flag_ter_or_furn( "BARRICADABLE_DOOR_REINFORCED", dest_loc ) ) ) { add_msg( m_warning, _( "You cannot pass obstacles whilst mounted." ) ); return false; } @@ -8875,8 +8926,8 @@ bool game::walk_move( const tripoint &dest_loc ) // Print a message if movement is slow const int mcost_to = m.move_cost( dest_loc ); //calculate this _after_ calling grabbed_move - const bool fungus = m.has_flag_ter_or_furn( flag_FUNGUS, u.pos() ) || - m.has_flag_ter_or_furn( flag_FUNGUS, + const bool fungus = m.has_flag_ter_or_furn( "FUNGUS", u.pos() ) || + m.has_flag_ter_or_furn( "FUNGUS", dest_loc ); //fungal furniture has no slowing effect on mycus characters const bool slowed = ( ( !u.has_trait( trait_PARKOUR ) && ( mcost_to > 2 || mcost_from > 2 ) ) || mcost_to > 4 || mcost_from > 4 ) && @@ -8903,7 +8954,7 @@ bool game::walk_move( const tripoint &dest_loc ) } } } - if( !u.is_mounted() && u.has_trait( trait_LEG_TENT_BRACE ) && + if( !u.is_mounted() && u.has_trait( trait_id( "LEG_TENT_BRACE" ) ) && ( !u.footwear_factor() || ( u.footwear_factor() == .5 && one_in( 2 ) ) ) ) { // DX and IN are long suits for Cephalopods, @@ -8913,18 +8964,18 @@ bool game::walk_move( const tripoint &dest_loc ) ///\EFFECT_DEX decreases chance of tentacles getting stuck to the ground ///\EFFECT_INT decreases chance of tentacles getting stuck to the ground - if( !m.has_flag( flag_SWIMMABLE, dest_loc ) && one_in( 80 + u.dex_cur + u.int_cur ) ) { + if( !m.has_flag( "SWIMMABLE", dest_loc ) && one_in( 80 + u.dex_cur + u.int_cur ) ) { add_msg( _( "Your tentacles stick to the ground, but you pull them free." ) ); u.mod_fatigue( 1 ); } } - if( !u.has_artifact_with( AEP_STEALTH ) && !u.has_trait( trait_DEBUG_SILENT ) ) { + if( !u.has_artifact_with( AEP_STEALTH ) && !u.has_trait( trait_id( "DEBUG_SILENT" ) ) ) { int volume = u.is_stealthy() ? 3 : 6; volume *= u.mutation_value( "noise_modifier" ); if( volume > 0 ) { if( u.is_wearing( "rm13_armor_on" ) ) { volume = 2; - } else if( u.has_bionic( bio_ankles ) ) { + } else if( u.has_bionic( bionic_id( "bio_ankles" ) ) ) { volume = 12; } if( u.movement_mode_is( CMM_RUN ) ) { @@ -9028,22 +9079,22 @@ point game::place_player( const tripoint &dest_loc ) } } // TODO: Move the stuff below to a Character method so that NPCs can reuse it - if( m.has_flag( flag_ROUGH, dest_loc ) && ( !u.in_vehicle ) && ( !u.is_mounted() ) ) { + if( m.has_flag( "ROUGH", dest_loc ) && ( !u.in_vehicle ) && ( !u.is_mounted() ) ) { if( one_in( 5 ) && u.get_armor_bash( bp_foot_l ) < rng( 2, 5 ) ) { add_msg( m_bad, _( "You hurt your left foot on the %s!" ), - m.has_flag_ter( flag_ROUGH, dest_loc ) ? m.tername( dest_loc ) : m.furnname( + m.has_flag_ter( "ROUGH", dest_loc ) ? m.tername( dest_loc ) : m.furnname( dest_loc ) ); u.deal_damage( nullptr, bp_foot_l, damage_instance( DT_CUT, 1 ) ); } if( one_in( 5 ) && u.get_armor_bash( bp_foot_r ) < rng( 2, 5 ) ) { add_msg( m_bad, _( "You hurt your right foot on the %s!" ), - m.has_flag_ter( flag_ROUGH, dest_loc ) ? m.tername( dest_loc ) : m.furnname( + m.has_flag_ter( "ROUGH", dest_loc ) ? m.tername( dest_loc ) : m.furnname( dest_loc ) ); u.deal_damage( nullptr, bp_foot_l, damage_instance( DT_CUT, 1 ) ); } } ///\EFFECT_DEX increases chance of avoiding cuts on sharp terrain - if( m.has_flag( flag_SHARP, dest_loc ) && !one_in( 3 ) && !x_in_y( 1 + u.dex_cur / 2.0, 40 ) && + if( m.has_flag( "SHARP", dest_loc ) && !one_in( 3 ) && !x_in_y( 1 + u.dex_cur / 2.0, 40 ) && ( !u.in_vehicle && !g->m.veh_at( dest_loc ) ) && ( !u.has_trait( trait_PARKOUR ) || one_in( 4 ) ) ) { if( u.is_mounted() ) { @@ -9055,7 +9106,7 @@ point game::place_player( const tripoint &dest_loc ) //~ 1$s - bodypart name in accusative, 2$s is terrain name. add_msg( m_bad, _( "You cut your %1$s on the %2$s!" ), body_part_name_accusative( bp ), - m.has_flag_ter( flag_SHARP, dest_loc ) ? m.tername( dest_loc ) : m.furnname( + m.has_flag_ter( "SHARP", dest_loc ) ? m.tername( dest_loc ) : m.furnname( dest_loc ) ); if( ( u.has_trait( trait_INFRESIST ) ) && ( one_in( 1024 ) ) ) { u.add_effect( effect_tetanus, 1_turns, num_bp, true ); @@ -9066,7 +9117,7 @@ point game::place_player( const tripoint &dest_loc ) } } } - if( m.has_flag( flag_UNSTABLE, dest_loc ) && !u.is_mounted() ) { + if( m.has_flag( "UNSTABLE", dest_loc ) && !u.is_mounted() ) { u.add_effect( effect_bouldering, 1_turns, num_bp, true ); } else if( u.has_effect( effect_bouldering ) ) { u.remove_effect( effect_bouldering ); @@ -9078,7 +9129,7 @@ point game::place_player( const tripoint &dest_loc ) } // If we moved out of the nonant, we need update our map data - if( m.has_flag( flag_SWIMMABLE, dest_loc ) && u.has_effect( effect_onfire ) ) { + if( m.has_flag( "SWIMMABLE", dest_loc ) && u.has_effect( effect_onfire ) ) { add_msg( _( "The water puts out the flames!" ) ); u.remove_effect( effect_onfire ); if( u.is_mounted() ) { @@ -9182,7 +9233,7 @@ point game::place_player( const tripoint &dest_loc ) } const std::string pulp_butcher = get_option( "AUTO_PULP_BUTCHER" ); - if( pulp_butcher == "butcher" && u.max_quality( quality_BUTCHER ) > INT_MIN ) { + if( pulp_butcher == "butcher" && u.max_quality( quality_id( "BUTCHER" ) ) > INT_MIN ) { std::vector corpses; for( item &it : m.i_at( u.pos() ) ) { @@ -9190,7 +9241,7 @@ point game::place_player( const tripoint &dest_loc ) } if( !corpses.empty() ) { - u.assign_activity( ACT_BUTCHER, 0, true ); + u.assign_activity( activity_id( "ACT_BUTCHER" ), 0, true ); for( item *it : corpses ) { u.activity.targets.emplace_back( map_cursor( u.pos() ), it ); } @@ -9200,7 +9251,7 @@ point game::place_player( const tripoint &dest_loc ) for( const auto &maybe_corpse : m.i_at( pos ) ) { if( maybe_corpse.is_corpse() && maybe_corpse.can_revive() && !maybe_corpse.get_mtype()->bloodType().obj().has_acid ) { - u.assign_activity( ACT_PULP, calendar::INDEFINITELY_LONG, 0 ); + u.assign_activity( activity_id( "ACT_PULP" ), calendar::INDEFINITELY_LONG, 0 ); u.activity.placement = g->m.getabs( pos ); u.activity.auto_resume = true; u.activity.str_values.push_back( "auto_pulp_no_acid" ); @@ -9227,7 +9278,7 @@ point game::place_player( const tripoint &dest_loc ) } // If the new tile is a boardable part, board it - if( vp1.part_with_feature( flag_BOARDABLE, true ) && !u.is_mounted() ) { + if( vp1.part_with_feature( "BOARDABLE", true ) && !u.is_mounted() ) { m.board_vehicle( u.pos(), &u ); } @@ -9240,14 +9291,14 @@ point game::place_player( const tripoint &dest_loc ) m.creature_on_trap( u ); } // Drench the player if swimmable - if( m.has_flag( flag_SWIMMABLE, u.pos() ) && !u.is_mounted() ) { + if( m.has_flag( "SWIMMABLE", u.pos() ) && !u.is_mounted() ) { u.drench( 40, { { bp_foot_l, bp_foot_r, bp_leg_l, bp_leg_r } }, false ); } // List items here - if( !m.has_flag( flag_SEALED, u.pos() ) ) { + if( !m.has_flag( "SEALED", u.pos() ) ) { if( get_option( "NO_AUTO_PICKUP_ZONES_LIST_ITEMS" ) || - !g->check_zone( zone_type_NO_AUTO_PICKUP, u.pos() ) ) { + !g->check_zone( zone_type_id( "NO_AUTO_PICKUP" ), u.pos() ) ) { if( u.is_blind() && !m.i_at( u.pos() ).empty() ) { add_msg( _( "There's something here, but you can't see what it is." ) ); } else if( m.has_items( u.pos() ) ) { @@ -9320,13 +9371,13 @@ point game::place_player( const tripoint &dest_loc ) } } - if( ( vp1.part_with_feature( flag_CONTROL_ANIMAL, true ) || - vp1.part_with_feature( flag_CONTROLS, true ) ) && u.in_vehicle && !u.is_mounted() ) { + if( ( vp1.part_with_feature( "CONTROL_ANIMAL", true ) || + vp1.part_with_feature( "CONTROLS", true ) ) && u.in_vehicle && !u.is_mounted() ) { add_msg( _( "There are vehicle controls here." ) ); - if( !u.has_trait( trait_WAYFARER ) ) { + if( !u.has_trait( trait_id( "WAYFARER" ) ) ) { add_msg( m_info, _( "%s to drive." ), press_x( ACTION_CONTROL_VEHICLE ) ); } - } else if( vp1.part_with_feature( flag_CONTROLS, true ) && u.in_vehicle && + } else if( vp1.part_with_feature( "CONTROLS", true ) && u.in_vehicle && u.is_mounted() ) { add_msg( _( "There are vehicle controls here but you cannot reach them whilst mounted." ) ); } @@ -9372,7 +9423,7 @@ void game::place_player_overmap( const tripoint &om_dest ) bool game::phasing_move( const tripoint &dest_loc ) { - if( !u.has_active_bionic( bio_probability_travel ) || + if( !u.has_active_bionic( bionic_id( "bio_probability_travel" ) ) || u.get_power_level() < 250_kJ ) { return false; } @@ -9393,8 +9444,7 @@ bool game::phasing_move( const tripoint &dest_loc ) //add 1 to tunnel distance for each impassable tile in the line tunneldist += 1; //Being dimensionally anchored prevents quantum shenanigans. - if( u.worn_with_flag( flag_DIMENSIONAL_ANCHOR ) || - u.has_effect_with_flag( flag_DIMENSIONAL_ANCHOR ) ) { + if( u.worn_with_flag( "DIMENSIONAL_ANCHOR" ) || u.has_effect_with_flag( "DIMENSIONAL_ANCHOR" ) ) { u.add_msg_if_player( m_info, _( "You are repelled by the barrier!" ) ); u.mod_power_level( -250_kJ ); //cost of tunneling one tile. return false; @@ -9427,7 +9477,7 @@ bool game::phasing_move( const tripoint &dest_loc ) u.moves -= 100; //tunneling costs 100 moves u.setpos( dest ); - if( m.veh_at( u.pos() ).part_with_feature( flag_BOARDABLE, true ) ) { + if( m.veh_at( u.pos() ).part_with_feature( "BOARDABLE", true ) ) { m.board_vehicle( u.pos(), &u ); } @@ -9466,7 +9516,7 @@ bool game::grabbed_furn_move( const tripoint &dp ) critter_at( fdest ) == nullptr && critter_at( fdest ) == nullptr && ( !pulling_furniture || is_empty( u.pos() + dp ) ) && - ( !has_floor || m.has_flag( flag_FLAT, fdest ) ) && + ( !has_floor || m.has_flag( "FLAT", fdest ) ) && !m.has_furn( fdest ) && !m.veh_at( fdest ) && ( !has_floor || m.tr_at( fdest ).is_null() ) @@ -9481,13 +9531,13 @@ bool game::grabbed_furn_move( const tripoint &dp ) return liquid_item.made_of_from_type( LIQUID ); } ); - const bool dst_item_ok = !m.has_flag( flag_NOITEM, fdest ) && - !m.has_flag( flag_SWIMMABLE, fdest ) && - !m.has_flag( flag_DESTROY_ITEM, fdest ) && + const bool dst_item_ok = !m.has_flag( "NOITEM", fdest ) && + !m.has_flag( "SWIMMABLE", fdest ) && + !m.has_flag( "DESTROY_ITEM", fdest ) && only_liquid_items; - const bool src_item_ok = m.furn( fpos ).obj().has_flag( flag_CONTAINER ) || - m.furn( fpos ).obj().has_flag( flag_FIRE_CONTAINER ) || - m.furn( fpos ).obj().has_flag( flag_SEALED ); + const bool src_item_ok = m.furn( fpos ).obj().has_flag( "CONTAINER" ) || + m.furn( fpos ).obj().has_flag( "FIRE_CONTAINER" ) || + m.furn( fpos ).obj().has_flag( "SEALED" ); const int fire_intensity = m.get_field_intensity( fpos, fd_fire ); time_duration fire_age = m.get_field_age( fpos, fd_fire ); @@ -9650,7 +9700,7 @@ void game::on_move_effects() } } - if( u.has_active_bionic( bio_jointservo ) ) { + if( u.has_active_bionic( bionic_id( "bio_jointservo" ) ) ) { if( u.movement_mode_is( CMM_RUN ) ) { u.mod_power_level( -55_J ); } else { @@ -9789,7 +9839,7 @@ void game::fling_creature( Creature *c, const int &dir, float flvel, bool contro } // Fall down to the ground - always on the last reached tile - if( !m.has_flag( flag_SWIMMABLE, c->pos() ) ) { + if( !m.has_flag( "SWIMMABLE", c->pos() ) ) { const trap_id trap_under_creature = m.tr_at( c->pos() ).loadid; // Didn't smash into a wall or a floor so only take the fall damage if( thru && trap_under_creature == tr_ledge ) { @@ -9866,13 +9916,13 @@ void game::vertical_move( int movez, bool force ) } // > and < are used for diving underwater. - if( m.has_flag( flag_SWIMMABLE, u.pos() ) && m.has_flag( TFLAG_DEEP_WATER, u.pos() ) ) { + if( m.has_flag( "SWIMMABLE", u.pos() ) && m.has_flag( TFLAG_DEEP_WATER, u.pos() ) ) { if( movez == -1 ) { if( u.is_underwater() ) { add_msg( m_info, _( "You are already underwater!" ) ); return; } - if( u.worn_with_flag( flag_FLOTATION ) ) { + if( u.worn_with_flag( "FLOTATION" ) ) { add_msg( m_info, _( "You can't dive while wearing a flotation device." ) ); return; } @@ -9896,7 +9946,7 @@ void game::vertical_move( int movez, bool force ) bool climbing = false; int move_cost = 100; tripoint stairs( u.posx(), u.posy(), u.posz() + movez ); - if( m.has_zlevels() && !force && movez == 1 && !m.has_flag( flag_GOES_UP, u.pos() ) ) { + if( m.has_zlevels() && !force && movez == 1 && !m.has_flag( "GOES_UP", u.pos() ) ) { // Climbing if( m.has_floor_or_support( stairs ) ) { add_msg( m_info, _( "You can't climb here - there's a ceiling above your head." ) ); @@ -9934,10 +9984,10 @@ void game::vertical_move( int movez, bool force ) } } - if( !force && movez == -1 && !m.has_flag( flag_GOES_DOWN, u.pos() ) ) { + if( !force && movez == -1 && !m.has_flag( "GOES_DOWN", u.pos() ) ) { add_msg( m_info, _( "You can't go down here!" ) ); return; - } else if( !climbing && !force && movez == 1 && !m.has_flag( flag_GOES_UP, u.pos() ) ) { + } else if( !climbing && !force && movez == 1 && !m.has_flag( "GOES_UP", u.pos() ) ) { add_msg( m_info, _( "You can't go up here!" ) ); return; } @@ -10047,7 +10097,7 @@ void game::vertical_move( int movez, bool force ) for( monster &critter : all_monsters() ) { // if its a ladder instead of stairs - most zombies cant climb that. // unless that have a special flag to allow them to do so. - if( ( m.has_flag( flag_DIFFICULT_Z, u.pos() ) && !critter.climbs() ) || + if( ( m.has_flag( "DIFFICULT_Z", u.pos() ) && !critter.climbs() ) || critter.has_effect( effect_ridden ) || critter.has_effect( effect_tied ) ) { continue; @@ -10079,7 +10129,7 @@ void game::vertical_move( int movez, bool force ) } if( m.has_zlevels() && abs( movez ) == 1 ) { - bool ladder = m.has_flag( flag_DIFFICULT_Z, u.pos() ); + bool ladder = m.has_flag( "DIFFICULT_Z", u.pos() ); for( monster &critter : all_monsters() ) { if( ladder && !critter.climbs() ) { continue; @@ -10194,7 +10244,7 @@ void game::vertical_move( int movez, bool force ) void game::start_hauling( const tripoint &pos ) { - u.assign_activity( ACT_MOVE_ITEMS ); + u.assign_activity( activity_id( "ACT_MOVE_ITEMS" ) ); // Whether the destination is inside a vehicle (not supported) u.activity.values.push_back( 0 ); // Destination relative to the player @@ -10232,8 +10282,8 @@ cata::optional game::find_or_make_stairs( map &mp, const int z_after, Creature *blocking_creature = nullptr; for( const tripoint &dest : m.points_in_rectangle( omtile_align_start, omtile_align_end ) ) { if( rl_dist( u.pos(), dest ) <= best && - ( ( movez == -1 && mp.has_flag( flag_GOES_UP, dest ) ) || - ( movez == 1 && ( mp.has_flag( flag_GOES_DOWN, dest ) || + ( ( movez == -1 && mp.has_flag( "GOES_UP", dest ) ) || + ( movez == 1 && ( mp.has_flag( "GOES_DOWN", dest ) || mp.ter( dest ) == t_manhole_cover ) ) || ( ( movez == 2 || movez == -2 ) && mp.ter( dest ) == t_elevator ) ) ) { if( mp.has_zlevels() && critter_at( dest ) ) { @@ -10274,7 +10324,7 @@ cata::optional game::find_or_make_stairs( map &mp, const int z_after, } if( movez > 0 ) { - if( !mp.has_flag( flag_GOES_DOWN, *stairs ) ) { + if( !mp.has_flag( "GOES_DOWN", *stairs ) ) { if( !query_yn( _( "You may be unable to return back down these stairs. Continue up?" ) ) ) { return cata::nullopt; } @@ -10289,7 +10339,7 @@ cata::optional game::find_or_make_stairs( map &mp, const int z_after, return cata::nullopt; } - if( u.has_trait( trait_WEB_RAPPEL ) ) { + if( u.has_trait( trait_id( "WEB_RAPPEL" ) ) ) { if( query_yn( _( "There is a sheer drop halfway down. Web-descend?" ) ) ) { rope_ladder = true; if( ( rng( 4, 8 ) ) < u.get_skill_level( skill_dodge ) ) { @@ -10591,8 +10641,8 @@ void game::update_stair_monsters() } for( const tripoint &dest : m.points_on_zlevel( u.posz() ) ) { - if( ( from_below && m.has_flag( flag_GOES_DOWN, dest ) ) || - ( !from_below && m.has_flag( flag_GOES_UP, dest ) ) ) { + if( ( from_below && m.has_flag( "GOES_DOWN", dest ) ) || + ( !from_below && m.has_flag( "GOES_UP", dest ) ) ) { stairx.push_back( dest.x ); stairy.push_back( dest.y ); stairdist.push_back( rl_dist( dest, u.pos() ) ); @@ -10868,8 +10918,8 @@ void game::perhaps_add_random_npc() new_fac_id += tmp->name; // create a new "lone wolf" faction for this one NPC faction *new_solo_fac = faction_manager_ptr->add_new_faction( tmp->name, faction_id( new_fac_id ), - faction_no_faction ); - tmp->set_fac( new_solo_fac ? new_solo_fac->id : faction_no_faction ); + faction_id( "no_faction" ) ); + tmp->set_fac( new_solo_fac ? new_solo_fac->id : faction_id( "no_faction" ) ); // adds the npc to the correct overmap. tripoint submap_spawn = omt_to_sm_copy( spawn_point ); tmp->spawn_at_sm( submap_spawn.x, submap_spawn.y, 0 ); @@ -11381,26 +11431,26 @@ bool check_art_charge_req( item &it ) void game::start_calendar() { - const bool scen_season = scen->has_flag( flag_SPR_START ) || scen->has_flag( flag_SUM_START ) || - scen->has_flag( flag_AUT_START ) || scen->has_flag( flag_WIN_START ) || - scen->has_flag( flag_SUM_ADV_START ); + const bool scen_season = scen->has_flag( "SPR_START" ) || scen->has_flag( "SUM_START" ) || + scen->has_flag( "AUT_START" ) || scen->has_flag( "WIN_START" ) || + scen->has_flag( "SUM_ADV_START" ); if( scen_season ) { // Configured starting date overridden by scenario, calendar::start is left as Spring 1 calendar::start_of_cataclysm = calendar::turn_zero + 1_hours * get_option( "INITIAL_TIME" ); calendar::turn = calendar::turn_zero + 1_hours * get_option( "INITIAL_TIME" ); - if( scen->has_flag( flag_SPR_START ) ) { + if( scen->has_flag( "SPR_START" ) ) { calendar::initial_season = SPRING; - } else if( scen->has_flag( flag_SUM_START ) ) { + } else if( scen->has_flag( "SUM_START" ) ) { calendar::initial_season = SUMMER; calendar::turn += calendar::season_length(); - } else if( scen->has_flag( flag_AUT_START ) ) { + } else if( scen->has_flag( "AUT_START" ) ) { calendar::initial_season = AUTUMN; calendar::turn += calendar::season_length() * 2; - } else if( scen->has_flag( flag_WIN_START ) ) { + } else if( scen->has_flag( "WIN_START" ) ) { calendar::initial_season = WINTER; calendar::turn += calendar::season_length() * 3; - } else if( scen->has_flag( flag_SUM_ADV_START ) ) { + } else if( scen->has_flag( "SUM_ADV_START" ) ) { calendar::initial_season = SUMMER; calendar::turn += calendar::season_length() * 5; } else { diff --git a/src/game.h b/src/game.h index faded5a8863ee..b267103adb732 100644 --- a/src/game.h +++ b/src/game.h @@ -93,6 +93,7 @@ enum target_mode : int; struct special_game; +using itype_id = std::string; class avatar; class event_bus; class kill_tracker; diff --git a/src/game_inventory.cpp b/src/game_inventory.cpp index 885c18ea4a26b..c04c896ac48d0 100644 --- a/src/game_inventory.cpp +++ b/src/game_inventory.cpp @@ -1518,7 +1518,7 @@ static item_location autodoc_internal( player &u, player &patient, } else { const inventory &crafting_inv = u.crafting_inventory(); std::vector a_filter = crafting_inv.items_with( []( const item & it ) { - return it.has_quality( quality_ANESTHESIA ); + return it.has_quality( qual_ANESTHESIA ); } ); std::vector b_filter = crafting_inv.items_with( []( const item & it ) { return it.has_flag( flag_ANESTHESIA ); // legacy @@ -1615,7 +1615,7 @@ class bionic_install_preset: public inventory_selector_preset } else if( it->has_flag( flag_NO_STERILE ) ) { // NOLINTNEXTLINE(cata-text-style): single space after the period for symmetry return _( "/!\\ CBM is not sterile. /!\\ Please use autoclave to sterilize." ); - } else if( it->has_fault( fault_bionic_salvaged ) ) { + } else if( it->has_fault( fault_id( "fault_bionic_salvaged" ) ) ) { return _( "CBM already deployed. Please reset to factory state." ); } else if( pa.has_bionic( bid ) ) { return _( "CBM already installed" ); diff --git a/src/gamemode_defense.h b/src/gamemode_defense.h index 19bb2012c4d48..0c787b346634c 100644 --- a/src/gamemode_defense.h +++ b/src/gamemode_defense.h @@ -11,6 +11,8 @@ #include "type_id.h" enum action_id : int; +using itype_id = std::string; + enum defense_style { DEFENSE_CUSTOM = 0, DEFENSE_EASY, diff --git a/src/handle_action.cpp b/src/handle_action.cpp index 1095bbaf4ac55..77101c16ce721 100644 --- a/src/handle_action.cpp +++ b/src/handle_action.cpp @@ -408,8 +408,9 @@ static void pldrive( int x, int y ) return; } if( !remote ) { - const bool has_animal_controls = veh->part_with_feature( part, flag_CONTROL_ANIMAL, true ) >= 0; - const bool has_controls = veh->part_with_feature( part, flag_CONTROLS, true ) >= 0; + static const itype_id fuel_type_animal( "animal" ); + const bool has_animal_controls = veh->part_with_feature( part, "CONTROL_ANIMAL", true ) >= 0; + const bool has_controls = veh->part_with_feature( part, "CONTROLS", true ) >= 0; const bool has_animal = veh->has_engine_type( fuel_type_animal, false ) && veh->has_harnessed_animal(); if( !has_controls && !has_animal_controls ) { @@ -422,7 +423,7 @@ static void pldrive( int x, int y ) return; } } else { - if( empty( veh->get_avail_parts( flag_REMOTE_CONTROLS ) ) ) { + if( empty( veh->get_avail_parts( "REMOTE_CONTROLS" ) ) ) { add_msg( m_info, _( "Can't drive this vehicle remotely. It has no working controls." ) ); return; } @@ -486,7 +487,7 @@ static void open() } } else { // If there are any OPENABLE parts here, they must be already open - if( const cata::optional already_open = vp.part_with_feature( flag_OPENABLE, + if( const cata::optional already_open = vp.part_with_feature( "OPENABLE", true ) ) { const std::string name = already_open->info().name(); add_msg( m_info, _( "That %s is already open." ), name ); @@ -708,7 +709,7 @@ static void smash() u.practice( skill_melee, rng( 0, 1 ) * rng( 0, 1 ) ); } const int vol = u.weapon.volume() / units::legacy_volume_factor; - if( u.weapon.made_of( material_glass ) && + if( u.weapon.made_of( material_id( "glass" ) ) && rng( 0, vol + 3 ) < vol ) { add_msg( m_bad, _( "Your %s shatters!" ), u.weapon.tname() ); for( auto &elem : u.weapon.contents ) { @@ -1032,32 +1033,32 @@ static void loot() player &u = g->u; int flags = 0; auto &mgr = zone_manager::get_manager(); - const bool has_fertilizer = u.has_item_with_flag( flag_FERTILIZER ); + const bool has_fertilizer = u.has_item_with_flag( "FERTILIZER" ); // Manually update vehicle cache. // In theory this would be handled by the related activity (activity_on_turn_move_loot()) // but with a stale cache we never get that far. mgr.cache_vzones(); - flags |= g->check_near_zone( zone_type_LOOT_UNSORTED, u.pos() ) ? SortLoot : 0; - if( g->check_near_zone( zone_type_FARM_PLOT, u.pos() ) ) { + flags |= g->check_near_zone( zone_type_id( "LOOT_UNSORTED" ), u.pos() ) ? SortLoot : 0; + if( g->check_near_zone( zone_type_id( "FARM_PLOT" ), u.pos() ) ) { flags |= FertilizePlots; flags |= MultiFarmPlots; } - flags |= g->check_near_zone( zone_type_CONSTRUCTION_BLUEPRINT, + flags |= g->check_near_zone( zone_type_id( "CONSTRUCTION_BLUEPRINT" ), u.pos() ) ? ConstructPlots : 0; - flags |= g->check_near_zone( zone_type_CHOP_TREES, u.pos() ) ? Multichoptrees : 0; - flags |= g->check_near_zone( zone_type_LOOT_WOOD, u.pos() ) ? Multichopplanks : 0; - flags |= g->check_near_zone( zone_type_VEHICLE_DECONSTRUCT, + flags |= g->check_near_zone( zone_type_id( "CHOP_TREES" ), u.pos() ) ? Multichoptrees : 0; + flags |= g->check_near_zone( zone_type_id( "LOOT_WOOD" ), u.pos() ) ? Multichopplanks : 0; + flags |= g->check_near_zone( zone_type_id( "VEHICLE_DECONSTRUCT" ), u.pos() ) ? Multideconvehicle : 0; - flags |= g->check_near_zone( zone_type_VEHICLE_REPAIR, u.pos() ) ? Multirepairvehicle : 0; - flags |= g->check_near_zone( zone_type_LOOT_CORPSE, u.pos() ) ? MultiButchery : 0; + flags |= g->check_near_zone( zone_type_id( "VEHICLE_REPAIR" ), u.pos() ) ? Multirepairvehicle : 0; + flags |= g->check_near_zone( zone_type_id( "LOOT_CORPSE" ), u.pos() ) ? MultiButchery : 0; if( flags == 0 ) { add_msg( m_info, _( "There is no compatible zone nearby." ) ); add_msg( m_info, _( "Compatible zones are %s and %s" ), - mgr.get_name_from_type( zone_type_LOOT_UNSORTED ), - mgr.get_name_from_type( zone_type_FARM_PLOT ) ); + mgr.get_name_from_type( zone_type_id( "LOOT_UNSORTED" ) ), + mgr.get_name_from_type( zone_type_id( "FARM_PLOT" ) ) ); return; } @@ -1277,7 +1278,7 @@ static void fire() return; } - if( vp.part_with_feature( flag_CONTROLS, true ) ) { + if( vp.part_with_feature( "CONTROLS", true ) ) { if( vp->vehicle().turrets_aim_and_fire() ) { return; } @@ -1411,7 +1412,7 @@ static void cast_spell() return; } - if( sp.energy_source() == hp_energy && !u.has_quality( quality_CUT ) ) { + if( sp.energy_source() == hp_energy && !u.has_quality( qual_CUT ) ) { add_msg( m_bad, _( "You cannot cast Blood Magic without a cutting implement." ) ); return; } diff --git a/src/handle_liquid.cpp b/src/handle_liquid.cpp index 029c6922cbe37..cfdad43df3832 100644 --- a/src/handle_liquid.cpp +++ b/src/handle_liquid.cpp @@ -33,7 +33,6 @@ #include "optional.h" #include "player_activity.h" #include "string_formatter.h" -#include "cata_string_consts.h" #define dbg(x) DebugLog((x),D_GAME) << __FILE__ << ":" << __LINE__ << ": " @@ -302,11 +301,11 @@ static bool perform_liquid_transfer( item &liquid, const tripoint *const source_ const auto create_activity = [&]() { if( source_veh != nullptr ) { - g->u.assign_activity( ACT_FILL_LIQUID ); + g->u.assign_activity( activity_id( "ACT_FILL_LIQUID" ) ); serialize_liquid_source( g->u.activity, *source_veh, part_num, liquid ); return true; } else if( source_pos != nullptr ) { - g->u.assign_activity( ACT_FILL_LIQUID ); + g->u.assign_activity( activity_id( "ACT_FILL_LIQUID" ) ); serialize_liquid_source( g->u.activity, *source_pos, liquid ); return true; } else if( source_mon != nullptr ) { diff --git a/src/harvest.h b/src/harvest.h index 830d50d346314..b55f6ce28d4bd 100644 --- a/src/harvest.h +++ b/src/harvest.h @@ -13,6 +13,7 @@ #include "translations.h" #include "type_id.h" +using itype_id = std::string; class JsonObject; // Could be reused for butchery diff --git a/src/iexamine.cpp b/src/iexamine.cpp index f6e376203ff0f..9b28fb0040348 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -108,7 +108,7 @@ void iexamine::cvdmachine( player &p, const tripoint & ) { // Select an item to which it is possible to apply a diamond coating auto loc = g->inv_map_splice( []( const item & e ) { - return ( e.is_melee( DT_CUT ) || e.is_melee( DT_STAB ) ) && e.made_of( material_steel ) && + return ( e.is_melee( DT_CUT ) || e.is_melee( DT_STAB ) ) && e.made_of( material_id( "steel" ) ) && !e.has_flag( flag_DIAMOND ) && !e.has_flag( flag_NO_CVD ); }, _( "Apply diamond coating" ), 1, _( "You don't have a suitable item to coat with diamond" ) ); @@ -136,7 +136,7 @@ void iexamine::cvdmachine( player &p, const tripoint & ) p.invalidate_crafting_inventory(); // Apply flag to item - loc->item_tags.insert( flag_DIAMOND ); + loc->item_tags.insert( "DIAMOND" ); add_msg( m_good, _( "You apply a diamond coating to your %s" ), loc->type_name() ); p.mod_moves( -to_turns( 10_seconds ) ); } @@ -149,7 +149,7 @@ void iexamine::nanofab( player &p, const tripoint &examp ) bool table_exists = false; tripoint spawn_point; for( const auto &valid_location : g->m.points_in_radius( examp, 1 ) ) { - if( g->m.ter( valid_location ) == ter_nanofab_body ) { + if( g->m.ter( valid_location ) == ter_str_id( "t_nanofab_body" ) ) { spawn_point = valid_location; table_exists = true; break; @@ -188,7 +188,7 @@ void iexamine::nanofab( player &p, const tripoint &examp ) p.invalidate_crafting_inventory(); if( new_item.is_armor() && new_item.has_flag( flag_VARSIZE ) ) { - new_item.item_tags.insert( flag_FIT ); + new_item.item_tags.insert( "FIT" ); } g->m.add_item_or_charges( spawn_point, new_item ); @@ -881,9 +881,9 @@ void iexamine::intercom( player &p, const tripoint &examp ) void iexamine::rubble( player &p, const tripoint &examp ) { int moves; - if( p.has_quality( quality_DIG, 3 ) || p.has_trait( trait_BURROW ) ) { + if( p.has_quality( qual_DIG, 3 ) || p.has_trait( trait_BURROW ) ) { moves = to_moves( 1_minutes ); - } else if( p.has_quality( quality_DIG, 2 ) ) { + } else if( p.has_quality( qual_DIG, 2 ) ) { moves = to_moves( 2_minutes ); } else { add_msg( m_info, _( "If only you had a shovel…" ) ); @@ -1262,7 +1262,7 @@ void iexamine::locked_object( player &p, const tripoint &examp ) { auto prying_items = p.crafting_inventory().items_with( []( const item & it ) -> bool { item temporary_item( it.type ); - return temporary_item.has_quality( quality_PRY, 1 ); + return temporary_item.has_quality( qual_PRY, 1 ); } ); if( prying_items.empty() ) { @@ -1273,7 +1273,7 @@ void iexamine::locked_object( player &p, const tripoint &examp ) // Sort by their quality level. std::sort( prying_items.begin(), prying_items.end(), []( const item * a, const item * b ) -> bool { - return a->get_quality( quality_PRY ) > b->get_quality( quality_PRY ); + return a->get_quality( qual_PRY ) > b->get_quality( qual_PRY ); } ); //~ %1$s: terrain/furniture name, %2$s: prying tool name @@ -1669,7 +1669,7 @@ void iexamine::flower_dahlia( player &p, const tripoint &examp ) return; } - bool can_get_root = p.has_quality( quality_DIG ) || p.has_trait( trait_BURROW ); + bool can_get_root = p.has_quality( qual_DIG ) || p.has_trait( trait_BURROW ); if( can_get_root ) { if( !query_yn( _( "Pick %s?" ), g->m.furnname( examp ) ) ) { @@ -2129,7 +2129,7 @@ void iexamine::harvest_plant( player &p, const tripoint &examp, bool from_activi ret_val iexamine::can_fertilize( player &p, const tripoint &tile, const itype_id &fertilizer ) { - if( !g->m.has_flag_furn( flag_PLANT, tile ) ) { + if( !g->m.has_flag_furn( "PLANT", tile ) ) { return ret_val::make_failure( _( "Tile isn't a plant" ) ); } if( g->m.i_at( tile ).size() > 1 ) { @@ -2267,7 +2267,7 @@ void iexamine::kiln_empty( player &p, const tripoint &examp ) return; } - static const std::set kilnable{ material_wood, material_bone }; + static const std::set kilnable{ material_id( "wood" ), material_id( "bone" ) }; bool fuel_present = false; auto items = g->m.i_at( examp ); for( const item &i : items ) { @@ -2396,7 +2396,7 @@ void iexamine::arcfurnace_empty( player &p, const tripoint &examp ) return; } - static const std::set arcfurnaceable{ material_cac2powder }; + static const std::set arcfurnaceable{ material_id( "cac2powder" ) }; bool fuel_present = false; auto items = g->m.i_at( examp ); for( const item &i : items ) { @@ -3197,7 +3197,7 @@ void iexamine::tree_hickory( player &p, const tripoint &examp ) if( harvest_common( p, examp, false, false ) ) { g->m.ter_set( examp, g->m.get_ter_transforms_into( examp ) ); } - if( !p.has_quality( quality_DIG ) ) { + if( !p.has_quality( qual_DIG ) ) { p.add_msg_if_player( m_info, _( "You have no tool to dig with…" ) ); return; } @@ -3224,12 +3224,12 @@ static item_location maple_tree_sap_container() void iexamine::tree_maple( player &p, const tripoint &examp ) { - if( !p.has_quality( quality_DRILL ) ) { + if( !p.has_quality( qual_DRILL ) ) { add_msg( m_info, _( "You need a tool to drill the crust to tap this maple tree." ) ); return; } - if( !p.has_quality( quality_HAMMER ) ) { + if( !p.has_quality( qual_HAMMER ) ) { add_msg( m_info, _( "You need a tool to hammer the spile into the crust to tap this maple tree." ) ); return; @@ -3302,7 +3302,7 @@ void iexamine::tree_maple_tapped( player &p, const tripoint &examp ) switch( selectmenu.ret ) { case REMOVE_TAP: { - if( !p.has_quality( quality_HAMMER ) ) { + if( !p.has_quality( qual_HAMMER ) ) { add_msg( m_info, _( "You need a hammering tool to remove the spile from the crust." ) ); return; } @@ -3786,7 +3786,7 @@ static int getNearPumpCount( const tripoint &p ) int result = 0; for( const tripoint &tmp : g->m.points_in_radius( p, 12 ) ) { const auto t = g->m.ter( tmp ); - if( t == ter_gas_pump || t == ter_gas_pump_a ) { + if( t == ter_str_id( "t_gas_pump" ) || t == ter_str_id( "t_gas_pump_a" ) ) { result++; } } @@ -3800,7 +3800,7 @@ cata::optional iexamine::getNearFilledGasTank( const tripoint ¢er, gas_units = 0; for( const tripoint &tmp : g->m.points_in_radius( center, SEEX * 2 ) ) { - if( g->m.ter( tmp ) != ter_gas_tank ) { + if( g->m.ter( tmp ) != ter_str_id( "t_gas_tank" ) ) { continue; } @@ -3846,7 +3846,7 @@ static int findBestGasDiscount( player &p ) for( size_t i = 0; i < p.inv.size(); i++ ) { item &it = p.inv.find_item( i ); - if( it.has_flag( flag_GAS_DISCOUNT ) ) { + if( it.has_flag( "GAS_DISCOUNT" ) ) { int q = getGasDiscountCardQuality( it ); if( q > discount ) { @@ -3906,7 +3906,7 @@ cata::optional iexamine::getGasPumpByNumber( const tripoint &p, int nu int k = 0; for( const tripoint &tmp : g->m.points_in_radius( p, 12 ) ) { const auto t = g->m.ter( tmp ); - if( ( t == ter_gas_pump || t == ter_gas_pump_a ) && number == k++ ) { + if( ( t == ter_str_id( "t_gas_pump" ) || t == ter_str_id( "t_gas_pump_a" ) ) && number == k++ ) { return tmp; } } @@ -3970,11 +3970,11 @@ static void turnOnSelectedPump( const tripoint &p, int number ) int k = 0; for( const tripoint &tmp : g->m.points_in_radius( p, 12 ) ) { const auto t = g->m.ter( tmp ); - if( t == ter_gas_pump || t == ter_gas_pump_a ) { + if( t == ter_str_id( "t_gas_pump" ) || t == ter_str_id( "t_gas_pump_a" ) ) { if( number == k++ ) { - g->m.ter_set( tmp, ter_gas_pump_a ); + g->m.ter_set( tmp, ter_str_id( "t_gas_pump_a" ) ); } else { - g->m.ter_set( tmp, ter_gas_pump ); + g->m.ter_set( tmp, ter_str_id( "t_gas_pump" ) ); } } } @@ -4462,7 +4462,7 @@ void iexamine::autodoc( player &p, const tripoint &examp ) } else { const inventory &crafting_inv = p.crafting_inventory(); std::vector a_filter = crafting_inv.items_with( []( const item & it ) { - return it.has_quality( quality_ANESTHESIA ); + return it.has_quality( qual_ANESTHESIA ); } ); std::vector b_filter = crafting_inv.items_with( []( const item & it ) { return it.has_flag( flag_ANESTHESIA ); // legacy @@ -5658,7 +5658,7 @@ void iexamine::workbench_internal( player &p, const tripoint &examp, pgettext( "in progress craft", "You start working on the %s." ), pgettext( "in progress craft", " starts working on the %s." ), selected_craft->tname() ); - p.assign_activity( ACT_CRAFT ); + p.assign_activity( activity_id( "ACT_CRAFT" ) ); p.activity.targets.push_back( crafts[amenu2.ret] ); p.activity.values.push_back( 0 ); // Not a long craft break; diff --git a/src/inventory.cpp b/src/inventory.cpp index e3f84bb228fc5..0fd2e43331f1c 100644 --- a/src/inventory.cpp +++ b/src/inventory.cpp @@ -439,7 +439,7 @@ void inventory::form_from_map( map &m, std::vector pts, const Characte if( type != nullptr ) { const itype *ammo = f.crafting_ammo_item_type(); item furn_item( type, calendar::turn, 0 ); - furn_item.item_tags.insert( flag_PSEUDO ); + furn_item.item_tags.insert( "PSEUDO" ); furn_item.charges = ammo ? count_charges_in_list( ammo, m.i_at( p ) ) : 0; add_item( furn_item ); } @@ -506,14 +506,14 @@ void inventory::form_from_map( map &m, std::vector pts, const Characte //Adds faucet to kitchen stuff; may be horribly wrong to do such.... //ShouldBreak into own variable - const cata::optional kpart = vp.part_with_feature( flag_KITCHEN, true ); - const cata::optional faupart = vp.part_with_feature( flag_FAUCET, true ); - const cata::optional weldpart = vp.part_with_feature( flag_WELDRIG, true ); - const cata::optional craftpart = vp.part_with_feature( flag_CRAFTRIG, true ); - const cata::optional forgepart = vp.part_with_feature( flag_FORGE, true ); - const cata::optional kilnpart = vp.part_with_feature( flag_KILN, true ); - const cata::optional chempart = vp.part_with_feature( flag_CHEMLAB, true ); - const cata::optional cargo = vp.part_with_feature( flag_CARGO, true ); + const cata::optional kpart = vp.part_with_feature( "KITCHEN", true ); + const cata::optional faupart = vp.part_with_feature( "FAUCET", true ); + const cata::optional weldpart = vp.part_with_feature( "WELDRIG", true ); + const cata::optional craftpart = vp.part_with_feature( "CRAFTRIG", true ); + const cata::optional forgepart = vp.part_with_feature( "FORGE", true ); + const cata::optional kilnpart = vp.part_with_feature( "KILN", true ); + const cata::optional chempart = vp.part_with_feature( "CHEMLAB", true ); + const cata::optional cargo = vp.part_with_feature( "CARGO", true ); if( cargo ) { const auto items = veh->get_items( cargo->part_index() ); @@ -532,70 +532,70 @@ void inventory::form_from_map( map &m, std::vector pts, const Characte if( kpart ) { item hotplate( "hotplate", 0 ); - hotplate.charges = veh->fuel_left( fuel_type_battery, true ); - hotplate.item_tags.insert( flag_PSEUDO ); + hotplate.charges = veh->fuel_left( "battery", true ); + hotplate.item_tags.insert( "PSEUDO" ); add_item( hotplate ); item pot( "pot", 0 ); - pot.item_tags.insert( flag_PSEUDO ); + pot.item_tags.insert( "PSEUDO" ); add_item( pot ); item pan( "pan", 0 ); - pan.item_tags.insert( flag_PSEUDO ); + pan.item_tags.insert( "PSEUDO" ); add_item( pan ); } if( weldpart ) { item welder( "welder", 0 ); - welder.charges = veh->fuel_left( fuel_type_battery, true ); - welder.item_tags.insert( flag_PSEUDO ); + welder.charges = veh->fuel_left( "battery", true ); + welder.item_tags.insert( "PSEUDO" ); add_item( welder ); item soldering_iron( "soldering_iron", 0 ); - soldering_iron.charges = veh->fuel_left( fuel_type_battery, true ); - soldering_iron.item_tags.insert( flag_PSEUDO ); + soldering_iron.charges = veh->fuel_left( "battery", true ); + soldering_iron.item_tags.insert( "PSEUDO" ); add_item( soldering_iron ); } if( craftpart ) { item vac_sealer( "vac_sealer", 0 ); - vac_sealer.charges = veh->fuel_left( fuel_type_battery, true ); - vac_sealer.item_tags.insert( flag_PSEUDO ); + vac_sealer.charges = veh->fuel_left( "battery", true ); + vac_sealer.item_tags.insert( "PSEUDO" ); add_item( vac_sealer ); item dehydrator( "dehydrator", 0 ); - dehydrator.charges = veh->fuel_left( fuel_type_battery, true ); - dehydrator.item_tags.insert( flag_PSEUDO ); + dehydrator.charges = veh->fuel_left( "battery", true ); + dehydrator.item_tags.insert( "PSEUDO" ); add_item( dehydrator ); item food_processor( "food_processor", 0 ); - food_processor.charges = veh->fuel_left( fuel_type_battery, true ); - food_processor.item_tags.insert( flag_PSEUDO ); + food_processor.charges = veh->fuel_left( "battery", true ); + food_processor.item_tags.insert( "PSEUDO" ); add_item( food_processor ); item press( "press", 0 ); - press.charges = veh->fuel_left( fuel_type_battery, true ); - press.item_tags.insert( flag_PSEUDO ); + press.charges = veh->fuel_left( "battery", true ); + press.item_tags.insert( "PSEUDO" ); add_item( press ); } if( forgepart ) { item forge( "forge", 0 ); - forge.charges = veh->fuel_left( fuel_type_battery, true ); - forge.item_tags.insert( flag_PSEUDO ); + forge.charges = veh->fuel_left( "battery", true ); + forge.item_tags.insert( "PSEUDO" ); add_item( forge ); } if( kilnpart ) { item kiln( "kiln", 0 ); - kiln.charges = veh->fuel_left( fuel_type_battery, true ); - kiln.item_tags.insert( flag_PSEUDO ); + kiln.charges = veh->fuel_left( "battery", true ); + kiln.item_tags.insert( "PSEUDO" ); add_item( kiln ); } if( chempart ) { item chemistry_set( "chemistry_set", 0 ); - chemistry_set.charges = veh->fuel_left( fuel_type_battery, true ); - chemistry_set.item_tags.insert( flag_PSEUDO ); + chemistry_set.charges = veh->fuel_left( "battery", true ); + chemistry_set.item_tags.insert( "PSEUDO" ); add_item( chemistry_set ); item electrolysis_kit( "electrolysis_kit", 0 ); - electrolysis_kit.charges = veh->fuel_left( fuel_type_battery, true ); - electrolysis_kit.item_tags.insert( flag_PSEUDO ); + electrolysis_kit.charges = veh->fuel_left( "battery", true ); + electrolysis_kit.item_tags.insert( "PSEUDO" ); add_item( electrolysis_kit ); } } @@ -876,7 +876,7 @@ void inventory::rust_iron_items() { for( auto &elem : items ) { for( auto &elem_stack_iter : elem ) { - if( elem_stack_iter.made_of( material_iron ) && + if( elem_stack_iter.made_of( material_id( "iron" ) ) && !elem_stack_iter.has_flag( flag_WATERPROOF_GUN ) && !elem_stack_iter.has_flag( flag_WATERPROOF ) && elem_stack_iter.damage() < elem_stack_iter.max_damage() / 2 && diff --git a/src/inventory_ui.cpp b/src/inventory_ui.cpp index b14ced5285c12..656d92230a2c0 100644 --- a/src/inventory_ui.cpp +++ b/src/inventory_ui.cpp @@ -41,7 +41,6 @@ #include #include #include -#include "cata_string_consts.h" /** The maximum distance from the screen edge, to snap a window to it */ static const size_t max_win_snap_distance = 4; @@ -651,7 +650,7 @@ void inventory_column::set_stack_favorite( const item_location &location, bool f } } else if( location.where() == item_location::type::vehicle ) { const cata::optional vp = g->m.veh_at( - location.position() ).part_with_feature( flag_CARGO, true ); + location.position() ).part_with_feature( "CARGO", true ); assert( vp ); auto items = vp->vehicle().get_items( vp->part_index() ); @@ -1185,8 +1184,7 @@ void inventory_selector::add_map_items( const tripoint &target ) void inventory_selector::add_vehicle_items( const tripoint &target ) { - const cata::optional vp = g->m.veh_at( target ).part_with_feature( flag_CARGO, - true ); + const cata::optional vp = g->m.veh_at( target ).part_with_feature( "CARGO", true ); if( !vp ) { return; } diff --git a/src/item.cpp b/src/item.cpp index f16a4ce6a33d4..b18dd7409fbf6 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -1106,7 +1106,7 @@ void item::basic_info( std::vector &info, const iteminfo_query *parts, } else if( idescription != item_vars.end() ) { info.push_back( iteminfo( "DESCRIPTION", idescription->second ) ); } else { - if( has_flag( flag_MAGIC_FOCUS ) ) { + if( has_flag( "MAGIC_FOCUS" ) ) { info.push_back( iteminfo( "DESCRIPTION", _( "This item is a magical focus. " "You can cast spells with it in your hand." ) ) ); @@ -1438,7 +1438,7 @@ void item::food_info( const item *food_item, std::vector &info, if( food_item->has_flag( flag_CANNIBALISM ) && parts->test( iteminfo_parts::FOOD_CANNIBALISM ) ) { - if( !g->u.has_trait_flag( flag_CANNIBAL ) ) { + if( !g->u.has_trait_flag( trait_flag_CANNIBAL ) ) { info.emplace_back( "DESCRIPTION", _( "* This food contains human flesh." ) ); } else { @@ -2556,7 +2556,7 @@ void item::qualities_info( std::vector &info, const iteminfo_query *pa { auto name_quality = [&info]( const std::pair &q ) { std::string str; - if( q.first == quality_JACK || q.first == quality_LIFT ) { + if( q.first == qual_JACK || q.first == qual_LIFT ) { str = string_format( _( "Has level %1$d %2$s quality and " "is rated at %3$d %4$s" ), q.second, q.first.obj().name, @@ -2736,7 +2736,7 @@ void item::final_info( std::vector &info, const iteminfo_query *parts, } if( is_armor() && g->u.has_trait( trait_WOOLALLERGY ) && - ( made_of( material_wool ) || item_tags.count( flag_wooled ) ) ) { + ( made_of( material_id( "wool" ) ) || item_tags.count( "wooled" ) ) ) { info.push_back( iteminfo( "DESCRIPTION", _( "* This clothing will give you an allergic " "reaction." ) ) ); @@ -3460,7 +3460,7 @@ nc_color item::color_in_inventory() const } else if( has_flag( flag_LITCIG ) ) { ret = c_red; } else if( is_armor() && u.has_trait( trait_WOOLALLERGY ) && - ( made_of( material_wool ) || item_tags.count( flag_wooled ) ) ) { + ( made_of( material_id( "wool" ) ) || item_tags.count( "wooled" ) ) ) { ret = c_red; } else if( is_filthy() || item_tags.count( "DIRTY" ) ) { ret = c_brown; @@ -5204,7 +5204,7 @@ bool item::ready_to_revive( const tripoint &pos ) const bool item::is_money() const { - return ammo_types().count( ammo_money ); + return ammo_types().count( ammotype( "money" ) ); } bool item::count_by_charges() const @@ -5703,7 +5703,7 @@ bool item::is_gun() const bool item::is_firearm() const { - static const std::string primitive_flag( flag_PRIMITIVE_RANGED_WEAPON ); + static const std::string primitive_flag( "PRIMITIVE_RANGED_WEAPON" ); return is_gun() && !has_flag( primitive_flag ); } @@ -6397,7 +6397,7 @@ gun_type_type item::gun_type() const // TODO: move to JSON and remove extraction of this from "GUN" (via skill id) //and from "GUNMOD" (via "mod_targets") in lang/extract_json_strings.py if( gun_skill() == skill_archery ) { - if( ammo_types().count( ammo_bolt ) || typeId() == "bullet_crossbow" ) { + if( ammo_types().count( ammotype( "bolt" ) ) || typeId() == "bullet_crossbow" ) { return gun_type_type( translate_marker_context( "gun_type_type", "crossbow" ) ); } else { return gun_type_type( translate_marker_context( "gun_type_type", "bow" ) ); @@ -8669,14 +8669,14 @@ bool item::process_corpse( player *carrier, const tripoint &pos ) if( rng( 0, volume() / units::legacy_volume_factor ) > burnt && g->revive_corpse( pos, *this ) ) { if( carrier == nullptr ) { if( g->u.sees( pos ) ) { - if( corpse->in_species( species_ROBOT ) ) { + if( corpse->in_species( ROBOT ) ) { add_msg( m_warning, _( "A nearby robot has repaired itself and stands up!" ) ); } else { add_msg( m_warning, _( "A nearby corpse rises and moves towards you!" ) ); } } } else { - if( corpse->in_species( species_ROBOT ) ) { + if( corpse->in_species( ROBOT ) ) { carrier->add_msg_if_player( m_warning, _( "Oh dear god, a robot you're carrying has started moving!" ) ); } else { @@ -8886,7 +8886,7 @@ cata::optional item::get_cable_target( Character *p, const tripoint &p } const optional_vpart_position vp_pos = g->m.veh_at( pos ); if( vp_pos ) { - const cata::optional seat = vp_pos.part_with_feature( flag_BOARDABLE, true ); + const cata::optional seat = vp_pos.part_with_feature( "BOARDABLE", true ); if( seat && p == seat->vehicle().get_passenger( seat->part_index() ) ) { return pos; } @@ -9419,7 +9419,7 @@ bool item::has_infinite_charges() const skill_id item::contextualize_skill( const skill_id &id ) const { if( id->is_contextual_skill() ) { - if( id == skill_weapon ) { + if( id == weapon_skill ) { if( is_gun() ) { return gun_skill(); } else if( is_melee() ) { diff --git a/src/item.h b/src/item.h index 47eb4085e896f..0cdaf4d78434d 100644 --- a/src/item.h +++ b/src/item.h @@ -72,6 +72,7 @@ enum m_size : int; enum class side : int; class body_part_set; +using itype_id = std::string; struct fire_data; struct damage_instance; struct damage_unit; diff --git a/src/item_factory.cpp b/src/item_factory.cpp index 5f9e751afc461..28915f185e7ff 100644 --- a/src/item_factory.cpp +++ b/src/item_factory.cpp @@ -47,7 +47,6 @@ #include "units.h" #include "cata_utility.h" #include "flat_set.h" -#include "cata_string_consts.h" class player; struct tripoint; @@ -227,8 +226,8 @@ void Item_factory::finalize_pre( itype &obj ) } const auto &mats = obj.materials; - if( std::find( mats.begin(), mats.end(), material_hydrocarbons ) == mats.end() && - std::find( mats.begin(), mats.end(), material_oil ) == mats.end() ) { + if( std::find( mats.begin(), mats.end(), material_id( "hydrocarbons" ) ) == mats.end() && + std::find( mats.begin(), mats.end(), material_id( "oil" ) ) == mats.end() ) { const auto &ammo_effects = obj.ammo->ammo_effects; obj.ammo->cookoff = ammo_effects.count( "INCENDIARY" ) > 0 || ammo_effects.count( "COOKOFF" ) > 0; @@ -2114,31 +2113,31 @@ static void set_allergy_flags( itype &item_template ) static const std::vector all_pairs = {{ // First allergens: // An item is an allergen even if it has trace amounts of allergenic material - std::make_pair( material_hflesh, flag_CANNIBALISM ), - - std::make_pair( material_hflesh, flag_ALLERGEN_MEAT ), - std::make_pair( material_iflesh, flag_ALLERGEN_MEAT ), - std::make_pair( material_flesh, flag_ALLERGEN_MEAT ), - std::make_pair( material_wheat, flag_ALLERGEN_WHEAT ), - std::make_pair( material_fruit, flag_ALLERGEN_FRUIT ), - std::make_pair( material_veggy, flag_ALLERGEN_VEGGY ), - std::make_pair( material_bean, flag_ALLERGEN_VEGGY ), - std::make_pair( material_tomato, flag_ALLERGEN_VEGGY ), - std::make_pair( material_garlic, flag_ALLERGEN_VEGGY ), - std::make_pair( material_nut, flag_ALLERGEN_VEGGY ), - std::make_pair( material_mushroom, flag_ALLERGEN_VEGGY ), - std::make_pair( material_milk, flag_ALLERGEN_MILK ), - std::make_pair( material_egg, flag_ALLERGEN_EGG ), - std::make_pair( material_junk, flag_ALLERGEN_JUNK ), + std::make_pair( material_id( "hflesh" ), "CANNIBALISM" ), + + std::make_pair( material_id( "hflesh" ), "ALLERGEN_MEAT" ), + std::make_pair( material_id( "iflesh" ), "ALLERGEN_MEAT" ), + std::make_pair( material_id( "flesh" ), "ALLERGEN_MEAT" ), + std::make_pair( material_id( "wheat" ), "ALLERGEN_WHEAT" ), + std::make_pair( material_id( "fruit" ), "ALLERGEN_FRUIT" ), + std::make_pair( material_id( "veggy" ), "ALLERGEN_VEGGY" ), + std::make_pair( material_id( "bean" ), "ALLERGEN_VEGGY" ), + std::make_pair( material_id( "tomato" ), "ALLERGEN_VEGGY" ), + std::make_pair( material_id( "garlic" ), "ALLERGEN_VEGGY" ), + std::make_pair( material_id( "nut" ), "ALLERGEN_VEGGY" ), + std::make_pair( material_id( "mushroom" ), "ALLERGEN_VEGGY" ), + std::make_pair( material_id( "milk" ), "ALLERGEN_MILK" ), + std::make_pair( material_id( "egg" ), "ALLERGEN_EGG" ), + std::make_pair( material_id( "junk" ), "ALLERGEN_JUNK" ), // Not food, but we can keep it here - std::make_pair( material_wool, flag_ALLERGEN_WOOL ), + std::make_pair( material_id( "wool" ), "ALLERGEN_WOOL" ), // Now "made of". Those flags should not be passed - std::make_pair( material_flesh, flag_CARNIVORE_OK ), - std::make_pair( material_hflesh, flag_CARNIVORE_OK ), - std::make_pair( material_iflesh, flag_CARNIVORE_OK ), - std::make_pair( material_milk, flag_CARNIVORE_OK ), - std::make_pair( material_egg, flag_CARNIVORE_OK ), - std::make_pair( material_honey, flag_URSINE_HONEY ), + std::make_pair( material_id( "flesh" ), "CARNIVORE_OK" ), + std::make_pair( material_id( "hflesh" ), "CARNIVORE_OK" ), + std::make_pair( material_id( "iflesh" ), "CARNIVORE_OK" ), + std::make_pair( material_id( "milk" ), "CARNIVORE_OK" ), + std::make_pair( material_id( "egg" ), "CARNIVORE_OK" ), + std::make_pair( material_id( "honey" ), "URSINE_HONEY" ), } }; @@ -2156,11 +2155,11 @@ void hflesh_to_flesh( itype &item_template ) { auto &mats = item_template.materials; const auto old_size = mats.size(); - mats.erase( std::remove( mats.begin(), mats.end(), material_hflesh ), mats.end() ); + mats.erase( std::remove( mats.begin(), mats.end(), material_id( "hflesh" ) ), mats.end() ); // Only add "flesh" material if not already present if( old_size != mats.size() && - std::find( mats.begin(), mats.end(), material_flesh ) == mats.end() ) { - mats.push_back( material_flesh ); + std::find( mats.begin(), mats.end(), material_id( "flesh" ) ) == mats.end() ) { + mats.push_back( material_id( "flesh" ) ); } } diff --git a/src/item_location.cpp b/src/item_location.cpp index 5dd52acfc6e2e..903cd46cdf293 100644 --- a/src/item_location.cpp +++ b/src/item_location.cpp @@ -423,7 +423,7 @@ class item_location::impl::item_on_vehicle : public item_location::impl if( auto label = part_pos.get_label() ) { res = colorize( *label, c_light_blue ) + " "; } - if( auto cargo_part = part_pos.part_with_feature( flag_CARGO, true ) ) { + if( auto cargo_part = part_pos.part_with_feature( "CARGO", true ) ) { res += cargo_part->part().name(); } else { debugmsg( "item in vehicle part without cargo storage" ); diff --git a/src/itype.h b/src/itype.h index 563bbba6812ce..976c9de821cd2 100644 --- a/src/itype.h +++ b/src/itype.h @@ -36,6 +36,8 @@ enum art_effect_active : int; enum art_charge : int; enum art_charge_req : int; enum art_effect_passive : int; +using itype_id = std::string; + class gun_modifier_data { private: diff --git a/src/iuse.cpp b/src/iuse.cpp index 2ef6f265bf322..84c01d2318be1 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -149,19 +149,19 @@ static extended_photo_def photo_def_for_camera_point( const tripoint &aim_point, std::vector &monster_vec, std::vector &player_vec ); static const std::vector camera_ter_whitelist_flags = { - flag_HIDE_PLACE, flag_FUNGUS, flag_TREE, flag_PERMEABLE, flag_SHRUB, - flag_PLACE_ITEM, flag_GROWTH_HARVEST, flag_GROWTH_MATURE, flag_GOES_UP, - flag_GOES_DOWN, flag_RAMP, flag_SHARP, flag_SIGN, flag_CLIMBABLE + "HIDE_PLACE", "FUNGUS", "TREE", "PERMEABLE", "SHRUB", + "PLACE_ITEM", "GROWTH_HARVEST", "GROWTH_MATURE", "GOES_UP", + "GOES_DOWN", "RAMP", "SHARP", "SIGN", "CLIMBABLE" }; static const std::vector camera_ter_whitelist_types = { - ter_pit_covered, ter_grave_new, ter_grave, ter_pit, - ter_pit_shallow, ter_pit_corpsed, ter_pit_spiked, - ter_pit_spiked_covered, ter_pit_glass, ter_pit_glass, ter_utility_light + ter_str_id( "t_pit_covered" ), ter_str_id( "t_grave_new" ), ter_str_id( "t_grave" ), ter_str_id( "t_pit" ), + ter_str_id( "t_pit_shallow" ), ter_str_id( "t_pit_corpsed" ), ter_str_id( "t_pit_spiked" ), + ter_str_id( "t_pit_spiked_covered" ), ter_str_id( "t_pit_glass" ), ter_str_id( "t_pit_glass" ), ter_str_id( "t_utility_light" ) }; void remove_radio_mod( item &it, player &p ) { - if( !it.has_flag( flag_RADIO_MOD ) ) { + if( !it.has_flag( "RADIO_MOD" ) ) { return; } p.add_msg_if_player( _( "You remove the radio modification from your %s!" ), it.tname() ); @@ -179,7 +179,7 @@ void remove_radio_mod( item &it, player &p ) static bool check_litcig( player &u ) { auto cigs = u.items_with( []( const item & it ) { - return it.active && it.has_flag( flag_LITCIG ); + return it.active && it.has_flag( "LITCIG" ); } ); if( cigs.empty() ) { return true; @@ -463,7 +463,7 @@ int iuse::fungicide( player *p, item *it, bool, const tripoint & ) if( monster *const mon_ptr = g->critter_at( dest ) ) { monster &critter = *mon_ptr; if( g->u.sees( dest ) && - !critter.type->in_species( species_FUNGUS ) ) { + !critter.type->in_species( FUNGUS ) ) { add_msg( m_warning, _( "The %s is covered in tiny spores!" ), critter.name() ); } @@ -674,7 +674,7 @@ int iuse::poison( player *p, item *it, bool, const tripoint & ) // NPCs have a magical sense of what is inedible // Players can abuse the crafting menu instead... - if( !it->has_flag( flag_HIDDEN_POISON ) && + if( !it->has_flag( "HIDDEN_POISON" ) && ( p->is_npc() || !p->query_yn( _( "Are you sure you want to eat this? It looks poisonous…" ) ) ) ) { return 0; @@ -1462,7 +1462,7 @@ int iuse::radio_mod( player *p, item *, bool, const tripoint & ) } auto filter = []( const item & itm ) { - return itm.has_flag( flag_RADIO_MODABLE ); + return itm.has_flag( "RADIO_MODABLE" ); }; // note: if !p->is_npc() then p is avatar @@ -1498,7 +1498,7 @@ int iuse::radio_mod( player *p, item *, bool, const tripoint & ) return 0; } - if( modded.has_flag( flag_RADIO_MOD ) && modded.has_flag( newtag ) ) { + if( modded.has_flag( "RADIO_MOD" ) && modded.has_flag( newtag ) ) { p->add_msg_if_player( _( "This item has been modified this way already." ) ); return 0; } @@ -1855,7 +1855,7 @@ int iuse::pack_cbm( player *p, item *it, bool, const tripoint & ) const int success = p->get_skill_level( skill_firstaid ) - rng( 0, 6 ); if( success > 0 ) { p->add_msg_if_player( m_good, _( "You carefully prepare the CBM for sterilization." ) ); - bionic.get_item()->unset_flag( flag_NO_PACKED ); + bionic.get_item()->unset_flag( "NO_PACKED" ); } else { p->add_msg_if_player( m_bad, _( "You fail to properly prepare the CBM." ) ); } @@ -2326,7 +2326,7 @@ int iuse::crowbar( player *p, item *it, bool, const tripoint &pos ) // The iexamine function for crate supplies a hammer object. // So this stops the player (A)ctivating a Hammer with a Crowbar in their backpack // then managing to open a door. - const int pry_level = it->get_quality( quality_PRY ); + const int pry_level = it->get_quality( quality_id( "PRY" ) ); if( pry_level < pry_quality ) { p->add_msg_if_player( _( "You can't get sufficient leverage to open that with your %s." ), @@ -2520,7 +2520,7 @@ static digging_moves_and_byproducts dig_pit_moves_and_byproducts( player *p, ite constexpr double baseline_dig_quality = 3; // Get the dig quality of the tool. - const int quality = it->get_quality( quality_DIG ); + const int quality = it->get_quality( qual_DIG ); // Dig quality affects the dig rate linearly relative to baseline dig quality const double tool_dig_rate = dig_rate_kg_min * quality / baseline_dig_quality; @@ -2578,7 +2578,7 @@ int iuse::dig( player *p, item *it, bool t, const tripoint & ) const bool can_deepen = g->m.has_flag( flag_DIGGABLE_CAN_DEEPEN, dig_point ); const bool grave = g->m.ter( dig_point ) == t_grave; - if( !p->crafting_inventory().has_quality( quality_DIG, 2 ) ) { + if( !p->crafting_inventory().has_quality( qual_DIG, 2 ) ) { if( can_deepen ) { p->add_msg_if_player( _( "You can't deepen this pit without a proper shovel." ) ); return 0; @@ -3448,7 +3448,7 @@ int iuse::granade_act( player *p, item *it, bool t, const tripoint &pos ) explosion_handler::draw_explosion( pos, explosion_radius, c_light_cyan ); for( const tripoint &dest : g->m.points_in_radius( pos, explosion_radius ) ) { monster *const mon = g->critter_at( dest, true ); - if( mon && ( mon->type->in_species( species_INSECT ) || mon->is_hallucination() ) ) { + if( mon && ( mon->type->in_species( INSECT ) || mon->is_hallucination() ) ) { mon->die_in_explosion( nullptr ); } } @@ -3786,7 +3786,7 @@ int iuse::pheromone( player *p, item *it, bool, const tripoint &pos ) continue; } monster &critter = *mon_ptr; - if( critter.type->in_species( species_ZOMBIE ) && critter.friendly == 0 && + if( critter.type->in_species( ZOMBIE ) && critter.friendly == 0 && rng( 0, 500 ) > critter.get_hp() ) { converts++; critter.anger = 0; @@ -4611,7 +4611,7 @@ int iuse::lumber( player *p, item *it, bool t, const tripoint & ) static int chop_moves( player *p, item *it ) { // quality of tool - const int quality = it->get_quality( quality_AXE ); + const int quality = it->get_quality( qual_AXE ); // attribute; regular tools - based on STR, powered tools - based on DEX const int attr = it->has_flag( flag_POWERED ) ? p->dex_cur : p->str_cur; @@ -5591,7 +5591,7 @@ int iuse::unfold_generic( player *p, item *it, bool, const tripoint & ) g->m.destroy_vehicle( veh ); return 0; } - const bool can_float = size( veh->get_avail_parts( flag_FLOATS ) ) > 2; + const bool can_float = size( veh->get_avail_parts( "FLOATS" ) ) > 2; const auto invalid_pos = []( const tripoint & pp, bool can_float ) { return ( g->m.has_flag_ter( TFLAG_DEEP_WATER, pp ) && !can_float ) || @@ -5946,7 +5946,7 @@ int iuse::seed( player *p, item *it, bool, const tripoint & ) bool iuse::robotcontrol_can_target( player *p, const monster &m ) { return !m.is_dead() - && m.type->in_species( species_ROBOT ) + && m.type->in_species( ROBOT ) && m.friendly == 0 && rl_dist( p->pos(), m.pos() ) <= 10; } @@ -6027,7 +6027,7 @@ int iuse::robotcontrol( player *p, item *it, bool, const tripoint & ) p->moves -= to_moves( 1_seconds ); int f = 0; //flag to check if you have robotic allies for( monster &critter : g->all_monsters() ) { - if( critter.friendly != 0 && critter.type->in_species( species_ROBOT ) ) { + if( critter.friendly != 0 && critter.type->in_species( ROBOT ) ) { p->add_msg_if_player( _( "A following %s goes into passive mode." ), critter.name() ); critter.add_effect( effect_docile, 1_turns, num_bp, true ); @@ -7097,7 +7097,7 @@ static extended_photo_def photo_def_for_camera_point( const tripoint &aim_point, creature = guy; player_vec.push_back( guy ); } else { - if( mon->is_hallucination() || mon->type->in_species( species_HALLUCINATION ) ) { + if( mon->is_hallucination() || mon->type->in_species( HALLUCINATION ) ) { continue; // do not include hallucinations } pose = _( "stands" ); @@ -7506,7 +7506,7 @@ int iuse::camera( player *p, item *it, bool, const tripoint & ) // shoot past small monsters and hallucinations if( trajectory_point != aim_point && ( z.type->size <= MS_SMALL || z.is_hallucination() || - z.type->in_species( species_HALLUCINATION ) ) ) { + z.type->in_species( HALLUCINATION ) ) ) { continue; } if( !aim_bounds.is_point_inside( trajectory_point ) ) { @@ -7518,7 +7518,7 @@ int iuse::camera( player *p, item *it, bool, const tripoint & ) } // get an special message if the target is a hallucination if( trajectory_point == aim_point && ( z.is_hallucination() || - z.type->in_species( species_HALLUCINATION ) ) ) { + z.type->in_species( HALLUCINATION ) ) ) { p->add_msg_if_player( _( "Strange… there's nothing in the center of picture?" ) ); } } else if( guy ) { @@ -8068,7 +8068,7 @@ static bool hackveh( player &p, item &it, vehicle &veh ) if( !veh.is_locked || !veh.has_security_working() ) { return true; } - const bool advanced = !empty( veh.get_avail_parts( flag_REMOTE_CONTROLS ) ); + const bool advanced = !empty( veh.get_avail_parts( "REMOTE_CONTROLS" ) ); if( advanced && veh.is_alarm_on ) { p.add_msg_if_player( m_bad, _( "This vehicle's security system has locked you out!" ) ); return false; @@ -8130,7 +8130,7 @@ static vehicle *pickveh( const tripoint ¢er, bool advanced ) for( auto &veh : g->m.get_vehicles() ) { auto &v = veh.v; if( rl_dist( center, v->global_pos3() ) < 40 && - v->fuel_left( fuel_type_battery, true ) > 0 && + v->fuel_left( "battery", true ) > 0 && ( !empty( v->get_avail_parts( advctrl ) ) || ( !advanced && !empty( v->get_avail_parts( ctrl ) ) ) ) ) { vehs.push_back( v ); @@ -8171,7 +8171,7 @@ int iuse::remoteveh( player *p, item *it, bool t, const tripoint &pos ) } else if( remote == nullptr ) { p->add_msg_if_player( _( "Lost contact with the vehicle." ) ); stop = true; - } else if( remote->fuel_left( fuel_type_battery, true ) == 0 ) { + } else if( remote->fuel_left( "battery", true ) == 0 ) { p->add_msg_if_player( m_bad, _( "The vehicle's battery died." ) ); stop = true; } @@ -8225,7 +8225,7 @@ int iuse::remoteveh( player *p, item *it, bool t, const tripoint &pos ) } } } else if( choice == 1 ) { - const auto rctrl_parts = veh->get_avail_parts( flag_REMOTE_CONTROLS ); + const auto rctrl_parts = veh->get_avail_parts( "REMOTE_CONTROLS" ); // Revert to original behaviour if we can't find remote controls. if( empty( rctrl_parts ) ) { veh->use_controls( pos ); @@ -8309,7 +8309,7 @@ int iuse::autoclave( player *p, item *it, bool t, const tripoint &pos ) it->erase_var( "CYCLETIME" ); for( item &bio : it->contents ) { if( bio.is_bionic() && !bio.has_flag( flag_NO_PACKED ) ) { - bio.unset_flag( flag_NO_STERILE ); + bio.unset_flag( "NO_STERILE" ); } } } else { @@ -8644,9 +8644,9 @@ int iuse::multicooker( player *p, item *it, bool t, const tripoint &pos ) has_tools = false; } - if( !cinv.has_quality( quality_SCREW_FINE ) ) { + if( !cinv.has_quality( qual_SCREW_FINE ) ) { p->add_msg_if_player( m_warning, _( "You need an item with %s of 1 or more to disassemble this." ), - quality_SCREW_FINE.obj().name ); + qual_SCREW_FINE.obj().name ); has_tools = false; } @@ -9319,7 +9319,7 @@ int iuse::wash_items( player *p, bool soft_items, bool hard_items ) crafting_inv.charges_of( "detergent" ) ); const inventory_filter_preset preset( [soft_items, hard_items]( const item_location & location ) { - return location->has_flag( flag_FILTHY ) && ( ( soft_items && location->is_soft() ) || + return location->has_flag( "FILTHY" ) && ( ( soft_items && location->is_soft() ) || ( hard_items && !location->is_soft() ) ); } ); auto make_raw_stats = [available_water, available_cleanser]( diff --git a/src/iuse.h b/src/iuse.h index d53f18e96f4d8..8758cdfe881c6 100644 --- a/src/iuse.h +++ b/src/iuse.h @@ -6,7 +6,6 @@ #include #include -#include "type_id.h" #include "clone_ptr.h" #include "units.h" @@ -18,6 +17,7 @@ class monster; template class ret_val; struct iteminfo; +using itype_id = std::string; struct tripoint; // iuse methods returning a bool indicating whether to consume a charge of the item being used. @@ -297,7 +297,7 @@ class iuse_actor /** * Finalizes the actor. Must be called after all items are loaded. */ - virtual void finalize( const itype_id & ) { } + virtual void finalize( const itype_id &/*my_item_type*/ ) { } }; struct use_function { diff --git a/src/iuse_actor.cpp b/src/iuse_actor.cpp index d1b6c1142c9a1..aa816181127b4 100644 --- a/src/iuse_actor.cpp +++ b/src/iuse_actor.cpp @@ -145,7 +145,7 @@ int iuse_transform::use( player &p, item &it, bool t, const tripoint &pos ) cons } const bool possess = p.has_item( it ) || - ( it.has_flag( flag_ALLOWS_REMOTE_USE ) && square_dist( p.pos(), pos ) == 1 ); + ( it.has_flag( "ALLOWS_REMOTE_USE" ) && square_dist( p.pos(), pos ) == 1 ); if( possess && need_worn && !p.is_worn( it ) ) { p.add_msg_if_player( m_info, _( "You need to wear the %1$s before activating it." ), it.tname() ); @@ -269,7 +269,7 @@ void iuse_transform::finalize( const itype_id & ) void iuse_transform::info( const item &it, std::vector &dump ) const { item dummy( target, calendar::turn, std::max( ammo_qty, 1 ) ); - if( it.has_flag( flag_FIT ) ) { + if( it.has_flag( "FIT" ) ) { dummy.item_tags.insert( "FIT" ); } dump.emplace_back( "TOOL", string_format( _( "Turns into: %s" ), @@ -812,7 +812,7 @@ int place_monster_iuse::use( player &p, item &it, bool, const tripoint & ) const newmon.friendly = -1; } // TODO: add a flag instead of monster id or something? - if( newmon.type->id == mon_laserturret && !g->is_in_sunlight( newmon.pos() ) ) { + if( newmon.type->id == mtype_id( "mon_laserturret" ) && !g->is_in_sunlight( newmon.pos() ) ) { p.add_msg_if_player( _( "A flashing LED on the laser turret appears to indicate low light." ) ); } return 1; @@ -1056,21 +1056,21 @@ void deploy_furn_actor::info( const item &, std::vector &dump ) const if( the_furn.workbench.has_value() ) { can_function_as.emplace_back( _( "a crafting station" ) ); } - if( the_furn.has_flag( flag_BUTCHER_EQ ) ) { + if( the_furn.has_flag( "BUTCHER_EQ" ) ) { can_function_as.emplace_back( _( "a place to hang corpses for butchering" ) ); } - if( the_furn.has_flag( flag_FLAT_SURF ) ) { + if( the_furn.has_flag( "FLAT_SURF" ) ) { can_function_as.emplace_back( _( "a flat surface to butcher onto or eat meals from" ) ); } - if( the_furn.has_flag( flag_CAN_SIT ) ) { + if( the_furn.has_flag( "CAN_SIT" ) ) { can_function_as.emplace_back( _( "a place to sit" ) ); } - if( the_furn.has_flag( flag_HIDE_PLACE ) ) { + if( the_furn.has_flag( "HIDE_PLACE" ) ) { can_function_as.emplace_back( _( "a place to hide" ) ); } - if( the_furn.has_flag( flag_FIRE_CONTAINER ) ) { + if( the_furn.has_flag( "FIRE_CONTAINER" ) ) { can_function_as.emplace_back( _( "a safe place to contain a fire" ) ); } if( the_furn.crafting_pseudo_item == "char_smoker" ) { @@ -1864,8 +1864,8 @@ int enzlave_actor::use( player &p, item &it, bool t, const tripoint & ) const for( auto &it : items ) { const auto mt = it.get_mtype(); - if( it.is_corpse() && mt->in_species( species_ZOMBIE ) && mt->made_of( material_flesh ) && - mt->in_species( species_HUMAN ) && it.active && !it.has_var( "zlave" ) ) { + if( it.is_corpse() && mt->in_species( ZOMBIE ) && mt->made_of( material_id( "flesh" ) ) && + mt->in_species( HUMAN ) && it.active && !it.has_var( "zlave" ) ) { corpses.push_back( &it ); } } @@ -1878,9 +1878,9 @@ int enzlave_actor::use( player &p, item &it, bool t, const tripoint & ) const int tolerance_level = 9; if( p.has_trait( trait_PSYCHOPATH ) || p.has_trait( trait_SAPIOVORE ) ) { tolerance_level = 0; - } else if( p.has_trait_flag( flag_PRED4 ) ) { + } else if( p.has_trait_flag( "PRED4" ) ) { tolerance_level = 5; - } else if( p.has_trait_flag( flag_PRED3 ) ) { + } else if( p.has_trait_flag( "PRED3" ) ) { tolerance_level = 7; } @@ -1924,9 +1924,9 @@ int enzlave_actor::use( player &p, item &it, bool t, const tripoint & ) const if( p.has_trait( trait_PACIFIST ) ) { moraleMalus *= 5; maxMalus *= 3; - } else if( p.has_trait_flag( flag_PRED1 ) ) { + } else if( p.has_trait_flag( "PRED1" ) ) { moraleMalus /= 4; - } else if( p.has_trait_flag( flag_PRED2 ) ) { + } else if( p.has_trait_flag( "PRED2" ) ) { moraleMalus /= 5; } @@ -2448,7 +2448,7 @@ int cast_spell_actor::use( player &p, item &it, bool, const tripoint & ) const cast_spell.values.emplace_back( 0 ); } cast_spell.name = casting.id().c_str(); - if( it.has_flag( flag_USE_PLAYER_ENERGY ) ) { + if( it.has_flag( "USE_PLAYER_ENERGY" ) ) { // [2] this value overrides the mana cost if set to 0 cast_spell.values.emplace_back( 1 ); charges = 0; @@ -3107,7 +3107,7 @@ bool repair_item_actor::can_repair_target( player &pl, const item &fix, } return false; } - if( fix.count_by_charges() || fix.has_flag( flag_NO_REPAIR ) ) { + if( fix.count_by_charges() || fix.has_flag( "NO_REPAIR" ) ) { if( print_msg ) { pl.add_msg_if_player( m_info, _( "You cannot repair this type of item." ) ); } @@ -3128,14 +3128,14 @@ bool repair_item_actor::can_repair_target( player &pl, const item &fix, return false; } - const bool can_be_refitted = fix.has_flag( flag_VARSIZE ); - if( can_be_refitted && !fix.has_flag( flag_FIT ) ) { + const bool can_be_refitted = fix.has_flag( "VARSIZE" ); + if( can_be_refitted && !fix.has_flag( "FIT" ) ) { return true; } const bool resizing_matters = fix.get_encumber( pl ) != 0; const bool small = pl.has_trait( trait_SMALL2 ) || pl.has_trait( trait_SMALL_OK ); - const bool can_resize = small != fix.has_flag( flag_UNDERSIZE ); + const bool can_resize = small != fix.has_flag( "UNDERSIZE" ); if( can_be_refitted && resizing_matters && can_resize ) { return true; } @@ -3152,7 +3152,7 @@ bool repair_item_actor::can_repair_target( player &pl, const item &fix, return false; } - if( fix.has_flag( flag_PRIMITIVE_RANGED_WEAPON ) || !fix.reinforceable() ) { + if( fix.has_flag( "PRIMITIVE_RANGED_WEAPON" ) || !fix.reinforceable() ) { if( print_msg ) { pl.add_msg_if_player( m_info, _( "You cannot improve your %s any more this way." ), fix.tname() ); @@ -3343,7 +3343,7 @@ repair_item_actor::attempt_hint repair_item_actor::repair( player &pl, item &too if( action == RT_REFIT ) { if( roll == SUCCESS ) { - if( !fix->has_flag( flag_FIT ) ) { + if( !fix->has_flag( "FIT" ) ) { pl.add_msg_if_player( m_good, _( "You take your %s in, improving the fit." ), fix->tname() ); fix->item_tags.insert( "FIT" ); @@ -3380,7 +3380,7 @@ repair_item_actor::attempt_hint repair_item_actor::repair( player &pl, item &too } if( action == RT_REINFORCE ) { - if( fix->has_flag( flag_PRIMITIVE_RANGED_WEAPON ) || !fix->reinforceable() ) { + if( fix->has_flag( "PRIMITIVE_RANGED_WEAPON" ) || !fix->reinforceable() ) { pl.add_msg_if_player( m_info, _( "You cannot improve your %s any more this way." ), fix->tname() ); return AS_CANT; @@ -4004,8 +4004,8 @@ int place_trap_actor::use( player &p, item &it, bool, const tripoint & ) const } } - const bool has_shovel = p.has_quality( quality_DIG, 3 ); - const bool is_diggable = g->m.has_flag( flag_DIGGABLE, pos ); + const bool has_shovel = p.has_quality( quality_id( "DIG" ), 3 ); + const bool is_diggable = g->m.has_flag( "DIGGABLE", pos ); bool bury = false; if( could_bury && has_shovel && is_diggable ) { bury = query_yn( _( bury_question ) ); @@ -4144,9 +4144,9 @@ ret_val install_bionic_actor::can_use( const Character &p, const item &it, !p.has_trait( trait_DEBUG_BIONICS ) ) { return ret_val::make_failure( _( "You can't self-install bionics." ) ); } else if( !p.has_trait( trait_DEBUG_BIONICS ) ) { - if( it.has_flag( flag_FILTHY ) ) { + if( it.has_flag( "FILTHY" ) ) { return ret_val::make_failure( _( "You can't install a filthy CBM!" ) ); - } else if( it.has_flag( flag_NO_STERILE ) ) { + } else if( it.has_flag( "NO_STERILE" ) ) { return ret_val::make_failure( _( "This CBM is not sterile, you can't install it." ) ); } else if( it.has_fault( fault_bionic_salvaged ) ) { return ret_val::make_failure( @@ -4422,7 +4422,7 @@ int deploy_tent_actor::use( player &p, item &it, bool, const tripoint & ) const add_msg( m_info, _( "The %s is in the way." ), c->disp_name() ); return 0; } - if( g->m.impassable( dest ) || !g->m.has_flag( flag_FLAT, dest ) ) { + if( g->m.impassable( dest ) || !g->m.has_flag( "FLAT", dest ) ) { add_msg( m_info, _( "The %s in that direction isn't suitable for placing the %s." ), g->m.name( dest ), it.tname() ); return 0; diff --git a/src/iuse_actor.h b/src/iuse_actor.h index 0cc1c1fff1d96..a2b80e28091cd 100644 --- a/src/iuse_actor.h +++ b/src/iuse_actor.h @@ -22,7 +22,6 @@ class npc_template; #include "type_id.h" #include "units.h" #include "optional.h" -#include "cata_string_consts.h" class Character; class item; @@ -34,6 +33,7 @@ enum hp_part : int; enum body_part : int; class JsonObject; +using itype_id = std::string; struct furn_t; struct itype; class item_location; @@ -502,23 +502,23 @@ class salvage_actor : public iuse_actor /** Materials it can cut */ std::set material_whitelist = { - material_acidchitin, - material_alien_resin, - material_bone, - material_chitin, - material_cotton, - material_faux_fur, - material_fur, - material_kevlar, - material_kevlar_rigid, - material_leather, - material_lycra, - material_neoprene, - material_nomex, - material_nylon, - material_plastic, - material_wood, - material_wool + material_id( "acidchitin" ), + material_id( "alien_resin" ), + material_id( "bone" ), + material_id( "chitin" ), + material_id( "cotton" ), + material_id( "faux_fur" ), + material_id( "fur" ), + material_id( "kevlar" ), + material_id( "kevlar_rigid" ), + material_id( "leather" ), + material_id( "lycra" ), + material_id( "neoprene" ), + material_id( "nomex" ), + material_id( "nylon" ), + material_id( "plastic" ), + material_id( "wood" ), + material_id( "wool" ) }; bool try_to_cut_up( player &p, item &it ) const; @@ -549,14 +549,14 @@ class inscribe_actor : public iuse_actor // Materials it can write on std::set material_whitelist = { - material_wood, - material_plastic, - material_glass, - material_chitin, - material_iron, - material_steel, - material_silver, - material_bone + material_id( "wood" ), + material_id( "plastic" ), + material_id( "glass" ), + material_id( "chitin" ), + material_id( "iron" ), + material_id( "steel" ), + material_id( "silver" ), + material_id( "bone" ) }; // How will the inscription be described diff --git a/src/lightmap.cpp b/src/lightmap.cpp index 01b5668cb8b79..d1c758ee44057 100644 --- a/src/lightmap.cpp +++ b/src/lightmap.cpp @@ -458,7 +458,7 @@ void map::generate_lightmap( const int zlev ) if( !inbounds( pp ) ) { continue; } - if( vp.has_feature( VPFLAG_CARGO ) && !vp.has_feature( flag_COVERED ) ) { + if( vp.has_feature( VPFLAG_CARGO ) && !vp.has_feature( "COVERED" ) ) { add_light_from_items( pp, v->get_items( static_cast( p ) ).begin(), v->get_items( static_cast( p ) ).end() ); } @@ -1188,10 +1188,10 @@ void map::build_seen_cache( const tripoint &origin, const int target_z ) const tripoint mirror_pos = vp.pos(); // We can utilize the current state of the seen cache to determine // if the player can see the mirror from their position. - if( !vp.info().has_flag( flag_CAMERA ) && + if( !vp.info().has_flag( "CAMERA" ) && seen_cache[mirror_pos.x][mirror_pos.y] < LIGHT_TRANSPARENCY_SOLID + 0.1 ) { continue; - } else if( !vp.info().has_flag( flag_CAMERA_CONTROL ) ) { + } else if( !vp.info().has_flag( "CAMERA_CONTROL" ) ) { mirrors.emplace_back( static_cast( vp.part_index() ) ); } else { if( square_dist( origin, mirror_pos ) <= 1 && veh->camera_on ) { @@ -1201,7 +1201,7 @@ void map::build_seen_cache( const tripoint &origin, const int target_z ) } for( int mirror : mirrors ) { - bool is_camera = veh->part_info( mirror ).has_flag( flag_CAMERA ); + bool is_camera = veh->part_info( mirror ).has_flag( "CAMERA" ); if( is_camera && cam_control < 0 ) { continue; // Player not at camera control, so cameras don't work } diff --git a/src/magic_spell_effect.cpp b/src/magic_spell_effect.cpp index 2f4de55b4efe7..f31dd3a640b85 100644 --- a/src/magic_spell_effect.cpp +++ b/src/magic_spell_effect.cpp @@ -44,7 +44,6 @@ #include "translations.h" #include "timed_event.h" #include "teleport.h" -#include "cata_string_consts.h" namespace spell_detail { @@ -663,13 +662,13 @@ void spell_effect::spawn_ethereal_item( const spell &sp, Creature &caster, const item granted( sp.effect_data(), calendar::turn ); if( !granted.is_comestible() && !( sp.has_flag( spell_flag::PERMANENT ) && sp.is_max_level() ) ) { granted.set_var( "ethereal", to_turns( sp.duration_turns() ) ); - granted.set_flag( flag_ETHEREAL_ITEM ); + granted.set_flag( "ETHEREAL_ITEM" ); } if( granted.count_by_charges() && sp.damage() > 0 ) { granted.charges = sp.damage(); } if( g->u.can_wear( granted ).success() ) { - granted.set_flag( flag_FIT ); + granted.set_flag( "FIT" ); g->u.wear_item( granted, false ); } else if( !g->u.is_armed() ) { g->u.weapon = granted; diff --git a/src/magic_teleporter_list.cpp b/src/magic_teleporter_list.cpp index a528b6b25a5f3..4f9499c4fcfc1 100644 --- a/src/magic_teleporter_list.cpp +++ b/src/magic_teleporter_list.cpp @@ -23,7 +23,6 @@ #include "color.h" #include "string_formatter.h" #include "translations.h" -#include "cata_string_consts.h" static bool popup_string( std::string &result, std::string &title ) { @@ -62,7 +61,7 @@ static cata::optional find_valid_teleporters_omt( const tripoint &omt_ tinymap checker; checker.load( sm_pt, true ); for( const tripoint &p : checker.points_on_zlevel() ) { - if( checker.has_flag_furn( flag_TRANSLOCATOR, p ) ) { + if( checker.has_flag_furn( "TRANSLOCATOR", p ) ) { return checker.getabs( p ); } } diff --git a/src/map.cpp b/src/map.cpp index b44be3402d31f..bc3cf7d1dfe4e 100755 --- a/src/map.cpp +++ b/src/map.cpp @@ -83,7 +83,13 @@ #include "string_id.h" #include "construction.h" #include "flat_set.h" -#include "cata_string_consts.h" + +static const mtype_id mon_zombie( "mon_zombie" ); + +static const skill_id skill_traps( "traps" ); + +static const efftype_id effect_boomered( "boomered" ); +static const efftype_id effect_crushed( "crushed" ); #define dbg(x) DebugLog((x),D_MAP) << __FILE__ << ":" << __LINE__ << ": " @@ -622,7 +628,7 @@ vehicle *map::move_vehicle( vehicle &veh, const tripoint &dp, const tileray &fac } veh.handle_trap( wheel_p, w ); - if( !has_flag( flag_SEALED, wheel_p ) ) { + if( !has_flag( "SEALED", wheel_p ) ) { const float wheel_area = veh.parts[ w ].wheel_area(); // Damage is calculated based on the weight of the vehicle, @@ -849,7 +855,7 @@ void map::register_vehicle_zone( vehicle *veh, const int zlev ) bool map::deregister_vehicle_zone( zone_data &zone ) { if( const cata::optional vp = veh_at( getlocal( - zone.get_start_point() ) ).part_with_feature( flag_CARGO, false ) ) { + zone.get_start_point() ) ).part_with_feature( "CARGO", false ) ) { auto bounds = vp->vehicle().loot_zones.equal_range( vp->mount() ); for( auto it = bounds.first; it != bounds.second; it++ ) { if( &zone == &( it->second ) ) { @@ -1152,7 +1158,7 @@ bool map::displace_vehicle( vehicle &veh, const tripoint &dp ) bool map::displace_water( const tripoint &p ) { // Check for shallow water - if( has_flag( flag_SWIMMABLE, p ) && !has_flag( TFLAG_DEEP_WATER, p ) ) { + if( has_flag( "SWIMMABLE", p ) && !has_flag( TFLAG_DEEP_WATER, p ) ) { int dis_places = 0; int sel_place = 0; for( int pass = 0; pass < 2; pass++ ) { @@ -1262,7 +1268,7 @@ void map::furn_set( const tripoint &p, const furn_id &new_furniture ) c->remove_effect( effect_crushed ); } } - if( new_t.has_flag( flag_EMITTER ) ) { + if( new_t.has_flag( "EMITTER" ) ) { field_furn_locs.push_back( p ); } if( old_t.transparent != new_t.transparent ) { @@ -1315,7 +1321,7 @@ bool map::can_move_furniture( const tripoint &pos, player *p ) std::string map::furnname( const tripoint &p ) { const furn_t &f = furn( p ).obj(); - if( f.has_flag( flag_PLANT ) ) { + if( f.has_flag( "PLANT" ) ) { // Can't use item_stack::only_item() since there might be fertilizer map_stack items = i_at( p ); const map_stack::iterator seed = std::find_if( items.begin(), items.end(), []( const item & it ) { @@ -1558,14 +1564,14 @@ std::string map::features( const tripoint &p ) // to take up one line. So, make sure it does that. // FIXME: can't control length of localized text. add_if( is_bashable( p ), _( "Smashable." ) ); - add_if( has_flag( flag_DIGGABLE, p ), _( "Diggable." ) ); - add_if( has_flag( flag_PLOWABLE, p ), _( "Plowable." ) ); - add_if( has_flag( flag_ROUGH, p ), _( "Rough." ) ); - add_if( has_flag( flag_UNSTABLE, p ), _( "Unstable." ) ); - add_if( has_flag( flag_SHARP, p ), _( "Sharp." ) ); - add_if( has_flag( flag_FLAT, p ), _( "Flat." ) ); - add_if( has_flag( flag_EASY_DECONSTRUCT, p ), _( "Simple." ) ); - add_if( has_flag( flag_MOUNTABLE, p ), _( "Mountable." ) ); + add_if( has_flag( "DIGGABLE", p ), _( "Diggable." ) ); + add_if( has_flag( "PLOWABLE", p ), _( "Plowable." ) ); + add_if( has_flag( "ROUGH", p ), _( "Rough." ) ); + add_if( has_flag( "UNSTABLE", p ), _( "Unstable." ) ); + add_if( has_flag( "SHARP", p ), _( "Sharp." ) ); + add_if( has_flag( "FLAT", p ), _( "Flat." ) ); + add_if( has_flag( "EASY_DECONSTRUCT", p ), _( "Simple." ) ); + add_if( has_flag( "MOUNTABLE", p ), _( "Mountable." ) ); return result; } @@ -1802,7 +1808,7 @@ int map::climb_difficulty( const tripoint &p ) const int best_difficulty = INT_MAX; int blocks_movement = 0; - if( has_flag( flag_LADDER, p ) ) { + if( has_flag( "LADDER", p ) ) { // Really easy, but you have to stand on the tile return 1; } else if( has_flag( TFLAG_RAMP, p ) ) { @@ -1821,7 +1827,7 @@ int map::climb_difficulty( const tripoint &p ) const best_difficulty = std::min( best_difficulty, 7 ); } - if( best_difficulty > 5 && has_flag( flag_CLIMBABLE, pt ) ) { + if( best_difficulty > 5 && has_flag( "CLIMBABLE", pt ) ) { best_difficulty = 5; } } @@ -1914,7 +1920,7 @@ void map::drop_furniture( const tripoint &p ) if( frn_id != f_null ) { const furn_t &frn = frn_id.obj(); // Allow crushing tiny/nocollide furniture - if( !frn.has_flag( flag_TINY ) && !frn.has_flag( flag_NOCOLLIDE ) ) { + if( !frn.has_flag( "TINY" ) && !frn.has_flag( "NOCOLLIDE" ) ) { return SS_BAD_SUPPORT; } } @@ -1961,13 +1967,13 @@ void map::drop_furniture( const tripoint &p ) // Approximate weight/"bulkiness" based on strength to drag int weight; - if( frn_obj.has_flag( flag_TINY ) || frn_obj.has_flag( flag_NOCOLLIDE ) ) { + if( frn_obj.has_flag( "TINY" ) || frn_obj.has_flag( "NOCOLLIDE" ) ) { weight = 5; } else { weight = frn_obj.is_movable() ? frn_obj.move_str_req : 20; } - if( frn_obj.has_flag( flag_ROUGH ) || frn_obj.has_flag( flag_SHARP ) ) { + if( frn_obj.has_flag( "ROUGH" ) || frn_obj.has_flag( "SHARP" ) ) { weight += 5; } @@ -2117,12 +2123,12 @@ bool map::can_put_items( const tripoint &p ) const return true; } const optional_vpart_position vp = veh_at( p ); - return static_cast( vp.part_with_feature( flag_CARGO, true ) ); + return static_cast( vp.part_with_feature( "CARGO", true ) ); } bool map::can_put_items_ter_furn( const tripoint &p ) const { - return !has_flag( flag_NOITEM, p ) && !has_flag( flag_SEALED, p ); + return !has_flag( "NOITEM", p ) && !has_flag( "SEALED", p ); } bool map::has_flag_ter( const std::string &flag, const tripoint &p ) const @@ -2368,12 +2374,12 @@ void map::make_rubble( const tripoint &p, const furn_id &rubble_type, const bool bool map::is_water_shallow_current( const tripoint &p ) const { - return has_flag( flag_CURRENT, p ) && !has_flag( TFLAG_DEEP_WATER, p ); + return has_flag( "CURRENT", p ) && !has_flag( TFLAG_DEEP_WATER, p ); } bool map::is_divable( const tripoint &p ) const { - return has_flag( flag_SWIMMABLE, p ) && has_flag( TFLAG_DEEP_WATER, p ); + return has_flag( "SWIMMABLE", p ) && has_flag( TFLAG_DEEP_WATER, p ); } bool map::is_outside( const tripoint &p ) const @@ -2418,9 +2424,9 @@ bool map::is_last_ter_wall( const bool no_furn, const point &p, if( no_furn && has_furn( point( x2, y2 ) ) ) { loop = false; result = false; - } else if( !has_flag_ter( flag_FLAT, point( x2, y2 ) ) ) { + } else if( !has_flag_ter( "FLAT", point( x2, y2 ) ) ) { loop = false; - if( !has_flag_ter( flag_WALL, point( x2, y2 ) ) ) { + if( !has_flag_ter( "WALL", point( x2, y2 ) ) ) { result = false; } } @@ -2433,7 +2439,7 @@ bool map::is_last_ter_wall( const bool no_furn, const point &p, bool map::tinder_at( const tripoint &p ) { for( const auto &i : i_at( p ) ) { - if( i.has_flag( flag_TINDER ) ) { + if( i.has_flag( "TINDER" ) ) { return true; } } @@ -2463,11 +2469,11 @@ bool map::is_flammable( const tripoint &p ) return true; } - if( has_flag( flag_FLAMMABLE, p ) ) { + if( has_flag( "FLAMMABLE", p ) ) { return true; } - if( has_flag( flag_FLAMMABLE_ASH, p ) ) { + if( has_flag( "FLAMMABLE_ASH", p ) ) { return true; } @@ -2574,7 +2580,7 @@ bool map::has_nearby_fire( const tripoint &p, int radius ) if( get_field( pt, fd_fire ) != nullptr ) { return true; } - if( has_flag_ter_or_furn( flag_USABLE_FIRE, p ) ) { + if( has_flag_ter_or_furn( "USABLE_FIRE", p ) ) { return true; } } @@ -2585,10 +2591,10 @@ bool map::has_nearby_table( const tripoint &p, int radius ) { for( const tripoint &pt : points_in_radius( p, radius ) ) { const optional_vpart_position vp = veh_at( p ); - if( has_flag( flag_FLAT_SURF, pt ) ) { + if( has_flag( "FLAT_SURF", pt ) ) { return true; } - if( vp && ( vp->vehicle().has_part( flag_KITCHEN ) || vp->vehicle().has_part( flag_FLAT_SURF ) ) ) { + if( vp && ( vp->vehicle().has_part( "KITCHEN" ) || vp->vehicle().has_part( "FLAT_SURF" ) ) ) { return true; } } @@ -2599,10 +2605,10 @@ bool map::has_nearby_chair( const tripoint &p, int radius ) { for( const tripoint &pt : points_in_radius( p, radius ) ) { const optional_vpart_position vp = veh_at( pt ); - if( has_flag( flag_CAN_SIT, pt ) ) { + if( has_flag( "CAN_SIT", pt ) ) { return true; } - if( vp && vp->vehicle().has_part( flag_SEAT ) ) { + if( vp && vp->vehicle().has_part( "SEAT" ) ) { return true; } } @@ -2613,7 +2619,7 @@ bool map::mop_spills( const tripoint &p ) { bool retval = false; - if( !has_flag( flag_LIQUIDCONT, p ) ) { + if( !has_flag( "LIQUIDCONT", p ) ) { auto items = i_at( p ); auto new_end = std::remove_if( items.begin(), items.end(), []( const item & it ) { return it.made_of( LIQUID ); @@ -2666,14 +2672,17 @@ bool map::mop_spills( const tripoint &p ) int map::collapse_check( const tripoint &p ) { + const bool collapses = has_flag( "COLLAPSES", p ); + const bool supports_roof = has_flag( "SUPPORTS_ROOF", p ); + int num_supports = p.z == OVERMAP_DEPTH ? 0 : -5; // if there's support below, things are less likely to collapse if( p.z > -OVERMAP_DEPTH ) { const tripoint &pbelow = tripoint( p.xy(), p.z - 1 ); for( const tripoint &tbelow : points_in_radius( pbelow, 1 ) ) { - if( has_flag( flag_SUPPORTS_ROOF, pbelow ) ) { + if( has_flag( "SUPPORTS_ROOF", pbelow ) ) { num_supports += 1; - if( has_flag( flag_WALL, pbelow ) ) { + if( has_flag( "WALL", pbelow ) ) { num_supports = 2; } if( tbelow == pbelow ) { @@ -2688,17 +2697,17 @@ int map::collapse_check( const tripoint &p ) continue; } - if( has_flag( flag_COLLAPSES, p ) ) { - if( has_flag( flag_COLLAPSES, t ) ) { + if( collapses ) { + if( has_flag( "COLLAPSES", t ) ) { num_supports++; - } else if( has_flag( flag_SUPPORTS_ROOF, t ) ) { + } else if( has_flag( "SUPPORTS_ROOF", t ) ) { num_supports += 2; } - } else if( has_flag( flag_SUPPORTS_ROOF, p ) ) { - if( has_flag( flag_SUPPORTS_ROOF, t ) ) { - if( has_flag( flag_WALL, t ) ) { + } else if( supports_roof ) { + if( has_flag( "SUPPORTS_ROOF", t ) ) { + if( has_flag( "WALL", t ) ) { num_supports += 4; - } else if( !has_flag( flag_COLLAPSES, t ) ) { + } else if( !has_flag( "COLLAPSES", t ) ) { num_supports += 3; } } @@ -2713,15 +2722,15 @@ int map::collapse_check( const tripoint &p ) void map::collapse_at( const tripoint &p, const bool silent, const bool was_supporting, const bool destroy_pos ) { - const bool supports = was_supporting || has_flag( flag_SUPPORTS_ROOF, p ); - const bool wall = was_supporting || has_flag( flag_WALL, p ); + const bool supports = was_supporting || has_flag( "SUPPORTS_ROOF", p ); + const bool wall = was_supporting || has_flag( "WALL", p ); // don't bash again if the caller already bashed here if( destroy_pos ) { destroy( p, silent ); crush( p ); make_rubble( p ); } - const bool still_supports = has_flag( flag_SUPPORTS_ROOF, p ); + const bool still_supports = has_flag( "SUPPORTS_ROOF", p ); // If something supporting the roof collapsed, see what else collapses if( supports && !still_supports ) { @@ -2734,12 +2743,12 @@ void map::collapse_at( const tripoint &p, const bool silent, const bool was_supp } // if a wall collapses, walls without support from below risk collapsing and //propogate the collapse upwards - if( zlevels && wall && p == t && has_flag( flag_WALL, tz ) ) { + if( zlevels && wall && p == t && has_flag( "WALL", tz ) ) { collapse_at( tz, silent ); } // floors without support from below risk collapsing into open air and can propogate // the collapse horizontally but not vertically - if( p != t && ( has_flag( flag_SUPPORTS_ROOF, t ) && has_flag( flag_COLLAPSES, t ) ) ) { + if( p != t && ( has_flag( "SUPPORTS_ROOF", t ) && has_flag( "COLLAPSES", t ) ) ) { collapse_at( t, silent ); } // this tile used to support a roof, now it doesn't, which means there is only @@ -2923,7 +2932,7 @@ static bool furn_is_supported( const map &m, const tripoint &p ) const int adj_x = p.x + cx[i]; const int adj_y = p.y + cy[i]; if( m.has_furn( tripoint( adj_x, adj_y, p.z ) ) && - m.furn( tripoint( adj_x, adj_y, p.z ) ).obj().has_flag( flag_BLOCKSDOOR ) ) { + m.furn( tripoint( adj_x, adj_y, p.z ) ).obj().has_flag( "BLOCKSDOOR" ) ) { return true; } } @@ -2977,7 +2986,7 @@ void map::bash_ter_furn( const tripoint &p, bash_params ¶ms ) } // TODO: what if silent is true? - if( has_flag( flag_ALARMED, p ) && !g->timed_events.queued( TIMED_EVENT_WANTED ) ) { + if( has_flag( "ALARMED", p ) && !g->timed_events.queued( TIMED_EVENT_WANTED ) ) { sounds::sound( p, 40, sounds::sound_t::alarm, _( "an alarm go off!" ), false, "environment", "alarm" ); // Blame nearby player @@ -3022,7 +3031,7 @@ void map::bash_ter_furn( const tripoint &p, bash_params ¶ms ) if( bash->str_min_supported != -1 || bash->str_max_supported != -1 ) { tripoint below( p.xy(), p.z - 1 ); - if( !zlevels || has_flag( flag_SUPPORTS_ROOF, below ) ) { + if( !zlevels || has_flag( "SUPPORTS_ROOF", below ) ) { if( bash->str_min_supported != -1 ) { smin = bash->str_min_supported; } @@ -3062,12 +3071,12 @@ void map::bash_ter_furn( const tripoint &p, bash_params ¶ms ) } // Clear out any partially grown seeds - if( has_flag_ter_or_furn( flag_PLANT, p ) ) { + if( has_flag_ter_or_furn( "PLANT", p ) ) { i_clear( p ); } - if( ( smash_furn && has_flag_furn( flag_FUNGUS, p ) ) || - ( smash_ter && has_flag_ter( flag_FUNGUS, p ) ) ) { + if( ( smash_furn && has_flag_furn( "FUNGUS", p ) ) || + ( smash_ter && has_flag_ter( "FUNGUS", p ) ) ) { fungal_effects( *g, *this ).create_spores( p ); } @@ -3084,8 +3093,7 @@ void map::bash_ter_furn( const tripoint &p, bash_params ¶ms ) soundfxid = "smash_success"; sound = bash->sound; // Set this now in case the ter_set below changes this - const bool will_collapse = smash_ter && has_flag( flag_SUPPORTS_ROOF, p ) && - !has_flag( flag_INDOORS, p ); + const bool will_collapse = smash_ter && has_flag( "SUPPORTS_ROOF", p ) && !has_flag( "INDOORS", p ); const bool tent = smash_furn && !bash->tent_centers.empty(); // Special code to collapse the tent if destroyed @@ -3165,7 +3173,7 @@ void map::bash_ter_furn( const tripoint &p, bash_params ¶ms ) } else { tripoint below( p.xy(), p.z - 1 ); const auto &ter_below = ter( below ).obj(); - if( bash->bash_below && ter_below.has_flag( flag_SUPPORTS_ROOF ) ) { + if( bash->bash_below && ter_below.has_flag( "SUPPORTS_ROOF" ) ) { // When bashing the tile below, don't allow bashing the floor bash_params params_below = params; // Make a copy params_below.bashing_from_above = true; @@ -3194,7 +3202,7 @@ void map::bash_ter_furn( const tripoint &p, bash_params ¶ms ) explosion_handler::explosion( p, bash->explosive, 0.8, false ); } - if( will_collapse && !has_flag( flag_SUPPORTS_ROOF, p ) ) { + if( will_collapse && !has_flag( "SUPPORTS_ROOF", p ) ) { collapse_at( p, params.silent, true, bash->explosive > 0 ); } @@ -3219,7 +3227,7 @@ bash_params map::bash( const tripoint &p, const int str, } bool bashed_sealed = false; - if( has_flag( flag_SEALED, p ) ) { + if( has_flag( "SEALED", p ) ) { bash_ter_furn( p, bsh ); bashed_sealed = true; } @@ -3255,7 +3263,7 @@ void map::bash_items( const tripoint &p, bash_params ¶ms ) bool smashed_glass = false; for( auto bashed_item = bashed_items.begin(); bashed_item != bashed_items.end(); ) { // the check for active suppresses Molotovs smashing themselves with their own explosion - if( bashed_item->made_of( material_glass ) && !bashed_item->active && one_in( 2 ) ) { + if( bashed_item->made_of( material_id( "glass" ) ) && !bashed_item->active && one_in( 2 ) ) { params.did_bash = true; smashed_glass = true; for( const item &bashed_content : bashed_item->contents ) { @@ -3393,7 +3401,7 @@ void map::shoot( const tripoint &p, projectile &proj, const bool hit_items ) float dam = initial_damage; const auto &ammo_effects = proj.proj_effects; - if( has_flag( flag_ALARMED, p ) && !g->timed_events.queued( TIMED_EVENT_WANTED ) ) { + if( has_flag( "ALARMED", p ) && !g->timed_events.queued( TIMED_EVENT_WANTED ) ) { sounds::sound( p, 30, sounds::sound_t::alarm, _( "an alarm sound!" ), true, "environment", "alarm" ); const tripoint abs = ms_to_sm_copy( getabs( p ) ); @@ -3678,7 +3686,7 @@ bool map::hit_with_fire( const tripoint &p ) } // non passable but flammable terrain, set it on fire - if( has_flag( flag_FLAMMABLE, p ) || has_flag( flag_FLAMMABLE_ASH, p ) ) { + if( has_flag( "FLAMMABLE", p ) || has_flag( "FLAMMABLE_ASH", p ) ) { add_field( p, fd_fire, 3 ); } return true; @@ -3689,7 +3697,7 @@ bool map::open_door( const tripoint &p, const bool inside, const bool check_only const auto &ter = this->ter( p ).obj(); const auto &furn = this->furn( p ).obj(); if( ter.open ) { - if( has_flag( flag_OPENCLOSE_INSIDE, p ) && !inside ) { + if( has_flag( "OPENCLOSE_INSIDE", p ) && !inside ) { return false; } @@ -3698,8 +3706,8 @@ bool map::open_door( const tripoint &p, const bool inside, const bool check_only "open_door", ter.id.str() ); ter_set( p, ter.open ); - if( ( g->u.has_trait( trait_SCHIZOPHRENIC ) || g->u.has_artifact_with( AEP_SCHIZO ) ) - && one_in( 50 ) && !ter.has_flag( flag_TRANSPARENT ) ) { + if( ( g->u.has_trait( trait_id( "SCHIZOPHRENIC" ) ) || g->u.has_artifact_with( AEP_SCHIZO ) ) + && one_in( 50 ) && !ter.has_flag( "TRANSPARENT" ) ) { tripoint mp = p + -2 * g->u.pos().xy() + tripoint( 2 * p.x, 2 * p.y, p.z ); g->spawn_hallucination( mp ); } @@ -3707,7 +3715,7 @@ bool map::open_door( const tripoint &p, const bool inside, const bool check_only return true; } else if( furn.open ) { - if( has_flag( flag_OPENCLOSE_INSIDE, p ) && !inside ) { + if( has_flag( "OPENCLOSE_INSIDE", p ) && !inside ) { return false; } @@ -3780,7 +3788,7 @@ void map::translate_radius( const ter_id &from, const ter_id &to, float radi, co bool map::close_door( const tripoint &p, const bool inside, const bool check_only ) { - if( has_flag( flag_OPENCLOSE_INSIDE, p ) && !inside ) { + if( has_flag( "OPENCLOSE_INSIDE", p ) && !inside ) { return false; } @@ -3957,8 +3965,8 @@ item &map::spawn_an_item( const tripoint &p, item new_item, new_item.charges = charges; } new_item = new_item.in_its_container(); - if( ( new_item.made_of( LIQUID ) && has_flag( flag_SWIMMABLE, p ) ) || - has_flag( flag_DESTROY_ITEM, p ) ) { + if( ( new_item.made_of( LIQUID ) && has_flag( "SWIMMABLE", p ) ) || + has_flag( "DESTROY_ITEM", p ) ) { return null_item_reference(); } @@ -3970,10 +3978,10 @@ item &map::spawn_an_item( const tripoint &p, item new_item, std::vector map::spawn_items( const tripoint &p, const std::vector &new_items ) { std::vector ret; - if( !inbounds( p ) || has_flag( flag_DESTROY_ITEM, p ) ) { + if( !inbounds( p ) || has_flag( "DESTROY_ITEM", p ) ) { return ret; } - const bool swimmable = has_flag( flag_SWIMMABLE, p ); + const bool swimmable = has_flag( "SWIMMABLE", p ); for( const item &new_item : new_items ) { if( new_item.made_of( LIQUID ) && swimmable ) { @@ -4015,7 +4023,7 @@ void map::spawn_item( const tripoint &p, const std::string &type_id, } // spawn the item item new_item( type_id, birthday ); - if( one_in( 3 ) && new_item.has_flag( flag_VARSIZE ) ) { + if( one_in( 3 ) && new_item.has_flag( "VARSIZE" ) ) { new_item.item_tags.insert( "FIT" ); } @@ -4049,12 +4057,12 @@ item &map::add_item_or_charges( const tripoint &pos, item obj, bool overflow ) } // Some tiles destroy items (e.g. lava) - if( has_flag( flag_DESTROY_ITEM, e ) ) { + if( has_flag( "DESTROY_ITEM", e ) ) { return false; } // Cannot drop liquids into tiles that are comprised of liquid - if( obj.made_of_from_type( LIQUID ) && has_flag( flag_SWIMMABLE, e ) ) { + if( obj.made_of_from_type( LIQUID ) && has_flag( "SWIMMABLE", e ) ) { return false; } @@ -4082,7 +4090,7 @@ item &map::add_item_or_charges( const tripoint &pos, item obj, bool overflow ) }; // Some items never exist on map as a discrete item (must be contained by another item) - if( obj.has_flag( flag_NO_DROP ) ) { + if( obj.has_flag( "NO_DROP" ) ) { return null_item_reference(); } @@ -4091,11 +4099,10 @@ item &map::add_item_or_charges( const tripoint &pos, item obj, bool overflow ) return null_item_reference(); } - if( ( !has_flag( flag_NOITEM, pos ) || ( has_flag( flag_LIQUIDCONT, pos ) && - obj.made_of( LIQUID ) ) ) + if( ( !has_flag( "NOITEM", pos ) || ( has_flag( "LIQUIDCONT", pos ) && obj.made_of( LIQUID ) ) ) && valid_limits( pos ) ) { // Pass map into on_drop, because this map may not be the global map object (in mapgen, for instance). - if( obj.made_of( LIQUID ) || !obj.has_flag( flag_DROP_ACTION_ONLY_IF_LIQUID ) ) { + if( obj.made_of( LIQUID ) || !obj.has_flag( "DROP_ACTION_ONLY_IF_LIQUID" ) ) { if( obj.on_drop( pos, *this ) ) { return null_item_reference(); } @@ -4120,14 +4127,14 @@ item &map::add_item_or_charges( const tripoint &pos, item obj, bool overflow ) if( route( pos, e, setting ).empty() ) { continue; } - if( obj.made_of( LIQUID ) || !obj.has_flag( flag_DROP_ACTION_ONLY_IF_LIQUID ) ) { + if( obj.made_of( LIQUID ) || !obj.has_flag( "DROP_ACTION_ONLY_IF_LIQUID" ) ) { if( obj.on_drop( e, *this ) ) { return null_item_reference(); } } if( !valid_tile( e ) || !valid_limits( e ) || - has_flag( flag_NOITEM, e ) || has_flag( flag_SEALED, e ) ) { + has_flag( "NOITEM", e ) || has_flag( "SEALED", e ) ) { continue; } return place_item( e ); @@ -4152,16 +4159,16 @@ item &map::add_item( const tripoint &p, item new_item ) new_item.process( nullptr, p, false ); } - if( new_item.made_of( LIQUID ) && has_flag( flag_SWIMMABLE, p ) ) { + if( new_item.made_of( LIQUID ) && has_flag( "SWIMMABLE", p ) ) { return null_item_reference(); } - if( has_flag( flag_DESTROY_ITEM, p ) ) { + if( has_flag( "DESTROY_ITEM", p ) ) { return null_item_reference(); } - if( new_item.has_flag( flag_ACT_IN_FIRE ) && get_field( p, fd_fire ) != nullptr ) { - if( new_item.has_flag( flag_BOMB ) && new_item.is_transformable() ) { + if( new_item.has_flag( "ACT_IN_FIRE" ) && get_field( p, fd_fire ) != nullptr ) { + if( new_item.has_flag( "BOMB" ) && new_item.is_transformable() ) { //Convert a bomb item into its transformable version, e.g. incendiary grenade -> active incendiary grenade new_item.convert( dynamic_cast ( new_item.type->get_use( "transform" )->get_actor_ptr() )->target ); @@ -4189,7 +4196,7 @@ item &map::add_item( const tripoint &p, item new_item ) item map::water_from( const tripoint &p ) { - if( has_flag( flag_SALT_WATER, p ) ) { + if( has_flag( "SALT_WATER", p ) ) { return item( "salt_water", 0, item::INFINITE_CHARGES ); } @@ -4330,7 +4337,7 @@ static void process_vehicle_items( vehicle &cur_veh, int part ) const time_duration time_left = cycle_time - n.age(); static const std::string no_sterile( "NO_STERILE" ); if( time_left <= 0_turns ) { - if( !n.has_flag( flag_NO_PACKED ) ) { + if( !n.has_flag( "NO_PACKED" ) ) { n.item_tags.erase( no_sterile ); } autoclave_finished = true; @@ -4347,9 +4354,9 @@ static void process_vehicle_items( vehicle &cur_veh, int part ) } if( cur_veh.part_with_feature( part, VPFLAG_RECHARGE, true ) >= 0 && - cur_veh.has_part( flag_RECHARGE, true ) ) { + cur_veh.has_part( "RECHARGE", true ) ) { for( auto &n : cur_veh.get_items( part ) ) { - if( !n.has_flag( flag_RECHARGE ) && !n.has_flag( flag_USE_UPS ) ) { + if( !n.has_flag( "RECHARGE" ) && !n.has_flag( "USE_UPS" ) ) { continue; } // TODO: BATTERIES this should be rewritten when vehicle power and items both use energy quantities @@ -4363,7 +4370,7 @@ static void process_vehicle_items( vehicle &cur_veh, int part ) if( n.is_battery() ) { n.set_energy( 1_kJ ); } else { - n.ammo_set( fuel_type_battery, n.ammo_remaining() + 1 ); + n.ammo_set( "battery", n.ammo_remaining() + 1 ); } } @@ -4486,7 +4493,7 @@ void map::process_items_in_vehicles( submap ¤t_submap, const int gridz, void map::process_items_in_vehicle( vehicle &cur_veh, submap ¤t_submap, const int /*gridz*/, map::map_process_func processor, const std::string &signal ) { - const bool engine_heater_is_on = cur_veh.has_part( flag_E_HEATER, true ) && cur_veh.engine_on; + const bool engine_heater_is_on = cur_veh.has_part( "E_HEATER", true ) && cur_veh.engine_on; for( const vpart_reference &vp : cur_veh.get_any_parts( VPFLAG_FLUIDTANK ) ) { vp.part().process_contents( vp.pos(), engine_heater_is_on ); } @@ -4635,7 +4642,7 @@ std::list map::use_amount_square( const tripoint &p, const itype_id &type, return ret; } - if( const cata::optional vp = veh_at( p ).part_with_feature( flag_CARGO, true ) ) { + if( const cata::optional vp = veh_at( p ).part_with_feature( "CARGO", true ) ) { std::list tmp = use_amount_stack( vp->vehicle().get_items( vp->part_index() ), type, quantity, filter ); ret.splice( ret.end(), tmp ); @@ -4678,7 +4685,7 @@ std::list use_charges_from_stack( Stack stack, const itype_id &type, int & static void use_charges_from_furn( const furn_t &f, const itype_id &type, int &quantity, map *m, const tripoint &p, std::list &ret, const std::function &filter ) { - if( m->has_flag( flag_LIQUIDCONT, p ) ) { + if( m->has_flag( "LIQUIDCONT", p ) ) { auto item_list = m->i_at( p ); auto current_item = item_list.begin(); for( ; current_item != item_list.end(); ++current_item ) { @@ -4781,13 +4788,13 @@ std::list map::use_charges( const tripoint &origin, const int range, continue; } - const cata::optional kpart = vp.part_with_feature( flag_FAUCET, true ); - const cata::optional weldpart = vp.part_with_feature( flag_WELDRIG, true ); - const cata::optional craftpart = vp.part_with_feature( flag_CRAFTRIG, true ); - const cata::optional forgepart = vp.part_with_feature( flag_FORGE, true ); - const cata::optional kilnpart = vp.part_with_feature( flag_KILN, true ); - const cata::optional chempart = vp.part_with_feature( flag_CHEMLAB, true ); - const cata::optional cargo = vp.part_with_feature( flag_CARGO, true ); + const cata::optional kpart = vp.part_with_feature( "FAUCET", true ); + const cata::optional weldpart = vp.part_with_feature( "WELDRIG", true ); + const cata::optional craftpart = vp.part_with_feature( "CRAFTRIG", true ); + const cata::optional forgepart = vp.part_with_feature( "FORGE", true ); + const cata::optional kilnpart = vp.part_with_feature( "KILN", true ); + const cata::optional chempart = vp.part_with_feature( "CHEMLAB", true ); + const cata::optional cargo = vp.part_with_feature( "CARGO", true ); if( kpart ) { // we have a faucet, now to see what to drain itype_id ftype = "null"; @@ -4941,7 +4948,7 @@ std::list > map::get_rc_items( const tripoint &p ) } auto items = i_at( pos ); for( auto &elem : items ) { - if( elem.has_flag( flag_RADIO_ACTIVATION ) || elem.has_flag( flag_RADIO_CONTAINER ) ) { + if( elem.has_flag( "RADIO_ACTIVATION" ) || elem.has_flag( "RADIO_CONTAINER" ) ) { rc_pairs.push_back( std::make_pair( pos, &elem ) ); } } @@ -6254,7 +6261,7 @@ bool map::clear_path( const tripoint &f, const tripoint &t, const int range, bool map::accessible_items( const tripoint &t ) const { - return !has_flag( flag_SEALED, t ) || has_flag( flag_LIQUIDCONT, t ); + return !has_flag( "SEALED", t ) || has_flag( "LIQUIDCONT", t ); } std::vector map::get_dir_circle( const tripoint &f, const tripoint &t ) const @@ -6774,7 +6781,7 @@ void map::fill_funnels( const tripoint &p, const time_point &since ) void map::grow_plant( const tripoint &p ) { const auto &furn = this->furn( p ).obj(); - if( !furn.has_flag( flag_PLANT ) ) { + if( !furn.has_flag( "PLANT" ) ) { return; } // Can't use item_stack::only_item() since there might be fertilizer @@ -6792,15 +6799,15 @@ void map::grow_plant( const tripoint &p ) } const time_duration plantEpoch = seed->get_plant_epoch(); if( seed->age() >= plantEpoch * furn.plant->growth_multiplier && - !furn.has_flag( flag_GROWTH_HARVEST ) ) { + !furn.has_flag( "GROWTH_HARVEST" ) ) { if( seed->age() < plantEpoch * 2 ) { - if( has_flag_furn( flag_GROWTH_SEEDLING, p ) ) { + if( has_flag_furn( "GROWTH_SEEDLING", p ) ) { return; } // Remove fertilizer if any map_stack::iterator fertilizer = std::find_if( items.begin(), items.end(), []( const item & it ) { - return it.has_flag( flag_FERTILIZER ); + return it.has_flag( "FERTILIZER" ); } ); if( fertilizer != items.end() ) { items.erase( fertilizer ); @@ -6809,13 +6816,13 @@ void map::grow_plant( const tripoint &p ) rotten_item_spawn( *seed, p ); furn_set( p, furn_str_id( furn.plant->transform ) ); } else if( seed->age() < plantEpoch * 3 * furn.plant->growth_multiplier ) { - if( has_flag_furn( flag_GROWTH_MATURE, p ) ) { + if( has_flag_furn( "GROWTH_MATURE", p ) ) { return; } // Remove fertilizer if any map_stack::iterator fertilizer = std::find_if( items.begin(), items.end(), []( const item & it ) { - return it.has_flag( flag_FERTILIZER ); + return it.has_flag( "FERTILIZER" ); } ); if( fertilizer != items.end() ) { items.erase( fertilizer ); @@ -6823,17 +6830,17 @@ void map::grow_plant( const tripoint &p ) rotten_item_spawn( *seed, p ); //You've skipped the seedling stage so roll monsters twice - if( !has_flag_furn( flag_GROWTH_SEEDLING, p ) ) { + if( !has_flag_furn( "GROWTH_SEEDLING", p ) ) { rotten_item_spawn( *seed, p ); } furn_set( p, furn_str_id( furn.plant->transform ) ); } else { //You've skipped two stages so roll monsters two times - if( has_flag_furn( flag_GROWTH_SEEDLING, p ) ) { + if( has_flag_furn( "GROWTH_SEEDLING", p ) ) { rotten_item_spawn( *seed, p ); rotten_item_spawn( *seed, p ); //One stage change - } else if( has_flag_furn( flag_GROWTH_MATURE, p ) ) { + } else if( has_flag_furn( "GROWTH_MATURE", p ) ) { rotten_item_spawn( *seed, p ); //Goes from seed to harvest in one check } else { @@ -6974,7 +6981,7 @@ void map::rad_scorch( const tripoint &p, const time_duration &time_since_last_ac // First destroy the farmable plants (those are furniture) // TODO: Rad-resistant mutant plants (that produce radioactive fruit) const furn_t &fid = furn( p ).obj(); - if( fid.has_flag( flag_PLANT ) ) { + if( fid.has_flag( "PLANT" ) ) { i_clear( p ); furn_set( p, f_null ); } @@ -6982,13 +6989,13 @@ void map::rad_scorch( const tripoint &p, const time_duration &time_since_last_ac const ter_id tid = ter( p ); // TODO: De-hardcode this static const std::map dies_into {{ - {t_grass, ter_dirt}, - {t_tree_young, ter_dirt}, - {t_tree_pine, ter_tree_deadpine}, - {t_tree_birch, ter_tree_birch_harvested}, - {t_tree_willow, ter_tree_willow_harvested}, - {t_tree_hickory, ter_tree_hickory_dead}, - {t_tree_hickory_harvested, ter_tree_hickory_dead}, + {t_grass, ter_str_id( "t_dirt" )}, + {t_tree_young, ter_str_id( "t_dirt" )}, + {t_tree_pine, ter_str_id( "t_tree_deadpine" )}, + {t_tree_birch, ter_str_id( "t_tree_birch_harvested" )}, + {t_tree_willow, ter_str_id( "t_tree_willow_harvested" )}, + {t_tree_hickory, ter_str_id( "t_tree_hickory_dead" )}, + {t_tree_hickory_harvested, ter_str_id( "t_tree_hickory_dead" )}, }}; const auto iter = dies_into.find( tid ); @@ -6998,10 +7005,10 @@ void map::rad_scorch( const tripoint &p, const time_duration &time_since_last_ac } const ter_t &tr = tid.obj(); - if( tr.has_flag( flag_SHRUB ) ) { + if( tr.has_flag( "SHRUB" ) ) { ter_set( p, t_dirt ); - } else if( tr.has_flag( flag_TREE ) ) { - ter_set( p, ter_tree_dead ); + } else if( tr.has_flag( "TREE" ) ) { + ter_set( p, ter_str_id( "t_tree_dead" ) ); } } @@ -7041,11 +7048,11 @@ void map::actualize( const tripoint &grid ) const tripoint pnt = sm_to_ms_copy( grid ) + point( x, y ); const point p( x, y ); const auto &furn = this->furn( pnt ).obj(); - if( furn.has_flag( flag_EMITTER ) ) { + if( furn.has_flag( "EMITTER" ) ) { field_furn_locs.push_back( pnt ); } // plants contain a seed item which must not be removed under any circumstances - if( !furn.has_flag( flag_DONT_REMOVE_ROTTEN ) ) { + if( !furn.has_flag( "DONT_REMOVE_ROTTEN" ) ) { remove_rotten_items( tmpsub->get_items( { x, y } ), pnt ); } diff --git a/src/map.h b/src/map.h index 8b6a6a87c26c8..7cdb3dcb50a9e 100644 --- a/src/map.h +++ b/src/map.h @@ -69,6 +69,7 @@ struct trap; enum direction : unsigned; enum class special_item_type : int; +using itype_id = std::string; template class visitable; struct regional_settings; diff --git a/src/map_extras.cpp b/src/map_extras.cpp index c228004b8b87d..caf08d0a45d4b 100644 --- a/src/map_extras.cpp +++ b/src/map_extras.cpp @@ -304,8 +304,8 @@ static void mx_helicopter( map &m, const tripoint &abs_sub ) 1 ); const auto controls_at = []( vehicle * wreckage, const tripoint & pos ) { - return !wreckage->get_parts_at( pos, flag_CONTROLS, part_status_flag::any ).empty() || - !wreckage->get_parts_at( pos, flag_CTRL_ELECTRONIC, part_status_flag::any ).empty(); + return !wreckage->get_parts_at( pos, "CONTROLS", part_status_flag::any ).empty() || + !wreckage->get_parts_at( pos, "CTRL_ELECTRONIC", part_status_flag::any ).empty(); }; if( wreckage != nullptr ) { diff --git a/src/map_field.cpp b/src/map_field.cpp index e2cb4c7eea861..a7c5529b087cb 100644 --- a/src/map_field.cpp +++ b/src/map_field.cpp @@ -1765,7 +1765,7 @@ void map::monster_in_field( monster &z ) if( z.made_of_any( Creature::cmat_flesh ) ) { dam += 3; } - if( z.made_of( material_veggy ) ) { + if( z.made_of( material_id( "veggy" ) ) ) { dam += 12; } if( z.made_of( LIQUID ) || z.made_of_any( Creature::cmat_flammable ) ) { @@ -1805,7 +1805,7 @@ void map::monster_in_field( monster &z ) z.moves -= rng( 10, 20 ); } // Plants suffer from smoke even worse - if( z.made_of( material_veggy ) ) { + if( z.made_of( material_id( "veggy" ) ) ) { z.moves -= rng( 1, cur.get_field_intensity() * 12 ); } } @@ -1822,7 +1822,7 @@ void map::monster_in_field( monster &z ) } else { z.add_effect( effect_stunned, rng( 1_turns, 5_turns ) ); } - if( z.made_of( material_veggy ) ) { + if( z.made_of( material_id( "veggy" ) ) ) { z.moves -= rng( cur.get_field_intensity() * 5, cur.get_field_intensity() * 12 ); dam += cur.get_field_intensity() * rng( 8, 14 ); } @@ -1864,7 +1864,7 @@ void map::monster_in_field( monster &z ) z.moves -= rng( 0, 15 ); dam += rng( 0, 12 ); } - if( z.made_of( material_veggy ) ) { + if( z.made_of( material_id( "veggy" ) ) ) { z.moves -= rng( cur.get_field_intensity() * 5, cur.get_field_intensity() * 12 ); dam *= cur.get_field_intensity(); } @@ -1879,7 +1879,7 @@ void map::monster_in_field( monster &z ) if( z.made_of_any( Creature::cmat_flesh ) ) { dam += 3; } - if( z.made_of( material_veggy ) ) { + if( z.made_of( material_id( "veggy" ) ) ) { dam += 12; } if( z.made_of( LIQUID ) || z.made_of_any( Creature::cmat_flammable ) ) { @@ -1910,7 +1910,7 @@ void map::monster_in_field( monster &z ) if( z.made_of_any( Creature::cmat_flesh ) ) { dam += 3; } - if( z.made_of( material_veggy ) ) { + if( z.made_of( material_id( "veggy" ) ) ) { dam += 12; } if( z.made_of( LIQUID ) || z.made_of_any( Creature::cmat_flammable ) ) { @@ -1937,7 +1937,7 @@ void map::monster_in_field( monster &z ) } } if( cur_field_type == fd_fungal_haze ) { - if( !z.type->in_species( species_FUNGUS ) && + if( !z.type->in_species( FUNGUS ) && !z.type->has_flag( MF_NO_BREATHE ) && !z.make_fungus() ) { // Don't insta-kill jabberwocks, that's silly @@ -1947,14 +1947,14 @@ void map::monster_in_field( monster &z ) } } if( cur_field_type == fd_fungicidal_gas ) { - if( z.type->in_species( species_FUNGUS ) ) { + if( z.type->in_species( FUNGUS ) ) { const int intensity = cur.get_field_intensity(); z.moves -= rng( 10 * intensity, 30 * intensity ); dam += rng( 4, 7 * intensity ); } } if( cur_field_type == fd_insecticidal_gas ) { - if( z.type->in_species( species_INSECT ) || z.type->in_species( species_SPIDER ) ) { + if( z.type->in_species( INSECT ) || z.type->in_species( SPIDER ) ) { const int intensity = cur.get_field_intensity(); z.moves -= rng( 10 * intensity, 30 * intensity ); dam += rng( 4, 7 * intensity ); diff --git a/src/mapdata.cpp b/src/mapdata.cpp index 7ee95d700cf20..298c59d0cb91c 100644 --- a/src/mapdata.cpp +++ b/src/mapdata.cpp @@ -1303,7 +1303,7 @@ void furn_t::check() const if( !close.is_valid() ) { debugmsg( "invalid furniture %s for closing %s", close.c_str(), id.c_str() ); } - if( has_flag( flag_EMITTER ) ) { + if( has_flag( "EMITTER" ) ) { if( emissions.empty() ) { debugmsg( "furn %s has the EMITTER flag, but no emissions were set", id.c_str() ); } else { diff --git a/src/mapdata.h b/src/mapdata.h index 18fd3da733942..bb1f1d138bad2 100644 --- a/src/mapdata.h +++ b/src/mapdata.h @@ -26,6 +26,8 @@ struct tripoint; using iexamine_function = void ( * )( player &, const tripoint & ); +using itype_id = std::string; + struct map_bash_info { int str_min; // min str(*) required to bash int str_max; // max str required: bash succeeds if str >= random # between str_min & str_max diff --git a/src/mapgen.cpp b/src/mapgen.cpp index e8df1bdc016ff..4e7e55f9f358e 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -1353,10 +1353,10 @@ class jmapgen_terrain : public jmapgen_piece void apply( mapgendata &dat, const jmapgen_int &x, const jmapgen_int &y ) const override { dat.m.ter_set( point( x.get(), y.get() ), id ); // Delete furniture if a wall was just placed over it. TODO: need to do anything for fluid, monsters? - if( dat.m.has_flag_ter( flag_WALL, point( x.get(), y.get() ) ) ) { + if( dat.m.has_flag_ter( "WALL", point( x.get(), y.get() ) ) ) { dat.m.furn_set( point( x.get(), y.get() ), f_null ); // and items, unless the wall has PLACE_ITEM flag indicating it stores things. - if( !dat.m.has_flag_ter( flag_PLACE_ITEM, point( x.get(), y.get() ) ) ) { + if( !dat.m.has_flag_ter( "PLACE_ITEM", point( x.get(), y.get() ) ) ) { dat.m.i_clear( tripoint( x.get(), y.get(), dat.m.get_abs_sub().z ) ); } } @@ -1504,7 +1504,7 @@ class jmapgen_sealed_item : public jmapgen_piece return; } - if( furn.has_flag( flag_PLANT ) ) { + if( furn.has_flag( "PLANT" ) ) { // plant furniture requires exactly one seed item within it if( item_spawner && item_group_spawner ) { debugmsg( "%s (with flag PLANT) specifies both an item and an item group. " @@ -2350,7 +2350,7 @@ void mapgen_function_json_base::check_common( const std::string &oter_name ) con { auto check_furn = [&]( const furn_id & id ) { const furn_t &furn = id.obj(); - if( furn.has_flag( flag_PLANT ) ) { + if( furn.has_flag( "PLANT" ) ) { debugmsg( "json mapgen for overmap terrain %s specifies furniture %s, which has flag " "PLANT. Such furniture must be specified in a \"sealed_item\" special.", oter_name, furn.id.str() ); @@ -3532,8 +3532,8 @@ void map::draw_lab( mapgendata &dat ) // We determine if a border isn't handled by checking the east-facing // border space where the door normally is -- it should be a wall or door. tripoint east_border( 23, 11, abs_sub.z ); - if( !has_flag_ter( flag_WALL, east_border ) && - !has_flag_ter( flag_DOOR, east_border ) ) { + if( !has_flag_ter( "WALL", east_border ) && + !has_flag_ter( "DOOR", east_border ) ) { // TODO: create a ter_reset function that does ter_set, // furn_set, and i_clear? ter_id lw_type = tower_lab ? t_reinforced_glass : t_concrete_wall; @@ -3790,7 +3790,7 @@ void map::draw_lab( mapgendata &dat ) if( i + j > 10 && i + j < 36 && abs( i - j ) < 13 ) { // Doors and walls get sometimes destroyed: // 100% at the edge, usually in a central cross, occasionally elsewhere. - if( ( has_flag_ter( flag_DOOR, point( i, j ) ) || has_flag_ter( flag_WALL, point( i, j ) ) ) ) { + if( ( has_flag_ter( "DOOR", point( i, j ) ) || has_flag_ter( "WALL", point( i, j ) ) ) ) { if( ( i == 0 || j == 0 || i == 23 || j == 23 ) || ( !one_in( 3 ) && ( i == 11 || i == 12 || j == 11 || j == 12 ) ) || one_in( 4 ) ) { @@ -3803,8 +3803,8 @@ void map::draw_lab( mapgendata &dat ) } // and then randomly destroy 5% of the remaining nonstairs. } else if( one_in( 20 ) && - !has_flag_ter( flag_GOES_DOWN, point( x, y ) ) && - !has_flag_ter( flag_GOES_UP, point( x, y ) ) ) { + !has_flag_ter( "GOES_DOWN", point( x, y ) ) && + !has_flag_ter( "GOES_UP", point( x, y ) ) ) { destroy( { i, j, abs_sub.z } ); // bashed squares can create dirt & floors, but we want rock floors. if( t_dirt == ter( point( i, j ) ) || t_floor == ter( point( i, j ) ) ) { @@ -3882,7 +3882,7 @@ void map::draw_lab( mapgendata &dat ) t_strconc_floor == ter( point( i, j ) ) || t_thconc_floor_olight == ter( point( i, j ) ) ) ) { ter_set( point( i, j ), fluid_type ); - } else if( has_flag_ter( flag_DOOR, point( i, j ) ) && !one_in( 3 ) ) { + } else if( has_flag_ter( "DOOR", point( i, j ) ) && !one_in( 3 ) ) { // We want the actual debris, but not the rubble marker or dirt. make_rubble( { i, j, abs_sub.z } ); ter_set( point( i, j ), fluid_type ); @@ -3907,7 +3907,7 @@ void map::draw_lab( mapgendata &dat ) if( t_thconc_floor == ter( p ) || t_strconc_floor == ter( p ) || t_thconc_floor_olight == ter( p ) ) { ter_set( p, fluid_type ); - } else if( has_flag_ter( flag_DOOR, p ) ) { + } else if( has_flag_ter( "DOOR", p ) ) { // We want the actual debris, but not the rubble marker or dirt. make_rubble( { p, abs_sub.z } ); ter_set( p, fluid_type ); @@ -3947,9 +3947,9 @@ void map::draw_lab( mapgendata &dat ) ARTPROP_GLOWING }; draw_rough_circle( [this]( const point & p ) { - if( has_flag_ter( flag_GOES_DOWN, p ) || - has_flag_ter( flag_GOES_UP, p ) || - has_flag_ter( flag_CONSOLE, p ) ) { + if( has_flag_ter( "GOES_DOWN", p ) || + has_flag_ter( "GOES_UP", p ) || + has_flag_ter( "CONSOLE", p ) ) { return; // spare stairs and consoles. } make_rubble( {p, abs_sub.z } ); @@ -3963,7 +3963,7 @@ void map::draw_lab( mapgendata &dat ) // radioactive accident. case 6: { tripoint center( rng( 6, SEEX * 2 - 7 ), rng( 6, SEEY * 2 - 7 ), abs_sub.z ); - if( has_flag_ter( flag_WALL, center.xy() ) ) { + if( has_flag_ter( "WALL", center.xy() ) ) { // just skip it, we don't want to risk embedding radiation out of sight. break; } @@ -3980,9 +3980,9 @@ void map::draw_lab( mapgendata &dat ) set_radiation( p, 50 ); }, center.xy(), 1 ); draw_circle( [this]( const point & p ) { - if( has_flag_ter( flag_GOES_DOWN, p ) || - has_flag_ter( flag_GOES_UP, p ) || - has_flag_ter( flag_CONSOLE, p ) ) { + if( has_flag_ter( "GOES_DOWN", p ) || + has_flag_ter( "GOES_UP", p ) || + has_flag_ter( "CONSOLE", p ) ) { return; // spare stairs and consoles. } make_rubble( {p, abs_sub.z } ); @@ -4013,14 +4013,14 @@ void map::draw_lab( mapgendata &dat ) for( int i = 0; i < EAST_EDGE; i++ ) { for( int j = 0; j < SOUTH_EDGE; j++ ) { // Create a mostly spread fungal area throughout entire lab. - if( !one_in( 5 ) && ( has_flag( flag_FLAT, point( i, j ) ) ) ) { + if( !one_in( 5 ) && ( has_flag( "FLAT", point( i, j ) ) ) ) { ter_set( point( i, j ), t_fungus_floor_in ); - if( has_flag_furn( flag_ORGANIC, point( i, j ) ) ) { + if( has_flag_furn( "ORGANIC", point( i, j ) ) ) { furn_set( point( i, j ), f_fungal_clump ); } - } else if( has_flag_ter( flag_DOOR, point( i, j ) ) && !one_in( 5 ) ) { + } else if( has_flag_ter( "DOOR", point( i, j ) ) && !one_in( 5 ) ) { ter_set( point( i, j ), t_fungus_floor_in ); - } else if( has_flag_ter( flag_WALL, point( i, j ) ) && one_in( 3 ) ) { + } else if( has_flag_ter( "WALL", point( i, j ) ) && one_in( 3 ) ) { ter_set( point( i, j ), t_fungus_wall ); } } @@ -4029,12 +4029,12 @@ void map::draw_lab( mapgendata &dat ) // Make a portal surrounded by more dense fungal stuff and a fungaloid. draw_rough_circle( [this]( const point & p ) { - if( has_flag_ter( flag_GOES_DOWN, p ) || - has_flag_ter( flag_GOES_UP, p ) || - has_flag_ter( flag_CONSOLE, p ) ) { + if( has_flag_ter( "GOES_DOWN", p ) || + has_flag_ter( "GOES_UP", p ) || + has_flag_ter( "CONSOLE", p ) ) { return; // spare stairs and consoles. } - if( has_flag_ter( flag_WALL, p ) ) { + if( has_flag_ter( "WALL", p ) ) { ter_set( p, t_fungus_wall ); } else { ter_set( p, t_fungus_floor_in ); @@ -4095,7 +4095,7 @@ void map::draw_lab( mapgendata &dat ) // We determine if a border isn't handled by checking the east-facing // border space where the door normally is -- it should be a wall or door. tripoint east_border( 23, 11, abs_sub.z ); - if( !has_flag_ter( flag_WALL, east_border ) && !has_flag_ter( flag_DOOR, east_border ) ) { + if( !has_flag_ter( "WALL", east_border ) && !has_flag_ter( "DOOR", east_border ) ) { // TODO: create a ter_reset function that does ter_set, furn_set, and i_clear? ter_id lw_type = tower_lab ? t_reinforced_glass : t_concrete_wall; ter_id tw_type = tower_lab ? t_reinforced_glass : t_concrete_wall; @@ -5887,9 +5887,9 @@ std::vector map::place_items( const items_location &loc, const int chanc auto is_valid_terrain = [this, ongrass]( int x, int y ) { auto &terrain = ter( point( x, y ) ).obj(); return terrain.movecost == 0 && - !terrain.has_flag( flag_PLACE_ITEM ) && + !terrain.has_flag( "PLACE_ITEM" ) && !ongrass && - !terrain.has_flag( flag_FLAT ); + !terrain.has_flag( "FLAT" ); }; int px = 0; @@ -6023,7 +6023,7 @@ std::unique_ptr map::add_vehicle_to_map( std::vector frame_indices = veh->all_parts_at_location( "structure" ); //Check for boat type vehicles that should be placeable in deep water - const bool can_float = size( veh->get_avail_parts( flag_FLOATS ) ) > 2; + const bool can_float = size( veh->get_avail_parts( "FLOATS" ) ) > 2; //When hitting a wall, only smash the vehicle once (but walls many times) bool needs_smashing = false; diff --git a/src/mapgen_functions.cpp b/src/mapgen_functions.cpp index 1d57959794a89..da44c07fc3d72 100644 --- a/src/mapgen_functions.cpp +++ b/src/mapgen_functions.cpp @@ -1972,7 +1972,7 @@ void mapgen_cave( mapgendata &dat ) m->place_spawns( GROUP_CAVE, 2, point( 6, 6 ), point( 18, 18 ), 1.0 ); } else { // We're above ground! // First, draw a forest - mapgendata forest_mapgen_dat( dat, oter_forest.id() ); + mapgendata forest_mapgen_dat( dat, oter_str_id( "forest" ).id() ); mapgen_forest( forest_mapgen_dat ); // Clear the center with some rocks square( m, t_rock, SEEX - 6, SEEY - 6, SEEX + 5, SEEY + 5 ); @@ -2933,7 +2933,7 @@ void mapgen_forest( mapgendata &dat ) void mapgen_forest_trail_straight( mapgendata &dat ) { map *const m = &dat.m; - mapgendata forest_mapgen_dat( dat, oter_forest_thick.id() ); + mapgendata forest_mapgen_dat( dat, oter_str_id( "forest_thick" ).id() ); mapgen_forest( forest_mapgen_dat ); const auto center_offset = [&dat]() { @@ -2971,7 +2971,7 @@ void mapgen_forest_trail_straight( mapgendata &dat ) void mapgen_forest_trail_curved( mapgendata &dat ) { map *const m = &dat.m; - mapgendata forest_mapgen_dat( dat, oter_forest_thick.id() ); + mapgendata forest_mapgen_dat( dat, oter_str_id( "forest_thick" ).id() ); mapgen_forest( forest_mapgen_dat ); const auto center_offset = [&dat]() { @@ -3017,7 +3017,7 @@ void mapgen_forest_trail_curved( mapgendata &dat ) void mapgen_forest_trail_tee( mapgendata &dat ) { map *const m = &dat.m; - mapgendata forest_mapgen_dat( dat, oter_forest_thick.id() ); + mapgendata forest_mapgen_dat( dat, oter_str_id( "forest_thick" ).id() ); mapgen_forest( forest_mapgen_dat ); const auto center_offset = [&dat]() { @@ -3062,7 +3062,7 @@ void mapgen_forest_trail_tee( mapgendata &dat ) void mapgen_forest_trail_four_way( mapgendata &dat ) { map *const m = &dat.m; - mapgendata forest_mapgen_dat( dat, oter_forest_thick.id() ); + mapgendata forest_mapgen_dat( dat, oter_str_id( "forest_thick" ).id() ); mapgen_forest( forest_mapgen_dat ); const auto center_offset = [&dat]() { @@ -3531,8 +3531,8 @@ static bool is_suitable_for_stairs( const map *const m, const tripoint &p ) const ter_t &p_ter = m->ter( p ).obj(); return - p_ter.has_flag( flag_INDOORS ) && - p_ter.has_flag( flag_FLAT ) && + p_ter.has_flag( "INDOORS" ) && + p_ter.has_flag( "FLAT" ) && m->furn( p ) == f_null; } @@ -3547,8 +3547,8 @@ static void stairs_debug_log( const map *const m, const std::string &msg, const << " terrain: " << p_ter.name() << " movecost: " << p_ter.movecost << " furniture: " << m->furn( p ).to_i() - << " indoors: " << p_ter.has_flag( flag_INDOORS ) - << " flat: " << p_ter.has_flag( flag_FLAT ) + << " indoors: " << p_ter.has_flag( "INDOORS" ) + << " flat: " << p_ter.has_flag( "FLAT" ) ; } diff --git a/src/martialarts.cpp b/src/martialarts.cpp index 8f95899f2972e..a5ae9dc53d148 100644 --- a/src/martialarts.cpp +++ b/src/martialarts.cpp @@ -834,7 +834,7 @@ bool martialart::weapon_valid( const item &it ) const return true; } - if( !strictly_unarmed && !strictly_melee && !it.is_null() && it.has_flag( flag_UNARMED_WEAPON ) ) { + if( !strictly_unarmed && !strictly_melee && !it.is_null() && it.has_flag( "UNARMED_WEAPON" ) ) { return true; } diff --git a/src/material.h b/src/material.h index ba110253a9642..60f81f51010ed 100644 --- a/src/material.h +++ b/src/material.h @@ -17,6 +17,7 @@ class material_type; enum damage_type : int; +using itype_id = std::string; class JsonObject; using mat_burn_products = std::vector>; diff --git a/src/melee.cpp b/src/melee.cpp index b477c88540951..5d6633a510d1b 100644 --- a/src/melee.cpp +++ b/src/melee.cpp @@ -56,7 +56,54 @@ #include "vehicle.h" #include "vpart_position.h" #include "mapdata.h" -#include "cata_string_consts.h" + +static const bionic_id bio_cqb( "bio_cqb" ); +static const bionic_id bio_memory( "bio_memory" ); + +static const matec_id tec_none( "tec_none" ); +static const matec_id WBLOCK_1( "WBLOCK_1" ); +static const matec_id WBLOCK_2( "WBLOCK_2" ); +static const matec_id WBLOCK_3( "WBLOCK_3" ); + +static const skill_id skill_stabbing( "stabbing" ); +static const skill_id skill_cutting( "cutting" ); +static const skill_id skill_unarmed( "unarmed" ); +static const skill_id skill_bashing( "bashing" ); +static const skill_id skill_melee( "melee" ); + +static const efftype_id effect_badpoison( "badpoison" ); +static const efftype_id effect_beartrap( "beartrap" ); +static const efftype_id effect_bouldering( "bouldering" ); +static const efftype_id effect_contacts( "contacts" ); +static const efftype_id effect_downed( "downed" ); +static const efftype_id effect_drunk( "drunk" ); +static const efftype_id effect_grabbed( "grabbed" ); +static const efftype_id effect_grabbing( "grabbing" ); +static const efftype_id effect_heavysnare( "heavysnare" ); +static const efftype_id effect_hit_by_player( "hit_by_player" ); +static const efftype_id effect_lightsnare( "lightsnare" ); +static const efftype_id effect_narcosis( "narcosis" ); +static const efftype_id effect_poison( "poison" ); +static const efftype_id effect_stunned( "stunned" ); + +static const trait_id trait_CLAWS( "CLAWS" ); +static const trait_id trait_CLAWS_RETRACT( "CLAWS_RETRACT" ); +static const trait_id trait_CLAWS_ST( "CLAWS_ST" ); +static const trait_id trait_CLAWS_TENTACLE( "CLAWS_TENTACLE" ); +static const trait_id trait_CLUMSY( "CLUMSY" ); +static const trait_id trait_DEBUG_NIGHTVISION( "DEBUG_NIGHTVISION" ); +static const trait_id trait_DEFT( "DEFT" ); +static const trait_id trait_DRUNKEN( "DRUNKEN" ); +static const trait_id trait_HYPEROPIC( "HYPEROPIC" ); +static const trait_id trait_NAILS( "NAILS" ); +static const trait_id trait_POISONOUS2( "POISONOUS2" ); +static const trait_id trait_POISONOUS( "POISONOUS" ); +static const trait_id trait_PROF_SKATER( "PROF_SKATER" ); +static const trait_id trait_THORNS( "THORNS" ); + +static const efftype_id effect_amigara( "amigara" ); + +static const species_id HUMAN( "HUMAN" ); void player_hit_message( player *attacker, const std::string &message, Creature &t, int dam, bool crit = false ); @@ -95,7 +142,7 @@ bool Character::is_armed() const bool Character::unarmed_attack() const { const item &weap = used_weapon(); - return weap.is_null() || weap.has_flag( flag_UNARMED_WEAPON ); + return weap.is_null() || weap.has_flag( "UNARMED_WEAPON" ); } bool player::handle_melee_wear( item &shield, float wear_multiplier ) @@ -109,7 +156,7 @@ bool player::handle_melee_wear( item &shield, float wear_multiplier ) } // UNBREAKABLE_MELEE items can't be damaged through melee combat usage. - if( shield.has_flag( flag_UNBREAKABLE_MELEE ) ) { + if( shield.has_flag( "UNBREAKABLE_MELEE" ) ) { return false; } @@ -127,7 +174,7 @@ bool player::handle_melee_wear( item &shield, float wear_multiplier ) itype_id weak_comp; itype_id big_comp = "null"; // Fragile items that fall apart easily when used as a weapon due to poor construction quality - if( shield.has_flag( flag_FRAGILE_MELEE ) ) { + if( shield.has_flag( "FRAGILE_MELEE" ) ) { const float fragile_factor = 6; int weak_chip = INT_MAX; units::volume big_vol = 0_ml; @@ -157,7 +204,7 @@ bool player::handle_melee_wear( item &shield, float wear_multiplier ) int damage_chance = static_cast( stat_factor * material_factor / wear_multiplier ); // DURABLE_MELEE items are made to hit stuff and they do it well, so they're considered to be a lot tougher // than other weapons made of the same materials. - if( shield.has_flag( flag_DURABLE_MELEE ) ) { + if( shield.has_flag( "DURABLE_MELEE" ) ) { damage_chance *= 4; } @@ -193,7 +240,7 @@ bool player::handle_melee_wear( item &shield, float wear_multiplier ) remove_item( shield ); // Breakdown fragile weapons into components - if( temp.has_flag( flag_FRAGILE_MELEE ) && !temp.components.empty() ) { + if( temp.has_flag( "FRAGILE_MELEE" ) && !temp.components.empty() ) { add_msg_player_or_npc( m_bad, _( "Your %s breaks apart!" ), _( "'s %s breaks apart!" ), str ); @@ -255,7 +302,7 @@ float player::hit_roll() const } // Farsightedness makes us hit worse - if( has_trait( trait_HYPEROPIC ) && !worn_with_flag( flag_FIX_FARSIGHT ) && + if( has_trait( trait_HYPEROPIC ) && !worn_with_flag( "FIX_FARSIGHT" ) && !has_effect( effect_contacts ) ) { hit -= 2.0f; } @@ -290,7 +337,7 @@ std::string Character::get_miss_reason() _( "Your torso encumbrance throws you off-balance." ), roll_remainder( encumb( bp_torso ) / 10.0 ) ); const int farsightedness = 2 * ( has_trait( trait_HYPEROPIC ) && - !worn_with_flag( flag_FIX_FARSIGHT ) && + !worn_with_flag( "FIX_FARSIGHT" ) && !has_effect( effect_contacts ) ); add_miss_reason( _( "You can't hit reliably due to your farsightedness." ), @@ -334,7 +381,8 @@ static void melee_train( player &p, int lo, int hi, const item &weap ) void player::melee_attack( Creature &t, bool allow_special ) { - melee_attack( t, allow_special, matec_no_technique_id ); + static const matec_id no_technique_id( "" ); + melee_attack( t, allow_special, no_technique_id ); } // Melee calculation is in parts. This sets up the attack, then in deal_melee_attack, @@ -436,20 +484,20 @@ void player::melee_attack( Creature &t, bool allow_special, const matec_id &forc } else if( has_force_technique ) { technique_id = force_technique; } else { - technique_id = matec_tec_none; + technique_id = tec_none; } // if you have two broken arms you aren't doing any martial arts // and your hits are not going to hurt very much if( get_working_arm_count() < 1 ) { - technique_id = matec_tec_none; + technique_id = tec_none; d.mult_damage( 0.1 ); } const ma_technique &technique = technique_id.obj(); // Handles effects as well; not done in melee_affect_* - if( technique.id != matec_tec_none ) { + if( technique.id != tec_none ) { perform_technique( technique, t, d, move_cost ); } @@ -484,7 +532,7 @@ void player::melee_attack( Creature &t, bool allow_special, const matec_id &forc std::string material = "flesh"; if( t.is_monster() ) { const monster *m = dynamic_cast( &t ); - if( m->made_of( material_steel ) ) { + if( m->made_of( material_id( "steel" ) ) ) { material = "steel"; } } @@ -551,10 +599,10 @@ void player::melee_attack( Creature &t, bool allow_special, const matec_id &forc void player::reach_attack( const tripoint &p ) { - matec_id force_technique = matec_tec_none; + matec_id force_technique = tec_none; /** @EFFECT_MELEE >5 allows WHIP_DISARM technique */ - if( weapon.has_flag( flag_WHIP ) && ( get_skill_level( skill_melee ) > 5 ) && one_in( 3 ) ) { - force_technique = matec_WHIP_DISARM; + if( weapon.has_flag( "WHIP" ) && ( get_skill_level( skill_melee ) > 5 ) && one_in( 3 ) ) { + force_technique = matec_id( "WHIP_DISARM" ); } Creature *critter = g->critter_at( p ); @@ -581,8 +629,8 @@ void player::reach_attack( const tripoint &p ) /** @EFFECT_STABBING increases ability to reach attack through fences */ } else if( g->m.impassable( p ) && // Fences etc. Spears can stab through those - !( weapon.has_flag( flag_SPEAR ) && - g->m.has_flag( flag_THIN_OBSTACLE, p ) && + !( weapon.has_flag( "SPEAR" ) && + g->m.has_flag( "THIN_OBSTACLE", p ) && x_in_y( skill, 10 ) ) ) { /** @EFFECT_STR increases bash effects when reach attacking past something */ g->m.bash( p, str_cur + weapon.damage_melee( DT_BASH ) ); @@ -711,7 +759,7 @@ float player::get_dodge() const { //If we're asleep or busy we can't dodge if( in_sleep_state() || has_effect( effect_narcosis ) || - has_effect( effect_winded ) ) { + has_effect( efftype_id( "winded" ) ) ) { return 0.0f; } @@ -735,9 +783,9 @@ float player::get_dodge() const } } - if( worn_with_flag( flag_ROLLER_INLINE ) || - worn_with_flag( flag_ROLLER_QUAD ) || - worn_with_flag( flag_ROLLER_ONE ) ) { + if( worn_with_flag( "ROLLER_INLINE" ) || + worn_with_flag( "ROLLER_QUAD" ) || + worn_with_flag( "ROLLER_ONE" ) ) { ret /= has_trait( trait_PROF_SKATER ) ? 2 : 5; } @@ -814,12 +862,12 @@ void player::roll_bash_damage( bool crit, damage_instance &di, bool average, if( left_empty || right_empty ) { float per_hand = 0.0f; for( const std::pair< const trait_id, trait_data > &mut : my_mutations ) { - if( mut.first->flags.count( flag_NEED_ACTIVE_TO_MELEE ) > 0 && !has_active_mutation( mut.first ) ) { + if( mut.first->flags.count( "NEED_ACTIVE_TO_MELEE" ) > 0 && !has_active_mutation( mut.first ) ) { continue; } float unarmed_bonus = 0.0f; const int bash_bonus = mut.first->bash_dmg_bonus; - if( mut.first->flags.count( flag_UNARMED_BONUS ) > 0 && bash_bonus > 0 ) { + if( mut.first->flags.count( "UNARMED_BONUS" ) > 0 && bash_bonus > 0 ) { unarmed_bonus += std::min( get_skill_level( skill_unarmed ) / 2, 4 ); } per_hand += bash_bonus + unarmed_bonus; @@ -894,16 +942,16 @@ void player::roll_cut_damage( bool crit, damage_instance &di, bool average, cons weap.is_null(); if( left_empty || right_empty ) { float per_hand = 0.0f; - if( has_bionic( bio_razors ) ) { + if( has_bionic( bionic_id( "bio_razors" ) ) ) { per_hand += 2; } for( const std::pair< const trait_id, trait_data > &mut : my_mutations ) { - if( mut.first->flags.count( flag_NEED_ACTIVE_TO_MELEE ) > 0 && !has_active_mutation( mut.first ) ) { + if( mut.first->flags.count( "NEED_ACTIVE_TO_MELEE" ) > 0 && !has_active_mutation( mut.first ) ) { continue; } float unarmed_bonus = 0.0f; const int cut_bonus = mut.first->cut_dmg_bonus; - if( mut.first->flags.count( flag_UNARMED_BONUS ) > 0 && cut_bonus > 0 ) { + if( mut.first->flags.count( "UNARMED_BONUS" ) > 0 && cut_bonus > 0 ) { unarmed_bonus += std::min( get_skill_level( skill_unarmed ) / 2, 4 ); } per_hand += cut_bonus + unarmed_bonus; @@ -973,7 +1021,7 @@ void player::roll_stab_damage( bool crit, damage_instance &di, bool average, per_hand += .5; } - if( has_bionic( bio_razors ) ) { + if( has_bionic( bionic_id( "bio_razors" ) ) ) { per_hand += 2; } @@ -1095,7 +1143,7 @@ matec_id player::pick_technique( Creature &t, const item &weap, } // Don't apply humanoid-only techniques to non-humanoids - if( tec.human_target && !t.in_species( species_HUMAN ) ) { + if( tec.human_target && !t.in_species( HUMAN ) ) { continue; } // if aoe, check if there are valid targets @@ -1120,7 +1168,7 @@ matec_id player::pick_technique( Creature &t, const item &weap, } } - return random_entry( possible, matec_tec_none ); + return random_entry( possible, tec_none ); } bool player::valid_aoe_technique( Creature &t, const ma_technique &technique ) @@ -1348,7 +1396,7 @@ void player::perform_technique( const ma_technique &technique, Creature &t, dama if( technique.knockback_follow ) { const optional_vpart_position vp0 = g->m.veh_at( pos() ); vehicle *const veh0 = veh_pointer_or_null( vp0 ); - bool to_swimmable = g->m.has_flag( flag_SWIMMABLE, prev_pos ); + bool to_swimmable = g->m.has_flag( "SWIMMABLE", prev_pos ); bool to_deepwater = g->m.has_flag( TFLAG_DEEP_WATER, prev_pos ); // Check if it's possible to move to the new tile @@ -1429,7 +1477,7 @@ void player::perform_technique( const ma_technique &technique, Creature &t, dama if( has_active_bionic( bio_cqb ) && !martial_arts_data.knows_selected_style() ) { /** @EFFECT_INT slightly increases chance to learn techniques when using CQB bionic */ // Enhanced Memory Banks bionic doubles chance to learn martial art - const int bionic_boost = has_active_bionic( bio_memory ) ? 2 : 1; + const int bionic_boost = has_active_bionic( bionic_id( bio_memory ) ) ? 2 : 1; if( one_in( ( 1400 - ( get_int() * 50 ) ) / bionic_boost ) ) { martial_arts_data.learn_current_style_CQB( is_player() ); } @@ -1439,13 +1487,13 @@ void player::perform_technique( const ma_technique &technique, Creature &t, dama static int blocking_ability( const item &shield ) { int block_bonus = 0; - if( shield.has_technique( matec_WBLOCK_3 ) ) { + if( shield.has_technique( WBLOCK_3 ) ) { block_bonus = 10; - } else if( shield.has_technique( matec_WBLOCK_2 ) ) { + } else if( shield.has_technique( WBLOCK_2 ) ) { block_bonus = 6; - } else if( shield.has_technique( matec_WBLOCK_1 ) ) { + } else if( shield.has_technique( WBLOCK_1 ) ) { block_bonus = 4; - } else if( shield.has_flag( flag_BLOCK_WHILE_WORN ) ) { + } else if( shield.has_flag( "BLOCK_WHILE_WORN" ) ) { block_bonus = 2; } return block_bonus; @@ -1459,7 +1507,7 @@ item &player::best_shield() best_value = best_value == 2 ? 0 : best_value; item *best = best_value > 0 ? &weapon : &null_item_reference(); for( item &shield : worn ) { - if( shield.has_flag( flag_BLOCK_WHILE_WORN ) && blocking_ability( shield ) >= best_value ) { + if( shield.has_flag( "BLOCK_WHILE_WORN" ) && blocking_ability( shield ) >= best_value ) { best = &shield; } } @@ -1474,7 +1522,7 @@ bool player::block_hit( Creature *source, body_part &bp_hit, damage_instance &da // TODO: It should probably be moved to the section that regenerates blocks // and to effects that disallow blocking if( blocks_left < 1 || in_sleep_state() || has_effect( effect_narcosis ) || - has_effect( effect_winded ) ) { + has_effect( efftype_id( "winded" ) ) ) { return false; } blocks_left--; @@ -1489,7 +1537,7 @@ bool player::block_hit( Creature *source, body_part &bp_hit, damage_instance &da // Extract this to make it easier to implement shields/multiwield later item &shield = best_shield(); bool conductive_shield = shield.conductive(); - bool unarmed = shield.has_flag( flag_UNARMED_WEAPON ); + bool unarmed = shield.has_flag( "UNARMED_WEAPON" ); // This gets us a number between: // str ~0 + skill 0 = 0 @@ -1638,10 +1686,10 @@ bool player::block_hit( Creature *source, body_part &bp_hit, damage_instance &da // Check if we have any block counters matec_id tec = pick_technique( *source, shield, false, false, true ); - if( tec != matec_tec_none && !is_dead_state() ) { + if( tec != tec_none && !is_dead_state() ) { if( get_stamina() < get_stamina_max() / 3 ) { add_msg( m_bad, _( "You try to counterattack but you are too exhausted!" ) ); - } else if( weapon.made_of( material_glass ) ) { + } else if( weapon.made_of( material_id( "glass" ) ) ) { add_msg( m_bad, _( "The item you are wielding is too fragile to counterattack with!" ) ); } else { melee_attack( *source, false, tec ); @@ -1684,7 +1732,7 @@ std::string player::melee_special_effects( Creature &t, damage_instance &d, item std::string target = t.disp_name(); - if( has_active_bionic( bio_shock ) && get_power_level() >= 2_kJ && + if( has_active_bionic( bionic_id( "bio_shock" ) ) && get_power_level() >= 2_kJ && ( !is_armed() || weapon.conductive() ) ) { mod_power_level( -2_kJ ); d.add_damage( DT_ELECTRIC, rng( 2, 10 ) ); @@ -1696,7 +1744,7 @@ std::string player::melee_special_effects( Creature &t, damage_instance &d, item } } - if( has_active_bionic( bio_heat_absorb ) && !is_armed() && t.is_warm() ) { + if( has_active_bionic( bionic_id( "bio_heat_absorb" ) ) && !is_armed() && t.is_warm() ) { mod_power_level( 3_kJ ); d.add_damage( DT_COLD, 3 ); if( is_player() ) { @@ -1706,7 +1754,7 @@ std::string player::melee_special_effects( Creature &t, damage_instance &d, item } } - if( weapon.has_flag( flag_FLAMING ) ) { + if( weapon.has_flag( "FLAMING" ) ) { d.add_damage( DT_HEAT, rng( 1, 8 ) ); if( is_player() ) { @@ -1717,7 +1765,7 @@ std::string player::melee_special_effects( Creature &t, damage_instance &d, item } //Hurting the wielder from poorly-chosen weapons - if( weap.has_flag( flag_HURT_WHEN_WIELDED ) && x_in_y( 2, 3 ) ) { + if( weap.has_flag( "HURT_WHEN_WIELDED" ) && x_in_y( 2, 3 ) ) { add_msg_if_player( m_bad, _( "The %s cuts your hand!" ), weap.tname() ); deal_damage( nullptr, bp_hand_r, damage_instance::physical( 0, weap.damage_melee( DT_CUT ), 0 ) ); if( weap.is_two_handed( *this ) ) { // Hurt left hand too, if it was big @@ -1727,7 +1775,7 @@ std::string player::melee_special_effects( Creature &t, damage_instance &d, item const int vol = weap.volume() / 250_ml; // Glass weapons shatter sometimes - if( weap.made_of( material_glass ) && + if( weap.made_of( material_id( "glass" ) ) && /** @EFFECT_STR increases chance of breaking glass weapons (NEGATIVE) */ rng( 0, vol + 8 ) < vol + str_cur ) { if( is_player() ) { @@ -1766,7 +1814,7 @@ std::string player::melee_special_effects( Creature &t, damage_instance &d, item static damage_instance hardcoded_mutation_attack( const player &u, const trait_id &id ) { - if( id == trait_BEAK_PECK ) { + if( id == "BEAK_PECK" ) { // method open to improvement, please feel free to suggest // a better way to simulate target's anti-peck efforts /** @EFFECT_DEX increases number of hits with BEAK_PECK */ @@ -1777,15 +1825,15 @@ static damage_instance hardcoded_mutation_attack( const player &u, const trait_i return damage_instance::physical( 0, 0, num_hits * 10 ); } - if( id == trait_ARM_TENTACLES || id == trait_ARM_TENTACLES_4 || id == trait_ARM_TENTACLES_8 ) { + if( id == "ARM_TENTACLES" || id == "ARM_TENTACLES_4" || id == "ARM_TENTACLES_8" ) { int num_attacks = 1; - if( id == trait_ARM_TENTACLES_4 ) { + if( id == "ARM_TENTACLES_4" ) { num_attacks = 3; - } else if( id == trait_ARM_TENTACLES_8 ) { + } else if( id == "ARM_TENTACLES_8" ) { num_attacks = 7; } // Note: we're counting arms, so we want wielded item here, not weapon used for attack - if( u.weapon.is_two_handed( u ) || !u.has_two_arms() || u.worn_with_flag( flag_RESTRICT_HANDS ) ) { + if( u.weapon.is_two_handed( u ) || !u.has_two_arms() || u.worn_with_flag( "RESTRICT_HANDS" ) ) { num_attacks--; } @@ -1806,8 +1854,8 @@ static damage_instance hardcoded_mutation_attack( const player &u, const trait_i return ret; } - if( id == trait_VINES2 || id == trait_VINES3 ) { - const int num_attacks = id == trait_VINES2 ? 2 : 3; + if( id == "VINES2" || id == "VINES3" ) { + const int num_attacks = id == "VINES2" ? 2 : 3; /** @EFFECT_STR increases damage with VINES* */ damage_instance ret; ret.add_damage( DT_BASH, u.get_str() / 2.0f, 0, 1.0f, num_attacks ); @@ -1824,7 +1872,7 @@ std::vector player::mutation_attacks( Creature &t ) const std::string target = t.disp_name(); - const auto usable_body_parts = exclusive_flag_coverage( flag_ALLOWS_NATURAL_ATTACKS ); + const auto usable_body_parts = exclusive_flag_coverage( "ALLOWS_NATURAL_ATTACKS" ); const int unarmed = get_skill_level( skill_unarmed ); for( const auto &pr : my_mutations ) { @@ -1970,7 +2018,7 @@ std::string melee_message( const ma_technique &tec, player &p, const dealt_damag const int cut_dam = ddi.type_damage( DT_CUT ); const int stab_dam = ddi.type_damage( DT_STAB ); - if( tec.id != matec_tec_none ) { + if( tec.id != tec_none ) { std::string message; if( p.is_npc() ) { message = _( tec.npc_message ); @@ -2080,7 +2128,7 @@ void player_hit_message( player *attacker, const std::string &message, int player::attack_speed( const item &weap ) const { const int base_move_cost = weap.attack_time() / 2; - const int melee_skill = has_active_bionic( bio_cqb ) ? BIO_CQB_LEVEL : get_skill_level( + const int melee_skill = has_active_bionic( bionic_id( bio_cqb ) ) ? BIO_CQB_LEVEL : get_skill_level( skill_melee ); /** @EFFECT_MELEE increases melee attack speed */ const int skill_cost = static_cast( ( base_move_cost * ( 15 - melee_skill ) / 15 ) ); @@ -2159,8 +2207,8 @@ double player::melee_value( const item &weap ) const } int move_cost = attack_speed( weap ); - - if( weap.has_technique( matec_RAPID ) ) { + static const matec_id rapid_strike( "RAPID" ); + if( weap.has_technique( rapid_strike ) ) { move_cost /= 2; avg_dmg *= 0.66; } diff --git a/src/mission_start.cpp b/src/mission_start.cpp index 808c93a695205..1e947909cd1f8 100644 --- a/src/mission_start.cpp +++ b/src/mission_start.cpp @@ -142,7 +142,7 @@ static tripoint find_potential_computer_point( const tinymap &compmap ) } int wall = 0; for( const tripoint &p2 : compmap.points_in_radius( p, 1 ) ) { - if( compmap.has_flag_ter( flag_WALL, p2 ) ) { + if( compmap.has_flag_ter( "WALL", p2 ) ) { wall++; } } @@ -564,7 +564,7 @@ void mission_start::ranch_scavenger_3( mission *miss ) bay.spawn_item( point( 17, 21 ), "wheel_wide" ); bay.spawn_item( point( 23, 18 ), "v8_combustion" ); bay.furn_set( point( 23, 17 ), furn_str_id( "f_arcade_machine" ) ); - bay.ter_set( point( 23, 16 ), ter_machinery_light ); + bay.ter_set( point( 23, 16 ), ter_str_id( "t_machinery_light" ) ); bay.furn_set( point( 20, 21 ), f_woodstove ); bay.save(); diff --git a/src/monattack.cpp b/src/monattack.cpp index a3aca740be2d4..0e52da8abb402 100644 --- a/src/monattack.cpp +++ b/src/monattack.cpp @@ -192,7 +192,7 @@ bool mattack::none( monster * ) bool mattack::eat_crop( monster *z ) { for( const auto &p : g->m.points_in_radius( z->pos(), 1 ) ) { - if( g->m.has_flag( flag_PLANT, p ) && one_in( 4 ) ) { + if( g->m.has_flag( "PLANT", p ) && one_in( 4 ) ) { g->m.furn_set( p, furn_str_id( g->m.furn( p )->plant->base ) ); g->m.i_clear( p ); return true; @@ -205,7 +205,7 @@ bool mattack::eat_food( monster *z ) { for( const auto &p : g->m.points_in_radius( z->pos(), 1 ) ) { //Protect crop seeds from carnivores, give omnivores eat_crop special also - if( g->m.has_flag( flag_PLANT, p ) ) { + if( g->m.has_flag( "PLANT", p ) ) { continue; } auto items = g->m.i_at( p ); @@ -672,11 +672,11 @@ bool mattack::pull_metal_weapon( monster *z ) player *foe = dynamic_cast< player * >( target ); if( foe != nullptr ) { // Wielded steel or iron items except for built-in things like bionic claws or monomolecular blade - if( !foe->weapon.has_flag( flag_NO_UNWIELD ) && - ( foe->weapon.made_of( material_iron ) || - foe->weapon.made_of( material_hardsteel ) || - foe->weapon.made_of( material_steel ) || - foe->weapon.made_of( material_budget_steel ) ) ) { + if( !foe->weapon.has_flag( "NO_UNWIELD" ) && + ( foe->weapon.made_of( material_id( "iron" ) ) || + foe->weapon.made_of( material_id( "hardsteel" ) ) || + foe->weapon.made_of( material_id( "steel" ) ) || + foe->weapon.made_of( material_id( "budget_steel" ) ) ) ) { int wp_skill = foe->get_skill_level( skill_melee ); // It takes a while z->moves -= att_cost_pull; @@ -832,7 +832,7 @@ bool mattack::resurrect( monster *z ) for( auto &i : g->m.i_at( p ) ) { const mtype *mt = i.get_mtype(); if( !( i.is_corpse() && i.can_revive() && i.active && mt->has_flag( MF_REVIVES ) && - mt->in_species( species_ZOMBIE ) && !mt->has_flag( MF_NO_NECRO ) ) ) { + mt->in_species( ZOMBIE ) && !mt->has_flag( MF_NO_NECRO ) ) ) { continue; } @@ -873,8 +873,7 @@ bool mattack::resurrect( monster *z ) // Check to see if there are any nearby living zombies to see if we should get angry const bool allies = g->get_creature_if( [&]( const Creature & critter ) { const monster *const zed = dynamic_cast( &critter ); - return zed && zed != z && zed->type->has_flag( MF_REVIVES ) && - zed->type->in_species( species_ZOMBIE ) && + return zed && zed != z && zed->type->has_flag( MF_REVIVES ) && zed->type->in_species( ZOMBIE ) && z->attitude_to( *zed ) == Creature::Attitude::A_FRIENDLY && within_target_range( z, zed, 10 ); } ); @@ -1277,8 +1276,8 @@ bool mattack::growplants( monster *z ) for( const auto &p : g->m.points_in_radius( z->pos(), 3 ) ) { // Only affect natural, dirtlike terrain or trees. - if( !( g->m.has_flag_ter( flag_DIGGABLE, p ) || - g->m.has_flag_ter( flag_TREE, p ) || + if( !( g->m.has_flag_ter( "DIGGABLE", p ) || + g->m.has_flag_ter( "TREE", p ) || g->m.ter( p ) == t_tree_young ) ) { continue; } @@ -2107,7 +2106,7 @@ bool mattack::plant( monster *z ) { fungal_effects fe( *g, g->m ); const tripoint monster_position = z->pos(); - const bool is_fungi = g->m.has_flag_ter( flag_FUNGUS, monster_position ); + const bool is_fungi = g->m.has_flag_ter( "FUNGUS", monster_position ); // Spores taking seed and growing into a fungaloid fe.spread_fungus( monster_position ); if( is_fungi && one_in( 10 + g->num_creatures() / 5 ) ) { @@ -2221,7 +2220,7 @@ bool mattack::formblob( monster *z ) monster &othermon = *( dynamic_cast( critter ) ); // Hit a monster. If it's a blob, give it our speed. Otherwise, blobify it? - if( z->get_speed_base() > 40 && othermon.type->in_species( species_BLOB ) ) { + if( z->get_speed_base() > 40 && othermon.type->in_species( BLOB ) ) { if( othermon.type->id == mon_blob_brain ) { // Brain blobs don't get sped up, they heal at the cost of the other blob. // But only if they are hurt badly. @@ -2240,9 +2239,9 @@ bool mattack::formblob( monster *z ) } else if( othermon.type->id == mon_blob && othermon.get_speed_base() >= 80 ) { poly_keep_speed( othermon, mon_blob_large ); } - } else if( ( othermon.made_of( material_flesh ) || - othermon.made_of( material_veggy ) || - othermon.made_of( material_iflesh ) ) && + } else if( ( othermon.made_of( material_id( "flesh" ) ) || + othermon.made_of( material_id( "veggy" ) ) || + othermon.made_of( material_id( "iflesh" ) ) ) && rng( 0, z->get_hp() ) > rng( othermon.get_hp() / 2, othermon.get_hp() ) ) { didit = blobify( *z, othermon ); } @@ -2279,7 +2278,7 @@ bool mattack::callblobs( monster *z ) std::list allies; std::vector nearby_points = closest_tripoints_first( z->pos(), 3 ); for( monster &candidate : g->all_monsters() ) { - if( candidate.type->in_species( species_BLOB ) && candidate.type->id != mon_blob_brain ) { + if( candidate.type->in_species( BLOB ) && candidate.type->id != mon_blob_brain ) { // Just give the allies consistent assignments. // Don't worry about trying to make the orders optimal. allies.push_back( &candidate ); @@ -2312,7 +2311,7 @@ bool mattack::jackson( monster *z ) std::list allies; std::vector nearby_points = closest_tripoints_first( z->pos(), 3 ); for( monster &candidate : g->all_monsters() ) { - if( candidate.type->in_species( species_ZOMBIE ) && candidate.type->id != mon_zombie_jackson ) { + if( candidate.type->in_species( ZOMBIE ) && candidate.type->id != mon_zombie_jackson ) { // Just give the allies consistent assignments. // Don't worry about trying to make the orders optimal. allies.push_back( &candidate ); @@ -2725,8 +2724,8 @@ bool mattack::stare( monster *z ) z->moves -= 200; if( z->sees( g->u ) ) { //dimensional effects don't take against dimensionally anchored foes. - if( g->u.worn_with_flag( flag_DIMENSIONAL_ANCHOR ) || - g->u.has_effect_with_flag( flag_DIMENSIONAL_ANCHOR ) ) { + if( g->u.worn_with_flag( "DIMENSIONAL_ANCHOR" ) || + g->u.has_effect_with_flag( "DIMENSIONAL_ANCHOR" ) ) { add_msg( m_warning, _( "You feel a strange reverberation across your body." ) ); return true; } @@ -2748,7 +2747,7 @@ bool mattack::fear_paralyze( monster *z ) return false; } if( g->u.sees( *z ) && !g->u.has_effect( effect_fearparalyze ) ) { - if( g->u.has_artifact_with( AEP_PSYSHIELD ) || ( g->u.worn_with_flag( flag_PSYSHIELD_PARTIAL ) && + if( g->u.has_artifact_with( AEP_PSYSHIELD ) || ( g->u.worn_with_flag( "PSYSHIELD_PARTIAL" ) && one_in( 4 ) ) ) { add_msg( _( "The %s probes your mind, but is rebuffed!" ), z->name() ); ///\EFFECT_INT decreases chance of being paralyzed by fear attack @@ -3377,7 +3376,7 @@ bool mattack::searchlight( monster *z ) for( int x = zposx - 24; x < zposx + 24; x++ ) { for( int y = zposy - 24; y < zposy + 24; y++ ) { tripoint dest( x, y, z->posz() ); - if( g->m.ter( dest ) == ter_plut_generator ) { + if( g->m.ter( dest ) == ter_str_id( "t_plut_generator" ) ) { generator_ok = true; } } @@ -4100,8 +4099,8 @@ bool mattack::absorb_meat( monster *z ) auto items = g->m.i_at( p ); for( auto ¤t_item : items ) { const material_id current_item_material = current_item.get_base_material().ident(); - if( current_item_material == material_flesh || - current_item_material == material_hflesh ) { + if( current_item_material == material_id( "flesh" ) || + current_item_material == material_id( "hflesh" ) ) { //We have something meaty! Calculate how much it will heal the monster const int ml_of_meat = units::to_milliliter( current_item.volume() ); const int total_charges = current_item.count(); @@ -4789,7 +4788,7 @@ bool mattack::leech_spawner( monster *z ) const bool u_see = g->u.sees( *z ); std::list allies; for( monster &candidate : g->all_monsters() ) { - if( candidate.in_species( species_LEECH_PLANT ) && !candidate.has_flag( MF_IMMOBILE ) ) { + if( candidate.in_species( LEECH_PLANT ) && !candidate.has_flag( MF_IMMOBILE ) ) { allies.push_back( &candidate ); } } @@ -4822,7 +4821,7 @@ bool mattack::mon_leech_evolution( monster *z ) const bool is_queen = z->has_flag( MF_QUEEN ); std::list queens; for( monster &candidate : g->all_monsters() ) { - if( candidate.in_species( species_LEECH_PLANT ) && candidate.has_flag( MF_QUEEN ) && + if( candidate.in_species( LEECH_PLANT ) && candidate.has_flag( MF_QUEEN ) && rl_dist( z->pos(), candidate.pos() ) < 35 ) { queens.push_back( &candidate ); } diff --git a/src/mondeath.cpp b/src/mondeath.cpp index ad412d8961852..75c6b7a1e1739 100644 --- a/src/mondeath.cpp +++ b/src/mondeath.cpp @@ -55,7 +55,7 @@ void mdeath::normal( monster &z ) return; } - if( z.type->in_species( species_ZOMBIE ) ) { + if( z.type->in_species( ZOMBIE ) ) { sfx::play_variant_sound( "mon_death", "zombie_death", sfx::get_heard_volume( z.pos() ) ); } @@ -189,7 +189,7 @@ void mdeath::splatter( monster &z ) item corpse = item::make_corpse( z.type->id, calendar::turn, z.unique_name, z.get_upgrade_time() ); // Set corpse to damage that aligns with being pulped corpse.set_damage( 4000 ); - corpse.set_flag( flag_GIBBED ); + corpse.set_flag( "GIBBED" ); if( z.has_effect( effect_no_ammo ) ) { corpse.set_var( "no_ammo", "no_ammo" ); } @@ -381,8 +381,8 @@ void mdeath::guilt( monster &z ) guilt_tresholds[50] = _( "You regret killing %s." ); guilt_tresholds[25] = _( "You feel remorse for killing %s." ); - if( g->u.has_trait( trait_PSYCHOPATH ) || g->u.has_trait_flag( flag_PRED3 ) || - g->u.has_trait_flag( flag_PRED4 ) || g->u.has_trait( trait_KILLER ) ) { + if( g->u.has_trait( trait_PSYCHOPATH ) || g->u.has_trait_flag( "PRED3" ) || + g->u.has_trait_flag( "PRED4" ) || g->u.has_trait( trait_KILLER ) ) { return; } if( rl_dist( z.pos(), g->u.pos() ) > MAX_GUILT_DISTANCE ) { @@ -401,7 +401,7 @@ void mdeath::guilt( monster &z ) "about their deaths anymore." ), z.name( maxKills ) ); } return; - } else if( ( g->u.has_trait_flag( flag_PRED1 ) ) || ( g->u.has_trait_flag( flag_PRED2 ) ) ) { + } else if( ( g->u.has_trait_flag( "PRED1" ) ) || ( g->u.has_trait_flag( "PRED2" ) ) ) { msg = ( _( "Culling the weak is distasteful, but necessary." ) ); msgtype = m_neutral; } else { @@ -420,13 +420,13 @@ void mdeath::guilt( monster &z ) int maxMalus = -250 * ( 1.0 - ( static_cast( kill_count ) / maxKills ) ); time_duration duration = 30_minutes * ( 1.0 - ( static_cast( kill_count ) / maxKills ) ); time_duration decayDelay = 3_minutes * ( 1.0 - ( static_cast( kill_count ) / maxKills ) ); - if( z.type->in_species( species_ZOMBIE ) ) { + if( z.type->in_species( ZOMBIE ) ) { moraleMalus /= 10; if( g->u.has_trait( trait_PACIFIST ) ) { moraleMalus *= 5; - } else if( g->u.has_trait_flag( flag_PRED1 ) ) { + } else if( g->u.has_trait_flag( "PRED1" ) ) { moraleMalus /= 4; - } else if( g->u.has_trait_flag( flag_PRED2 ) ) { + } else if( g->u.has_trait_flag( "PRED2" ) ) { moraleMalus /= 5; } } @@ -466,7 +466,7 @@ void mdeath::blobsplit( monster &z ) void mdeath::brainblob( monster &z ) { for( monster &critter : g->all_monsters() ) { - if( critter.type->in_species( species_BLOB ) && critter.type->id != mon_blob_brain ) { + if( critter.type->in_species( BLOB ) && critter.type->id != mon_blob_brain ) { critter.remove_effect( effect_controlled ); } } @@ -700,17 +700,17 @@ void mdeath::jabberwock( monster &z ) player *ch = dynamic_cast( z.get_killer() ); bool vorpal = ch && ch->is_player() && - ch->weapon.has_flag( flag_DIAMOND ) && + ch->weapon.has_flag( "DIAMOND" ) && ch->weapon.volume() > 750_ml; - if( vorpal && !ch->weapon.has_technique( matec_VORPAL ) ) { + if( vorpal && !ch->weapon.has_technique( matec_id( "VORPAL" ) ) ) { if( ch->sees( z ) ) { ch->add_msg_if_player( m_info, //~ %s is the possessive form of the monster's name _( "As the flames in %s eyes die out, your weapon seems to shine slightly brighter." ), z.disp_name( true ) ); } - ch->weapon.add_technique( matec_VORPAL ); + ch->weapon.add_technique( matec_id( "VORPAL" ) ); } mdeath::normal( z ); @@ -824,7 +824,7 @@ void make_mon_corpse( monster &z, int damageLvl ) corpse.set_item_temperature( 310.15 ); } corpse.set_damage( damageLvl ); - if( z.has_effect( effect_pacified ) && z.type->in_species( species_ZOMBIE ) ) { + if( z.has_effect( effect_pacified ) && z.type->in_species( ZOMBIE ) ) { // Pacified corpses have a chance of becoming unpacified when regenerating. corpse.set_var( "zlave", one_in( 2 ) ? "zlave" : "mutilated" ); } diff --git a/src/monexamine.cpp b/src/monexamine.cpp index 4790109298fe2..9b358da1ddb7b 100644 --- a/src/monexamine.cpp +++ b/src/monexamine.cpp @@ -66,7 +66,7 @@ bool monexamine::pet_menu( monster &z ) uilist amenu; std::string pet_name = z.get_name(); - bool is_zombie = z.type->in_species( species_ZOMBIE ); + bool is_zombie = z.type->in_species( ZOMBIE ); if( is_zombie ) { pet_name = _( "zombie slave" ); } @@ -101,7 +101,7 @@ bool monexamine::pet_menu( monster &z ) amenu.addentry( rope, true, 't', _( "Untie" ) ); } else if( !z.has_flag( MF_RIDEABLE_MECH ) ) { std::vector rope_inv = g->u.items_with( []( const item & itm ) { - return itm.has_flag( flag_TIE_UP ); + return itm.has_flag( "TIE_UP" ); } ); if( !rope_inv.empty() ) { amenu.addentry( rope, true, 't', _( "Tie" ) ); @@ -118,12 +118,12 @@ bool monexamine::pet_menu( monster &z ) amenu.addentry( milk, true, 'm', _( "Milk %s" ), pet_name ); } if( z.has_flag( MF_PET_MOUNTABLE ) && !z.has_effect( effect_saddled ) && - g->u.has_item_with_flag( flag_TACK ) && g->u.get_skill_level( skill_survival ) >= 1 ) { + g->u.has_item_with_flag( "TACK" ) && g->u.get_skill_level( skill_survival ) >= 1 ) { amenu.addentry( attach_saddle, true, 'h', _( "Tack up %s" ), pet_name ); } else if( z.has_flag( MF_PET_MOUNTABLE ) && z.has_effect( effect_saddled ) ) { amenu.addentry( remove_saddle, true, 'h', _( "Remove tack from %s" ), pet_name ); } else if( z.has_flag( MF_PET_MOUNTABLE ) && !z.has_effect( effect_saddled ) && - g->u.has_item_with_flag( flag_TACK ) && g->u.get_skill_level( skill_survival ) < 1 ) { + g->u.has_item_with_flag( "TACK" ) && g->u.get_skill_level( skill_survival ) < 1 ) { amenu.addentry( remove_saddle, false, 'h', _( "You don't know how to saddle %s" ), pet_name ); } if( z.has_flag( MF_PAY_BOT ) ) { @@ -254,7 +254,7 @@ static item_location pet_armor_loc( monster &z ) static item_location tack_loc() { auto filter = []( const item & it ) { - return it.has_flag( flag_TACK ); + return it.has_flag( "TACK" ); }; return game_menus::inv::titled_filter_menu( filter, g->u, _( "Tack" ) ); @@ -273,7 +273,7 @@ void monexamine::insert_battery( monster &z ) return; } std::vector bat_inv = g->u.items_with( []( const item & itm ) { - return itm.has_flag( flag_MECH_BAT ); + return itm.has_flag( "MECH_BAT" ); } ); if( bat_inv.empty() ) { return; @@ -637,7 +637,7 @@ void monexamine::tie_or_untie( monster &z ) } } else { std::vector rope_inv = g->u.items_with( []( const item & itm ) { - return itm.has_flag( flag_TIE_UP ); + return itm.has_flag( "TIE_UP" ); } ); if( rope_inv.empty() ) { return; diff --git a/src/monmove.cpp b/src/monmove.cpp index a11fece252eaf..02c928478e0d5 100644 --- a/src/monmove.cpp +++ b/src/monmove.cpp @@ -52,13 +52,13 @@ bool monster::wander() bool monster::is_immune_field( const field_type_id &fid ) const { if( fid == fd_fungal_haze ) { - return has_flag( MF_NO_BREATHE ) || type->in_species( species_FUNGUS ); + return has_flag( MF_NO_BREATHE ) || type->in_species( FUNGUS ); } if( fid == fd_fungicidal_gas ) { - return !type->in_species( species_FUNGUS ); + return !type->in_species( FUNGUS ); } if( fid == fd_insecticidal_gas ) { - return !type->in_species( species_INSECT ) && !type->in_species( species_SPIDER ); + return !type->in_species( INSECT ) && !type->in_species( SPIDER ); } const field_type &ft = fid.obj(); if( ft.has_fume ) { @@ -89,10 +89,10 @@ bool monster::will_move_to( const tripoint &p ) const { if( g->m.impassable( p ) ) { if( digging() ) { - if( !g->m.has_flag( flag_BURROWABLE, p ) ) { + if( !g->m.has_flag( "BURROWABLE", p ) ) { return false; } - } else if( !( can_climb() && g->m.has_flag( flag_CLIMBABLE, p ) ) ) { + } else if( !( can_climb() && g->m.has_flag( "CLIMBABLE", p ) ) ) { return false; } } @@ -101,11 +101,11 @@ bool monster::will_move_to( const tripoint &p ) const return false; } - if( digs() && !g->m.has_flag( flag_DIGGABLE, p ) && !g->m.has_flag( flag_BURROWABLE, p ) ) { + if( digs() && !g->m.has_flag( "DIGGABLE", p ) && !g->m.has_flag( "BURROWABLE", p ) ) { return false; } - if( has_flag( MF_AQUATIC ) && !g->m.has_flag( flag_SWIMMABLE, p ) ) { + if( has_flag( MF_AQUATIC ) && !g->m.has_flag( "SWIMMABLE", p ) ) { return false; } @@ -163,7 +163,7 @@ bool monster::will_move_to( const tripoint &p ) const // Some things are only avoided if we're not attacking if( attitude( &g->u ) != MATT_ATTACK ) { // Sharp terrain is ignored while attacking - if( avoid_simple && g->m.has_flag( flag_SHARP, p ) && + if( avoid_simple && g->m.has_flag( "SHARP", p ) && !( type->size == MS_TINY || flies() ) ) { return false; } @@ -462,7 +462,7 @@ void monster::plan() friendly = 100; for( auto critter : g->m.get_creatures_in_radius( pos(), 6 ) ) { monster *mon = dynamic_cast( critter ); - if( mon != nullptr && mon->type->in_species( species_ZOMBIE ) ) { + if( mon != nullptr && mon->type->in_species( ZOMBIE ) ) { anger = 100; } else { anger = 0; @@ -553,7 +553,7 @@ static float get_stagger_adjust( const tripoint &source, const tripoint &destina bool monster::is_aquatic_danger( const tripoint &at_pos ) { return g->m.has_flag_ter( TFLAG_DEEP_WATER, at_pos ) && g->m.has_flag( flag_LIQUID, at_pos ) && - can_drown() && !g->m.veh_at( at_pos ).part_with_feature( flag_BOARDABLE, false ); + can_drown() && !g->m.veh_at( at_pos ).part_with_feature( "BOARDABLE", false ); } bool monster::die_if_drowning( const tripoint &at_pos, const int chance ) @@ -697,7 +697,7 @@ void monster::move() // don't move if a passenger in a moving vehicle auto vp = g->m.veh_at( pos() ); - bool harness_part = static_cast( g->m.veh_at( pos() ).part_with_feature( flag_ANIMAL_CTRL, + bool harness_part = static_cast( g->m.veh_at( pos() ).part_with_feature( "ANIMAL_CTRL", true ) ); if( vp && vp->vehicle().is_moving() && vp->vehicle().get_pet( vp->part_index() ) ) { moves = 0; @@ -1135,40 +1135,40 @@ int monster::calc_movecost( const tripoint &f, const tripoint &t ) const const int source_cost = g->m.move_cost( f ); const int dest_cost = g->m.move_cost( t ); // Digging and flying monsters ignore terrain cost - if( flies() || ( digging() && g->m.has_flag( flag_DIGGABLE, t ) ) ) { + if( flies() || ( digging() && g->m.has_flag( "DIGGABLE", t ) ) ) { movecost = 100; // Swimming monsters move super fast in water } else if( swims() ) { - if( g->m.has_flag( flag_SWIMMABLE, f ) ) { + if( g->m.has_flag( "SWIMMABLE", f ) ) { movecost += 25; } else { movecost += 50 * g->m.move_cost( f ); } - if( g->m.has_flag( flag_SWIMMABLE, t ) ) { + if( g->m.has_flag( "SWIMMABLE", t ) ) { movecost += 25; } else { movecost += 50 * g->m.move_cost( t ); } } else if( can_submerge() ) { // No-breathe monsters have to walk underwater slowly - if( g->m.has_flag( flag_SWIMMABLE, f ) ) { + if( g->m.has_flag( "SWIMMABLE", f ) ) { movecost += 250; } else { movecost += 50 * g->m.move_cost( f ); } - if( g->m.has_flag( flag_SWIMMABLE, t ) ) { + if( g->m.has_flag( "SWIMMABLE", t ) ) { movecost += 250; } else { movecost += 50 * g->m.move_cost( t ); } movecost /= 2; } else if( climbs() ) { - if( g->m.has_flag( flag_CLIMBABLE, f ) ) { + if( g->m.has_flag( "CLIMBABLE", f ) ) { movecost += 150; } else { movecost += 50 * g->m.move_cost( f ); } - if( g->m.has_flag( flag_CLIMBABLE, t ) ) { + if( g->m.has_flag( "CLIMBABLE", t ) ) { movecost += 150; } else { movecost += 50 * g->m.move_cost( t ); @@ -1255,7 +1255,7 @@ bool monster::bash_at( const tripoint &p ) return false; } - bool flat_ground = g->m.has_flag( flag_ROAD, p ) || g->m.has_flag( flag_FLAT, p ); + bool flat_ground = g->m.has_flag( "ROAD", p ) || g->m.has_flag( "FLAT", p ); if( flat_ground ) { bool can_bash_ter = g->m.is_bashable_ter( p ); bool try_bash_ter = one_in( 50 ); @@ -1415,14 +1415,14 @@ bool monster::move_to( const tripoint &p, bool force, const float stagger_adjust // Allows climbing monsters to move on terrain with movecost <= 0 Creature *critter = g->critter_at( destination, is_hallucination() ); - if( g->m.has_flag( flag_CLIMBABLE, destination ) ) { + if( g->m.has_flag( "CLIMBABLE", destination ) ) { if( g->m.impassable( destination ) && critter == nullptr ) { if( flies() ) { moves -= 100; force = true; if( g->u.sees( *this ) ) { add_msg( _( "The %1$s flies over the %2$s." ), name(), - g->m.has_flag_furn( flag_CLIMBABLE, p ) ? g->m.furnname( p ) : + g->m.has_flag_furn( "CLIMBABLE", p ) ? g->m.furnname( p ) : g->m.tername( p ) ); } } else if( climbs() ) { @@ -1430,7 +1430,7 @@ bool monster::move_to( const tripoint &p, bool force, const float stagger_adjust force = true; if( g->u.sees( *this ) ) { add_msg( _( "The %1$s climbs over the %2$s." ), name(), - g->m.has_flag_furn( flag_CLIMBABLE, p ) ? g->m.furnname( p ) : + g->m.has_flag_furn( "CLIMBABLE", p ) ? g->m.furnname( p ) : g->m.tername( p ) ); } } @@ -1498,17 +1498,15 @@ bool monster::move_to( const tripoint &p, bool force, const float stagger_adjust if( type->size != MS_TINY && on_ground ) { const int sharp_damage = rng( 1, 10 ); const int rough_damage = rng( 1, 2 ); - if( g->m.has_flag( flag_SHARP, pos() ) && !one_in( 4 ) && - get_armor_cut( bp_torso ) < sharp_damage ) { + if( g->m.has_flag( "SHARP", pos() ) && !one_in( 4 ) && get_armor_cut( bp_torso ) < sharp_damage ) { apply_damage( nullptr, bp_torso, sharp_damage ); } - if( g->m.has_flag( flag_ROUGH, pos() ) && one_in( 6 ) && - get_armor_cut( bp_torso ) < rough_damage ) { + if( g->m.has_flag( "ROUGH", pos() ) && one_in( 6 ) && get_armor_cut( bp_torso ) < rough_damage ) { apply_damage( nullptr, bp_torso, rough_damage ); } } - if( g->m.has_flag( flag_UNSTABLE, destination ) && on_ground ) { + if( g->m.has_flag( "UNSTABLE", destination ) && on_ground ) { add_effect( effect_bouldering, 1_turns, num_bp, true ); } else if( has_effect( effect_bouldering ) ) { remove_effect( effect_bouldering ); @@ -1525,10 +1523,10 @@ bool monster::move_to( const tripoint &p, bool force, const float stagger_adjust return true; } if( !will_be_water && ( digs() || can_dig() ) ) { - underwater = g->m.has_flag( flag_DIGGABLE, pos() ); + underwater = g->m.has_flag( "DIGGABLE", pos() ); } // Diggers turn the dirt into dirtmound - if( digging() && g->m.has_flag( flag_DIGGABLE, pos() ) ) { + if( digging() && g->m.has_flag( "DIGGABLE", pos() ) ) { int factor = 0; switch( type->size ) { case MS_TINY: diff --git a/src/monster.cpp b/src/monster.cpp index 9fccb53f8a3f8..1a1594433b278 100644 --- a/src/monster.cpp +++ b/src/monster.cpp @@ -434,16 +434,16 @@ std::string monster::name( unsigned int quantity ) const std::string monster::name_with_armor() const { std::string ret; - if( type->in_species( species_INSECT ) ) { + if( type->in_species( INSECT ) ) { ret = _( "carapace" ); - } else if( made_of( material_veggy ) ) { + } else if( made_of( material_id( "veggy" ) ) ) { ret = _( "thick bark" ); - } else if( made_of( material_bone ) ) { + } else if( made_of( material_id( "bone" ) ) ) { ret = _( "exoskeleton" ); - } else if( made_of( material_flesh ) || made_of( material_hflesh ) || - made_of( material_iflesh ) ) { + } else if( made_of( material_id( "flesh" ) ) || made_of( material_id( "hflesh" ) ) || + made_of( material_id( "iflesh" ) ) ) { ret = _( "thick hide" ); - } else if( made_of( material_iron ) || made_of( material_steel ) ) { + } else if( made_of( material_id( "iron" ) ) || made_of( material_id( "steel" ) ) ) { ret = _( "armor plating" ); } else if( made_of( LIQUID ) ) { ret = _( "dense jelly mass" ); @@ -925,7 +925,7 @@ monster_attitude monster::attitude( const Character *u ) const } // Zombies don't understand not attacking NPCs, but dogs and bots should. const npc *np = dynamic_cast< const npc * >( u ); - if( np != nullptr && np->get_attitude() != NPCATT_KILL && !type->in_species( species_ZOMBIE ) ) { + if( np != nullptr && np->get_attitude() != NPCATT_KILL && !type->in_species( ZOMBIE ) ) { return MATT_FRIEND; } if( np != nullptr && np->is_hallucination() ) { @@ -953,14 +953,14 @@ monster_attitude monster::attitude( const Character *u ) const } } - if( type->in_species( species_FUNGUS ) && ( u->has_trait( trait_MYCUS_THRESH ) || - u->has_trait( trait_MYCUS_FRIEND ) ) ) { + if( type->in_species( FUNGUS ) && ( u->has_trait( trait_MYCUS_THRESH ) || + u->has_trait( trait_MYCUS_FRIEND ) ) ) { return MATT_FRIEND; } if( effective_anger >= 10 && - ( ( type->in_species( species_MAMMAL ) && u->has_trait( trait_PHEROMONE_MAMMAL ) ) || - ( type->in_species( species_INSECT ) && u->has_trait( trait_PHEROMONE_INSECT ) ) ) ) { + ( ( type->in_species( MAMMAL ) && u->has_trait( trait_PHEROMONE_MAMMAL ) ) || + ( type->in_species( INSECT ) && u->has_trait( trait_PHEROMONE_INSECT ) ) ) ) { effective_anger -= 20; } @@ -1147,14 +1147,14 @@ bool monster::is_immune_effect( const efftype_id &effect ) const if( effect == effect_bleed ) { return !has_flag( MF_WARM ) || - !made_of( material_flesh ); + !made_of( material_id( "flesh" ) ); } if( effect == effect_paralyzepoison || effect == effect_badpoison || effect == effect_poison ) { return !has_flag( MF_WARM ) || - ( !made_of( material_flesh ) && !made_of( material_iflesh ) ); + ( !made_of( material_id( "flesh" ) ) && !made_of( material_id( "iflesh" ) ) ); } if( effect == effect_stunned ) { @@ -1184,7 +1184,7 @@ bool monster::is_immune_damage( const damage_type dt ) const return false; case DT_HEAT: // Ugly hardcode - remove later - return made_of( material_steel ) || made_of( material_stone ); + return made_of( material_id( "steel" ) ) || made_of( material_id( "stone" ) ); case DT_COLD: return false; case DT_ELECTRIC: @@ -1527,8 +1527,8 @@ bool monster::move_effects( bool ) } // non-friendly monster will struggle to get free occasionally. // some monsters cant be tangled up with a net/bolas/lassoo etc. - bool immediate_break = type->in_species( species_FISH ) || type->in_species( species_MOLLUSK ) || - type->in_species( species_ROBOT ) || type->bodytype == "snake" || type->bodytype == "blob"; + bool immediate_break = type->in_species( FISH ) || type->in_species( MOLLUSK ) || + type->in_species( ROBOT ) || type->bodytype == "snake" || type->bodytype == "blob"; if( !immediate_break && rng( 0, 900 ) > type->melee_dice * type->melee_sides * 1.5 ) { if( u_see_me ) { add_msg( _( "The %s struggles to break free of its bonds." ), name() ); @@ -2001,7 +2001,7 @@ void monster::process_turn() explosion_handler::emp_blast( zap ); // Fries electronics due to the intensity of the field } const auto t = g->m.ter( zap ); - if( t == ter_gas_pump || t == ter_gas_pump_a ) { + if( t == ter_str_id( "t_gas_pump" ) || t == ter_str_id( "t_gas_pump_a" ) ) { if( one_in( 4 ) ) { explosion_handler::explosion( pos(), 40, 0.8, true ); if( player_sees ) { @@ -2279,9 +2279,9 @@ void monster::process_one_effect( effect &it, bool is_new ) effect_cache[MOVEMENT_IMPAIRED] = true; } else if( id == effect_onfire ) { int dam = 0; - if( made_of( material_veggy ) ) { + if( made_of( material_id( "veggy" ) ) ) { dam = rng( 10, 20 ); - } else if( made_of( material_flesh ) || made_of( material_iflesh ) ) { + } else if( made_of( material_id( "flesh" ) ) || made_of( material_id( "iflesh" ) ) ) { dam = rng( 5, 10 ); } @@ -2378,12 +2378,12 @@ bool monster::make_fungus() } char polypick = 0; const mtype_id &tid = type->id; - if( type->in_species( species_FUNGUS ) ) { // No friendly-fungalizing ;-) + if( type->in_species( FUNGUS ) ) { // No friendly-fungalizing ;-) return true; } - if( !made_of( material_flesh ) && !made_of( material_hflesh ) && - !made_of( material_veggy ) && !made_of( material_iflesh ) && - !made_of( material_bone ) ) { + if( !made_of( material_id( "flesh" ) ) && !made_of( material_id( "hflesh" ) ) && + !made_of( material_id( "veggy" ) ) && !made_of( material_id( "iflesh" ) ) && + !made_of( material_id( "bone" ) ) ) { // No fungalizing robots or weird stuff (mi-gos are technically fungi, blobs are goo) return true; } @@ -2417,7 +2417,7 @@ bool monster::make_fungus() polypick = 7; } else if( tid == mon_zombie_gasbag ) { polypick = 8; - } else if( type->in_species( species_SPIDER ) && get_size() > MS_TINY ) { + } else if( type->in_species( SPIDER ) && get_size() > MS_TINY ) { polypick = 9; } @@ -2827,7 +2827,7 @@ void monster::on_load() if( regen <= 0 ) { if( has_flag( MF_REVIVES ) ) { regen = 1.0f / to_turns( 1_hours ); - } else if( made_of( material_flesh ) || made_of( material_veggy ) ) { + } else if( made_of( material_id( "flesh" ) ) || made_of( material_id( "veggy" ) ) ) { // Most living stuff here regen = 0.25f / to_turns( 1_hours ); } diff --git a/src/monstergenerator.cpp b/src/monstergenerator.cpp index c034b8c163e66..810c5750ec77a 100644 --- a/src/monstergenerator.cpp +++ b/src/monstergenerator.cpp @@ -26,7 +26,6 @@ #include "pathfinding.h" #include "units.h" #include "translations.h" -#include "cata_string_consts.h" namespace io { @@ -1101,7 +1100,7 @@ void mtype::remove_special_attacks( const JsonObject &jo, const std::string &mem void MonsterGenerator::check_monster_definitions() const { for( const auto &mon : mon_templates->get_all() ) { - if( mon.harvest == "null" && !mon.has_flag( MF_ELECTRONIC ) && mon.id != mon_null ) { + if( mon.harvest == "null" && !mon.has_flag( MF_ELECTRONIC ) && mon.id != mtype_id( "mon_null" ) ) { debugmsg( "monster %s has no harvest entry", mon.id.c_str(), mon.harvest.c_str() ); } for( auto &spec : mon.species ) { diff --git a/src/morale.cpp b/src/morale.cpp index 390acc6859f2a..c13b6f34d55ad 100644 --- a/src/morale.cpp +++ b/src/morale.cpp @@ -748,9 +748,9 @@ void player_morale::on_effect_int_change( const efftype_id &eid, int intensity, void player_morale::set_worn( const item &it, bool worn ) { - const bool fancy = it.has_flag( flag_FANCY ); - const bool super_fancy = it.has_flag( flag_SUPER_FANCY ); - const bool filthy_gear = it.has_flag( flag_FILTHY ); + const bool fancy = it.has_flag( "FANCY" ); + const bool super_fancy = it.has_flag( "SUPER_FANCY" ); + const bool filthy_gear = it.has_flag( "FILTHY" ); const int sign = ( worn ) ? 1 : -1; const auto update_body_part = [&]( body_part_data & bp_data ) { diff --git a/src/mtype.cpp b/src/mtype.cpp index d9b608349c3b6..fe3780a22e7e3 100644 --- a/src/mtype.cpp +++ b/src/mtype.cpp @@ -22,7 +22,7 @@ mtype::mtype() size = MS_MEDIUM; volume = 62499_ml; weight = 81499_gram; - mat = { material_flesh }; + mat = { material_id( "flesh" ) }; phase = SOLID; def_chance = 0; upgrades = false; @@ -152,13 +152,13 @@ field_type_id mtype::bloodType() const if( has_flag( MF_LARVA ) || has_flag( MF_ARTHROPOD_BLOOD ) ) { return fd_blood_invertebrate; } - if( made_of( material_veggy ) ) { + if( made_of( material_id( "veggy" ) ) ) { return fd_blood_veggy; } - if( made_of( material_iflesh ) ) { + if( made_of( material_id( "iflesh" ) ) ) { return fd_blood_insect; } - if( has_flag( MF_WARM ) && made_of( material_flesh ) ) { + if( has_flag( MF_WARM ) && made_of( material_id( "flesh" ) ) ) { return fd_blood; } return fd_null; @@ -166,16 +166,16 @@ field_type_id mtype::bloodType() const field_type_id mtype::gibType() const { - if( has_flag( MF_LARVA ) || in_species( species_MOLLUSK ) ) { + if( has_flag( MF_LARVA ) || in_species( MOLLUSK ) ) { return fd_gibs_invertebrate; } - if( made_of( material_veggy ) ) { + if( made_of( material_id( "veggy" ) ) ) { return fd_gibs_veggy; } - if( made_of( material_iflesh ) ) { + if( made_of( material_id( "iflesh" ) ) ) { return fd_gibs_insect; } - if( made_of( material_flesh ) ) { + if( made_of( material_id( "flesh" ) ) ) { return fd_gibs_flesh; } // There are other materials not listed here like steel, protoplasmic, powder, null, stone, bone @@ -185,18 +185,18 @@ field_type_id mtype::gibType() const itype_id mtype::get_meat_itype() const { if( has_flag( MF_POISON ) ) { - if( made_of( material_flesh ) || made_of( material_hflesh ) ) { + if( made_of( material_id( "flesh" ) ) || made_of( material_id( "hflesh" ) ) ) { return "meat_tainted"; - } else if( made_of( material_iflesh ) ) { + } else if( made_of( material_id( "iflesh" ) ) ) { //In the future, insects could drop insect flesh rather than plain ol' meat. return "meat_tainted"; - } else if( made_of( material_veggy ) ) { + } else if( made_of( material_id( "veggy" ) ) ) { return "veggy_tainted"; - } else if( made_of( material_bone ) ) { + } else if( made_of( material_id( "bone" ) ) ) { return "bone_tainted"; } } else { - if( made_of( material_flesh ) || made_of( material_hflesh ) ) { + if( made_of( material_id( "flesh" ) ) || made_of( material_id( "hflesh" ) ) ) { if( has_flag( MF_HUMAN ) ) { return "human_flesh"; } else if( has_flag( MF_AQUATIC ) ) { @@ -204,12 +204,12 @@ itype_id mtype::get_meat_itype() const } else { return "meat"; } - } else if( made_of( material_iflesh ) ) { + } else if( made_of( material_id( "iflesh" ) ) ) { //In the future, insects could drop insect flesh rather than plain ol' meat. return "meat"; - } else if( made_of( material_veggy ) ) { + } else if( made_of( material_id( "veggy" ) ) ) { return "veggy"; - } else if( made_of( material_bone ) ) { + } else if( made_of( material_id( "bone" ) ) ) { return "bone"; } } diff --git a/src/mtype.h b/src/mtype.h index dcbfb7d4b9b33..d28bc9f100be2 100644 --- a/src/mtype.h +++ b/src/mtype.h @@ -34,6 +34,8 @@ using bodytype_id = std::string; class JsonArray; class JsonObject; +using itype_id = std::string; + // These are triggers which may affect the monster's anger or morale. // They are handled in monster::check_triggers(), in monster.cpp enum class mon_trigger { diff --git a/src/mutation.cpp b/src/mutation.cpp index 09dccd52a9188..3992cd011923c 100644 --- a/src/mutation.cpp +++ b/src/mutation.cpp @@ -360,7 +360,7 @@ bool Character::can_use_heal_item( const item &med ) const } } if( !got_restriction ) { - can_use = !med.has_flag( flag_CANT_HEAL_EVERYONE ); + can_use = !med.has_flag( "CANT_HEAL_EVERYONE" ); } if( !can_use ) { @@ -440,7 +440,7 @@ void Character::activate_mutation( const trait_id &mut ) invoke_item( &burrowing_item ); return; // handled when the activity finishes } else if( mut == trait_SLIMESPAWNER ) { - monster *const slime = g->place_critter_around( mon_player_blob, pos(), 1 ); + monster *const slime = g->place_critter_around( mtype_id( "mon_player_blob" ), pos(), 1 ); if( !slime ) { // Oops, no room to divide! add_msg_if_player( m_bad, _( "You focus, but are too hemmed in to birth a new slimespring!" ) ); @@ -493,7 +493,7 @@ void Character::activate_mutation( const trait_id &mut ) // Check for adjacent trees. bool adjacent_tree = false; for( const tripoint &p2 : g->m.points_in_radius( pos(), 1 ) ) { - if( g->m.has_flag( flag_TREE, p2 ) ) { + if( g->m.has_flag( "TREE", p2 ) ) { adjacent_tree = true; } } diff --git a/src/mutation.h b/src/mutation.h index 8ace795b7801d..363e751363194 100644 --- a/src/mutation.h +++ b/src/mutation.h @@ -27,6 +27,7 @@ struct dream; class Trait_group; class item; +using itype_id = std::string; class JsonArray; extern std::vector dreams; diff --git a/src/newcharacter.cpp b/src/newcharacter.cpp index 85575999b628c..40851bd7378c3 100644 --- a/src/newcharacter.cpp +++ b/src/newcharacter.cpp @@ -528,11 +528,11 @@ bool avatar::create( character_type type, const std::string &tempname ) it.item_counter = 450; // Give it some time to dry off } // TODO: debugmsg if food that isn't a seed is inedible - if( it.has_flag( flag_no_auto_equip ) ) { - it.unset_flag( flag_no_auto_equip ); + if( it.has_flag( "no_auto_equip" ) ) { + it.unset_flag( "no_auto_equip" ); inv.push_back( it ); - } else if( it.has_flag( flag_auto_wield ) ) { - it.unset_flag( flag_auto_wield ); + } else if( it.has_flag( "auto_wield" ) ) { + it.unset_flag( "auto_wield" ); if( !is_armed() ) { wield( it ); } else { @@ -1436,9 +1436,9 @@ tab_direction set_profession( const catacurses::window &w, avatar &u, points_lef std::string buffer_worn; std::string buffer_inventory; for( const auto &it : prof_items ) { - if( it.has_flag( flag_no_auto_equip ) ) { + if( it.has_flag( "no_auto_equip" ) ) { buffer_inventory += it.display_name() + "\n"; - } else if( it.has_flag( flag_auto_wield ) ) { + } else if( it.has_flag( "auto_wield" ) ) { buffer_wielded += it.display_name() + "\n"; } else if( it.is_armor() ) { buffer_worn += it.display_name() + "\n"; @@ -1661,7 +1661,7 @@ tab_direction set_skills( const catacurses::window &w, avatar &u, points_left &p std::map > > recipes; for( const auto &e : recipe_dict ) { const auto &r = e.second; - if( r.has_flag( flag_SECRET ) ) { + if( r.has_flag( "SECRET" ) ) { continue; } //Find out if the current skill and its level is in the requirement list @@ -1814,8 +1814,8 @@ struct { } } - if( !cities_enabled && a->has_flag( flag_CITY_START ) != b->has_flag( flag_CITY_START ) ) { - return a->has_flag( flag_CITY_START ) < b->has_flag( flag_CITY_START ); + if( !cities_enabled && a->has_flag( "CITY_START" ) != b->has_flag( "CITY_START" ) ) { + return a->has_flag( "CITY_START" ) < b->has_flag( "CITY_START" ); } else if( sort_by_points ) { return a->point_cost() < b->point_cost(); } else { @@ -1898,7 +1898,7 @@ tab_direction set_scenario( const catacurses::window &w, avatar &u, points_left std::stable_sort( sorted_scens.begin(), sorted_scens.end(), scenario_sorter ); // If city size is 0 but the current scenario requires cities reset the scenario - if( !scenario_sorter.cities_enabled && g->scen->has_flag( flag_CITY_START ) ) { + if( !scenario_sorter.cities_enabled && g->scen->has_flag( "CITY_START" ) ) { reset_scenario( u, sorted_scens[0] ); points.init_from_options(); points.skill_points -= sorted_scens[cur_id]->point_cost(); @@ -1963,7 +1963,7 @@ tab_direction set_scenario( const catacurses::window &w, avatar &u, points_left const std::string scenDesc = sorted_scens[cur_id]->description( u.male ); - if( sorted_scens[cur_id]->has_flag( flag_CITY_START ) && !scenario_sorter.cities_enabled ) { + if( sorted_scens[cur_id]->has_flag( "CITY_START" ) && !scenario_sorter.cities_enabled ) { const std::string scenUnavailable = _( "This scenario is not available in this world due to city size settings." ); fold_and_print( w_description, point_zero, TERMX - 2, c_red, scenUnavailable ); @@ -1983,12 +1983,11 @@ tab_direction set_scenario( const catacurses::window &w, avatar &u, points_left " " ); nc_color col; if( g->scen != sorted_scens[i] ) { - if( sorted_scens[i] == sorted_scens[cur_id] && ( sorted_scens[i]->has_flag( flag_CITY_START ) && + if( sorted_scens[i] == sorted_scens[cur_id] && ( sorted_scens[i]->has_flag( "CITY_START" ) && !scenario_sorter.cities_enabled ) ) { col = h_dark_gray; - } else if( sorted_scens[i] != sorted_scens[cur_id] && - ( sorted_scens[i]->has_flag( flag_CITY_START ) && - !scenario_sorter.cities_enabled ) ) { + } else if( sorted_scens[i] != sorted_scens[cur_id] && ( sorted_scens[i]->has_flag( "CITY_START" ) && + !scenario_sorter.cities_enabled ) ) { col = c_dark_gray; } else { col = ( sorted_scens[i] == sorted_scens[cur_id] ? h_light_gray : c_light_gray ); @@ -2038,45 +2037,45 @@ tab_direction set_scenario( const catacurses::window &w, avatar &u, points_left mvwprintz( w_flags, point_zero, COL_HEADER, _( "Scenario Flags:" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); - if( sorted_scens[cur_id]->has_flag( flag_SPR_START ) ) { + if( sorted_scens[cur_id]->has_flag( "SPR_START" ) ) { wprintz( w_flags, c_light_gray, _( "Spring start" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); - } else if( sorted_scens[cur_id]->has_flag( flag_SUM_START ) ) { + } else if( sorted_scens[cur_id]->has_flag( "SUM_START" ) ) { wprintz( w_flags, c_light_gray, _( "Summer start" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); - } else if( sorted_scens[cur_id]->has_flag( flag_AUT_START ) ) { + } else if( sorted_scens[cur_id]->has_flag( "AUT_START" ) ) { wprintz( w_flags, c_light_gray, _( "Autumn start" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); - } else if( sorted_scens[cur_id]->has_flag( flag_WIN_START ) ) { + } else if( sorted_scens[cur_id]->has_flag( "WIN_START" ) ) { wprintz( w_flags, c_light_gray, _( "Winter start" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); - } else if( sorted_scens[cur_id]->has_flag( flag_SUM_ADV_START ) ) { + } else if( sorted_scens[cur_id]->has_flag( "SUM_ADV_START" ) ) { wprintz( w_flags, c_light_gray, _( "Next summer start" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); } - if( sorted_scens[cur_id]->has_flag( flag_INFECTED ) ) { + if( sorted_scens[cur_id]->has_flag( "INFECTED" ) ) { wprintz( w_flags, c_light_gray, _( "Infected player" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); } - if( sorted_scens[cur_id]->has_flag( flag_BAD_DAY ) ) { + if( sorted_scens[cur_id]->has_flag( "BAD_DAY" ) ) { wprintz( w_flags, c_light_gray, _( "Drunk and sick player" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); } - if( sorted_scens[cur_id]->has_flag( flag_FIRE_START ) ) { + if( sorted_scens[cur_id]->has_flag( "FIRE_START" ) ) { wprintz( w_flags, c_light_gray, _( "Fire nearby" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); } - if( sorted_scens[cur_id]->has_flag( flag_SUR_START ) ) { + if( sorted_scens[cur_id]->has_flag( "SUR_START" ) ) { wprintz( w_flags, c_light_gray, _( "Zombies nearby" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); } - if( sorted_scens[cur_id]->has_flag( flag_HELI_CRASH ) ) { + if( sorted_scens[cur_id]->has_flag( "HELI_CRASH" ) ) { wprintz( w_flags, c_light_gray, _( "Various limb wounds" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); } if( get_option( "STARTING_NPC" ) == "scenario" && - sorted_scens[cur_id]->has_flag( flag_LONE_START ) ) { + sorted_scens[cur_id]->has_flag( "LONE_START" ) ) { wprintz( w_flags, c_light_gray, _( "No starting NPC" ) ); wprintz( w_flags, c_light_gray, ( "\n" ) ); } @@ -2101,7 +2100,7 @@ tab_direction set_scenario( const catacurses::window &w, avatar &u, points_left cur_id = scens_length - 1; } } else if( action == "CONFIRM" ) { - if( sorted_scens[cur_id]->has_flag( flag_CITY_START ) && !scenario_sorter.cities_enabled ) { + if( sorted_scens[cur_id]->has_flag( "CITY_START" ) && !scenario_sorter.cities_enabled ) { continue; } reset_scenario( u, sorted_scens[cur_id] ); diff --git a/src/npc.cpp b/src/npc.cpp index 8d267cea57006..c0ec9b68fda0d 100644 --- a/src/npc.cpp +++ b/src/npc.cpp @@ -140,7 +140,7 @@ standard_npc::standard_npc( const std::string &name, const tripoint &pos, } for( item &e : worn ) { - if( e.has_flag( flag_VARSIZE ) ) { + if( e.has_flag( "VARSIZE" ) ) { e.item_tags.insert( "FIT" ); } } @@ -437,7 +437,7 @@ faction_id npc::get_fac_id() const faction *npc::get_faction() const { if( !my_fac ) { - return g->faction_manager_ptr->get( faction_no_faction ); + return g->faction_manager_ptr->get( faction_id( "no_faction" ) ); } return my_fac; } @@ -515,7 +515,7 @@ void starting_clothes( npc &who, const npc_class_id &type, bool male ) } who.worn.clear(); for( item &it : ret ) { - if( it.has_flag( flag_VARSIZE ) ) { + if( it.has_flag( "VARSIZE" ) ) { it.item_tags.insert( "FIT" ); } if( who.can_wear( it ).success() ) { @@ -569,7 +569,7 @@ void starting_inv( npc &who, const npc_class_id &type ) while( qty-- != 0 ) { item tmp = random_item_from( type, "misc" ).in_its_container(); if( !tmp.is_null() ) { - if( !one_in( 3 ) && tmp.has_flag( flag_VARSIZE ) ) { + if( !one_in( 3 ) && tmp.has_flag( "VARSIZE" ) ) { tmp.item_tags.insert( "FIT" ); } if( who.can_pickVolume( tmp ) ) { @@ -579,7 +579,7 @@ void starting_inv( npc &who, const npc_class_id &type ) } res.erase( std::remove_if( res.begin(), res.end(), [&]( const item & e ) { - return e.has_flag( flag_TRADER_AVOID ); + return e.has_flag( "TRADER_AVOID" ); } ), res.end() ); for( auto &it : res ) { it.set_owner( who ); @@ -804,7 +804,7 @@ bool npc::can_read( const item &book, std::vector &fail_reasons ) // Check for conditions that disqualify us if( type->intel > 0 && has_trait( trait_ILLITERATE ) ) { fail_reasons.emplace_back( _( "I can't read!" ) ); - } else if( has_trait( trait_HYPEROPIC ) && !worn_with_flag( flag_FIX_FARSIGHT ) && + } else if( has_trait( trait_HYPEROPIC ) && !worn_with_flag( "FIX_FARSIGHT" ) && !has_effect( effect_contacts ) && !has_bionic( bio_eye_optic ) ) { fail_reasons.emplace_back( _( "I can't read without my glasses." ) ); } else if( fine_detail_vision_mod() > 4 ) { @@ -844,7 +844,7 @@ void npc::finish_read( item &book ) const skill_id &skill = reading->skill; // NPCs dont need to identify the book or learn recipes yet. // NPCs dont read to other NPCs yet. - const bool display_messages = my_fac->id == faction_your_followers && g->u.sees( pos() ); + const bool display_messages = my_fac->id == faction_id( "your_followers" ) && g->u.sees( pos() ); bool continuous = false; //whether to continue reading or not std::set little_learned; // NPCs who learned a little about the skill std::set cant_learn; @@ -993,7 +993,7 @@ bool npc::wear_if_wanted( const item &it, std::string &reason ) // Splints ignore limits, but only when being equipped on a broken part // TODO: Drop splints when healed - if( it.has_flag( flag_SPLINT ) ) { + if( it.has_flag( "SPLINT" ) ) { for( int i = 0; i < num_hp_parts; i++ ) { hp_part hpp = static_cast( i ); body_part bp = player::hp_to_bp( hpp ); @@ -1029,7 +1029,7 @@ bool npc::wear_if_wanted( const item &it, std::string &reason ) auto iter = std::find_if( worn.begin(), worn.end(), [bp]( const item & armor ) { return armor.covers( bp ); } ); - if( iter != worn.end() && !( is_limb_broken( bp_to_hp( bp ) ) && iter->has_flag( flag_SPLINT ) ) ) { + if( iter != worn.end() && !( is_limb_broken( bp_to_hp( bp ) ) && iter->has_flag( "SPLINT" ) ) ) { took_off = takeoff( *iter ); break; } @@ -1278,7 +1278,7 @@ void npc::mutiny() // feel for you, but also reduces their respect for you. my_fac->likes_u = std::max( 0, my_fac->likes_u / 2 + 10 ); my_fac->respects_u -= 5; - set_fac( faction_amf ); + set_fac( faction_id( "amf" ) ); say( _( " Adios, motherfucker!" ), sounds::sound_t::order ); if( seen ) { my_fac->known_by_u = true; @@ -1346,7 +1346,7 @@ void npc::make_angry() } // Make associated faction, if any, angry at the player too. - if( my_fac && my_fac->id != faction_no_faction && my_fac->id != faction_amf ) { + if( my_fac && my_fac->id != faction_id( "no_faction" ) && my_fac->id != faction_id( "amf" ) ) { my_fac->likes_u = std::min( -15, my_fac->likes_u - 5 ); my_fac->respects_u = std::min( -15, my_fac->respects_u - 5 ); } @@ -1654,7 +1654,7 @@ int npc::value( const item &it ) const int npc::value( const item &it, int market_price ) const { - if( it.is_dangerous() || ( it.has_flag( flag_BOMB ) && it.active ) || it.made_of( LIQUID ) ) { + if( it.is_dangerous() || ( it.has_flag( "BOMB" ) && it.active ) || it.made_of( LIQUID ) ) { // NPCs won't be interested in buying active explosives or spilled liquids return -1000; } @@ -1865,7 +1865,7 @@ bool npc::is_ally( const player &p ) const return true; } if( p.is_player() ) { - if( my_fac && my_fac->id == faction_your_followers ) { + if( my_fac && my_fac->id == faction_id( "your_followers" ) ) { return true; } if( faction_api_version < 2 ) { @@ -2673,7 +2673,7 @@ void npc::on_load() has_new_items = true; // for spawned npcs - if( g->m.has_flag( flag_UNSTABLE, pos() ) ) { + if( g->m.has_flag( "UNSTABLE", pos() ) ) { add_effect( effect_bouldering, 1_turns, num_bp, true ); } else if( has_effect( effect_bouldering ) ) { remove_effect( effect_bouldering ); diff --git a/src/npc_favor.h b/src/npc_favor.h index 0ba8d7b2b1661..6b285da89e270 100644 --- a/src/npc_favor.h +++ b/src/npc_favor.h @@ -6,6 +6,7 @@ #include "type_id.h" +using itype_id = std::string; class JsonIn; class JsonOut; diff --git a/src/npcmove.cpp b/src/npcmove.cpp index e102d9b385c47..6c2e959967ec7 100644 --- a/src/npcmove.cpp +++ b/src/npcmove.cpp @@ -159,7 +159,7 @@ static bool clear_shot_reach( const tripoint &from, const tripoint &to, bool che tripoint npc::good_escape_direction( bool include_pos ) { if( path.empty() ) { - zone_type_id retreat_zone = zone_type_NPC_RETREAT; + zone_type_id retreat_zone = zone_type_id( "NPC_RETREAT" ); const tripoint &abs_pos = global_square_location(); const zone_manager &mgr = zone_manager::get_manager(); cata::optional retreat_target = mgr.get_nearest( retreat_zone, abs_pos, 60, @@ -1629,7 +1629,7 @@ bool npc::recharge_cbm() if( use_bionic_by_id( bio_furnace ) ) { const std::function furnace_filter = []( const item & it ) { return it.typeId() == itype_id( "withered" ) || it.typeId() == itype_id( "file" ) || - it.has_flag( flag_FIREWOOD ); + it.has_flag( "FIREWOOD" ); }; if( consume_cbm_items( furnace_filter ) ) { return true; @@ -2257,7 +2257,7 @@ void npc::move_to( const tripoint &pt, bool no_bashing, std::set *nomo } moves -= 100; moved = true; - } else if( g->m.passable( p ) && !g->m.has_flag( flag_DOOR, p ) ) { + } else if( g->m.passable( p ) && !g->m.has_flag( "DOOR", p ) ) { bool diag = trigdist && posx() != p.x && posy() != p.y; if( is_mounted() ) { const double base_moves = run_cost( g->m.combined_movecost( pos(), p ), @@ -2279,7 +2279,7 @@ void npc::move_to( const tripoint &pt, bool no_bashing, std::set *nomo moves -= 100; moved = true; } - } else if( get_dex() > 1 && g->m.has_flag_ter_or_furn( flag_CLIMBABLE, p ) ) { + } else if( get_dex() > 1 && g->m.has_flag_ter_or_furn( "CLIMBABLE", p ) ) { ///\EFFECT_DEX_NPC increases chance to climb CLIMBABLE furniture or terrain int climb = get_dex(); if( one_in( climb ) ) { @@ -2322,7 +2322,7 @@ void npc::move_to( const tripoint &pt, bool no_bashing, std::set *nomo g->m.creature_on_trap( *mounted_creature ); } } - if( g->m.has_flag( flag_UNSTABLE, pos() ) ) { + if( g->m.has_flag( "UNSTABLE", pos() ) ) { add_effect( effect_bouldering, 1_turns, num_bp, true ); } else if( has_effect( effect_bouldering ) ) { remove_effect( effect_bouldering ); @@ -2719,13 +2719,15 @@ void npc::find_item() continue; } const cata::optional cargo = vp.part_with_feature( VPFLAG_CARGO, true ); + static const std::string locked_string( "LOCKED" ); // TODO: Let player know what parts are safe from NPC thieves - if( !cargo || cargo->has_feature( flag_LOCKED ) ) { + if( !cargo || cargo->has_feature( locked_string ) ) { cache_tile(); continue; } - if( vp.part_with_feature( flag_CARGO_LOCKING, true ) ) { + static const std::string cargo_locking_string( "CARGO_LOCKING" ); + if( vp.part_with_feature( cargo_locking_string, true ) ) { cache_tile(); continue; } @@ -2778,11 +2780,11 @@ void npc::pick_up_item() const cata::optional vp = g->m.veh_at( wanted_item_pos ).part_with_feature( VPFLAG_CARGO, false ); - const bool has_cargo = vp && !vp->has_feature( flag_LOCKED ); + const bool has_cargo = vp && !vp->has_feature( "LOCKED" ); if( ( !g->m.has_items( wanted_item_pos ) && !has_cargo && !g->m.is_harvestable( wanted_item_pos ) && sees( wanted_item_pos ) ) || - ( is_player_ally() && g->check_zone( zone_type_NO_NPC_PICKUP, wanted_item_pos ) ) ) { + ( is_player_ally() && g->check_zone( zone_type_id( "NO_NPC_PICKUP" ), wanted_item_pos ) ) ) { // Items we wanted no longer exist and we can see it // Or player who is leading us doesn't want us to pick it up fetching_item = false; @@ -3330,7 +3332,7 @@ bool npc::alt_attack() } // Are we going to throw this item? - if( !used->active && used->has_flag( flag_NPC_ACTIVATE ) ) { + if( !used->active && used->has_flag( "NPC_ACTIVATE" ) ) { activate_item( weapon_index ); // Note: intentional lack of return here // We want to ignore player-centric rules to avoid carrying live explosives @@ -3525,7 +3527,7 @@ static float rate_food( const item &it, int want_nutr, int want_quench ) return 0.0f; } - if( food->parasites && !it.has_flag( flag_NO_PARASITES ) ) { + if( food->parasites && !it.has_flag( "NO_PARASITES" ) ) { return 0.0; } @@ -3813,8 +3815,8 @@ void npc::reach_omt_destination() if( is_player_ally() ) { talk_function::assign_guard( *this ); if( rl_dist( g->u.pos(), pos() ) > SEEX * 2 || !g->u.sees( pos() ) ) { - if( g->u.has_item_with_flag( flag_TWO_WAY_RADIO, true ) && - has_item_with_flag( flag_TWO_WAY_RADIO, true ) ) { + if( g->u.has_item_with_flag( "TWO_WAY_RADIO", true ) && + has_item_with_flag( "TWO_WAY_RADIO", true ) ) { add_msg( m_info, _( "From your two-way radio you hear %s reporting in, " "'I've arrived, boss!'" ), disp_name() ); } @@ -4348,7 +4350,7 @@ bool npc::adjust_worn() }; for( auto &elem : worn ) { - if( !elem.has_flag( flag_SPLINT ) ) { + if( !elem.has_flag( "SPLINT" ) ) { continue; } diff --git a/src/npctalk.cpp b/src/npctalk.cpp index 3d4dee38821ed..057d64175f359 100644 --- a/src/npctalk.cpp +++ b/src/npctalk.cpp @@ -2064,7 +2064,7 @@ void talk_effect_fun_t::set_change_faction_rep( int rep_change ) { function = [rep_change]( const dialogue & d ) { npc &p = *d.beta; - if( p.get_faction()->id != faction_no_faction ) { + if( p.get_faction()->id != faction_id( "no_faction" ) ) { p.get_faction()->likes_u += rep_change; p.get_faction()->respects_u += rep_change; } @@ -3205,8 +3205,8 @@ std::string give_item_to( npc &p, bool allow_use ) } item &given = *loc; - if( ( &given == &g->u.weapon && given.has_flag( flag_NO_UNWIELD ) ) || ( g->u.is_worn( given ) && - given.has_flag( flag_NO_TAKEOFF ) ) ) { + if( ( &given == &g->u.weapon && given.has_flag( "NO_UNWIELD" ) ) || ( g->u.is_worn( given ) && + given.has_flag( "NO_TAKEOFF" ) ) ) { // Bionic weapon or shackles return _( "How?" ); } diff --git a/src/npctalk_funcs.cpp b/src/npctalk_funcs.cpp index 0f896eb819ad3..ed70978582e8a 100644 --- a/src/npctalk_funcs.cpp +++ b/src/npctalk_funcs.cpp @@ -690,7 +690,7 @@ void talk_function::follow( npc &p ) { g->add_npc_follower( p.getID() ); p.set_attitude( NPCATT_FOLLOW ); - p.set_fac( faction_your_followers ); + p.set_fac( faction_id( "your_followers" ) ); g->u.cash += p.cash; p.cash = 0; } @@ -753,8 +753,8 @@ void talk_function::leave( npc &p ) new_fac_id += p.name; // create a new "lone wolf" faction for this one NPC faction *new_solo_fac = g->faction_manager_ptr->add_new_faction( p.name, - faction_id( new_fac_id ), faction_no_faction ); - p.set_fac( new_solo_fac ? new_solo_fac->id : faction_no_faction ); + faction_id( new_fac_id ), faction_id( "no_faction" ) ); + p.set_fac( new_solo_fac ? new_solo_fac->id : faction_id( "no_faction" ) ); if( new_solo_fac ) { new_solo_fac->known_by_u = true; } diff --git a/src/npctrade.cpp b/src/npctrade.cpp index ea722164791e2..4a3cbab663727 100644 --- a/src/npctrade.cpp +++ b/src/npctrade.cpp @@ -97,7 +97,7 @@ std::vector npc_trading::init_selling( npc &np ) if( np.will_exchange_items_freely() && !np.weapon.is_null() && - !np.weapon.has_flag( flag_NO_UNWIELD ) + !np.weapon.has_flag( "NO_UNWIELD" ) ) { result.emplace_back( np, np.weapon, np.value( np.weapon ), false ); } @@ -171,7 +171,7 @@ std::vector npc_trading::init_buying( player &buyer, player &selle check_item( item_location( seller, &i->front() ), i->size() ); } - if( !seller.weapon.has_flag( flag_NO_UNWIELD ) ) { + if( !seller.weapon.has_flag( "NO_UNWIELD" ) ) { check_item( item_location( seller, &seller.weapon ), 1 ); } diff --git a/src/overmap.cpp b/src/overmap.cpp index 4c04f0e550080..555b786d0b879 100644 --- a/src/overmap.cpp +++ b/src/overmap.cpp @@ -1765,7 +1765,7 @@ bool overmap::generate_sub( const int z ) continue; } mongroup_id ant_group( ter( i.pos + tripoint_above ) == "anthill" ? - GROUP_ANT : GROUP_ANT_ACID ); + "GROUP_ANT" : "GROUP_ANT_ACID" ); add_mon_group( mongroup( ant_group, tripoint( i.pos.x * 2, i.pos.y * 2, z ), ( i.size * 3 ) / 2, rng( 6000, 8000 ) ) ); build_anthill( tripoint( i.pos, z ), i.size ); @@ -1980,8 +1980,8 @@ void overmap::move_hordes() // Check if the monster is a zombie. auto &type = *( this_monster.type ); if( - !type.species.count( species_ZOMBIE ) || // Only add zombies to hordes. - type.id == mon_jabberwock || // Jabberwockies are an exception. + !type.species.count( ZOMBIE ) || // Only add zombies to hordes. + type.id == mtype_id( "mon_jabberwock" ) || // Jabberwockies are an exception. this_monster.get_speed() <= 30 || // So are very slow zombies, like crawling zombies. this_monster.has_effect( effect_pet ) || // "Zombie pet" zlaves are, too. !this_monster.will_join_horde( INT_MAX ) || // So are zombies who won't join a horde of any size. diff --git a/src/overmap_ui.cpp b/src/overmap_ui.cpp index 1287fb88ca9e0..4343ce4eeb057 100644 --- a/src/overmap_ui.cpp +++ b/src/overmap_ui.cpp @@ -478,7 +478,7 @@ void draw( const catacurses::window &w, const catacurses::window &wbar, const tr // Whether showing hordes is currently enabled const bool showhordes = uistate.overmap_show_hordes; - const oter_id forest = oter_forest.id(); + const oter_id forest = oter_str_id( "forest" ).id(); std::string sZoneName; tripoint tripointZone = tripoint( -1, -1, -1 ); @@ -1477,7 +1477,7 @@ static tripoint display( const tripoint &orig, const draw_data_t &data = draw_da } else { const oter_id oter = overmap_buffer.ter( curs ); // going to or coming from a water tile - if( is_river_or_lake( oter ) || g->m.has_flag( flag_SWIMMABLE, g->u.pos() ) ) { + if( is_river_or_lake( oter ) || g->m.has_flag( "SWIMMABLE", g->u.pos() ) ) { ptype.amphibious = true; } } diff --git a/src/panels.cpp b/src/panels.cpp index 28556f76f9d95..0a59e6578bb03 100644 --- a/src/panels.cpp +++ b/src/panels.cpp @@ -867,7 +867,7 @@ static void draw_limb_health( avatar &u, const catacurses::window &w, int limb_i nc_color color = c_light_red; const auto bp = avatar::hp_to_bp( static_cast( limb_index ) ); - if( u.worn_with_flag( flag_SPLINT, bp ) ) { + if( u.worn_with_flag( "SPLINT", bp ) ) { const auto &eff = u.get_effect( effect_mending, bp ); const int mend_perc = eff.is_null() ? 0.0 : 100 * eff.get_duration() / eff.get_max_duration(); diff --git a/src/pathfinding.cpp b/src/pathfinding.cpp index 1b24ec8a85e97..2857b3f6efff8 100644 --- a/src/pathfinding.cpp +++ b/src/pathfinding.cpp @@ -23,7 +23,6 @@ #include "line.h" #include "type_id.h" #include "point.h" -#include "cata_string_consts.h" enum astar_state { ASL_NONE, @@ -335,7 +334,7 @@ std::vector map::route( const tripoint &f, const tripoint &t, // Climbing fences newg += climb_cost; } else if( doors && ( terrain.open || furniture.open ) && - ( !terrain.has_flag( flag_OPENCLOSE_INSIDE ) || !furniture.has_flag( flag_OPENCLOSE_INSIDE ) || + ( !terrain.has_flag( "OPENCLOSE_INSIDE" ) || !furniture.has_flag( "OPENCLOSE_INSIDE" ) || !is_outside( cur ) ) ) { // Only try to open INSIDE doors from the inside // To open and then move onto the tile @@ -345,7 +344,7 @@ std::vector map::route( const tripoint &f, const tripoint &t, part = vpobst ? vpobst->part_index() : -1; int dummy = -1; if( doors && veh->part_flag( part, VPFLAG_OPENABLE ) && - ( !veh->part_flag( part, flag_OPENCLOSE_INSIDE ) || + ( !veh->part_flag( part, "OPENCLOSE_INSIDE" ) || veh_at_internal( cur, dummy ) == veh ) ) { // Handle car doors, but don't try to path through curtains newg += 10; // One turn to open, 4 to move there diff --git a/src/pickup.cpp b/src/pickup.cpp index c0abaf506cbf9..2dafb6bba70f4 100644 --- a/src/pickup.cpp +++ b/src/pickup.cpp @@ -148,7 +148,7 @@ static pickup_answer handle_problematic_pickup( const item &it, bool &offered_sw offered_swap = true; // TODO: Gray out if not enough hands if( u.is_armed() ) { - amenu.addentry( WIELD, !u.weapon.has_flag( flag_NO_UNWIELD ), 'w', + amenu.addentry( WIELD, !u.weapon.has_flag( "NO_UNWIELD" ), 'w', _( "Dispose of %s and wield %s" ), u.weapon.display_name(), it.display_name() ); } else { @@ -419,7 +419,7 @@ void Pickup::pick_up( const tripoint &p, int min, from_where get_items_from ) if( min != -1 ) { if( veh != nullptr && get_items_from == prompt ) { - const cata::optional carg = vp.part_with_feature( flag_CARGO, false ); + const cata::optional carg = vp.part_with_feature( "CARGO", false ); const bool veh_has_items = carg && !veh->get_items( carg->part_index() ).empty(); const bool map_has_items = g->m.has_items( p ); if( veh_has_items && map_has_items ) { @@ -433,12 +433,12 @@ void Pickup::pick_up( const tripoint &p, int min, from_where get_items_from ) } } if( get_items_from == from_cargo ) { - const cata::optional carg = vp.part_with_feature( flag_CARGO, false ); + const cata::optional carg = vp.part_with_feature( "CARGO", false ); cargo_part = carg ? carg->part_index() : -1; from_vehicle = cargo_part >= 0; } else { // Nothing to change, default is to pick from ground anyway. - if( g->m.has_flag( flag_SEALED, p ) ) { + if( g->m.has_flag( "SEALED", p ) ) { return; } } @@ -493,9 +493,9 @@ void Pickup::pick_up( const tripoint &p, int min, from_where get_items_from ) } // Bail out if this square cannot be auto-picked-up - if( g->check_zone( zone_type_NO_AUTO_PICKUP, p ) ) { + if( g->check_zone( zone_type_id( "NO_AUTO_PICKUP" ), p ) ) { return; - } else if( g->m.has_flag( flag_SEALED, p ) ) { + } else if( g->m.has_flag( "SEALED", p ) ) { return; } } diff --git a/src/player.cpp b/src/player.cpp index 71578f08d6483..fbcf09cb5a310 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -461,8 +461,8 @@ int player::run_cost( int base_cost, bool diag ) const } const bool flatground = movecost < 105; // The "FLAT" tag includes soft surfaces, so not a good fit. - const bool on_road = flatground && g->m.has_flag( flag_ROAD, pos() ); - const bool on_fungus = g->m.has_flag_ter_or_furn( flag_FUNGUS, pos() ); + const bool on_road = flatground && g->m.has_flag( "ROAD", pos() ); + const bool on_fungus = g->m.has_flag_ter_or_furn( "FUNGUS", pos() ); if( !is_mounted() ) { if( movecost > 100 ) { @@ -501,13 +501,13 @@ int player::run_cost( int base_cost, bool diag ) const movecost *= 1.1f; } - if( worn_with_flag( flag_SLOWS_MOVEMENT ) ) { + if( worn_with_flag( "SLOWS_MOVEMENT" ) ) { movecost *= 1.1f; } - if( worn_with_flag( flag_FIN ) ) { + if( worn_with_flag( "FIN" ) ) { movecost *= 1.5f; } - if( worn_with_flag( flag_ROLLER_INLINE ) ) { + if( worn_with_flag( "ROLLER_INLINE" ) ) { if( on_road ) { movecost *= 0.5f; } else { @@ -516,7 +516,7 @@ int player::run_cost( int base_cost, bool diag ) const } // Quad skates might be more stable than inlines, // but that also translates into a slower speed when on good surfaces. - if( worn_with_flag( flag_ROLLER_QUAD ) ) { + if( worn_with_flag( "ROLLER_QUAD" ) ) { if( on_road ) { movecost *= 0.7f; } else { @@ -525,7 +525,7 @@ int player::run_cost( int base_cost, bool diag ) const } // Skates with only one wheel (roller shoes) are fairly less stable // and fairly slower as well - if( worn_with_flag( flag_ROLLER_ONE ) ) { + if( worn_with_flag( "ROLLER_ONE" ) ) { if( on_road ) { movecost *= 0.85f; } else { @@ -549,7 +549,7 @@ int player::run_cost( int base_cost, bool diag ) const movecost += 8; } - if( has_trait( trait_ROOTS3 ) && g->m.has_flag( flag_DIGGABLE, pos() ) ) { + if( has_trait( trait_ROOTS3 ) && g->m.has_flag( "DIGGABLE", pos() ) ) { movecost += 10 * footwear_factor(); } @@ -594,8 +594,8 @@ int player::swim_speed() const ret -= hand_bonus_mult * ( 20 + str_cur * 4 ); } /** @EFFECT_STR increases swim speed bonus from swim_fins */ - if( worn_with_flag( flag_FIN, bp_foot_l ) || worn_with_flag( flag_FIN, bp_foot_r ) ) { - if( worn_with_flag( flag_FIN, bp_foot_l ) && worn_with_flag( flag_FIN, bp_foot_r ) ) { + if( worn_with_flag( "FIN", bp_foot_l ) || worn_with_flag( "FIN", bp_foot_r ) ) { + if( worn_with_flag( "FIN", bp_foot_l ) && worn_with_flag( "FIN", bp_foot_r ) ) { ret -= ( 15 * str_cur ); } else { ret -= ( 15 * str_cur ) / 2; @@ -618,7 +618,7 @@ int player::swim_speed() const /** @EFFECT_DEX increases swim speed */ ret -= str_cur * 6 + dex_cur * 4; - if( worn_with_flag( flag_FLOTATION ) ) { + if( worn_with_flag( "FLOTATION" ) ) { ret = std::min( ret, 400 ); ret = std::max( ret, 200 ); } @@ -843,19 +843,19 @@ std::list player::get_radio_items() const invslice &stacks = inv.slice(); for( auto &stack : stacks ) { item &stack_iter = stack->front(); - if( stack_iter.has_flag( flag_RADIO_ACTIVATION ) ) { + if( stack_iter.has_flag( "RADIO_ACTIVATION" ) ) { rc_items.push_back( &stack_iter ); } } for( auto &elem : worn ) { - if( elem.has_flag( flag_RADIO_ACTIVATION ) ) { + if( elem.has_flag( "RADIO_ACTIVATION" ) ) { rc_items.push_back( &elem ); } } if( is_armed() ) { - if( weapon.has_flag( flag_RADIO_ACTIVATION ) ) { + if( weapon.has_flag( "RADIO_ACTIVATION" ) ) { rc_items.push_back( &weapon ); } } @@ -962,7 +962,7 @@ int player::overmap_sight_range( int light_level ) const float multiplier = Character::mutation_value( "overmap_multiplier" ); // Binoculars double your sight range. - const bool has_optic = ( has_item_with_flag( flag_ZOOM ) || has_bionic( bio_eye_optic ) || + const bool has_optic = ( has_item_with_flag( "ZOOM" ) || has_bionic( bio_eye_optic ) || ( is_mounted() && mounted_creature->has_flag( MF_MECH_RECON_VISION ) ) ); if( has_optic ) { @@ -997,10 +997,10 @@ bool player::sight_impaired() const has_effect( effect_darkness ) ) && ( !( has_trait( trait_PER_SLIME_OK ) ) ) ) || ( underwater && !has_bionic( bio_membrane ) && !has_trait( trait_MEMBRANE ) && - !worn_with_flag( flag_SWIM_GOGGLES ) && !has_trait( trait_PER_SLIME_OK ) && + !worn_with_flag( "SWIM_GOGGLES" ) && !has_trait( trait_PER_SLIME_OK ) && !has_trait( trait_CEPH_EYES ) && !has_trait( trait_SEESLEEP ) ) || ( ( has_trait( trait_MYOPIC ) || has_trait( trait_URSINE_EYE ) ) && - !worn_with_flag( flag_FIX_NEARSIGHT ) && + !worn_with_flag( "FIX_NEARSIGHT" ) && !has_effect( effect_contacts ) && !has_bionic( bio_eye_optic ) ) || has_trait( trait_PER_SLIME ) ); @@ -1032,17 +1032,17 @@ bool player::avoid_trap( const tripoint &pos, const trap &tr ) const bool player::has_alarm_clock() const { - return ( has_item_with_flag( flag_ALARMCLOCK, true ) || + return ( has_item_with_flag( "ALARMCLOCK", true ) || ( g->m.veh_at( pos() ) && - !empty( g->m.veh_at( pos() )->vehicle().get_avail_parts( flag_ALARMCLOCK ) ) ) || + !empty( g->m.veh_at( pos() )->vehicle().get_avail_parts( "ALARMCLOCK" ) ) ) || has_bionic( bio_watch ) ); } bool player::has_watch() const { - return ( has_item_with_flag( flag_WATCH, true ) || + return ( has_item_with_flag( "WATCH", true ) || ( g->m.veh_at( pos() ) && - !empty( g->m.veh_at( pos() )->vehicle().get_avail_parts( flag_WATCH ) ) ) || + !empty( g->m.veh_at( pos() )->vehicle().get_avail_parts( "WATCH" ) ) ) || has_bionic( bio_watch ) ); } @@ -1070,7 +1070,7 @@ void player::pause() bp_hand_r } }, true ); - } else if( g->m.has_flag( flag_SWIMMABLE, pos() ) ) { + } else if( g->m.has_flag( "SWIMMABLE", pos() ) ) { drench( 40, { { bp_foot_l, bp_foot_r, bp_leg_l, bp_leg_r } }, false ); } } @@ -1220,6 +1220,8 @@ bool player::is_dead_state() const void player::on_dodge( Creature *source, float difficulty ) { + static const matec_id tec_none( "tec_none" ); + // Each avoided hit consumes an available dodge // When no more available we are likely to fail player::dodge_roll dodges_left--; @@ -1240,7 +1242,7 @@ void player::on_dodge( Creature *source, float difficulty ) if( source && square_dist( pos(), source->pos() ) == 1 ) { matec_id tec = pick_technique( *source, used_weapon(), false, true, false ); - if( tec != matec_tec_none && !is_dead_state() ) { + if( tec != tec_none && !is_dead_state() ) { if( get_stamina() < get_stamina_max() / 3 ) { add_msg( m_bad, _( "You try to counterattack but you are too exhausted!" ) ); } else { @@ -1324,9 +1326,9 @@ void player::on_hit( Creature *source, body_part bp_hit, source->add_effect( effect_blind, 2_turns ); } } - if( worn_with_flag( flag_REQUIRES_BALANCE ) && !has_effect( effect_downed ) ) { + if( worn_with_flag( "REQUIRES_BALANCE" ) && !has_effect( effect_downed ) ) { int rolls = 4; - if( worn_with_flag( flag_ROLLER_ONE ) ) { + if( worn_with_flag( "ROLLER_ONE" ) ) { rolls += 2; } if( has_trait( trait_PROF_SKATER ) ) { @@ -1709,7 +1711,7 @@ void player::apply_damage( Creature *source, body_part hurt, int dam, const bool float player::fall_damage_mod() const { - if( has_effect_with_flag( flag_EFFECT_FEATHER_FALL ) ) { + if( has_effect_with_flag( "EFFECT_FEATHER_FALL" ) ) { return 0.0f; } float ret = 1.0f; @@ -1754,7 +1756,7 @@ int player::impact( const int force, const tripoint &p ) // TODO: Make cushioned items like bike helmets help more float armor_eff = 1.0f; // Shock Absorber CBM heavily reduces damage - const bool shock_absorbers = has_active_bionic( bio_shock_absorber ); + const bool shock_absorbers = has_active_bionic( bionic_id( "bio_shock_absorber" ) ); // Being slammed against things rather than landing means we can't // control the impact as well @@ -1773,14 +1775,14 @@ int player::impact( const int force, const tripoint &p ) // Slamming into vehicles // TODO: Integrate it with vehicle collision function somehow target_name = vp->vehicle().disp_name(); - if( vp.part_with_feature( flag_SHARP, true ) ) { + if( vp.part_with_feature( "SHARP", true ) ) { // Now we're actually getting impaled cut = force; // Lots of fun } mod = slam ? 1.0f : fall_damage_mod(); armor_eff = 0.25f; // Not much - if( !slam && vp->part_with_feature( flag_ROOF, true ) ) { + if( !slam && vp->part_with_feature( "ROOF", true ) ) { // Roof offers better landing than frame or pavement // TODO: Make this not happen with heavy duty/plated roof effective_force /= 2; @@ -1911,7 +1913,7 @@ void player::knock_back_to( const tripoint &to ) } // If we're still in the function at this point, we're actually moving a tile! - if( g->m.has_flag( flag_LIQUID, to ) && g->m.has_flag( TFLAG_DEEP_WATER, to ) ) { + if( g->m.has_flag( "LIQUID", to ) && g->m.has_flag( TFLAG_DEEP_WATER, to ) ) { if( !is_npc() ) { avatar_action::swim( g->m, g->u, to ); } @@ -2378,7 +2380,7 @@ void player::process_items() item *cloak = nullptr; item *power_armor = nullptr; std::vector active_worn_items; - bool weapon_active = weapon.has_flag( flag_USE_UPS ) && + bool weapon_active = weapon.has_flag( "USE_UPS" ) && weapon.charges < weapon.type->maximum_charges(); std::vector active_held_items; int ch_UPS = 0; @@ -2390,18 +2392,18 @@ void player::process_items() } else if( identifier == "adv_UPS_off" ) { ch_UPS += it.ammo_remaining() / 0.6; } - if( it.has_flag( flag_USE_UPS ) && it.charges < it.type->maximum_charges() ) { + if( it.has_flag( "USE_UPS" ) && it.charges < it.type->maximum_charges() ) { active_held_items.push_back( index ); } } bool update_required = get_check_encumbrance(); for( item &w : worn ) { - if( w.has_flag( flag_USE_UPS ) && + if( w.has_flag( "USE_UPS" ) && w.charges < w.type->maximum_charges() ) { active_worn_items.push_back( &w ); } if( w.active ) { - if( cloak == nullptr && w.has_flag( flag_ACTIVE_CLOAKING ) ) { + if( cloak == nullptr && w.has_flag( "ACTIVE_CLOAKING" ) ) { cloak = &w; } // Only the main power armor item can be active, the other ones (hauling frame, helmet) aren't. @@ -2424,7 +2426,7 @@ void player::process_items() if( update_required ) { reset_encumbrance(); } - if( has_active_bionic( bio_ups ) ) { + if( has_active_bionic( bionic_id( "bio_ups" ) ) ) { ch_UPS += units::to_kilojoule( get_power_level() ); } int ch_UPS_used = 0; @@ -2612,7 +2614,7 @@ bool player::consume_med( item &target ) // TODO: Get the target it was used on // Otherwise injecting someone will give us addictions etc. - if( target.has_flag( flag_NO_INGEST ) ) { + if( target.has_flag( "NO_INGEST" ) ) { const auto &comest = *target.get_comestible(); // Assume that parenteral meds don't spoil, so don't apply rot modify_health( comest ); @@ -2767,7 +2769,7 @@ bool player::add_faction_warning( const faction_id &id ) warning_record[id] = std::make_pair( 1, calendar::turn ); } faction *fac = g->faction_manager_ptr->get( id ); - if( fac != nullptr && is_player() && fac->id != faction_no_faction ) { + if( fac != nullptr && is_player() && fac->id != faction_id( "no_faction" ) ) { fac->likes_u -= 1; fac->respects_u -= 1; } @@ -2810,7 +2812,7 @@ item::reload_option player::select_ammo( const item &base, uilist menu; menu.text = string_format( base.is_watertight_container() ? _( "Refill %s" ) : - base.has_flag( flag_RELOAD_AND_SHOOT ) ? _( "Select ammo for %s" ) : _( "Reload %s" ), + base.has_flag( "RELOAD_AND_SHOOT" ) ? _( "Select ammo for %s" ) : _( "Reload %s" ), base.tname() ); menu.w_width = -1; menu.w_height = -1; @@ -3009,7 +3011,7 @@ item::reload_option player::select_ammo( const item &base, } return false; } - } cb( opts, draw_row, last_key, default_to, !base.has_flag( flag_RELOAD_ONE ) ); + } cb( opts, draw_row, last_key, default_to, !base.has_flag( "RELOAD_ONE" ) ); menu.callback = &cb; menu.query(); @@ -3054,11 +3056,11 @@ bool player::list_ammo( const item &base, std::vector &ammo : ammo->typeId(); if( e->can_reload_with( id ) ) { // Speedloaders require an empty target. - if( !ammo->has_flag( flag_SPEEDLOADER ) || e->ammo_remaining() < 1 ) { + if( !ammo->has_flag( "SPEEDLOADER" ) || e->ammo_remaining() < 1 ) { ammo_match_found = true; } } - if( can_reload( *e, id ) || e->has_flag( flag_RELOAD_AND_SHOOT ) ) { + if( can_reload( *e, id ) || e->has_flag( "RELOAD_AND_SHOOT" ) ) { ammo_list.emplace_back( this, e, &base, std::move( ammo ) ); } } @@ -3135,11 +3137,11 @@ ret_val player::can_wield( const item &it ) const _( "You need at least one arm to even consider wielding something." ) ); } - if( it.is_two_handed( *this ) && ( !has_two_arms() || worn_with_flag( flag_RESTRICT_HANDS ) ) ) { - if( worn_with_flag( flag_RESTRICT_HANDS ) ) { + if( it.is_two_handed( *this ) && ( !has_two_arms() || worn_with_flag( "RESTRICT_HANDS" ) ) ) { + if( worn_with_flag( "RESTRICT_HANDS" ) ) { return ret_val::make_failure( _( "Something you are wearing hinders the use of both hands." ) ); - } else if( it.has_flag( flag_ALWAYS_TWOHAND ) ) { + } else if( it.has_flag( "ALWAYS_TWOHAND" ) ) { return ret_val::make_failure( _( "The %s can't be wielded with only one arm." ), it.tname() ); } else { @@ -3174,25 +3176,25 @@ bool player::unwield() // ids of martial art styles that are available with the bio_cqb bionic. static const std::vector bio_cqb_styles{ { - style_aikido, - style_biojutsu, - style_boxing, - style_capoeira, - style_crane, - style_dragon, - style_judo, - style_karate, - style_krav_maga, - style_leopard, - style_muay_thai, - style_ninjutsu, - style_pankration, - style_snake, - style_taekwondo, - style_tai_chi, - style_tiger, - style_wingchun, - style_zui_quan + matype_id{ "style_aikido" }, + matype_id{ "style_biojutsu" }, + matype_id{ "style_boxing" }, + matype_id{ "style_capoeira" }, + matype_id{ "style_crane" }, + matype_id{ "style_dragon" }, + matype_id{ "style_judo" }, + matype_id{ "style_karate" }, + matype_id{ "style_krav_maga" }, + matype_id{ "style_leopard" }, + matype_id{ "style_muay_thai" }, + matype_id{ "style_ninjutsu" }, + matype_id{ "style_pankration" }, + matype_id{ "style_snake" }, + matype_id{ "style_taekwondo" }, + matype_id{ "style_tai_chi" }, + matype_id{ "style_tiger" }, + matype_id{ "style_wingchun" }, + matype_id{ "style_zui_quan" } }}; bool character_martial_arts::pick_style( const avatar &you ) // Style selection menu @@ -3428,7 +3430,7 @@ void player::mend_item( item_location &&obj, bool interactive ) } const mending_method &method = opt.method; - assign_activity( ACT_MEND_ITEM, to_moves( method.time ) ); + assign_activity( activity_id( "ACT_MEND_ITEM" ), to_moves( method.time ) ); activity.name = opt.fault.str(); activity.str_values.emplace_back( method.id ); activity.targets.push_back( std::move( obj ) ); @@ -3458,7 +3460,7 @@ int player::item_reload_cost( const item &it, const item &ammo, int qty ) const // We have the ammo in our hands right now int mv = item_handling_cost( obj, true, 0 ); - if( ammo.has_flag( flag_MAG_BULKY ) ) { + if( ammo.has_flag( "MAG_BULKY" ) ) { mv *= 1.5; // bulky magazines take longer to insert } @@ -3478,7 +3480,7 @@ int player::item_reload_cost( const item &it, const item &ammo, int qty ) const skill_id sk = it.is_gun() ? it.type->gun->skill_used : skill_gun; mv += cost / ( 1.0f + std::min( get_skill_level( sk ) * 0.1f, 1.0f ) ); - if( it.has_flag( flag_STR_RELOAD ) ) { + if( it.has_flag( "STR_RELOAD" ) ) { /** @EFFECT_STR reduces reload time of some weapons */ mv -= get_str() * 20; } @@ -3566,7 +3568,7 @@ ret_val player::can_takeoff( const item &it, const std::list *res ) _( "You can't take off power armor while wearing other power armor components." ) : _( " can't take off power armor while wearing other power armor components." ) ); } - if( it.has_flag( flag_NO_TAKEOFF ) ) { + if( it.has_flag( "NO_TAKEOFF" ) ) { return ret_val::make_failure( !is_npc() ? _( "You can't take that item off." ) : _( " can't take that item off." ) ); @@ -3679,7 +3681,7 @@ bool player::unload( item &it ) std::vector opts( 1, &it ); for( auto e : it.gunmods() ) { - if( e->is_gun() && !e->has_flag( flag_NO_UNLOAD ) && + if( e->is_gun() && !e->has_flag( "NO_UNLOAD" ) && ( e->magazine_current() || e->ammo_remaining() > 0 || e->casings_count() > 0 ) ) { msgs.emplace_back( e->tname() ); opts.emplace_back( e ); @@ -3706,8 +3708,8 @@ bool player::unload( item &it ) return false; } - if( target->has_flag( flag_NO_UNLOAD ) ) { - if( target->has_flag( flag_RECHARGE ) || target->has_flag( flag_USE_UPS ) ) { + if( target->has_flag( "NO_UNLOAD" ) ) { + if( target->has_flag( "RECHARGE" ) || target->has_flag( "USE_UPS" ) ) { add_msg( m_info, _( "You can't unload a rechargeable %s!" ), target->tname() ); } else { add_msg( m_info, _( "You can't unload a %s!" ), target->tname() ); @@ -3729,7 +3731,7 @@ bool player::unload( item &it ) } ); if( target->is_magazine() ) { - player_activity unload_mag_act( ACT_UNLOAD_MAG ); + player_activity unload_mag_act( activity_id( "ACT_UNLOAD_MAG" ) ); assign_activity( unload_mag_act ); activity.targets.emplace_back( item_location( *this, target ) ); @@ -3846,7 +3848,7 @@ hint_rating player::rate_action_unload( const item &it ) const return HINT_GOOD; } - if( it.has_flag( flag_NO_UNLOAD ) ) { + if( it.has_flag( "NO_UNLOAD" ) ) { return HINT_CANT; } @@ -3855,7 +3857,7 @@ hint_rating player::rate_action_unload( const item &it ) const } for( auto e : it.gunmods() ) { - if( e->is_gun() && !e->has_flag( flag_NO_UNLOAD ) && + if( e->is_gun() && !e->has_flag( "NO_UNLOAD" ) && ( e->magazine_current() || e->ammo_remaining() > 0 || e->casings_count() > 0 ) ) { return HINT_GOOD; } @@ -4059,7 +4061,7 @@ bool player::gunmod_remove( item &gun, item &mod ) std::pair player::gunmod_installation_odds( const item &gun, const item &mod ) const { // Mods with INSTALL_DIFFICULT have a chance to fail, potentially damaging the gun - if( !mod.has_flag( flag_INSTALL_DIFFICULT ) || has_trait( trait_DEBUG_HS ) ) { + if( !mod.has_flag( "INSTALL_DIFFICULT" ) || has_trait( trait_DEBUG_HS ) ) { return std::make_pair( 100, 0 ); } @@ -4165,7 +4167,7 @@ void player::gunmod_add( item &gun, item &mod ) const int moves = !has_trait( trait_DEBUG_HS ) ? mod.type->gunmod->install_time : 0; - assign_activity( ACT_GUNMOD_ADD, moves, -1, get_item_position( &gun ), tool ); + assign_activity( activity_id( "ACT_GUNMOD_ADD" ), moves, -1, get_item_position( &gun ), tool ); activity.values.push_back( get_item_position( &mod ) ); activity.values.push_back( roll ); // chance of success (%) activity.values.push_back( risk ); // chance of damage (%) @@ -4190,7 +4192,7 @@ void player::toolmod_add( item_location tool, item_location mod ) return; // player canceled installation } - assign_activity( ACT_TOOLMOD_ADD, 1, -1 ); + assign_activity( activity_id( "ACT_TOOLMOD_ADD" ), 1, -1 ); activity.targets.emplace_back( std::move( tool ) ); activity.targets.emplace_back( std::move( mod ) ); } @@ -4202,7 +4204,7 @@ bool player::fun_to_read( const item &book ) const has_trait( trait_SAPIOVORE ) ) && book.typeId() == "cookbook_human" ) { return true; - } else if( has_trait( trait_SPIRITUAL ) && book.has_flag( flag_INSPIRATIONAL ) ) { + } else if( has_trait( trait_SPIRITUAL ) && book.has_flag( "INSPIRATIONAL" ) ) { return true; } else { return book_fun_for( book, *this ) > 0; @@ -4222,7 +4224,7 @@ int player::book_fun_for( const item &book, const player &p ) const p.has_trait( trait_SAPIOVORE ) ) && book.typeId() == "cookbook_human" ) { fun_bonus = abs( fun_bonus ); - } else if( p.has_trait( trait_SPIRITUAL ) && book.has_flag( flag_INSPIRATIONAL ) ) { + } else if( p.has_trait( trait_SPIRITUAL ) && book.has_flag( "INSPIRATIONAL" ) ) { fun_bonus = abs( fun_bonus * 3 ); } @@ -4359,7 +4361,7 @@ void player::try_to_sleep( const time_duration &dur ) } } else if( has_trait( trait_M_SKIN3 ) ) { fungaloid_cosplay = true; - if( g->m.has_flag_ter_or_furn( flag_FUNGUS, pos() ) ) { + if( g->m.has_flag_ter_or_furn( "FUNGUS", pos() ) ) { add_msg_if_player( m_good, _( "Our fibers meld with the ground beneath us. The gills on our neck begin to seed the air with spores as our awareness fades." ) ); } @@ -4406,7 +4408,7 @@ void player::try_to_sleep( const time_duration &dur ) add_msg_if_player( m_good, _( "You lay beneath the waves' embrace, gazing up through the water's surface…" ) ); watersleep = true; - } else if( g->m.has_flag_ter( flag_SWIMMABLE, pos() ) ) { + } else if( g->m.has_flag_ter( "SWIMMABLE", pos() ) ) { add_msg_if_player( m_good, _( "You settle into the water and begin to drowse…" ) ); watersleep = true; } @@ -4415,8 +4417,8 @@ void player::try_to_sleep( const time_duration &dur ) ter_at_pos == t_improvised_shelter || trap_at_pos.comfort > static_cast( comfort_level::neutral ) || in_shell || websleeping || watersleep || - vp.part_with_feature( flag_SEAT, true ) || - vp.part_with_feature( flag_BED, true ) ) ) { + vp.part_with_feature( "SEAT", true ) || + vp.part_with_feature( "BED", true ) ) ) { add_msg_if_player( m_good, _( "This is a comfortable place to sleep." ) ); } else if( !plantsleep && !fungaloid_cosplay && !watersleep ) { if( !vp && ter_at_pos != t_floor ) { @@ -4449,7 +4451,7 @@ void player::try_to_sleep( const time_duration &dur ) add_msg_if_player( m_bad, _( "Your soporific inducer doesn't have enough power to operate." ) ); } } - assign_activity( ACT_TRY_SLEEP, to_moves( dur ) ); + assign_activity( activity_id( "ACT_TRY_SLEEP" ), to_moves( dur ) ); } int player::sleep_spot( const tripoint &p ) const @@ -4482,7 +4484,7 @@ int player::sleep_spot( const tripoint &p ) const // Mousefolk can sleep just about anywhere. sleepy += 40; } - if( watersleep && g->m.has_flag_ter( flag_SWIMMABLE, pos() ) ) { + if( watersleep && g->m.has_flag_ter( "SWIMMABLE", pos() ) ) { sleepy += 10; //comfy water! } @@ -4571,9 +4573,8 @@ float player::fine_detail_vision_mod( const tripoint &p ) const bool player::natural_attack_restricted_on( body_part bp ) const { for( auto &i : worn ) { - if( i.covers( bp ) && !i.has_flag( flag_ALLOWS_NATURAL_ATTACKS ) && - !i.has_flag( flag_SEMITANGIBLE ) && - !i.has_flag( flag_PERSONAL ) && !i.has_flag( flag_AURA ) ) { + if( i.covers( bp ) && !i.has_flag( "ALLOWS_NATURAL_ATTACKS" ) && !i.has_flag( "SEMITANGIBLE" ) && + !i.has_flag( "PERSONAL" ) && !i.has_flag( "AURA" ) ) { return true; } } @@ -4631,16 +4632,16 @@ void player::practice( const skill_id &id, int amount, int cap, bool suppress_wa amount = 0; } } - if( has_trait_flag( flag_PRED2 ) && skill.is_combat_skill() ) { + if( has_trait_flag( "PRED2" ) && skill.is_combat_skill() ) { if( one_in( 3 ) ) { amount *= 2; } } - if( has_trait_flag( flag_PRED3 ) && skill.is_combat_skill() ) { + if( has_trait_flag( "PRED3" ) && skill.is_combat_skill() ) { amount *= 2; } - if( has_trait_flag( flag_PRED4 ) && skill.is_combat_skill() ) { + if( has_trait_flag( "PRED4" ) && skill.is_combat_skill() ) { amount *= 3; } @@ -4671,7 +4672,7 @@ void player::practice( const skill_id &id, int amount, int cap, bool suppress_wa focus_pool -= chance_to_drop / 100; // Apex Predators don't think about much other than killing. // They don't lose Focus when practicing combat skills. - if( ( rng( 1, 100 ) <= ( chance_to_drop % 100 ) ) && ( !( has_trait_flag( flag_PRED4 ) && + if( ( rng( 1, 100 ) <= ( chance_to_drop % 100 ) ) && ( !( has_trait_flag( "PRED4" ) && skill.is_combat_skill() ) ) ) { focus_pool--; } @@ -4750,7 +4751,7 @@ bool player::has_gun_for_ammo( const ammotype &at ) const bool player::has_magazine_for_ammo( const ammotype &at ) const { return has_item_with( [&at]( const item & it ) { - return !it.has_flag( flag_NO_RELOAD ) && + return !it.has_flag( "NO_RELOAD" ) && ( ( it.is_magazine() && it.ammo_types().count( at ) ) || ( it.is_gun() && it.magazine_integral() && it.ammo_types().count( at ) ) || ( it.is_gun() && it.magazine_current() != nullptr && @@ -4765,11 +4766,11 @@ std::string player::weapname( unsigned int truncate ) const std::string str = string_format( "(%s) %s", weapon.gun_current_mode().tname(), weapon.type_name() ); // Is either the base item or at least one auxiliary gunmod loaded (includes empty magazines) - bool base = weapon.ammo_capacity() > 0 && !weapon.has_flag( flag_RELOAD_AND_SHOOT ); + bool base = weapon.ammo_capacity() > 0 && !weapon.has_flag( "RELOAD_AND_SHOOT" ); const auto mods = weapon.gunmods(); bool aux = std::any_of( mods.begin(), mods.end(), [&]( const item * e ) { - return e->is_gun() && e->ammo_capacity() > 0 && !e->has_flag( flag_RELOAD_AND_SHOOT ); + return e->is_gun() && e->ammo_capacity() > 0 && !e->has_flag( "RELOAD_AND_SHOOT" ); } ); if( base || aux ) { @@ -4785,7 +4786,7 @@ std::string player::weapname( unsigned int truncate ) const str += ")"; for( auto e : mods ) { - if( e->is_gun() && e->ammo_capacity() > 0 && !e->has_flag( flag_RELOAD_AND_SHOOT ) ) { + if( e->is_gun() && e->ammo_capacity() > 0 && !e->has_flag( "RELOAD_AND_SHOOT" ) ) { str += " (" + std::to_string( e->ammo_remaining() ); if( e->magazine_integral() ) { str += "/" + std::to_string( e->ammo_capacity() ); @@ -5442,10 +5443,10 @@ void player::place_corpse() for( const bionic &bio : *my_bionics ) { if( item::type_is_defined( bio.id.str() ) ) { item cbm( bio.id.str(), calendar::turn ); - cbm.set_flag( flag_FILTHY ); - cbm.set_flag( flag_NO_STERILE ); - cbm.set_flag( flag_NO_PACKED ); - cbm.faults.emplace( fault_bionic_salvaged ); + cbm.set_flag( "FILTHY" ); + cbm.set_flag( "NO_STERILE" ); + cbm.set_flag( "NO_PACKED" ); + cbm.faults.emplace( fault_id( "fault_bionic_salvaged" ) ); body.put_in( cbm ); } } diff --git a/src/player.h b/src/player.h index 99be20fa30579..05164077e6ec4 100644 --- a/src/player.h +++ b/src/player.h @@ -65,6 +65,7 @@ class JsonOut; struct dealt_projectile_attack; class dispersion_sources; +using itype_id = std::string; using faction_id = string_id; struct trap; class profession; diff --git a/src/player_activity.cpp b/src/player_activity.cpp index 5c7b46bc5c969..6571685f02a3e 100644 --- a/src/player_activity.cpp +++ b/src/player_activity.cpp @@ -4,7 +4,6 @@ #include "activity_handlers.h" #include "activity_type.h" -#include "cata_string_consts.h" #include "construction.h" #include "map.h" #include "game.h" @@ -13,6 +12,7 @@ #include "avatar.h" #include "itype.h" #include "skill.h" +#include "cata_string_consts.h" player_activity::player_activity() : type( activity_id::NULL_ID() ) { } diff --git a/src/player_activity.h b/src/player_activity.h index 9efb7b0d47da7..9c6ad33aaefe1 100644 --- a/src/player_activity.h +++ b/src/player_activity.h @@ -25,6 +25,8 @@ class activity_type; class monster; class translation; +using activity_id = string_id; + class player_activity { private: diff --git a/src/player_hardcoded_effects.cpp b/src/player_hardcoded_effects.cpp index 48b6f9769bac5..0946237d1520c 100644 --- a/src/player_hardcoded_effects.cpp +++ b/src/player_hardcoded_effects.cpp @@ -1011,7 +1011,7 @@ void player::hardcoded_effects( effect &it ) } if( has_trait( trait_M_SKIN3 ) ) { // Spores happen! - if( g->m.has_flag_ter_or_furn( flag_FUNGUS, pos() ) ) { + if( g->m.has_flag_ter_or_furn( "FUNGUS", pos() ) ) { if( get_fatigue() >= 0 ) { mod_fatigue( -5 ); // Local guides need less sleep on fungal soil } @@ -1145,7 +1145,7 @@ void player::hardcoded_effects( effect &it ) if( mp == pos() ) { continue; } - if( g->m.has_flag( flag_FLAT, mp ) && + if( g->m.has_flag( "FLAT", mp ) && g->m.pl_sees( mp, 2 ) ) { g->spawn_hallucination( mp ); if( ++count > max_count ) { diff --git a/src/profession.cpp b/src/profession.cpp index acf39956d6361..20765f0229e7b 100644 --- a/src/profession.cpp +++ b/src/profession.cpp @@ -23,7 +23,6 @@ #include "item.h" #include "flat_set.h" #include "type_id.h" -#include "cata_string_consts.h" namespace { @@ -404,7 +403,7 @@ std::list profession::items( bool male, const std::vector &trait if( it.is_holster() && it.contents.size() == 1 ) { clear_faults( it.contents.front() ); } - if( it.has_flag( flag_VARSIZE ) ) { + if( it.has_flag( "VARSIZE" ) ) { it.item_tags.insert( "FIT" ); } } diff --git a/src/profession.h b/src/profession.h index baa2f410f1141..8c3c5fb96340e 100644 --- a/src/profession.h +++ b/src/profession.h @@ -20,6 +20,7 @@ class generic_factory; using Group_tag = std::string; class item; +using itype_id = std::string; class avatar; class player; class JsonObject; diff --git a/src/ranged.cpp b/src/ranged.cpp index 45b634fbd1499..39b1cb0f459cb 100644 --- a/src/ranged.cpp +++ b/src/ranged.cpp @@ -176,7 +176,7 @@ bool player::handle_gun_damage( item &it ) // and so are immune to this effect, note also that WATERPROOF_GUN status does not // mean the gun will actually be accurate underwater. int effective_durability = firing.durability; - if( is_underwater() && !it.has_flag( flag_WATERPROOF_GUN ) && one_in( effective_durability ) ) { + if( is_underwater() && !it.has_flag( "WATERPROOF_GUN" ) && one_in( effective_durability ) ) { add_msg_player_or_npc( _( "Your %s misfires with a wet click!" ), _( "'s %s misfires with a wet click!" ), it.tname() ); @@ -353,7 +353,7 @@ int player::fire_gun( const tripoint &target, int shots, item &gun ) } // usage of any attached bipod is dependent upon terrain - bool bipod = g->m.has_flag_ter_or_furn( flag_MOUNTABLE, pos() ); + bool bipod = g->m.has_flag_ter_or_furn( "MOUNTABLE", pos() ); if( !bipod ) { if( const optional_vpart_position vp = g->m.veh_at( pos() ) ) { bipod = vp->vehicle().has_part( pos(), "MOUNTABLE" ); @@ -593,7 +593,7 @@ dealt_projectile_attack player::throw_item( const tripoint &target, const item & auto &impact = proj.impact; auto &proj_effects = proj.proj_effects; - static const std::set ferric = { material_iron, material_steel }; + static const std::set ferric = { material_id( "iron" ), material_id( "steel" ) }; bool do_railgun = has_active_bionic( bio_railgun ) && thrown.made_of_any( ferric ) && !throw_assist; @@ -611,14 +611,14 @@ dealt_projectile_attack player::throw_item( const tripoint &target, const item & static_cast( MAX_SKILL ) ) * 0.85 + 0.15; impact.add_damage( DT_BASH, std::min( weight / 100.0_gram, stats_mod ) ); - if( thrown.has_flag( flag_ACT_ON_RANGED_HIT ) ) { + if( thrown.has_flag( "ACT_ON_RANGED_HIT" ) ) { proj_effects.insert( "ACT_ON_RANGED_HIT" ); thrown.active = true; } // Item will shatter upon landing, destroying the item, dealing damage, and making noise /** @EFFECT_STR increases chance of shattering thrown glass items (NEGATIVE) */ - const bool shatter = !thrown.active && thrown.made_of( material_glass ) && + const bool shatter = !thrown.active && thrown.made_of( material_id( "glass" ) ) && rng( 0, units::to_milliliter( 2_liter - volume ) ) < get_str() * 100; // Item will burst upon landing, destroying the item, and spilling its contents @@ -664,7 +664,7 @@ dealt_projectile_attack player::throw_item( const tripoint &target, const item & du.res_pen += skill_level / 2.0f; } // handling for tangling thrown items - if( thrown.has_flag( flag_TANGLE ) ) { + if( thrown.has_flag( "TANGLE" ) ) { proj_effects.insert( "TANGLE" ); } @@ -2189,14 +2189,14 @@ static void cycle_action( item &weap, const tripoint &pos ) // for turrets try and drop casings or linkages directly to any CARGO part on the same tile const optional_vpart_position vp = g->m.veh_at( pos ); std::vector cargo; - if( vp && weap.has_flag( flag_VEHICLE ) ) { - cargo = vp->vehicle().get_parts_at( pos, flag_CARGO, part_status_flag::any ); + if( vp && weap.has_flag( "VEHICLE" ) ) { + cargo = vp->vehicle().get_parts_at( pos, "CARGO", part_status_flag::any ); } if( weap.ammo_data() && weap.ammo_data()->ammo->casing ) { const itype_id casing = *weap.ammo_data()->ammo->casing; - if( weap.has_flag( flag_RELOAD_EJECT ) || weap.gunmod_find( "brass_catcher" ) ) { - weap.contents.push_back( item( casing ).set_flag( flag_CASING ) ); + if( weap.has_flag( "RELOAD_EJECT" ) || weap.gunmod_find( "brass_catcher" ) ) { + weap.contents.push_back( item( casing ).set_flag( "CASING" ) ); } else { if( cargo.empty() ) { g->m.add_item_or_charges( eject, item( casing ) ); @@ -2214,7 +2214,7 @@ static void cycle_action( item &weap, const tripoint &pos ) if( mag && mag->type->magazine->linkage ) { item linkage( *mag->type->magazine->linkage, calendar::turn, 1 ); if( weap.gunmod_find( "brass_catcher" ) ) { - linkage.set_flag( flag_CASING ); + linkage.set_flag( "CASING" ); weap.contents.push_back( linkage ); } else if( cargo.empty() ) { g->m.add_item_or_charges( eject, linkage ); diff --git a/src/recipe.cpp b/src/recipe.cpp index 21b250c75b8bd..2766064917da8 100644 --- a/src/recipe.cpp +++ b/src/recipe.cpp @@ -26,7 +26,6 @@ #include "string_id.h" #include "flat_set.h" #include "units.h" -#include "cata_string_consts.h" extern bool test_mode; @@ -445,7 +444,7 @@ std::vector recipe::create_byproducts( int batch ) const std::vector bps; for( const auto &e : byproducts ) { item obj( e.first, calendar::turn, item::default_charges_tag{} ); - if( obj.has_flag( flag_VARSIZE ) ) { + if( obj.has_flag( "VARSIZE" ) ) { obj.item_tags.insert( "FIT" ); } @@ -560,7 +559,7 @@ std::function recipe::get_component_filter( // Disallow crafting of non-perishables with rotten components // Make an exception for items with the ALLOW_ROTTEN flag such as seeds const bool recipe_forbids_rotten = - result.is_food() && !result.goes_bad() && !has_flag( flag_ALLOW_ROTTEN ); + result.is_food() && !result.goes_bad() && !has_flag( "ALLOW_ROTTEN" ); const bool flags_forbid_rotten = static_cast( flags & recipe_filter_flags::no_rotten ) && result.goes_bad(); std::function rotten_filter = return_true; @@ -576,14 +575,14 @@ std::function recipe::get_component_filter( std::function frozen_filter = return_true; if( result.is_food() && !hot_result() ) { frozen_filter = []( const item & component ) { - return !component.has_flag( flag_FROZEN ) || component.has_flag( flag_EDIBLE_FROZEN ); + return !component.has_flag( "FROZEN" ) || component.has_flag( "EDIBLE_FROZEN" ); }; } // Disallow usage of non-full magazines as components // This is primarily used to require a fully charged battery, but works for any magazine. std::function magazine_filter = return_true; - if( has_flag( flag_FULL_MAGAZINE ) ) { + if( has_flag( "FULL_MAGAZINE" ) ) { magazine_filter = []( const item & component ) { return !component.is_magazine() || ( component.ammo_remaining() >= component.ammo_capacity() ); }; diff --git a/src/recipe.h b/src/recipe.h index 385acd21d9c1b..cce16c8b2a82e 100644 --- a/src/recipe.h +++ b/src/recipe.h @@ -18,6 +18,7 @@ class item; class JsonObject; class time_duration; +using itype_id = std::string; // From itype.h class Character; enum class recipe_filter_flags : int { diff --git a/src/recipe_dictionary.h b/src/recipe_dictionary.h index d93a54e33124b..9e9ab4ee6d8f6 100644 --- a/src/recipe_dictionary.h +++ b/src/recipe_dictionary.h @@ -18,6 +18,8 @@ class JsonIn; class JsonOut; class JsonObject; +using itype_id = std::string; + class recipe_dictionary { friend class Item_factory; // allow removal of blacklisted recipes diff --git a/src/requirements.cpp b/src/requirements.cpp index a0a5754b7b567..30af435881715 100644 --- a/src/requirements.cpp +++ b/src/requirements.cpp @@ -1026,7 +1026,7 @@ requirement_data requirement_data::disassembly_requirements() const []( std::vector &cov ) { cov.erase( std::remove_if( cov.begin(), cov.end(), []( const item_comp & comp ) { - return !comp.recoverable || item( comp.type ).has_flag( flag_UNRECOVERABLE ); + return !comp.recoverable || item( comp.type ).has_flag( "UNRECOVERABLE" ); } ), cov.end() ); return cov.empty(); } ), ret.components.end() ); diff --git a/src/requirements.h b/src/requirements.h index bc5ed5f052978..a9fccc5554c9e 100644 --- a/src/requirements.h +++ b/src/requirements.h @@ -23,6 +23,9 @@ class JsonOut; class inventory; class item; +// Denotes the id of an item type +using itype_id = std::string; + enum available_status { a_true = +1, // yes, it's available a_false = -1, // no, it's not available diff --git a/src/savegame_json.cpp b/src/savegame_json.cpp index ddf5ea8e94a11..2090ff00b88fe 100644 --- a/src/savegame_json.cpp +++ b/src/savegame_json.cpp @@ -450,7 +450,7 @@ void Character::load( const JsonObject &data ) matype_id temp_selected_style; data.read( "style_selected", temp_selected_style ); if( !temp_selected_style.is_valid() ) { - temp_selected_style = style_none; + temp_selected_style = matype_id( "style_none" ); } martial_arts_data = character_martial_arts( temp_styles, temp_selected_style, temp_keep_hands_free ); @@ -479,8 +479,8 @@ void Character::load( const JsonObject &data ) backlog.push_front( temp ); } if( !backlog.empty() && !backlog.front().str_values.empty() && ( ( activity && - activity.id() == ACT_FETCH_REQUIRED ) || ( destination_activity && - destination_activity.id() == ACT_FETCH_REQUIRED ) ) ) { + activity.id() == activity_id( "ACT_FETCH_REQUIRED" ) ) || ( destination_activity && + destination_activity.id() == activity_id( "ACT_FETCH_REQUIRED" ) ) ) ) { requirement_data fetch_reqs; data.read( "fetch_data", fetch_reqs ); const requirement_id req_id( backlog.front().str_values.back() ); @@ -716,8 +716,8 @@ void Character::store( JsonOut &json ) const // handling for storing activity requirements if( !backlog.empty() && !backlog.front().str_values.empty() && ( ( activity && - activity.id() == ACT_FETCH_REQUIRED ) || ( destination_activity && - destination_activity.id() == ACT_FETCH_REQUIRED ) ) ) { + activity.id() == activity_id( "ACT_FETCH_REQUIRED" ) ) || ( destination_activity && + destination_activity.id() == activity_id( "ACT_FETCH_REQUIRED" ) ) ) ) { requirement_data things_to_fetch = requirement_id( backlog.front().str_values.back() ).obj(); json.member( "fetch_data", things_to_fetch ); } @@ -909,13 +909,13 @@ void player::load( const JsonObject &data ) data.read( "automoveroute", auto_move_route ); // Add the earplugs. - if( has_bionic( bio_ears ) && !has_bionic( bio_earplugs ) ) { - add_bionic( bio_earplugs ); + if( has_bionic( bionic_id( "bio_ears" ) ) && !has_bionic( bionic_id( "bio_earplugs" ) ) ) { + add_bionic( bionic_id( "bio_earplugs" ) ); } // Add the blindfold. - if( has_bionic( bio_sunglasses ) && !has_bionic( bio_blindfold ) ) { - add_bionic( bio_blindfold ); + if( has_bionic( bionic_id( "bio_sunglasses" ) ) && !has_bionic( bionic_id( "bio_blindfold" ) ) ) { + add_bionic( bionic_id( "bio_blindfold" ) ); } // Fixes bugged characters for CBM's preventing mutations. @@ -2475,7 +2475,7 @@ void vehicle_part::deserialize( JsonIn &jsin ) // if we don't know what type of part it is, it'll cause problems later. if( !pid.is_valid() ) { if( pid.str() == "wheel_underbody" ) { - pid = vpart_wheel_wide; + pid = vpart_id( "wheel_wide" ); } else { data.throw_error( "bad vehicle part", "id" ); } @@ -2517,8 +2517,8 @@ void vehicle_part::deserialize( JsonIn &jsin ) } // with VEHICLE tag migrate fuel tanks only if amount field exists - if( base.has_flag( flag_VEHICLE ) ) { - if( data.has_int( "amount" ) && ammo_capacity() > 0 && legacy_fuel != fuel_type_battery ) { + if( base.has_flag( "VEHICLE" ) ) { + if( data.has_int( "amount" ) && ammo_capacity() > 0 && legacy_fuel != "battery" ) { ammo_set( legacy_fuel, data.get_int( "amount" ) ); } @@ -2683,39 +2683,39 @@ void vehicle::deserialize( JsonIn &jsin ) } } - for( const vpart_reference &vp : get_any_parts( flag_TURRET ) ) { - install_part( vp.mount(), vpart_turret_mount, false ); + for( const vpart_reference &vp : get_any_parts( "TURRET" ) ) { + install_part( vp.mount(), vpart_id( "turret_mount" ), false ); //Forcibly set turrets' targeting mode to manual if no turret control unit is present on turret's tile on loading save - if( !has_part( global_part_pos3( vp.part() ), flag_TURRET_CONTROLS ) ) { + if( !has_part( global_part_pos3( vp.part() ), "TURRET_CONTROLS" ) ) { vp.part().enabled = false; } //Set turret control unit's state equal to turret's targeting mode on loading save - for( const vpart_reference &turret_part : get_any_parts( flag_TURRET_CONTROLS ) ) { + for( const vpart_reference &turret_part : get_any_parts( "TURRET_CONTROLS" ) ) { turret_part.part().enabled = vp.part().enabled; } } // Add vehicle mounts to cars that are missing them. - for( const vpart_reference &vp : get_any_parts( flag_NEEDS_WHEEL_MOUNT_LIGHT ) ) { - if( vp.info().has_flag( flag_STEERABLE ) ) { - install_part( vp.mount(), vpart_wheel_mount_light_steerable, false ); + for( const vpart_reference &vp : get_any_parts( "NEEDS_WHEEL_MOUNT_LIGHT" ) ) { + if( vp.info().has_flag( "STEERABLE" ) ) { + install_part( vp.mount(), vpart_id( "wheel_mount_light_steerable" ), false ); } else { - install_part( vp.mount(), vpart_wheel_mount_light, false ); + install_part( vp.mount(), vpart_id( "wheel_mount_light" ), false ); } } - for( const vpart_reference &vp : get_any_parts( flag_NEEDS_WHEEL_MOUNT_MEDIUM ) ) { - if( vp.info().has_flag( flag_STEERABLE ) ) { - install_part( vp.mount(), vpart_wheel_mount_medium_steerable, false ); + for( const vpart_reference &vp : get_any_parts( "NEEDS_WHEEL_MOUNT_MEDIUM" ) ) { + if( vp.info().has_flag( "STEERABLE" ) ) { + install_part( vp.mount(), vpart_id( "wheel_mount_medium_steerable" ), false ); } else { - install_part( vp.mount(), vpart_wheel_mount_medium, false ); + install_part( vp.mount(), vpart_id( "wheel_mount_medium" ), false ); } } - for( const vpart_reference &vp : get_any_parts( flag_NEEDS_WHEEL_MOUNT_HEAVY ) ) { - if( vp.info().has_flag( flag_STEERABLE ) ) { - install_part( vp.mount(), vpart_wheel_mount_heavy_steerable, false ); + for( const vpart_reference &vp : get_any_parts( "NEEDS_WHEEL_MOUNT_HEAVY" ) ) { + if( vp.info().has_flag( "STEERABLE" ) ) { + install_part( vp.mount(), vpart_id( "wheel_mount_heavy_steerable" ), false ); } else { - install_part( vp.mount(), vpart_wheel_mount_heavy, false ); + install_part( vp.mount(), vpart_id( "wheel_mount_heavy" ), false ); } } diff --git a/src/savegame_legacy.cpp b/src/savegame_legacy.cpp index 7ed52c4f3c9ab..3ce600378503b 100644 --- a/src/savegame_legacy.cpp +++ b/src/savegame_legacy.cpp @@ -29,7 +29,6 @@ #include "type_id.h" #include "flat_set.h" #include "point.h" -#include "cata_string_consts.h" namespace std { @@ -198,49 +197,49 @@ void player_activity::deserialize_legacy_type( int legacy_type, activity_id &des { static const std::vector< activity_id > legacy_map = { activity_id::NULL_ID(), - ACT_RELOAD, - ACT_READ, - ACT_GAME, - ACT_WAIT, - ACT_CRAFT, + activity_id( "ACT_RELOAD" ), + activity_id( "ACT_READ" ), + activity_id( "ACT_GAME" ), + activity_id( "ACT_WAIT" ), + activity_id( "ACT_CRAFT" ), activity_id::NULL_ID(), // ACT_LONGCRAFT is deprecated - ACT_DISASSEMBLE, - ACT_BUTCHER, - ACT_LONGSALVAGE, - ACT_FORAGE, - ACT_BUILD, - ACT_VEHICLE, + activity_id( "ACT_DISASSEMBLE" ), + activity_id( "ACT_BUTCHER" ), + activity_id( "ACT_LONGSALVAGE" ), + activity_id( "ACT_FORAGE" ), + activity_id( "ACT_BUILD" ), + activity_id( "ACT_VEHICLE" ), activity_id::NULL_ID(), // ACT_REFILL_VEHICLE is deprecated - ACT_TRAIN, - ACT_WAIT_WEATHER, - ACT_FIRSTAID, - ACT_FISH, - ACT_PICKAXE, - ACT_BURROW, - ACT_PULP, - ACT_VIBE, - ACT_MAKE_ZLAVE, - ACT_DROP, - ACT_STASH, - ACT_PICKUP, - ACT_MOVE_ITEMS, - ACT_ADV_INVENTORY, - ACT_ARMOR_LAYERS, - ACT_START_FIRE, - ACT_OPEN_GATE, - ACT_FILL_LIQUID, - ACT_HOTWIRE_CAR, - ACT_AIM, - ACT_ATM, - ACT_START_ENGINES, - ACT_OXYTORCH, - ACT_CRACKING, - ACT_REPAIR_ITEM, - ACT_MEND_ITEM, - ACT_GUNMOD_ADD, - ACT_WAIT_NPC, - ACT_CLEAR_RUBBLE, - ACT_MEDITATE, + activity_id( "ACT_TRAIN" ), + activity_id( "ACT_WAIT_WEATHER" ), + activity_id( "ACT_FIRSTAID" ), + activity_id( "ACT_FISH" ), + activity_id( "ACT_PICKAXE" ), + activity_id( "ACT_BURROW" ), + activity_id( "ACT_PULP" ), + activity_id( "ACT_VIBE" ), + activity_id( "ACT_MAKE_ZLAVE" ), + activity_id( "ACT_DROP" ), + activity_id( "ACT_STASH" ), + activity_id( "ACT_PICKUP" ), + activity_id( "ACT_MOVE_ITEMS" ), + activity_id( "ACT_ADV_INVENTORY" ), + activity_id( "ACT_ARMOR_LAYERS" ), + activity_id( "ACT_START_FIRE" ), + activity_id( "ACT_OPEN_GATE" ), + activity_id( "ACT_FILL_LIQUID" ), + activity_id( "ACT_HOTWIRE_CAR" ), + activity_id( "ACT_AIM" ), + activity_id( "ACT_ATM" ), + activity_id( "ACT_START_ENGINES" ), + activity_id( "ACT_OXYTORCH" ), + activity_id( "ACT_CRACKING" ), + activity_id( "ACT_REPAIR_ITEM" ), + activity_id( "ACT_MEND_ITEM" ), + activity_id( "ACT_GUNMOD_ADD" ), + activity_id( "ACT_WAIT_NPC" ), + activity_id( "ACT_CLEAR_RUBBLE" ), + activity_id( "ACT_MEDITATE" ), activity_id::NULL_ID() // NUM_ACTIVITIES }; diff --git a/src/scenario.cpp b/src/scenario.cpp index 066f162625b38..4f095057a826f 100644 --- a/src/scenario.cpp +++ b/src/scenario.cpp @@ -12,7 +12,6 @@ #include "profession.h" #include "translations.h" #include "rng.h" -#include "cata_string_consts.h" namespace { @@ -301,11 +300,11 @@ std::vector> scenario::permitted_professions() const const bool present = std::find( professions.begin(), professions.end(), p.ident() ) != professions.end(); if( blacklist || professions.empty() ) { - if( !present && !p.has_flag( flag_SCEN_ONLY ) ) { + if( !present && !p.has_flag( "SCEN_ONLY" ) ) { res.push_back( p.ident() ); } } else if( extra_professions ) { - if( present || !p.has_flag( flag_SCEN_ONLY ) ) { + if( present || !p.has_flag( "SCEN_ONLY" ) ) { res.push_back( p.ident() ); } } else if( present ) { diff --git a/src/sdltiles.cpp b/src/sdltiles.cpp index 01f7add3679fd..53c7ae7aadddc 100644 --- a/src/sdltiles.cpp +++ b/src/sdltiles.cpp @@ -57,7 +57,6 @@ #include "json.h" #include "optional.h" #include "point.h" -#include "cata_string_consts.h" #if defined(__linux__) # include // getenv()/setenv() @@ -1836,7 +1835,7 @@ input_context touch_input_context; std::string get_quick_shortcut_name( const std::string &category ) { - if( category == "DEFAULTMODE" && g->check_zone( zone_type_NO_AUTO_PICKUP, g->u.pos() ) && + if( category == "DEFAULTMODE" && g->check_zone( zone_type_id( "NO_AUTO_PICKUP" ), g->u.pos() ) && get_option( "ANDROID_SHORTCUT_ZONE" ) ) { return "DEFAULTMODE____SHORTCUTS"; } @@ -2616,7 +2615,7 @@ static void CheckMessages() actions.insert( ACTION_CYCLE_MOVE ); } // Only prioritize fire weapon options if we're wielding a ranged weapon. - if( g->u.weapon.is_gun() || g->u.weapon.has_flag( flag_REACH_ATTACK ) ) { + if( g->u.weapon.is_gun() || g->u.weapon.has_flag( "REACH_ATTACK" ) ) { actions.insert( ACTION_FIRE ); } } @@ -2650,19 +2649,19 @@ static void CheckMessages() vehicle *const veh = veh_pointer_or_null( vp ); if( veh ) { const int veh_part = vp ? vp->part_index() : -1; - if( veh->part_with_feature( veh_part, flag_CONTROLS, true ) >= 0 ) { + if( veh->part_with_feature( veh_part, "CONTROLS", true ) >= 0 ) { actions.insert( ACTION_CONTROL_VEHICLE ); } - const int openablepart = veh->part_with_feature( veh_part, flag_OPENABLE, true ); + const int openablepart = veh->part_with_feature( veh_part, "OPENABLE", true ); if( openablepart >= 0 && veh->is_open( openablepart ) && ( dx != 0 || dy != 0 ) ) { // an open door adjacent to us actions.insert( ACTION_CLOSE ); } - const int curtainpart = veh->part_with_feature( veh_part, flag_CURTAIN, true ); + const int curtainpart = veh->part_with_feature( veh_part, "CURTAIN", true ); if( curtainpart >= 0 && veh->is_open( curtainpart ) && ( dx != 0 || dy != 0 ) ) { actions.insert( ACTION_CLOSE ); } - const int cargopart = veh->part_with_feature( veh_part, flag_CARGO, true ); + const int cargopart = veh->part_with_feature( veh_part, "CARGO", true ); if( cargopart >= 0 && ( !veh->get_items( cargopart ).empty() ) ) { actions.insert( ACTION_PICKUP ); } diff --git a/src/sounds.cpp b/src/sounds.cpp index d7e79149576d4..09d2e71ca89ba 100644 --- a/src/sounds.cpp +++ b/src/sounds.cpp @@ -1075,11 +1075,11 @@ void sfx::do_projectile_hit( const Creature &target ) if( target.is_monster() ) { const monster &mon = dynamic_cast( target ); static const std::set fleshy = { - material_flesh, - material_hflesh, - material_iflesh, - material_veggy, - material_bone, + material_id( "flesh" ), + material_id( "hflesh" ), + material_id( "iflesh" ), + material_id( "veggy" ), + material_id( "bone" ), }; const bool is_fleshy = std::any_of( fleshy.begin(), fleshy.end(), [&mon]( const material_id & m ) { return mon.made_of( m ); @@ -1088,10 +1088,10 @@ void sfx::do_projectile_hit( const Creature &target ) if( is_fleshy ) { play_variant_sound( "bullet_hit", "hit_flesh", heard_volume, angle, 0.8, 1.2 ); return; - } else if( mon.made_of( material_stone ) ) { + } else if( mon.made_of( material_id( "stone" ) ) ) { play_variant_sound( "bullet_hit", "hit_wall", heard_volume, angle, 0.8, 1.2 ); return; - } else if( mon.made_of( material_steel ) ) { + } else if( mon.made_of( material_id( "steel" ) ) ) { play_variant_sound( "bullet_hit", "hit_metal", heard_volume, angle, 0.8, 1.2 ); return; } else { @@ -1249,104 +1249,104 @@ void sfx::do_footstep() int heard_volume = sfx::get_heard_volume( g->u.pos() ); const auto terrain = g->m.ter( g->u.pos() ).id(); static const std::set grass = { - ter_grass, - ter_shrub, - ter_shrub_peanut, - ter_shrub_peanut_harvested, - ter_shrub_blueberry, - ter_shrub_blueberry_harvested, - ter_shrub_strawberry, - ter_shrub_strawberry_harvested, - ter_shrub_blackberry, - ter_shrub_blackberry_harvested, - ter_shrub_huckleberry, - ter_shrub_huckleberry_harvested, - ter_shrub_raspberry, - ter_shrub_raspberry_harvested, - ter_shrub_grape, - ter_shrub_grape_harvested, - ter_shrub_rose, - ter_shrub_rose_harvested, - ter_shrub_hydrangea, - ter_shrub_hydrangea_harvested, - ter_shrub_lilac, - ter_shrub_lilac_harvested, - ter_underbrush, - ter_underbrush_harvested_spring, - ter_underbrush_harvested_summer, - ter_underbrush_harvested_autumn, - ter_underbrush_harvested_winter, - ter_moss, - ter_grass_white, - ter_grass_long, - ter_grass_tall, - ter_grass_dead, - ter_grass_golf, - ter_golf_hole, - ter_trunk, - ter_stump, + ter_str_id( "t_grass" ), + ter_str_id( "t_shrub" ), + ter_str_id( "t_shrub_peanut" ), + ter_str_id( "t_shrub_peanut_harvested" ), + ter_str_id( "t_shrub_blueberry" ), + ter_str_id( "t_shrub_blueberry_harvested" ), + ter_str_id( "t_shrub_strawberry" ), + ter_str_id( "t_shrub_strawberry_harvested" ), + ter_str_id( "t_shrub_blackberry" ), + ter_str_id( "t_shrub_blackberry_harvested" ), + ter_str_id( "t_shrub_huckleberry" ), + ter_str_id( "t_shrub_huckleberry_harvested" ), + ter_str_id( "t_shrub_raspberry" ), + ter_str_id( "t_shrub_raspberry_harvested" ), + ter_str_id( "t_shrub_grape" ), + ter_str_id( "t_shrub_grape_harvested" ), + ter_str_id( "t_shrub_rose" ), + ter_str_id( "t_shrub_rose_harvested" ), + ter_str_id( "t_shrub_hydrangea" ), + ter_str_id( "t_shrub_hydrangea_harvested" ), + ter_str_id( "t_shrub_lilac" ), + ter_str_id( "t_shrub_lilac_harvested" ), + ter_str_id( "t_underbrush" ), + ter_str_id( "t_underbrush_harvested_spring" ), + ter_str_id( "t_underbrush_harvested_summer" ), + ter_str_id( "t_underbrush_harvested_autumn" ), + ter_str_id( "t_underbrush_harvested_winter" ), + ter_str_id( "t_moss" ), + ter_str_id( "t_grass_white" ), + ter_str_id( "t_grass_long" ), + ter_str_id( "t_grass_tall" ), + ter_str_id( "t_grass_dead" ), + ter_str_id( "t_grass_golf" ), + ter_str_id( "t_golf_hole" ), + ter_str_id( "t_trunk" ), + ter_str_id( "t_stump" ), }; static const std::set dirt = { - ter_dirt, - ter_dirtmound, - ter_dirtmoundfloor, - ter_sand, - ter_clay, - ter_dirtfloor, - ter_palisade_gate_o, - ter_sandbox, - ter_claymound, - ter_sandmound, - ter_rootcellar, - ter_railroad_rubble, - ter_railroad_track, - ter_railroad_track_h, - ter_railroad_track_v, - ter_railroad_track_d, - ter_railroad_track_d1, - ter_railroad_track_d2, - ter_railroad_tie, - ter_railroad_tie_d, - ter_railroad_tie_d, - ter_railroad_tie_h, - ter_railroad_tie_v, - ter_railroad_tie_d, - ter_railroad_track_on_tie, - ter_railroad_track_h_on_tie, - ter_railroad_track_v_on_tie, - ter_railroad_track_d_on_tie, - ter_railroad_tie, - ter_railroad_tie_h, - ter_railroad_tie_v, - ter_railroad_tie_d1, - ter_railroad_tie_d2, + ter_str_id( "t_dirt" ), + ter_str_id( "t_dirtmound" ), + ter_str_id( "t_dirtmoundfloor" ), + ter_str_id( "t_sand" ), + ter_str_id( "t_clay" ), + ter_str_id( "t_dirtfloor" ), + ter_str_id( "t_palisade_gate_o" ), + ter_str_id( "t_sandbox" ), + ter_str_id( "t_claymound" ), + ter_str_id( "t_sandmound" ), + ter_str_id( "t_rootcellar" ), + ter_str_id( "t_railroad_rubble" ), + ter_str_id( "t_railroad_track" ), + ter_str_id( "t_railroad_track_h" ), + ter_str_id( "t_railroad_track_v" ), + ter_str_id( "t_railroad_track_d" ), + ter_str_id( "t_railroad_track_d1" ), + ter_str_id( "t_railroad_track_d2" ), + ter_str_id( "t_railroad_tie" ), + ter_str_id( "t_railroad_tie_d" ), + ter_str_id( "t_railroad_tie_d" ), + ter_str_id( "t_railroad_tie_h" ), + ter_str_id( "t_railroad_tie_v" ), + ter_str_id( "t_railroad_tie_d" ), + ter_str_id( "t_railroad_track_on_tie" ), + ter_str_id( "t_railroad_track_h_on_tie" ), + ter_str_id( "t_railroad_track_v_on_tie" ), + ter_str_id( "t_railroad_track_d_on_tie" ), + ter_str_id( "t_railroad_tie" ), + ter_str_id( "t_railroad_tie_h" ), + ter_str_id( "t_railroad_tie_v" ), + ter_str_id( "t_railroad_tie_d1" ), + ter_str_id( "t_railroad_tie_d2" ), }; static const std::set metal = { - ter_ov_smreb_cage, - ter_metal_floor, - ter_grate, - ter_bridge, - ter_elevator, - ter_guardrail_bg_dp, - ter_slide, - ter_conveyor, - ter_machinery_light, - ter_machinery_heavy, - ter_machinery_old, - ter_machinery_electronic, + ter_str_id( "t_ov_smreb_cage" ), + ter_str_id( "t_metal_floor" ), + ter_str_id( "t_grate" ), + ter_str_id( "t_bridge" ), + ter_str_id( "t_elevator" ), + ter_str_id( "t_guardrail_bg_dp" ), + ter_str_id( "t_slide" ), + ter_str_id( "t_conveyor" ), + ter_str_id( "t_machinery_light" ), + ter_str_id( "t_machinery_heavy" ), + ter_str_id( "t_machinery_old" ), + ter_str_id( "t_machinery_electronic" ), }; static const std::set water = { - ter_water_moving_sh, - ter_water_moving_dp, - ter_water_sh, - ter_water_dp, - ter_swater_sh, - ter_swater_dp, - ter_water_pool, - ter_sewage, + ter_str_id( "t_water_moving_sh" ), + ter_str_id( "t_water_moving_dp" ), + ter_str_id( "t_water_sh" ), + ter_str_id( "t_water_dp" ), + ter_str_id( "t_swater_sh" ), + ter_str_id( "t_swater_dp" ), + ter_str_id( "t_water_pool" ), + ter_str_id( "t_sewage" ), }; static const std::set chain_fence = { - ter_chainfence, + ter_str_id( "t_chainfence" ), }; if( !g->u.wearing_something_on( bp_foot_l ) ) { play_variant_sound( "plmove", "walk_barefoot", heard_volume, 0, 0.8, 1.2 ); diff --git a/src/start_location.cpp b/src/start_location.cpp index cda55d9f8d0f2..b5a156b4d3c6f 100644 --- a/src/start_location.cpp +++ b/src/start_location.cpp @@ -25,7 +25,6 @@ #include "rng.h" #include "translations.h" #include "point.h" -#include "cata_string_consts.h" class item; @@ -186,7 +185,7 @@ static void board_up( map &m, const tripoint_range &range ) void start_location::prepare_map( tinymap &m ) const { const int z = m.get_abs_sub().z; - if( flags().count( flag_BOARDED ) > 0 ) { + if( flags().count( "BOARDED" ) > 0 ) { m.build_outside_cache( z ); board_up( m, m.points_on_zlevel( z ) ); } else { @@ -269,7 +268,7 @@ static int rate_location( map &m, const tripoint &p, const bool must_be_inside, checked[cur.x][cur.y] = attempt; if( cur.x == 0 || cur.x == MAPSIZE_X - 1 || cur.y == 0 || cur.y == MAPSIZE_Y - 1 || - m.has_flag( flag_GOES_UP, cur ) ) { + m.has_flag( "GOES_UP", cur ) ) { return INT_MAX; } @@ -296,7 +295,7 @@ void start_location::place_player( player &u ) const u.setz( g->get_levz() ); m.invalidate_map_cache( m.get_abs_sub().z ); m.build_map_cache( m.get_abs_sub().z ); - const bool must_be_inside = flags().count( flag_ALLOW_OUTSIDE ) == 0; + const bool must_be_inside = flags().count( "ALLOW_OUTSIDE" ) == 0; ///\EFFECT_STR allows player to start behind less-bashable furniture and terrain // TODO: Allow using items here const int bash = u.get_str(); @@ -361,11 +360,11 @@ void start_location::burn( const tripoint &omtstart, const int uy = g->u.posy() % HALF_MAPSIZE_Y; std::vector valid; for( const tripoint &p : m.points_on_zlevel() ) { - if( !( m.has_flag_ter( flag_DOOR, p ) || - m.has_flag_ter( flag_OPENCLOSE_INSIDE, p ) || + if( !( m.has_flag_ter( "DOOR", p ) || + m.has_flag_ter( "OPENCLOSE_INSIDE", p ) || m.is_outside( p ) || ( p.x >= ux - rad && p.x <= ux + rad && p.y >= uy - rad && p.y <= uy + rad ) ) ) { - if( m.has_flag( flag_FLAMMABLE, p ) || m.has_flag( flag_FLAMMABLE_ASH, p ) ) { + if( m.has_flag( "FLAMMABLE", p ) || m.has_flag( "FLAMMABLE_ASH", p ) ) { valid.push_back( p ); } } diff --git a/src/string_id.h b/src/string_id.h index b1a9ace6f67e3..5b2a396f89ca9 100644 --- a/src/string_id.h +++ b/src/string_id.h @@ -25,6 +25,8 @@ class int_id; * * Example: * \code + * struct itype; + * using itype_id = string_id; * struct mtype; * using mtype_id = string_id; * \endcode diff --git a/src/submap.cpp b/src/submap.cpp index a0db8694fb22f..55c6c0b7c0954 100644 --- a/src/submap.cpp +++ b/src/submap.cpp @@ -8,7 +8,6 @@ #include "mapdata.h" #include "trap.h" #include "tileray.h" -#include "cata_string_consts.h" template void maptile_soa::swap_soa_tile( const point &p1, const point &p2 ) @@ -109,7 +108,7 @@ void submap::delete_graffiti( const point &p ) } bool submap::has_signage( const point &p ) const { - if( frn[p.x][p.y].obj().has_flag( flag_SIGN ) ) { + if( frn[p.x][p.y].obj().has_flag( "SIGN" ) ) { return find_cosmetic( cosmetics, p, COSMETICS_SIGNAGE ).result; } @@ -117,7 +116,7 @@ bool submap::has_signage( const point &p ) const } std::string submap::get_signage( const point &p ) const { - if( frn[p.x][p.y].obj().has_flag( flag_SIGN ) ) { + if( frn[p.x][p.y].obj().has_flag( "SIGN" ) ) { const auto fresult = find_cosmetic( cosmetics, p, COSMETICS_SIGNAGE ); if( fresult.result ) { return cosmetics[ fresult.ndx ].str; diff --git a/src/suffer.cpp b/src/suffer.cpp index e8690c3381c47..5cc31878cb9d4 100644 --- a/src/suffer.cpp +++ b/src/suffer.cpp @@ -144,7 +144,7 @@ void Character::suffer_while_underwater() if( !has_trait( trait_GILLS ) && !has_trait( trait_GILLS_CEPH ) ) { oxygen--; } - if( oxygen < 12 && worn_with_flag( flag_REBREATHER ) ) { + if( oxygen < 12 && worn_with_flag( "REBREATHER" ) ) { oxygen += 12; } if( oxygen <= 5 ) { @@ -156,7 +156,7 @@ void Character::suffer_while_underwater() apply_damage( nullptr, bp_torso, rng( 1, 4 ) ); } } - if( has_trait( trait_FRESHWATEROSMOSIS ) && !g->m.has_flag_ter( flag_SALT_WATER, pos() ) && + if( has_trait( trait_FRESHWATEROSMOSIS ) && !g->m.has_flag_ter( "SALT_WATER", pos() ) && get_thirst() > -60 ) { mod_thirst( -1 ); } @@ -625,8 +625,8 @@ void Character::suffer_in_sunlight() } if( x_in_y( sunlight_nutrition, 18000 ) ) { - vitamin_mod( vitamin_vitA, 1, true ); - vitamin_mod( vitamin_vitC, 1, true ); + vitamin_mod( vitamin_id( "vitA" ), 1, true ); + vitamin_mod( vitamin_id( "vitC" ), 1, true ); } if( x_in_y( sunlight_nutrition, 12000 ) ) { @@ -645,7 +645,7 @@ void Character::suffer_in_sunlight() } if( has_trait( trait_SUNBURN ) && one_in( 10 ) ) { - if( !( weapon.has_flag( flag_RAIN_PROTECT ) ) ) { + if( !( weapon.has_flag( "RAIN_PROTECT" ) ) ) { add_msg_if_player( m_bad, _( "The sunlight burns your skin!" ) ); if( has_effect( effect_sleep ) && !has_effect( effect_narcosis ) ) { wake_up(); @@ -696,7 +696,7 @@ void Character::suffer_from_albinism() } } // Umbrellas can keep the sun off the skin - if( weapon.has_flag( flag_RAIN_PROTECT ) ) { + if( weapon.has_flag( "RAIN_PROTECT" ) ) { return; } //calculate total coverage of skin @@ -796,8 +796,8 @@ void Character::suffer_from_other_mutations() } if( x_in_y( root_vitamins, 576 ) ) { - vitamin_mod( vitamin_iron, 1, true ); - vitamin_mod( vitamin_calcium, 1, true ); + vitamin_mod( vitamin_id( "iron" ), 1, true ); + vitamin_mod( vitamin_id( "calcium" ), 1, true ); mod_healthy_mod( 5, 50 ); } @@ -1391,7 +1391,7 @@ bool Character::irradiate( float rads, bool bypass ) if( rads > 0 ) { bool has_helmet = false; const bool power_armored = is_wearing_power_armor( &has_helmet ); - const bool rad_resist = power_armored || worn_with_flag( flag_RAD_RESIST ); + const bool rad_resist = power_armored || worn_with_flag( "RAD_RESIST" ); if( is_rad_immune() && !bypass ) { // Power armor and some high-tech gear protects completely from radiation @@ -1527,7 +1527,7 @@ void Character::mend( int rate_multiplier ) } body_part part = hp_to_bp( static_cast( i ) ); - if( needs_splint && !worn_with_flag( flag_SPLINT, part ) ) { + if( needs_splint && !worn_with_flag( "SPLINT", part ) ) { continue; } diff --git a/src/teleport.cpp b/src/teleport.cpp index 9ed95831ecdd6..b903bfe30ad2a 100644 --- a/src/teleport.cpp +++ b/src/teleport.cpp @@ -23,8 +23,8 @@ bool teleport::teleport( Creature &critter, int min_distance, int max_distance, tripoint origin = critter.pos(); tripoint new_pos = origin; //The teleportee is dimensionally anchored so nothing happens - if( p && ( p->worn_with_flag( flag_DIMENSIONAL_ANCHOR ) || - p->has_effect_with_flag( flag_DIMENSIONAL_ANCHOR ) ) ) { + if( p && ( p->worn_with_flag( "DIMENSIONAL_ANCHOR" ) || + p->has_effect_with_flag( "DIMENSIONAL_ANCHOR" ) ) ) { p->add_msg_if_player( m_warning, _( "You feel a strange, inwards force." ) ); return false; } @@ -59,8 +59,8 @@ bool teleport::teleport( Creature &critter, int min_distance, int max_distance, add_msg( m_bad, _( "You cannot teleport safely." ) ); } return false; - } else if( poor_player && ( poor_player->worn_with_flag( flag_DIMENSIONAL_ANCHOR ) || - poor_player->has_effect_with_flag( flag_DIMENSIONAL_ANCHOR ) ) ) { + } else if( poor_player && ( poor_player->worn_with_flag( "DIMENSIONAL_ANCHOR" ) || + poor_player->has_effect_with_flag( "DIMENSIONAL_ANCHOR" ) ) ) { poor_player->add_msg_if_player( m_warning, _( "You feel disjointed." ) ); return false; } else { diff --git a/src/trap.h b/src/trap.h index 990fb4e300a73..c8e61e96bf25e 100644 --- a/src/trap.h +++ b/src/trap.h @@ -65,6 +65,8 @@ bool snake( const tripoint &p, Creature *c, item *i ); } // namespace trapfunc struct vehicle_handle_trap_data { + using itype_id = std::string; + bool remove_trap = false; bool do_explosion = false; bool is_falling = false; @@ -83,6 +85,7 @@ struct vehicle_handle_trap_data { using trap_function = std::function; struct trap { + using itype_id = std::string; trap_str_id id; trap_id loadid; diff --git a/src/trapfunc.cpp b/src/trapfunc.cpp index ccb9c38e6448e..d9b564996d7f5 100644 --- a/src/trapfunc.cpp +++ b/src/trapfunc.cpp @@ -654,7 +654,7 @@ bool trapfunc::goo( const tripoint &p, Creature *c, item * ) if( z->type->id != mon_blob ) { z->set_speed_base( z->get_speed_base() - 15 ); //All monsters that aren't blobs or robots transform into a blob - if( !z->type->in_species( species_ROBOT ) ) { + if( !z->type->in_species( ROBOT ) ) { z->poly( mon_blob ); z->set_hp( z->get_speed() ); } @@ -675,7 +675,7 @@ bool trapfunc::dissector( const tripoint &p, Creature *c, item * ) } monster *z = dynamic_cast( c ); if( z != nullptr ) { - if( z->type->in_species( species_ROBOT ) ) { + if( z->type->in_species( ROBOT ) ) { //The monster is a robot. So the dissector should not try to dissect the monsters flesh. //Dissector error sound. sounds::sound( p, 4, sounds::sound_t::electronic_speech, @@ -966,16 +966,16 @@ bool trapfunc::lava( const tripoint &p, Creature *c, item * ) if( z->made_of_any( Creature::cmat_flesh ) ) { dam = 50; } - if( z->made_of( material_veggy ) ) { + if( z->made_of( material_id( "veggy" ) ) ) { dam = 80; } if( z->made_of( LIQUID ) || z->made_of_any( Creature::cmat_flammable ) ) { dam = 200; } - if( z->made_of( material_stone ) ) { + if( z->made_of( material_id( "stone" ) ) ) { dam = 15; } - if( z->made_of( material_kevlar ) || z->made_of( material_steel ) ) { + if( z->made_of( material_id( "kevlar" ) ) || z->made_of( material_id( "steel" ) ) ) { dam = 5; } z->deal_damage( nullptr, bp_torso, damage_instance( DT_HEAT, dam ) ); diff --git a/src/turret.cpp b/src/turret.cpp index 89b3ca8ca6656..1d39b853e45e7 100644 --- a/src/turret.cpp +++ b/src/turret.cpp @@ -64,7 +64,7 @@ turret_data vehicle::turret_query( const vehicle_part &pt ) const turret_data vehicle::turret_query( const tripoint &pos ) { - auto res = get_parts_at( pos, flag_TURRET, part_status_flag::any ); + auto res = get_parts_at( pos, "TURRET", part_status_flag::any ); return !res.empty() ? turret_query( *res.front() ) : turret_data(); } @@ -93,7 +93,7 @@ int turret_data::ammo_remaining() const if( !veh || !part ) { return 0; } - if( part->info().has_flag( flag_USE_TANKS ) ) { + if( part->info().has_flag( "USE_TANKS" ) ) { return veh->fuel_left( ammo_current() ); } return part->base.ammo_remaining(); @@ -101,7 +101,7 @@ int turret_data::ammo_remaining() const int turret_data::ammo_capacity() const { - if( !veh || !part || part->info().has_flag( flag_USE_TANKS ) ) { + if( !veh || !part || part->info().has_flag( "USE_TANKS" ) ) { return 0; } return part->base.ammo_capacity(); @@ -112,7 +112,7 @@ const itype *turret_data::ammo_data() const if( !veh || !part ) { return nullptr; } - if( part->info().has_flag( flag_USE_TANKS ) ) { + if( part->info().has_flag( "USE_TANKS" ) ) { return ammo_current() != "null" ? item::find_type( ammo_current() ) : nullptr; } return part->base.ammo_data(); @@ -141,7 +141,7 @@ std::set turret_data::ammo_options() const return opts; } - if( !part->info().has_flag( flag_USE_TANKS ) ) { + if( !part->info().has_flag( "USE_TANKS" ) ) { if( part->base.ammo_current() != "null" ) { opts.insert( part->base.ammo_current() ); } @@ -176,7 +176,7 @@ std::set turret_data::ammo_effects() const return std::set(); } auto res = part->base.ammo_effects(); - if( part->info().has_flag( flag_USE_TANKS ) && ammo_data() ) { + if( part->info().has_flag( "USE_TANKS" ) && ammo_data() ) { res.insert( ammo_data()->ammo->ammo_effects.begin(), ammo_data()->ammo->ammo_effects.end() ); } return res; @@ -188,7 +188,7 @@ int turret_data::range() const return 0; } int res = part->base.gun_range(); - if( part->info().has_flag( flag_USE_TANKS ) && ammo_data() ) { + if( part->info().has_flag( "USE_TANKS" ) && ammo_data() ) { res += ammo_data()->ammo->range; } return res; @@ -196,7 +196,7 @@ int turret_data::range() const bool turret_data::can_reload() const { - if( !veh || !part || part->info().has_flag( flag_USE_TANKS ) ) { + if( !veh || !part || part->info().has_flag( "USE_TANKS" ) ) { return false; } if( !part->base.magazine_integral() ) { @@ -208,7 +208,7 @@ bool turret_data::can_reload() const bool turret_data::can_unload() const { - if( !veh || !part || part->info().has_flag( flag_USE_TANKS ) ) { + if( !veh || !part || part->info().has_flag( "USE_TANKS" ) ) { return false; } return part->base.ammo_remaining() || part->base.magazine_current(); @@ -220,7 +220,7 @@ turret_data::status turret_data::query() const return status::invalid; } - if( part->info().has_flag( flag_USE_TANKS ) ) { + if( part->info().has_flag( "USE_TANKS" ) ) { if( veh->fuel_left( ammo_current() ) < part->base.ammo_required() ) { return status::no_ammo; } @@ -249,7 +249,7 @@ void turret_data::prepare_fire( player &p ) p.recoil = 0; // set fuel tank fluid as ammo, if appropriate - if( part->info().has_flag( flag_USE_TANKS ) ) { + if( part->info().has_flag( "USE_TANKS" ) ) { auto mode = base()->gun_current_mode(); int qty = mode->ammo_required(); int fuel_left = veh->fuel_left( ammo_current() ); @@ -266,7 +266,7 @@ void turret_data::post_fire( player &p, int shots ) auto mode = base()->gun_current_mode(); // handle draining of vehicle tanks and UPS charges, if applicable - if( part->info().has_flag( flag_USE_TANKS ) ) { + if( part->info().has_flag( "USE_TANKS" ) ) { veh->drain( ammo_current(), mode->ammo_required() * shots ); mode->ammo_unset(); } @@ -331,7 +331,7 @@ void vehicle::turrets_set_targeting() turrets[sel]->enabled = false; } - for( const vpart_reference &vp : get_avail_parts( flag_TURRET_CONTROLS ) ) { + for( const vpart_reference &vp : get_avail_parts( "TURRET_CONTROLS" ) ) { vehicle_part &e = vp.part(); if( e.mount == turrets[sel]->mount ) { e.enabled = turrets[sel]->enabled; diff --git a/src/type_id.h b/src/type_id.h index 69ae264e82f03..d3246ae43dc3c 100644 --- a/src/type_id.h +++ b/src/type_id.h @@ -5,11 +5,6 @@ #include "int_id.h" #include "string_id.h" -using itype_id = std::string; - -class activity_type; -using activity_id = string_id; - class ammunition_type; using ammotype = string_id; diff --git a/src/uistate.h b/src/uistate.h index 6d68705be4c0b..1f172311d3f8c 100644 --- a/src/uistate.h +++ b/src/uistate.h @@ -25,6 +25,8 @@ class uistatedata { /**** this will set a default value on startup, however to save, see below ****/ private: + // not needed for compilation, but keeps syntax plugins happy + using itype_id = std::string; enum side { left = 0, right = 1, NUM_PANES = 2 }; public: int ags_pay_gas_selected_pump = 0; diff --git a/src/veh_interact.cpp b/src/veh_interact.cpp index b5fe18527e42f..7b6d6a9b4acab 100644 --- a/src/veh_interact.cpp +++ b/src/veh_interact.cpp @@ -180,7 +180,7 @@ veh_interact::veh_interact( vehicle &veh, const point &p ) for( const auto &e : vpart_info::all() ) { const vpart_info &vp = e.second; vpart_shapes[ vp.name() + vp.item ].push_back( &vp ); - if( vp.has_flag( flag_WHEEL ) ) { + if( vp.has_flag( "WHEEL" ) ) { wheel_types.push_back( &vp ); } } @@ -316,7 +316,7 @@ void veh_interact::do_main_loop() if( veh->has_owner() ) { owner_fac = g->faction_manager_ptr->get( veh->get_owner() ); } else { - owner_fac = g->faction_manager_ptr->get( faction_no_faction ); + owner_fac = g->faction_manager_ptr->get( faction_id( "no_faction" ) ); } while( !finish ) { overview(); @@ -454,9 +454,9 @@ void veh_interact::cache_tool_availability() if( g->u.is_mounted() ) { mech_jack = g->u.mounted_creature->mech_str_addition() + 10; } - max_jack = std::max( { g->u.max_quality( quality_JACK ), mech_jack, - map_selector( g->u.pos(), PICKUP_RANGE ).max_quality( quality_JACK ), - vehicle_selector( g->u.pos(), 2, true, *veh ).max_quality( quality_JACK ) + max_jack = std::max( { g->u.max_quality( qual_JACK ), mech_jack, + map_selector( g->u.pos(), PICKUP_RANGE ).max_quality( qual_JACK ), + vehicle_selector( g->u.pos(), 2, true, *veh ).max_quality( qual_JACK ) } ); } @@ -629,8 +629,8 @@ bool veh_interact::can_self_jack() { int lvl = jack_quality( *veh ); - for( const vpart_reference &vp : veh->get_avail_parts( flag_SELF_JACK ) ) { - if( vp.part().base.has_quality( quality_SELF_JACK, lvl ) ) { + for( const vpart_reference &vp : veh->get_avail_parts( "SELF_JACK" ) ) { + if( vp.part().base.has_quality( qual_SELF_JACK, lvl ) ) { return true; } } @@ -648,7 +648,7 @@ bool veh_interact::can_install_part() if( is_drive_conflict() ) { return false; } - if( sel_vpart_info->has_flag( flag_FUNNEL ) ) { + if( sel_vpart_info->has_flag( "FUNNEL" ) ) { if( std::none_of( parts_here.begin(), parts_here.end(), [&]( const int e ) { return veh->parts[e].is_tank(); } ) ) { @@ -661,7 +661,7 @@ bool veh_interact::can_install_part() } } - if( sel_vpart_info->has_flag( flag_TURRET ) ) { + if( sel_vpart_info->has_flag( "TURRET" ) ) { if( std::any_of( parts_here.begin(), parts_here.end(), [&]( const int e ) { return veh->parts[e].is_turret(); } ) ) { @@ -674,13 +674,13 @@ bool veh_interact::can_install_part() } } - bool is_engine = sel_vpart_info->has_flag( flag_ENGINE ); + bool is_engine = sel_vpart_info->has_flag( "ENGINE" ); //count current engines, some engines don't require higher skill int engines = 0; int dif_eng = 0; - if( is_engine && sel_vpart_info->has_flag( flag_E_HIGHER_SKILL ) ) { - for( const vpart_reference &vp : veh->get_avail_parts( flag_ENGINE ) ) { - if( vp.has_feature( flag_E_HIGHER_SKILL ) ) { + if( is_engine && sel_vpart_info->has_flag( "E_HIGHER_SKILL" ) ) { + for( const vpart_reference &vp : veh->get_avail_parts( "ENGINE" ) ) { + if( vp.has_feature( "E_HIGHER_SKILL" ) ) { engines++; dif_eng = dif_eng / 2 + 8; } @@ -688,10 +688,10 @@ bool veh_interact::can_install_part() } int dif_steering = 0; - if( sel_vpart_info->has_flag( flag_STEERABLE ) ) { + if( sel_vpart_info->has_flag( "STEERABLE" ) ) { std::set axles; for( auto &p : veh->steering ) { - if( !veh->part_flag( p, flag_TRACKED ) ) { + if( !veh->part_flag( p, "TRACKED" ) ) { // tracked parts don't contribute to axle complexity axles.insert( veh->parts[p].mount.x ); } @@ -738,14 +738,14 @@ bool veh_interact::can_install_part() bool use_aid = false; bool use_str = false; item base( sel_vpart_info->item ); - if( sel_vpart_info->has_flag( flag_NEEDS_JACKING ) ) { - qual = quality_JACK; + if( sel_vpart_info->has_flag( "NEEDS_JACKING" ) ) { + qual = qual_JACK; lvl = jack_quality( *veh ); str = veh->lift_strength(); use_aid = ( max_jack >= lvl ) || can_self_jack(); use_str = g->u.can_lift( *veh ); } else { - qual = quality_LIFT; + qual = qual_LIFT; lvl = std::ceil( units::quantity( base.weight() ) / TOOL_LIFT_FACTOR ); str = base.lift_strength(); @@ -846,7 +846,7 @@ bool veh_interact::do_install( std::string &msg ) tab_filters[1] = [&]( const vpart_info * p ) { auto &part = *p; return part.has_flag( VPFLAG_CARGO ) && // Cargo - !part.has_flag( flag_TURRET ); + !part.has_flag( "TURRET" ); }; tab_filters[2] = [&]( const vpart_info * p ) { auto &part = *p; @@ -860,44 +860,44 @@ bool veh_interact::do_install( std::string &msg ) }; tab_filters[3] = [&]( const vpart_info * p ) { auto &part = *p; - return part.has_flag( flag_TRACK ) || //Util + return part.has_flag( "TRACK" ) || //Util part.has_flag( VPFLAG_FRIDGE ) || part.has_flag( VPFLAG_FREEZER ) || - part.has_flag( flag_KITCHEN ) || - part.has_flag( flag_WELDRIG ) || - part.has_flag( flag_CRAFTRIG ) || - part.has_flag( flag_CHEMLAB ) || - part.has_flag( flag_FORGE ) || - part.has_flag( flag_HORN ) || - part.has_flag( flag_BEEPER ) || - part.has_flag( flag_AUTOPILOT ) || - part.has_flag( flag_WATCH ) || - part.has_flag( flag_ALARMCLOCK ) || + part.has_flag( "KITCHEN" ) || + part.has_flag( "WELDRIG" ) || + part.has_flag( "CRAFTRIG" ) || + part.has_flag( "CHEMLAB" ) || + part.has_flag( "FORGE" ) || + part.has_flag( "HORN" ) || + part.has_flag( "BEEPER" ) || + part.has_flag( "AUTOPILOT" ) || + part.has_flag( "WATCH" ) || + part.has_flag( "ALARMCLOCK" ) || part.has_flag( VPFLAG_RECHARGE ) || - part.has_flag( flag_VISION ) || - part.has_flag( flag_POWER_TRANSFER ) || - part.has_flag( flag_FAUCET ) || - part.has_flag( flag_STEREO ) || - part.has_flag( flag_CHIMES ) || - part.has_flag( flag_MUFFLER ) || - part.has_flag( flag_REMOTE_CONTROLS ) || - part.has_flag( flag_CURTAIN ) || - part.has_flag( flag_SEATBELT ) || - part.has_flag( flag_SECURITY ) || - part.has_flag( flag_SEAT ) || - part.has_flag( flag_BED ) || - part.has_flag( flag_SPACE_HEATER ) || - part.has_flag( flag_COOLER ) || - part.has_flag( flag_DOOR_MOTOR ) || - part.has_flag( flag_WATER_PURIFIER ) || - part.has_flag( flag_WORKBENCH ); + part.has_flag( "VISION" ) || + part.has_flag( "POWER_TRANSFER" ) || + part.has_flag( "FAUCET" ) || + part.has_flag( "STEREO" ) || + part.has_flag( "CHIMES" ) || + part.has_flag( "MUFFLER" ) || + part.has_flag( "REMOTE_CONTROLS" ) || + part.has_flag( "CURTAIN" ) || + part.has_flag( "SEATBELT" ) || + part.has_flag( "SECURITY" ) || + part.has_flag( "SEAT" ) || + part.has_flag( "BED" ) || + part.has_flag( "SPACE_HEATER" ) || + part.has_flag( "COOLER" ) || + part.has_flag( "DOOR_MOTOR" ) || + part.has_flag( "WATER_PURIFIER" ) || + part.has_flag( "WORKBENCH" ); }; tab_filters[4] = [&]( const vpart_info * p ) { auto &part = *p; return( part.has_flag( VPFLAG_OBSTACLE ) || // Hull - part.has_flag( flag_ROOF ) || + part.has_flag( "ROOF" ) || part.has_flag( VPFLAG_ARMOR ) ) && - !part.has_flag( flag_WHEEL ) && + !part.has_flag( "WHEEL" ) && !tab_filters[3]( p ); }; tab_filters[5] = [&]( const vpart_info * p ) { @@ -907,7 +907,7 @@ bool veh_interact::do_install( std::string &msg ) part.has_flag( VPFLAG_CONTROLS ) || part.location == "fuel_source" || part.location == "on_battery_mount" || - ( part.location.empty() && part.has_flag( flag_FUEL_TANK ) ); + ( part.location.empty() && part.has_flag( "FUEL_TANK" ) ); }; // Other: everything that's not in the other filters @@ -983,7 +983,7 @@ bool veh_interact::do_install( std::string &msg ) default: break; } - if( veh->is_foldable() && !sel_vpart_info->has_flag( flag_FOLDABLE ) && + if( veh->is_foldable() && !sel_vpart_info->has_flag( "FOLDABLE" ) && !query_yn( _( "Installing this part will make the vehicle unfoldable. Continue?" ) ) ) { return true; } @@ -1660,14 +1660,14 @@ bool veh_interact::can_remove_part( int idx, const player &p ) bool use_aid = false; bool use_str = false; item base( sel_vpart_info->item ); - if( sel_vpart_info->has_flag( flag_NEEDS_JACKING ) ) { - qual = quality_JACK; + if( sel_vpart_info->has_flag( "NEEDS_JACKING" ) ) { + qual = qual_JACK; lvl = jack_quality( *veh ); str = veh->lift_strength(); use_aid = ( max_jack >= lvl ) || can_self_jack(); use_str = g->u.can_lift( *veh ); } else { - qual = quality_LIFT; + qual = qual_LIFT; lvl = ceil( units::quantity( base.weight() ) / TOOL_LIFT_FACTOR ); str = base.lift_strength(); use_aid = max_lift >= lvl; @@ -2014,7 +2014,7 @@ void veh_interact::move_cursor( const point &d, int dstart_at ) if( pt.base.damage() > 0 && pt.info().is_repairable() ) { need_repair.push_back( i ); } - if( pt.info().has_flag( flag_WHEEL ) ) { + if( pt.info().has_flag( "WHEEL" ) ) { wheel = &pt; } } @@ -2207,7 +2207,7 @@ void veh_interact::display_stats() const units::volume total_cargo = 0_ml; units::volume free_cargo = 0_ml; - for( const vpart_reference &vp : veh->get_any_parts( flag_CARGO ) ) { + for( const vpart_reference &vp : veh->get_any_parts( "CARGO" ) ) { const size_t p = vp.part_index(); total_cargo += veh->max_volume( p ); free_cargo += veh->free_volume( p ); @@ -2558,9 +2558,9 @@ void veh_interact::display_details( const vpart_info *part ) std::string label; if( part->has_flag( VPFLAG_SEATBELT ) ) { label = small_mode ? _( "Str" ) : _( "Strength" ); - } else if( part->has_flag( flag_HORN ) ) { + } else if( part->has_flag( "HORN" ) ) { label = _( "Noise" ); - } else if( part->has_flag( flag_MUFFLER ) ) { + } else if( part->has_flag( "MUFFLER" ) ) { label = small_mode ? _( "NoisRed" ) : _( "Noise Reduction" ); } else if( part->has_flag( VPFLAG_EXTENDS_VISION ) ) { label = _( "Range" ); @@ -2735,7 +2735,7 @@ void act_vehicle_unload_fuel( vehicle *veh ) uilist smenu; smenu.text = _( "Remove what?" ); for( auto &fuel : fuels ) { - if( fuel == fuel_type_plut_cell && veh->fuel_left( fuel ) < PLUTONIUM_CHARGES ) { + if( fuel == "plut_cell" && veh->fuel_left( fuel ) < PLUTONIUM_CHARGES ) { continue; } smenu.addentry( item::nname( fuel ) ); @@ -2751,7 +2751,7 @@ void act_vehicle_unload_fuel( vehicle *veh ) } int qty = veh->fuel_left( fuel ); - if( fuel == fuel_type_plut_cell ) { + if( fuel == "plut_cell" ) { if( qty / PLUTONIUM_CHARGES == 0 ) { add_msg( m_info, _( "The vehicle has no charged plutonium cells." ) ); return; @@ -2987,7 +2987,7 @@ void veh_interact::complete_vehicle( player &p ) contents.clear(); // Power cables must remove parts from the target vehicle, too. - if( veh->part_flag( vehicle_part, flag_POWER_TRANSFER ) ) { + if( veh->part_flag( vehicle_part, "POWER_TRANSFER" ) ) { veh->remove_remote_part( vehicle_part ); } diff --git a/src/veh_type.cpp b/src/veh_type.cpp index a3d7418f8a196..e0486058a8f52 100644 --- a/src/veh_type.cpp +++ b/src/veh_type.cpp @@ -31,7 +31,6 @@ #include "game_constants.h" #include "item.h" #include "mapdata.h" -#include "cata_string_consts.h" class npc; @@ -403,15 +402,15 @@ void vpart_info::load( const JsonObject &jo, const std::string &src ) def.damage_reduction = load_damage_array( dred ); } - if( def.has_flag( flag_ENGINE ) ) { + if( def.has_flag( "ENGINE" ) ) { load_engine( def.engine_info, jo, def.fuel_type ); } - if( def.has_flag( flag_WHEEL ) ) { + if( def.has_flag( "WHEEL" ) ) { load_wheel( def.wheel_info, jo ); } - if( def.has_flag( flag_WORKBENCH ) ) { + if( def.has_flag( "WORKBENCH" ) ) { load_workbench( def.workbench_info, jo ); } @@ -437,7 +436,7 @@ void vpart_info::finalize() for( auto &e : vpart_info_all ) { if( e.second.folded_volume > 0_ml ) { - e.second.set_flag( flag_FOLDABLE ); + e.second.set_flag( "FOLDABLE" ); } for( const auto &f : e.second.flags ) { @@ -449,7 +448,7 @@ void vpart_info::finalize() // Calculate and cache z-ordering based off of location // list_order is used when inspecting the vehicle - if( e.second.location == part_location_onroof ) { + if( e.second.location == "on_roof" ) { e.second.z_order = 9; e.second.list_order = 3; } else if( e.second.location == "on_cargo" ) { @@ -577,7 +576,7 @@ void vpart_info::check() if( part.folded_volume < 0_ml ) { debugmsg( "vehicle part %s has negative folded volume", part.id.c_str() ); } - if( part.has_flag( flag_FOLDABLE ) && part.folded_volume == 0_ml ) { + if( part.has_flag( "FOLDABLE" ) && part.folded_volume == 0_ml ) { debugmsg( "vehicle part %s has folding part with zero folded volume", part.name() ); } if( !item::type_is_defined( part.default_ammo ) ) { @@ -602,13 +601,13 @@ void vpart_info::check() part.id.c_str(), part.fuel_type.c_str() ); part.fuel_type = "null"; } - if( part.has_flag( flag_TURRET ) && !base_item_type.gun ) { + if( part.has_flag( "TURRET" ) && !base_item_type.gun ) { debugmsg( "vehicle part %s has the TURRET flag, but is not made from a gun item", part.id.c_str() ); } - if( !part.emissions.empty() && !part.has_flag( flag_EMITTER ) ) { + if( !part.emissions.empty() && !part.has_flag( "EMITTER" ) ) { debugmsg( "vehicle part %s has emissions set, but the EMITTER flag is not set", part.id.c_str() ); } - if( part.has_flag( flag_EMITTER ) ) { + if( part.has_flag( "EMITTER" ) ) { if( part.emissions.empty() ) { debugmsg( "vehicle part %s has the EMITTER flag, but no emissions were set", part.id.c_str() ); } else { @@ -620,7 +619,7 @@ void vpart_info::check() } } } - if( part.has_flag( flag_WHEEL ) && !base_item_type.wheel ) { + if( part.has_flag( "WHEEL" ) && !base_item_type.wheel ) { debugmsg( "vehicle part %s has the WHEEL flag, but base item %s is not a wheel. THIS WILL CRASH!", part.id.c_str(), part.item ); } @@ -682,7 +681,7 @@ int vpart_info::format_description( std::string &msg, const nc_color &format_col long_descrip += description.translated(); } for( const auto &flagid : flags ) { - if( flagid == flag_ALARMCLOCK || flagid == flag_WATCH ) { + if( flagid == "ALARMCLOCK" || flagid == "WATCH" ) { continue; } json_flag flag = json_flag::get( flagid ); @@ -693,15 +692,15 @@ int vpart_info::format_description( std::string &msg, const nc_color &format_col long_descrip += _( flag.info() ); } } - if( ( has_flag( flag_SEAT ) || has_flag( flag_BED ) ) && !has_flag( flag_BELTABLE ) ) { - json_flag nobelt = json_flag::get( flag_NONBELTABLE ); + if( ( has_flag( "SEAT" ) || has_flag( "BED" ) ) && !has_flag( "BELTABLE" ) ) { + json_flag nobelt = json_flag::get( "NONBELTABLE" ); long_descrip += " " + _( nobelt.info() ); } - if( has_flag( flag_BOARDABLE ) && has_flag( flag_OPENABLE ) ) { - json_flag nobelt = json_flag::get( flag_DOOR ); + if( has_flag( "BOARDABLE" ) && has_flag( "OPENABLE" ) ) { + json_flag nobelt = json_flag::get( "DOOR" ); long_descrip += " " + _( nobelt.info() ); } - if( has_flag( flag_TURRET ) ) { + if( has_flag( "TURRET" ) ) { class::item base( item ); long_descrip += string_format( _( "\nRange: %1$5d Damage: %2$5.0f" ), base.gun_range( true ), @@ -1068,7 +1067,7 @@ void vehicle_prototype::finalize() } } - if( pt.part.obj().has_flag( flag_CARGO ) ) { + if( pt.part.obj().has_flag( "CARGO" ) ) { cargo_spots.insert( pt.pos ); } } diff --git a/src/veh_type.h b/src/veh_type.h index 258fbdfb06c99..55cf3811e97ba 100644 --- a/src/veh_type.h +++ b/src/veh_type.h @@ -23,6 +23,8 @@ #include "point.h" #include "translations.h" +using itype_id = std::string; + class JsonObject; class Character; diff --git a/src/vehicle.cpp b/src/vehicle.cpp index e3637c4c5a5f1..3042bd524756d 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -183,7 +183,7 @@ void vehicle_stack::insert( const item &newitem ) units::volume vehicle_stack::max_volume() const { - if( myorigin->part_flag( part_num, flag_CARGO ) && myorigin->parts[part_num].is_available() ) { + if( myorigin->part_flag( part_num, "CARGO" ) && myorigin->parts[part_num].is_available() ) { // Set max volume for vehicle cargo to prevent integer overflow return std::min( myorigin->parts[part_num].info().size, 10000_liter ); } @@ -228,7 +228,7 @@ bool vehicle::player_in_control( const player &p ) const const optional_vpart_position vp = g->m.veh_at( p.pos() ); if( vp && &vp->vehicle() == this && - ( ( part_with_feature( vp->part_index(), flag_CONTROL_ANIMAL, true ) >= 0 && + ( ( part_with_feature( vp->part_index(), "CONTROL_ANIMAL", true ) >= 0 && has_engine_type( fuel_type_animal, false ) && has_harnessed_animal() ) || ( part_with_feature( vp->part_index(), VPFLAG_CONTROLS, false ) >= 0 ) ) && p.controlling_vehicle ) { @@ -245,7 +245,7 @@ bool vehicle::remote_controlled( const player &p ) const return false; } - for( const vpart_reference &vp : get_avail_parts( flag_REMOTE_CONTROLS ) ) { + for( const vpart_reference &vp : get_avail_parts( "REMOTE_CONTROLS" ) ) { if( rl_dist( p.pos(), vp.pos() ) <= 40 ) { return true; } @@ -260,6 +260,7 @@ bool vehicle::remote_controlled( const player &p ) const * loading from a game saved before the vehicle construction rules overhaul). */ void vehicle::add_missing_frames() { + static const vpart_id frame_id( "frame_vertical" ); //No need to check the same spot more than once std::set locations_checked; for( auto &i : parts ) { @@ -277,7 +278,7 @@ void vehicle::add_missing_frames() } if( !found ) { // Install missing frame - parts.emplace_back( vpart_frame_vertical, i.mount, item( vpart_frame_vertical->item ) ); + parts.emplace_back( frame_id, i.mount, item( frame_id->item ) ); } } } @@ -292,7 +293,7 @@ void vehicle::add_steerable_wheels() // Find wheels that have steerable versions. // Convert the wheel(s) with the largest x value. for( const vpart_reference &vp : get_all_parts() ) { - if( vp.has_feature( flag_STEERABLE ) || vp.has_feature( flag_TRACKED ) ) { + if( vp.has_feature( "STEERABLE" ) || vp.has_feature( "TRACKED" ) ) { // Has a wheel that is inherently steerable // (e.g. unicycle, casters), this vehicle doesn't // need conversion. @@ -402,7 +403,7 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) //Provide some variety to non-mint vehicles if( veh_status != 0 ) { //Leave engine running in some vehicles, if the engine has not been destroyed - if( veh_fuel_mult > 0 && !empty( get_avail_parts( flag_ENGINE ) ) && + if( veh_fuel_mult > 0 && !empty( get_avail_parts( "ENGINE" ) ) && one_in( 8 ) && !destroyEngine && !has_no_key && has_engine_type_not( fuel_type_muscle, true ) ) { engine_on = true; } @@ -440,15 +441,15 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) blood_inside = true; } - for( const vpart_reference &vp : get_parts_including_carried( flag_FRIDGE ) ) { + for( const vpart_reference &vp : get_parts_including_carried( "FRIDGE" ) ) { vp.part().enabled = true; } - for( const vpart_reference &vp : get_parts_including_carried( flag_FREEZER ) ) { + for( const vpart_reference &vp : get_parts_including_carried( "FREEZER" ) ) { vp.part().enabled = true; } - for( const vpart_reference &vp : get_parts_including_carried( flag_WATER_PURIFIER ) ) { + for( const vpart_reference &vp : get_parts_including_carried( "WATER_PURIFIER" ) ) { vp.part().enabled = true; } } @@ -465,44 +466,44 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) if( pt.is_reactor() ) { if( veh_fuel_mult == 100 ) { // Mint condition vehicle - pt.ammo_set( fuel_type_plut_cell, pt.ammo_capacity() ); + pt.ammo_set( "plut_cell", pt.ammo_capacity() ); } else if( one_in( 2 ) && veh_fuel_mult > 0 ) { // Randomize charge a bit - pt.ammo_set( fuel_type_plut_cell, pt.ammo_capacity() * ( veh_fuel_mult + rng( 0, 10 ) ) / 100 ); + pt.ammo_set( "plut_cell", pt.ammo_capacity() * ( veh_fuel_mult + rng( 0, 10 ) ) / 100 ); } else if( one_in( 2 ) && veh_fuel_mult > 0 ) { - pt.ammo_set( fuel_type_plut_cell, pt.ammo_capacity() * ( veh_fuel_mult - rng( 0, 10 ) ) / 100 ); + pt.ammo_set( "plut_cell", pt.ammo_capacity() * ( veh_fuel_mult - rng( 0, 10 ) ) / 100 ); } else { - pt.ammo_set( fuel_type_plut_cell, pt.ammo_capacity() * veh_fuel_mult / 100 ); + pt.ammo_set( "plut_cell", pt.ammo_capacity() * veh_fuel_mult / 100 ); } } if( pt.is_battery() ) { if( veh_fuel_mult == 100 ) { // Mint condition vehicle - pt.ammo_set( fuel_type_battery, pt.ammo_capacity() ); + pt.ammo_set( "battery", pt.ammo_capacity() ); } else if( one_in( 2 ) && veh_fuel_mult > 0 ) { // Randomize battery ammo a bit - pt.ammo_set( fuel_type_battery, pt.ammo_capacity() * ( veh_fuel_mult + rng( 0, 10 ) ) / 100 ); + pt.ammo_set( "battery", pt.ammo_capacity() * ( veh_fuel_mult + rng( 0, 10 ) ) / 100 ); } else if( one_in( 2 ) && veh_fuel_mult > 0 ) { - pt.ammo_set( fuel_type_battery, pt.ammo_capacity() * ( veh_fuel_mult - rng( 0, 10 ) ) / 100 ); + pt.ammo_set( "battery", pt.ammo_capacity() * ( veh_fuel_mult - rng( 0, 10 ) ) / 100 ); } else { - pt.ammo_set( fuel_type_battery, pt.ammo_capacity() * veh_fuel_mult / 100 ); + pt.ammo_set( "battery", pt.ammo_capacity() * veh_fuel_mult / 100 ); } } - if( pt.is_tank() && type->parts[p].fuel != fuel_type_none ) { + if( pt.is_tank() && type->parts[p].fuel != "null" ) { int qty = pt.ammo_capacity() * veh_fuel_mult / 100; qty *= std::max( item::find_type( type->parts[p].fuel )->stack_size, 1 ); qty /= to_milliliter( units::legacy_volume_factor ); pt.ammo_set( type->parts[ p ].fuel, qty ); - } else if( pt.is_fuel_store() && type->parts[p].fuel != fuel_type_none ) { + } else if( pt.is_fuel_store() && type->parts[p].fuel != "null" ) { int qty = pt.ammo_capacity() * veh_fuel_mult / 100; pt.ammo_set( type->parts[ p ].fuel, qty ); } - if( vp.has_feature( flag_OPENABLE ) ) { // doors are closed + if( vp.has_feature( "OPENABLE" ) ) { // doors are closed if( !pt.open && one_in( 4 ) ) { open( p ); } } - if( vp.has_feature( flag_BOARDABLE ) ) { // no passengers + if( vp.has_feature( "BOARDABLE" ) ) { // no passengers pt.remove_flag( vehicle_part::passenger_flag ); } @@ -537,9 +538,9 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) } while( one_in( 3 ) ); } - } else if( ( destroySeats && ( vp.has_feature( flag_SEAT ) || vp.has_feature( flag_SEATBELT ) ) ) || - ( destroyControls && ( vp.has_feature( flag_CONTROLS ) || vp.has_feature( flag_SECURITY ) ) ) || - ( destroyAlarm && vp.has_feature( flag_SECURITY ) ) ) { + } else if( ( destroySeats && ( vp.has_feature( "SEAT" ) || vp.has_feature( "SEATBELT" ) ) ) || + ( destroyControls && ( vp.has_feature( "CONTROLS" ) || vp.has_feature( "SECURITY" ) ) ) || + ( destroyAlarm && vp.has_feature( "SECURITY" ) ) ) { set_hp( pt, 0 ); } @@ -550,7 +551,7 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) } //Solar panels have 25% of being destroyed - if( vp.has_feature( flag_SOLAR_PANEL ) && one_in( 4 ) ) { + if( vp.has_feature( "SOLAR_PANEL" ) && one_in( 4 ) ) { set_hp( pt, 0 ); } @@ -577,14 +578,14 @@ void vehicle::init_state( int init_veh_fuel, int init_veh_status ) if( distSq <= 1 ) { pt.blood = rng( 200, 400 ) - distSq * 100; } - } else if( vp.has_feature( flag_SEAT ) ) { + } else if( vp.has_feature( "SEAT" ) ) { // Set the center of the bloody mess inside blood_inside_pos.emplace( vp.mount() ); } } } //sets the vehicle to locked, if there is no key and an alarm part exists - if( vp.has_feature( flag_SECURITY ) && has_no_key && pt.is_available() ) { + if( vp.has_feature( "SECURITY" ) && has_no_key && pt.is_available() ) { is_locked = true; if( one_in( 2 ) ) { @@ -653,7 +654,7 @@ void vehicle::autopilot_patrol() return; } zone_manager &mgr = zone_manager::get_manager(); - const auto &zone_src_set = mgr.get_near( zone_type_VEHICLE_PATROL, + const auto &zone_src_set = mgr.get_near( zone_type_id( "VEHICLE_PATROL" ), g->m.getabs( global_pos3() ), 60 ); if( zone_src_set.empty() ) { is_patrolling = false; @@ -1074,7 +1075,7 @@ bool vehicle::is_engine_type( const int e, const itype_id &ft ) const bool vehicle::is_perpetual_type( const int e ) const { const itype_id &ft = part_info( engines[e] ).fuel_type; - return item( ft ).has_flag( flag_PERPETUAL ); + return item( ft ).has_flag( "PERPETUAL" ); } bool vehicle::is_engine_on( const int e ) const @@ -1107,7 +1108,7 @@ bool vehicle::has_security_working() const bool found_security = false; if( fuel_left( fuel_type_battery ) > 0 ) { for( int s : speciality ) { - if( part_flag( s, flag_SECURITY ) && parts[ s ].is_available() ) { + if( part_flag( s, "SECURITY" ) && parts[ s ].is_available() ) { found_security = true; break; } @@ -1232,7 +1233,7 @@ bool vehicle::has_structural_part( const point &dp ) const { for( const int elem : parts_at_relative( dp, false ) ) { if( part_info( elem ).location == part_location_structure && - !part_info( elem ).has_flag( flag_PROTRUSION ) ) { + !part_info( elem ).has_flag( "PROTRUSION" ) ) { return true; } } @@ -1269,7 +1270,7 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const //It also has to be a real part, not the null part const vpart_info &part = id.obj(); - if( part.has_flag( flag_NOINSTALL ) ) { + if( part.has_flag( "NOINSTALL" ) ) { return false; } @@ -1280,11 +1281,11 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const return false; } // If its a part that harnesses animals that dont allow placing on it. - if( !parts_in_square.empty() && part_info( parts_in_square[0] ).has_flag( flag_ANIMAL_CTRL ) ) { + if( !parts_in_square.empty() && part_info( parts_in_square[0] ).has_flag( "ANIMAL_CTRL" ) ) { return false; } //No other part can be placed on a protrusion - if( !parts_in_square.empty() && part_info( parts_in_square[0] ).has_flag( flag_PROTRUSION ) ) { + if( !parts_in_square.empty() && part_info( parts_in_square[0] ).has_flag( "PROTRUSION" ) ) { return false; } @@ -1299,7 +1300,7 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const } // Until we have an interface for handling multiple components with CARGO space, // exclude them from being mounted in the same tile. - if( part.has_flag( flag_CARGO ) && other_part.has_flag( flag_CARGO ) ) { + if( part.has_flag( "CARGO" ) && other_part.has_flag( "CARGO" ) ) { return false; } @@ -1328,7 +1329,7 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const if( part.has_flag( VPFLAG_ALTERNATOR ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_E_ALTERNATOR ) ) { + if( part_info( elem ).has_flag( "E_ALTERNATOR" ) ) { anchor_found = true; } } @@ -1338,10 +1339,10 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const } //Seatbelts must be installed on a seat - if( part.has_flag( flag_SEATBELT ) ) { + if( part.has_flag( "SEATBELT" ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_BELTABLE ) ) { + if( part_info( elem ).has_flag( "BELTABLE" ) ) { anchor_found = true; } } @@ -1351,10 +1352,10 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const } //Internal must be installed into a cargo area. - if( part.has_flag( flag_INTERNAL ) ) { + if( part.has_flag( "INTERNAL" ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_CARGO ) ) { + if( part_info( elem ).has_flag( "CARGO" ) ) { anchor_found = true; } } @@ -1365,10 +1366,10 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const // curtains must be installed on (reinforced)windshields // TODO: do this automatically using "location":"on_mountpoint" - if( part.has_flag( flag_WINDOW_CURTAIN ) ) { + if( part.has_flag( "WINDOW_CURTAIN" ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_WINDOW ) ) { + if( part_info( elem ).has_flag( "WINDOW" ) ) { anchor_found = true; } } @@ -1378,10 +1379,10 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const } // Security system must be installed on controls - if( part.has_flag( flag_ON_CONTROLS ) ) { + if( part.has_flag( "ON_CONTROLS" ) ) { bool anchor_found = false; for( auto it : parts_in_square ) { - if( part_info( it ).has_flag( flag_CONTROLS ) ) { + if( part_info( it ).has_flag( "CONTROLS" ) ) { anchor_found = true; } } @@ -1392,10 +1393,10 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const // Cargo locks must go on lockable cargo containers // TODO: do this automatically using "location":"on_mountpoint" - if( part.has_flag( flag_CARGO_LOCKING ) ) { + if( part.has_flag( "CARGO_LOCKING" ) ) { bool anchor_found = false; for( auto it : parts_in_square ) { - if( part_info( it ).has_flag( flag_LOCKABLE_CARGO ) ) { + if( part_info( it ).has_flag( "LOCKABLE_CARGO" ) ) { anchor_found = true; } } @@ -1405,10 +1406,10 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const } //Swappable storage battery must be installed on a BATTERY_MOUNT - if( part.has_flag( flag_NEEDS_BATTERY_MOUNT ) ) { + if( part.has_flag( "NEEDS_BATTERY_MOUNT" ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_BATTERY_MOUNT ) ) { + if( part_info( elem ).has_flag( "BATTERY_MOUNT" ) ) { anchor_found = true; } } @@ -1418,10 +1419,10 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const } //Door motors need OPENABLE - if( part.has_flag( flag_DOOR_MOTOR ) ) { + if( part.has_flag( "DOOR_MOTOR" ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_OPENABLE ) ) { + if( part_info( elem ).has_flag( "OPENABLE" ) ) { anchor_found = true; } } @@ -1431,28 +1432,28 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const } //Mirrors cannot be mounted on OPAQUE parts - if( part.has_flag( flag_VISION ) && !part.has_flag( flag_CAMERA ) ) { + if( part.has_flag( "VISION" ) && !part.has_flag( "CAMERA" ) ) { for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_OPAQUE ) ) { + if( part_info( elem ).has_flag( "OPAQUE" ) ) { return false; } } } //and vice versa - if( part.has_flag( flag_OPAQUE ) ) { + if( part.has_flag( "OPAQUE" ) ) { for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_VISION ) && - !part_info( elem ).has_flag( flag_CAMERA ) ) { + if( part_info( elem ).has_flag( "VISION" ) && + !part_info( elem ).has_flag( "CAMERA" ) ) { return false; } } } //Turrets must be installed on a turret mount - if( part.has_flag( flag_TURRET ) ) { + if( part.has_flag( "TURRET" ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_TURRET_MOUNT ) ) { + if( part_info( elem ).has_flag( "TURRET_MOUNT" ) ) { anchor_found = true; break; } @@ -1463,19 +1464,19 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const } //Turret mounts must NOT be installed on other (modded) turret mounts - if( part.has_flag( flag_TURRET_MOUNT ) ) { + if( part.has_flag( "TURRET_MOUNT" ) ) { for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_TURRET_MOUNT ) ) { + if( part_info( elem ).has_flag( "TURRET_MOUNT" ) ) { return false; } } } //Roof-mounted parts must be installed on a roofs - if( part.has_flag( flag_ON_ROOF ) ) { + if( part.has_flag( "ON_ROOF" ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_ROOF ) ) { + if( part_info( elem ).has_flag( "ROOF" ) ) { anchor_found = true; break; } @@ -1486,10 +1487,10 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const } // Wheels that need axles must be installed on a wheel mount - if( part.has_flag( flag_NEEDS_WHEEL_MOUNT_LIGHT ) ) { + if( part.has_flag( "NEEDS_WHEEL_MOUNT_LIGHT" ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_WHEEL_MOUNT_LIGHT ) ) { + if( part_info( elem ).has_flag( "WHEEL_MOUNT_LIGHT" ) ) { anchor_found = true; break; } @@ -1498,10 +1499,10 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const return false; } } - if( part.has_flag( flag_NEEDS_WHEEL_MOUNT_MEDIUM ) ) { + if( part.has_flag( "NEEDS_WHEEL_MOUNT_MEDIUM" ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_WHEEL_MOUNT_MEDIUM ) ) { + if( part_info( elem ).has_flag( "WHEEL_MOUNT_MEDIUM" ) ) { anchor_found = true; break; } @@ -1510,10 +1511,10 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const return false; } } - if( part.has_flag( flag_NEEDS_WHEEL_MOUNT_HEAVY ) ) { + if( part.has_flag( "NEEDS_WHEEL_MOUNT_HEAVY" ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_WHEEL_MOUNT_HEAVY ) ) { + if( part_info( elem ).has_flag( "WHEEL_MOUNT_HEAVY" ) ) { anchor_found = true; break; } @@ -1524,10 +1525,10 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const } //Turret controls must be installed on a turret - if( part.has_flag( flag_TURRET_CONTROLS ) ) { + if( part.has_flag( "TURRET_CONTROLS" ) ) { bool anchor_found = false; for( const auto &elem : parts_in_square ) { - if( part_info( elem ).has_flag( flag_TURRET ) ) { + if( part_info( elem ).has_flag( "TURRET" ) ) { anchor_found = true; break; } @@ -1556,15 +1557,15 @@ bool vehicle::can_unmount( const int p, std::string &reason ) const // Check if the part is required by another part. Do not allow removing those. // { "FLAG THAT IS REQUIRED", "FLAG THAT REQUIRES", "Reason why can't remove." } static const std::array, 9> blocking_flags = {{ - std::make_tuple( flag_ENGINE, flag_ALTERNATOR, translate_marker( "Remove attached alternator first." ) ), - std::make_tuple( flag_BELTABLE, flag_SEATBELT, translate_marker( "Remove attached seatbelt first." ) ), - std::make_tuple( flag_WINDOW, flag_CURTAIN, translate_marker( "Remove attached curtains first." ) ), - std::make_tuple( flag_CONTROLS, flag_ON_CONTROLS, translate_marker( "Remove the attached %s first." ) ), - std::make_tuple( flag_BATTERY_MOUNT, flag_NEEDS_BATTERY_MOUNT, translate_marker( "Remove battery from mount first." ) ), - std::make_tuple( flag_TURRET_MOUNT, flag_TURRET, translate_marker( "Remove attached mounted weapon first." ) ), - std::make_tuple( flag_WHEEL_MOUNT_LIGHT, flag_NEEDS_WHEEL_MOUNT_LIGHT, translate_marker( "Remove attached wheel first." ) ), - std::make_tuple( flag_WHEEL_MOUNT_MEDIUM, flag_NEEDS_WHEEL_MOUNT_MEDIUM, translate_marker( "Remove attached wheel first." ) ), - std::make_tuple( flag_WHEEL_MOUNT_HEAVY, flag_NEEDS_WHEEL_MOUNT_HEAVY, translate_marker( "Remove attached wheel first." ) ) + std::make_tuple( "ENGINE", "ALTERNATOR", translate_marker( "Remove attached alternator first." ) ), + std::make_tuple( "BELTABLE", "SEATBELT", translate_marker( "Remove attached seatbelt first." ) ), + std::make_tuple( "WINDOW", "CURTAIN", translate_marker( "Remove attached curtains first." ) ), + std::make_tuple( "CONTROLS", "ON_CONTROLS", translate_marker( "Remove the attached %s first." ) ), + std::make_tuple( "BATTERY_MOUNT", "NEEDS_BATTERY_MOUNT", translate_marker( "Remove battery from mount first." ) ), + std::make_tuple( "TURRET_MOUNT", "TURRET", translate_marker( "Remove attached mounted weapon first." ) ), + std::make_tuple( "WHEEL_MOUNT_LIGHT", "NEEDS_WHEEL_MOUNT_LIGHT", translate_marker( "Remove attached wheel first." ) ), + std::make_tuple( "WHEEL_MOUNT_MEDIUM", "NEEDS_WHEEL_MOUNT_MEDIUM", translate_marker( "Remove attached wheel first." ) ), + std::make_tuple( "WHEEL_MOUNT_HEAVY", "NEEDS_WHEEL_MOUNT_HEAVY", translate_marker( "Remove attached wheel first." ) ) } }; for( auto &flag_check : blocking_flags ) { @@ -1685,7 +1686,7 @@ bool vehicle::is_connected( const vehicle_part &to, const vehicle_part &from, if( !parts_there.empty() && !parts[ parts_there[ 0 ] ].removed && part_info( parts_there[ 0 ] ).location == "structure" && - !part_info( parts_there[ 0 ] ).has_flag( flag_PROTRUSION ) ) { + !part_info( parts_there[ 0 ] ).has_flag( "PROTRUSION" ) ) { //Only add the part if we haven't been here before bool found = false; for( auto &elem : discovered ) { @@ -1747,26 +1748,26 @@ int vehicle::install_part( const point &dp, const vehicle_part &new_part ) } else { // TODO: read toggle groups from JSON static const std::vector enable_like = {{ - flag_CONE_LIGHT, - flag_CIRCLE_LIGHT, - flag_AISLE_LIGHT, - flag_AUTOPILOT, - flag_DOME_LIGHT, - flag_ATOMIC_LIGHT, - flag_STEREO, - flag_CHIMES, - flag_FRIDGE, - flag_FREEZER, - flag_RECHARGE, - flag_PLOW, - flag_REAPER, - flag_PLANTER, - flag_SCOOP, - flag_SPACE_HEATER, - flag_COOLER, - flag_WATER_PURIFIER, - flag_ROCKWHEEL, - flag_ROADHEAD + "CONE_LIGHT", + "CIRCLE_LIGHT", + "AISLE_LIGHT", + "AUTOPILOT", + "DOME_LIGHT", + "ATOMIC_LIGHT", + "STEREO", + "CHIMES", + "FRIDGE", + "FREEZER", + "RECHARGE", + "PLOW", + "REAPER", + "PLANTER", + "SCOOP", + "SPACE_HEATER", + "COOLER", + "WATER_PURIFIER", + "ROCKWHEEL", + "ROADHEAD" } }; @@ -2006,7 +2007,7 @@ bool vehicle::remove_part( const int p, RemovePartHandler &handler ) const tripoint part_loc = global_part_pos3( p ); // Unboard any entities standing on removed boardable parts - if( part_flag( p, flag_BOARDABLE ) && parts[p].has_flag( vehicle_part::passenger_flag ) ) { + if( part_flag( p, "BOARDABLE" ) && parts[p].has_flag( vehicle_part::passenger_flag ) ) { handler.unboard( part_loc ); } @@ -2027,12 +2028,12 @@ bool vehicle::remove_part( const int p, RemovePartHandler &handler ) // if a windshield is removed (usually destroyed) also remove curtains // attached to it. - if( remove_dependent_part( flag_WINDOW, flag_CURTAIN ) || part_flag( p, VPFLAG_OPAQUE ) ) { + if( remove_dependent_part( "WINDOW", "CURTAIN" ) || part_flag( p, VPFLAG_OPAQUE ) ) { handler.set_transparency_cache_dirty( sm_pos.z ); } - remove_dependent_part( flag_SEAT, flag_SEATBELT ); - remove_dependent_part( flag_BATTERY_MOUNT, flag_NEEDS_BATTERY_MOUNT ); + remove_dependent_part( "SEAT", "SEATBELT" ); + remove_dependent_part( "BATTERY_MOUNT", "NEEDS_BATTERY_MOUNT" ); // Release any animal held by the part if( parts[p].has_flag( vehicle_part::animal_flag ) ) { @@ -2043,7 +2044,7 @@ bool vehicle::remove_part( const int p, RemovePartHandler &handler ) } // Update current engine configuration if needed - if( part_flag( p, flag_ENGINE ) && engines.size() > 1 ) { + if( part_flag( p, "ENGINE" ) && engines.size() > 1 ) { bool any_engine_on = false; for( auto &e : engines ) { @@ -2065,7 +2066,7 @@ bool vehicle::remove_part( const int p, RemovePartHandler &handler ) const auto lz_iter = loot_zones.find( parts[p].mount ); const bool no_zone = lz_iter != loot_zones.end(); - if( no_zone && part_flag( p, flag_CARGO ) ) { + if( no_zone && part_flag( p, "CARGO" ) ) { // Using the key here (instead of the iterator) will remove all zones on // this mount points regardless of how many there are loot_zones.erase( parts[p].mount ); @@ -2347,7 +2348,7 @@ bool vehicle::find_and_split_vehicles( int exclude ) void vehicle::relocate_passengers( const std::vector &passengers ) { - const auto boardables = get_avail_parts( flag_BOARDABLE ); + const auto boardables = get_avail_parts( "BOARDABLE" ); for( player *passenger : passengers ) { for( const vpart_reference &vp : boardables ) { if( vp.part().passenger_id == passenger->getID() ) { @@ -2398,7 +2399,7 @@ bool vehicle::split_vehicles( const std::vector> &new_vehs, for( size_t sp = 0; sp < split_parts.size(); sp++ ) { int p = split_parts[ sp ]; if( part_info( p ).location == part_location_structure && - !part_info( p ).has_flag( flag_PROTRUSION ) ) { + !part_info( p ).has_flag( "PROTRUSION" ) ) { split_part0 = sp; break; } @@ -2437,7 +2438,7 @@ bool vehicle::split_vehicles( const std::vector> &new_vehs, player *passenger = nullptr; // Unboard any entities standing on any transferred part - if( part_flag( mov_part, flag_BOARDABLE ) ) { + if( part_flag( mov_part, "BOARDABLE" ) ) { passenger = get_passenger( mov_part ); if( passenger ) { passengers.push_back( passenger ); @@ -2791,7 +2792,7 @@ int vehicle::next_part_to_close( int p, bool outside ) const if( part_flag( *part_it, VPFLAG_OPENABLE ) && parts[ *part_it ].is_available() && parts[*part_it].open == 1 - && ( !outside || !part_flag( *part_it, flag_OPENCLOSE_INSIDE ) ) ) { + && ( !outside || !part_flag( *part_it, "OPENCLOSE_INSIDE" ) ) ) { return *part_it; } } @@ -2805,7 +2806,7 @@ int vehicle::next_part_to_open( int p, bool outside ) const // We want forwards, since we open the innermost thing first (curtains), and then the innermost thing (door) for( auto &elem : parts_here ) { if( part_flag( elem, VPFLAG_OPENABLE ) && parts[ elem ].is_available() && parts[elem].open == 0 && - ( !outside || !part_flag( elem, flag_OPENCLOSE_INSIDE ) ) ) { + ( !outside || !part_flag( elem, "OPENCLOSE_INSIDE" ) ) ) { return elem; } } @@ -2938,7 +2939,7 @@ std::vector> vehicle::find_lines_of_parts( int part, const std: point target = parts[ part ].mount; for( const vpart_reference &vp : possible_parts ) { if( vp.part().is_unavailable() || - !vp.has_feature( flag_MULTISQUARE ) || + !vp.has_feature( "MULTISQUARE" ) || vp.info().get_id() != part_id ) { continue; } @@ -3114,7 +3115,7 @@ int vehicle::roof_at_part( const int part ) const { std::vector parts_in_square = parts_at_relative( parts[part].mount, true ); for( const int p : parts_in_square ) { - if( part_info( p ).location == part_location_onroof || part_flag( p, flag_ROOF ) ) { + if( part_info( p ).location == "on_roof" || part_flag( p, "ROOF" ) ) { return p; } } @@ -3343,15 +3344,15 @@ int vehicle::fuel_left( const itype_id &ftype, bool recurse ) const const int p = avail_part_with_feature( vp->part_index(), VPFLAG_ENGINE, true ); if( p >= 0 && is_part_on( p ) && part_info( p ).fuel_type == fuel_type_muscle ) { //Broken limbs prevent muscle engines from working - if( ( part_info( p ).has_flag( flag_MUSCLE_LEGS ) && ( g->u.get_working_leg_count() >= 2 ) ) || - ( part_info( p ).has_flag( flag_MUSCLE_ARMS ) && + if( ( part_info( p ).has_flag( "MUSCLE_LEGS" ) && ( g->u.get_working_leg_count() >= 2 ) ) || + ( part_info( p ).has_flag( "MUSCLE_ARMS" ) && ( g->u.get_working_arm_count() >= 2 ) ) ) { fl += 10; } } } // As do any other engine flagged as perpetual - } else if( item( ftype ).has_flag( flag_PERPETUAL ) ) { + } else if( item( ftype ).has_flag( "PERPETUAL" ) ) { fl += 10; } @@ -3469,7 +3470,7 @@ int vehicle::basic_consumption( const itype_id &ftype ) const int vehicle::consumption_per_hour( const itype_id &ftype, int fuel_rate_w ) const { item fuel = item( ftype ); - if( fuel_rate_w == 0 || fuel.has_flag( flag_PERPETUAL ) || !engine_on ) { + if( fuel_rate_w == 0 || fuel.has_flag( "PERPETUAL" ) || !engine_on ) { return 0; } // consume this fuel type's share of alternator load for 3600 seconds @@ -3768,7 +3769,7 @@ void vehicle::noise_and_smoke( int load, time_duration time ) double muffle = 1.0; double m = 0.0; int exhaust_part = -1; - for( const vpart_reference &vp : get_avail_parts( flag_MUFFLER ) ) { + for( const vpart_reference &vp : get_avail_parts( "MUFFLER" ) ) { m = 1.0 - ( 1.0 - vp.info().bonus / 100.0 ) * vp.part().health_percent(); if( m < muffle ) { muffle = m; @@ -3792,7 +3793,7 @@ void vehicle::noise_and_smoke( int load, time_duration time ) cur_stress = std::max( cur_stress, 1.0 ); double part_noise = cur_stress * part_info( p ).engine_noise_factor(); - if( part_info( p ).has_flag( flag_E_COMBUSTION ) ) { + if( part_info( p ).has_flag( "E_COMBUSTION" ) ) { combustion = true; double health = parts[p].health_percent(); if( parts[ p ].base.faults.count( fault_filter_fuel ) ) { @@ -3916,16 +3917,16 @@ double vehicle::coeff_air_drag() const if( p.info().location != part_location_center ) { return false; } - return !( p.inside || p.info().has_flag( flag_NO_ROOF_NEEDED ) || - p.info().has_flag( flag_WINDSHIELD ) || - p.info().has_flag( flag_OPENABLE ) ); + return !( p.inside || p.info().has_flag( "NO_ROOF_NEEDED" ) || + p.info().has_flag( "WINDSHIELD" ) || + p.info().has_flag( "OPENABLE" ) ); }; const auto d_protrusion = [&]( std::vector parts_at ) { if( parts_at.size() > 1 ) { return false; } else { - return parts[ parts_at.front() ].info().has_flag( flag_PROTRUSION ); + return parts[ parts_at.front() ].info().has_flag( "PROTRUSION" ); } }; const auto d_check_min = [&]( int &value, const vehicle_part & p, bool test ) { @@ -3948,22 +3949,22 @@ double vehicle::coeff_air_drag() const d_check_min( drag[ col ].pro, parts[ p ], d_protrusion( parts_at ) ); for( int pa_index : parts_at ) { const vehicle_part &pa = parts[ pa_index ]; - d_check_max( drag[ col ].hboard, pa, pa.info().has_flag( flag_HALF_BOARD ) ); - d_check_max( drag[ col ].fboard, pa, pa.info().has_flag( flag_FULL_BOARD ) ); - d_check_max( drag[ col ].aisle, pa, pa.info().has_flag( flag_AISLE ) ); - d_check_max( drag[ col ].shield, pa, pa.info().has_flag( flag_WINDSHIELD ) && + d_check_max( drag[ col ].hboard, pa, pa.info().has_flag( "HALF_BOARD" ) ); + d_check_max( drag[ col ].fboard, pa, pa.info().has_flag( "FULL_BOARD" ) ); + d_check_max( drag[ col ].aisle, pa, pa.info().has_flag( "AISLE" ) ); + d_check_max( drag[ col ].shield, pa, pa.info().has_flag( "WINDSHIELD" ) && pa.is_available() ); - d_check_max( drag[ col ].seat, pa, pa.info().has_flag( flag_SEAT ) || - pa.info().has_flag( flag_BED ) ); + d_check_max( drag[ col ].seat, pa, pa.info().has_flag( "SEAT" ) || + pa.info().has_flag( "BED" ) ); d_check_max( drag[ col ].turret, pa, pa.info().location == part_location_onroof && - !pa.info().has_flag( flag_SOLAR_PANEL ) ); - d_check_max( drag[ col ].roof, pa, pa.info().has_flag( flag_ROOF ) ); - d_check_max( drag[ col ].panel, pa, pa.info().has_flag( flag_SOLAR_PANEL ) ); - d_check_max( drag[ col ].windmill, pa, pa.info().has_flag( flag_WIND_TURBINE ) ); - d_check_max( drag[ col ].sail, pa, pa.info().has_flag( flag_WIND_POWERED ) ); + !pa.info().has_flag( "SOLAR_PANEL" ) ); + d_check_max( drag[ col ].roof, pa, pa.info().has_flag( "ROOF" ) ); + d_check_max( drag[ col ].panel, pa, pa.info().has_flag( "SOLAR_PANEL" ) ); + d_check_max( drag[ col ].windmill, pa, pa.info().has_flag( "WIND_TURBINE" ) ); + d_check_max( drag[ col ].sail, pa, pa.info().has_flag( "WIND_POWERED" ) ); d_check_max( drag[ col ].exposed, pa, d_exposed( pa ) ); - d_check_min( drag[ col ].last, pa, pa.info().has_flag( flag_LOW_FINAL_AIR_DRAG ) || - pa.info().has_flag( flag_HALF_BOARD ) ); + d_check_min( drag[ col ].last, pa, pa.info().has_flag( "LOW_FINAL_AIR_DRAG" ) || + pa.info().has_flag( "HALF_BOARD" ) ); } } double height = 0; @@ -4181,7 +4182,7 @@ bool vehicle::sufficient_wheel_config() const return false; } else if( wheelcache.size() == 1 ) { //Has to be a stable wheel, and one wheel can only support a 1-3 tile vehicle - if( !part_info( wheelcache.front() ).has_flag( flag_STABLE ) || + if( !part_info( wheelcache.front() ).has_flag( "STABLE" ) || all_parts_at_location( part_location_structure ).size() > 3 ) { return false; } @@ -4382,8 +4383,9 @@ std::map vehicle::fuel_usage() const const size_t e = engines[ i ]; const auto &info = part_info( e ); + static const itype_id null_fuel_type( "null" ); const itype_id &cur_fuel = parts[ e ].fuel_current(); - if( cur_fuel == fuel_type_none ) { + if( cur_fuel == null_fuel_type ) { continue; } @@ -4622,7 +4624,7 @@ void vehicle::update_alternator_load() if( engine_on ) { int engine_vpower = 0; for( size_t e = 0; e < engines.size(); ++e ) { - if( is_engine_on( e ) && parts[engines[e]].info().has_flag( flag_E_ALTERNATOR ) ) { + if( is_engine_on( e ) && parts[engines[e]].info().has_flag( "E_ALTERNATOR" ) ) { engine_vpower += part_vpower_w( engines[e] ); } } @@ -4712,11 +4714,11 @@ void vehicle::power_parts() if( battery_deficit != 0 ) { // Scoops need a special case since they consume power during actual use - for( const vpart_reference &vp : get_enabled_parts( flag_SCOOP ) ) { + for( const vpart_reference &vp : get_enabled_parts( "SCOOP" ) ) { vp.part().enabled = false; } // Rechargers need special case since they consume power on demand - for( const vpart_reference &vp : get_enabled_parts( flag_RECHARGE ) ) { + for( const vpart_reference &vp : get_enabled_parts( "RECHARGE" ) ) { vp.part().enabled = false; } @@ -4803,7 +4805,7 @@ int vehicle::traverse_vehicle_graph( Vehicle *start_veh, int amount, Func action g->u.add_msg_if_player( m_debug, "Traversing graph with %d power", amount ); for( auto &p : current_veh->loose_parts ) { - if( !current_veh->part_info( p ).has_flag( flag_POWER_TRANSFER ) ) { + if( !current_veh->part_info( p ).has_flag( "POWER_TRANSFER" ) ) { continue; // ignore loose parts that aren't power transfer cables } @@ -4952,7 +4954,7 @@ void vehicle::idle( bool on_map ) } if( !warm_enough_to_plant( g->u.pos() ) ) { - for( const vpart_reference &vp : get_enabled_parts( flag_PLANTER ) ) { + for( const vpart_reference &vp : get_enabled_parts( "PLANTER" ) ) { if( g->u.sees( global_pos3() ) ) { add_msg( _( "The %s's planter turns off due to low temperature." ), name ); } @@ -4966,15 +4968,15 @@ void vehicle::idle( bool on_map ) update_time( calendar::turn ); } - if( has_part( flag_STEREO, true ) ) { + if( has_part( "STEREO", true ) ) { play_music(); } - if( has_part( flag_CHIMES, true ) ) { + if( has_part( "CHIMES", true ) ) { play_chimes(); } - if( has_part( flag_CRASH_TERRAIN_AROUND, true ) ) { + if( has_part( "CRASH_TERRAIN_AROUND", true ) ) { crash_terrain_around(); } @@ -4985,16 +4987,16 @@ void vehicle::idle( bool on_map ) void vehicle::on_move() { - if( has_part( flag_TRANSFORM_TERRAIN, true ) ) { + if( has_part( "TRANSFORM_TERRAIN", true ) ) { transform_terrain(); } - if( has_part( flag_SCOOP, true ) ) { + if( has_part( "SCOOP", true ) ) { operate_scoop(); } - if( has_part( flag_PLANTER, true ) ) { + if( has_part( "PLANTER", true ) ) { operate_planter(); } - if( has_part( flag_REAPER, true ) ) { + if( has_part( "REAPER", true ) ) { operate_reaper(); } @@ -5016,11 +5018,11 @@ void vehicle::slow_leak() const tripoint dest = global_pos3() + tripoint( q, 0 ); // damaged batteries self-discharge without leaking, plutonium leaks slurry - if( fuel != fuel_type_battery && fuel != fuel_type_plut_cell ) { + if( fuel != fuel_type_battery && fuel != fuel_type_plutonium_cell ) { item leak( fuel, calendar::turn, qty ); g->m.add_item_or_charges( dest, leak ); p.ammo_consume( qty, global_part_pos3( p ) ); - } else if( fuel == fuel_type_plut_cell ) { + } else if( fuel == fuel_type_plutonium_cell ) { if( p.ammo_remaining() >= PLUTONIUM_CHARGES / 10 ) { item leak( "plut_slurry_dense", calendar::turn, qty ); g->m.add_item_or_charges( dest, leak ); @@ -5056,7 +5058,7 @@ void vehicle::make_active( item_location &loc ) if( !target.needs_processing() ) { return; } - auto cargo_parts = get_parts_at( loc.position(), flag_CARGO, part_status_flag::any ); + auto cargo_parts = get_parts_at( loc.position(), "CARGO", part_status_flag::any ); if( cargo_parts.empty() ) { return; } @@ -5189,7 +5191,7 @@ void vehicle::place_spawn_items() for( const auto &pt : type->parts ) { if( pt.with_ammo ) { - int turret = part_with_feature( pt.pos, flag_TURRET, true ); + int turret = part_with_feature( pt.pos, "TURRET", true ); if( turret >= 0 && x_in_y( pt.with_ammo, 100 ) ) { parts[ turret ].ammo_set( random_entry( pt.ammo_types ), rng( pt.ammo_qty.first, pt.ammo_qty.second ) ); @@ -5199,7 +5201,7 @@ void vehicle::place_spawn_items() for( const auto &spawn : type.obj().item_spawns ) { if( rng( 1, 100 ) <= spawn.chance ) { - int part = part_with_feature( spawn.pos, flag_CARGO, false ); + int part = part_with_feature( spawn.pos, "CARGO", false ); if( part < 0 ) { debugmsg( "No CARGO parts at (%d, %d) of %s!", spawn.pos.x, spawn.pos.y, name ); @@ -5423,22 +5425,22 @@ void vehicle::refresh() if( vpi.has_flag( VPFLAG_SOLAR_PANEL ) ) { solar_panels.push_back( p ); } - if( vpi.has_flag( flag_WIND_TURBINE ) ) { + if( vpi.has_flag( "WIND_TURBINE" ) ) { wind_turbines.push_back( p ); } - if( vpi.has_flag( flag_WIND_POWERED ) ) { + if( vpi.has_flag( "WIND_POWERED" ) ) { sails.push_back( p ); } - if( vpi.has_flag( flag_WATER_WHEEL ) ) { + if( vpi.has_flag( "WATER_WHEEL" ) ) { water_wheels.push_back( p ); } - if( vpi.has_flag( flag_FUNNEL ) ) { + if( vpi.has_flag( "FUNNEL" ) ) { funnels.push_back( p ); } - if( vpi.has_flag( flag_UNMOUNT_ON_MOVE ) ) { + if( vpi.has_flag( "UNMOUNT_ON_MOVE" ) ) { loose_parts.push_back( p ); } - if( vpi.has_flag( flag_EMITTER ) ) { + if( vpi.has_flag( "EMITTER" ) ) { emitters.push_back( p ); } if( vpi.has_flag( VPFLAG_WHEEL ) ) { @@ -5459,30 +5461,29 @@ void vehicle::refresh() railwheel_xmax = std::max( railwheel_xmax, pt.x ); railwheel_ymax = std::max( railwheel_ymax, pt.y ); } - if( ( vpi.has_flag( flag_STEERABLE ) && part_with_feature( pt, flag_STEERABLE, true ) != -1 ) || - vpi.has_flag( flag_TRACKED ) ) { + if( ( vpi.has_flag( "STEERABLE" ) && part_with_feature( pt, "STEERABLE", true ) != -1 ) || + vpi.has_flag( "TRACKED" ) ) { // TRACKED contributes to steering effectiveness but // (a) doesn't count as a steering axle for install difficulty // (b) still contributes to drag for the center of steering calculation steering.push_back( p ); } - if( vpi.has_flag( flag_SECURITY ) ) { + if( vpi.has_flag( "SECURITY" ) ) { speciality.push_back( p ); } - if( vp.part().enabled && vpi.has_flag( flag_EXTRA_DRAG ) ) { + if( vp.part().enabled && vpi.has_flag( "EXTRA_DRAG" ) ) { extra_drag += vpi.power; } - if( vpi.has_flag( flag_EXTRA_DRAG ) && ( vpi.has_flag( flag_WIND_TURBINE ) || - vpi.has_flag( flag_WATER_WHEEL ) ) ) { + if( vpi.has_flag( "EXTRA_DRAG" ) && ( vpi.has_flag( "WIND_TURBINE" ) || + vpi.has_flag( "WATER_WHEEL" ) ) ) { extra_drag += vpi.power; } - if( camera_on && vpi.has_flag( flag_CAMERA ) ) { + if( camera_on && vpi.has_flag( "CAMERA" ) ) { vp.part().enabled = true; - } else if( !camera_on && vpi.has_flag( flag_CAMERA ) ) { + } else if( !camera_on && vpi.has_flag( "CAMERA" ) ) { vp.part().enabled = false; } - if( vpi.has_flag( flag_TURRET ) && - !has_part( global_part_pos3( vp.part() ), flag_TURRET_CONTROLS ) ) { + if( vpi.has_flag( "TURRET" ) && !has_part( global_part_pos3( vp.part() ), "TURRET_CONTROLS" ) ) { vp.part().enabled = false; } } @@ -5589,7 +5590,7 @@ void vehicle::refresh_pivot() const // broken wheels don't roll on either axis weight_i = contact_area * 2.0; weight_p = contact_area * 2.0; - } else if( part_with_feature( wheel.mount, flag_STEERABLE, true ) != -1 ) { + } else if( part_with_feature( wheel.mount, "STEERABLE", true ) != -1 ) { // Unbroken steerable wheels can handle motion on both axes // (but roll a little more easily inline) weight_i = contact_area * 0.1; @@ -5628,8 +5629,7 @@ void vehicle::remove_remote_part( int part_num ) int remote_partnum = veh->loose_parts[j]; auto remote_part = &veh->parts[remote_partnum]; - if( veh->part_flag( remote_partnum, flag_POWER_TRANSFER ) && - remote_part->target.first == local_abs ) { + if( veh->part_flag( remote_partnum, "POWER_TRANSFER" ) && remote_part->target.first == local_abs ) { veh->remove_part( remote_partnum ); return; } @@ -5643,7 +5643,7 @@ void vehicle::shed_loose_parts() // it will stay empty. while( !loose_parts.empty() ) { const int elem = loose_parts.front(); - if( part_flag( elem, flag_POWER_TRANSFER ) ) { + if( part_flag( elem, "POWER_TRANSFER" ) ) { remove_remote_part( elem ); } @@ -5658,7 +5658,7 @@ void vehicle::shed_loose_parts() bool vehicle::enclosed_at( const tripoint &pos ) { refresh_insides(); - std::vector parts_here = get_parts_at( pos, flag_BOARDABLE, + std::vector parts_here = get_parts_at( pos, "BOARDABLE", part_status_flag::working ); if( !parts_here.empty() ) { return parts_here.front()->inside; @@ -5679,7 +5679,7 @@ void vehicle::refresh_insides() } /* If there's no roof, or there is a roof but it's broken, it's outside. * (Use short-circuiting && so broken frames don't screw this up) */ - if( !( part_with_feature( p, flag_ROOF, true ) >= 0 && vp.part().is_available() ) ) { + if( !( part_with_feature( p, "ROOF", true ) >= 0 && vp.part().is_available() ) ) { vp.part().inside = false; continue; } @@ -5694,12 +5694,12 @@ void vehicle::refresh_insides() bool cover = false; for( auto &j : parts_n3ar ) { // another roof -- cover - if( part_flag( j, flag_ROOF ) && parts[ j ].is_available() ) { + if( part_flag( j, "ROOF" ) && parts[ j ].is_available() ) { cover = true; break; - } else if( part_flag( j, flag_OBSTACLE ) && parts[ j ].is_available() ) { + } else if( part_flag( j, "OBSTACLE" ) && parts[ j ].is_available() ) { // found an obstacle, like board or windshield or door - if( parts[j].inside || ( part_flag( j, flag_OPENABLE ) && parts[j].open ) ) { + if( parts[j].inside || ( part_flag( j, "OPENABLE" ) && parts[j].open ) ) { // door and it's open -- can't cover continue; } @@ -5748,8 +5748,8 @@ int vehicle::damage( int p, int dmg, damage_type type, bool aimed ) if( !aimed ) { bool found_obs = false; for( auto &i : pl ) { - if( part_flag( i, flag_OBSTACLE ) && - ( !part_flag( i, flag_OPENABLE ) || !parts[i].open ) ) { + if( part_flag( i, "OBSTACLE" ) && + ( !part_flag( i, "OPENABLE" ) || !parts[i].open ) ) { found_obs = true; break; } @@ -5763,12 +5763,12 @@ int vehicle::damage( int p, int dmg, damage_type type, bool aimed ) int target_part = random_entry( pl ); // door motor mechanism is protected by closed doors - if( part_flag( target_part, flag_DOOR_MOTOR ) ) { + if( part_flag( target_part, "DOOR_MOTOR" ) ) { // find the most strong openable that is not open int strongest_door_part = -1; int strongest_door_durability = INT_MIN; for( int part : pl ) { - if( part_flag( part, flag_OPENABLE ) && !parts[part].open ) { + if( part_flag( part, "OPENABLE" ) && !parts[part].open ) { int door_durability = part_info( part ).durability; if( door_durability > strongest_door_durability ) { strongest_door_part = part; @@ -5785,7 +5785,7 @@ int vehicle::damage( int p, int dmg, damage_type type, bool aimed ) int damage_dealt; - int armor_part = part_with_feature( p, flag_ARMOR, true ); + int armor_part = part_with_feature( p, "ARMOR", true ); if( armor_part < 0 ) { // Not covered by armor -- damage part damage_dealt = damage_direct( target_part, dmg, type ); @@ -5793,8 +5793,7 @@ int vehicle::damage( int p, int dmg, damage_type type, bool aimed ) // Covered by armor -- hit both armor and part, but reduce damage by armor's reduction int protection = part_info( armor_part ).damage_reduction[ type ]; // Parts on roof aren't protected - bool overhead = part_flag( target_part, flag_ROOF ) || - part_info( target_part ).location == part_location_onroof; + bool overhead = part_flag( target_part, "ROOF" ) || part_info( target_part ).location == "on_roof"; // Calling damage_direct may remove the damaged part // completely, therefore the other index (target_part) becomes // wrong if target_part > armor_part. @@ -5827,7 +5826,7 @@ void vehicle::damage_all( int dmg1, int dmg2, damage_type type, const point &imp const size_t p = vp.part_index(); int distance = 1 + square_dist( vp.mount(), impact ); if( distance > 1 && part_info( p ).location == part_location_structure && - !part_info( p ).has_flag( flag_PROTRUSION ) ) { + !part_info( p ).has_flag( "PROTRUSION" ) ) { damage_direct( p, rng( dmg1, dmg2 ) / ( distance * distance ), type ); } } @@ -5880,8 +5879,8 @@ bool vehicle::shift_if_needed() } //Find a frame, any frame, to shift to for( const vpart_reference &vp : get_all_parts() ) { - if( vp.info().location == part_location_structure - && !vp.has_feature( flag_PROTRUSION ) + if( vp.info().location == "structure" + && !vp.has_feature( "PROTRUSION" ) && !vp.part().removed ) { shift_parts( vp.mount() ); refresh(); @@ -6038,7 +6037,7 @@ int vehicle::damage_direct( int p, int dmg, damage_type type ) if( parts[p].is_fuel_store() ) { explode_fuel( p, type ); - } else if( parts[ p ].is_broken() && part_flag( p, flag_UNMOUNT_ON_DAMAGE ) ) { + } else if( parts[ p ].is_broken() && part_flag( p, "UNMOUNT_ON_DAMAGE" ) ) { g->m.spawn_item( global_part_pos3( p ), part_info( p ).item, 1, 0, calendar::turn ); monster *mon = get_pet( p ); if( mon != nullptr && mon->has_effect( effect_harnessed ) ) { @@ -6090,7 +6089,7 @@ std::map vehicle::fuels_left() const bool vehicle::is_foldable() const { for( const vpart_reference &vp : get_all_parts() ) { - if( !vp.has_feature( flag_FOLDABLE ) ) { + if( !vp.has_feature( "FOLDABLE" ) ) { return false; } } @@ -6276,12 +6275,12 @@ void vehicle::update_time( const time_point &update_to ) int cost_to_purify = c_qty * item::find_type( "water_purifier" )->charges_to_use(); if( qty > 0 ) { - if( has_part( global_part_pos3( pt ), flag_WATER_PURIFIER, true ) && - ( fuel_left( fuel_type_battery, true ) > cost_to_purify ) ) { - tank->ammo_set( fuel_type_water_clean, c_qty ); + if( has_part( global_part_pos3( pt ), "WATER_PURIFIER", true ) && + ( fuel_left( "battery", true ) > cost_to_purify ) ) { + tank->ammo_set( "water_clean", c_qty ); discharge_battery( cost_to_purify ); } else { - tank->ammo_set( fuel_type_water, tank->ammo_remaining() + qty ); + tank->ammo_set( "water", tank->ammo_remaining() + qty ); } invalidate_mass(); } @@ -6444,7 +6443,7 @@ bool vehicle::refresh_zones() zone_data zone = z.second; //Get the global position of the first cargo part at the relative coordinate - const int part_idx = part_with_feature( z.first, flag_CARGO, false ); + const int part_idx = part_with_feature( z.first, "CARGO", false ); if( part_idx == -1 ) { debugmsg( "Could not find cargo part at %d,%d on vehicle %s for loot zone. Removing loot zone.", z.first.x, z.first.y, this->name ); diff --git a/src/vehicle_display.cpp b/src/vehicle_display.cpp index 0a619ecf315fc..87d03854a956a 100644 --- a/src/vehicle_display.cpp +++ b/src/vehicle_display.cpp @@ -20,8 +20,9 @@ #include "units.h" #include "color.h" #include "optional.h" -#include "cata_string_consts.h" +static const std::string part_location_structure( "structure" ); +static const itype_id fuel_type_muscle( "muscle" ); std::string vehicle::disp_name() const { @@ -170,7 +171,7 @@ int vehicle::print_part_list( const catacurses::window &win, int y1, const int m } } - if( part_flag( pl[i], flag_CARGO ) ) { + if( part_flag( pl[i], "CARGO" ) ) { //~ used/total volume of a cargo vehicle part partname += string_format( _( " (vol: %s/%s %s)" ), format_volume( stored_volume( pl[i] ) ), @@ -178,7 +179,7 @@ int vehicle::print_part_list( const catacurses::window &win, int y1, const int m volume_units_abbr() ); } - bool armor = part_flag( pl[i], flag_ARMOR ); + bool armor = part_flag( pl[i], "ARMOR" ); std::string left_sym; std::string right_sym; if( armor ) { diff --git a/src/vehicle_move.cpp b/src/vehicle_move.cpp index 12b33b78c7baf..ef111cb60b704 100644 --- a/src/vehicle_move.cpp +++ b/src/vehicle_move.cpp @@ -463,7 +463,7 @@ veh_collision vehicle::part_collision( int part, const tripoint &p, return ret; } // we just ran into a fish, so move it out of the way - if( g->m.has_flag( flag_SWIMMABLE, critter->pos() ) ) { + if( g->m.has_flag( "SWIMMABLE", critter->pos() ) ) { tripoint end_pos = critter->pos(); tripoint start_pos; const int angle = move.dir() + 45 * ( parts[part].mount.x > pivot_point().x ? -1 : 1 ); @@ -509,13 +509,13 @@ veh_collision vehicle::part_collision( int part, const tripoint &p, ( g->m.is_bashable_ter_furn( p, false ) && g->m.move_cost_ter_furn( p ) != 2 && // Don't collide with tiny things, like flowers, unless we have a wheel in our space. ( part_with_feature( ret.part, VPFLAG_WHEEL, true ) >= 0 || - !g->m.has_flag_ter_or_furn( flag_TINY, p ) ) && + !g->m.has_flag_ter_or_furn( "TINY", p ) ) && // Protrusions don't collide with short terrain. // Tiny also doesn't, but it's already excluded unless there's a wheel present. - !( part_with_feature( ret.part, flag_PROTRUSION, true ) >= 0 && - g->m.has_flag_ter_or_furn( flag_SHORT, p ) ) && + !( part_with_feature( ret.part, "PROTRUSION", true ) >= 0 && + g->m.has_flag_ter_or_furn( "SHORT", p ) ) && // These are bashable, but don't interact with vehicles. - !g->m.has_flag_ter_or_furn( flag_NOCOLLIDE, p ) && + !g->m.has_flag_ter_or_furn( "NOCOLLIDE", p ) && // Do not collide with track tiles if we can use rails !( g->m.has_flag_ter_or_furn( TFLAG_RAIL, p ) && this->can_use_rails() ) ) ) { // Movecost 2 indicates flat terrain like a floor, no collision there. @@ -652,7 +652,7 @@ veh_collision vehicle::part_collision( int part, const tripoint &p, // No blood from hallucinations if( critter != nullptr && !critter->is_hallucination() ) { - if( part_flag( ret.part, flag_SHARP ) ) { + if( part_flag( ret.part, "SHARP" ) ) { parts[ret.part].blood += ( 20 + dam ) * 5; } else if( dam > rng( 10, 30 ) ) { parts[ret.part].blood += ( 10 + dam / 2 ) * 5; @@ -669,7 +669,7 @@ veh_collision vehicle::part_collision( int part, const tripoint &p, if( ph != nullptr ) { ph->hitall( dam, 40, driver ); } else { - const int armor = part_flag( ret.part, flag_SHARP ) ? + const int armor = part_flag( ret.part, "SHARP" ) ? critter->get_armor_cut( bp_torso ) : critter->get_armor_bash( bp_torso ); dam = std::max( 0, dam - armor ); @@ -727,7 +727,7 @@ veh_collision vehicle::part_collision( int part, const tripoint &p, } } - if( part_flag( ret.part, flag_SHARP ) ) { + if( part_flag( ret.part, "SHARP" ) ) { critter->bleed(); } else { sounds::sound( p, 20, sounds::sound_t::combat, snd, false, "smash_success", "hit_vehicle" ); diff --git a/src/vehicle_part.cpp b/src/vehicle_part.cpp index f900af04cc04d..25388c7552b0a 100644 --- a/src/vehicle_part.cpp +++ b/src/vehicle_part.cpp @@ -66,7 +66,7 @@ item vehicle_part::properties_to_item() const // Cables get special handling: their target coordinates need to remain // stored, and if a cable actually drops, it should be half-connected. - if( tmp.has_flag( flag_CABLE_SPOOL ) ) { + if( tmp.has_flag( "CABLE_SPOOL" ) ) { const tripoint local_pos = g->m.getlocal( target.first ); if( !g->m.veh_at( local_pos ) ) { // That vehicle ain't there no more. @@ -488,7 +488,7 @@ bool vehicle_part::is_turret() const bool vehicle_part::is_seat() const { - return info().has_flag( flag_SEAT ); + return info().has_flag( "SEAT" ); } const vpart_info &vehicle_part::info() const @@ -533,7 +533,7 @@ bool vehicle::can_enable( const vehicle_part &pt, bool alert ) const return false; } - if( pt.info().has_flag( flag_PLANTER ) && !warm_enough_to_plant( g->u.pos() ) ) { + if( pt.info().has_flag( "PLANTER" ) && !warm_enough_to_plant( g->u.pos() ) ) { if( alert ) { add_msg( m_bad, _( "It is too cold to plant anything now." ) ); } diff --git a/src/vehicle_use.cpp b/src/vehicle_use.cpp index b0679c78ead31..ed0724df5c03d 100644 --- a/src/vehicle_use.cpp +++ b/src/vehicle_use.cpp @@ -114,7 +114,7 @@ void vehicle::add_toggle_to_opts( std::vector &options, void vehicle::control_doors() { - const auto door_motors = get_avail_parts( flag_DOOR_MOTOR ); + const auto door_motors = get_avail_parts( "DOOR_MOTOR" ); // Indices of doors std::vector< int > doors_with_motors; // Locations used to display the doors @@ -174,7 +174,7 @@ void vehicle::control_doors() if( open ) { int part = next_part_to_open( motor ); if( part != -1 ) { - if( !part_flag( part, flag_CURTAIN ) && option == OPENCURTAINS ) { + if( !part_flag( part, "CURTAIN" ) && option == OPENCURTAINS ) { continue; } open_or_close( part, open ); @@ -188,7 +188,7 @@ void vehicle::control_doors() } else { int part = next_part_to_close( motor ); if( part != -1 ) { - if( part_flag( part, flag_CURTAIN ) && option == CLOSEDOORS ) { + if( part_flag( part, "CURTAIN" ) && option == CLOSEDOORS ) { continue; } open_or_close( part, open ); @@ -256,11 +256,11 @@ void vehicle::set_electronics_menu_options( std::vector &options, add_toggle( pgettext( "electronics menu option", "water purifier" ), keybind( "TOGGLE_WATER_PURIFIER" ), "WATER_PURIFIER" ); - if( has_part( flag_DOOR_MOTOR ) ) { + if( has_part( "DOOR_MOTOR" ) ) { options.emplace_back( _( "Toggle doors" ), keybind( "TOGGLE_DOORS" ) ); actions.push_back( [&] { control_doors(); refresh(); } ); } - if( camera_on || ( has_part( flag_CAMERA ) && has_part( flag_CAMERA_CONTROL ) ) ) { + if( camera_on || ( has_part( "CAMERA" ) && has_part( "CAMERA_CONTROL" ) ) ) { options.emplace_back( camera_on ? colorize( _( "Turn off camera system" ), c_pink ) : _( "Turn on camera system" ), @@ -447,9 +447,9 @@ void vehicle::smash_security_system() int s = -1; int c = -1; for( int p : speciality ) { - if( part_flag( p, flag_SECURITY ) && !parts[ p ].is_broken() ) { + if( part_flag( p, "SECURITY" ) && !parts[ p ].is_broken() ) { s = p; - c = part_with_feature( s, flag_CONTROLS, true ); + c = part_with_feature( s, "CONTROLS", true ); break; } } @@ -493,7 +493,7 @@ std::string vehicle::tracking_toggle_string() void vehicle::autopilot_patrol_check() { zone_manager &mgr = zone_manager::get_manager(); - if( mgr.has_near( zone_type_VEHICLE_PATROL, g->m.getabs( global_pos3() ), 60 ) ) { + if( mgr.has_near( zone_type_id( "VEHICLE_PATROL" ), g->m.getabs( global_pos3() ), 60 ) ) { enable_patrol(); } else { g->zones_manager(); @@ -562,7 +562,7 @@ void vehicle::use_controls( const tripoint &pos ) refresh(); } ); - has_electronic_controls = has_part( flag_CTRL_ELECTRONIC ) || has_part( flag_REMOTE_CONTROLS ); + has_electronic_controls = has_part( "CTRL_ELECTRONIC" ) || has_part( "REMOTE_CONTROLS" ); } else if( veh_pointer_or_null( g->m.veh_at( pos ) ) == this ) { if( g->u.controlling_vehicle ) { @@ -573,12 +573,11 @@ void vehicle::use_controls( const tripoint &pos ) refresh(); } ); } - has_electronic_controls = !get_parts_at( pos, flag_CTRL_ELECTRONIC, + has_electronic_controls = !get_parts_at( pos, "CTRL_ELECTRONIC", part_status_flag::any ).empty(); } - if( get_parts_at( pos, flag_CONTROLS, part_status_flag::any ).empty() && - !has_electronic_controls ) { + if( get_parts_at( pos, "CONTROLS", part_status_flag::any ).empty() && !has_electronic_controls ) { add_msg( m_info, _( "No controls there" ) ); return; } @@ -588,7 +587,7 @@ void vehicle::use_controls( const tripoint &pos ) return; } - if( has_part( flag_ENGINE ) ) { + if( has_part( "ENGINE" ) ) { if( g->u.controlling_vehicle || ( remote && engine_on ) ) { options.emplace_back( _( "Stop driving" ), keybind( "TOGGLE_ENGINE" ) ); actions.push_back( [&] { @@ -650,12 +649,12 @@ void vehicle::use_controls( const tripoint &pos ) } } - if( has_part( flag_HORN ) ) { + if( has_part( "HORN" ) ) { options.emplace_back( _( "Honk horn" ), keybind( "SOUND_HORN" ) ); actions.push_back( [&] { honk_horn(); refresh(); } ); } - if( has_part( flag_AUTOPILOT ) && ( has_part( flag_CTRL_ELECTRONIC ) || - has_part( flag_REMOTE_CONTROLS ) ) ) { + if( has_part( "AUTOPILOT" ) && ( has_part( "CTRL_ELECTRONIC" ) || + has_part( "REMOTE_CONTROLS" ) ) ) { options.emplace_back( _( "Control autopilot" ), keybind( "CONTROL_AUTOPILOT" ) ); actions.push_back( [&] { toggle_autopilot(); refresh(); } ); @@ -685,7 +684,7 @@ void vehicle::use_controls( const tripoint &pos ) actions.push_back( [&] { fold_up(); } ); } - if( has_part( flag_ENGINE ) ) { + if( has_part( "ENGINE" ) ) { options.emplace_back( _( "Control individual engines" ), keybind( "CONTROL_ENGINES" ) ); actions.push_back( [&] { control_engines(); refresh(); } ); } @@ -695,7 +694,7 @@ void vehicle::use_controls( const tripoint &pos ) options.emplace_back( _( "Try to disarm alarm." ), keybind( "TOGGLE_ALARM" ) ); actions.push_back( [&] { smash_security_system(); refresh(); } ); - } else if( has_electronic_controls && has_part( flag_SECURITY ) ) { + } else if( has_electronic_controls && has_part( "SECURITY" ) ) { options.emplace_back( _( "Trigger alarm" ), keybind( "TOGGLE_ALARM" ) ); actions.push_back( [&] { is_alarm_on = true; @@ -705,7 +704,7 @@ void vehicle::use_controls( const tripoint &pos ) } } - if( has_part( flag_TURRET ) ) { + if( has_part( "TURRET" ) ) { options.emplace_back( _( "Set turret targeting modes" ), keybind( "TURRET_TARGET_MODE" ) ); actions.push_back( [&] { turrets_set_targeting(); refresh(); } ); @@ -781,7 +780,7 @@ bool vehicle::fold_up() item bicycle( can_be_folded ? "generic_folded_vehicle" : "folding_bicycle", calendar::turn ); // Drop stuff in containers on ground - for( const vpart_reference &vp : get_any_parts( flag_CARGO ) ) { + for( const vpart_reference &vp : get_any_parts( "CARGO" ) ) { const size_t p = vp.part_index(); for( auto &elem : get_items( p ) ) { g->m.add_item_or_charges( g->u.pos(), elem ); @@ -827,7 +826,7 @@ bool vehicle::fold_up() double vehicle::engine_cold_factor( const int e ) const { - if( !part_info( engines[e] ).has_flag( flag_E_COLD_START ) ) { + if( !part_info( engines[e] ).has_flag( "E_COLD_START" ) ) { return 0.0; } @@ -841,7 +840,7 @@ double vehicle::engine_cold_factor( const int e ) const int vehicle::engine_start_time( const int e ) const { - if( !is_engine_on( e ) || part_info( engines[e] ).has_flag( flag_E_STARTS_INSTANTLY ) || + if( !is_engine_on( e ) || part_info( engines[e] ).has_flag( "E_STARTS_INSTANTLY" ) || !engine_fuel_left( e ) ) { return 0; } @@ -881,10 +880,10 @@ bool vehicle::start_engine( const int e ) if( out_of_fuel ) { if( einfo.fuel_type == fuel_type_muscle ) { // Muscle engines cannot start with broken limbs - if( einfo.has_flag( flag_MUSCLE_ARMS ) && ( g->u.get_working_arm_count() < 2 ) ) { + if( einfo.has_flag( "MUSCLE_ARMS" ) && ( g->u.get_working_arm_count() < 2 ) ) { add_msg( _( "You cannot use %s with a broken arm." ), eng.name() ); return false; - } else if( einfo.has_flag( flag_MUSCLE_LEGS ) && ( g->u.get_working_leg_count() < 2 ) ) { + } else if( einfo.has_flag( "MUSCLE_LEGS" ) && ( g->u.get_working_leg_count() < 2 ) ) { add_msg( _( "You cannot use %s with a broken leg." ), eng.name() ); return false; } @@ -1058,10 +1057,10 @@ void vehicle::honk_horn() const bool no_power = !fuel_left( fuel_type_battery, true ); bool honked = false; - for( const vpart_reference &vp : get_avail_parts( flag_HORN ) ) { + for( const vpart_reference &vp : get_avail_parts( "HORN" ) ) { //Only bicycle horn doesn't need electricity to work const vpart_info &horn_type = vp.info(); - if( ( horn_type.get_id() != vpart_horn_bicycle ) && no_power ) { + if( ( horn_type.get_id() != vpart_id( "horn_bicycle" ) ) && no_power ) { continue; } if( !honked ) { @@ -1139,7 +1138,7 @@ void vehicle::beeper_sound() } const bool odd_turn = calendar::once_every( 2_turns ); - for( const vpart_reference &vp : get_avail_parts( flag_BEEPER ) ) { + for( const vpart_reference &vp : get_avail_parts( "BEEPER" ) ) { if( ( odd_turn && vp.has_feature( VPFLAG_EVENTURN ) ) || ( !odd_turn && vp.has_feature( VPFLAG_ODDTURN ) ) ) { continue; @@ -1153,7 +1152,7 @@ void vehicle::beeper_sound() void vehicle::play_music() { - for( const vpart_reference &vp : get_enabled_parts( flag_STEREO ) ) { + for( const vpart_reference &vp : get_enabled_parts( "STEREO" ) ) { iuse::play_music( g->u, vp.pos(), 15, 30 ); } } @@ -1164,7 +1163,7 @@ void vehicle::play_chimes() return; } - for( const vpart_reference &vp : get_enabled_parts( flag_CHIMES ) ) { + for( const vpart_reference &vp : get_enabled_parts( "CHIMES" ) ) { sounds::sound( vp.pos(), 40, sounds::sound_t::music, _( "a simple melody blaring from the loudspeakers." ), false, "vehicle", "chimes" ); } @@ -1175,7 +1174,7 @@ void vehicle::crash_terrain_around() if( total_power_w() <= 0 ) { return; } - for( const vpart_reference &vp : get_enabled_parts( flag_CRASH_TERRAIN_AROUND ) ) { + for( const vpart_reference &vp : get_enabled_parts( "CRASH_TERRAIN_AROUND" ) ) { tripoint crush_target( 0, 0, -OVERMAP_LAYERS ); const tripoint start_pos = vp.pos(); const transform_terrain_data &ttd = vp.info().transform_terrain; @@ -1206,7 +1205,7 @@ void vehicle::crash_terrain_around() void vehicle::transform_terrain() { - for( const vpart_reference &vp : get_enabled_parts( flag_TRANSFORM_TERRAIN ) ) { + for( const vpart_reference &vp : get_enabled_parts( "TRANSFORM_TERRAIN" ) ) { const tripoint start_pos = vp.pos(); const transform_terrain_data &ttd = vp.info().transform_terrain; bool prereq_fulfilled = false; @@ -1241,7 +1240,7 @@ void vehicle::transform_terrain() void vehicle::operate_reaper() { - for( const vpart_reference &vp : get_enabled_parts( flag_REAPER ) ) { + for( const vpart_reference &vp : get_enabled_parts( "REAPER" ) ) { const size_t reaper_id = vp.part_index(); const tripoint reaper_pos = vp.pos(); const int plant_produced = rng( 1, vp.info().bonus ); @@ -1268,7 +1267,7 @@ void vehicle::operate_reaper() } sounds::sound( reaper_pos, rng( 10, 25 ), sounds::sound_t::combat, _( "Swish" ), false, "vehicle", "reaper" ); - if( vp.has_feature( flag_CARGO ) ) { + if( vp.has_feature( "CARGO" ) ) { for( map_stack::iterator iter = items.begin(); iter != items.end(); ) { if( ( iter->volume() <= max_pickup_volume ) && add_item( reaper_id, *iter ) ) { @@ -1283,19 +1282,19 @@ void vehicle::operate_reaper() void vehicle::operate_planter() { - for( const vpart_reference &vp : get_enabled_parts( flag_PLANTER ) ) { + for( const vpart_reference &vp : get_enabled_parts( "PLANTER" ) ) { const size_t planter_id = vp.part_index(); const tripoint loc = vp.pos(); vehicle_stack v = get_items( planter_id ); for( auto i = v.begin(); i != v.end(); i++ ) { if( i->is_seed() ) { // If it is an "advanced model" then it will avoid damaging itself or becoming damaged. It's a real feature. - if( g->m.ter( loc ) != t_dirtmound && vp.has_feature( flag_ADVANCED_PLANTER ) ) { + if( g->m.ter( loc ) != t_dirtmound && vp.has_feature( "ADVANCED_PLANTER" ) ) { //then don't put the item there. break; } else if( g->m.ter( loc ) == t_dirtmound ) { g->m.set( loc, t_dirt, f_plant_seed ); - } else if( !g->m.has_flag( flag_PLOWABLE, loc ) ) { + } else if( !g->m.has_flag( "PLOWABLE", loc ) ) { //If it isn't plowable terrain, then it will most likely be damaged. damage( planter_id, rng( 1, 10 ), DT_BASH, false ); sounds::sound( loc, rng( 10, 20 ), sounds::sound_t::combat, _( "Clink" ), false, "smash_success", @@ -1320,7 +1319,7 @@ void vehicle::operate_planter() void vehicle::operate_scoop() { - for( const vpart_reference &vp : get_enabled_parts( flag_SCOOP ) ) { + for( const vpart_reference &vp : get_enabled_parts( "SCOOP" ) ) { const size_t scoop = vp.part_index(); const int chance_to_damage_item = 9; const units::volume max_pickup_volume = vp.info().size / 10; @@ -1342,7 +1341,7 @@ void vehicle::operate_scoop() } item *that_item_there = nullptr; map_stack items = g->m.i_at( position ); - if( g->m.has_flag( flag_SEALED, position ) ) { + if( g->m.has_flag( "SEALED", position ) ) { // Ignore it. Street sweepers are not known for their ability to harvest crops. continue; } @@ -1403,7 +1402,7 @@ void vehicle::alarm() */ void vehicle::open( int part_index ) { - if( !part_info( part_index ).has_flag( flag_OPENABLE ) ) { + if( !part_info( part_index ).has_flag( "OPENABLE" ) ) { debugmsg( "Attempted to open non-openable part %d (%s) on a %s!", part_index, parts[ part_index ].name(), name ); } else { @@ -1418,7 +1417,7 @@ void vehicle::open( int part_index ) */ void vehicle::close( int part_index ) { - if( !part_info( part_index ).has_flag( flag_OPENABLE ) ) { + if( !part_info( part_index ).has_flag( "OPENABLE" ) ) { debugmsg( "Attempted to close non-closeable part %d (%s) on a %s!", part_index, parts[ part_index ].name(), name ); } else { @@ -1492,7 +1491,7 @@ void vehicle::use_autoclave( int p ) _( "You turn the autoclave off before it's finished the program, and open its door." ) ); } else if( items.empty() ) { add_msg( m_bad, _( "The autoclave is empty, there's no point in starting it." ) ); - } else if( fuel_left( fuel_type_water ) < 8 && fuel_left( fuel_type_water_clean ) < 8 ) { + } else if( fuel_left( "water" ) < 8 && fuel_left( "water_clean" ) < 8 ) { add_msg( m_bad, _( "You need 8 charges of water in tanks of the %s for the autoclave to run." ), name ); } else if( filthy_items ) { @@ -1508,10 +1507,10 @@ void vehicle::use_autoclave( int p ) n.set_age( 0_turns ); } - if( fuel_left( fuel_type_water ) >= 8 ) { - drain( fuel_type_water, 8 ); + if( fuel_left( "water" ) >= 8 ) { + drain( "water", 8 ); } else { - drain( fuel_type_water_clean, 8 ); + drain( "water_clean", 8 ); } add_msg( m_good, @@ -1524,7 +1523,7 @@ void vehicle::use_washing_machine( int p ) // Get all the items that can be used as detergent const inventory &inv = g->u.crafting_inventory(); std::vector detergents = inv.items_with( [inv]( const item & it ) { - return it.has_flag( flag_DETERGENT ) && inv.has_charges( it.typeId(), 5 ); + return it.has_flag( "DETERGENT" ) && inv.has_charges( it.typeId(), 5 ); } ); auto items = get_items( p ); @@ -1544,7 +1543,7 @@ void vehicle::use_washing_machine( int p ) } else if( items.empty() ) { add_msg( m_bad, _( "The washing machine is empty, there's no point in starting it." ) ); - } else if( fuel_left( fuel_type_water ) < 24 && fuel_left( fuel_type_water_clean ) < 24 ) { + } else if( fuel_left( "water" ) < 24 && fuel_left( "water_clean" ) < 24 ) { add_msg( m_bad, _( "You need 24 charges of water in tanks of the %s to fill the washing machine." ), name ); } else if( detergents.empty() ) { @@ -1589,10 +1588,10 @@ void vehicle::use_washing_machine( int p ) n.set_age( 0_turns ); } - if( fuel_left( fuel_type_water ) >= 24 ) { - drain( fuel_type_water, 24 ); + if( fuel_left( "water" ) >= 24 ) { + drain( "water", 24 ); } else { - drain( fuel_type_water_clean, 24 ); + drain( "water_clean", 24 ); } std::vector detergent; @@ -1630,7 +1629,7 @@ void vehicle::use_dishwasher( int p ) } else if( items.empty() ) { add_msg( m_bad, _( "The dishwasher is empty, there's no point in starting it." ) ); - } else if( fuel_left( fuel_type_water ) < 24 && fuel_left( fuel_type_water_clean ) < 24 ) { + } else if( fuel_left( "water" ) < 24 && fuel_left( "water_clean" ) < 24 ) { add_msg( m_bad, _( "You need 24 charges of water in tanks of the %s to fill the dishwasher." ), name ); } else if( !detergent_is_enough ) { @@ -1646,10 +1645,10 @@ void vehicle::use_dishwasher( int p ) n.set_age( 0_turns ); } - if( fuel_left( fuel_type_water ) >= 24 ) { - drain( fuel_type_water, 24 ); + if( fuel_left( "water" ) >= 24 ) { + drain( "water", 24 ); } else { - drain( fuel_type_water_clean, 24 ); + drain( "water_clean", 24 ); } std::vector detergent; @@ -1717,7 +1716,7 @@ void vehicle::use_harness( int part, const tripoint &pos ) } else if( !m.has_flag( MF_PET_MOUNTABLE ) && !m.has_flag( MF_PET_HARNESSABLE ) ) { add_msg( m_info, _( "This creature cannot be harnessed." ) ); return; - } else if( !part_flag( part, Harness_Bodytype ) && !part_flag( part, flag_HARNESS_any ) ) { + } else if( !part_flag( part, Harness_Bodytype ) && !part_flag( part, "HARNESS_any" ) ) { add_msg( m_info, _( "The harness is not adapted for this creature morphology." ) ); return; } @@ -1839,49 +1838,47 @@ void vehicle::interact_with( const tripoint &pos, int interact_part ) std::vector menu_items; std::vector options_message; const bool has_items_on_ground = g->m.sees_some_items( pos, g->u ); - const bool items_are_sealed = g->m.has_flag( flag_SEALED, pos ); + const bool items_are_sealed = g->m.has_flag( "SEALED", pos ); auto turret = turret_query( pos ); - const int curtain_part = avail_part_with_feature( interact_part, flag_CURTAIN, true ); + const int curtain_part = avail_part_with_feature( interact_part, "CURTAIN", true ); const bool curtain_closed = ( curtain_part == -1 ) ? false : !parts[curtain_part].open; - const bool has_kitchen = avail_part_with_feature( interact_part, flag_KITCHEN, true ) >= 0; - const bool has_faucet = avail_part_with_feature( interact_part, flag_FAUCET, true ) >= 0; - const bool has_towel = avail_part_with_feature( interact_part, flag_TOWEL, true ) >= 0; - const bool has_weldrig = avail_part_with_feature( interact_part, flag_WELDRIG, true ) >= 0; - const bool has_chemlab = avail_part_with_feature( interact_part, flag_CHEMLAB, true ) >= 0; - const bool has_purify = avail_part_with_feature( interact_part, flag_WATER_PURIFIER, true ) >= 0; - const bool has_controls = avail_part_with_feature( interact_part, flag_CONTROLS, true ) >= 0; - const bool has_electronics = avail_part_with_feature( interact_part, flag_CTRL_ELECTRONIC, - true ) >= 0; - const int cargo_part = part_with_feature( interact_part, flag_CARGO, false ); + const bool has_kitchen = avail_part_with_feature( interact_part, "KITCHEN", true ) >= 0; + const bool has_faucet = avail_part_with_feature( interact_part, "FAUCET", true ) >= 0; + const bool has_towel = avail_part_with_feature( interact_part, "TOWEL", true ) >= 0; + const bool has_weldrig = avail_part_with_feature( interact_part, "WELDRIG", true ) >= 0; + const bool has_chemlab = avail_part_with_feature( interact_part, "CHEMLAB", true ) >= 0; + const bool has_purify = avail_part_with_feature( interact_part, "WATER_PURIFIER", true ) >= 0; + const bool has_controls = avail_part_with_feature( interact_part, "CONTROLS", true ) >= 0; + const bool has_electronics = avail_part_with_feature( interact_part, "CTRL_ELECTRONIC", true ) >= 0; + const int cargo_part = part_with_feature( interact_part, "CARGO", false ); const bool from_vehicle = cargo_part >= 0 && !get_items( cargo_part ).empty(); const bool can_be_folded = is_foldable(); const bool is_convertible = tags.count( "convertible" ) > 0; const bool remotely_controlled = g->remoteveh() == this; - const int autoclave_part = avail_part_with_feature( interact_part, flag_AUTOCLAVE, true ); + const int autoclave_part = avail_part_with_feature( interact_part, "AUTOCLAVE", true ); const bool has_autoclave = autoclave_part >= 0; bool autoclave_on = ( autoclave_part == -1 ) ? false : parts[autoclave_part].enabled; - const int washing_machine_part = avail_part_with_feature( interact_part, flag_WASHING_MACHINE, - true ); + const int washing_machine_part = avail_part_with_feature( interact_part, "WASHING_MACHINE", true ); const bool has_washmachine = washing_machine_part >= 0; bool washing_machine_on = ( washing_machine_part == -1 ) ? false : parts[washing_machine_part].enabled; - const int dishwasher_part = avail_part_with_feature( interact_part, flag_DISHWASHER, true ); + const int dishwasher_part = avail_part_with_feature( interact_part, "DISHWASHER", true ); const bool has_dishwasher = dishwasher_part >= 0; bool dishwasher_on = ( dishwasher_part == -1 ) ? false : parts[dishwasher_part].enabled; - const int monster_capture_part = avail_part_with_feature( interact_part, flag_CAPTURE_MONSTER_VEH, + const int monster_capture_part = avail_part_with_feature( interact_part, "CAPTURE_MONSTER_VEH", true ); const bool has_monster_capture = monster_capture_part >= 0; - const int bike_rack_part = avail_part_with_feature( interact_part, flag_BIKE_RACK_VEH, true ); - const int harness_part = avail_part_with_feature( interact_part, flag_ANIMAL_CTRL, true ); + const int bike_rack_part = avail_part_with_feature( interact_part, "BIKE_RACK_VEH", true ); + const int harness_part = avail_part_with_feature( interact_part, "ANIMAL_CTRL", true ); const bool has_harness = harness_part >= 0; const bool has_bike_rack = bike_rack_part >= 0; - const bool has_planter = avail_part_with_feature( interact_part, flag_PLANTER, true ) >= 0 || - avail_part_with_feature( interact_part, flag_ADVANCED_PLANTER, true ) >= 0; - const int workbench_part = avail_part_with_feature( interact_part, flag_WORKBENCH, true ); + const bool has_planter = avail_part_with_feature( interact_part, "PLANTER", true ) >= 0 || + avail_part_with_feature( interact_part, "ADVANCED_PLANTER", true ) >= 0; + const int workbench_part = avail_part_with_feature( interact_part, "WORKBENCH", true ); const bool has_workbench = workbench_part >= 0; enum { @@ -1933,25 +1930,25 @@ void vehicle::interact_with( const tripoint &pos, int interact_part ) if( curtain_part >= 0 && curtain_closed ) { selectmenu.addentry( PEEK_CURTAIN, true, 'p', _( "Peek through the closed curtains" ) ); } - if( ( has_kitchen || has_chemlab ) && fuel_left( fuel_type_battery, true ) > 0 ) { + if( ( has_kitchen || has_chemlab ) && fuel_left( "battery", true ) > 0 ) { selectmenu.addentry( USE_HOTPLATE, true, 'h', _( "Use the hotplate" ) ); } - if( has_faucet && fuel_left( fuel_type_water_clean ) > 0 ) { + if( has_faucet && fuel_left( "water_clean" ) > 0 ) { selectmenu.addentry( FILL_CONTAINER, true, 'c', _( "Fill a container with water" ) ); selectmenu.addentry( DRINK, true, 'd', _( "Have a drink" ) ); } if( has_towel ) { selectmenu.addentry( USE_TOWEL, true, 't', _( "Use a towel" ) ); } - if( has_weldrig && fuel_left( fuel_type_battery, true ) > 0 ) { + if( has_weldrig && fuel_left( "battery", true ) > 0 ) { selectmenu.addentry( USE_WELDER, true, 'w', _( "Use the welding rig" ) ); } if( has_purify ) { - bool can_purify = fuel_left( fuel_type_battery, true ) >= + bool can_purify = fuel_left( "battery", true ) >= item::find_type( "water_purifier" )->charges_to_use(); selectmenu.addentry( USE_PURIFIER, can_purify, 'p', _( "Purify water in carried container" ) ); - selectmenu.addentry( PURIFY_TANK, can_purify && fuel_left( fuel_type_water ), + selectmenu.addentry( PURIFY_TANK, can_purify && fuel_left( "water" ), 'P', _( "Purify water in vehicle tank" ) ); } if( has_monster_capture ) { @@ -2058,7 +2055,7 @@ void vehicle::interact_with( const tripoint &pos, int interact_part ) act.coords.push_back( pos ); // Finally tell if it is the vehicle part with welding rig act.values.resize( 2 ); - act.values[1] = part_with_feature( interact_part, flag_WELDRIG, true ); + act.values[1] = part_with_feature( interact_part, "WELDRIG", true ); } } return; diff --git a/src/visitable.cpp b/src/visitable.cpp index 859c67936830a..279effe7e4b4b 100644 --- a/src/visitable.cpp +++ b/src/visitable.cpp @@ -260,7 +260,7 @@ int visitable::max_quality( const quality_id &qual ) const res = std::max( res, bio.get_quality( qual ) ); } - if( qual == quality_BUTCHER ) { + if( qual == qual_BUTCHER ) { if( self->has_trait( trait_CLAWS_ST ) ) { res = std::max( res, 8 ); } else if( self->has_trait( trait_TALONS ) || self->has_trait( trait_MANDIBLES ) || @@ -433,7 +433,7 @@ VisitResponse visitable::visit_items( auto cur = static_cast( this ); // skip inaccessible items - if( g->m.has_flag( flag_SEALED, *cur ) && !g->m.has_flag( flag_LIQUIDCONT, *cur ) ) { + if( g->m.has_flag( "SEALED", *cur ) && !g->m.has_flag( "LIQUIDCONT", *cur ) ) { return VisitResponse::NEXT; } @@ -465,7 +465,7 @@ VisitResponse visitable::visit_items( { auto self = static_cast( this ); - int idx = self->veh.part_with_feature( self->part, flag_CARGO, true ); + int idx = self->veh.part_with_feature( self->part, "CARGO", true ); if( idx >= 0 ) { for( auto &e : self->veh.get_items( idx ) ) { if( visit_internal( func, &e ) == VisitResponse::ABORT ) { @@ -715,7 +715,7 @@ std::list visitable::remove_items_with( const return res; } - int idx = cur->veh.part_with_feature( cur->part, flag_CARGO, false ); + int idx = cur->veh.part_with_feature( cur->part, "CARGO", false ); if( idx < 0 ) { return res; } @@ -779,7 +779,7 @@ static int charges_of_internal( const T &self, const M &main, const itype_id &id if( e->typeId() == id ) { // includes charges from any included magazine. qty = sum_no_wrap( qty, e->ammo_remaining() ); - if( e->has_flag( flag_USE_UPS ) ) { + if( e->has_flag( "USE_UPS" ) ) { found_tool_with_UPS = true; } } @@ -887,7 +887,7 @@ static int amount_of_internal( const T &self, const itype_id &id, bool pseudo, i int qty = 0; self.visit_items( [&qty, &id, &pseudo, &limit, &filter]( const item * e ) { if( ( id == "any" || e->typeId() == id ) && filter( *e ) && ( pseudo || - !e->has_flag( flag_PSEUDO ) ) ) { + !e->has_flag( "PSEUDO" ) ) ) { qty = sum_no_wrap( qty, 1 ); } return qty != limit ? VisitResponse::NEXT : VisitResponse::ABORT; diff --git a/src/weather.cpp b/src/weather.cpp index d718115382810..261391bb14468 100644 --- a/src/weather.cpp +++ b/src/weather.cpp @@ -354,8 +354,8 @@ static void wet_player( int amount ) { if( !is_player_outside() || g->u.has_trait( trait_FEATHERS ) || - g->u.weapon.has_flag( flag_RAIN_PROTECT ) || - ( !one_in( 50 ) && g->u.worn_with_flag( flag_RAINPROOF ) ) ) { + g->u.weapon.has_flag( "RAIN_PROTECT" ) || + ( !one_in( 50 ) && g->u.worn_with_flag( "RAINPROOF" ) ) ) { return; } // Coarse correction to get us back to previously intended soaking rate. @@ -480,10 +480,10 @@ void weather_effect::lightning() void weather_effect::light_acid() { if( calendar::once_every( 1_minutes ) && is_player_outside() ) { - if( g->u.weapon.has_flag( flag_RAIN_PROTECT ) && !one_in( 3 ) ) { + if( g->u.weapon.has_flag( "RAIN_PROTECT" ) && !one_in( 3 ) ) { add_msg( _( "Your %s protects you from the acidic drizzle." ), g->u.weapon.tname() ); } else { - if( g->u.worn_with_flag( flag_RAINPROOF ) && !one_in( 4 ) ) { + if( g->u.worn_with_flag( "RAINPROOF" ) && !one_in( 4 ) ) { add_msg( _( "Your clothing protects you from the acidic drizzle." ) ); } else { bool has_helmet = false; @@ -507,10 +507,10 @@ void weather_effect::light_acid() void weather_effect::acid() { if( calendar::once_every( 2_turns ) && is_player_outside() ) { - if( g->u.weapon.has_flag( flag_RAIN_PROTECT ) && one_in( 4 ) ) { + if( g->u.weapon.has_flag( "RAIN_PROTECT" ) && one_in( 4 ) ) { add_msg( _( "Your umbrella protects you from the acid rain." ) ); } else { - if( g->u.worn_with_flag( flag_RAINPROOF ) && one_in( 2 ) ) { + if( g->u.worn_with_flag( "RAINPROOF" ) && one_in( 2 ) ) { add_msg( _( "Your clothing protects you from the acid rain." ) ); } else { bool has_helmet = false; @@ -875,7 +875,7 @@ double get_local_windpower( double windpower, const oter_id &omter, const tripoi bool is_wind_blocker( const tripoint &location ) { - return g->m.has_flag( flag_BLOCK_WIND, location ); + return g->m.has_flag( "BLOCK_WIND", location ); } // Description of Wind Speed - https://en.wikipedia.org/wiki/Beaufort_scale diff --git a/tests/bionics_test.cpp b/tests/bionics_test.cpp index 65f5b12d27609..044717f5bc3f2 100644 --- a/tests/bionics_test.cpp +++ b/tests/bionics_test.cpp @@ -15,7 +15,6 @@ #include "pimpl.h" #include "string_id.h" #include "type_id.h" -#include "cata_string_consts.h" static void clear_bionics( player &p ) { @@ -103,14 +102,14 @@ TEST_CASE( "bionics", "[bionics] [item]" ) INFO( "no power capacity at first" ); CHECK( !dummy.has_max_power() ); - dummy.add_bionic( bio_power_storage ); + dummy.add_bionic( bionic_id( "bio_power_storage" ) ); INFO( "adding Power Storage CBM only increases capacity" ); CHECK( !dummy.has_power() ); REQUIRE( dummy.has_max_power() ); SECTION( "bio_advreactor" ) { - give_and_activate( dummy, bio_advreactor ); + give_and_activate( dummy, bionic_id( "bio_advreactor" ) ); static const std::list always = { "plut_cell", // solid @@ -130,7 +129,7 @@ TEST_CASE( "bionics", "[bionics] [item]" ) } SECTION( "bio_batteries" ) { - give_and_activate( dummy, bio_batteries ); + give_and_activate( dummy, bionic_id( "bio_batteries" ) ); static const std::list always = { "battery" // old-school diff --git a/tests/comestible_test.cpp b/tests/comestible_test.cpp index d3d2a06781ab6..4d51d5285829c 100644 --- a/tests/comestible_test.cpp +++ b/tests/comestible_test.cpp @@ -17,7 +17,6 @@ #include "optional.h" #include "string_id.h" #include "value_ptr.h" -#include "cata_string_consts.h" struct all_stats { statistics calories; @@ -125,7 +124,7 @@ TEST_CASE( "recipe_permutations", "[recipe]" ) const recipe &recipe_obj = recipe_pair.first.obj(); item res_it = food_or_food_container( recipe_obj.create_result() ); const bool is_food = res_it.is_food(); - const bool has_override = res_it.has_flag( flag_NUTRIENT_OVERRIDE ); + const bool has_override = res_it.has_flag( "NUTRIENT_OVERRIDE" ); if( is_food && !has_override ) { // Collection of kcal values of all ingredient permutations all_stats mystats = run_stats( diff --git a/tests/encumbrance_test.cpp b/tests/encumbrance_test.cpp index 2407272c61585..ae5bb48cb717b 100644 --- a/tests/encumbrance_test.cpp +++ b/tests/encumbrance_test.cpp @@ -16,7 +16,6 @@ #include "material.h" #include "type_id.h" #include "debug.h" -#include "cata_string_consts.h" static void test_encumbrance_on( player &p, @@ -118,7 +117,7 @@ TEST_CASE( "same_layer_encumbrance", "[encumbrance]" ) TEST_CASE( "tiny_clothing", "[encumbrance]" ) { item i( "longshirt" ); - i.set_flag( flag_UNDERSIZE ); + i.set_flag( "UNDERSIZE" ); test_encumbrance_items( { i }, "TORSO", longshirt_e * 3 ); } @@ -129,7 +128,7 @@ TEST_CASE( "tiny_character", "[encumbrance]" ) test_encumbrance_items( { i }, "TORSO", longshirt_e * 2, add_trait( "SMALL2" ) ); } SECTION( "undersize shrt" ) { - i.set_flag( flag_UNDERSIZE ); + i.set_flag( "UNDERSIZE" ); test_encumbrance_items( { i }, "TORSO", longshirt_e, add_trait( "SMALL2" ) ); } } diff --git a/tests/memorial_test.cpp b/tests/memorial_test.cpp index df761c762d5f7..c28f144f4410e 100644 --- a/tests/memorial_test.cpp +++ b/tests/memorial_test.cpp @@ -7,7 +7,6 @@ #include "mutation.h" #include "output.h" #include "player_helpers.h" -#include "cata_string_consts.h" template void check_memorial( memorial_logger &m, event_bus &b, const std::string &ref, Args... args ) @@ -51,12 +50,12 @@ TEST_CASE( "memorials" ) std::string u_name = g->u.name; character_id ch2 = character_id( ch.get_value() + 1 ); mutagen_technique mutagen = mutagen_technique::injected_purifier; - mtype_id mon = mon_zombie_kevlar_2; - efftype_id eff = effect_onfire; + mtype_id mon( "mon_zombie_kevlar_2" ); + efftype_id eff( "onfire" ); itype_id it( "marloss_seed" ); - trait_id mut = trait_CARNIVORE; - trait_id mut2 = trait_SAPROPHAGE; - bionic_id cbm = bio_alarm; + trait_id mut( "CARNIVORE" ); + trait_id mut2( "SAPROPHAGE" ); + bionic_id cbm( "bio_alarm" ); check_memorial( m, b, "Activated the art_name.", ch, "art_name" ); @@ -171,7 +170,7 @@ TEST_CASE( "memorials" ) m, b, "Gained the mutation 'Carnivore'.", ch, mut ); check_memorial( - m, b, "Reached skill level 8 in driving.", ch, skill_driving, 8 ); + m, b, "Reached skill level 8 in driving.", ch, skill_id( "driving" ), 8 ); check_memorial( m, b, u_name + " was killed.\nLast words: last_words", false, "last_words" ); @@ -186,7 +185,7 @@ TEST_CASE( "memorials" ) m, b, "Installed bad bionic: Alarm System.", ch, cbm ); check_memorial( - m, b, "Learned Aikido.", ch, style_aikido ); + m, b, "Learned Aikido.", ch, matype_id( "style_aikido" ) ); check_memorial( m, b, "Overcame addiction to alcohol.", ch, ADD_ALCOHOL ); diff --git a/tests/npc_test.cpp b/tests/npc_test.cpp index 7e611734e6993..b50fa708317a9 100644 --- a/tests/npc_test.cpp +++ b/tests/npc_test.cpp @@ -31,7 +31,6 @@ #include "memory_fast.h" #include "player_helpers.h" -#include "cata_string_consts.h" class Creature; @@ -309,6 +308,8 @@ TEST_CASE( "npc-movement" ) const ter_id t_floor( "t_floor" ); const furn_id f_rubble( "f_rubble" ); const furn_id f_null( "f_null" ); + const vpart_id vpart_frame_vertical( "frame_vertical" ); + const vpart_id vpart_seat( "seat" ); g->place_player( tripoint( 60, 60, 0 ) ); @@ -382,9 +383,9 @@ TEST_CASE( "npc-movement" ) REQUIRE( g->m.passable( p ) ); } if( type == 'R' ) { - REQUIRE( g->m.has_flag( flag_UNSTABLE, p ) ); + REQUIRE( g->m.has_flag( "UNSTABLE", p ) ); } else { - REQUIRE( !g->m.has_flag( flag_UNSTABLE, p ) ); + REQUIRE( !g->m.has_flag( "UNSTABLE", p ) ); } if( type == 'V' || type == 'W' || type == 'M' ) { REQUIRE( g->m.veh_at( p ).part_with_feature( VPFLAG_BOARDABLE, true ).has_value() ); diff --git a/tests/reload_option_test.cpp b/tests/reload_option_test.cpp index 3110a4dc78e4d..4064ee57b4b2c 100644 --- a/tests/reload_option_test.cpp +++ b/tests/reload_option_test.cpp @@ -5,7 +5,6 @@ #include "item.h" #include "item_location.h" #include "avatar.h" -#include "cata_string_consts.h" TEST_CASE( "revolver_reload_option", "[reload],[reload_option],[gun]" ) { @@ -14,7 +13,7 @@ TEST_CASE( "revolver_reload_option", "[reload],[reload_option],[gun]" ) item &gun = dummy.i_add( item( "sw_619", 0, 0 ) ); item &ammo = dummy.i_add( item( "38_special", 0, gun.ammo_capacity() ) ); item_location ammo_location( dummy, &ammo ); - REQUIRE( gun.has_flag( flag_RELOAD_ONE ) ); + REQUIRE( gun.has_flag( "RELOAD_ONE" ) ); REQUIRE( gun.ammo_remaining() == 0 ); const item::reload_option gun_option( &dummy, &gun, &gun, ammo_location ); diff --git a/tests/reloading_test.cpp b/tests/reloading_test.cpp index 110dad8759f3b..09d8aa5da8d79 100644 --- a/tests/reloading_test.cpp +++ b/tests/reloading_test.cpp @@ -18,7 +18,6 @@ #include "player_activity.h" #include "type_id.h" #include "value_ptr.h" -#include "cata_string_consts.h" TEST_CASE( "reload_gun_with_integral_magazine", "[reload],[gun]" ) { @@ -61,7 +60,7 @@ TEST_CASE( "reload_gun_with_integral_magazine_using_speedloader", "[reload],[gun REQUIRE( gun.magazine_integral() ); REQUIRE( loader_pos != INT_MIN ); REQUIRE( speedloader.ammo_remaining() == 0 ); - REQUIRE( speedloader.has_flag( flag_SPEEDLOADER ) ); + REQUIRE( speedloader.has_flag( "SPEEDLOADER" ) ); bool speedloader_success = speedloader.reload( dummy, item_location( dummy, &ammo ), ammo.charges ); diff --git a/tests/stomach_contents_test.cpp b/tests/stomach_contents_test.cpp index 416394bf20676..271149acb0872 100644 --- a/tests/stomach_contents_test.cpp +++ b/tests/stomach_contents_test.cpp @@ -11,7 +11,6 @@ #include "stomach.h" #include "units.h" #include "type_id.h" -#include "cata_string_consts.h" static void reset_time() { @@ -38,11 +37,11 @@ static void clear_stomach( player &p ) static void set_all_vitamins( int target, player &p ) { - p.vitamin_set( vitamin_vitA, target ); - p.vitamin_set( vitamin_vitB, target ); - p.vitamin_set( vitamin_vitC, target ); - p.vitamin_set( vitamin_iron, target ); - p.vitamin_set( vitamin_calcium, target ); + p.vitamin_set( vitamin_id( "vitA" ), target ); + p.vitamin_set( vitamin_id( "vitB" ), target ); + p.vitamin_set( vitamin_id( "vitC" ), target ); + p.vitamin_set( vitamin_id( "iron" ), target ); + p.vitamin_set( vitamin_id( "calcium" ), target ); } // time (in minutes) it takes for the player to feel hungry @@ -173,9 +172,9 @@ TEST_CASE( "all_nutrition_starve_test", "[starve]" ) } if( print_tests ) { printf( "vitamins: vitA %d vitB %d vitC %d calcium %d iron %d\n", - dummy.vitamin_get( vitamin_vitA ), dummy.vitamin_get( vitamin_vitB ), - dummy.vitamin_get( vitamin_vitC ), dummy.vitamin_get( vitamin_calcium ), - dummy.vitamin_get( vitamin_iron ) ); + dummy.vitamin_get( vitamin_id( "vitA" ) ), dummy.vitamin_get( vitamin_id( "vitB" ) ), + dummy.vitamin_get( vitamin_id( "vitC" ) ), dummy.vitamin_get( vitamin_id( "calcium" ) ), + dummy.vitamin_get( vitamin_id( "iron" ) ) ); printf( "\n" ); print_stomach_contents( dummy, print_tests ); printf( "\n" ); @@ -183,11 +182,11 @@ TEST_CASE( "all_nutrition_starve_test", "[starve]" ) CHECK( dummy.get_stored_kcal() >= dummy.get_healthy_kcal() ); // We need to account for a day's worth of error since we're passing a day at a time and we are // close to 0 which is the max value for some vitamins - CHECK( dummy.vitamin_get( vitamin_vitA ) >= -100 ); - CHECK( dummy.vitamin_get( vitamin_vitB ) >= -100 ); - CHECK( dummy.vitamin_get( vitamin_vitC ) >= -100 ); - CHECK( dummy.vitamin_get( vitamin_iron ) >= -100 ); - CHECK( dummy.vitamin_get( vitamin_calcium ) >= -100 ); + CHECK( dummy.vitamin_get( vitamin_id( "vitA" ) ) >= -100 ); + CHECK( dummy.vitamin_get( vitamin_id( "vitB" ) ) >= -100 ); + CHECK( dummy.vitamin_get( vitamin_id( "vitC" ) ) >= -100 ); + CHECK( dummy.vitamin_get( vitamin_id( "iron" ) ) >= -100 ); + CHECK( dummy.vitamin_get( vitamin_id( "calcium" ) ) >= -100 ); } TEST_CASE( "tape_worm_halves_nutrients" ) diff --git a/tests/vehicle_drag_test.cpp b/tests/vehicle_drag_test.cpp index 8a67870ca7316..0968ca6b5ed21 100644 --- a/tests/vehicle_drag_test.cpp +++ b/tests/vehicle_drag_test.cpp @@ -18,10 +18,11 @@ #include "type_id.h" #include "point.h" #include "vpart_position.h" -#include "cata_string_consts.h" using efficiency_stat = statistics; +const efftype_id effect_blind( "blind" ); + static void clear_game_drag( const ter_id &terrain ) { // Set to turn 0 to prevent solars from producing power @@ -59,7 +60,7 @@ static void clear_game_drag( const ter_id &terrain ) static vehicle *setup_drag_test( const vproto_id &veh_id ) { - clear_game_drag( ter_pavement ); + clear_game_drag( ter_id( "t_pavement" ) ); const tripoint map_starting_point( 60, 60, 0 ); vehicle *veh_ptr = g->m.add_vehicle( veh_id, map_starting_point, -90, 0, 0 ); @@ -76,7 +77,7 @@ static vehicle *setup_drag_test( const vproto_id &veh_id ) veh_ptr->toggle_specific_part( vp.part_index(), true ); } // close the doors - const auto doors = veh_ptr->get_avail_parts( flag_OPENABLE ); + const auto doors = veh_ptr->get_avail_parts( "OPENABLE" ); for( const vpart_reference vp : doors ) { const size_t door = vp.part_index(); veh_ptr->close( door ); diff --git a/tests/vehicle_efficiency_test.cpp b/tests/vehicle_efficiency_test.cpp index 4b3eabf3f3053..ef9b7b2a86e53 100644 --- a/tests/vehicle_efficiency_test.cpp +++ b/tests/vehicle_efficiency_test.cpp @@ -32,10 +32,11 @@ #include "type_id.h" #include "point.h" #include "vpart_position.h" -#include "cata_string_consts.h" using efficiency_stat = statistics; +const efftype_id effect_blind( "blind" ); + static void clear_game( const ter_id &terrain ) { // Set to turn 0 to prevent solars from producing power @@ -85,7 +86,7 @@ static std::map set_vehicle_fuel( vehicle &v, const float veh_fue } // We ignore battery when setting fuel because it uses designated "tanks" - actually_used.erase( fuel_type_battery ); + actually_used.erase( "battery" ); // Currently only one liquid fuel supported REQUIRE( actually_used.size() <= 1 ); @@ -104,8 +105,8 @@ static std::map set_vehicle_fuel( vehicle &v, const float veh_fue vehicle_part &pt = vp.part(); if( pt.is_battery() ) { - pt.ammo_set( fuel_type_battery, pt.ammo_capacity() * veh_fuel_mult ); - ret[ fuel_type_battery ] += pt.ammo_capacity() * veh_fuel_mult; + pt.ammo_set( "battery", pt.ammo_capacity() * veh_fuel_mult ); + ret[ "battery" ] += pt.ammo_capacity() * veh_fuel_mult; } else if( pt.is_tank() && liquid_fuel != "null" ) { float qty = pt.ammo_capacity() * veh_fuel_mult; qty *= std::max( item::find_type( liquid_fuel )->stack_size, 1 ); @@ -118,7 +119,7 @@ static std::map set_vehicle_fuel( vehicle &v, const float veh_fue } // We re-add battery because we want it accounted for, just not in the section above - actually_used.insert( fuel_type_battery ); + actually_used.insert( "battery" ); for( auto iter = ret.begin(); iter != ret.end(); ) { if( iter->second <= 0 || actually_used.count( iter->first ) == 0 ) { iter = ret.erase( iter ); @@ -198,7 +199,7 @@ static int test_efficiency( const vproto_id &veh_id, int &expected_mass, veh_ptr->get_items( vp.part_index() ).clear(); vp.part().ammo_consume( vp.part().ammo_remaining(), vp.pos() ); } - for( const vpart_reference vp : veh.get_avail_parts( flag_OPENABLE ) ) { + for( const vpart_reference vp : veh.get_avail_parts( "OPENABLE" ) ) { veh.close( vp.part_index() ); } @@ -354,29 +355,29 @@ static void test_vehicle( const int pavement_target_smooth_stops = 0, const int dirt_target_smooth_stops = 0 ) { SECTION( type + " on pavement" ) { - test_efficiency( vproto_id( type ), expected_mass, ter_pavement, -1, + test_efficiency( vproto_id( type ), expected_mass, ter_id( "t_pavement" ), -1, pavement_target ); } SECTION( type + " on dirt" ) { - test_efficiency( vproto_id( type ), expected_mass, ter_dirt, -1, dirt_target ); + test_efficiency( vproto_id( type ), expected_mass, ter_id( "t_dirt" ), -1, dirt_target ); } SECTION( type + " on pavement, full stop every 5 turns" ) { - test_efficiency( vproto_id( type ), expected_mass, ter_pavement, 5, + test_efficiency( vproto_id( type ), expected_mass, ter_id( "t_pavement" ), 5, pavement_target_w_stops ); } SECTION( type + " on dirt, full stop every 5 turns" ) { - test_efficiency( vproto_id( type ), expected_mass, ter_dirt, 5, + test_efficiency( vproto_id( type ), expected_mass, ter_id( "t_dirt" ), 5, dirt_target_w_stops ); } if( pavement_target_smooth_stops > 0 ) { SECTION( type + " on pavement, alternating 5 turns of acceleration and 5 turns of decceleration" ) { - test_efficiency( vproto_id( type ), expected_mass, ter_pavement, 5, + test_efficiency( vproto_id( type ), expected_mass, ter_id( "t_pavement" ), 5, pavement_target_smooth_stops, true ); } } if( dirt_target_smooth_stops > 0 ) { SECTION( type + " on dirt, alternating 5 turns of acceleration and 5 turns of decceleration" ) { - test_efficiency( vproto_id( type ), expected_mass, ter_dirt, 5, + test_efficiency( vproto_id( type ), expected_mass, ter_id( "t_dirt" ), 5, dirt_target_smooth_stops, true ); } } diff --git a/tests/vehicle_part_test.cpp b/tests/vehicle_part_test.cpp index 380a211cc17aa..c8fedbc139e1c 100644 --- a/tests/vehicle_part_test.cpp +++ b/tests/vehicle_part_test.cpp @@ -1,12 +1,11 @@ #include "catch/catch.hpp" #include "veh_type.h" -#include "cata_string_consts.h" TEST_CASE( "verify_copy_from_gets_damage_reduction", "[vehicle]" ) { // Picking halfboard_horizontal as a vpart which is likely to remain // defined via copy-from, and which should have non-zero damage reduction. - const vpart_info &vp = vpart_halfboard_horizontal.obj(); + const vpart_info &vp = vpart_id( "halfboard_horizontal" ).obj(); CHECK( vp.damage_reduction[DT_BASH] != 0 ); } diff --git a/tests/vehicle_test.cpp b/tests/vehicle_test.cpp index 46b35022da6b2..ee7e528450364 100644 --- a/tests/vehicle_test.cpp +++ b/tests/vehicle_test.cpp @@ -10,7 +10,6 @@ #include "enums.h" #include "type_id.h" #include "point.h" -#include "cata_string_consts.h" TEST_CASE( "detaching_vehicle_unboards_passengers" ) { @@ -56,7 +55,7 @@ TEST_CASE( "add_item_to_broken_vehicle_part" ) REQUIRE( veh_ptr != nullptr ); const tripoint pos = vehicle_origin + tripoint_west; - auto cargo_parts = veh_ptr->get_parts_at( pos, flag_CARGO, part_status_flag::any ); + auto cargo_parts = veh_ptr->get_parts_at( pos, "CARGO", part_status_flag::any ); REQUIRE( !cargo_parts.empty( ) ); vehicle_part *cargo_part = cargo_parts.front(); REQUIRE( cargo_part != nullptr ); diff --git a/tests/vehicle_turrets_test.cpp b/tests/vehicle_turrets_test.cpp index 7bbc608b983cc..397a209d31dff 100644 --- a/tests/vehicle_turrets_test.cpp +++ b/tests/vehicle_turrets_test.cpp @@ -19,14 +19,13 @@ #include "units.h" #include "type_id.h" #include "point.h" -#include "cata_string_consts.h" static std::vector turret_types() { std::vector res; for( const auto &e : vpart_info::all() ) { - if( e.second.has_flag( flag_TURRET ) ) { + if( e.second.has_flag( "TURRET" ) ) { res.push_back( &e.second ); } } @@ -70,12 +69,12 @@ TEST_CASE( "vehicle_turret", "[vehicle] [gun] [magazine] [.]" ) const int idx = veh->install_part( point_zero, e->get_id(), true ); REQUIRE( idx >= 0 ); - REQUIRE( veh->install_part( point_zero, vpart_storage_battery, true ) >= 0 ); + REQUIRE( veh->install_part( point_zero, vpart_id( "storage_battery" ), true ) >= 0 ); veh->charge_battery( 10000 ); auto ammo = ammotype( veh->turret_query( veh->parts[idx] ).base()->ammo_default() ); - if( veh->part_flag( idx, flag_USE_TANKS ) ) { + if( veh->part_flag( idx, "USE_TANKS" ) ) { auto *tank = biggest_tank( ammo ); REQUIRE( tank ); INFO( tank->get_id().str() ); diff --git a/tests/visitable_remove_test.cpp b/tests/visitable_remove_test.cpp index abd7bc2624602..2b8fce5a50d07 100644 --- a/tests/visitable_remove_test.cpp +++ b/tests/visitable_remove_test.cpp @@ -22,7 +22,6 @@ #include "optional.h" #include "type_id.h" #include "point.h" -#include "cata_string_consts.h" template static int count_items( const T &src, const itype_id &id ) @@ -417,7 +416,7 @@ TEST_CASE( "visitable_remove", "[visitable]" ) return static_cast( g->m.veh_at( e ) ); } ) == 1 ); - const cata::optional vp = g->m.veh_at( veh ).part_with_feature( flag_CARGO, true ); + const cata::optional vp = g->m.veh_at( veh ).part_with_feature( "CARGO", true ); REQUIRE( vp ); vehicle *const v = &vp->vehicle(); const int part = vp->part_index(); From 83cc924283886cf85359a0e9ca180925397b79d7 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 21:13:08 +0100 Subject: [PATCH 59/71] Gun name to object --- data/json/items/gun/20x66mm.json | 6 +++--- data/json/items/gun/22.json | 2 +- data/json/items/gun/223.json | 4 ++-- data/json/items/gun/300BLK.json | 2 +- data/json/items/gun/380.json | 2 +- data/json/items/gun/40x46mm.json | 2 +- data/json/items/gun/5x50.json | 4 ++-- data/json/items/gun/8x40mm.json | 6 +++--- data/json/items/gun/flammable.json | 2 +- data/json/items/gun/shot.json | 4 ++-- data/json/items/gun/ups.json | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) diff --git a/data/json/items/gun/20x66mm.json b/data/json/items/gun/20x66mm.json index e47322ec214a7..e220c041f9161 100644 --- a/data/json/items/gun/20x66mm.json +++ b/data/json/items/gun/20x66mm.json @@ -5,7 +5,7 @@ "type": "GUN", "reload_noise_volume": 10, "reload_noise": "chuk chuk.", - "name": "RM120c shotgun", + "name": { "str": "RM120c shotgun" }, "description": "Utilizing a powerful and unusual caliber, the Rivtech RM120c caseless pump-action shotgun was designed for hunting big game, with durability and ease of use as priorities.", "weight": "1880 g", "volume": "2250 ml", @@ -41,7 +41,7 @@ "looks_like": "remington_870", "type": "GUN", "reload_noise_volume": 10, - "name": "RM20 autoshotgun", + "name": { "str": "RM20 autoshotgun" }, "description": "Utilizing a powerful and unusual caliber, the Rivtech RM20 caseless automatic combat shotgun was designed with durability and overwhelming power in mind.", "weight": "2820 g", "volume": "1750 ml", @@ -76,7 +76,7 @@ "looks_like": "remington_870", "type": "GUN", "reload_noise_volume": 10, - "name": "RM228 PDW", + "name": { "str": "RM228 PDW" }, "description": "Chambering the powerful 20x66mm caseless shotgun cartridge, the Rivtech RM228 PDW was designed for the civilian personal defense market with durability and ease of use as priorities. While lauded for its small size and light weight, its hefty price tag kept it out of the reach of casual collectors.", "weight": "780 g", "volume": "750 ml", diff --git a/data/json/items/gun/22.json b/data/json/items/gun/22.json index 5b9d48917c4a4..b5b52ecd3ac5c 100644 --- a/data/json/items/gun/22.json +++ b/data/json/items/gun/22.json @@ -155,7 +155,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, - "name": "RM360 rotary carbine", + "name": { "str": "RM360 rotary carbine" }, "description": "This unusual Rivtech carbine features five rotating barrels and a large capacity helical magazine. Durable and easy to handle, it was designed to overcome the deficiencies of its low power .22LR cartridge by rapidly delivering a large number of projectiles.", "weight": "1620 g", "volume": "1 L", diff --git a/data/json/items/gun/223.json b/data/json/items/gun/223.json index ca389f7181097..90268019c83fa 100644 --- a/data/json/items/gun/223.json +++ b/data/json/items/gun/223.json @@ -4,7 +4,7 @@ "copy-from": "rifle_auto", "looks_like": "ar15", "type": "GUN", - "name": "Remington ACR", + "name": { "str": "Remington ACR" }, "description": "This carbine was developed for military use in the early 21st century. It is damaging and accurate, though its rate of fire is a bit slower than competing .223 carbines.", "weight": "3590 g", "volume": "2 L", @@ -368,7 +368,7 @@ "copy-from": "rifle_semi", "looks_like": "ar15", "type": "GUN", - "name": "Ruger Mini-14", + "name": { "str": "Ruger Mini-14" }, "description": "A small, lightweight semi-auto carbine designed for civilian and police use. Its superb accuracy and low recoil makes it more suitable than full-auto rifles for some situations.", "weight": "3180 g", "volume": "2 L", diff --git a/data/json/items/gun/300BLK.json b/data/json/items/gun/300BLK.json index 220f6efca54ce..8a35ed58114e2 100644 --- a/data/json/items/gun/300BLK.json +++ b/data/json/items/gun/300BLK.json @@ -4,7 +4,7 @@ "copy-from": "rifle_auto", "looks_like": "ar15", "type": "GUN", - "name": "Remington ACR .300BLK", + "name": { "str": "Remington ACR .300BLK" }, "description": "This carbine was developed for military use in the early 21st century. It is damaging and accurate, though its rate of fire is a bit slower than competing carbines. This version is chambered for the .300 AAC Blackout round.", "weight": "3590 g", "volume": "2 L", diff --git a/data/json/items/gun/380.json b/data/json/items/gun/380.json index 83f337a936004..3b3770ba9f84b 100644 --- a/data/json/items/gun/380.json +++ b/data/json/items/gun/380.json @@ -53,7 +53,7 @@ "copy-from": "pistol_backup", "looks_like": "glock_17", "type": "GUN", - "name": "Ruger LCP", + "name": { "str": "Ruger LCP" }, "description": "One of the best-selling modern day 'pocket pistol's, the LCP is an affordable, polymer framed pistol chambered in .380 ACP. Despite the round's relatively low power, the pistol's low weight and short sight radius make for a moderately poor handling pistol.", "weight": "267 g", "volume": "160 ml", diff --git a/data/json/items/gun/40x46mm.json b/data/json/items/gun/40x46mm.json index 692aab7c45e3a..c93cc074bf780 100644 --- a/data/json/items/gun/40x46mm.json +++ b/data/json/items/gun/40x46mm.json @@ -112,7 +112,7 @@ "copy-from": "launcher_base", "looks_like": "m79", "type": "GUN", - "name": "RM802 grenade launcher", + "name": { "str": "RM802 grenade launcher" }, "//": "Either Rivtech or milspec would make it Expensive. Combined, you could buy a half-decent car for the price.", "description": "The Rivtech RM802 pump-action 40mm grenade launcher was designed to be a step ahead of single-shot grenade launchers by allowing sustained heavy firepower. However, its capacity is fairly limited so it must be used with careful planning.", "weight": "3120 g", diff --git a/data/json/items/gun/5x50.json b/data/json/items/gun/5x50.json index 6ee9bdcce4e01..0009296d048bb 100644 --- a/data/json/items/gun/5x50.json +++ b/data/json/items/gun/5x50.json @@ -4,7 +4,7 @@ "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, - "name": "RM216 SPIW", + "name": { "str": "RM216 SPIW" }, "description": "This light carbine fires 5x50mm armor-piercing flechette cartridges. Classified as a special purpose individual weapon, this advanced firearm was developed by Rivtech for the US military shortly before the end of the world. Designed to be fired in bursts, it excels in close combat.", "weight": "1302 g", "volume": "1250 ml", @@ -44,7 +44,7 @@ "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, - "name": "RM232 IDW", + "name": { "str": "RM232 IDW" }, "description": "This lightweight machine pistol fires 5x50mm armor-piercing flechette cartridges. Classified as an individual defense weapon, this advanced firearm was developed by Rivtech for the US military shortly before the end of the world. Designed to be fired in bursts, it excels in close combat.", "weight": "682 g", "volume": "750 ml", diff --git a/data/json/items/gun/8x40mm.json b/data/json/items/gun/8x40mm.json index 8c3caa6aceb4a..b8f3f677c5a12 100644 --- a/data/json/items/gun/8x40mm.json +++ b/data/json/items/gun/8x40mm.json @@ -4,7 +4,7 @@ "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, - "name": "RM103A automagnum", + "name": { "str": "RM103A automagnum" }, "//": "Rivtech don't come cheap.", "description": "Considered overkill by many, the Rivtech M103A remains one of the most powerful sidearms ever developed. Accepts stick magazines.", "weight": "1450 g", @@ -39,7 +39,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, - "name": "RM11B scout rifle", + "name": { "str": "RM11B scout rifle" }, "description": "Intended to function as a long-range sharpshooter support weapon for the military, the Rivtech RM11B scout rifle was designed for durability and accuracy under less than ideal circumstances. Its bullpup layout, integrated suppressor and digital scope, and two round burst mode allows it to deliver precise long-range takedowns, utilizing the proprietary Rivtech 8mm caseless round. Accepts stick magazines.", "weight": "3100 g", "volume": "2 L", @@ -76,7 +76,7 @@ "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, - "name": "RM2000 submachine gun", + "name": { "str": "RM2000 submachine gun" }, "description": "Utilizing a powerful and unusual caliber, the Rivtech RM2000 submachine gun was designed for durability and ease of carrying under less than ideal circumstances. Accepts stick magazines.", "weight": "1900 g", "volume": "1 L", diff --git a/data/json/items/gun/flammable.json b/data/json/items/gun/flammable.json index df307bda7cee2..58b0490da2e5f 100644 --- a/data/json/items/gun/flammable.json +++ b/data/json/items/gun/flammable.json @@ -32,7 +32,7 @@ "copy-from": "flamethrower_base", "looks_like": "m79", "type": "GUN", - "name": "RM451 flamethrower", + "name": { "str": "RM451 flamethrower" }, "description": "A military-grade combat flamethrower designed by Rivtech, the RM451 flamethrower incorporates a cycling pressure rapid-feed fuel system with a high-speed piezoelectric igniter. Solidly built with durability in mind, it serves as an incredibly destructive weapon in the right hands.", "weight": "1320 g", "volume": "3500 ml", diff --git a/data/json/items/gun/shot.json b/data/json/items/gun/shot.json index 536c21dae62ae..1ea1dd729c329 100644 --- a/data/json/items/gun/shot.json +++ b/data/json/items/gun/shot.json @@ -294,7 +294,7 @@ "id": "remington_870_breacher", "copy-from": "remington_870", "type": "GUN", - "name": "Remington 870 MCS", + "name": { "str": "Remington 870 MCS" }, "description": "This Remington 870 Modular Combat System shotgun is currently setup for breaching operations, with a 10 inch barrel and no stock. It is small enough to carry as a secondary weapon, specifically to pop open any pesky doors you might come across. The grip's design makes for controllable yet unpleasant recoil, and the barrel lacks any sights.", "weight": "2812 g", "volume": "1427 ml", @@ -341,7 +341,7 @@ "id": "remington_1100", "copy-from": "shotgun_base", "type": "GUN", - "name": "Remington 1100 competiton", + "name": { "str": "Remington 1100 competiton" }, "description": "This semi-automatic shotgun features a self compensating gas system that will feed a wide array of shells while also reducing recoil. Introduced in 1963, it is favored by law enforcement, hunters and competition shooters, and has been the best-selling autoloading shotgun in U.S. history. This is the nickel finished, teflon coated competition model, with a full length magazine tube and 30 inch barrel.", "weight": "3742 g", "volume": "3285 ml", diff --git a/data/json/items/gun/ups.json b/data/json/items/gun/ups.json index 0891e900ce498..c652cf0954195 100644 --- a/data/json/items/gun/ups.json +++ b/data/json/items/gun/ups.json @@ -79,7 +79,7 @@ "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 2, - "name": "RMES marksman system", + "name": { "str": "RMES marksman system" }, "description": "This is the integral weapon system for the RMES exoskeleton mech-suit, a quiet and accurate marksman laser rifle.", "weight": "12500 g", "volume": "5500 ml", From 0b5ba5dc17b09c88394a67ed26266da3f135c42c Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 21:32:43 +0100 Subject: [PATCH 60/71] Ammo name to object --- data/json/items/ammo/84x246mm.json | 6 +++--- data/json/items/ammo/8x40mm.json | 12 ++++++------ data/json/items/ammo/9mm.json | 20 ++++++++++---------- data/json/items/ammo/9x18.json | 16 ++++++++-------- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/data/json/items/ammo/84x246mm.json b/data/json/items/ammo/84x246mm.json index 1af52b873c615..95d67eab964b9 100644 --- a/data/json/items/ammo/84x246mm.json +++ b/data/json/items/ammo/84x246mm.json @@ -5,7 +5,7 @@ "price": 70000, "price_postapoc": 70000, "//": "Milspec ammo such as grenades and rockets: not available to the general public, so Expensive.", - "name": "84x246mm HE rocket", + "name": { "str": "84x246mm HE rocket" }, "symbol": "=", "color": "dark_gray", "description": "A 84x246mm High Explosive anti-personnel round for the Carl Gustav M3 recoilless rifle. Designed to be highly effective against personnel.", @@ -28,7 +28,7 @@ "copy-from": "84x246mm_he", "price": 70000, "price_postapoc": 70000, - "name": "84x246mm HEDP rocket", + "name": { "str": "84x246mm HEDP rocket" }, "description": "A 84x246mm High Explosive Dual Purpose anti-materiel round for the Carl Gustav M3 recoilless rifle. Designed to be highly effective against vehicles and structures.", "volume": "1500 ml", "weight": "3300 g", @@ -45,7 +45,7 @@ "copy-from": "84x246mm_he", "price": 45000, "price_postapoc": 45000, - "name": "84x246mm smoke rocket", + "name": { "str": "84x246mm smoke rocket" }, "description": "A 84x246mm smoke marker round for the Carl Gustav M3 recoilless rifle. Commonly used for signaling, target designation, and for screening troop movements.", "volume": "1500 ml", "weight": "3100 g", diff --git a/data/json/items/ammo/8x40mm.json b/data/json/items/ammo/8x40mm.json index 0b0a0f90ee8c2..bb5b9525d119c 100644 --- a/data/json/items/ammo/8x40mm.json +++ b/data/json/items/ammo/8x40mm.json @@ -12,7 +12,7 @@ { "id": "8mm_caseless", "type": "AMMO", - "name": "8x40mm caseless", + "name": { "str": "8x40mm caseless" }, "//": "Cased ammo tends to be roughly $1/shot, more or less. Rivtech ammo, being New and Proprietary and Expensive, $2-2.50 or so.", "description": "8x40mm caseless rounds. Proprietary ammunition for Rivtech firearms. Being caseless rounds, these cannot be disassembled or reloaded.", "weight": "12 g", @@ -36,7 +36,7 @@ "id": "8mm_civilian", "copy-from": "8mm_caseless", "type": "AMMO", - "name": "8x40mm sporting", + "name": { "str": "8x40mm sporting" }, "description": "8x40mm caseless rounds, light sporting load sold for civilian use. Proprietary ammunition for Rivtech firearms. Being caseless rounds, these cannot be disassembled or reloaded.", "proportional": { "price": 0.8, "damage": 0.5, "dispersion": 1.2, "recoil": 0.5 }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -45,7 +45,7 @@ "id": "8mm_fmj", "copy-from": "8mm_caseless", "type": "AMMO", - "name": "8x40mm FMJ", + "name": { "str": "8x40mm FMJ" }, "description": "8x40mm caseless rounds, full metal jacket. Military grade ammunition for Rivtech firearms. Being caseless rounds, these cannot be disassembled or reloaded.", "relative": { "damage": -5, "pierce": 10 } }, @@ -53,7 +53,7 @@ "id": "8mm_hvp", "copy-from": "8mm_caseless", "type": "AMMO", - "name": "8x40mm HVP", + "name": { "str": "8x40mm HVP" }, "description": "8x40mm caseless rounds, saboted high-velocity penetrator type. Advanced military grade, armor-piercing ammunition that fires a single depleted uranium flechette. Being caseless rounds, these cannot be disassembled or reloaded.", "price": 2500, "price_postapoc": 50000, @@ -64,7 +64,7 @@ "id": "8mm_inc", "copy-from": "8mm_caseless", "type": "AMMO", - "name": "8x40mm tracer", + "name": { "str": "8x40mm tracer" }, "description": "8x40mm caseless rounds with tracers to help keep the weapon they are fired from on target at the risk of igniting flammable substances. Military grade ammunition for Rivtech firearms. Being caseless rounds, these cannot be disassembled or reloaded.", "count": 20, "proportional": { "dispersion": 0.8 }, @@ -74,7 +74,7 @@ "id": "8mm_jhp", "copy-from": "8mm_caseless", "type": "AMMO", - "name": "8x40mm JHP", + "name": { "str": "8x40mm JHP" }, "description": "8x40mm caseless rounds, jacketed hollowpoint. Military grade ammunition for Rivtech firearms. Being caseless rounds, these cannot be disassembled or reloaded.", "relative": { "damage": 5, "pierce": -10 } } diff --git a/data/json/items/ammo/9mm.json b/data/json/items/ammo/9mm.json index edfe923bcc26d..d0d60e8e8c0f5 100644 --- a/data/json/items/ammo/9mm.json +++ b/data/json/items/ammo/9mm.json @@ -2,7 +2,7 @@ { "id": "9mm", "type": "AMMO", - "name": "9x19mm JHP", + "name": { "str": "9x19mm JHP" }, "description": "9x19mm ammunition with a 116gr jacketed hollow point bullet. JHP rounds have inferior penetration to FMJ rounds but their expansion slightly increases stopping power against unarmored targets and reduces overpenetration.", "weight": "7 g", "volume": "250 ml", @@ -25,7 +25,7 @@ "id": "9mmfmj", "copy-from": "9mm", "type": "AMMO", - "name": "9x19mm FMJ", + "name": { "str": "9x19mm FMJ" }, "description": "9x19mm ammunition with a brass jacketed 115gr bullet. It is a popular round for military, law enforcement, and civilian use even after almost 150 years.", "relative": { "damage": -2, "pierce": 4 } }, @@ -33,7 +33,7 @@ "id": "9mmP", "copy-from": "9mm", "type": "AMMO", - "name": "9x19mm +P", + "name": { "str": "9x19mm +P" }, "description": "Overpressure 9x19mm ammunition. The round's increased velocity results in superior accuracy and stopping power at the cost of higher recoil.", "price": 300, "price_postapoc": 3800, @@ -45,7 +45,7 @@ "id": "9mmP2", "copy-from": "9mm", "type": "AMMO", - "name": "9x19mm +P+", + "name": { "str": "9x19mm +P+" }, "description": "A step beyond the high-pressure 9x19mm +P round, the +P+ has even higher internal pressure offering superior damage, accuracy, and penetration.", "price": 350, "price_postapoc": 5200, @@ -57,7 +57,7 @@ "id": "bp_9mm", "copy-from": "9mm", "type": "AMMO", - "name": "9x19mm JHP, black powder", + "name": { "str": "9x19mm JHP, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -66,7 +66,7 @@ "id": "bp_9mmfmj", "copy-from": "9mmfmj", "type": "AMMO", - "name": "9x19mm FMJ, black powder", + "name": { "str": "9x19mm FMJ, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -75,7 +75,7 @@ "id": "reloaded_9mm", "copy-from": "9mm", "type": "AMMO", - "name": "9x19mm JHP, reloaded", + "name": { "str": "9x19mm JHP, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -84,7 +84,7 @@ "id": "reloaded_9mmfmj", "copy-from": "9mmfmj", "type": "AMMO", - "name": "9x19mm FMJ, reloaded", + "name": { "str": "9x19mm FMJ, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -93,7 +93,7 @@ "id": "reloaded_9mmP", "copy-from": "9mmP", "type": "AMMO", - "name": "9x19mm +P, reloaded", + "name": { "str": "9x19mm +P, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -102,7 +102,7 @@ "id": "reloaded_9mmP2", "copy-from": "9mmP2", "type": "AMMO", - "name": "9x19mm +P+, reloaded", + "name": { "str": "9x19mm +P+, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo/9x18.json b/data/json/items/ammo/9x18.json index 55ac620202a64..c641da0bea0e2 100644 --- a/data/json/items/ammo/9x18.json +++ b/data/json/items/ammo/9x18.json @@ -2,7 +2,7 @@ { "id": "9x18mm", "type": "AMMO", - "name": "9x18mm 57-N-181S", + "name": { "str": "9x18mm 57-N-181S" }, "description": "9x18mm Makarov ammunition with 93gr steel core FMJ bullets. The 9x18mm round was very common in the Eastern Bloc during the 20th century and remained in Russian military service into the 21st century.", "weight": "8 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "9x18mmP2", "copy-from": "9x18mm", "type": "AMMO", - "name": "9x18mm SP-7", + "name": { "str": "9x18mm SP-7" }, "description": "9x18mm Makarov SP-7 ammunition. The 9x18mm round was very common in the Eastern Bloc during the 20th century and remained in Russian military service into the 21st century.", "price": 150, "price_postapoc": 2900, @@ -38,7 +38,7 @@ "id": "9x18mmfmj", "copy-from": "9x18mm", "type": "AMMO", - "name": "9x18mm RG028", + "name": { "str": "9x18mm RG028" }, "description": "9x18mm Makarov RG028 ammunition. The RG028 round uses bullets with a hardened steel core to improve armor penetration.", "price": 200, "price_postapoc": 3100, @@ -48,7 +48,7 @@ "id": "bp_9x18mm", "copy-from": "9x18mm", "type": "AMMO", - "name": "9x18mm, black powder", + "name": { "str": "9x18mm, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -57,7 +57,7 @@ "id": "bp_9x18mmfmj", "copy-from": "9x18mmfmj", "type": "AMMO", - "name": "9x18mm FMJ, black powder", + "name": { "str": "9x18mm FMJ, black powder" }, "proportional": { "price": 0.3, "damage": 0.76, "recoil": 0.76, "pierce": 0.5, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "BLACKPOWDER", "MUZZLE_SMOKE" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -66,7 +66,7 @@ "id": "reloaded_9x18mm", "copy-from": "9x18mm", "type": "AMMO", - "name": "9x18mm, reloaded", + "name": { "str": "9x18mm, reloaded" }, "description": "9x18 millimeter Makarov, an old Soviet pistol cartridge used mainly by the Makarov PM. As the designation implies, it is a bit shorter in case length compared to 9mm Parabellum. This one has been hand-reloaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, @@ -76,7 +76,7 @@ "id": "reloaded_9x18mmP2", "copy-from": "9x18mmP2", "type": "AMMO", - "name": "9x18mm +P+, reloaded", + "name": { "str": "9x18mm +P+, reloaded" }, "//": "Rather than give it a military designation, this is simply handmade overpressure ammo.", "description": "9x18 millimeter Makarov, an old Soviet pistol cartridge used mainly by the Makarov PM. This one has been hand-reloaded to generate higher internal pressure, boosting flight stability and damage.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, @@ -87,7 +87,7 @@ "id": "reloaded_9x18mmfmj", "copy-from": "9x18mmfmj", "type": "AMMO", - "name": "9x18mm FMJ, reloaded", + "name": { "str": "9x18mm FMJ, reloaded" }, "description": "9x18 millimeter Makarov, an old Soviet pistol cartridge used mainly by the Makarov PM. This brass-jacketed round increases penetration slightly, at the cost of reduced expansion. This one has been hand-reloaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, From 2b1680caa998583f6fd83ec9482d00396f816eb5 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 22:46:49 +0100 Subject: [PATCH 61/71] Generic name to object --- data/json/items/basecamp.json | 12 ++++++------ data/json/items/fake.json | 2 +- data/json/items/melee/swords_and_blades.json | 4 ++-- data/json/items/resources/alien.json | 2 +- data/json/items/tool/fishing.json | 2 +- data/json/items/tool/med.json | 4 ++-- data/json/items/tool/metalworking.json | 2 +- data/json/items/tool/misc.json | 2 +- data/json/items/tool/science.json | 4 ++-- data/json/items/tool/smoking.json | 2 +- data/json/items/tool/toileteries.json | 2 +- data/json/items/tool/workshop.json | 4 ++-- 12 files changed, 21 insertions(+), 21 deletions(-) diff --git a/data/json/items/basecamp.json b/data/json/items/basecamp.json index fa1178bbebea7..3c3402902b5a2 100644 --- a/data/json/items/basecamp.json +++ b/data/json/items/basecamp.json @@ -3,7 +3,7 @@ "id": "fake_char_smoker", "type": "TOOL", "copy-from": "fake_item", - "name": "basecamp charcoal smoker", + "name": { "str": "basecamp charcoal smoker" }, "description": "A fake charcoal smoker used for basecamps.", "sub": "char_smoker", "ammo": "charcoal", @@ -13,7 +13,7 @@ "id": "fake_fireplace", "type": "TOOL", "copy-from": "fake_item", - "name": "basecamp fireplace", + "name": { "str": "basecamp fireplace" }, "description": "A fake fireplace used for basecamps.", "sub": "hotplate", "ammo": "tinder", @@ -24,7 +24,7 @@ "id": "fake_forge", "type": "TOOL", "copy-from": "fake_item", - "name": "basecamp forge", + "name": { "str": "basecamp forge" }, "description": "A fake forge used for basecamps.", "sub": "char_forge", "ammo": "charcoal", @@ -34,7 +34,7 @@ "id": "fake_char_kiln", "type": "TOOL", "copy-from": "fake_item", - "name": "basecamp kiln", + "name": { "str": "basecamp kiln" }, "description": "A fake kiln used for basecamps.", "sub": "char_kiln", "ammo": "charcoal", @@ -44,7 +44,7 @@ "id": "fake_stove", "type": "TOOL", "copy-from": "fake_item", - "name": "basecamp stove", + "name": { "str": "basecamp stove" }, "description": "A fake stove used for basecamps.", "sub": "hotplate", "ammo": "tinder", @@ -55,7 +55,7 @@ "id": "fake_drop_hammer", "type": "TOOL", "copy-from": "fake_item", - "name": "basecamp drop hammer", + "name": { "str": "basecamp drop hammer" }, "description": "A fake drop hammer used for basecamps.", "qualities": [ [ "HAMMER", 5 ] ] } diff --git a/data/json/items/fake.json b/data/json/items/fake.json index c9fe654c7d179..46ad7aa27ef8d 100644 --- a/data/json/items/fake.json +++ b/data/json/items/fake.json @@ -11,7 +11,7 @@ "id": "arcfurnace", "copy-from": "fake_item", "type": "TOOL", - "name": "arc furnace" + "name": { "str": "arc furnace" } }, { "id": "fake_burrowing", diff --git a/data/json/items/melee/swords_and_blades.json b/data/json/items/melee/swords_and_blades.json index 526c330e5456d..01f585dc211fe 100644 --- a/data/json/items/melee/swords_and_blades.json +++ b/data/json/items/melee/swords_and_blades.json @@ -562,7 +562,7 @@ "type": "TOOL", "symbol": "/", "color": "light_gray", - "name": "arming sword", + "name": { "str": "arming sword" }, "description": "This is a classic medieval sword, just the right size to use one-handed.", "price": 100000, "material": "steel", @@ -602,7 +602,7 @@ "symbol": "/", "color": "light_gray", "looks_like": "arming_sword", - "name": "arming sword", + "name": { "str": "arming sword" }, "description": "This is a classic medieval sword, just the right size to use one-handed. This one doesn't seem to have been made right.", "price": 100000, "material": "budget_steel", diff --git a/data/json/items/resources/alien.json b/data/json/items/resources/alien.json index d668fd8e0be4e..8e3d5687ed0a0 100644 --- a/data/json/items/resources/alien.json +++ b/data/json/items/resources/alien.json @@ -17,7 +17,7 @@ "id": "alien_pod_resin", "type": "TOOL", "category": "spare_parts", - "name": "alien resin pod", + "name": { "str": "alien resin pod" }, "description": "This is a large pod, the size of a keg, filled with gooey alien resin. Squeezing it firmly causes resin to squirt from the broken stalk at the end, hardening within a few seconds of being exposed to the air.", "weight": "70000 g", "volume": "22000 ml", diff --git a/data/json/items/tool/fishing.json b/data/json/items/tool/fishing.json index 563387ebd7c30..d2163c0096450 100644 --- a/data/json/items/tool/fishing.json +++ b/data/json/items/tool/fishing.json @@ -44,7 +44,7 @@ { "id": "fishing_rod_basic", "type": "TOOL", - "name": "basic fishing rod", + "name": { "str": "basic fishing rod" }, "description": "'Fishing rod' might be a bit too charitable of a description. In truth, this is a stick with a piece of string and a hook.", "weight": "1700 g", "volume": "1250 ml", diff --git a/data/json/items/tool/med.json b/data/json/items/tool/med.json index ee7e1997581b8..ae781164dbadd 100644 --- a/data/json/items/tool/med.json +++ b/data/json/items/tool/med.json @@ -2,7 +2,7 @@ { "id": "anesthetic_kit", "type": "TOOL", - "name": "anesthesia kit", + "name": { "str": "anesthesia kit" }, "description": "A kit for inducing anesthesia for surgery, containing specialized canisters with a variety of powerful hypnotic, analgetic, and stimulative drugs. It's intended for use in specialized medical equipment, and can't be administered manually.", "weight": "100 g", "volume": "3250 ml", @@ -19,7 +19,7 @@ { "id": "autoclave", "type": "TOOL", - "name": "autoclave", + "name": { "str": "autoclave" }, "description": "This is an autoclave. It's useful for sterilizing things like CBMs. It requires a massive amount of power, so standard batteries will not power it sufficiently.", "weight": "34500 g", "volume": "76 L", diff --git a/data/json/items/tool/metalworking.json b/data/json/items/tool/metalworking.json index 92a6a3fe1f056..a7aa6bdf41cf2 100644 --- a/data/json/items/tool/metalworking.json +++ b/data/json/items/tool/metalworking.json @@ -2,7 +2,7 @@ { "id": "anvil", "type": "TOOL", - "name": "anvil", + "name": { "str": "anvil" }, "description": "This is an enormously heavy block of oddly shaped steel with a chisel-like projection set into the corner. It's used in most metalworking fabrication recipes.", "weight": "54000 g", "volume": "4 L", diff --git a/data/json/items/tool/misc.json b/data/json/items/tool/misc.json index 4d91a6e328bcf..abec217ed0731 100644 --- a/data/json/items/tool/misc.json +++ b/data/json/items/tool/misc.json @@ -30,7 +30,7 @@ { "id": "alarmclock", "type": "TOOL", - "name": "alarm clock", + "name": { "str": "alarm clock" }, "description": "A wind-up alarm clock. Though the noise it makes is unpleasant to wake up to, it's always good to get an early start to your day. Can also be disassembled into some useful parts.", "weight": "562 g", "volume": "250 ml", diff --git a/data/json/items/tool/science.json b/data/json/items/tool/science.json index 05e62962724e6..b7104114d4327 100644 --- a/data/json/items/tool/science.json +++ b/data/json/items/tool/science.json @@ -63,7 +63,7 @@ "id": "chemistry_set_basic", "type": "TOOL", "category": "tools", - "name": "basic chemistry set", + "name": { "str": "basic chemistry set" }, "description": "This is a basic chemistry set which includes glass containers, hoses and safety glasses. It might be used to craft some chemistry projects if you're so inclined, but you'll need a source of heat.", "weight": "1884 g", "volume": "2750 ml", @@ -270,7 +270,7 @@ "id": "analytical_set_basic", "type": "TOOL", "category": "tools", - "name": "basic laboratory analysis kit", + "name": { "str": "basic laboratory analysis kit" }, "description": "This hefty kit contains some basic things you should probably not try to do precise chemistry without: namely, a small balance scale, a spectrophotometer, a melting point apparatus, a pH meter, and a set of paper for thin layer chromatography. This makes it a lot easier to feel confident that the chemical you've made is what you think you've made.", "weight": "12500 g", "volume": "5 L", diff --git a/data/json/items/tool/smoking.json b/data/json/items/tool/smoking.json index d782ad2c63f9d..5430d8a0647a1 100644 --- a/data/json/items/tool/smoking.json +++ b/data/json/items/tool/smoking.json @@ -2,7 +2,7 @@ { "id": "advanced_ecig", "type": "TOOL", - "name": "advanced electronic cigarette", + "name": { "str": "advanced electronic cigarette" }, "description": "An advanced version of the electronic cigarette. A less harmful way to get your nicotine fix than regular cigarettes, but still addictive. It needs batteries and nicotine liquid to function.", "category": "drugs", "weight": "200 g", diff --git a/data/json/items/tool/toileteries.json b/data/json/items/tool/toileteries.json index 931a7f8614b3f..c45246ce9b0f0 100644 --- a/data/json/items/tool/toileteries.json +++ b/data/json/items/tool/toileteries.json @@ -2,7 +2,7 @@ { "id": "bathroom_scale", "type": "TOOL", - "name": "bathroom scale", + "name": { "str": "bathroom scale" }, "symbol": "â– ", "color": "light_gray", "description": "This is a small bathroom scale, meant to weigh a person while naked.", diff --git a/data/json/items/tool/workshop.json b/data/json/items/tool/workshop.json index 11f267cac77c4..f877504363ecf 100644 --- a/data/json/items/tool/workshop.json +++ b/data/json/items/tool/workshop.json @@ -56,7 +56,7 @@ { "id": "angle_grinder", "type": "TOOL", - "name": "angle grinder", + "name": { "str": "angle grinder" }, "description": "This widespread powertool is often used for removing excess material or polishing surfaces.", "weight": "2780 g", "volume": "1750 ml", @@ -899,7 +899,7 @@ { "id": "welder", "type": "TOOL", - "name": "arc welder", + "name": { "str": "arc welder" }, "description": "This is a battery powered tool for welding metal pieces together using an electric arc. It is an indispensable tool for construction or repair.", "weight": "4200 g", "volume": "2500 ml", From 4ab874dc4034c23cb280896b9d4a1f9df64db593 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Tue, 25 Feb 2020 23:17:43 +0100 Subject: [PATCH 62/71] Ammo name to object --- data/json/items/ammo.json | 20 ++++++++++---------- data/json/items/ammo/12mm.json | 2 +- data/json/items/ammo/5x50.json | 4 ++-- data/json/items/ammo/66mm.json | 2 +- data/json/items/chemicals_and_resources.json | 2 +- data/json/items/ranged/archery.json | 6 +++--- data/json/items/ranged/crossbows.json | 6 +++--- data/json/items/resources/tailoring.json | 8 ++++---- 8 files changed, 25 insertions(+), 25 deletions(-) diff --git a/data/json/items/ammo.json b/data/json/items/ammo.json index 8c52873f6c28f..7a263337116b4 100644 --- a/data/json/items/ammo.json +++ b/data/json/items/ammo.json @@ -51,12 +51,12 @@ "id": "aluminum_foil", "category": "spare_parts", "price": 648, - "name": "aluminum foil", + "name": { "str": "aluminum foil" }, "symbol": "=", "color": "light_gray", "description": "A thin foil made of aluminum. Sometimes called 'tin foil' due to being made of tin in the past.", "material": "aluminum", - "volume": 0, + "volume": "10 ml", "weight": "4 g", "ammo_type": "components", "count": 200 @@ -363,7 +363,7 @@ "type": "AMMO", "id": "bb", "price": 500, - "name": "BB", + "name": { "str": "BB" }, "symbol": "=", "color": "light_gray", "looks_like": "pebble", @@ -539,7 +539,7 @@ "id": "gunpowder_artillery", "copy-from": "gunpowder", "price": 3000, - "name": "artillery propellant", + "name": { "str": "artillery propellant" }, "description": "Single base smokeless gunpowder intended for use in artillery propelling charges." }, { @@ -704,7 +704,7 @@ "type": "AMMO", "id": "RPG-7_ammo", "price": 10000, - "name": "PG-7VL 93mm rocket", + "name": { "str": "PG-7VL 93mm rocket" }, "symbol": "=", "color": "dark_gray", "description": "93mm single-stage high-explosive ammunition for the RPG-7.", @@ -723,7 +723,7 @@ "type": "AMMO", "id": "RPG-7_pg7vr", "price": 10000, - "name": "PG-7VR 64mm/105mm rocket", + "name": { "str": "PG-7VR 64mm/105mm rocket" }, "symbol": "=", "color": "dark_gray", "description": "64mm/105mm high-explosive tandem ammunition for the RPG-7.", @@ -742,7 +742,7 @@ "type": "AMMO", "id": "RPG-7_tbg7v", "price": 10000, - "name": "TBG-7V 105mm rocket", + "name": { "str": "TBG-7V 105mm rocket" }, "symbol": "=", "color": "dark_gray", "description": "105mm thermobaric ammunition for the RPG-7.", @@ -761,7 +761,7 @@ "type": "AMMO", "id": "RPG-7_og7v", "price": 8000, - "name": "OG-7V 40mm rocket", + "name": { "str": "OG-7V 40mm rocket" }, "symbol": "=", "color": "dark_gray", "description": "40mm high-explosive fragmentation antipersonnel ammunition for the RPG-7.", @@ -865,7 +865,7 @@ "id": "ampoule", "category": "drugs", "price": 50000, - "name": "RA21E medical ampoule", + "name": { "str": "RA21E medical ampoule" }, "symbol": "=", "color": "cyan", "description": "A tiny glass vial filled with advanced fast-healing chemicals which can only be activated by a Rivtech jet injector device. A label on the side warns against using more than two doses per hour.", @@ -881,7 +881,7 @@ "id": "stimpack_ammo", "category": "drugs", "price": 30000, - "name": "RA10K stimulant module", + "name": { "str": "RA10K stimulant module" }, "symbol": "=", "color": "cyan", "description": "A pressurized multi-chamber glass vial filled with powerful chemical stimulants which can only be activated by a Rivtech stimulant delivery system.", diff --git a/data/json/items/ammo/12mm.json b/data/json/items/ammo/12mm.json index 0be1d7d872e84..b84ede8c57641 100644 --- a/data/json/items/ammo/12mm.json +++ b/data/json/items/ammo/12mm.json @@ -2,7 +2,7 @@ { "id": "12mm", "type": "AMMO", - "name": "H&K 12mm", + "name": { "str": "H&K 12mm" }, "description": "The Heckler & Koch 12mm projectiles are used in H&K railguns. It's made of a ferromagnetic metal, probably cobalt.", "weight": "11 g", "volume": "250 ml", diff --git a/data/json/items/ammo/5x50.json b/data/json/items/ammo/5x50.json index 38085d1879759..6feddad320819 100644 --- a/data/json/items/ammo/5x50.json +++ b/data/json/items/ammo/5x50.json @@ -2,7 +2,7 @@ { "id": "5x50dart", "type": "AMMO", - "name": "RA110 5x50mm flechette", + "name": { "str": "RA110 5x50mm flechette" }, "description": "Designed to defeat modern body armor, the Rivtech 5x50mm flechette round features a biodegradable sabot and a single, fin-stabilized penetrator.", "weight": "8 g", "volume": "250 ml", @@ -26,7 +26,7 @@ "id": "5x50heavy", "copy-from": "5x50dart", "type": "AMMO", - "name": "RA119 5x50mm penetrator", + "name": { "str": "RA119 5x50mm penetrator" }, "description": "Designed to defeat modern body armor, the Rivtech 5x50mm RA119 penetrator round features a biodegradable sabot and a single, fin-stabilized tungsten alloy projectile.", "weight": "9 g", "price": 1688, diff --git a/data/json/items/ammo/66mm.json b/data/json/items/ammo/66mm.json index ba9858d7e084c..80c337f7d9d59 100644 --- a/data/json/items/ammo/66mm.json +++ b/data/json/items/ammo/66mm.json @@ -4,7 +4,7 @@ "id": "m235tpa", "price": 200000, "//": "$500 per. Cheap!", - "name": "M74 rocket", + "name": { "str": "M74 rocket" }, "symbol": "=", "color": "dark_gray", "description": "66mm incendiary rockets used in the M202 FLASH rocket launcher. Their warheads are filled with a thickened pyrophoric agent, which burns at 2200 degrees Fahrenheit.", diff --git a/data/json/items/chemicals_and_resources.json b/data/json/items/chemicals_and_resources.json index 9abc7f44c988f..0c7d3a7e5756e 100644 --- a/data/json/items/chemicals_and_resources.json +++ b/data/json/items/chemicals_and_resources.json @@ -2,7 +2,7 @@ { "id": "anesthetic", "type": "AMMO", - "name": "anesthetic", + "name": { "str": "anesthetic" }, "category": "chems", "description": "A variety of powerful hypnotic, analgesic, and stimulative drugs. It's intended for use in specialized medical equipment, and can't be administered manually. You can reload an anesthesia kit with it.", "weight": "714 mg", diff --git a/data/json/items/ranged/archery.json b/data/json/items/ranged/archery.json index f6814ee5bcefc..d13bf356afe63 100644 --- a/data/json/items/ranged/archery.json +++ b/data/json/items/ranged/archery.json @@ -187,7 +187,7 @@ "type": "AMMO", "id": "arrow_metal", "price": 1200, - "name": "aluminum broadhead arrow", + "name": { "str": "aluminum broadhead arrow" }, "symbol": "=", "color": "green", "looks_like": "arrow_fire_hardened_fletched", @@ -210,7 +210,7 @@ "type": "AMMO", "id": "arrow_metal_bodkin", "price": 1200, - "name": "aluminum field point arrow", + "name": { "str": "aluminum field point arrow" }, "symbol": "=", "color": "green", "looks_like": "arrow_fire_hardened_fletched", @@ -233,7 +233,7 @@ "type": "AMMO", "id": "arrow_metal_target", "price": 1200, - "name": "aluminum small game arrow", + "name": { "str": "aluminum small game arrow" }, "symbol": "=", "color": "green", "looks_like": "arrow_fire_hardened_fletched", diff --git a/data/json/items/ranged/crossbows.json b/data/json/items/ranged/crossbows.json index 8b545871fb78e..fe47b4655e873 100644 --- a/data/json/items/ranged/crossbows.json +++ b/data/json/items/ranged/crossbows.json @@ -159,7 +159,7 @@ "type": "AMMO", "id": "bolt_steel", "price": 1200, - "name": "aluminum broadhead bolt", + "name": { "str": "aluminum broadhead bolt" }, "symbol": "=", "color": "green", "description": "A fletched aluminum crossbow bolt with a bladed tip. Useful for maximising damage to the target. Stands a good chance of remaining intact once fired.", @@ -180,7 +180,7 @@ "type": "AMMO", "id": "bolt_steel_bodkin", "price": 1200, - "name": "aluminum field point bolt", + "name": { "str": "aluminum field point bolt" }, "symbol": "=", "color": "green", "description": "A fletched aluminum crossbow bolt with a pointed tip. Useful for piercing armor. Stands a good chance of remaining intact once fired.", @@ -202,7 +202,7 @@ "type": "AMMO", "id": "bolt_steel_target", "price": 1200, - "name": "aluminum small game bolt", + "name": { "str": "aluminum small game bolt" }, "symbol": "=", "color": "green", "description": "A fletched aluminum crossbow bolt with a blunt tip. Useful for hunting small woodland creatures without splattering them all over the ground. Stands a good chance of remaining intact once fired.", diff --git a/data/json/items/resources/tailoring.json b/data/json/items/resources/tailoring.json index 471530d35d2c0..c95172294e599 100644 --- a/data/json/items/resources/tailoring.json +++ b/data/json/items/resources/tailoring.json @@ -176,7 +176,7 @@ "id": "sheet_kevlar", "type": "AMMO", "category": "spare_parts", - "name": "Kevlar sheet", + "name": { "str": "Kevlar sheet" }, "description": "A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. In this form, unlike rigid plates, it can be stitched.", "weight": "5 g", "volume": "300 ml", @@ -243,7 +243,7 @@ "id": "sheet_nomex", "type": "AMMO", "category": "spare_parts", - "name": "Nomex sheet", + "name": { "str": "Nomex sheet" }, "description": "A sheet of Nomex synthetic fabric, suitable for making heat-resistant clothing.", "weight": "5 g", "volume": "300 ml", @@ -296,7 +296,7 @@ "id": "thread_kevlar", "category": "spare_parts", "price": 5000, - "name": "Kevlar thread", + "name": { "str": "Kevlar thread" }, "symbol": "=", "color": "light_gray", "looks_like": "thread", @@ -314,7 +314,7 @@ "id": "thread_nomex", "category": "spare_parts", "price": 5000, - "name": "Nomex thread", + "name": { "str": "Nomex thread" }, "symbol": "=", "color": "light_gray", "looks_like": "thread", From 2e1aa0a9d37799cc95158b3cac7ec8f7712eccd8 Mon Sep 17 00:00:00 2001 From: curstwist <39442864+curstwist@users.noreply.github.com> Date: Tue, 25 Feb 2020 17:37:18 -0500 Subject: [PATCH 63/71] rename houses for save migration --- .../houses/{house_1.json => house33.json} | 2 +- .../houses/{house_2.json => house34.json} | 2 +- .../houses/{house_3.json => house35.json} | 2 +- .../houses/{house_4.json => house36.json} | 2 +- .../houses/{house_5.json => house37.json} | 2 +- .../houses/{house_6.json => house38.json} | 2 +- .../houses/{house_7.json => house39.json} | 2 +- .../houses/{house_8.json => house40.json} | 2 +- .../houses/{house_9.json => house41.json} | 2 +- .../houses/{house_10.json => house42.json} | 2 +- .../worldgen/overmap_terrain.json | 90 +++++++++++++++++++ .../worldgen/regional_overlay.json | 15 +++- 12 files changed, 114 insertions(+), 11 deletions(-) rename data/mods/Fuji_Structures/worldgen/houses/{house_1.json => house33.json} (99%) rename data/mods/Fuji_Structures/worldgen/houses/{house_2.json => house34.json} (99%) rename data/mods/Fuji_Structures/worldgen/houses/{house_3.json => house35.json} (99%) rename data/mods/Fuji_Structures/worldgen/houses/{house_4.json => house36.json} (99%) rename data/mods/Fuji_Structures/worldgen/houses/{house_5.json => house37.json} (99%) rename data/mods/Fuji_Structures/worldgen/houses/{house_6.json => house38.json} (99%) rename data/mods/Fuji_Structures/worldgen/houses/{house_7.json => house39.json} (99%) rename data/mods/Fuji_Structures/worldgen/houses/{house_8.json => house40.json} (99%) rename data/mods/Fuji_Structures/worldgen/houses/{house_9.json => house41.json} (99%) rename data/mods/Fuji_Structures/worldgen/houses/{house_10.json => house42.json} (99%) diff --git a/data/mods/Fuji_Structures/worldgen/houses/house_1.json b/data/mods/Fuji_Structures/worldgen/houses/house33.json similarity index 99% rename from data/mods/Fuji_Structures/worldgen/houses/house_1.json rename to data/mods/Fuji_Structures/worldgen/houses/house33.json index 627c9d017d689..9293973e645b4 100644 --- a/data/mods/Fuji_Structures/worldgen/houses/house_1.json +++ b/data/mods/Fuji_Structures/worldgen/houses/house33.json @@ -2,7 +2,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": [ "house" ], + "om_terrain": [ "house_33" ], "object": { "fill_ter": "t_floor", "rows": [ diff --git a/data/mods/Fuji_Structures/worldgen/houses/house_2.json b/data/mods/Fuji_Structures/worldgen/houses/house34.json similarity index 99% rename from data/mods/Fuji_Structures/worldgen/houses/house_2.json rename to data/mods/Fuji_Structures/worldgen/houses/house34.json index 3e0e7d0b52de0..627f3173f0ebe 100644 --- a/data/mods/Fuji_Structures/worldgen/houses/house_2.json +++ b/data/mods/Fuji_Structures/worldgen/houses/house34.json @@ -2,7 +2,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": [ "house" ], + "om_terrain": [ "house_34" ], "object": { "fill_ter": "t_floor", "rows": [ diff --git a/data/mods/Fuji_Structures/worldgen/houses/house_3.json b/data/mods/Fuji_Structures/worldgen/houses/house35.json similarity index 99% rename from data/mods/Fuji_Structures/worldgen/houses/house_3.json rename to data/mods/Fuji_Structures/worldgen/houses/house35.json index e24d9dbc518cf..b5fc087f961c9 100644 --- a/data/mods/Fuji_Structures/worldgen/houses/house_3.json +++ b/data/mods/Fuji_Structures/worldgen/houses/house35.json @@ -2,7 +2,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": [ "house" ], + "om_terrain": [ "house_35" ], "object": { "fill_ter": "t_floor", "rows": [ diff --git a/data/mods/Fuji_Structures/worldgen/houses/house_4.json b/data/mods/Fuji_Structures/worldgen/houses/house36.json similarity index 99% rename from data/mods/Fuji_Structures/worldgen/houses/house_4.json rename to data/mods/Fuji_Structures/worldgen/houses/house36.json index dbaa09a287d54..afb588f547583 100644 --- a/data/mods/Fuji_Structures/worldgen/houses/house_4.json +++ b/data/mods/Fuji_Structures/worldgen/houses/house36.json @@ -2,7 +2,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": [ "house" ], + "om_terrain": [ "house_36" ], "object": { "fill_ter": "t_floor", "rows": [ diff --git a/data/mods/Fuji_Structures/worldgen/houses/house_5.json b/data/mods/Fuji_Structures/worldgen/houses/house37.json similarity index 99% rename from data/mods/Fuji_Structures/worldgen/houses/house_5.json rename to data/mods/Fuji_Structures/worldgen/houses/house37.json index 024dc563911f5..b208d1d3f4227 100644 --- a/data/mods/Fuji_Structures/worldgen/houses/house_5.json +++ b/data/mods/Fuji_Structures/worldgen/houses/house37.json @@ -2,7 +2,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": [ "house" ], + "om_terrain": [ "house_37" ], "object": { "fill_ter": "t_floor", "rows": [ diff --git a/data/mods/Fuji_Structures/worldgen/houses/house_6.json b/data/mods/Fuji_Structures/worldgen/houses/house38.json similarity index 99% rename from data/mods/Fuji_Structures/worldgen/houses/house_6.json rename to data/mods/Fuji_Structures/worldgen/houses/house38.json index 3602887fd39cc..f8f6ebd57298e 100644 --- a/data/mods/Fuji_Structures/worldgen/houses/house_6.json +++ b/data/mods/Fuji_Structures/worldgen/houses/house38.json @@ -2,7 +2,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": [ "house" ], + "om_terrain": [ "house_38" ], "object": { "fill_ter": "t_floor", "rows": [ diff --git a/data/mods/Fuji_Structures/worldgen/houses/house_7.json b/data/mods/Fuji_Structures/worldgen/houses/house39.json similarity index 99% rename from data/mods/Fuji_Structures/worldgen/houses/house_7.json rename to data/mods/Fuji_Structures/worldgen/houses/house39.json index f91e0d1e4529f..4fed6ea94e086 100644 --- a/data/mods/Fuji_Structures/worldgen/houses/house_7.json +++ b/data/mods/Fuji_Structures/worldgen/houses/house39.json @@ -2,7 +2,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": [ "house" ], + "om_terrain": [ "house_39" ], "object": { "fill_ter": "t_floor", "rows": [ diff --git a/data/mods/Fuji_Structures/worldgen/houses/house_8.json b/data/mods/Fuji_Structures/worldgen/houses/house40.json similarity index 99% rename from data/mods/Fuji_Structures/worldgen/houses/house_8.json rename to data/mods/Fuji_Structures/worldgen/houses/house40.json index b45b2e564cd3d..a6ab3680ec038 100644 --- a/data/mods/Fuji_Structures/worldgen/houses/house_8.json +++ b/data/mods/Fuji_Structures/worldgen/houses/house40.json @@ -2,7 +2,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": [ "house" ], + "om_terrain": [ "house_40" ], "object": { "fill_ter": "t_floor_waxed", "rows": [ diff --git a/data/mods/Fuji_Structures/worldgen/houses/house_9.json b/data/mods/Fuji_Structures/worldgen/houses/house41.json similarity index 99% rename from data/mods/Fuji_Structures/worldgen/houses/house_9.json rename to data/mods/Fuji_Structures/worldgen/houses/house41.json index ab76ee7f8df67..9dc0f1264f0dc 100644 --- a/data/mods/Fuji_Structures/worldgen/houses/house_9.json +++ b/data/mods/Fuji_Structures/worldgen/houses/house41.json @@ -2,7 +2,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": [ "house" ], + "om_terrain": [ "house_41" ], "object": { "fill_ter": "t_floor", "rows": [ diff --git a/data/mods/Fuji_Structures/worldgen/houses/house_10.json b/data/mods/Fuji_Structures/worldgen/houses/house42.json similarity index 99% rename from data/mods/Fuji_Structures/worldgen/houses/house_10.json rename to data/mods/Fuji_Structures/worldgen/houses/house42.json index fdb2aaa48f72f..a63f86cd4259c 100644 --- a/data/mods/Fuji_Structures/worldgen/houses/house_10.json +++ b/data/mods/Fuji_Structures/worldgen/houses/house42.json @@ -2,7 +2,7 @@ { "type": "mapgen", "method": "json", - "om_terrain": [ "house" ], + "om_terrain": [ "house_42" ], "object": { "fill_ter": "t_floor", "rows": [ diff --git a/data/mods/Fuji_Structures/worldgen/overmap_terrain.json b/data/mods/Fuji_Structures/worldgen/overmap_terrain.json index 0640b73b0c8c7..352be97d12782 100644 --- a/data/mods/Fuji_Structures/worldgen/overmap_terrain.json +++ b/data/mods/Fuji_Structures/worldgen/overmap_terrain.json @@ -416,5 +416,95 @@ "see_cost": 5, "extras": "build", "mondensity": 2 + }, + { + "type": "overmap_terrain", + "id": "house_33", + "copy-from": "generic_city_building", + "name": "house", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_34", + "copy-from": "generic_city_building", + "name": "house", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_35", + "copy-from": "generic_city_building", + "name": "house", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_36", + "copy-from": "generic_city_building", + "name": "house", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_37", + "copy-from": "generic_city_building", + "name": "house", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_38", + "copy-from": "generic_city_building", + "name": "house", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_39", + "copy-from": "generic_city_building", + "name": "house", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_40", + "copy-from": "generic_city_building", + "name": "house", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_41", + "copy-from": "generic_city_building", + "name": "house", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_42", + "copy-from": "generic_city_building", + "name": "house", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] } ] diff --git a/data/mods/Fuji_Structures/worldgen/regional_overlay.json b/data/mods/Fuji_Structures/worldgen/regional_overlay.json index 07127027c7ac6..9a65464403aaa 100644 --- a/data/mods/Fuji_Structures/worldgen/regional_overlay.json +++ b/data/mods/Fuji_Structures/worldgen/regional_overlay.json @@ -3,7 +3,20 @@ "type": "region_overlay", "regions": [ "all" ], "city": { - "houses": { "s_apt": 40, "s_apt_2": 40 }, + "houses": { + "s_apt": 40, + "s_apt_2": 40, + "house_33": 50, + "house_34": 50, + "house_35": 50, + "house_36": 50, + "house_37": 50, + "house_38": 50, + "house_39": 50, + "house_40": 50, + "house_41": 50, + "house_42": 50 + }, "shops": { "s_gunstore": 500, "s_diner": 400, From 6ca16a476855a5b426c7c3fb9ae1257c4bb74043 Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Wed, 26 Feb 2020 00:03:31 +0100 Subject: [PATCH 64/71] Ammo name too object 2 --- data/json/items/ammo.json | 12 ++++++------ data/json/items/ammo/8x40mm.json | 2 +- data/json/items/ammo/shot.json | 6 +++--- data/json/items/ammo/shotcanister.json | 2 +- data/json/items/ammo/shotpaper.json | 4 ++-- data/json/items/handloaded_bullets.json | 6 +++--- data/json/items/ranged/archery.json | 2 +- data/json/items/ranged/crossbows.json | 2 +- data/json/items/ranged/spearguns.json | 2 +- data/json/items/resources/chemicals.json | 2 +- data/json/items/resources/metal.json | 2 +- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/data/json/items/ammo.json b/data/json/items/ammo.json index 7a263337116b4..aa20ddcc38178 100644 --- a/data/json/items/ammo.json +++ b/data/json/items/ammo.json @@ -66,12 +66,12 @@ "id": "money", "price": 1, "//": "= one cent, gives correct prices for cash cards", - "name": "cent", + "name": { "str": "cent" }, "symbol": "=", "color": "light_gray", "description": "IF YOU ARE SEEING THIS IT IS A BUG.", - "flags": "TRADER_AVOID", - "volume": 0, + "flags": [ "TRADER_AVOID" ], + "volume": "0 ml", "ammo_type": "money" }, { @@ -302,7 +302,7 @@ "type": "AMMO", "id": "pebble_clay", "price": 150, - "name": "clay pellet", + "name": { "str": "clay pellet" }, "symbol": "=", "color": "brown", "looks_like": "pebble", @@ -940,7 +940,7 @@ "id": "gasfilter_l", "category": "spare_parts", "price": 2500, - "name": "chemical mask cartridge", + "name": { "str": "chemical mask cartridge" }, "symbol": "=", "color": "light_gray", "description": "Heavy replacement filter cartridge for air filtration masks.", @@ -1085,7 +1085,7 @@ "id": "chain_link", "category": "spare_parts", "price": 150, - "name": "chain link", + "name": { "str": "chain link" }, "symbol": "=", "color": "light_gray", "description": "Small metal rings, suitable for constructing chainmail.", diff --git a/data/json/items/ammo/8x40mm.json b/data/json/items/ammo/8x40mm.json index bb5b9525d119c..a359226befecd 100644 --- a/data/json/items/ammo/8x40mm.json +++ b/data/json/items/ammo/8x40mm.json @@ -3,7 +3,7 @@ "id": "8mm_bootleg", "copy-from": "8mm_jhp", "type": "AMMO", - "name": "bootleg 8x40mm JHP", + "name": { "str": "bootleg 8x40mm JHP" }, "description": "Bootleg duplicates of Rivtech 8x40mm caseless rounds. Being caseless rounds, these cannot be disassembled or reloaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, diff --git a/data/json/items/ammo/shot.json b/data/json/items/ammo/shot.json index c2cf59b99ca72..13fe6391a9bbb 100644 --- a/data/json/items/ammo/shot.json +++ b/data/json/items/ammo/shot.json @@ -3,7 +3,7 @@ "id": "reloaded_shot_bird", "copy-from": "shot_bird", "type": "AMMO", - "name": "birdshot, reloaded", + "name": { "str": "birdshot, reloaded" }, "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -48,7 +48,7 @@ "id": "bp_shot_bird", "copy-from": "shot_bird", "type": "AMMO", - "name": "birdshot, black powder", + "name": { "str": "birdshot, black powder" }, "proportional": { "price": 0.6, "damage": 0.8, "dispersion": 1.2 }, "extend": { "effects": [ "RECYCLED", "MUZZLE_SMOKE", "BLACKPOWDER" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -126,7 +126,7 @@ "id": "shot_bird", "copy-from": "shot_00", "type": "AMMO", - "name": "birdshot", + "name": { "str": "birdshot" }, "description": "Weak shotgun ammunition. Designed for hunting birds and other small game, its applications in combat are very limited.", "price": 100, "price_postapoc": 2400, diff --git a/data/json/items/ammo/shotcanister.json b/data/json/items/ammo/shotcanister.json index d22b9a5b4868a..bad1b08a3a79f 100644 --- a/data/json/items/ammo/shotcanister.json +++ b/data/json/items/ammo/shotcanister.json @@ -72,7 +72,7 @@ "id": "shotcanister_bearing", "price": 1000, "price_postapoc": 1000, - "name": "bearing shotcanister", + "name": { "str": "bearing shotcanister" }, "symbol": "=", "color": "green", "description": "This small paper canister resembling a crude shotshell is filled to the brim with handmade bearings, stabilizing its flight pattern a tiny bit.", diff --git a/data/json/items/ammo/shotpaper.json b/data/json/items/ammo/shotpaper.json index 468187ba0dc89..eba6e91816b27 100644 --- a/data/json/items/ammo/shotpaper.json +++ b/data/json/items/ammo/shotpaper.json @@ -3,7 +3,7 @@ "id": "shot_paper_bird", "copy-from": "shot_paper_00", "type": "AMMO", - "name": "birdshot paper cartridge", + "name": { "str": "birdshot paper cartridge" }, "description": "A paper cartridge containing a premeasured amount of black powder and an equal volume of birdshot. Used mostly for hunting small game or fowl.", "damage": 10, "proportional": { "recoil": 0.6, "loudness": 0.8 }, @@ -22,7 +22,7 @@ "id": "shot_paper_00", "copy-from": "bp_shot_00", "type": "AMMO", - "name": "buckshot paper cartridge", + "name": { "str": "buckshot paper cartridge" }, "description": "A paper cartridge containing a premeasured amount of black powder and an equal volume of 00 buckshot.", "weight": "26 g", "volume": "250 ml", diff --git a/data/json/items/handloaded_bullets.json b/data/json/items/handloaded_bullets.json index 0200356293098..f7dd9225fe276 100644 --- a/data/json/items/handloaded_bullets.json +++ b/data/json/items/handloaded_bullets.json @@ -3,7 +3,7 @@ "type": "AMMO", "id": "blun_slug", "price": 4500, - "name": "blunderbuss slug", + "name": { "str": "blunderbuss slug" }, "symbol": "=", "color": "red", "description": "A prepared blunderbuss shot of a large hunk of metal. Better for distance.", @@ -23,7 +23,7 @@ "type": "AMMO", "id": "blun_shot", "price": 4500, - "name": "blunderbuss shot", + "name": { "str": "blunderbuss shot" }, "symbol": "=", "color": "red", "description": "A prepared blunderbuss shot of marbles, pebbles, bearings, basically whatever is at hand. The homemade pellet spread and number makes up for the shoddy quality.", @@ -41,7 +41,7 @@ "type": "AMMO", "id": "blun_flechette", "price": 4500, - "name": "blunderbuss flechette", + "name": { "str": "blunderbuss flechette" }, "symbol": "=", "color": "red", "description": "A prepared blunderbuss shot of homemade flechette made out of nails. Shreds armor.", diff --git a/data/json/items/ranged/archery.json b/data/json/items/ranged/archery.json index d13bf356afe63..8215cb0b1f546 100644 --- a/data/json/items/ranged/archery.json +++ b/data/json/items/ranged/archery.json @@ -255,7 +255,7 @@ "type": "AMMO", "id": "arrow_cf", "price": 2000, - "name": "carbon fiber hunting arrow", + "name": { "str": "carbon fiber hunting arrow" }, "symbol": "=", "color": "green", "looks_like": "arrow_fire_hardened_fletched", diff --git a/data/json/items/ranged/crossbows.json b/data/json/items/ranged/crossbows.json index fe47b4655e873..6a245568ee70a 100644 --- a/data/json/items/ranged/crossbows.json +++ b/data/json/items/ranged/crossbows.json @@ -223,7 +223,7 @@ "type": "AMMO", "id": "bolt_cf", "price": 2000, - "name": "carbon fiber hunting bolt", + "name": { "str": "carbon fiber hunting bolt" }, "symbol": "=", "color": "green", "looks_like": "bolt_steel", diff --git a/data/json/items/ranged/spearguns.json b/data/json/items/ranged/spearguns.json index ae5021d9d14cf..8ff482c462498 100644 --- a/data/json/items/ranged/spearguns.json +++ b/data/json/items/ranged/spearguns.json @@ -24,7 +24,7 @@ "type": "AMMO", "id": "c_fishspear", "price": 32000, - "name": "carbon fiber fishing spear", + "name": { "str": "carbon fiber fishing spear" }, "symbol": "=", "color": "dark_gray", "description": "An underwater fishing spear made from carbon fiber. It's very light, but doesn't have much range. Stands a bad chance of remaining intact once fired.", diff --git a/data/json/items/resources/chemicals.json b/data/json/items/resources/chemicals.json index d6d7c84b6513e..3a7716e81c52e 100644 --- a/data/json/items/resources/chemicals.json +++ b/data/json/items/resources/chemicals.json @@ -19,7 +19,7 @@ "id": "dye_powder", "type": "AMMO", "category": "chems", - "name": "cloth dye powder", + "name": { "str": "cloth dye powder" }, "description": "This is a powdered colorful cloth dye, which can be used to dye many fabrics if combined with water and some mordant.", "container": "bottle_plastic_small", "weight": "1540 mg", diff --git a/data/json/items/resources/metal.json b/data/json/items/resources/metal.json index aa5ae47f287dc..b4d02cb78e326 100644 --- a/data/json/items/resources/metal.json +++ b/data/json/items/resources/metal.json @@ -231,7 +231,7 @@ "id": "steel_chunk", "type": "AMMO", "category": "spare_parts", - "name": "chunk of steel", + "name": { "str": "chunk of steel" }, "description": "A misshapen chunk of steel. Makes a decent weapon in a pinch, and is also useful for some crafting recipes.", "weight": "250 g", "volume": "250 ml", From ecc6b0459b6eaea5ea3806beeaa498c8f4ff28f9 Mon Sep 17 00:00:00 2001 From: ZhilkinSerg Date: Wed, 26 Feb 2020 00:40:38 +0300 Subject: [PATCH 65/71] Do not use zero constant instead of null pointer --- src/mingw.thread.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mingw.thread.h b/src/mingw.thread.h index 2f368e16a8001..eaf17abcceae7 100644 --- a/src/mingw.thread.h +++ b/src/mingw.thread.h @@ -22,7 +22,7 @@ #include //instead of INVALID_HANDLE_VALUE _beginthreadex returns 0 -#define _STD_THREAD_INVALID_HANDLE 0 +#define _STD_THREAD_INVALID_HANDLE nullptr namespace std { @@ -63,7 +63,7 @@ class thread explicit thread( Function &&f, Args &&... args ) { using Call = decltype( std::bind( f, args... ) ); Call *call = new Call( std::bind( f, args... ) ); - mHandle = reinterpret_cast( _beginthreadex( NULL, 0, threadfunc, + mHandle = reinterpret_cast( _beginthreadex( nullptr, 0, threadfunc, static_cast( call ), 0, reinterpret_cast( & ( mThreadId.mId ) ) ) ); } From 2f232d52525583a7cd5a8186820771be0b146322 Mon Sep 17 00:00:00 2001 From: I-am-Erk <45136638+I-am-Erk@users.noreply.github.com> Date: Tue, 25 Feb 2020 15:17:09 -0800 Subject: [PATCH 66/71] UltiCa updates 25 02 2020 (#38358) --- gfx/UltimateCataclysmDemo/giant.png | Bin 105615 -> 88197 bytes gfx/UltimateCataclysmDemo/incomplete.png | Bin 57135 -> 55476 bytes gfx/UltimateCataclysmDemo/large.png | Bin 101581 -> 103044 bytes gfx/UltimateCataclysmDemo/normal.png | Bin 687344 -> 751450 bytes .../opengameartgiant.png | Bin 0 -> 28023 bytes gfx/UltimateCataclysmDemo/tall.png | Bin 165404 -> 188657 bytes gfx/UltimateCataclysmDemo/tile_config.json | 2 +- gfx/UltimateCataclysmDemo/tileset.txt | 3 ++- 8 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 gfx/UltimateCataclysmDemo/opengameartgiant.png diff --git a/gfx/UltimateCataclysmDemo/giant.png b/gfx/UltimateCataclysmDemo/giant.png index b6620658f772713290ad5af620a45461175745b9..845c4d8a4e3e22a7d961ed4c191abcbb2d65fb8c 100644 GIT binary patch literal 88197 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±Ke^Y4lYB{HEzR==u)qPXM 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

_whuh?ebP1s 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�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%0AY$#;K=(rn3y_T#O}{HFS%22Dn7F>lsEGY+xA>V- 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 y_sjp&RwXDpL-mw^iAn+I%H*aWP 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

OO|WZAOAz5=5#SHSFT4wnRbH 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 z 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

Bp@3B&S|XL6(*uB+*%Kl7nA1uC7! z#1bF~$ir>!*O`2NJ~%9FB=&owzZG?hVeg?@B=(K4rB z`6V)j3DUB}W6$X_lDw&w-h23Yjssl%1hL7jvsU$*2M_8E?q$H@UDX`@MG9NM@;O=& z32K}ksHewyUPtxZ+g?cRr!}~jnvSMo5-w@h+ocjaVbnW}J^*T8`}hFBd7KPt`ITPX zz~x)NB;&(zzxShL{pupkRC@2xr$%b$MeE;D?)(h&Q`FY3cj`HCB&^++>$8qDyA-sz zn-%}~8C*p*6E$B4l|>SRrGbIf*rRn&fZX1MZy^K_q zr_Qi`<&D2cY4i;D>#75qG(<0MT0`Ht>-;&bvDXvw9O$&o>?N;aZEcRz;8}$-_BDdB zsBojMLCXbH6Sh!*yd6{lq96zo1=*^ek!ts-pJZ_-W14VYA%@N3$bMKB$KQfYcz?y( zE1KmG!=9U|-%-2oF6)EcwI3g%xq5txU9_&#-?H#{({HZ-Wg94AZG80k(WW@@fEW+m zJ72wKVWLwHe1M(Yz z4~(*6fHLLP(P%F;C3#$8r%8@*5)(S~dG>7vir9+m77PE9PDqvco383`^U3zIoaZu6 zamll99vw%6xqvsr^d0N3SDOh|ymbWWb_}3p%Bfufnjq*?-%)v9S3uI12F2kDaJaw_ zaK5YYPbQLjXyQdX^btS3cHEEpLr%4v@BkLd?!Hn8)R_Tvt@1cr~%@9&Y*|OL> zH3c~3vma>_=NZ@C1JrGx=ue^y&+2@PGv)4kPI6fDv&TwEFX}gPD&`TZ#w)3`Y3DXj zFARySCj+rRmR3qXyJz8qV7e`Q!>cbd7x^4BmyCH;gOD!e%&3(87F@f3T>muU{d^9=9C=s8)!SO05 ze@6UM$%70ZGi&Sp5s*^cE4Xw~v(>;}Cd2SlI!)SSxb$m`{7G~sv_{4|laP?!>09%P zi$qD+uTGo1;+iG6PlQ^ePH&5@ksgHexPWqh+R9qee*Nf_0EaG2k?`l2{$pyKxGR{* zs!;u<(6OyubrWcJD2AR3dYpjJSvtckil0GyFOT$iw_}9x4Tkac9yH3QP^OfWfyl5d zZ$f&Ucowj64jtnQX%L2#<#KGH6eHqWY6AZ~c}=NbQC|keK0pEzGAWvT)DNg(_;?n{ z&Ar!n`|I`?`-sl;0OKv1*@z3X@2`-D8|~5#+ziQsw!!*_N`lv7n08>Yd7l(ibuFFV zXMqsXXG$gQ>Uu#d^5*^fa>k?3&=33V@Uyefnd)PK^>hYM<~W}HgGM|Rl<-I*B>1u9 z>K|y6-giN}SRy_d(6{%YZ2@SM!C4;+| z#hb%rvADlle3af9x&*cNQqRSwa}!@&7EAY-#sROXt9@WbppYQrmk0Mr%Zc$&m{51& zU-iiHdy-rd*$=>0)8?NQ=v^)+U@HP%^(4>d9QpM2-;I=VM1wfr+s7H#=m0?XSI*L6 z&cTA7^Bn~{SJ$UtG{qWC(A^Sz)46k=_tB5SigfUAM9hQD^P&_a=Ow=r9K;OSgN#V( zgtY^_>bPa%x^C~+K`_41v$DO7wS9|}J4*P@1C2#smjRQp9^pSORM=Uzk{#jaSCru1 z0xGFKRdM14)bod&(x7|e)(Ukzf6~j*XlCkk$x(&lqXKbI@NyjZwYxrbdG zdS_v~@7o*i%cH6xZ>aU}MU#MP{}{8P%4AqKM?@m7qL)FsDF!)f{_^eVSO4XUWD-A5 zmOudXe$~rD8fyShAAwS*a_Srnn7>SS__A#LbS{q9ru2d6=9f6MPi_wu!WHuIugzcq zw`eC0j};kSj-kHy?XlCs)GSs%3p|akjKvMdrS9)R-(o~M>j7FX|7NO67^!TsG?M?M z*6YH#2hF55SYNy8phtBovv-4AR0s!9Z_RAWORTbDXN*bgP#QmJJYFzP?cN;lv|XBq zd$q(Tni!jE;B{Za4bgpfyvIVt#vkK+AaB@tAm(yw6}f=gb_~z1{ zn8a-4viw-kN6kOTe!Lj0wGAtR+I9D&ygyKNtDYsna_TI_`WlTla(!o+{*dABg#prw zA|t1R{bgwGz>_;WxG(h6;bbD(Pzg*!MOdHddV}(XNjH~FV-ql{&&Bg^k)67!3E*LH zBD!oG$0N5m>snIviS>zrHg9dul>LMR8f8&P^!1m>xm=E4fDyRuFRqOgvS)_k?=N@y zusHWR{mgu>{cqO>pVBaUpb93-rjH-jRo->E_S)O??8T`q^E?fMRzJ4h zb1fT>Lm7uY;{@uyPpIP0kP<^}h>54L@Zjy;SuqeQKdANJzw*t5?g1$}Ja>QCBE|aD z-`akb3@E^^)O3#!uz%|<|LWmT7_=)Qc3Eh+r;(LG@Bouae=Y#?SYY#98yB_@cGG}U?-PGNqN}Kl` zrMe6j?Sx2{efaqB&S_y=Ilevv>vCXIzw|bA^)W zNF)d5G;re$L2kmUD|ptkah{~xWz8d9n^4ReF{BPs4}JYS{KgesL>-B0dfymC5y!_v zLM}DHy_T0(HKIIe!s&Kr)t!HYhChU!^83Qjd#%(B?$mhC)0rl&2Mg1@BZpodj)^o| zZweo6o<651i~*Ec^PtBJ%TSj9Dmhf?~ohijaUj)X0j3yRnU1#p#xyB`?6N#S_Ap!SKE9O{| z;}S|!52A%sdR>z18HblQs=jG<#n%}VSwlF_dg|W5FO2;C|M4U~RL)S4LXXx`yt1H;?oMFK-M9=TEh~M+><4J6sv37Jn8jJGLyubJT!{NWh5F z*XLGVneO2Sh4kUjI|GFrkeln?9>0D+(D!QTlmkz{py)Xdks+D%KVesIoVnHkUD`@f z!z_{0Hlc%K?dPa*2g|<4Eh~f_SikcwAox>g%z7SCCW(_#lUpB`0vrl^a*x)RMVe{_ zqvK4e$dnD4q=Q9RIm&qMrKmL-FeB}Ng}%~a{XU@nK15V1@#xnz=$2Tg5B zTp3GF1wy9NlUAF)6s&OF=r-15e%su_!jRq4`iRx8$S(^h%8#Ru;@`)_16L2^8AMo; zDhy53As;`zW@-frY+y6UPVC_#LK7n^;x})kJ4W&4BJqqSwNd&DlqTleW(qu_LSemm zkw4$4atF{5aPH-UgO3u;#Fk%Xr;zDomF^u@jGvOb2QI~5fDY>uhuF8#(pkw+ zI!4BjhK3dBr6br59mFIs?qZcxRHf7bFKEC}Y-nb4?s$lgV$wWEs~K~~H3eOUm|IYJ z^eJVQmwoo9KO6lH>sjzyK&E36Wzs|I6)%jooH2kdf@?nHo%c~?pRmgZCkN9lBfm@Z z-fQf@lX&k(-rMZCyAHcEU@j}y-!@^7OV4Sa2)SL;E8+76Ks|iiaIyOB@uE9+8|&;3 zZ}AX~$O5CCZ>y@l46iR1+EJinBPDT2?=^Y^_?%o1&;u9wEAU@gsUg*jjhC<+Fv4h1 zU&0)H2@f0bmh>-0J?batmX!XHkUS8f~5^L4G^$YE9c}VaDw|$}h{S!2WmOaYS2ludW?DW}qNH!;O=c zHz9#M_=Xwq0RWNIFop(oEotE}5r%heMv3&yh5&uO%#C=YX_hQu5e!-F=r6u+tnNIr&tH z(pBH*xL1v7l$DyEY`ur-oBAp>_z{L*eJKyhLTjBX#_R-vW z#k1zrl-UdROxuP2G*9HexyeK0#cJ0o&J&k1Um}Ke=u@m2_hGesjYu%#5u||{#y)X& zQKQWwC%rm9(r=kQ(F(3iGb5pMxpIn|Xg{doW}w;oNL4;;Eg%t48oag(1=Qwt;gjV^ zf8BH+h8Od4%EE^yOkFf67nGi>hs&!hLXw1=d``{+rVY? z0YfzCp5Yem$cXqI3aoBE_COFc8QSNNQuY-WHjU`wJVwal_g{^_{TetpuCvV^5WW!c zM!W$f9~tFy+eQuLqR0PaVnT9fd3nML{H#H3W!hgZX@99cE1G`^c)dk-z8j1vIxcDj zM!lCIfBt`@y>(a>QTIPObeD*fG)M^2E!`j?Afl9nbV}zCBHbn3QUXd!cXtU$mvlEA z&bi}zzwiD2p8My$&%@y`oHKj&%wButXRYF0dhcr7!V&TJ+wC9?)A?@YO)rjK$^9wiS#I4K zx3ACO&^~V4b|UVFA^aDcPyY)h;6grZmkp%1;qv{xIM0TH**@~&w>U8rgiA@8Rl0!b z@s`T28n~AyY!KTQlzvYvUT}EEP$n(v03x}w#uQTuxU`5PDhVA)3knV_q_?!`8S;U` z6#nImHQv|EigxSho z^>)7nVT%0*wjbQa2A{dMrt;sNFn%iHla^X{o{>t?85k_Jx%I>{PeR}~DRj3W#4;m$ z=gqPP$uHgmK|DDAmp^Z9{`nEk2hxQ7HF4U1Mv3tHgC0+D0&z! zJ7rafgI@9;VvipS*-S#pS(ObCf5V)y_RgMnjK4OB;CDlg9LJLuy%O;%Z9CZ^CK!5_ z5SF+83D#EU?_S37<==~4ui9AM^tnYErxnz`QE&C){*StbLyBv_rBJoS-6M&)c&8(T4vZhF<2zLo^QL=M-p&9c&PoY<7QGQN2wOUJlpQsizlvppUEX ziQFWt__`kd{(>5Ib|w;}D)8trx$I`(yzGmwAfA8Qgq|MhWAe|czfoUn7Tp|25yd!8 zo{x%VQ%+9d$Hu)eR#e|lJ33l20wxyE4AYGxgp?{$|C0OHy+vCJHVVs9D|$vo*}sEhTcN{GrfEcaB%VZUefDcf;kFC| z3%{jRtC4_1Mle5hqvJ;Z21FVrv6LAjtoz#xZ}wM0UZfArKlJgR9&ghi zx2H}$%YyA%13Kk8^nYjW3!td9xDy9d3#Lj$Z1V$GaWx=xj=bMhJ-c*mb8B+@LYwnP z{whHlNhRK^6m(i)zcEGc0Pk~P|7->%UaS^nO#2h=L^o*j8rMQ?>u0<3Bflwwn}>Rb zkNNIzUmQa0lkww1(=WA8xmMxc+>!VMjz&VFN7ntV?-{w-wrWxRhwMhk78n1+I!VU0 z+_F`?naKPa;gn?cZPAC9A(m}s`KECWVT}?GPB*7tBy2A8XzImVyL4Z% zM|uN(zbFl>KkVKlL0+r%nJ6L^Q`l+t3JaFfuq zqj-1qD$!SfA`UkXj}MzC-pnG=J(+xPfK?YQNki@Jr)%@qrt>FXOoDMc8nBg)20 zBF+r(%zc#3u4(hCLi)E9bhk`#`O1&c66!!CJii`H470ul*9RM_F0QYQ=i1^*`oqKY#wL2qYyX zX-c@KM?M@MD;A+CHojG=Uw%i1_?5S#QA+3aChzHEvl^UR49LXuSt^<|e6I>S92DbT zLA6OnL(+Kjjja9OZUs1wX=vG$t)_m9zZ)H*^zUlMKnHt(9MaoNlG|E4uYlrB7^hiZ zNNPCg92UplM=vAe_Vf;`MUaM{cl>zJ<{&k(D6wPwLS&Km_7V^cUkR}`QsP32isB%H z*j$W2bG-ROYy86U*%`)}`ZsbYm$zQ?dguNIe%z%Gh@RqPQh(Ssi1Q~J0NuY-`+30r zielkufr*rvi+*w6nh-`#ee9$tw5s#IFN`}&?)ndlK6DZw`tuf7OtOfjf2Sh9Y;Akd ziZ^+2Z@s`Lh!^6T|5WJ`F8cg)$)|0;wgR1<+9+N_Lw>=vy+(_%$$fK6bfL^^P=jNr zbZs^NVR!N`|EZ?dl7EqZLI!(TF= zT9hiEm-e5CNgGY{r>G8w$nrsri0lvwRJ=;}MLD-O8k@hquJW?SfLLtz3+D+`5F$=6 z%;0ZlZXyppQklSKXO=?Td?$22IGqo?2Wiln?VWp9l*|ay183W@#eBU$ax~Es2FPd!jIA) z*2THDz8+Xq#5^*hycaTZC17tqh*0$K5Q3;t>}V)pA`zMP@`oR>@*A*79x|S4lMyRj zt&B@H>MPvq|Lphe@^|3_W=BuX2sCuHD{A>uho|*8SB(egd8a4=C?>O22!K+}7mGU7 zKC-DutGCvTKRkYK!(F5M{_WF^}!VuWb{B z*%H5N&A*|(UMAaM@yq0X4E3Mx=!Se%XPDWUsNvUb5Ah}=AjCbVS>aOL9;grd*Lk`k zDQBIUd)BHb4Y^7|%co@unxv3h+i3~GBsY`X(W<24TlY%@UG>JR!Ba7+oV14C-)#Yg zp^d4&XWRmx!~fmYnG>}#yJWy4SnpPrMUeBQ(}+pt7I2*DGbRIj3Gz4S`iYc$mwxOv zDP2Mk_Pd+$@$mxB8>(PGgUsNX>6qRNluCRh-`CVtzd?cllK4uLJQ9 z6%OkO`EsV8V4`jZ43^8E%sC^z!TQNxCDn4dvo#^~^GM+7enyNxhxGf!-*uMa#f1~m z%6UFJJ16MSECM}-d7Z1~8}?1@7e3)c{B4H^DVy0s#6~U;%1VwmZ}F%KL(b`ck@S)K zY{=eKr^%FYvJ(x_9Gts_7nx}fer?31tSYR~q&$X#t6UUIp^$1}k^Le`WFfK_ap^bp zdmO6hUBl0(VR4j((K5QIXlBW!I>K>7+4A$E(iRLIEEYtTl~d5r*Zv3Jfx<6eX&%2? zq-VmTx1X@(K&BNt^nXGZYg}qln5$yce|A!IXNX5fM^`msp5J1?dUXJiXnH!OKsp{N zX(4)|A#4Q^gs0zT`|aXP#X$wXX);@{Z)J1h(-Bk1M_+z$1X%ruTUCYuK~^#kwf4%v z4$JmgUp9+tnm*`_zmCAN)t)>D6HFL*r4f6UVahWf!_QeSd4AM(dL>@KT#r1y_&x^m z@V^)BAw0=3NA=i|veGz01f?MZqftn45%rdag#tDx-xgh(G%UsB^9jb=S$REf6qstK zNfr#|OnY!_p(shi-MxfmZQc0X9M~D0oYmtne7&*pu3nm`&DFK?@>&#q0cFu>nlD5= zO$nI!C_L~_BC~GW63>79W(K$6mv~HOwi?{b+OMU`>~L*^=f#S=Fp9PwNXJxB;Xaq?rz;qj?aOj+4;$dlii`~0kDW`+a= z+lUU<#`D5K4b;|&*$A9+QY4l#9^M((Pl7V-y3)s)f|+7$>7&$Wv}-BsXf>e*@o&-AVYm;6tqR>75NZ#5)swt3Fqyox9vMC8&L5_8%7ZQNy3JSO#J$jkveFGYhncFeY1*QJ5sFV z?H{-lO-C@tmzOKBK>xu(Wt7;0FEErF@2<-s^DFn1{L@DFi<7b}FsZQJ3Cd8m+H(N` zH#s1pdbAjfc(j!5O0^P$o%fb$konrrHWbo3#{}LFa5rfgebOhs_c~pHxlP;R6*7zjZRTJCP!IQ6^;3rPSXrI7sN2Xmv_roN&`ZmF>D3R|3G zrBh2u#F7;Xq9h61XDPh_y(*3Ds%=LGAcKb}IkgA!oX4^KjZd^IrC-qI-x0O1s#R32 zdjeV!x-q%J$sPT=n$p%;l=`qsg>|@Ysvk}3m1{!A4&M5U1oFHP|6HMelt@Q;t?|=% z%6;qZi&ym1#q^BiySU%i3>eoG(-Iml5uymV1&aTB<_|9&$7VM+8^1ge7k-}z8?KgzaAIB^HJoAFxh?Gt0Y9u|gr>H;w(rNLK3Hkfql*j-4}iT)zcQ7F zJON1Bm$2C-YBTsBJy)$L$=N3L4CSjgEufd&5yR+S;%6bnHo~#tGyfd|yWa zbB>^5hTm) z?d`2S+GMx+_1?W>b%lfEfn5wgrr*S;zLTU`MobK99z+36KS6nkBOa@>M}iJ3O#CDU zY8B6_cRwd!0s{ly4=ct0v`z@-pGWq5znoN;d|t}iiXZZmzIw*{EP>qFjhks32gz}t z&*QD(S?;g7&yaNlv2t-G&JP`(w13&Z4rHK(OIeo zkHVy&8dZ|WEW!=XZ-0vlFd2U)P`_f|8^Tc$g%Tyu=i(E`fSI5`vR-=20fw zl_@5_q63}M1)96;wvC5sQ7k&Ud8=9^zMs2zE$40&%8RO8{QMNX2MhJwrwj`yZ#G=_eD+Me!} zsBd7R^NhPIE_HENnI($o@qU+;^#cfadZwufY`zFoG0rtX)vf-cieBsz_4nZ38;R@9 zZxiHK7BN-s4)rmVFj!Nm2zW34mOArZb#OH4S z4$6i@UrWk-ZoKfDk5#BsuM{Fed6y4C{zg0O!Yn+YkSb|L{j$OnPPM?gZ=nS5TJFkK zhyoOEO$ff0cXOnvn%DWZdcS@x_YZy-&!fHtMP3*P;Owb=h(jsJ;9)$R`|0rN;mJRs zj=KKP&&o3-A+L+#&GBygm&zSO;2?E<43gKRe4k7pa9vw|6Jv7)03e+3 z1>1{0Tl<|_gV(RE&N{cw6FR>sL@LpJCvBsH%Zm~?I;_`=a4|l7!Z=SiOkO& zR3-+!HVoeDahA>;5<}HEqc^ihj&15EY2BRq$##Sf6ufr_y{9C;*ZFx{h1}mkC58K9 z5mH3hBOD`>Bv%&2yX@Y^T71Jw|P>gR8xjmt;W8Ks_3ZL9*yZzzov4NbL?w-%F%AXB=G| z?e7RAA4;_9>EJwk%zm*o{Bs{O8;29N_i{GnZpv{&nH9}vI=&CQ3XM7&D)hd%=lVB5 z=Ak>IM(4F%#eziIYNS(WUFkqqwqex>dI99@rBg_u;)TWjp% zx8HQk3M4i4>cI-tyHlzarhMK`u7?9Gh<+^Xe0+Tq04SFy0qH$w)A?fMN{4N0JF&!l zd7a;P!l!E-easa-5O(`PVy<0=KsnyNS|ItCXwrJfn>8nh#B0eRDo?U% z-IAqLi?&0|%t4;*?DUDn746-l%rO~jk*^oS_~n__n5!-M4~LWf73sO~wOGGPN>;4Z zlemox@wAC;K8uM7A|>M~1{O~C!?JRy>N%BJ0U?-w6|48oLhU~;Xqq>!Vc?G#%#$`j zaYLvaXVC-xyBG|b5{am%`Sj?f+4-nei3g^9&P>u8G)E$A)IODgHu9L)P?&DR_j}-J zj44a&(u39h@7jN^WZcpnjGA3Um3qqAK+(09m9YAaexZ)!lo7@08RoZ=!tl2DY9+iG zk$c`*6jzJFdQy{6W(||8c@U%&K^@GdK>=Myu?*pF1%N;OT@XWa;pmuh<*{OHot}?H53Q#40`(t)!MTr~memTl=s}zN z`{@@4oM36Win^%e-;$?;s-%rr-ZO+beW^Dz-$elQu2qC68st)hWG6Sp(gheuosm)f zOH}5g+R%4D`ap?AZ`r+)B{I1^A638v=JT=^=g;K$_pP+XS83nNV=x6CQ9tSqU|^mS zeOq|>W9)U;p>xqt0;#O^dK)BZY!Xa%PA;=$XPB6#S{r8kdY@+^0satdOA(5_rBN_A zZC%{ok)L7ucPS)ttpp4^ErT(;;{|2=Gvga9>of0g?-rJ^Cf~SO{fdK{A#1rkmyZ+2 zetppx^E%Rn#pWmNqp|+5{|IH#;CQnT}7=T6UK)SP-u6x+v?L_PAU}gk?V@ z?^kB`*wwEr=HFm!o2`v9s2dFww9j?q@|xD!yTWSEQM{61UZkj@wqIud7wm-)VbObW&< zdeF7&0a4;sR$Y_{dcMY5EM`}3B%px@jMf=gDIz{ZAaX+i-Ru6R^9w?$R>l>uwPl7D zzkokiL5P=Pzbkg(w8HOFR!_u7jD0D@Hf%wL(SJ0env3+9G`)Z5dGhongukiX!qrN8 zOiTLM3Vda#5uc>DN`Vg7VqYIu!N2pOS-IMWSo-XkIgTM-g4G$+9$?^XYzZ_m2cPalegSST_Gw-!^m_3cs;eE1Hf=C}ob|M~a-e7X@}vkYTm z&zXfW{kzluo`d?IM8N;&IM4<#2LAVB9-U}lU;h%1o49+)P2ZgbWE<5Vc% ztYVMpo{gr!{qoug3ll^QvwI^{YO@A0$>x&4iu6^2(eo4gQNSc?G-;2{S#;nxaxLe zcJ|9!2!l;Y|1)R~>6wZR@XIgy(Vc{#AHP7mInQfteQ~fVlQ>dTz8iq7*HOHoRwlhY z)tg&%;}XHkIk(fQ<00m@y96#|Xz@Gd%yQN%>mL|Jn=$Bc6-3uzIH<@{H2nz%KO63U zY)s`3M`EJVLigRJ5FO(ysi$OHVu^oGiDVjFdZUM4bFEG#!HzdM`^=P+Ef{$EOlKr~uWod#Pev4x{N)KGK59Ptk4VI< z3W`=0-*vO&X$p4VLf}u+tn!7rp)eZ(WH7c7BnZ)xFj+gh{W^k279|de@eTseO9B9I z4)q?BBpGTE93W0x-te?vmYE<4xv}UiTuFeUd=)W03zaJjq)F2#8p$h?H?L^&7-OawKgOe>ON31E9^&j*@PlB$J=d!s9Er9Y0U>x zId&rr7ldhLSGj&z>m)wAf%>Oz)~L$85u-eMFW-rNvvtMZWCuM3{H-S{ExvshJ1kf^ zKZ>v2@I%izq0~EEy?VP88W3EU3w(GMA0OY@xg~hISRLaibjbkezK#!*o=-*nlJ`?a zQC8dFxZ-Sac#@nX}@o z)3XdYtk$-H+?E^EXOI2YVI~xm6sgp_nIkaCipuhOVuZgr>d85XXL2-LIWR?U>Msw# zeD!nkd=>v?h7n?VF%K>!nb?%!p6s;so!?US>0Y;A{<+!!C8TfG9oe@ob#30aBXh#o zAl=?xmh5A)pF0|m-R2a@qVMUot6ah?Q} z0?ug+X1lc&_^q}uDYiU8aSmv^ulMnZ)cRWMBLa}$pPhCE=_QXP-0`6D@xTA#^XlKG z%GeQuv%N_kvYq=80D(2Bp@(O$@(>EShoR)*3L}vi0z@l@fAG+DjBJX+XT9UO0#9>- zOksrxcibXGt3t#VAz!|rW4q9}K0UVff7C+*DsoK9g07cx?B%NLp%LTD1kYqlfM3S* z^=7~dVASl}%#BXLJ^S_Flat0SsVrx<_KN)7IxuN=ef#AZ%CEr6%DC`66N){(FL~+z zrnvW&n?Vzug@uLultyr7foAJyupa(V7+B6a)ZTt;87Sf7Bn0>wx84NbN-H7ZfUw1r zD_dqCrxPm8%>RN3gl29@5;NJm7Ko+4d9RZGjd1rW)RJk3kx#_e7LxnV~^bca@mEVL(JgltHZDm$YYxt43yP8r`;@Tj|ourqg@pT;25CQ&8*~~|N zS*T-<7JHrNubi^|L0JI&Tl#EI*(P;e9O>9<`PaQC4}Vjdp3loha%AZsV8!=c}S!P zm{lD2@m z`{%HOO+av+kDs5Ivfw4|$Mgdl7n305Qv$5`kU_~DQiN8KT3%jhmXW=FFHNDezL^CnW{gC5C#mB!V`;u0F-OPmYR86>J z5KrZVE*6hc;AFAMLDRm1iH9#XZ~g3Of-s67)_1Kluu<~F|L@lINuT8fod{bb1X4en zfrA8A*%bJYKX`cnAbW(;etqPnO^gWk%%n!7zIKZPx?Sv0Lh(-v>I#w*M>P<&)%Ho8 zHM*&Lx%x1fcbFOwpO8o4HJ3$B!;E**Eb3VpbMMDVd90_m1u=!;2!gfY5VSvD3LO%5 z-{{w&o?tbug7Ruee`?1;5?{(TE~6^&I=hE+IK`Dfe@un8#n3=_ZhhsaHLTd;(u8Ta z`dmmz3<0N;l5vBJI>UbQ)%53fw0`bZ%g-w{TsUI6iRuXN7kukVUXtZ8nLd5J_{$8l z%BIX=<7iuHpaFaF;pL1A@~(#3Eu^z@yF;SA<7V|s_splo%jd%Br*Ty#x2mAq!kg3V zMlfdS>O)%?MAVA!CafT4^32G#i$f@WF>k8t_jRr;-f>JcHUlJF2b(oVs-e1zKvH}- zMQaM-P{(?OFC@4;ggB*m%^NPGRX>UPE4(e}3(2%182Y_9NaJ_^I|tm(p#yG{p%lBQYiPJRx{1xx01g+=C8MM*-#-GMs0B# zI`cGG9VJBz_o4ER+O@ZcLtSk4b!i~OiCZBnI z8^L{Jjos`N`S$(UfWVC6PpJS+^#{EM$JS|u0LebK)3;Gxucj?A`Kda8Qg?1UJe^9W zTo9>wM~_E<>%hdJQHBi7!{bo-Mf`Y)Enj)+8)U5P|j*=C=L6k2*hX_|IZ9K zM$BrzAcL1*%hI^ey{-OD0%A})D!jcPI1fQfP@b+f`59~bn95#B%v64UfjBlQ{@p+2 zArPMP_cnXv2GeZIup-O{L-YDr%82;G+F81yk`hw8<;7a^h(sRu`D2o8bv)m`kgp2a z9=g2xWj(Nq$0R9Q+WMo=R#8N3fJhoXtY9pc86-<}skYR$Ecm*++k=}MH$HY<3(&@F zvH0^cRXv@%iHXT_y=(K!?RmD}k`uj#V0*j9dYDv{Qjr)@UjFiq^Hi+vb#Sxca9MXnY9F** zT?^GzJ7;(MQNZ0LB!m7`)q@tI?!l_ttXg9YzI(VxzS9_Fe5Xa&VEYRSY1NRgq%-$&o zjy{F4t2qhRFaF|tD43^^lJq6B-t8dnat#i8?UO^ha`-R0W@e2$J0|82<1TdglQ#dP z_CE3$=Z)khq4ySf&5n*eD~@OX@LzI0;iiHjY{R1)Q1PF)!Wo|elh;KCM{3EUxD(UQ zYwT16hrh9SKQaP;vrG_zDg(UDcisB8L2qed+b&NiP30w8YE5Hs9oIFmRdnoV$5n)n z|4pGhYN{qg%Dmqk>1IKcldSchj+ut2R7U}X{C0$LWHEIYD7fz^8eHyFtOK@i8cEy9 zB3OZzFqp#IZ{&62yn4&0X3)yVnu;hMUi-G0Y;{3YDT{(J5@a)?jTs z`gVNp{v6Hqy|({*qK6&kcRr$?-*8VrrP~(xim2DEOc3(sa-9(#q^!mxJ-KNRCb^DY zU(z(J^gNxJ1|GKW{#5j78mdET8pYIe?}L@W;BzJ$mGjszBe8#{ycuh;#+^`*dCFq7 z0lqMh{cI|R>MJG7&nB5kv<9iVGq@bSa%e(cx7%Z($=(Zo{NK|^m{2~W-~S1_zkY=C z?t!??etpT>>UZZHq-_q*K*j&{JBULusX6L#?DxwS@CHTR?=b_H<|ZnGxTKI-rU^OZxt3kzTSSg z_2Cow?z8%$#_hs?;gl%rVFK~-7@XnpFB~A|_Vy&h_c>@$_t>1VGlkFH6p4{}N8g0f zYNG;*1=(%^geH99lIZrEFOg3`b+nu~P&FU@4au9EtA6G@hZrCFKk%NWJS;b!6NaME z_U^B#T;$DyNEHEo03+ImnmX4S2vO9wdeO^|mnV7taN65}HoMqr)aM$Bew390H5EZq zhFh$pg$Yxm zC=tSlOY@>q;Rr+U%>crnEiKAZ$z(cZrpnI2sqshKjEZFNJ*|t-jm#Vo-Rl7c=;s|< zhf2fkOA=S(VE2&Cfht-*?49i#P43FtUdd5p>mtwvHe&3aB*pw>{ zDC&}WvhxA9o`pOLwm6k4j+*m7EF>W6v9T*waP;%PHvNhPSCgM+#UsS4$(LFLUOK9b zUOL}#0u&F&JeePFA1GID6GCG_BTNQ_)d`aqcQ{r7etVrY2>6Tfc<~8(PoFf^KIN== z&^l8O`#xcL>WN8(e<2VcJcSa)UBX05A?0~Zj$%B-A^wdAF*`oF<5j{c3z&KvSe1Kd8IB2B84+vCPeR%D6 z*X**Z*;-ZgD1Q9>#%e;j`Qb|7>#JwkzGv>J`tBI|eQl3S@)&L^?7vxRH66)CxR$dT zb{yaKg-tAQ5uQm1^9OE;sz@`&vPr*gC_+l|##Ca10Mh|ma@{17N+W?=?OpZ9J@KOE zKU{@X-Cn6h0l=%w%s{lE0D^1)I7<~O0C*+!@=in2zF3@Ary(btKSyH91!$wNPwB41 zl+Sc#{>q3`0RU%e(O7LDrg)}ch8hxIxxWbd=YF*}&WSfT`zZS6>Fqe{xskiDW=8Hu z=G`F533Y^K%w@I+U>P7|9Nu+|@Iyvy_Zg;Vl`Oq1rZsWb!Vvv3EwO49)}K=6J#Zd8 zzTj!xaq~%1j-_4nFRPg{cg?PS#`+&$5dbjcQO|b9G5z78N@M6dk8P3JZ847%@Qp;H z&z}&YndnELv9JG-E%8kYy#zC*T1ckE1o*vWbKhv`Uj57gX1}syx9A#){rAO-&GS!6 zeZ;1hbS}bU`AxH5#+@X0emNIUJlNE`-@79-!Q00@5x~i+?{nE>yTuMY_4q}2vdp~( z1HIVtZu7HPr#J~?kUoH~uD&y+Y7|kybfzwq z52Kvr3w?}@R;m5ShVXh_OHl`8UZ0uu3*xu&8|5@e8?$e>^zwHUn>7GtojB+HbXioz;-;>6Fah!wQJ5Dxp_B^+fdFZ+RcAd1y!(LKr{W(l9Y5c~g9- zyX>&t4|>Hae<;r!X&_MJH`~##tTDPPwXf1hhi|{_`SP{|Q%Swyr#*;qYkKXD6&#t5?#FizOidIaTG|`3 zo)=HT7GcsbV;>Hj5eKs%ASlcLc`bL_akkRjbpQGF+Rw+DxW}6M0K*nxENhSLFb*A7 zT#mEo{FotC*sunvzeMQ@ogBcV&}^FVZz3dP%OE0D-P*sliGbW`6V_KkFD#NB|6mh# z;XR7i1V>seq}#mt-GbQsQ31LhOAO4mAQ+8mZ^w)6wq3zU{Lh<43zPV&-jyM+?5+cv z-fIEzH+u{b~Yg z1W1^&U#koj0YL8})adU#;stKGq2f3zf)w{BU_XO9GLQw@Qzdg|M{~Bl{GveJKn!|^ zpdwvSz&kiYVR4~qD3VE1F>NzmMKti9OA&=x?m8l3s*Y^eCPLPPPv{W|LEFz}<^G-m zCpQev4dXi+b4`apd$4?nwBiMclCnVg#GF&{&j;yQ|L4~Cg|Wes>{NYuu}Xs79djQ+ zndLl}XUMvd_65VC3YDYnpOJxI5^=J}CH(KniN6qgr_m-ycO7wb06qhpQ65)&xIf62 zbbmb6t=}N~1QG>tc%wM1Sbjq$T&Lu-6tBITofUrlgE0#WAPt%kr-tHOFLUJ5G3XS0hw{|rD$IZ{daCNDOm(eQ8@uuR7mclRSI@8#bXkT7Db*6&| zR2rh#@S|5B>HSApO!}mLIb@ECXZwaj^0$X@p8KLk47E8rq%PlXoLugQeevfRUwGhx zU|Ie1E19%`Q+!bC2sA8pB^OAs)Y;`X+Vw=v1DeLEz8f6*rje zO%*WlQ6!?g@-cE=a|Gv0)c2qb!N!nkI#G5!CNQV-mU%FnD*&-NDte1i7xm!dj!ki@ z!`zo&Wxdl`VKdvpc6T3rePe2{nbz8Lhgl%Dfdsfv141KBCx=J9+%1SUy`j@i#Wt?P z4ulA>niouEMH)K6hAdo)4}imsQUU9I+3U0LS@3*s_|=@PPR7emAlaWrkw{WG25xbp zu+y;E;8XuwzG%U#cC(#c<`9BVH9=pFMx8xiJj2h}9`QSd;Kb8Yi`&`!S^P}c+})|# z=9a3QrY6tX**E%knW4Vk*XO_w+B1b9bk7{m6^!XHr{)vSVoyYA|JcCa;4ztzdv}Fb zE~pU~IBTDp=Jr!mKsT;42W$SkvWnRdSVR{iS1kn+V9!hrw{}H7K4v@lAp4j*w`YFt zql|^G;1MF9$TMOR37{~DA;8MRNAlF=!v0%GcX@T{n06q32s8}_O}wFw6l#GQXl~K~ zjL#Q~EvNIHH-I{XPRI<-w{tYDgj->&u&)WpLYsBbE~gS8@STGucpQ)G=^0JBv@9wJ zu{X;Z7{90*5^X_f=bm`X$+)vFhnDegS@Q7p0jKAUyd+`D)a0p}0-Q1=JuQjpV+Jl= zUxdX!v*ItQQn452?u=>!?E%yYV@^5v0lHRPey!~bNRo5-<84on0eLu*=3DJ_;H`p70bwo^GXSa(BUm(dWb2+C~RZX&zRPdYmv6%{$;?g<=YR#bPUXy zf)pcj55aQO`kfC2 z&)ulb%H<ZTfDZoX_Qi77{7VJt8T4I51f?=mXm)xde-u!Bh%f`c_Xi?6nr8h z_kd!2I{dERNSyd~$iif>MkqscP1-XE=XB790m>NYMy%$tWv5|CV{}J(-hN+NIrBa? zmILxTfuq{7Ih2#f0gDDNCaql=Mv)W@0FSL*e%K$xokQ!*X^}_zNciZe+W}$^$8vw~ zWb}88Z1z)eT9M_sprF2fn(PsKP{!z?UV9ojCSwONOw2O zQel3*kNMThQY~J+<|XnUy?;xBdgfepOS!o5(`A%BD;{3xYEtB*l~8B9mG6Qjb$ zpzeLB=~;x5s6zY9$l6B}orjO5UcEvh3{j%RPxvtl$*+2;Dbp`qw$h>cbo!ZysFROf zW==P;-gk{{<~$ldB~H;W za|?gF1CCchFMf%a`MzXe4_G~LLe*FB*b&w~pcm}H;(es?gOU0?zMDn&(O8`f1qrf6 z3<|VQI5%JQ;s__i6>pwu+QS`#fe)dllj|$g0~dsA(mS>s(e(Qosrodw>DRSnO&B%JyG=h?qe6^< z1(A<+Ps0OBKcWv9S_^!|+FJ$VV;@q7w6gr!#^^z93+&yInst~S*b0x+mp)TWR zoz7oxt84Wkol5s`W8Nc9KA6iL%U9ffPbRnlr6to#w)^gJJOxxG*EJHC=hNh^=D%hMa-X;2Da&@p_6a_!YIppLAi9 z6R;kx*H*G^(@UwLV~AI%jh#O=khOp8fk9lQ7(7;!VvhkZiZJKE`iXu`<^_nY zSFFCn0An%nhDUjYY5!qlqLOD&k8m9b&inmx4SZab*W+JHP%?qd=bp}Wec<6kiC^#~ zBq8`y)h$;T>aFlRtRpQqqCV1$va$^C{jhr3K4A$oR?0$fXWwH-Kegq`WrG$*l4b2QuL&&^p9{kJ41T z>36x(+38<`zg?5-N>NVwY?6h7sRJ^crB91ZG4kWfR6%b53Jn`R6C7-d;aqw zO2oz9g_f5YzZi)EFX$Q}eF$uT+HpWTMlfoALj(UR4;Hd9lzN_Tr}#AvfHsgwekc}F zBJ55N7JL)YN-*vncA8(h>OVA5yaU$}d|t)OxK7gaC*+kxjuPy5&VSy#UB$8QU*4MYH_< zFkr;I&pI`n2$3hMMU?p@BxL0e3eex5*g3z^4jHR1@Fd$^&Bk)MawI+J@S`V%)tKR>#Wv_i?_;dzEXeR((B#>z{- z>i+AlK5-vpOJ5|~GhRqPRyaXrC;>`BECa&e(uoB%?YwlR~RWXgrZGJBDV z>gql9O$2LtfHUb>z=UN$ZsxD0WKKQ6PDPZ0A}v>k`7EF4wkbNU&%($js(F#UIL|aT zCB3H!U)%HnKGKr<60i4OuZ<5o>Pg>SrMe5tXB71jo^GzD%-o!Y zV;~Vqp|!V=>$v`YhpaNCMt$o*)qchMCFHj;R@& z@S?&lYiJXtcLPb(t;G_|YfR1DCn^DEg6mTr z72kf(!sO7Ex_?ETX8noo@p}+{$?f$@U3>M?DDFxi{Dk&9o6^P~<@k*jL&(0rmZE`y&pJ(980h0LQ2-6! z8a!SLMy@lOII^%ovF=WGM#STH*GfMh@aR`bh8cR621{F#j8<5mffo|Lf?1k-Ux1W% zRK7yay;16I;#ex?1o~}H7(U8ln+bRGhzau}gWun*&!m(SCKaAMJfPehIF|RfiA!d% zJ(8m9cxgZbWN_mxNk=`J|4fdRHM>EM_2iKQ-7Q)up=AD<|64+jqNapcnlYO7ZbDW= zhpRu?AQ4qWlp4_hcqY1u$odjlar$_Vmd zw3)mW?d;je;SG-k=y8GeZz8-$BZ<`y>R;msf85aMW&6I2P7ej7(E zz?*}e)@M2K{1QbaL2}%iwmcdn$#4FM%vOdAW?bX`#RI5*INU+q@B=Wf# zYu2C4KDxAD(n{kDxqeU0Dw~LkfoVT%WK_o>91t~=kB}6&~>6B7wNoheu=}rMD zMd@zou4VVTy#Mo^18xAj1}7sa&erySqmEJ8><|@3yXufKJ$c`cAzMC&n2=vRJ~xUJSUI(*R*5yLDeO2| zPe0xUErIBP?f1CwKmN>ShqkVVs@_{o7hfL&MI^_=lIQDc&m#Ffgx{XcA7u}@vYkUb znmAjvasZ1vwSy~L{+xQ<+f<}dGJP0Wz|x}&`zvgK7RTt`>{PL)b0KqFljf@sv|Hh> zu0>%1%XP=k^patj8-!Yl)jmMXmaK8MWAEGPCj3lIdFQ5zS>B0~;&Bt2)x;w)IYZU) z`2EgTp!Hza zpo^S#SeB`_>)`{3Y3pzk+EW>PLfKXLMTT7b6Ht4qB3ejCS9f>4yal*o-6Lr+#?<&* zk2ZdvbKPAvr;uE|8w%emCX$}p_Q!9b=+Wd_Q+}&(#<+P$iQQ zOnlydvYb!os9;X9b~Z=$@Uz}%`AAOHmhhk{)3{4xz>mwLug-DTDdEMOItHE^5$jOt zF0WdHMz}{T@sy;$AbIsq%m};G4!@-L9&ds4pL6HfPpg-)?KcTei0uWr8S~c>;$v8|>yf z*Qf+qvu3X#C>t*+DIzD3Lc>=Je*J<-$L`gkJUWaI*}O}ye(0Riesh^DKD6Je@}ZUJ zsm+|HZJsv#1h7YmG@OgkCMcR2Nrvbh%vPxizo2KcS0qsDjZ?u+EO&7m;v{35xtILG z#*5wh(Z-91`kuK5^Lo6W?zsplxIZ}AtjoPJ{gZ*y8Z}pzGWamLZd#C1$8h0gJVQ+o zA3riK{{}J10)F4^8{r*Y?CATH<47kOVT$4Vo0TOn=M5GrDK>5y43QD?=F$cla1+NH z*#8PKEiaUW_Cl{)67d=4gl4`Fq=`PLVS1?=_kKF&x3~OXh1Ya9OlxFlph!IVcOp!n z+hmh{plg8uQjeJ7{3~LURax$QO;EXn!r`fxZvF2YRk zLE@>rrmxFsW-4z=ZoA~B18;k9yr>bjQ7KvG)Ie>OmuU6-jBex>=a#H;?xNHulIjo9 zpX4a-Xm>u*V0EjnkstR>Z<2gyZuZAHp?7hfO7vjnT4oi0mq#6z;?ahd}EizYB@^-Ju`R+azPtt(Rl6I87@`u zdJfvRC{KL(Wpmo{?<~T~{gB%0?A%A6x)7lPSXIsgYR9r_!nygD;`*~3P^+QI6-=lwWL6;=(KD%q99VAa3 zT3_ksF7-NqBH{e0r9>UL;!Vbw*>Vs(lVMf4`+2j?McDu1wE`@9FXjWaywlH!l{KNq zSVqn~lw_5{#~wCI-SW1JsO?w6o~~^AFZ)pbLx@D2;qnb7KZ0Vn1$|VP%|0uQQZ}z} zxu-8})$nt7_FE9Gk5H}oqhzY5bIjr9f|`0Cghn1oCy&OCA8f27{n%xAETu;Kg2n~- z^pDc@zkGlJ-3BiLYytjSwVth;zWU{bxj1+~MaCMHZ1(s+RF;c?*@J3*97s&Q69$sj z44xw@M5J>ZI1MZKdL2mjm&mvi+7>+8m+Rih8))MB*A&xW%6)mQ$E-5U_FNQ+$O5?M-ey8$X0&vV_7NhCFM}LmRH2G59?llTyS> zo2loA+Ry_xAi}vWj*Unx2d>Ed?@x!sMWq{zXgRSf@}C%sd)8S9)4v29uh=3DIeQzB zDPE-2LqV_f@=D8-)kCJVFGZed%O!${qGS$9S;ylHC2^9MGzU6fTg~Q68q2*tc;R#6 z_Lr*k{h~dqBhyP$lz8l!5sgxeDEaqG8Gm*alBYU7Ws#yk(|A=qO6aS&AEQVbcdmH6 zpNlZ-4zt6h+P}OaO&2M?3#F*AUlE5B3f2%ln-SdducBxmzIcqKnx{J9m3Wg!$>?+V zgctSYUyq!UIzou=D4CqA2Lv@QoT$aw_44o*wH+YAU&T?E9MNj6u*LVO{-@>O?xqgP zdy!QB_Hi*IONuhOC2YpHH8Q8z%1lX}$KbSf&URRUP>C1UoDuTR|~BChnlA(FwkFexA+VNAGrin>3j`Yh512qjvb7_ER|JMJ}u)fxy5=fb10s zN;N+~q@f^?I?)61*RP9f1fY#c^W z!0-U>EhH(j*li;mI5SqYfQ6tdaMC~XMZ>>YI1w`tneoEuhY+KmfT={lKdfvLf=olK zQh#K;JH@&PTr~dY?e$B9lI6-!p2tNzXtS##NrR_HdrI2ZX2rt&Ek`no6)tBzzTE)y z;!lSW&?huCYf@?%5OHGN&v;HYBBIwT#k6a)A2id0|Vz{T%XnIykG;JLbCAd+3xoc?m`Zi~eL zLMcinmEnLe9ARx}!Vk5a_owek2r0+CkJ((JXE*=#F4^R{-esBU@IMm3asmA; zI^g1H1Nn}xcWdEw+Q^@RU@s(Hpze8dM5*c1I?ewTK>={z9q@u|^tgrQpcTWO9z~_aQazo3XmiMm%9sM(oW%)m` z$YvHxy$FLFGg9(M)|@n&M@8Uc1ZySjh{&w2tic#>E=j{clo41IUFLr8s=K@Ue8EpX z+kZX37JH|J^*^Za$VW5mSVW|)+R5!rxcwLB(+i5(>ZP_pO5KHU%YWrw5sCDy70F!2 zauZSr4TlY5!eQ4x6^HClE-2vBsMp+mH%%}hQ9>Mz`(5Fs(;c`%9g9%vtyyPH+ppq@Df&E%Rd}4!Hh6A1W+# zC&s2a1leN&XyU_ zOWDxnVhVq*uB>;f#d0e~#;w1eV8X1S7^lq>__}d)-&n0;3QcKWUaeKvrI0GEHB~vW zNWPSbs+mQ7@ZH>YzRizkAOdl!sN``bA7GL{$aro|0eIhe4y>b7k}pWO3M^;MqX(%d z{qxNko^7i2gyLN+9eH zWewF1 zS^f_?`{~R;h;@Kp03_eSE3i{+g8IM9OWbi&>O@$kyI4%AHU>V1YYycAk(*sk&yRIB zhD(|Y5Y+|sP0;a^rIX!Ay+<@K;_*c2U~-OcA2;Hz1}r@@rx^H$FoKr0FlyQSN>7cy zy|!PT8yDWOeCH0LhjK~a42(5v@Kkk9$PFlC?j8oX3EA! z6pyR-Bz$qi$*egDjrH1U@;5y@(41~hR$MG%RqBGwQOCPcdz(FQObaS@iHfXpyv9>8 zLr*LbPI~ZTATwt9303FP(EOObd`$A=OMT?IK02Du$SCI?nXBffD2=7!RYzm2?7sn% z7yb6)K2D1RfGe?8vpl2UBfz}6x_V)8V!vs4?B{Zya3Pk`p6thz zQ`1V21IgEE+<8$cl|)h8!ke=l))u&WCXL}Y&}Y!;w0!a{Pl;d5EF(}+7-oqyvzzaCrYl4bj_CJO=juwu%U zXlkxVRXy)x!qK+#Xxj?+$SmME<2^;T z);;!sa=amGCZ$IXiU+@b=;~kA$o-{+E9P0?CxU3;oH&>0x_OqnLbtVl{opUh!*9$Z zDtVPl2DX=fq<3>E1|C;hN2|v%Omp_#;mDM#?Tw}5LaE^8g@eABliwS3d8{7{NZLqG zWGZ~ocbZ=e@c;J>x`lI+4+GY5UnNS0$l5AkQU$n3K|*iRHa+=W}LqZdEPX$bct$aUs9AluRsyN~X4k?SJgM z%c>9CZsW9^oNaegpDDDY9!ouUk8V=VO!>syDA|*#YI7?HH%}=lO z31-{RA}?0THw~IJVuE>r0q)sc9|B_8Y*D1c&>F2OFTm7GVj}#2c__(S>C_{_IinOY zJ1OfG(Whb>g~9bm#k|ad^>ciZh)j!wAXlx{6vf!ciYWICoM&9HsZM zvh!=cS#;nfiSvi}a|7ZahIB*|7&?4)XYc@TFfudR_M8|tXIHz1PVuBlEVw>83ZK!) z8I0Z6p6zy3U@b~OqKzgkpM4$p@s?OMT(%WjJQK51K)mV!$}2Wh_K8*3 zFxw`Yl;*C`#g@x09;spG!C44KCEbXy z$Asy?o14l&gb>oX8A(8*0sc#A4Z1oV*iSWAC*c}1V=!4ol^ zrsc_x8D&BD=!o(Xkj6ITyLudIP@myfwDi#MVfY z5eSQa5lY4Hl#B1HEV^RX&p6f2II)lg1`!}|FzI#$ODhA#haPlMTrOV}r4p4~v6nq}Y=>k}tWi zMjrO$2agYW;`Fq~^iT~9It`Y*j0kCW(dAcM&49pYycB@4yRy}bI4KVdu!*=agYw(f zJx_8xe@Uxh;@u$Z`E}d7amKFeO})m5ZmQ84rh9DeC%1z$QU|>103*o)Eyb?prpxnl z!qpu0QdKi=2`8PQR**z&tQT}RODRC&>BLgA&2i@W!tY$=SX`KB>ed`GunJ4U?lv66Cpiyr^&yF2Iac+dZkVyN+?fh{9T=plf7gUl$NN{d>xQAaaZ zare0d`^vo~Iy3X&?vq>Y@?FyGRs0_ED`OZWmU!PG#w>+}mzq8buoD6l2!Kg2%8Q_Y zTWm24d^EfBw~h+qL+9-sYe+VL)dnxAtL;NVICdT~j+;^;XRi{4%Z`>Mk+e2zmVyuJ zK#J*XO2#ns$NLiTlcIoq7`c6I)p>Ms@fJV0SF-3)An7f=WD;dEa?c#vdHwaPwcAY0 zDmM?yjkGRWD6(t~?^!c^1FW3Xyvt&Am7We!!s7e1-(HC2Q_&&SBg7d}V;xLt3WEfs zW&e-W@UZ?aH%cW!Zc1w1Oa2`!lG!wyBO6K;X_QI}(7RQ1SIyaDLq7tbbyn+?ji%4t z`gVP|6{8u~MurLTf%DzbBMw`()MQ}}ggD)szs`8~8S)>`iCrIOCIc?1@0?n#N4x`D zB~26p6*32ZES>A^Zs}cA65v+(+8%qrVW(3aqV)P|_K?~v&InI^D-%C4i z2CiW50e*#&$!q>Pw>^0O-$!G)5`yl{ff>$=U7q>TP2XC-_fZt(r63zWgzgRRAfP*D z#X_Y|Z(oJNVqfdRvfb>fGQtmaSo${gT_6|qFYJuJR`jBuo-FjU#C9I1~78->56u%B=C$cj9D&R>l>6oXoO!+Zc#$KLrQCmmn%}?ypR;F-u93!ybt%?KJZ@oR10;RTR{A;^EU)qu|oIi zIWGQft$#aUD$VvlQMliFG27O`Gci7U;814|`kTgy7dY_|Ke2BAoBS#5Sc3tr)ySYX z9Ekx5g6_S$yHHMZr&MvQSCSDkQ0UD{e{$7&3%30DMH>$kc0(F zHhF?6CoW$X8L~D&#;ROPce=#c{+=&<1XgEYB-Z$Yh)-4#AYDl4{MCRi6&jwJeKQmO zcELdPCeB3!slk+9)TUbDiqb-5=e>rO84XmYb6-Y#cvz_I$^fBv!vI0};i5WMvk)g2 z7bfcn3>okTU-vay+S=V9Ng<$5FmDGE`w)WCtNwifKY#+OzR%Qiv1PKD`7I%mHczhpL z>k^1YY5elD|F}n7Tkqr0R;@Ebq`7yD6nIaXH(oYX&+{!VM?`X~mmq&*h|Am23h3#b zxzt&ljSLmE&AvQ^`PK{Hg)51=28APQM$Wn3Yi_D**Xh4&coH$jfk@cff4CvncyelX zJ-bnRwV`ug!gC=^v)!z+MO9aZwBX z*r3@51c3F{S7l&k1q`Q1s6TKD;>8h%@!v)U$%==-cm`i{P_#TTuL#L_6BQ|W&p&PM zS<gEk)+1|q900L`VVN5GAu?gZHa39>cl(hW5m-UR$cn8VmwqukGx}y7 z{wDo_#_72fha?vsT`J9vfM^Jw!9CZK(9LP-`J@w!_=qN$iHME!re9AP$$5)2JAKRT z@NVZp>sM}g-*(BgTcD%f9OnS$kK?H#3w4RYGh6(;fHv@ z!$d&*H-q#kFl?Nb-0)g>yf~g?2fIfBkjJx*OeATUym{}k;5=sacsEh_skUg#69+a*vSm2CR2Sq0uua?B zNP31xYISu6tn^4IRsstj6WfN4qi;VYU`B zS@#2u27R>!*5fuvfHNzd3X_@q8Bc($Q(-mde>%AL`th)9liXc$bjQ4#D;T@+J{*b_uMg;yt}jsle~F zI9PA7{%>a`ux$f+GyG?!f1+Xg=gb00Zzn#mt4ZTIIo*u=8?Cau%$-ur&G^zQLzMUD zR8W)#yXi_n_x!oUg1vYOPJ(A}Zy4ws;G)fc``&=ZQ;vQgL$>fN>??nA<}jqzXx<95Ko3r2xdc>xJlQo%$51NN97m(d86#-jTk7p;3>fU zny8`psE39$-D>cG*|_X7dSHdhh1X8^-GW-x2L=~u*IcuH#2X7H6gb~2_44KKl|b}n zyJ$$_wjJ+wRGdWFU*S!jTMK~IlvGlDWJkP8U^<*&2A)k>b-lvW*t(LE-v(-(>{6bh z=>-yT#;83>$m;if#uQNr_n%vHp-PA7PzmUobZqv`fQZCZ1a)w0F=C3>6(O*FahAWM z$VpDucuz>XGgzL@YDtJY$8KsTxxxB2 zm0ACR5K(rDIj?e}0hN)Jj8rLk3L8W&pW&;NvMcH8W|q)6zG2vSk|gOnO9i@wp73Lo zI^ZTIk0m=x+rMnGlEr)o%qPaXv)FVx*jk{gnE)gMtjdt&2(IkU|H?7OPc!WQ9_;1g z4PUXiNGD{L*uBI=sJ!6+$;2C*jFA+9d`xR}j}@OdcpEN8$) zDOc^%P{S8~4_K5tOv@XXUF=Is5;~oYbu`sWn4Md)m3M}M4Ue5z%$;cZ#v1(Ck;kzQ z1;IQNzzjS{xlH0C=D&{0G0W z<3&*0BBgqt%L6C&b?MW_)eUEk1J_;M!7AsKc^F8y9k+3jsbWsFI-Dxxh3q>7GP-2N zteZRQq8x%6#K02;3Dp&h3=VGl+y5ydE!2NQCYk8jbo$k!>WS)AB{|yWovQji<^cE* zDwXxYk_@It7s?~>1sHKlcazz=jszs(sd`}-Ti(piU)K4vxj-cPjuCEEk+b9Yi4hy(b!^;cP%G>`ZX5{!k5sQiU(*$|_f&;MjC$B8 z;`Be_ychbG`9(>$O z_PaQ~1BgkS+eBf(Gnd4`^B4st6c!902%~a$ZP}@)UdoLi18rmUNJLQD*P_d=)4$eD z9-sKklGP%wy#*8By31t2d7m=>>l2fWT*o&AcK?qazO}GvbWdqyx6yz=``q|AJ4T}e z0%B!`x#!njx$$(2PDMWZc*Upp@kRGvI3SGSx0uVplS2s;3MJr42n(}gIoKt!CR2LI z(7NrxAuj&z_jC6QPPvqZhf}_v_J;ObiedI)l5Dh`Rb}==Nn){Ek55gbD@kyJBLK*>f6}A=wSEcpF~Ov&2Ax{{HY5-VHXX#t%Ch zhF^T>6>s}X!u1PZh7h!lROl;Zb!exnaNNVhWDLQI0Sz4E{xgV*PC}Q4w#!xUs`d`L zsb6|Sx$TX&zELr<$&2!VV%h%Kj3@TskfM`ZtCQTriBXb}SN@ve3o;Fg7p8kC4;uzd zit0s_cwWwbF^eZxXP^Dsj0nNi?<^0N5qRUg+)`RjbN3)pR>f_Y2$ziM3}h2vVa(&l zc~X??)sik0U=u<4i*z?DN4)|!_Nifdh0dpTvT&&j6U3Z-vd$-!(B@!u1KG=&h#TZp ze)iVvw_K(!11(=O{O zg9Cl^x^&B*4^X};MCAbtl~jlbj&*za1G^_K(7dQ@_MhrV=*zPf_gGVr{7dJ|-bXP` zejc^PXYyO_`Rqg$ijO<+WR!9@KhE7%^3qZuAx-3r>CU>nRFFjh%b%}{KBiOs>$vq* zBr)r?Dr4fuSGF?@J*;Bt%5yeP<%ep})ikNM*Gy%_A>NdNp#abe$CSOnnoj?EbMMpLR85jT0;D$@a4nTETR42quD|x1L;n)Fk!Am zSTqB??DZ=^U+8haNzb?@F;qVNuAr9#+{TC3ZsTJ>=52o&YB9lsWHxcL(1RDPSq!-= zvs{^Iv1ij>8#Sf3WloZuB07pY=owK#$nd^*unjlHS#ULe20;3jADFEraMmyWqMoj0 z4-w%44Z>xj`1#JUovd;Hefw1D*-h<{Qx}y*JvP#ML9Z){kG3FjQz6u#>j-xRu$>XI zzajXJg=_5f#a2!E?swX0&}e&o5~bydlgO^D6q`47%SvAsd+C{qAmzE{#_qyQrso|~ z!(JtHv4v?9^`6@@o%jketL(E-<&~7UIEgkcX?xb0(ScA%|0M1mFX5Z)(#FcYEnk|I z-_FzD|2^9O1N|l&vHL1$W&rpaz3a>%9Kv%j0e(G@-lCxny=}H1Tlbsn=n4<3vT=rh zo58yB9-nG@^>K;Q{3-MnuCApRJhY5Rgg+%>{fN;ZY@V@D;D!%7x^!!1`hSa)YNJT} zs_&@HVM3!!>VB(4<1+dx#qUPg<1^+;kcC1FdF=lwmRC+v+!5T?bNd=urwX_IlwQ-c z-ek|KU+Q-Dj4D4-5U{x|lZVLSIn2b;8+TD`Ba_Y5@R0NzS4 z+2mqQ2ja80kD_jo-JQo^LlU=L;t;aMi0iU)>Z}^+He2ZD<^X3-qyK^f6QrIrD`J4UB^G1C&4hH7;i*vQ8obZ)2PgS$U5LEW3X?giI0N`?2IrXuz%&BUj4s zIP*fxVV3^>K~ynRz<&75@%GRGqetd{{@CjYnUeTf8Rq`O9}-%;Sa`iKx{pSZo!z)A zxBRB%c*HTupyou{1M@(32O^=BRo_9OI5n;~AfGI-jBnghTh&KmW5K57B+8v$!!jF< zVE)o8s;%-Vb6?7!tS|Ax20A4UI1x2a8_oKM`M7vY2z_*qAEgA@rTDFEuT+G3Fx{4mpWYd0)A+jhzF z4H8qyamH1$qWT}i(2uJy#aR#9bnmK(7%#}WQmTF2o80bhYyDkNm7m&nVh1+9lT+Xq zrT4$mlV)5F+e+$qqS-;YF9+TCJhtVo--p#-QaBy^?c}gb_d1{XJ&GL0CS_y{(c9i9 zKid}8#ie!pj26V=$MBmiP}NakFDcy=2E(Tu=a4JzwLwS&b-F!6l2;jL+;cU1@;=cK z!!nnKFX=1)jtU;WG#482m*+s|@Sj@6XKzq(jU5$%7f6^Rm2|RE{rT%Z2{M?l4c|}* z1k83(oLo^Ko@F2P`y{lfusbA(@&R}7td;BIeb>X96@rAEr~?OtIveNwJ0z}Y)(^3P zwY4Wzr#xX=Wh3WnaDv$edY zukseT4FQ;F7Ir2a`vcGPgFz-~Q+ekF|o2WIF$-#?pHo{H(eVDL)Mu}71=A8A=wYhpzaend+@Sfm8)jlqx|ag!ZCI+rbv^$BReS^W zMLXewzDwu`+;-U|5v~vIkuTRp6GjWE1k@!=4;o_dWRTXgt-G;GVRcpOX2nI$oxE2O zOs@LT5|0c%m>iOPk39I}8RcNDRJ9`ayp)(|ZQ6~-bTx?95W#x$<8sk4t=3Kcq~4gv z$s&6<65SaaSdk06yYTyIiOT{Ts7R*1iBk^wW-*;cp>?c=@f1xP?r7V3X$4d>sB^L4 zU83S9sDuySw+Yl&95teVBhPkj_UZ-dR2L;rdvv8@64+ta2HS*%m6sPWMJ{xYT(8g^tCy zf$=mPWpo4(`Rs3|TuyG8AkPH1ey1oztL2ORbV1^Hv?AU|Bsvk803W+3Y}{D>bH+i6 zXqAQ2Z+hk6xfJKK;H^{BR?fNpy5V~E^$0IIjxPaDSDjQCbo)y9;X$9MJx&8;Wb0qqXsw5D2xxo;y2sQ1#ob( zEL%1f7e=%8r17-@tJ^s56ChCmCu2{Z=*KT9=3BWg#TH9@f1P+XyXCNvO}ys?d*e-F ze-DW1R>+W>hyj+9O2@IB9AjBKwZOiThs!H=IXOAE=P$1Y#UL&I5WT|S@|meM-+!sX zI+@VU&ChR*N-63}ztnMH{DZRXMF=_xb9LJR78HFP34(<-mYVmy_9&ym+q90J1TkNF zh3~zK@AmS~aY8E^ZV-@F~R-oqfYQ1Ima*^;&2iGgA9IbgFQld(fBXx(X z>ToWsuZY$XfrvV8w8gG#yk(SbmAZ&yt3H0xB?T;Q!s!EGQj8;rj0zeIRm(x6Ydm+X z4Kq)h(Sn9Jv~R3wccd{M8w$?~JxHSc92t8j?JkAquho2R35S}Of?&IF-AO0vnVpn^ z!bk`Cmp0^yJR(k2aojI+MaU}*DRzrkd0AsRUItpz(&Erkj-A^MG?=;tBXCmQ%&mEQ z*;&kfU-f@>!}0I#B}(v?`#R%Idgkq%yuj}A^!f20_TuUMuDV%01DXC6!q0V>qS885 zu(CdG(Z4WCqDx5N_rik_^9wCBlefyIv;3}pEI7NYr_fSn8}cW>69lpM_#&}1N@wu? zN7J>Fm7ykXf6t2?NsPn6u96Nq=1;c?X(*f|RXRG&JXfa&e(xF1#l}O6}ju z!>t-dB52?L(q-}26k^Vme+!T37z(?IqL?PDWR~M*=HBCN1Qo+nHLN=1Sj)Ftwn<{O z;^MZ)f)(!KrTUn?QS|pKg<9F_GW|Vfmx3Ln*k}b`TK1yup;$9-L|Aj&ddr0+KTG8J zoI(21eNCRY=+p(rB1v`I=6o<~T3!>6j$v`WKuB}-@9v40ne6yf-OP{*dB!WU`GEmT z>sK)k$$6LehqrIR+lj*27zW0Z^GKBH!Tj>P#&#I4<)omcd-LpsdRYCIAdSCPx8g7r zfq`o|MjV%Z;NT?jS`?5R4Lv_MZZqem2MLq>sqeyi0@Z(8K-2|J$+{(pR zdRo;Ao6OHM+ zBcv5I&&34X;5soQ8Fpc}d*8%mKb{tj<%m_=6lmPQLX_Oek+x*_k-*k4 zAmhR7mkn;OO^W-DQjM5mWcE#~UT63*L4%tEcr1S+|7sZiD1Au^Ynsfs%l5gyul1`F zH&6@Q`RngGs1z7pHitQXqpe|Lm1OS)ThYLNz`WoVn=QO^n$HHHIy7-un5y>tn#tG}GMn?eM72yH5x; ziQ(WWri^RBO4Zj2{)&!MBYQK!E*y=L{*0t05eR=Q!5Fd1Cv zZ#T8|WEo7$DDzb9N6JXi=P%if=E%Z-jGJ4+tB-Z|M6P6Nrq52F6wx%J8Ka1)Tu1_H zSql0ztp7CHHyRq?K6SwptTA&b(`r&ywIR@D`^59_HnW6boBgmy&}PoIh@OH|+18TsUVmXlZ3}pFCiWV%3-H zYh;B3%g5ore;;!*OR? zJb40!&emvn&e6z$=grl|ei|{+gzn=*jSy^HZobY()aooXzkJQroMdV#+v}ahY*f zr%7FSN-=^|J%Vzm#cyKCOjp+~#WA{yhg;YE?2Q{afe$8$B2s0&?^ycvR@sy3s{DXJ zT5^Lt=f1~vuX6h1kP}s*KU%gF&fy7gWd_U)eLX{L9zh-ds{3Q$WZd7$RRPf5&)Bf< zX3@9Lb=_g{B6%YLS2%tBH}jXe<5sZp9dd5Efw{RyPgAYZcSlEx20e$vmI9(fR>SW_fZrDrOyk(r<(_@F})IZaE!#Zy4awb=9 zr})TBg+PUr@Ap;x^o%pSxYSq59ExRT{$0xJ#pQhXrF^w3D(l0*V#BvX%7P>X-3_ZV zv5(qWT=~4Jq{XzMKlb#Jk+@s$xm3&<--mcc9~hjW+<47DupJeUD+z5#@;w5r8WWRb zXAy^-#iNRH^!`m5r~P-7%CVIOybUql-nIRa(?tQynw@lgM;Zv%8wW6{!`mE2j}M&6IYoN2MdURtEGPLH83lewaZOpRdmA|clzn) z7PoH?wMIhPrpLMQAxJHlCB8bHVajFAUZQ0;EOK|@CGzP{MgXJj7EltUhzK0?FRHuQ zBSlu?X$$5ZneSnDG5T1r%WYBPzm)V(^_gzMCl#ZzlUQF5>o^}WYV4`byg`KQ+Fs5w zuSt1PoP2quZX)>Q{Y^WsB&@_;{j7^y(2rOcs`W={-#6Z{kgG+(#3 zXNb$bf4{Lhx%lF4bgAJMcH`kCu>@c7LxD%4xQ}MX`3H{TV3sVKtQqG-gR#j?Ir6~9aIB&=o1c6kS_BM{GkX4&2-VQDAI&L1wnclYNyF7!!; z5sj2#vGg~=fOyNL*fef^fTquS!b9JXBjiS)&7=QV@zGg+&Va<^fEYhc`4JP;`htQ-F6;+F6_AQziOh2 z^CN2zlAX2OgQO{`OOZrWq2aSbCzK*wm6p6aX5Vi0yr_G*m(S0&Qq@b7)lUQJ z9EZKQF`(9|Fl}b&<6HezGlmEEd99At<>R-H{+S5pF+<|?vGRXgZsw#ner#|%gKqj4 zjo4?WPP)e&2hR|HBLAd~m>CP@38O(8cxET>;RSvP49xOXQVyXURtyBIX89wpnMg7_#e50}=^ zHD4a>ZBp9ICzITMCD*l%**e5*Cg5*(B7odcfuK}|ItC#`@*W0c@7VD6M{W5q33cLd zc15_D0Ao(pC#b1wo2VtzsU=xY;&;Q!sJocnpS1m|S~c+rr^U>NHBWnR81+Ripf8*I zR2J_sI|YzI4Ic3pu#`2f-~u)T4?k&$?8LVy-xJ`>Su_vr@16L*{)|t_+12+dqsb;C z(opk@nQujTOL;GWMG{qXA$Q*AZJD>09xQJ1Ax9giHE`Ugr!BJwM=~FMk49wcuWp@p zWO=%snDqXUS7zvSo(qV7*4?6mg;zVIwboq=PZ{)zk+JfNQj75*E~7ADThUs-tjP&NF{lYCp!?GGmXz{BJdQ3mq4(OMtE+bA&E`?XMm&p0 zsTjD3H>^m~=5Tl1F!rsSISi#&iPXM|s z|9>yRv6+cBV?UfPT=v<&1nxUs$$ry0(Ue7p2A4ys(Qj9f`?O~fAE(innQ43gw{dT#DHC7cPvieo!FESa=%#V?hmaa=&vVjSN0 z?ZY3&?3g^mm1{T_vu@3HRPoc!@9}UV;;2wq8y*(HaZmYTru`SKLF9VGw)%p1+kQL9ir$`RI z`tNjS+<+u}dPEC8oM`B8U%fq=*Fr!?>met0@!u?V7GaS4Ng}#or~{$oUH2GLW6S>9 zI}$HKADcL0`M6vYY#`0f&Yo?+OUft^081tdB`>y(u#LOtF%2A37v;7O|NTpaK^j_}2F8A+g3MeCIHAH4_d5ueV3xtl=xBExQas+J ztQ?jVUJT*p8%=K$zgUSUKW+=oQ=Rs~$08+GfjYd64+lq{`$caiIx3dpv_{a|U?&jV3)%Nz@UX@Qd6K!Xf(zngdR>baB9;T~o$OVr+vusDq zM-jQ3C*-{4a(T4?x~_IG(;d8zzJDRGFx;=$E)>U-JSYZh`7^ti-fqd+36Go4K>4Yx zkC%@-OJ4RqHbYj)F3n{nyca(Fm-CU%l#I;644T+#`FYlNa^i;>GE@Qk_?2~}q@H5> zK0POyrbDAtVr1H9vW6K>VQ$GEXqxe@7M%#%f17iT|GhzvQbKktWmL4g-%hiw)eiE+ z0^yzs`>1|eBXqq#Bl=0vBfB_4_D1DUE!|-={;?&Mt8*3cXZ_al!ij`=3 z_g0T9foPE;7!H6lvE+tE_Xi zdwwzE6a-pN#{;2Drz2y?3RuQeulu2%$G8QasIJ5bF|39)OgkN&_i}7dF%ir$-!rDD z!L;DyR)Ga|cSbIS{`%#}=zFY=Mk36}+pO;dN!}|Ok*btNS~<6XPU5GyjHfZfVYqAjuCXUNzb zEC~yh6`dt;*$RMGju=9w8wsHr-`YXjg_QA<6FRy~l%Aem`?x0!I|6bMLFQ#DZRcjv zd$Tjfvah+M_$|S};5h8V(^L$TyQG;k*d6Zh1J~M{<~&4blvy4T)G2NjtF3y3jWjV! zUvCBE;fzmvwXG;#;wx(g6a%$7O&6A*6yF-dj5b7|S@Dfq=b(j&>yL#x9+@LD<94 zIHqY<-6V&wzV{-mrc|H>bM-3YvL;)}W|%#hiuCqrO05UsO|OoUhAuAxGU&po0E(9I zCO9a0wL17I_GzJ)-h`rb==0N+AO_I9JFL482W=rPOdVZ7n6<)0q(MCY9IAw{)d?M; zn8kTSTmTZhr^?3B;o3}kipbvnfmJ)gPX7G$?|(fz!9xEg5<0uiKSwll8~XpBM$kcI z(0@OoB@{!l$PaP;`|)vNisN`_TUm>TtaEWuzM6$nbc+DQcd7L@jAPyL*qL8kPwf}# z_;H=Jqrala1UIjCrR>U0S{0f&=-(&vQbEYSO#g9I7?@h-SSu?0@kw4SxD7g5ZPI`5 z2$ZOYtW0h$`k}$KPKuuC^;NDn`(Ecp$qJ9ODF=c(aS0`a{(16D!>m(3~e4=4#%~@ z_{Y2tEM|W%{`gM(ocI)F{!Uckv?O?YvnclL6yM8)=znOq6;V63x1h4OfpPv7K@j>R zn2FjYqvQ@2_c7-7y$7{?#}{bM9&VEd@$U&M*J>5M%@S)80{EaP*6s2vHz25D2JOEj zXudGXIw8mpHwHF~n`bm57TWQslytyjzW?Fz?5nhiwMAZ(xbVilby!1fE9`bv%(9{k z+??XVIl!1%PCn=#QTQ9b*?_wTcD+KGo6lx6Y!(^ULXc1WRIznSPAfXHs@SAqLOKm1 zA@3%9aKBj*+^DJ2e?$oeH^u!<%JF?U2gultjOc}*Y*cm~AW-)91?4?1o?OHXh%kCj zRWG+ppM&mXsiOT`GLSpY6yM5QOn<6FkNV%woS6v9Fhjz_381<8d0z)brwN&b<>jpU z`pGBUvRb!qlR_B{Q^VEPK@bDSl-GPr!}B_r=C5^oYA6BNQS7GI-teQz7ZAIY1FgoV z-*WALyDd*my;rA1j(%{1%QVw{LjEI-gES!P42~N&Ze%Ok{Qmtr?%lh{kPyPIfdiF0 zccS^ov0xac>-3%u^&{Pf;b2Q9Qt&rj@@UT(Cgby)gYw}Umno8nIkemoJe^vqRdyyG z{^4@}3ZGA;>;=r%uWV3UeEi&g($}vy2uVmTNJucedGjVOKOe!8% zMO?L8Y0SOoBI|K{%eMX%`oK*ALJvbO>l0+r>GiZw$>v%?L14kz^PXaN*y_GE`;Y!- zk+J_*rZZ`tJ%gX|C@7e`uP5Q4dT!$iYTvJae)Ql0AahT$wAQaBVKqoO|G`n_I6;`~ z&*SQ(h)Li5^^OGl^u_~j)9|d^KJ)&Dle0A-`rzRlF1EO3A(}NpOQZdA(T|I>=~bJ` z<_JLAsheE?Y9{~etSo}a$Vlj`5`-2$-{=5Kffy@ynP16whtOxgtkG1>ffq6XqKSq;7866@DYkvaGx_-6 zi(+QR>}i;3p&r4?ixbbZLuY4aPj)5<0#t>3&N0og2;Fi7 z)R75><{~j4Y0!#nzy-*`$M&7_rP0@~UHnRx8TZezUS^8^k4nI_S&1W7#5W9_AWv5u zaWG=OBlf^cxQ5o{=Ws_W;@IRMoE`H@pC@O{yg*t0I*4cmu z2wex04&tRzmX?-PHHhPPV0VB8hjHPOu~Wd557}Vgwpre%*OiOlJxDK+17h6N0;DlK z<|Ui?82*-Q+Ek7%A%1Ra58l>I;Yy9jkClr)`)=QUsyrzVWD*>)Az)$|j839Jzafi` zirST#FaEKb@nhAfvaAI19z%IJ<>*G%xGz&TUOtNDZ%OGrT?SVZOjTqL`=rr@?H{W& zK4Xu7aP`W*{?$XZv+IXV5X=A^jA)_+2~nF~RT_nb++9}^M7DQrej=g1^tuSyAM>Fo z8lurJPolK-^uo%^C11aJGrRZGlxAi7OxLyEZZ{K^vD(~>9334Es5iB?w#K|XxHiSM zv$AS!FntoyA{^U>bgKRk(m z_+(^Q!1iAd#3AqVtZ~};XOS_%DOY_H`-K$NeL=(w5TuFkhh?GLWz2KGY8W6iuxHmH zq>-jEcue%!SW?K$9Rc7!Ft-aF;-`_X+KUwN;Vui!MA42lk&jLf zL;s%Ow+f{R8BLq=->yx(E!?Df!b}#lLh`t9kiAQa$Z9>J&1(5+X6xGrXtOi$WPkqHdMP7M{<0V;e}xb!SxP zFSZtp!`oT4xt1pkn|=s0Pe=dW--=G&6sB->MaRK;AcRMKXmaSF*gyzE*=dLatD-aD z_v?csH3Nd>;=>9ruWgl1_bIj*5coHYH|!p*6}uZ&I?$Q;tloNRX!i-5@xX+Oh2};B zDCMZ5<>Y!XvcEQv*RJF&`a#81+M-=C-Wxs)KLGhX=+DvGNi)`fVZg|~c~HcY=lLmH z^bHSveawcs!`Km*KR+pNqglJ6#0FxalDXoe0y znzO$z=jU3@N)joU68}5-WTU}l|BnIm(%{h0(9l=|+7AZ+PWZtNzt8)3(U^gSaD z{6n;rhyhtNvd6ZPSF=Cz!34C5;X7_8voDNk_T27x3H^G+njSg8`^~oAsc#>!v@Z;p=RfIK1O{@!|8Nl-X14 z8R=+Ft%TkX0)@?j@)L&YN@iI<81Y+s+`X&rq0>C3fTAP<)W{Q0&R|UsyK3+mAELf3 zY8u;A^?VrtL%0`|6CcCBhvHAC8A4&4VmfYE8RaYk?_{>@0IWVF3l~fD$E)t5pcN&= zqa}4(m%v>5?2vwTC2&^p^cAK134V8~e|sR)^|Fj<%#v$D+`H=}P+Yp{i#dTkFNacM zZf+5%u0Q|WfWze9Ol`l1G{#Rjb>l6?yl>tBPz@Y)${c~V`1bmWlA&R8d77xRuw9f0 zFe?ibZc#eytiN3*dMl}8myMq1u%z2@Dib8p&S*t*$v=K^Vq8xo{OK&`ckgfZxk1=Ix(Gjv|9&v*^Q%NDCzZ(zqraJB*$ezhPPUp?!H>j z_~F~ydB7_O@x(rWyc{J&pt;YOCNme&{Y8+ncwjP2AaJV+U+nQ;{Z(uTMYT`lJyLLBcaBV*yF}|8_9{=Nm87UsIv+2z4Q$>j8jN7 zoc$$WGND;>Gk~%!Pl_)Z?09R9oSK4-gS+md0Ynve;|ATwFgvJmTZ1}QXvA#UGk1H3 zW|MBg8yR+?2m46Hec<89c^SRyL&m(suWm&#X_lohMG+AZF%xXyiiYhj&YLRWVBr9c zfswGvN~vS8Mf@>cBh@orIZ4L1l}xK%)P33HW^GR-$?l%#Uu8BY@>xkyQZWkH>o`cHRY8AG60;gOvt|8NUDKQSHQ3 zLC>Yc-4ln!ejWEKG>uo_W7IWbf^dY(I9 zWoUS|$eXp=h+lz&Ii)yEHA}^5!_&6nm&+R15$Xorw4Xc6kB=AO3zpWr9s!R6MT)Sd zbp^%d?f9vBZ~Y28rYWB_iMk!~i#IvQ1Rs~{d(DP2ze+tJDKC#8Hc@S-JU^fUNwxF? zvC3S-OnTvC^S5POzCck3j>u@_jLdGa4u9kKk)TTn^X`q?x2dG=#dK`$e#>zj6r&5m zL_+K9>zzG4&)DJJ&ALMAAk^*K5#4USzOo>23G3^-r%uXZH^DmlCaIKdIDGq?=D~&u zzBN-MNyo(az6k3|BKh8Ju3U8K2Qm!SRC5b_9x&UKF>P$%@3q(4x@hv|%zNXhYsuw; zb_`(azi_2x)!*Qgi8A&O*uR0Zi=jM8!k^5eVV52Dd#;^wg8Q4(kAOT2)d?Yv!!0U5 z{pm)~#s+|;|1hGg-(&8$E6Tz^Sr(+5C762}j}Le0xP`vTvblL=9={Cz9#ErC-`HL( z`QxGK^hM&~pUGnOO_Y*JzvvXC*r2TqMTNE(4|j7;?g&CipJNj`E-v9`&z|uB|G^S& zk8avq`-y;V-J=?gcxR1e95ZO9Jz5MFEKh_>nL5+P67YO_OJpKF|Alo02z*Nr=g* z*705NHVs;c0z&S{n%c+WFoE}?VO3hLfkzoA(?A&<7(T{nYv+FM7-9CnR`k=}!~NY5 zbJqkqqMCD~)oxq?$)2pxR)PVS9J^xqpGWAxMMOmW%{cRBzOD0w)pKsYd427sxyG~eon0p$ydOh)Fc^W0cTe2 zhcg2G~zKK@)Kns-yJW~soVX!V6%NF}IJou&Z ze973aGqw?Cl5U-8rM^*+b@j4+b=i%zP|x-?s#!)Tx?PXs`Z3i~A8V{~M<4H1F>S(b6UVpE4aj7K90@fmg}8S0aljqfEmk%*qUba!}Hj)c5g%U|hZBZgR1k>CzuMm4kqpKam7^>=zVRN*p2Wv?>O*C`tsJ zV5;Er+9m37%$G0XJ@_@InMZ4FoF3A6?7;yN4my`hoz{4aacWvwobG7w$F;iB#Quhq zRICIAg{Vlm*<*qztjqP;vadqEr|)Pqqhv0;juR!bY{}9wHfTk#cns4mgkf_1IXO9P zpO%{a8FjIGsrSL^@AHt5%VMkTEDMjxNoqPyZ2IO51{NcE(*{RhkUZkIIQ~rLWqs?~ z6x>zVd=$QcOI$)a_wCB%hXWS{MOYUnYGW{{PH^7=>lmaPM?2u13vNBI)zj0V?V5UpSEY&qY^Cs zSEqLCwF+~|ppxpY2=Ib~T+f1$BL)vz;G1-p@H(XJ>BZM(6+gDmU#aKXEJ}&hQp+(L z`eFc~!7n^tyrf4YD`vBjTqIFj<2bbYoPrH=Kn*DrQHIqkcxcDZOaOJbAVQVSw;fAt zqPMnOFkJ-D-##o!T{mJTx{MS>hCg$rUur2s_tHUfQ~X!ILAB9i1z&lXWt^NQqgtM& zd#(eyWz0GG!R&BFr#W?SK7*AxJjjt7xqGW>pVE;ndUKNqvTbj>NzkaT6LlZ+ICfPr zfCIO`&faW-V?0}AI=@vU-+wZHO2<82{_D=4LmLH%MAIC!wGetpI??IYN?7c@DJKt2$>Ioljo4|^JXt`b3=zg+)C5A!m z&*Di^sfb#GlRZPsQdm3bv7r?Ub&4SBN2|-9u0t?jm^C>%p(!gc$>sB(>Oef#7TqB+ z@Vj_Ot2Os+D!%$ic7_IR?2zOYZxDV)lNB8X5yv-NI(8@7g)VR8RB38OBFN4FpRGu! zF@9(-H)RqIol7t~L}>UpZ5+Ig(F|*{3%zMd49PtI%_v@OF~`+gEfaFG$(&vJ7{?7w zcrT|0EfCQ*W`DFBG_ynJkjy@@t*>4HM%7TjfgW=47T+{|9F<9kBW zd-o-Ve%qFp>x)|Vu&6_Ml0VIg#kt-N&K-ram%>nV@YwToQSWamNo=3YB`bL`dG7^e zOogDvNk!uqRr{FWy?({m<6~Vb>wAQlZ7Rqj9)*j>WDMS^h(ZKXB=2cO#I!A6OMG?x z8s|D~PTYHP`80!SZJrj`%3K+4Fv=SMVTTHEOWAIU%4Usl5 zH>^QV0*TdP3VXo}|AOs53#-`m)gNBczk;57&oMMQ>#5A;m-Tv4b4V%AAgmCbT*q`i z)*BNw@_nt{ZRiaPTxvbxLMKt6b8O1Zm>L3_2GMFHT6Td9ug|M!^8wvE#1CNZZs|~- z(Hp<$;592hMKAFY#nKfDZ+34(X}Fo-AE<}_gb7j@FHJW5Y7xn!rMDb;5Kylp9zg#w z$|=CNf1{0NWQq#Xov2dH`t4j5mI4AOvw!0831`Q)9L>bI{nq&bTS;B^%FozUpV6sl zB!peng2^F-2$C=NsVn}%9M85PDp10x@HT3PaRApCdfzX%1~>z!*l+oC=Wa z1`XxO8wPb=hZD5#e_-xl89ccT*hcG|DkCPtd5QS-`}cOx3`pQbqj63WP8s(#w)mxw z#snme5rdl0D;<_|Y?Sb!#Y@m2)Typ=^FjHT3#XJiq1RncB53Qu#+B8HohPgY_tuoJ zl9pF~y|iH^hU>#MH#ZOb`t{=I$S2%GBWHOheIuR>9!Zkb)>XuA;QNFRu8&t9_$;NL zzl1OfoC}INgDydy;7y|cY`whNSvuhtx8gT%UrLZFIRD)lO!J}YC(Z3=L= zgqXtl0t17t8Bv;QtMShbl!|cd-?|8^&Tbema8wGNG(F=u*@-VV$#R|puEb4FDv%21 zOf%`A@k%ENBD->>T3`DG@E*#wUMTa;@y(~h)|~rwWo6^@(>Gj$RG?;O))*dOR$jE% z$@8KC0Oe|Gbf4X%W>bu>Cz)dC#jKoVM%*tCwd%)_y_W>0?=sZzh+0{oVL8`yr4Mm$ z9i@`HeVolYm>8ce>b-aE?-wI5UL+u)IK1O`M))*;91c`@Go-(!lwsSd`%z%1FM~EF z>?DQ~@}GV=sdkFJ2%_)RzlM;E|3}m}J4I)wuz}NcgX5FrAHs^{*AjP1088|**_;bF z{K>o(+&10u>3RVKDZ={4{>M1@lmilVZ=wW%gyqx(yqsHEMxS(g@enL}6p4 z$B)@Q-b*EiZ2dPdP(+v_L^w%*rGlIK1GEzlNB+_Sfe&3ix!QJ)E??_Qci%g=UHIN> z$L4e=5`JbzS!9khVG|iRIKZguDBuG}WTNigz1E?Dcq|Ar6=h{9ld8;fLzVtVWS6ww zMO?tqWU5Xtcu=xRFwnhWS={CT3HXe`kicndXoplFB(bwA!mRF!r?>_jZ@c8=?X!ht z$bYZ;BpNIs7g}EpNcsYmuCA*aZ(n}M~801rHiuFgo4`0!;?qZa)^zLclg;`8XBKOjY1&nW7BXd z&eT-W%EWwj0-`CP0H=<(jO*N{Ezd}tcio?OP+%Fc@`-S!kAg?$GU=?HTB4Uo417KK zt$^8%l^EP><;#^U(9T;7$EIegbH^!A@d4#SahAOVD6RiKXQeMx9ehwCXu9m_|2n}j z?^DmWu}XQ(oG%;u18E@0j~jGGG@9fZ=QWt!anH(G#?4RnyByY-ZT2OqVxUh;OLv4LXY0Zt?)W+w?f-`=gpL4se9ED z0b?E*v7kiZO*Yu=JyRJ|4=SSh8p9Xz{N|tL#16X9MomymW=JUt7x{X z_-ci>>0}@#{zQV>exqwEX)elUY-#nb0HmQ>4a&|U$kSyCqhE_lX)|2@f2o_EsG+s> z9-ud$Hj7?>EqV7Llr6cFforjgIez*3wR)guel0D1SmP7Rqhto_B1l=8Qx0OW{~d$U zAW!o@zOpJ^C?(GL`FFD1^^7vFfx)pW>+VcQpRSDKORa5f=1oCGzCWdzFVsGrY%7#- z+U>&OkCzn>y1eUVu{9&Z^A?Ze$`+Yx15Ix`8SKClkl>w+TE|E-vCdkrb98j;+P!yG zti#CH(!G|W(q4)PUQOoU=J)BT7{9TU)XVgg6XhCJ@x;x$cXSw9I3zqvR7hh#lA~(U z1W3?F8wqcQjlMA?;D^VgTa}C|F{h`2&%Jg;Ff^ki**OAlN!1Rx=Ox+B>E4fbJ+*oi z$qombh0cy#OrptfKZ$C5$wBDoO;uq(!fV@Y4?!non6^K$(=GY;sk>t3SnC5w+{a@h zbCQc4*XHdSy^sduBlv#ybs#qjF7W~9LSSu}}-Q(Bdy zCTg46CSUiEGZy`R79n`~mXd>@MSDB1kURm#XR%o6R!mb9MMkYC6ttxVqIfg4Xw{T1 znlI|@z5vgs=V?Fv2|%t&EWKN>nq^J0dx<4taE6AOTuIG_U(b_#l#`JK4^ykfa=m%0 ztlS)zD;r+R^trhz@#TDb%$o2z^Bv=m_;~s&Vd)nMtg1BySE#+G0-G8WCGf`TP?QeH ztOD$H;z#%WEf>kZ-jKc@P^gkPkY*aZ001zbx$YEsBo8@sru&)W=J1Hype^XHf!F3w z_E6M0#LErE_DPI2ToLy^KKh3Zd6H*{%H#L?#G+1W)P3^%d=ScB`V@h}Ev09V;r(&@ z+bgNtvI}FcV!346 z3>;yWSco0dWi>ZscTM*`KUv>(=(R?U{5%}oksaW6o(CSdg${9j9KHu9i{I1^jZsqG z@PyFBM#@cjQdSd`w*r#ss>1DD4y%3p6H!!%>Jq&BMk}*n=-vK?7l~7#)|A%1v{3vz}#72-= z4&F|95drP=sG=jG0zLH_NZY2L#7yy$HVig09RyjgKeX*GGwpY&FC{>}=g`0oa8klH z!p2`iMAuas9-4vyDFVvzoHY$o(MLWK3uMRoa&Y!l`j{naW;)b4E{ccM`otw8+JQ;g zEGh-fhs0%}n`)23td1`wkoD|wuZaIH)DvKQLCb{SG@BTAkhad zjSR7ujx`8MpL&wG>Q7#o!H|4hgB9ji2D7R`^@N!y3#cX=7#kxq45!j782(U~J~r{@ z$H)45&h71O>Sgl;f;${8eOuF0Q^IcuKPw(_+4XQH{cT<&5dYZpF_{C}n5i{bep1}G zex{RH39dpi?0CvcNYHE5nkm4MK{2)ZtZywKvi6wB{8uFMQ+M{B>gg>Q1vq(;2vm80 zzk|w{6LyF1L~GC^-kZI$W9zo(2oDJvtqRZB@|%{pij$Bsl>O`xJn9`bZC$qg8?NPOc8iGr{gHlzHG9GHFi{NVhu$o0|VQvv$jj8-_kx`+cWpY3{8ZN zNq1`7`QWhB=8rr9Ax zFO4LB?@@%pS@HHSxj?DCA_c@%x5?#jI4%|L7#JcfM39{3f6f#C=lmHqJ1Z^g;R2wC zYStg|geXRYz5==eV-h95`A5akU7`|p^3h3pB}S*Fs1Q+bBh`wE$ma?AEW0r!%oK%H zG|_f>)%p_RE6S(p{^Pv~6uIWc@wMFkMr5Fx6^n?oX<_l)yrqR#7dFvc%;3jSoDrTqE)o z%aaZlfD6A(=|$Suu2qFZ2h&0_K8PWsZ_3n~w6mE;1*DO`8}6hrV{=^fz4n93{|FLyj;pBc3+zhF>)uVkpOU| zv&91h9tks&U;T^9Cxbtg=zz7}3Y*q^OWPn?SE(q&DV}*L0l58OKLCRBMcWf02excl zNro+lChbd>Q#o%(#Js7LeF0fKMM3%p@hn{B+F5j5My1F{&u>7qm$I`l@4S_xX=H)NUiQ*rH>jUUou-m8&cmzU zbGQz?>5-!fmq^Q85H>f_A9V9MMm)K%6F}Ihknp1+8#pujTfqdsAI;hnS9k50DyX&N zWxb6+Yo%q}T6{RzIfh-;d!4w(8IUrK+iU*}d~S_3hyC@#M~~rmGeH=7MSdl9}`hg=z(S{)QuYb*CLmOrh7aKCd&X*Bz%ECbs?h z1(>wp?ye>CXV=pt;86W$7Flp9mex+m0cFg2&#&~M{#~Dm7rr20%}#M!!T{xsu=PSS92xcFGE>W0dUe1)O2iJ>2Hk z*co{T_o~VCPNa(TX{<$a(*!=Xi;648?Aan@CUH#ZO^sHV^PEmN{uHIlg625pu&Qis6h9@iIk z`yE1|c>V|pqx}5G;Rbd5cz6f*=kB<)`FyTn4u<=4y)3Q^bFAQ7&4PzOj4dXm8alc{ z`ZQevFe@G<$^l9Mlvy*;syVOsuV?98;Uo+)5BYmyql%H!c|c>;5^K}M4P+Ow;)WAx z(7oEW@$h)eKmERVqrCp;LpMWrcQhg(5X z@ixPR6D;@uoB^owxl00I=wr$kpUM{gWph+AIKO(tAmeyDkH;}W50 z8g}w=lM|N4XWIX+k`k}SAM9uwwz#0+mW>U+l5z_z)1{hdlGeR-en0MmL#oe|Jh-UX zNC2qp-*E8Q&VVVFKjZs?0;3(UAGT>AhRm-UHcggt9lw3QVW)rny1GPDqMxm}#L1(^ zb%{3b?+oIMs*k+5)1r7td3m-gpvLY;qkj}R% z>b)p1oEW)Uj6`3Vf>T^kddkMsdyzxByjLBjTC)lb8|ZV|;Rph%`NH4@U~t|eg5)!q6VL}XAbzjJ%U zJ{FdXCz5#qaUVZ=87xx1>%*gS|Gp4F(FK_(EG*|~85uzll**wn2Gej7;(0`2TQn{Y z6?MxY(g-@Ffl(BYb(&GXFCchHz*)?|TiIWprZK^m$J9d&b-XDtZz4?m?5E!8GIhZ) z*arUIGoQSVw0U3qNFpD?!g%f6%!%9s@OgS1N@$OOhFLn;|5!#uwA=0ToMiuwm#qBuM2;^{0P3t zj$)EnTCA&eQ!tJ5h1rtNZ}kVx4-SQaw8$}gW5=}$^+QBaOPH9pOaw7xCZ^t;w_9^^ zXvq(^+$~b(ESKi}&hov0rv73G#M8SSJpIK4Fdl-#s3nqc4TW$b|a8S!n z2-=F9{G4j@x4WB@iU4=|d6&PHprZIUXvk{OG&;` z9;}*c*yg@eHc^)^w^TdNjhf04SCEi@)eka7XOj8+8E@sWBfE%V?g|Ila_CLnGmK%aF$*W8{Fr1kQBi3$pZqGNPE6n$WIy~%l5 z^vs<9Uh&9{q}Hb(&I@scIJk?E+ubfvkP}4 ze$DDiy6J=7W#)&qvV3NW1gcIOk$-yrwhCqqzaVt9(u-;6GQX4V_+mK zs`0QNwnnth;_6wI_T6i8L&0-t$AOU@U!;{gt#K(Y--J^Vg+#%gU_r{ft|sEBCx8xu zP@WeF7qdTp+%FD3rTF)eE)dHRLiL!)-Fw9?FTZsATsbtgihC4J_?O_7#81jg;HApz zWj=LrNM)oeY{u zc5awWeNVE3_0%hX^*3@jtycLxKYhtHjEw;SR^6%>ErI+(R1%LQN4@y$Mb-+zD z4>79r|F`Raq=f)o!oWNf2!O(#}XriyZj0pRx*(jJ36U&7WWoDl^gIYN+AAVI-Q(J1zl_1S zwGwGI_Fnj|(XG(FggL1{9RNAFNy+_I*q9uOh>azgS$VrDtcd~ObmhTNB`6z4FB1ki z&D1-thyWED`r%W2;g0g?IZ!!3M|23&gC+{rCN4ARtho88Ww&2Z(MmdQU_iTW=bOMC zndR_L-2Ne^ejVQgp`Md;?q3_xa-Br)+qJakxyR;nb3sMCs^A6eDGeI5D6G&tF4Tk2 zuCv0CcS)kjyDvXA02Pp5wtHmj>4QmGQIY{{_)ac7o}{%#)MTm8V+aCY>bLHx6e*bn F{Xf{KQ04#t delta 98783 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 z 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 diff --git a/gfx/UltimateCataclysmDemo/normal.png b/gfx/UltimateCataclysmDemo/normal.png index b9cd3d5704ac0fc531fb5a418228d87425624cad..d6183ee48f52e75969d7597ec3454d27ba71a422 100644 GIT binary patch delta 730846 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%0Dl$h)zaZ` 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 z !$b?EElJ>j4F*sla6e&>Am^7VP)WT5U&si08f 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%0A2; z3|=*Jz-bd52mZI!Si9AAB-{)5q}-+cDG$Of@pds0P%vlio~REv9LFZ02a@2;EV z6^a0%y-}8y-xGuLKV(e_TH$a63XQ@Q-K|s^!ENrrOsj8E7;%;J0}|L^+mR&f5J}L^ zc43q!e}2HQEdUN)Y&c;zt9(15dtD8HbJ+VNFHkm)II>GZI41B%j{TxrKc;gGS5=>`}D53;wTx1b7!~S z%rs>i^Pw;^R!zz523A{2B#l7(K8(lBrjORZ-JGCWs6x(l%d6%0dy~xNt>wgfXCW1rNF7vA;M{30UD@H2`Ls>Qqy!e=kc? zPCQE4C5=5A&YZqLb)z!Kgtn@b`W58i+=Z;H0nOi3z5B)VnV;4B-+0}7jre-#=|IVU zQ@JCWu-_;WCv)On-D?Qwz!`pyPqR4_J6RI!?hp^cZ+Qx{vbBHqdUD&{*Z(!d=M#qd z@#m445I9DcH2?0f1^i0l5^CRad~BKLj1}UAy^%Q>jW#j7XUm*6Pq4QH=$$y)(tZF) z(s&Ci%C%zMTLQ&%B1gs?VtC~4nh_kYr_=6<*#$cHp+9URjHm1I4d2BZN57ucD+IU$ zrMK%EUzc`tKhk-K3-vsbqOgB`pE=rH4D+kGTg_!|W1T}~`CWkHe3S-HEQHye^HA**l+jQ{n^@5K->@H8)n=iMf)n=t0mEEOa*p)e0S#vr;OS1XNI}V z0J0LWmo2Zyy@Wn17q}lxm$kh6)m4%{;&t=7ey;rVUl>oS`9=NuQys5w1Qa#bl3A@x zbfHni&N2W?yA_Y-1TPHvT)mx~vIqzuab9^rYxyta#QyM?Rr~g1^$)6wEx(FQ#Q0tB zg$Xq1w3U^(3f*X+YI>JNhK#**B>?rx0dk|qu4H309)WxG;PN#0c ze$Rc9nK!ooJW%=Q{jK)N4Vs=)$>dmb1?d0Fo*1Ej;9TEUZo#0;Anx5Zv%{9L6_yjF zx;yBu=H#d_p7w09#msTUa}M3wk}o;vTL1c-?ND8`l@0Hr6+ep$+PHIK#+TX!>}k~P z3~0;LpHhmlD-)GISnKz?eZG4_ZT(luC7(%*IgQy#2PkjhuOKvw)0~qZtjHQ+%;=bP zX}wAeza4I&N7RtNfU9SRwyxupAe4C@Qjm{hhwfN+-Bi*WSt%*Z%UM;X43(mf{yH6S z!|s!UfCxg5ufs@jFWlM_FdwmddsE6{cJQ9Z*Q6_h&kXE)jqwAYH=_447`RtDFLYyu zu`1U=L07+5#d^Nit8<#a88N-MrLyjEWNUHORc1s!`lA| z-3oX+<%M-*1;S&wV%4Y$AMa9ppi)SoN%=`oO0%$$VV|ejR1c)EzN$NY6^s5dN})ww z#R%vnvD1?JBTbIr#Qvk_!09q8tX*t|i7a>z@*F9hQF++ty${>Wd$N?hqy?}K%yrP> zots^bxc9`o+6db4kmoCubxY+0(O)Ogk*TZstMpw%bN$r!QHpz&AknytoQ-+JoStO= zpU2czg4arg08*jWf3ILP^AexUb(Eg00YBlDi^+Ugbd=?hV;quTdE{>s%3}}uiFoAA zo%HNS^w>tG_`lN@k;|U>rg8TWIj%ur-R!%q7U+uGG~F9AxAt2@Ys_bty+otwET6P~^4B%nkM*1t;ZETw%eJpc^mRLx=BAWa_<*) zqO~U>(-eJ)S`5V#!2x>O8UaI&DjTgTH#$!u(GRZEsoJ)XNqsPCXHfHt7VFiMT^h`t zwJS7Wbr|6uat}Fit%Z6DaeV)0sC86fg#d+-O}>ev7=Ow0>lJRf!s`^6U~vdtlwQp}kWEF|=J%oLjLm@6z@lbJcnf;eQJbPd85I z^`B8Lg%FjldUoDPevIEbCa!;;X53Tm6eaLv_chhvYs(B3UreSp9eGZw*okF1U^)ef zX-&skE6%bW$gvWCKlrL8nYS5$pl9Y-s#HrUvmF22MLIr&`J-Fwgm zX95eeqM&DyMbQl$m6E>_2k<%~QJ;eAUQXwIO?anZt}Otm%YopN3V~YoXLg+}?+KIE z0x#t*&H?CkC`S7}_+ZIAQQdam{4aEhxI)ds*T*1*M`0?oEu(-{YnOZg8ts!}`eIX+ z=x-XkDbPM0ZB%5u+(2+1Tq#&LBRFjZel~7Eoe_hZ0n|;Z^r@#P_4_fpQb@!(9 zGtIU*!INJuD{^hlp~2w23B}aW-IEoQH+Oz5SRR54kEnx?8?|6drLQ8=mA^f{9T6Eh6JVgnXQvYKSzg4aGVbh~xdtjhQyPe(zlXOgNCCg{GIY)sjsb|8UV&wUlzf-wq(UTEVJcU>zr z>`p6*gweeR?|j`!Y~KHP^fPMh+>Wk~=+kJbBg{W_d@KLs3Dl$JD zLfA2VuOE(I(F%~21d4Yrvy4NH5w(N8-~6po1^kH|Fx!umG1~`-!BX+rrFbP$&2Ele z94m5lZ03T75tKMlx(vX+Y-8kpMvdc&q{~F7?nleXd zf8pMgon*^-`dMj>1m=LhbrE{_VbkKSssNss`a^EWLlmqX;*(A!ONpLKtMs|q{9a$I z{%9#K)RlAn=(0)@uhf`}{}edWl>1g8DB0DCB>wC1k+3TAqV2JL?sTElc)@Rgd2^y4 z_;XbHlIJ8SVfPu7TOr3d1nC5Nog~1?9?LGUdjuD;ab_A;g`a&MM^W&fJ8k=I!fF;h z3VbUys@E3wilQ*>8cmA3751U?o1FvJcB}@|3!(q0Ssq3DhoBF3Kb8;ejdA*~$RGH0 zMWP@lJ_Cc&<&##)B0+VeHefdS$FLodsJ`frtC76MKFc!UFiGZ59e=re^(wCn+4{Kx z42S+lKIA8?Qa?KDo++OQ{h&mXTp8?{nPP`-x(sj>d(kRk%fs!j-zLme2@D#83O_Y_ zA&vYW5lqdQn+uoHc*uaRCZh6)PN(w&1;-|Hdt@V>!L<;R`vAl<6-wI;pF(D^R@=Ug zkB?fH2psIcvyObUx5^NfH7B-BWp>Tg`e8_^&-8cy3G^=34~~j(%W@JQ{%7lk5ius1 z68_2Z(Cxpfo|5ups=fWAu+fnowx@T0eugeVzfv+C{Gv-TpEH0@J6_g9#`TEpynIth z_2431S$p7=s#>8W@gsCP)~HfrThqwPVnjDFRG_|zai0olt&R5&m@lsULArc&@!NO% zZl#@6O|Gp)3DljwHw*26IM@Xs+uksK8KiS+M|Ec=TdNa1?_So2CeO>?n+SB3$M)Um zz(A`L8Ja^80TKI;aK;o{SyFbR)6~%dPsrB^l%h~9k*mxqKzydszQ&L`C)+gzNPo#S zHO?AHM$(0N%E9iFi0QmBJsR6EB*a@w*f3UaKyJZCR4h{usK2G%Cl^#V6;jRC1wcD2 zpoms8D*70_Su5l{I3QBe=dr$;hyR~l60Kq2*~Rqnq31vV{q5Oh`NpCIooH< zC+)hhgkpQw+7(Z9jp|OpZ^NzjJbW9p+vZi{>}$NJNUUO;_%Y5l4>I`m&Y-Q)ua}YC zsJx!ocsb}h~IFK*A8FI6K zRQLUU?ZP=&cmB8LUH)|b@`2yGGpi#*yQ4|FbbYBwY7N0Jlhs^&`T|>w((#h4DLr!J zQ_)dLHyvvL_0SY&^k+0tn7pG{54-B2sT#oi0(F2no-d72&aPNbKj zeH16YP3?9u;vg-E%r~m$RaA}tiFV#2fPh(rPdq^f&}v(6sY&m%eq_HIrxtTFH$d%M zofJZhq|Q`D_kQSwOKHhC3NHC-(X?&15OI)!MK-fG4xtXR2c4GEQ|q=gU7f6kSqW<5$SaFHHzjBrwq zdB_}3U5q&9wbbRMPmDyOG|-n7Z2rlnE9j3ApuR4e)g1K2PQWh^>MBb!Lel6FV*a5tXsx}txIUC?^Jj&f?@i>Z(0jA z^hQTeXLv^kF)EozMUI@@#4+Sjl6^0Xy%#ZSrnizE(8Bci?{5(L-8IAKq7JotjBE^| z=Y5Q!luRt#IghOQwo8KA=5;rfrzADS&eUPNJNuWflPE&QV*80O@9#4TD5X0opYF|EMr=CbSuijTsy#ESLO zD|$s_jw6=smB#$xg(N?;0F`~0dm-<;gZq4Kq3-)&pS!8UNiD7&sn&^-;$U~v5rY=W zAvdL$JxZUZ>}Eb~e?Q`9a>=aOvu?%PpfX}|t}$%yK$zQocz@9Vk^?LT<%u+nZ_IVYw;{*OExkPbdBb_TAq(vqIw^N6;%2(FN{?tb2 z_9?)xEi3&f5UVK=6P1~XE2v~24CA}}PZ}X|2cu(}vR_e#oh`OJmUy4^BwD!Q_BH!E zpYye-1foJ~Tbj1PFEst@y1e46rTBNC_^v+Qi-U$j#n7*2uyVT{gc@K?rNxI`haX)U zxn-OoUrByGJZS~)29@Azf}s|OC^qEDJZm`u9?v`F{}p1;2Y&$pg@o;KDUS`Z!V>q{ zaSlA6wzAJX!(n@N!WL_~(zm@%fz=e^PgI!g@~8M1MUKoz+B<9;y3m2G-bGKbEWM?7 zkNt1!_qmkeg|{8G1IMaP5LOOi8p1hze`|iwDY5}P!2qKwIKH8a_r|W(Bqt--&qg%y zC$l=vkL<&bg-?@S)-|)!;zKkK05>dY;o$)OfCmIZdlYogVYah@kJF;>->O_zu{~@bpN`BD#LqUWNTVOc=LbnQt1pa;_K=?qg)MIC~lm^(9SSR6m?jpE+dY@#ED$sdJ zN!pgv%3f5KfsaDe=FR-^6jd4{Ase$g!wKW~96)xX{1drDNr1DQ?Fl$&+zqUj@(Quk zkhw1yD@xMTzW5hxRY~xcND;F+77A~UMZ7`V^%e7>sS7E=V&S!%L|+WSLs~hL-*LwfmANsf(9m~`&Fn{rZUjmhX>*u&c74X|eMvDWLHbEb8uP5=* zNJ-d_piyffqmJ!mdy=g@WYH^7wXOB10L+Xn zzw*@|GAxVFd)QBT25IDef2+Nu=ty5EKI$LU+3(Zc$4g`RVreF-_{&|g4Jy6&+Ot`0 zYR_{Qe8$C&#t9t8vY$cz7Z-y0uvm=ibiHCK?Ri7u(=qX_n?gqena&Q=!)5o52J+3M z+hUak_B{NGKA!s!XT~{0-)sIz(AxQTWsWN&Y@ z*Jx&(o-2Q(I|F&+i_Ch545P|R1T?cH2+gFZka zXyGS#gR5*f8Q=!v5LER+mcV1{RC*|qZD>|9Lmiofa_;DQ`8Zp$aMre^IJ5UJxRglI z>-1YlxRa{b76z$L_HxiPb@m(mQR!1X4DZni>nhx>@+*Fm2Ven8;gS0aL{Pkfj&xc| z1I3$n(X*g5UJaLyvm6`2>tZtmyagVd<~M`@3o>ro=pUye72qyTcN5vA+XAIBOC2h| z4sE;z4spDR9=Xpx3rfY`q+Pca`00E+-g)>}6$|)o2rjf`>qCRJA&8yKY-9>BiZN|? z_~&+3xeXn#VDHZ`pXX3@za%~F)M7ucEws+xLMjv{G%{mR0$*4%GCq7kPGGu13hXVC zIWsB#x6W-5LfuPW!_*eKuRsok(i;=*2-^M^*h5}^pT-<7i;|)t zd8&tVm!tU!JH`7K#r6Vzta*a{y2r}@0L#~l4AjKcu$K#8RK4c6j_mg$b-FiYRG#6X zIbFR#mH&JjSvUaCn{A)nu8SA0pNLvZc=@EA{QQjYBJ#-vZ^D5#1jY33|98k`3kg8a zJ_81}Tx7iZFfApv$J>SQJBf2%KElOs@BjXKKlH^a0ue~jbuWLxeGo-cOltD0Ft{xxEPs+Plq5? z29h2RAy50$x_vh}pSHk*KOdSJ@;WAFVn2b;RA*zjaqku+_3;)P%v`-}{eWe1lq~+0 zKd@Pp{2kQA^3w#0GFkp}06Yha{ZvC$yNZ6z(NEPZh{HQPpwnauZ z6GAX4#?cbSPkMK#=l3|>bAYuBZ%1kRfq9FK!9)6uS>lXnVNGE$o{1_-L|S}L#HjD` zm5s%goNGm?mYT3jZVTQ0C@c+VHkUki#upO=aiQGDpS?jNmgd#EFyuH4u-q6bY`;uM3XK2*unlA zIkVxbZ1ex7aLa_LdKEQ9TChk@&@h9ngGm(%584DFS zsRC6vRN0)VSubwowdwHyW5O3q6e@JMPZ96LpvpzTZc?*2BW_Ncv`6l^=kyos9`53( zEavZUx?Y3Ef5g(hhrMEN34VqKQ9MPw%Do_$F~OmbOVg@ zm8f3gb$n0Sif+$UIo0x)uwga_jqA(l5Z=xXVtI4QmqTb!iPP<+o(V2aqi9r%;%uu-;ec3>dz*5VA_h}Xq&g)|;zpSnl7Fm8|Ds37_qGVl8r1!!Q$ZXPN; zgK3#JKPOvx(PJU;Px&J{E=Jcz81amUx$>7i_TjS6;5*i_g?*vZ{1-e8@0QZOB=MPE z{52mR_VabW5YmY%d#pFzeu4qgq`)8aM1{pVH>x)9J<(SpNn z4T&L8&&-;ImP~sqY}m$tTW(u2bWI6s2YXuI8=jN#J-+9EqP8$EhDT^2C+TY*<>C5X zGJ;SeoF*T2@!gWbI}$#js1_8(UadSRYCI?o&JqHDd~k1BO>wY|52+IWQvWd(EQY7e z_w=`+0_LS`)G_p9k2S{*dage9Vgv5Yq=(1iv^;dRTUr3TAl=gjM2EH<*8)@%&4`5e z+qKkvFg!h|5^B-03P=t();fmg3@|NT)N^eAK~w@=RVM&2$@*%0vSPrp7j8e}wQTp4 zVx-cEe?j0fMDrNI5up#hGJJ>4Ua@n-^5T7u@N3Ro{}y2P4#DRao5HQtcFhlEG=(9kfL zwOVhjAtr#_rRfUL8_R{b?((qLUL9a>+mpp(JpxgjA;J(sGRlfiefWe9VXb{L4yoUN z=s-BKD6p}KL>$6{TiC*EUmqm5*Vw+n06xgw9|F6XILc&S2s6I@EKF<2@ys1%(glr1 za#*t5MjP1=6W1z>=Hqm7HAi|XTE9_til|~I*uQvh2nY@fbh%S$txREW#C+1c*I4o0 z*!XN`3Y%1`_mJftem7#XqAj(=Zzb3~#3yS1?kp`(CSVo~$kFh1vO$$fR3}ibpVLJR zyJ)-r@0bya-+nEFLU2qAR?UG@i^}h7>UYxHhK4? zy8{e~HN1b1lD~V((R`Cl*5$)gK}FC%Y?K%R)^Ew9IeHf~jL=k%pYoA6FN=*Ry0Od0r?Bc|02-eL>>oCsRr zs%S%+)&8EwWY8_Y>u3?(9$=Re3A@1+I~rCU0Yc11;ztCIEp!K1M+(_qU%=7EvQ@Ke zs3GqH9Yv{W$oZ!RV7D7IPoYzJoz=^cHbe`>~JY3`@f z0|q!%ifN6~S4y~*+{13AN7sJ1)ei$tIa!Uc!k$CXQby+lGaRYCJi}IF*`sLpHMko_ z1R$QLed@@Uk5?8*O!&k9H>xu>&gQ8+vt7&BcEzKaeFl%;s7F(lJYcRu)!b1^kq=3m zsL$vBFa_&KqC0|b|K;V&1&XxVLlZIu`Z|91>vg4%eljyQR4_TwfzXJMaCy|{2!;#9 ztVE5h$2Ien@K3TV33tr%7&EKHLJ1x$02-Wka-SCd0)(+z6|E51(#30HMI)`FHB@2m z78?5VNTtuJAU-h5|3m|{106v^o%?t~9aZ%gY^SU6Gt1BA+#x%Nb>s)UI=&9<%kh`} za^}274J#}Iw2b6)7CX;=p1j6dcX$0PvMvE}%BoKtK{&yyV_v)%ZXoMUJ3w~{?m-hx zbH&xWtK+u_RPyEw-N;_y-CGR0_1~ldHX&<1{a^28l!=r+VZ;kB z0S7&N+?xdsAa~Vx2l*JU2l52(Chz1hcgLEjwrt%qAz$N4H}wB`&K0tFjh&w8Oo5bi zW7MGg~}BL{Eb2_^3y%cd54x&8|WKi7jJ>kN5F#pE-rj#1dCAF*uBG%)!% zBB>6SrRkWP67wUxNgC3i`+3Hk1zxWIuRk$x%=U8W*j!<+pl7O*IjZgEZr89m;pnrC z+gTzSr^2po>`)$jVJ>B9AZiPYa@WJ@Mn?MUw`t|N*ugF z1@ucA_&=6U&fIwGa-PWkqwWS}`z<($246yR$L4T%0=SnK>U!PEhv?S##N>G|lwi+c z4+)P5w`@fkVYo7qX8wbGowHFzIu;?O^}WVi~t+%Z|EbCVPW`Q-+15clk<$5dyU|^IED|b%x~?nn#uxYVZc8U2gS~<+=43@ zVtA&znzG*TZk7(iE8kOsRaC}8WaAcc_rBVM|J+V4YcKSne>#l}if-}ul+wV5FT0t$ zUon0G#PlQ3zW8x(^Bv0$l=~z3QP+i;n*a6-ZY~S~gz3bWGXFpg%t#O>kL(_f7F3xQ zNnKJ9b$uB9koo1vJX+ZILyz-kC!?hDF>vGA`w1YRUzd^R4l%ykI{fS}YQ%M|sW~2( z#BIwmj7M@~03MftiZrY*HgjEg8!CzU+tR=_Uf$~3Z#U2`nDP~fu$vLg`8rpW3_#Er zI@{JL3|&fj>ww<>SRWs{2#%fawQx%LJrJ0)9}vt^BjA{Ce$$Y%+T?)gMh_ez+A~%T zSM(IBx=2MR-ODP_XRkxQ!4fW?4-hMq-M-8kpx9#Z9L5@-2&R%*u`Hw=BIB z`Kt9JNTuM&<8Ygep?$I7))cfb>}O{I$)}w&R7%UbbHi`?_Hzi4;@qB&>?|6uc1}7h zx0q|z8LPEI*F=mRDZaXV)j=SK z6Os7#A9R=64Aj*aO)QY`;$(57I^aZqKU6enR@k;}tDF9~~8Pnx^>a{7#tT z82zgB^o>)kkwS0GQ{#@?x#bG{Ri^wpQds69>t9i%ik9fR+Xv8snCXfW!;bxY)&WsV zJREU|zF3=|WnSR~drurBg6`&;2c9=T&@&CK+FN=XEIF?m2HGo$3u6TO9@_GJ8odA( z%nY&qod6)Z>Rn=ajEKl#72*xUW^daP%%2KfjDU-_y#Hw~%6wvi2qKK?Z`_R>_UI9P zyy?#;n$vI?)J9T}z)_pj@##rr^{+$IewZSc+{MfjX(JTkyw)*9&7O4=TpzwUDL9CbTVzDilOqN z`B*3Vbl=Wv3z}BYKa!UpO-hNPjV=(;7@K^_p}_oDj9o%Wk^AFBt6)9qznxH3Fl`v|A9N$H*E;f zKj;mXQG9WD4=2}Z+^xIFWKfP>gqTFqyyJrrUdkOr2C|JAQc?6~72NGLD2`rDHJGVu z(qBMy5N5NXDH{i=2eLSe<7^7WWFQUv??XpmF+>U!KiPy|!sq+(Jo!9}J(kTPsc}t^ zs^Baj{R$BMRx1QZVZH!nv4&|^wIW1yZ*~-Cw#PM^XTgNA--`D#mouSTRNq{1-1XL! z^m4zbj87o#H>$p!2XqfB@4wiHb9m0Tr6gae|IBOhKB+GrQo)Q$Bs0;o>WotvvArzN z2tU^BeX3Ir2^#~`^e;RQ#)u$bE00WZS$O`c#zIw78oZj&Y1Ei@y2)!Ov-TfdJ+qgAGsTQBV)QD@xs^_vbGPFAPz z4YxsvscE1`Nqn4Tfb^*rq2CK=q&1OYkmS71MNCV_)%ZhX?sNXvEXCJ<(1O6m`K;M* z12C{9+#Wq`z!MZ~onT0{h=zFAukTN_cv*J5Od1&6GGlv154Q}Og1oxEf$ETmbjhao zm5{xh7n8QD^6Fn}Pv3-V#CFgbu`I7v6@D`svA;2_PpXq9mwPuBa6bJ{8N)a(yq!Bl zeDxG6d>!JL;oXSlMe82^UQS)&q&&!ZC)lk~jS`Wc9WsEmJ%FMgN4C|p5vb{uur zdR5a_wRtZ|XqzRXZ-=}XwZZ#6R>eXLCrzxd05%^_qx0E~+17bF36kC*iuozc^;1^f zkS{sK%70d}Pc@+vz%i6UDnap%P(I^2kOfb}-t)B2|KJtO$3qn+Jy%;Aqt5f21AB9H zKYoD#Bocdwt{S+uWrnRW#2ky&5ijh^tmFj6T2@Zvss_2N5{b2z@Vm?6AZ#Ch#r0}9 ztRsVxPrYI5*Rf^I@lci4qK{tLJ1w=GM{5kY;$N}|nh+;LIGt_BYho1?*|5l*^^>kvC>d2d3&Ek9T z!0?dp2BhAZ{=guFn=8e{Xd&t>Az1yNZnNI>b}3e18<{I8jip&%Ra_+v{rQbqW%D$u zR+i@M5DB4XpNnzoLO4R?R4bwu+&$f0v#h`veE|teGJebAAo9R05kOC@{?f+pLA=TT z4uRsaWz3bFJpuo_N^tq+XF`a~ooX;eJ5O&7h2PRRLSP)LmPYNBD zt9YpuB&1b1`VDy=>Of^Q|Inww_8!L`9-Xq6dhJWrVgi zv&VNk?o=TE0OG_et68WA?~b>`xkBUZHiXh6)Zk?8t%-X`4qw&^Zms*!y4g<{aaY&~O8X{U#nR7f!5QJCM zqu3_Iwc1M3`y5*8ZZkvk2>vEg-yE}54`tyqnfV2nFRF~l>{_95 z?j1ImQiO$WzawD4J<}Z1{V{r`+YjYRvCY8r*0}Y>+_ZI7iyNikDPX?eI3*m@N7@J7RTWhO7lD3>|Whr|WE%AXfR#b6^6Vbt~)i ztXLkM0Zwfh zCpfv;J3Pq;Ps`sO^XAur5H)(h3C>PIvvg~loF5~s5|n(D5}dJy^7NhzgZNoZkMbCf zZDd29S0bDifM$vqfZtt1$TQ7LXitLI1He*ZYv>Iutm|S2nU~tzIav& zl}9W$O>ZoOHJ0BAO@_1jkL({1C;cJtkR#FC2p!TQA&Z_I=E6@o&jhbO2UJ_batZ_+niFTtz|B*zm zzF{93f*7I&{xNlIV>~)L9xa@F(Z7{lv-PL_w%&u?W(xK@$(*@y)=e`UXAfRNrV|34 z{#IiNpjr)cU6X8OqU*ZZ2V_|6I$UE#vZzvIDMfL`v7~YZEp`po;{TUP&OGF77^1aR z`cclFn+H9>^#_C+S0p_pR|%SJ2eO9JM%Hr6|HiFn<&EgJd@Y?Dc!(7f zc=9$jFeB}$mhUWZJM?WB;J3k&Pd{3K;vG#XNMooq&Y#q`9hkDr0 zx%BbsT(Nl{k;R}ajuuY&0W@_WiYmU&UX}K!1Q$}y{FbZvgDTt9jj;nrv#a@t&jr`2Ww|j=tlw0#&J1E zJ^2zuSf_i+l1kMR?m@Go;JuI?piHe7O2>X2k$o=H&Fxe$l7OWaV!Q!t+F-)o9KJ>d-RWKOVtPA(Usg)rnFj2X}%%gmz z><>}dCRu25h}&D(sg1(7c2QY(5tqnK)d#McRqK@=FW+YU1vVZwdCe!UKKA{bQJybg z@cyf@0kmcBC$vJdT%DYCWvYHvXF}7rKUoc%-j+xRWz2w4PGGEZ zd-(2w&m7QqL#yne>>Vp>4ZZe)-#o#7k9}0^x47ZHn8m?#i1@DC6fV2F=3`<@Qd?5- zh&1Gd)9EUb8E@dI(L85=zbpeVnyE}wfgVkH#Tr7y@pJn&8`)Jz17bM%#XOko_eIVz z=s|`E#QT$w2J(SdU)@ zo2^1BC1Zljl<-Jmp&UZ;UdWj628xc#7GgfpP}Gz@MZU*oewiWT$L&HP`84HN+pTxG z2WW8bBwN+@AAZ9*W(|@1My~TB;Z2vg1A^*Z(O=;Fj`{R_WKk0&Du?Ci* z48kBa(xq>m$tRTjw$a5^w)kEFWqcE-a)zZa0@X1HCPFl>yethr1xVmReDU(vW8jCw z%(vhBS`odIt$y0KN{91&Z_lP~D2M6mr$Tf*z<)9WVK=#vfSz`A-*wG^X<9!q8LgBV z(dH`~4%hSk`d)wH)qywb6B(a=#dYbP7=~b7jK>%&ze9yxe}`X_W|8`k(6sYr+?Ac{ z3b!=|>YB)g9HWq4okwlC3NK{#x6pmSZ1lXL1OZ3?@k>caexwz9c2!zB9~I=^)H}9}(j1m|6#bBI1d_Vo9@Y^< z^>9X?ML(Oz4%}*&%}SVzRr5~F5IbU$}6np(v;{mHHC_5do$5P!yD|ASf*= z3J6H=B?m!8iWC8n8W0hbru1r1q?aJQhu%8`l91%Q$N#Kqi5-a|;uPb0Pb-;BKfr@7%LI0!X^Hv4qWVyZNlDBY^oH6_G>^ zU$BxCab>5K*f6NAQi;KmPyRb(GoB}51e{r^20YpAL}|B6GD_h^XaMt#OGv%PPZNq(&X7Aj+F z{TwV~X|wn8`(*|Y@(SU$gKO6oUZb&Vb`!B;%TLQzqS$?3^FIsbfIt^yFKay~{?sA6 zLMiOq5Kwcg;0vTNbZNhL@ct!3jc3y}U&$Lx_#?>ndeboE67O_K^nSG_jr7Spy3km8vaCgWm6vyCGRfH$8>cq_5W9x;VnUEncg?cwG8SE>~l13gO#=&Q|uj5U^ z`v88(Aqb~HwL5Yj16A5SlmbH$%0KADkFn0;>_W~XA@LaM@JJ{D{Tmv}@GTo_<6k{b z`T8b;z<9vH{@G#oo=GZ(tt2x9e>|B6i|3|VHA}E-3VRrWFMUg24!FI&(H?tR#I%lE zaxzndfB0#K09@cJ69j=yt8P7Vp1)t-V2mHummpfUK0~rR#Mc-_mFFAlvNDhj;(VV z|1b5AG(4o{^5w8Cq6G1m!YWw|HDFR8kmf5{;qnCV{X189{~e?m6f-_eOWBH?JhAZC zc=41@YXkb|?9r$u8~#%YBa;MiILW6VmSM9@>T1#Z&yhc<^z(CnilzH5Q;Nk*NY7j= zfkkMMe;cQI@aB)n707SsMLWOa#%czOo4&m9b%XG1Uc6eT3mJZDE(uJlGu^)oS#kcM zYZzqfyg2pFfNCA}@oaCKhf3X}&8J?@i4sfF913gu1#S+0M*o5?ma^j8#RnVvfKQI% zF~(njOqrf0Bm}qq6+K;X;48E{-Vhrc>e)kuCvRYSj6UhHdyoeocYR-5^iS)ySE{({ zz<&wrOGO<0iM>S<0smQkp(3ztU_?NJTVJV*mjlxWRHucgK&YP3U=2df3eWjGY$23* zG{(WC$s0@1Sx4qg+PQIp-~C%jX!@Fslb#=J0$fYW7w9X2w z_>}3JUwe%oB#cYtj`#h<9x-++A^)G5U>c@ko5hmyEy8m@k){0XMZYVwNyz@oUke)4 zf~nyu){xa_Sii#Ge!PDVQC;%{QV-{w>iqe#dx8QIH(hPcU;k{n|B{fV`;Uhs2NO?y zVEM0yiwCfQP`9@2<5;#afrE0oE@mrQ%enHba(+nW#qoW-M-YLSD|%(kJ5!`TJ+VG2 z6cy9}rXoW!30&12JA3xGi`_5@`uAt=m!9@$DR1pmLk8-C9y|nXN6bWnv}vGKf)T>U zJ=WRd@>{P|rWsNm-QK@nL+kl_?sphz91WP9cXfnx(?t`2d)wy@2r>9q|F}aaNEEI* z_Zn$M!{qh2>%41S#d{L61bkip8`2~5)yhS{C4jl77pCNW{WH1AVggq}7J&?1E|7)z zGFWo6=fO<5!QX3E)h#dD_ryhjw8;e@uV1?&qo+f2TNlk_&b`u8hY9ULcnN@vX+@n# zDLKfqEX>F9bx-rnhjWXB_B}B^mRzVaJvPA5#6o*=Qb;PP-P2SQ=fxUvnbLE<4qAIS zNxIiMfj4g4B;8`_53LQzqH3Uf4_ZLr;~+k^P%{urUBE%QI7Dti-=Rb08-U z`{_0k)6%$y-4$Cv8}3T&5=|l8VkFgr8k6D2sag1-SSN5UFZsT{XgE_lPs;O1y8hDV zPj2wFl`1jH%3csMzb9iMkvGorJ*8BP^SjvRm*RhHl3zVGfsl?NC+jyuAG+J;ApxPN z-I2Xbl|Rt27P&VKzKMBB@$ObJj>YM;5Yrq zN$61|eu{%oH)ysJ#I*=7y`$%=Tgr_utm+2g34YZy0}oA|s%*o5sUq z>&=hBB|X4P(LGg3cP5AY?2A^8596t^B->B5O#dWmyUU!y+E+lRp7;m45ka0{B{!xmr7=QCUPuw z?ENS$Dn3cmUE^5-2(6jIH;q;hd(zyJ_KCohLL2Kw+l$OfZCk(RkGpt|=!>6f3gA~b z7^4Ym4ANTdCYWqq)epmwjk(=G%K;TV;C2tXk^wF-~^?>&(Za&!SY`{!xHDsNFNbJXTX zb0!Idgp*Pgi$=hsgL}R8Er7jykz4c5?(fZxEFsmf8S$mdAx~DI+Yyyrvka#dpc#A( z=2xKAX%kp2_86ud8|yDoapC382US!Rho*M^WBhMOQ;|4GMg4px^TH{SN{uSubI>8i zW*j7GT&Z{mEuDWe>fa?}My<4OD+_xj2=uu=y6ZD9LyZ|i2Q6zp2NHAdxOH9U=eVRz zBOh?fYw}yVAUq!OjC|U=^(qF-&NjZ&ix&3}Uknou6w;|A*xdng-T%xR%R#9Iayh=U zYfeb2k*+A^_TY$6hk5C?*F~m`*F#X{p6%Tjx(q}2?yP`MPUp6n8Jh1z5llq4yoYK+ zg)Jb;R9}iUOgMbcnNADar+rJ!+F*oL`~f`WM0utLh)Lv?PuAKdS7ygv4qhC5`B z3^J;akG88HEZ;{Q&3=X>U_XRXV-hMclcc#Ljj2WKEue84d_nzJY3uJea-r&G{TDD+ z$(%1^%$q>SHWvK8$8{`*TMMk)Min72Pkb`d%L81!p%Hp1g|Q;kb^>FVT!Q4JlgWO* z76n>-KYYU6u7LW($Kgr8)Qas80xqCD7h})Z-SgBnbX#?6RhUAg|IE^}nxqE@V(C&vTH7v=D zN8>hUuC&?E<$oNwrPPh+$`azCF?@tdO;xLogLX5;b%5y;`;zZSAUbpC#o(Ann!C0fuLSQ?{K13fIu1i(a0z6Z zCqLw1O5Od@S3hZ-PLBVcT-;nH{ipVQs^fdFd$jsz=|eqA$rr54b~v2U{SJD81ghXa z@CjjtzkCgJlP3)c=6lAD;w-e+grbtpw+HxEg+Cf~%tTKtcAx z;mK?cavf(M%)B74M2YFqW@J+4`ENf^(SQjbPcG9%%$5N5od8~@8;-v#(0&G7TMXY@ z=<_s)1FF^qy-WX@N%x+eq2pU%H|0CfzA|~<)qQ+!XyCs-Ni7p+mrhyF_*B^}6lPL& z;x(}DZ2-IIujJEBXUaTvO>)wD<2p4Jo$+H{-O6n~>)|S<(9wJMe;=l=+zsE!izWt@!vO=^oN`#bPr?wp z!0o`^(^R}8;$8~16;b~HuWp78*4e|P5#Wl{#xKXW$-T*-OSf&@it`+xP5_TKFrQG~ zMeVjlRM}Gg{TRWZu}9P_{oi zZUl)YOyY*LZS)gTPXx?0eQ9OPVWO%jWd`TDJVi%17~LG4aR+;Ga|;McQo#CG0Dc|e z$Zn3%zi9*Q@@(cNlc$19qjTuse3YIbpflQZAxEHho#N7+Y^GIl$gh1gNV9l*g$`U$ge3m;h_+-YKkk%a^q_L0> z_HG03`f-ND(HPtoNvj<1P0r=CNjJtt?n&=Y&g0&^ROISA&|YkjM8L&fRk}<5;*WD)D>)c zr%fK;BODDs#JV{4X@zPikHiq`j&~1pB+xXqCe2=OD-->j(&XVj%_(j{h!RC@f92^y zCE@TJZjHr0wvqa(Fy?pt$am0fx;Qr?aN^#Dud<+y1~IO1c~3G?++L{M2346T&A*nA z(x{q^NM&km6>#VG<0H^-6{sLWN3F*r9 zx^e4jB~Ev^K*IZBYXtPGQEq5!;z<9{2iA;65nlu4_bVx2Q}ig4So^nNA%(%oinHXf z8vL(!(9u`(^S;uoI+EB8q2BgaR`4+0HTc!;+-ZW#Ykh)9*~Su3vb(PRdoC*2vwqa? zcb&)7L7KjgVg<|ihpH>##F%{NEZXgM{XXAv*93=6J2L+^!?|?ZL5zdfcjM&B81y?n1cy3 z!kc(ErwonEkEAvTlzfA~(D74s7rlY__LH)nae|(r z>ZV_ynri*{%c2UvJMPx0=e{p0-k3-RMIVmgDpvcw|FfiJIqI8WJ5~FpI4InD#XAFb z^|j8>poKI!NR@5B&!IUV=ZPv4;ro1+8Y~&+qvT2*jX;~eqn1&pcx!#;i0Ko*{~) zcM{Y^O|9q-r!jFDZp=&F-G(M4Xt#abpUW*<@x(*|)9v4TYHLCNFYP7taS)<^>(|`X zN6n^mLY4><^tSur{b#0F<&Qiz^}8X~-5LV)&bgSg)KL|hnhdby6O^f!wvp5$1Ec3! zzD|miE#QsCI?yl|(FIyPawx1kK~HZs7i9DP-d|?3yQ?}P_XVr=*8jtDHwmpaDe%s3 zp(|6})9X^B9EUkK1M~jsOICVHI@wMF75YhR>_b%Oo_@jBj^* z6E+^aeu1JwREVflQJ7O5ed57akvvRW$nbRi7XZ0{nfO%SKpR})Dx)NLA-~2Z*ICUt`tDEX0}wpQhrxhQawc~Z+B2gk&=y%7tJ|=*D7#{AO|(^}slR8(aH!;@ z5@GJ8z0f@Rmf4tH>l;Ixo~Uha|2Ygl|B>mHJ-eBk2K?*Jzh(2a zXWXtoGkHz-TrHpX?Wuj@s_8oo7#-cTJ~QvT2tQuJ#VlAl!@Gc7sOR=DBR2ibluj^c z)%__?h$$Jr4oI>B{kkVeiB)&FoIUx!5a?3b$kQbwh`{YFMnrm3f#}wlgOy0%-KfwN82C9P#QbOS7M3n|?dts0n=gce3$i-Sk6Z3o8I9Z`2Wbocj5%h6f70~Sl4}@$ ziPbpBVF4FjN%8QE2lQyMVm1QLg)xS}`Z9x?D+D~79GpS{S`S%(ziQZBBA5FB2Tubd zjev$d#d4U6D=FRzbWsGYnFST79G{u9RZ-2^-wA0elXnw0mzVeB_Sr)Cg{hUZdRD4JE9MICS_gCS_TI(lo-`$?$A`}|5S!bvTN+gE(n%S@nJkK4w*fI z9fujhMj zx5-cyU@;mvvi)H?ZuIjlEm4N|Y{0pll)B>d%hTn|x{;g5H&}A)$X?;gH>LNyBl}L4 z{9$oBUg4?jTz0cdI8CQ3EVFBalxM?l)4ARNLo5k_V+bZwX>hU$=Bxm2JkqEe8R$)a z%N9e;y9QdJgr~}Q!`N9s7aC)q0b;zW<8%WhEB|R4HFbsNO4`Y^+MaK}m{Ikd8TRzo zJXm$E9T^FZWPY={-7iT)F1fhMO_$?U``MZ)FXZPuZO%Yi;ZItXZ@XF^;q~a;`(*bT zDnBEYT^lMv`0xp}>?(W;pz=dtO?6Jfd%WD%SA^nk@LRZ-fDb!$EBQqs4`NbtqA`R9 z_UK7rL8-#}vE{_xM!)HKp%_)UbCEMr-kH`{`%i{hA8@b2(v#?NhG$zr-A`xMhcOPp zEj89qriX?MH3YJs8|ntF4&5a`SUmQ*>Wzje(^Le+$Ht&F4j#4MR0DeGggDstCeph@ z0(})?us;KgXT{YAnW$xe3tOr~xN|C!<-mJ;);Che)q#KXg}{)aP4wfTRQZ zM*|nz0D4Y)PKY4(Ca9|i4<*@Jb1ep_nBgC0+NgSD9urVFN!#C}wAw-+g%e=vl3<)+ z_efBKZP~!&V?cOsgomk94OLK%jf#ql=m(M&VaKeM+5osJzvIU!CAQ)m2!o0gaoOSE z*E4m>bnC2V9@0LT8N32HdsgIK9c+0RUyb*&sjUU&)05c1JCxwpP~Fa|8BbTjb!c3e z5ouLL5}C%%{r^je=LtvyIZapD zEue!=Q%^JW@hn%Q;H06dHsv#2jvL9JZvOA&?l=!tIr{}CIEs;93Hm9`f5uT!^;^)M zWl^H3c&sUWltEMEfE^n=HLuy!2N5JYBSf~A@tbX*1*>Rs1W3Gdh+i(WZi*m#3`*Kb zp6X0OngmZ6fsZwdRuSKzKxYMA7-|4!Hz+cq!eGZrA=1(${TY1bcL}3%#g&~aW+bh> z?oL~&^90*)s``uN>#~)|;X9^C&DFteJxqhEFYKnhZD)NdBUD!5vrT9MW^)MttCx-% zEZJyLE3c;c*~~)_o=+EU=vgnG_@cwg88l1q{TUY`uNm1zKBmsYJk0OC95Fc1BJ3#q zD=H#yVNx&bUne3@TaANIu`#{8ViAwf^Q7B-JO||4he3nZ?)E^6(XQ@dkvMypPjXTn zwP=avQIEz;jxTBeOQ8t6W*(s^jof5Nu({m1p{D)FdgRIT_DlL$VN>W6a(J+v%ox20+9L2oSs!iS3b4c3NUW_vZY0-NXD9A{)96&T@%K=+S>`wx{;m~9u40-D~?+<4kQx`3<$tivLof(e< zRIUS=yU;pY+M~>Yx6$A+=YmIBF4OeS%@QgC?i{mT`EcpO%fP?6Zn18Dg=AWiZ}^O^ zuD~v;i8j~9LutmM=$yhixc(q7*kIJW7f`=-$6x~5r?2G1N4mQVNP3u3TokF+MHQuL z8pYHVhOH0KMYnXle}SAP3K-GzFDpF+48vtauB#K2pIb(^h>fiU4AzE7Jy1K|W;9h6 zwSyZctA)?@{k%X}qMgU@*!n+UdMXLaX{oaL-YA7BYb}5KV!L6=G8`(j%+S1D^s8KO zD+%*xI`^u5S@F}e*-VRtCMZpNav6T};5$^Ih&D&8NjMF1%Bv#<#N>NE7qv?CQzm+!{lvrVr8>XM5}aJee9;QlSf9{5Sa5Rx)N1RR-M2P2HVdWV2VtG5q9b`FT5Ov=faBL*@)Pbojn z%D)Uja8H1XnLb;5%0{DO^RW&DuUTF04yJ2!RJRPlPMui>)G51(;1 zJGd0nW&UAqlSVx&CJ5;E|6Ls)EMjF|BKH@%kp}Jf`hppmZ*Iq< zN89lA-#SjopqH2rCjobb&m4sGj9v21YuJ$cOD9HD^D@vtLduhPQvgY92M$R^t{LjD3&K=Zdj(V?br5qq> z#a>K$YZPiUZ1rcnM8>oA^N8*@SXZ2UL;04kzoC`>x;-shtHq`G#X*^cJWwN&J zU?i00a>umdo{33-SbJ{gWG_vEkkO%!?qRsYLYa9**w%YYr{m`9MA@InpCNRiAbu<&*Loc0hfEl9$-LfT0~DZzW$kO27Rqc@&XKM3T5=z8P%e-Hi`!oe;#P} z*0Qs)*HS0!sCkkLm>F<&RZJbMJD*@20M+Ibo(5#Ut9A{bKD_a-Q_X&J8T|kYq!<(7 z=kJYPBL~gUslU4}=A0IxX;*On)p6Gp-M(r!#{mk3jFCUX2;A;p5PJ56UeUuk^oY&) zNpQCYxg5KokD+TONYhSQn~pXaj_g0AP)MO9_mo}B;3FXdu`ZGSx+wyD>7`eg*9_|B zULe&pRiT{7#{kX2KMV*Ufo+|fLJ+O`(CH!HG-z}?I?7SROy@5UU8iGnx_OlAmJ$3 z*0J_2%7JszFm-y8g-r5owtYU8-4s%4K4>)pw21OCf^1$8O>md1!XVI0`gZs5c=0+x z=G1d&VJ7_!njPXN{&c9q8Gz4DmK+r+U*TglpE)>ZPenNUfkiwZr4&fX;U~N2Q#(<& z%KWS0-^Fr4vTjddl(J+v23T5HIzR)bVc*p<=wNF5zhhuwe}aMMNNl_X>T7@oz_rml zC=E;<5O*+Dc1KDo3$U=><0BZ1U4wWHCe(CP9~$bOBZJy&Ogo%QM587Sh%&5UnY%Au z-gxtu`(x~#p#_dSo$0GL!?WK@pY~lis;XR2q>vz%@ZOOsEMzV1fG|-t%7>wm^85&c zvWySgv67*?9`itMWI)H!#uh*q);)hgk#su(HT^E~?rBSjy@P{iFmRq%0%kf`Asuz* zoa67Pw#A)cs>NRu{=Ygd0ezxy+?c~fbdcMre;CbTzn~j8oTSJyzMH z>AwH;7{xTuv_vf$FRiPgVG6IXZfJ2Q@1clUDIGA+uohbMMcuDQdk`Y5)ATcKU za93pBwtTWkp5n4UBG zSTqzCo#bB?g?A3b1ukzP7&&QHX@sj#(?hVI_wDmmrM8 z9d0x?y7&Sj#5B-8V>;XOV|~GwZQG#dZ3rKGBC=oP*%j{C^cX{ER4~vWlG5O2rWc+3=x_2YgsVnkppc>Es1CK5xYbNvy(W zXAxTIt3HOm=idB3F9BTWh>kg#-(Q^%7+YV0$SwBRZ#1Juz~v5pWK|~;k$317{>_}d zDUoU^jrvXb29Q>g?w<5F+LCMhcYB8s%8|vbnK25XG%^}bRM|_53p^g|lFis>M;f|e z`f)L;om`{AbaS7cW4abY`&aypj?cXAd*m5v{%qg6N{Lc0lf(F$%GpxzpH>QQ$WD>91=UnUIS;WxGwwsR){gW7Vr~2-E z%9?<$hl?Waew66XGFw7EbA!c&GwI@>-vIU&%>T*&-2>6F*-`_<&&187LhJIAm*?xUd|STt^ECDGxa_6 z57__q#lrx_>UfY$Y1R1wBjYh7_hQg%ixD>Ki1e{icz=lzk@^EmG_l=0%xuO-LEq{q z(9$D_hdD&%rHR%A>upY3r%-WxO=J!^WT%Y>|;WBOzpS~6?1E#bI$U?;hg&v%so)`6j{#*Jfw~~lh{?LYida$ z{bePsU0F2w`I<-hNqN&s$`kL9L3?Mh)ityNYLqL+ael&eb!DPE=EZbhAHbzh`y7Dt zK0GYVK%>WI|34@dPAjiGEkmHY`C6c)Xk$d(C)zBZSNJgFujVew;=Herr19|%q))L* z7j+84?1BQ%NH?i5$*#4ueNq^A!LE3>|9kHX^2F|ygF5>$yBa=h(Grv8o4;2*KMpzy z{DG7KHU|3472U>BqhAJbuN8`cR_Iu1=FS(bHWH{cSe~THWy>O0ItUh>r7yMil z#5+pt{k%ZhVd&iktBx=ha~Q$Hox)w@4*MZU8Zu=6Nwj_BS23g!2tWju{m1F4Yk647 zps*ji^>%}tpqr~877ThgXhjQ70s*%|QAcUt?c3P`f={qEbyFFtGecaL=a(#DAg&?&b26NAuWW4Th46aFRC! zT=ecMhgV)4I!6sy&yD(aT*)%?Zma0J`u12#&CkiS&^^F^dzI!&j8+~t;||)s-LCs! z>hA#&4gT&vjVPkZHm)Uj!Ps4}eOKjTRk${?-kTtX1} zeuZv!ia4$`HFzbcYP>}Dpg!aE9Hbn6t=?DVcZ;J%l~t%oUyw7SZhc0pK3T7s4EA;W zGTs~aWgoz?T73oG`lG2kuW^!`-)$F68X!V)E!Fe|l*HFJmop;-8@Cl4^djqD_7<jmJYe z907_)+4}?Tay>gaSY$|T&D@G$@Rb5G*F~TOGk1zES;G2ZJn~z5i;|{z*JGR(#N1b{BdX&kIUEl;f+>z`!>u z(g1W3L3O$l>!wNVwM2_SWE5ESp#AELvBTB@C_HOr9Q95&`iQS5(C{$YS(Kndwgs)( z4P$42>!I6*{xG4AC6JN^0|)c%Xg_i(FbbrO636X4uBi$Z`tD!TemI5;C56CEx2wLk zK(QsB|CKxPs;UCEyKqd#2WWTUdS~Rg8iSIul17c#i*{Ty4=ZW@ACvpyG}}!YPle-g z$Ibrp%0jn;%J)7-2%!8oZtBrsUOCG+Rg));Fuag`tJ%f^A7L?vFr=jRcTpjuTGd66 zk^^ilBcA(KTKE6L)e6ny*JRn}*EciswrmPlV;H5XpDBG~1Ayb{ox&_~0fO>;gBM58 z9q+RPnbhfo#FPBMR7R7R;-beqg$&DTRXhK=tQr zL+9lHn!yCD-`Y=BQqz0mnw2^aDkMRy1|43?k}Z18S8ufLhOulgu}ej7-P9a@ELQi4 z8uoq^@bX3~gYqP`EcVIQI75=YahR9mY&G3H;F~R9_bg^!zV1_%<(z$-e`lP>GpQm@ zlby^XmXQlGgG{KLsX3zoNz3}Yzi#dR&2{HK@N1{LHsz#$5@aCbJ95VN-4!Y2{QGw5 z=fcR(6{vn2n9r&Gn^dT)j$^22Cw_reld28lcdIK#wWKb8mVH!WTv+lZ@)Lg-(PQ~N zz+Pd=`Y|+=p<9uMpX1Bajo{a;0*k}~BsIW#7ehLJ-U$7u?GKuya>LZb=A)A|pCw1n zaYgF)r*ymsOG5h&CehFMpCO01SEUqehgz3J1edJhQz|ub_-_55){O$H*GNs-qm$L# z2Ex4YDbu)XR6z!c`!ndyW@;Yr4LCQ^3)J}4Kcrtg@%eau{VwZOD~Y$MvkoLgk6g1` zz_U!M);!tlM_joQ7<52ic@8WB&~5B9Grxop6gdInT0x>+aMKj6P?pKldo1F${vY1Q z?MD_z8h&3eH7NQC@wk0=LcZlpUxCewrMw-+sH~_ zqXX3cMf8$8w7MRawGMRknCNLXFaJu_I6fPhWLL5G|2O(X3!LZ$^|wS;eH<2Uw9`ff zH8$2oNQZ6<$GxwYxonDj^N0C3)Nxkp8V&Q&h;&>(Z~J_` z73nqhb*2*{fY+mc4eylswgcvS2D|V7vB^>-5vm9zsn8 z_!GQEm)f(}(u_ zF00emxGJl264zIx+W1&@qt@*pM_aRsb=B@qyvqw0MO4lA@A@)MU&xMc`V~k(KGjx( z=WwXqVjp*!%?uQ=E!hOO+5k@c&h@q9d2rJKE_FJ}@5vyZ-|kV3cwsjBLU|snLw5h6 z)NN-^+TOKaB&IexJRC_~QkNM)VmW4ye)`*=DB(>R7U7aB!Sv{|uYBJp zzkT$~EY`CXXTw7bJ5y=TI51pN=v1y#S5oX7|CFD=W_%C+3wul>B9hGCeA)pb*SUUN zP3vgPE~D3@`9A>yr98GE0hsZhF!hh`EIdiycz^~xQoHD1hYR{bj32o1LK?TgfDYZ` z`$;WPuG)Ph0OObT2kio3Uqp3xRWaZWD&`p6w){!5)&!Ow08Ns1m|zF+yCO^{)+Ck}r?c!NY%+qHnKss}^alpIYdKHAhXB7fW|z+(Q<4-;m1yzlPLyIDMIia@$(!Iecx) zT>vHRlH5nNZI+J-%Xl>U^U-Othn*==uj#|A-kL7s*RXpw=**^IWEL=yw zYFUO7{=LSW)H3lGi1z5ui z-W|gD?IQ)$J6^9s0z~4w_Vs<{!lyTcpxsiJSAiKqNhaCX$ssdT%DcF@UI^{aidDTv zhU)saJjm!vXw^6GZZ#Wn4jn`vG=Mqav@GKm->md1|t;e)~?&Ufo zq{at?d^yb0ziBoGIRzeSB|FT+yReKd@~{8uSlg{!5SlFKHn0zrU9F|oTJr_)?u`o5 z0kaY90139+I6QN~p(tH5<0W`y6)`y+M+G={AsKJt4o2+&IWu+lMXfRbhcJW>0oIYu zSY_q=k@Kz3-`u+cW|H)#$TNJL8q~x)dRHG=3>9&^DSAIY9mZZWGuF~JaKiLz^C0lc zVabtN%Yg$_x}Wdol{A`)dw|_?d@alHydKIdnYfA>M5^K@AH> zICNsN4!bMxY5%PV^$rxP$Yp@)aUX0&?bL4 zTc_y}0r?on6JmmY6fq4^X}SAPZu;rZ4BTjbyh#N+^$JiMP$BDl)?+UT4f6=_Bpuy! zYhSCO0}Z4nk>C#K(vk*mE)uA6D<>u))fY@f+j415A74?qp82{i7kTySKlbkaR+j`> zKQdy$-(keduj5?FDd6Nuq+d)YW0!jM_;>&&JK&EzhYd6`5)lqv;FW&%_`tsuRg8b> z{NK{S9QnT~d1VzX1^OLe1cIinvbHGt{@?xM?S*+DH8eRxa;H=9CztVeyN z2@L?}tz8cK+rMZT?#13V;}-vMkNls$^R?EmTuUNmVp!Yi)bt)+#jG?1_o_fycNuBh zqAlK)eBe(~Pexy*(P;6*ce1v3@9D`pZ;jkB4|FxyTW$IA^egABJDehBmv2T3F`p6A z3jZ9i5+4(~{S&@I%Y&pB@hoe-H9J4kfTb#(0GSoonG>fR1eLN19snC;3|SRiICe^Z zDBN)_IKe)<>Gq(+-K?;XJyy2QMXz+PE8K|S9d#RD&h47TJ<8TIaXVZVFQVzxr#PfdEb>(kzBK9ux&d|Lc1;TwOXx?qtJ+si) zA-f!$E!5&SRQBX>RItrATJ5l5I_;pYCh>;)^jB=%YPltCJ{*amC%^*mNn11Q3heT^ zapG}1Vmxk#N<^+73SN(IiH5WAESVHQ<{a2)n;Dk?}mJPJQR< z4Jzm96x+nZI#$`=O!(>SwxeGBB{=@?vWkHf%OhKHU!s$)^A(tH?CGCYdC^?Ofkk{6 z{j;pE(VE#`jb9D;UzcGbs~cMkRTkWaTCq zPXmiq*=F9&|K0+Rt)VNn2<-?)SO-HG;n*eyM$_!BQT5QAOAW_!>xAQ7wNH11XnZp` z{44^r9ZMKIC_ostX(cm(o4}z;#km|?5jk3-X7ta=!Aoauaegt~JiF&)Ubn12&$57;2ySeltNvmyE~be4f)etS zMkBw&0e^e#M3jtX=&iPtEoGKgdW}88pFWw8Cyp140i_5usP-ho(WHG{!*6!9b+#9( z3YX5$pcFIri2RX9;%I3GRPHS=5xLS>wKLBz$=L@B$OGcE?3#P-g+}U)mzX~b+1y~l z@R7|=k@;%(yJhXh34=Ro9d8iQKq~w!k>uRGW6s!`0En;F$i6zvU;$NK8=?VhDp;fi zew9p4Y=$c-U)kS0X%d$SEI`O#x%WkO`qii8qsZNqaxf(vm8LNx)kjBcm|`cq8jo}I z3zZ506r*RS3kh~T9RQcxHHEhbjRY!r(z|0S z^a9pmj9yeV{_c$Jzzc}eQ+4wz*vYw?!`nKVUrrKvz9;-Q9XQ0-fluyx?cmE}!7|Fn zE|=&S|GM3sBGu4MP~YFVYQIX~?)=Lg}JYHTpmxH@eSHRpGE=_Bq*ONQX7DD$u# zu+vS}>3ZN3yV)P&FwND4;0L#p=YG&(*kBGup&3c|Rg#!rIu>hO))J?4QXZ7Oi@XSY z>|+J|VIdyD*!=tBLWQ%alB8V1p4$AW-`xQMUU7sh4R<}v;1P8H7#0B)ThPHP zRw$Q!WD=kOJs%b^E`D1?@OGHC<1pkWL6%G3LmQ|+atzYopd8atAunC)2u7Y*)(JlT06G_-A6-_8{?-*; zdAvyX?%lhOhO(Wtz8e7dw{PE~-{5wR?Ok23E!FSB3eSV8;2ch9e-G=iG^7sGs#UzE z+$FnMz)^+Rt9Y6{Pw%|GliOBd95j%$ujbn*hT4b;T<|A_sE`J05cohZYf25chv``( z4!;3^Ed!o-=?ZFUI<Yb;5e8u``gu?-roFq6FW;IzC{`|u#9(tdnH!4U*u*2X9I-`|J<*-mW}Y8;JhhH zI(;krRwD4U)f)MA!JpcK@ifF_&6nzu*)M^X_rMXTvA_ke!9yPpzQ61v!?*2#M|`SZ$vAr5YF@L^sZvCklBI_zvF(# z6nOK_F)s(qx~=;}gUcuT$5*DXwe{|RYmfJVK&g%_etaBOR*DlvRm<0Zs)KMxJgQIk z3ZAzb&7Mu#SACQmbAXP#bM95gy-K0{l;0o&_46%kT@C%nrV z3X)t(JQx&{o#-j^G;uj;n^-e*zMb3Mz7M++gB~#V$_Gmn+is{fZRdtkwPpcv0ADt= zZ=D3DlMTeddo}<5T9FRxm>r@M0^Hf;qJ)}VMPcFu{vg=mj&-%`jR=^yzRai`d-S>9 zE#jUU8p{Ko+0O+W^?qNxlH79OlcOWPOScgC7s*6L{Fu%aC zh&b%g3aUWxyh-pR1cX5#BiRKc0u)5+ijODFTJ!Vfxo*r!Rk90$oPkl;D~Mvf4Og4( zk6rcXYP`(3uC`FMGMbGHMr{%QeUM%|V5vQnPW|z8m?A2dHT?Jr~4vC?%$`hZ3*m>+M>;V$X1{5_C&yoTl=wF z*#J6lp(A<_=}abO>)GBW3AU{mlz>nwP~Vr92L*LcTK3Qg4$B#LIN0hPd9Rc*n9Fp)7i+IPpYr2s0|tt?qdPKL;M;_T7i<^RyL1_yw{J-<=jW!A?J@kF;}KR z^nOr*kcbB-N{|)3w1f=HcRZEv z|31fzjD(1+ls(GGc94-|&+N#^$jr!i?Cg<{d5k245Hb(hBQue`_nrsmoaguS{k(qv z=%v?rInQ(7@B4aR@9TZt_x*ge_*O79VMEbi;b+wEBSAbIptB9d{yzIfS_Vj&i|ySM zU&51XV1V<&HysFEwOl@O#p@1;YJOmySQh_ZGKi4_iVxTQveu$UL741+&l7MD)Hw#> z-x1Fjhi=MV{9fjski8ryJd`jC&Q)lwE#Ld#XjpNQfgYo|Rz;3qsGF+z!KTGG^|=r- z2N0yk@gW7p|GnycP)!{QM+?{gMnCNq7|;b058`Ot#)0!a0td&^&hw0ntq*?o3xW}x ztTYTN>TlxE=4QId?v&)1Do(j)FrggcZ1}$)%f}Z>5GGe{2#N+4VFX37lv~IDo6~ug z{{@!b)iMoG`Jxc0gXtVhJHtOoY5GFZeRB>v6H90{ea(Yej1X7}MT{MHLL-GfmPqis zzX1#*|BLlE{ixpeP|K>##x@->L`Lowd@G(jg@Dl9=AvCCH@xm-XO zI`qR^S;q?Y-OzlF&;MTfpzh!YyH|dEFK^;-Mbt)F6MX9u{p)V)$?NGPD4roh*@UK# z(D$IC!M|BWW@MMw)7KlP4%3W5DDhmbSUBJi&(2iB0r4i@eUaAdbXQQU5&;N`{Jzzj z6Q<>)Gt5nFEp$TU2S=-F+z(-O?_`y2YzluEEV{qg8H|iVZo!(4j%)+iUJw|6GUD*r z`+qaRgO(@0RY$%vp7~=>S2z3ClPX01ttLs$M!ge!u40T@FzWXul=;Tlf!yyHfPR;< z8&QY|P7ttYU#A3ieYrSct3mi()HGb0XG-`?b8p+l;~!dg^FF|pV{LP|z8(F0rvXq0 z0*Q+X5#0X*)-VmD2I18&To0PXma7PxYI@Aat-P}mdZQFs{djirww&Q#X3OkiH8Wv?9Cg`|BP^)!P_++f- z@In;hh@Lp8ShQ$IMW8;R4Pi?j$3~{6KbJ;z)-q#Y9v&V>#-`sF1R;Ro{D-ebvB%$` zBz(Wq!r_v|3saa1w#P&Ci&6}PexsE7AUNpw%B9DXx%we~HDW?y4DcNwaoJm!fU?t( zB8vfpg5B8C{)aF*x<@M~m`zH%Z_Cs7y$MUF9g4pGi5SO}l$4J-6a`-g z0DIkw2B89qRtxN*u5IN@FXm&Y$P3V9P>!Z>DO(Ot;$%h^}OTbtm94>6IQD> zob-;uDD={sXcssmX2rqdZI0M}Px?WcF|K6&dK~Ka$vQ8nvx&;$%qhbit{ax(irT?% zW2l?xia3$wg8qpI5)x4VyCCLe&x+S-~o9`OcGF7f5djb$aLf8d>b|I3485#j7^ zr-wn&>(m}LzKcVi%(a~`Dw@Q9_`NCZ6alblr`9hQ`a(&0wj>q!ynYPD9CpYM2f>`x zw#Dc5i37wW8r-9+-kjHe$>q&^36h4KEqQ}fMe{Q8t!t?tSVHUG0iAX@KS#ebw6uuN z{ap{CVZXO;&+uVg92|cRI1l}Z2REW3Y@v%nowhu}yEI+*X1KeD+`l=-FzuuFuW}>^ zU>VUkA8WNajEly{>dS`kYnR(oHTqmYvk|(w5Sn@w=O>{k`;$_+V2l1+D8b1h!+k)W z_eNk=;JLWhJ!MY-#`Os&)qxbnLd`m<4vQ_Eg$|aNST4e-b<;bch;?;g{u|uc+4irZ zLzwqMEc4!EY0^Uy?;TpU&wDNBC%6VLo1RyB2mOlfPr5(oEYH^nl(0_{>oscER}xxd z>Eg~kcZ{hpJl_hkA3OTdo$bz%!+!W4b3_o04^h7!w3`E>^iGKFj@JR&^Q}0g;oFSA z3+z=#+N^qz+bHP!0{@PGebYsB`UYQFVsJ5v(f;D6VU5)yan_i{Gc2{U(FspWnlJN#Du*7zBhS$sDk5A$6|`PBFOBzHwGF zb_Gq~Ah^(N2z6ldy{2Yy?N=s!;5PB)z%13*(gzMKhQ0w`zLtgWx5iA>dlW4&i5JY9 zJc&G4sRN8f_+}~%`{@v{J5p~ugc|ea^>|Ivfy%-z)T^Zk^SV>F!vLRLN`9v4#m&i@ zyJ!-<^U3BINq(%?&IT3iv(Rx=@PKZ}%9RK$b`~i%kL1PD#j~^@$g#jIUpw4eONGE++RY##KQwr6VD@h>CHUs*DdvOe zYNQWMPF&DsEE`n6^lxCjpMsyG7*m}W>Rqqto3p@j13)?$%uw^r<5L{n_qz)dn}H#j zVlGxrKczX0m>1AnX1HuknwR4K0NMt#!ik`Xp?td+_y_XtuotiyUg>HO*x}vHT9_PR z--spWu#0BnyO`Fl98}}p;uqE=UZjM&U|2Qnha?5clr7=v?2US zv^NjS1%7J-DV-Orp%I&S3-LzJBJ72@izzB1%=TII`e&Wc*!R0Vw-Lci*b)2RN3l#; z9-QB&ae(clVi+@Y3&k{imk?GCZs$y)ea5bQh0wWVTc|v_JzT z0zc)V;V>u0&y&#pKWK$}Jg8&72C_3v^PiJkCY#SF905*N3SWCJ`esPJm@WjpxjQ^H zM+iocLo4TVX9U$u#ihzZo9W=0%Jv1;ke|+`K!aD(N`&e*wsYRdHjYH~l}y9K<&W3j z@uBKJEAtI?FqR3lIURb45sUGNgu36I(OKqPPlc_{}Z4$Ezmgl=C_o(n^h@@&DyUM{HpkpSud=pUA`Z+a|d#ss1ON!UN9W7 zu)>+_JYm};zOxBL zt98;^XsI|LigjcgH?z-ko^zaQVRtCEu>ab5U#Fp6Kh#Guu;;u8I<#dJK~X=&Qg(3+ z9WCj~1riTQDA%;ioj+h5{BVxOY%3P5*dbEj(TSlZ z#dS>jhTtu*CO9VjAf`pv{xW#ra(~Z{GN`iT@;99Y9?Ueby+g3yNEF^v2PShC(_oP+ z0KOb_H@c0hdR%VPRNNL;(B2>ZffKv*{O_MH(y^Wi4mV-qnb#%>dFNd&*9nCFvOI+6 z%8=s;jaF$j;oF_?R8aa4B?j3to-&&7kvk>Ls3xE@U6(IK`w3X-FqPYM9j6Ut3D%gb zhbEBK+M7R^>WEp>#Dq};0P-NE=Bi?LlJ9I9wty8g?~W|hmVou|v*-S`h44CS zsp#r_caHz8dgZ)#e;^Erf0!mo2U8n>!OA925PuewcPii)L`jS@0yCsyx}%X5XMc&t<^ zVf}$NbFM9Tu3PFRrEz7uCNpemqR0}#pwu`Sg0uj)od?cXJ0mnut>8V$4Lbu4m1LuX`DU!hoH{fdoZLbwr z@#|isa}ZFz$H9xw>^jCjhJa@mx(1Z3Ep`;o8Pw#cZ~_Su+a}Q}hffkDbPK*X%U(M< z*{M^6jpYETc#1rFvS<^@T5F$N&7E*P-+;S#M^&W~*eJSE7+C&BJK*l?4?43MdQV6@ zB)v|a^fBKyG>&FSx!Au~hhRGRVldvg`sg644WbJs=qH{q19Nt6fEG)zZ@SZ;9=JzT z1k=-(bjVxLY(-Iue-X8M$I@elYXWWZ=i|Ygc)+Z)tAZ{D=X5ep0lZwe3r*8~G9F8M zNy7V0tIX6OqJ^ZPieBR#q|?+M2_|xSs0rU0ivwxR-#h4%c}B&Xb~LP>Sx# zy^H0tl>z1uYO%i0ErR9gNdIIJaXvq*Z@SbXdw+|~Q9zpTW(1)+r zBl@^CT(O*{{^3_DV*&J78?`3Fap8w6biXQ~e7hz?ls>i6!r=TA*C4Z3sPa3Qo2@prUSeBNue72iN>b) z7J~B8U7wEmu!Zns80;Va5J6Xeo~JnK96C=$G`-Tl!8uY?e_(OS^rXzIaI(=b1f#LX zmS|1*o^?eN?$rQl_mi^EO}?kbvZuw;_Mj)fObVJXY(3@zzL^!&-crDQN|4w>-9$;Z z59#CB(+0&qTdX0@4```S0;qz-6a4UH@aJ$!{wa`QKRWlC?F2P^GQBu7hTFo-zJrdW zm9jrfks+4AMFvr(YE%;$RO4vzQD>(UgP&;LB(dv|+}er_y}lFOsuj9xD*juJITj}8 z5e@h|(ZB##XC8+bR6*CX6eEVM>Q7&tuzh0u`i(y2wvW*7h%Y~c)507ZlmyV3)XA5B zad^6i@km794dCRWCt(AJX(tV`Ck|*#fMGA}KQ-p--VQk_>lzB0*7q0&XMT z>Zh53;lrTSsNix@^Uj?OI%>K4w>eBb)NtQZm-Sztlz#ongq{<#r-J3B3EUmhWGHe= z@-x)%xT|!Bg|UX95dO!K+<{*HbAZhwBYTZQd|Rz&l9-k9Qj^HYqmH0Af=`*hW-Sq0 z0)Nxo8h>3gW+q6z9@s+4YTjQikoyf|DAO;0$_yz}Wk(CQ^&2H9);`}nD)P5twp76s z^>RXmfv-y(zNU@j!8;%|1qc6(5d-$>uIGUZ=nEIjx&KNv1wvApWsZLGNRh4#SXS=7f-_%5V6;Y&m7|w<24bQ7*=?BG{H~`@*1(PT)n`3N#9#eVm}P=f1^xB=^>Hg_f3c7o4XzkEUUBghy>Ft?5?OD)B$E{ID3uDQ@?V$e!i|J!^(OSHl5~&6d+^tuo*?4YaAm*Ix*;&QqqA!X&pqB;(}1X;$fV<+yA1Nr zVRr=K-IPXguQ>orGeYWp6`f5eg0O-qkb-7YQuYy#&Nz&nDA-+SbsU~JMIs((ewI}6 zK)<>{;n0FeVwUj1vH94pez6ci*1!N8Aso*@R(ur!r_ETx4BZ26BjhD7bUy*`6T~Vr zMR+2Dyfx_IHQh3|28&K_yhcyuBDBP7MoeFe;gd@V8t9f5ngt_!sKW<3?aVujAOyg| zJXzDG^;&`e;zxBGB0ar7R)ShQ@tLp!6E|EN?$(Bme+9x@Ey}H`{Mg`W-S7H7;g#lR zy#m9CVCjiDIoQ-K)w^Y}OyxJ4WSnRny3ON8lN`JP8B%nXvzHRcOcm9-y|iU|X%nK4 z%k|N-Krbu{qD2og&%O7aLe9gru5RT+bl&<%(-@cDWAyTa>*#|m^_OH{a-XpdzmH~F zbI5;X9n*Pg$cG!N_A0-}e5dCS;>9L2hF-!(Z!1hk)JRk>(h|t?ZP$x*15+=+NEFFG zO3GC1hyB}Q(M9>?G~vKc(u-CJlyK3bt^`b1hs?$qOD6EgTVgLc*8|q0AuvSePym&i z#L?{_X)YJk(Et-fe}p?fCqG%g3z}``OTxnNrbXisV}S_rKbr=)-?oz4!ym7C7Mh(v zd)^JNVYVfK<+_FPite@{9EYsYkSjR1!1+3@IumVqATUo2+fE$j(#gl0J%_1+9PPph9K_*S6e@ zQp98QKKWFLkd?iA;Nsx?`0+B)j4z1%*7Q+s*TrASBLtCO*6vxAVQ_HvAYVAi>VO5d z@ao`&{Q>Fcb~b;UhlQN?xqzql{?Fk9{zF-Z>#!f&+uFLz8nsffl~E)EK*#dNHdbp! zn2F+rYPP>lCOv8X$s5p6JnywwL-nsJs5>)3aY2O?J}-ku`epSXaaC;yLv39x zTtAi)7J*>yI66|0U$NLO=}`su_yw)30_9En3&DL~cW+~?_rwHhDGX*hm}_*CYkP^*?=_xD~WDEJD6p0(S(~*{kBiVr_Oo3*K=ys zgAmJD3J}7%cANA2_|a>!<%#(^b_R2mP*>W&p>c6)vv*I)j1O!fbj78)v=g%5Jga() zaU(&bJ%*ra_66dimohv?HIU_;>^qZJYAyBTjFsE-k>kI8$o(1(#>&zz(r1gW7LjAU z2u=Xw{f-JRXb7n1x)hw(OpL)4-%=2ODuAn*5}mHW(|vPesHAdPP@e}4-~U?%hI-&r zB_Qx@{sY3&$z_I-F-+B3V;YAb;g1t$^7V zdH68O=%ircP`H8Ep!eVPYx92Ix`2)o&rA zZCRyor3d|QZfD7{ohF=sQ+j$Wvs8ikK=rn{BxZ>(NMX#v30Eql9$g0fg$z;K^OGF} zw<5|R0e;{_?lV4jVGw+qx$X`LR3ov;wz`R-Y%FaO1$+(zf1?x@Cd@H=h!9fI4~C7} za~W@cv+gR5wFH~BucQIT&DM>{>BiHI9V1C4>E@W<+SyYg0TWN|>yQt~If%SYt~0nJ zpFxC(AgXAUa#gM?Kw5f|JRbqm&DI*Zw0c4%V73}gk{EX~xrb;${N~4}e8CQ=s6E|I z>K@i!Km8sA3r5;H6h93y?m2V|@y=-#Spms()8M8Y6C+gi0UO@-fcp|u`dIZs`|Vyp zxeX!>??{s{r3?&<84Q&@NEFM1ov0F0ZgP8Ru0a9U#IuIt555gsA?F1+T2hqjM@Y#@ zg2A|#B<3bV4E{|1ITK*JgVVW;3zhch7b!>zf4nE?@Dkf~>$i&&Rp;{`IwLN3ZoRwY zbM6TPxS4^@uXmR+=Q8=R+T3^w-+yv8JMa)^Oc`rYHS(H*t$o`TN;?8ThW8%7B$nXf00=$}=5XQ9<$RF#DQ-oR zS=rsOe^b$)Ej84n9=6QC^R(w&Lpy|E2VBysFS$DYT!~m1a zizs_YJvrF;)6Mtqt=YfaJU`Z{7V+T41C?Ry8_0wX#Kq$4TI5Y57_KJ6X6 zton`J%lYu-ZkSPB@AW)D<8ZwcoSLwZ3SF!V%pD4UoWJaWul(A@K@sXB*l3DVe<^8I z&HYPt0}?RTnR=k0t=O4ydzle? z&BcORuoU&8USQxUbe}{D09Da~$)1{;-dgGY*{r%#ti)0i4Q5Ws(YUpam&O;`odITaa7;_e#7hcG z$@bG06()jhTx26gt2zXO4v?4_L?yxFO{T`tL2*EMM6iP6%gu~Cu}WycJBZKym?2_- z%@Pt=bX;G$9}+{{CIoy^tMe?F{Q~;MTE*(6(hBl=pz&Y)uC1JsIUBsa)!s0K$wmKL zl|)tW2M(MSoEt0!OQ%>D=}KpwVG(o~jUdXz85~?0EV^X%qLtqktEGXqH`l1Z9!LWe zZ{n1v@e)|LqH%?xPAe6|GTGhah0_I`PsGr6Q!4A?_LiIwMwV8BQo(Qb;%6rzh0F1g z2wP{S`xVd%lU^x4GauQ5*Z;zOT>*Ovq^%RDC;+tj=P^*2w! zF-?|Mg}-nAQJ>2ahY!EPs2~MQJsk8p806(IBYItjQW{25;yh2rSOC-?EZV&3WYopl z9-WHbEldk!49YWYZ_6#fV)wew^Y7n)!F-y{vv3Re10BoIiLEk`gNlg*;G27ZcR;|% zDv}rX*M>F6sN*-}S7Q*%&2z(lZL$4W|1rD6`sd-_qajCy1SgV$e+>1lU%jSa9>}|? zMla|s)rBm>i2X6N1_Ja&&-~9Mx-U7mQH_P{6*!By&Sz)~w<*x04XKJdU9Qs_AC9cG z@FN|ur-4R17e`EwMLcBegx>6mh|Ge!0jfT+1;{60DjoHg$#avbopDMF)n^II)KWP& zE{ooSqcd4(X9ueILplXqe+@ZTCP{k&nsD>aRd z?}tzsW>ZFQEDZRJz=Qba_u|T?RpiIG@;=^8LgH5C;$DjX-=p|G!|f0;?rn{+RS#qxgX*!&EkT zf-zv9cBqpnF8Tjvg3=W&0$kBSNYO&iKHk?NZ5xNo670>d3=qx(cVBl5_56k3TgL~W z(1chO`;ybW3loDk8V7dlK%YKw)dWH=J8Fpr(lH+xOV&a97N>d`&0#&Xd^4Wv+UiFAOX9o;<^ud1<4?oN}j*@;T~Bg%;Pd*;Fu)wP4@< zVAnvUwRDQJsKB*wZl{4Wu+a_6@V%1pNA;pMKNHTUK(bJP4&!wK;716>sz3WQ!;TWB z9(?A!+A8U-y|VuS=UJ$fy~Jt#U>;C5Mb#z#>kG{wugu6{e@>g(CEq%^-*g@V)YXS~jM5B(j@w0V6nXV1Qd{jp;nl&o4O$@!#Qt6ULsN?9i#a$Lr#|pJ^qU&NCv> zDroy;-TW$^nYo3q@rget+UEW}%m+%f2jhN3d98q#dKcnRBUebg-VcvX7ZpUJ>^B~2 zm+7ggDjp%lIYK$bZ@2Vte@6w^@7TqFD;Ah2<`L7o91B&Y&kJ^fH_kL2g#t-$T0{EL zC}V%2F7lJ9h_IYmxsx1)SmQNA8M~(BW z_BAF?>c8=THf))t-cy;=FnuSdpBO+fVKEYcT4B^$&a|Jd8!Vnv|9YYUBV_|kH_|SU z{DGr%ts58#NQh8Hc)LlCp!`oP2q_NeVsXzb?EnQ%pk!!hAgCmF?(2!8v}U$!g)&xm zR*?9*j_M2JxQKa7%bdkTIju3M*ScyU?9wqf92FFXbRs@{#{t(!I3cV8<{w#luG|O5 z=Rn~_Iulrsn~tvUwpZ+_MMq@m!_K(7jpk6(Jo}ISjuySGY?Y@hmUNL$4&Ck&Xi+o< zuNS+=f}wHdNomttg3g*`*@h{e$+I1-c704{` zW3;C<5kLKWHhZTz(a{R(PY&GzJ_m3%S}_M{M~gt6?H{&(Kum(R;jRK-j+|M|^)@XU zIC8Nz-!XlGN|Rs1yrDqs%GB8NQEpt;=G@Rv^?6Uc|aQIIa zGNp$rPdBb+WaIYK-y!$dvPQ%Skg(R~YI#bHLAGK0hHPxk(^#c7XVe(hGaH;6-)T!p zid=1(D^;%i@Fz@-J%a@JTK{zY$7(H1PQ)N$^5<86jmrUKTvy+>qOmyYG_si{rnzs| z_Z%W?Z-9P4T5N$%W1VPWPr}&!?pQHSi= zeGa%>_jUAK!qv7}qPJeS;O+S+l$Lr0x70<%Qrw7p z>Cv~@-+6mJ$dT0|S<+6( zN;A%U_?r|n@;B_&aR02a2t@!FLx|Xp!epi#^q~_DBzAO-f2z3G^=YGi*E`SZLWQG3=2_o9fGoGVun)J03Z2-U`pIcOJz?}O|#n@Kh+8RATQK8D#DiX?PIDo zU=+3ItiGWfx4NCUZ?|su~=&9sWw6$J1bleOdl<%VasJ;2mP-I<~5SdScBWHvRJM-@M z?#>%-W7AJrGq05_wB7k+Uc(WT_4#qGuESNPT;`Mxp*dAWuaK4+-<|$rTFf8JR;(09xS|(*f zT~=+KsXw$lSMV=T9GdLWtN-IdX4vTd)Wcip&;zD`ok3mBP6a(*3`AFQ~iKo1MZ#rp$oWw z#d7#=>g5E;;NKf;z672w5y?!)^rmaJn>-8kAzkYYi4Xx$dn9Zoia8_ruvIL-17oGnNDy z^!!WaNk=zG*be`Baw7G8Zdk(^m?=FcWQEoczIMnFhe zKFFV6p0E6j0A>U=FS$nzV9hK+HV^VZ|6$^Xsiyy0&S!b^ZH83ub^xwx$5bBkqDOVPuL!rf5iYL|Owh6B7K(YXo%trkD z^v)y9Hs(tALU~6(Ei-{R6>Rv5V_)sF$%%$&h9BFh{3eROy^CeMa`4{YuT#000u`n# z9+IT2%+F2+6>AYdV8VBB&>KAC?&0D)GLQNfCED zOTAAK^s?8mL5P`QrU%v+n(g44e4!Z{6duTGhb@Ae&u!P3s2=&LS~NhJ3SuQi1#C=m z(dHu^kwmU7Pd}UkpiOg`DEXEY!%Lxc#Z2lQ3{jQTJYK3#=1l~ek zE~yzAF8++~h-@kU8UFXFcb{cN2sC48{McXsatM0pCR?3qc0aF$tSr<~3%f54z0n8# z=q@o(@9PGBW}G!swT!{72Tcs?gV{e@`E(8-PvQYo63Q_>fYV2sa;sf(rSQ$5*UHi_g62-+*EP!s|!B3~iyzOHj7bVo>&^ z*qUXgT4{zlD~p=RTeE2T=xZfj^_~oHw7)Gab4LahH#_RQYO(WfEE zUlxHo_WCjt-DKvkKiynL@}h!@kKv$x5dvtxH+oL^uI>HJH#>m0MFRi@53Y1$NCoVn z)pX{#&~21(2^;W!6a_+@!~VeKz}MAvDD?wL+Bh%X!{WSowA~W9dIQX83b;#LWyWGI z7drG?Z4@3zIUgbM!|wXexv&injK_KH=d3H1(@==_5uZCf^z`Z`QoDlSVWjrYOJC>K zDM|+ah*+fkIcW}6cFB(@B4l?yAR<@c2`qn4- ze9FRmRtTbkAu`#o`wak1Go`q1DfjI1;|?GuBe5tL0|9#Jfssb^)L~~Dl>}sKjpH^=jXJq?YWyz)8ylo!t46rssi(4-9}f zw`&@M-0VXaqB`PRiCwsAiLo^%32}*c5mQh5neX1#nJc~^4OYR^{54Q?5F0B)=mm}V zjUmLyo>DGQNlISxSvwzUB{ycs&`Sstx=h+ct*zm&|4AjSY;c?4k7@S0WPd9$J2PAy z@-ZaYBh^nMOZ3d7`Nh~lBALzY9(k>cBMT)&Vlz$@Ep30`+Yz0-yz6jwEpSBc8D^n$ z6QYbSVw+#keO91qV|*{TE;@fz1b??pxK2oDb(0d%PZnmlxB8XjEoD(~3zCH_Miq7_ zKX=qu2*Q;ul1~#jW;IR{h^2M>qTW@8KUbR}KoLJU*6jwyLqT3sPnbBAM zF$QPj2-f2~uGB8&_CKvdg)B#4&^WI5x(Y3*>ZO}^&HQbxup`DsL=J!L?T*!@Q>{nn#23Lril)U#O`c&lgHIn}E&DIc8g z`I>AtSD~sBxiXwz4UTmIOaj(__Xyo{6FKYE@@5=e(?3&(6VE4zkdQ%znqsBPv4zozoM1j zUlOpF4RXcd7ncX76Z;E7Ih;D*Z38M0vdffhzFQq3Po8{6hGyfEa1fmR6y>hSvcVmL z_lO;?_a^txnvs`@E{>W5jV!u(k)2jO?Sy9w>E^M_Acx}y&zGme@d=QcyI^#Ca^?vRb)A-e|4EBbh&P%A! z_wNQIJ1>^rn~xj}PJTjD&M}yZPZ!E+@<_ z(Q93wO8+KTovZApO~XG@wGlv*3>7GF>|^B-YKd`;l)&!uso>uq2?Mk1l-A%iW#?O5 z5UV9^_mgB8wRl^r+f(-uleP&NOj!=q%`b>KTX@!95B;mWDI+=^a%S=&d4r0vwGN*vFo?3MN&Tpnbe%JSFn63C)rCw$l-7Fe zTw3IvXvPyRCP#RBkv=#{m`+RC0cJF&$isvV#@$;kiD}Hi-p7j6BCY1Q&TqiV?KR7H z7XO^WKRg$&; z+&hgiv;yo^ZqBO}Dr`Op)Mwm53le7(Zxney3%_fx{zK&XVCM=#pJ3$#zvl}G6}MK` ztGSyNSPl0JygYn$7^5D+TH~I_xzFlIbZ+yL_got%i(`4h^hM7(N&dczxm$b{ z(da3FQrJS4l-=I_{VtiIH{B3sT8w+A;`kv&ZqqDSS$GL$bZJP2J@*@MLOwgIGddfJ z!qVv)8)qZHpJ|o*>5sYPeIVfHroBQ}!xSIn*a!mWuOUVJ#-5-1BIF-3noFY$#G}Qj z)X5UnO~++ia5=2SRcEy``PKZ>Zck)^jEfO-RS}A2Z*CqUAeuhKOfV>&r1gB#$5RMP z^s$sw!k(Kc(D%UbHv7;1Y1LPLG&DlY=?_PZXq4`vnHekYcAxLpTjBk=Ey?2F(=RV) z!o0#uLD{v$Ya(lT^!H)6rm&3zyZ8N@%zxF_$TJI{^cMC^Kdp8$elEF)0GeaA zuL)`?(8ByG;`3j>)YumAcKl5;J3h=sv2a><71ISAk-A;N?JiYHEeEet%*YfA>G60A zB#P8RZ5gpDW?gWpJYbHlw^7-jL&Ej17L7Cu2K@&{tU-5ZamG6AQpK59`j_1*kjt4@ z7vzO(=d)7IPcl(vw8-bOoP{rkK$xbQs3CCTiu zrhlyr*n(A+L+;kKnGL6(?*X+g>IY^5K{Yz*jP4JTZmSLir!{`Z2YwF4Tp!{47;WUb zcnmgWi)8+;7+MsGz2jJ5Os~i+4EJUm@sNHHZd-TsG+9pcFWbV^o2F~TfLPJH5PvS? zw7}(J`7qs8yfoiIvw}8N;prDE10N{viF9nq(RQL&R04~ranx~vn&CbymOZmKF9cI| zML6(C;z;X(2OM~{X!R={Gh09|Y!z=QEuzNh~Z&vI?Xy?~uE zRpjdP5^bAmwdZGl)~KC){l&EFWbi+?IewvgW_@h#y}x-wzIdlqR{lX+q!^IeLQp?!tBuTPGudu z*-+(lZ$++ux|99g1?&5G@XvUERbjRWnq{(HRm!)QtYfkDO@$GLg)}}oxL86J*#0VU zTW=F-k+jz5%hw+bq|UZ|!pF31^w2c9r5Qb>8de0NHv;}JH=rNg` zzQ^^B9Chvh^yWA2N06X%Gbu<50fO*9Ae5WrKPXTVIj>sqU5U{~_nff^{j==Ojl(^F zpjCNq$nCZI!M)+gyv6^KM?=2Mk#CpW7R-VRgSq1{b&lF``12C84dA+A??vkZ1hi9P z8J8eYA|_LLn4P=+tLss7ACIk=Z4I=af1iDUwraE{8PCX=S|G0EdA*})Yk}z7hGxgt ziaQ(0Nbd%^LE8D(tL?;+=Bh~tiP}KgHoCu5`KJ=K6l*aCeIGBQ1L4 zfVSS06XwPmLl(XUkYZI6AwEv(^}S!fH7EZ=ydAf*+7@DD9x4TQ>Pu#RgsJJT4r<)O zFu4P(;-kGs@#tp3?lSF5DV{^hxI5wNwZXAwcMR!1pa+C(EcgwW&VTte!*v|#2K(u# zbbjbHD%`YmXSZ92;m-I6&K5ca@Cgw{%)w7ms&Etq@qsGd%curtvht zGxaMYNxOAWPi5_#SW1QGIsnX3WULS{#5J4LM@U=du&QuwX*+O^Xz}6tPjsbb#)sdg z0r_tqR}=q=)4!&cOob{Mt(v+w_w3h4p}Z!)oX10k$UBjb;*scub9$=Z*0Dqvt#neX z{_cq^`$fMk7#w(&=A=iS>@Qp@4jqx)@=n%8+@EOn&sb3#@`@%SgGxNE+yoU{GP5Vl z5sxv+^A?df%&6BY@6a{Ycz7)b3KosEK~(3c@mFKG-v__`o75{2@G22W^xmyRCpytBqW2b^B|6dj+VZ{r-+bRp%rIs)?!D)n`<&-I=iDz0e3~Ve zX?Kc^oBZDGw^=d}y#d z1R4K~y=cQZ&I@(M&IXN9vym45wOJLt_faU5lcmoI7Hyz#>(uX;r%D$NB!8JgjlW>0 z8A(C^gZ3p->l5aUBFwj-N~`nClRA#q$x%2fX-rhpg>J|N*hQ?}zrWP%BW(37?<0P? z(G5Jl(R%)yZ;@K}Z+@=z{SfRu3?J{*y%p*GciX0NHC!O4tn$tn3>{f^Y^{am)b0BF zVeadZrN`C3bSgOO^0ge8zFScQC48c=0YLKo{MyGKSYoiOqtX2Ew@kWVFE>!6f$1qp zKn!VZNL{LO;mOw9B~u^bry%t~y~Y}FWOD_lbYu2nt&M`#CPuWnrgG@5K0Z^fJd35k zT~(tQgbKk7<&e70#o*gP=ijfiS2~s4!%gzXuzdI&e#*-jBySY6m9tlyA$bx|=VEWY zWS;P&Qb=$+eqQ-NXN4tvkYeeGYysTUa3iB63a`X|{}^iDW=+?+iss12)M{>Gfof3d zws;u|>E23^&!E@Fxz*|f3SYVR=Htd5DS%wvn;mH1t0n8$YmCY+tQDmxw_WOqLCl;B z(BK9j!o^wR2V07=_^m1hz>BMe1|2XF=a`$D(>^}agM2NyY|id|@7Yx$SV{u@8UvRn2H(e3QgVg~--Yg<+yV(Rr^Wfy$}Yyj2~& zxUsZp@WHm57Xy-F@7-b(b2koXJRfddL=<1Pl5Mp^bM5gJP4qgOCq*BS zh`s{ao<2~yIF`1(!uXvjI3?&6ew19~E}-jYkDpipsn4gFZ^!@E$v!y#M+YAKDBd_t z;#htu-LMWSvm8KOKKbT7>|U*#c)2CsDk|q0xc^Lm zSeacGAK!i%Iv=0KX~Bt#UAv>z(BEK`bg=7gdZJs~Y?$D~kWu4oH)f{Zs6domCXCpH zD%=StbcDzV{zo}oZ_svgLw4F2_JI%MWG-=%?1SLL2>|xJ zu9~XkjIEFVmb_K98+y{qZQ!>t zbYdtWuqIbN)A96NL_BX)%_FZQN5lKlT_pXWMUrQ0^Ky$hAtd7#PIo(E&DrI=LFAH> z?f33`n%rI}S?C6I8~E}RXua2_LsKMa3|5B+XTS{(}+KVU_EIMjw zc4w-L?$u3bsP?iRKZc+GwrZ8y1~g7#{NH&`GEj0wrviEahD1$3UJ@liP2q&gID~yX zYQhzk{P-u4t9Wt%4y(9aDnW{+#Qtnern-TD60Q?Bjn%*f94iHRS;?}G;skYVH$x6S z&BH=*IyyaLO_oe*F9_B^5yG8EY8_gC(vt3d4U}XSA8&u{AcJ?*{DV%iMZvTyw@D+W zD6~o%YVuzxPkcbLzKFdM$9*`LPnAQ_l~RR*YMz zOC>pvdD6G^js*3v@$Hl%@5t&{815CftK+swwc~Iqhj7ZY7-0PJjS*=fIPGY}(@^@h z+x6Nj+cv{4^(EEK+G9M{+on^XRu0coC`t{$sBRcZY7rUTiS!g*)*b1ifY?9K{q*F9 zz{@P46p+MeJ1q>3?2}RbA`y zc#Z*@J7ej7hXvR8k-CqC42Ef3&Ka)T&?5X;c;G^Iaf^Jxp5vjz4|%{Q&e$+F4rY60@(odvEi@ILKfu~ODgD!f!v(%H z3f#KR@8I~Coibi^%B$9Upla!Ctr9G1ru+{zw6gSVZ^Ez6+dz$qtA#dy%Rf}Yg}fb0 znrr-U{C^u`lc|UBz33aw3wOJ%-yx@g4leFGvl)Lw^a0qa#tXElmW_8Wjt7bwW-hUn z+lK|eX!k;`mJIowMW3)gkWw=1!R`L0kjHMLSez!BPaQcyd{T+ae2r^he!^VqJvPHr zM~m8giz@=3O>*S?9Q=Ziv4m+%(`k4byWWozlFhz5bMF8zq6O94reyp)fD#-Uq5$?; zKPI3*(ho601G=A;JKjzlMmNe*IuQhYr&q@k~f@5P#5 z$t3$<-d>X^LW}=(*Q@UN+y9rB-50@AAO@1HlH@&IQX&G4osk?L z9!gLJM?7K?sak=Wt)b%PqaS~<8)@;^VWavdGVZz{$}j2kR0(@ilK>q^X&qVse?T~v z#3&4C9sY(R+mppy#+v`52Z?DIZPJhPLyKIy`5j$0-g6F6$&OcE~R{~!)I{~ znf;+Sg?2L)903G_%ILk~lo`&&@t6+C0p5iWnq;NQGl2&f771bYt%BDI94HDaoZC9$ z*QPktE(D~iJ8e9jdf2cW;Mx4WgZQq0fH;x_Yk;v-JL12V$4aBW9)ME{e(U49YDNmp z97eDiM|wjMco5%!&FGp57C$rY%Xlj6t}?OG8Wd8g%-Mv$*Y7xfz@t}ZF95`q=}d0? zyO+aC$~^6TJkAVCc|xj03Y)39Sjf`Ur9f8h?~RHfATuP%jAYUO)KARu{6r!uwxCK+8fv)2h#&?Iyp^KDMCx(eWQBYaLee zAQ7AnhowRIwD^6y1G;L}6s~>8XR%Dcy&^uZe@I|JE+5K*i3iSD%qn#y#s%sG9$fcW zh`6=Gi0^;gg3s16gL-dpTWLZBAYi5E5sey>xjS-q+I6+@JwA&%F}VLL?M%OFE-SzL z%78y~neDeTNvF_UIPJ~Cg|T1^`=YM#Sj>(z+MJNfedPfXt@8#Q77V$v`G!s=VWaYc zMw5&|DuCRFc<<UyuJTL*(X56l?3N{omA!|8m`tW2l@-_-Lcx<+MA*ujF}xu zBR*{=18&OepQFlsdt=;nWIIq6 zQ}u(5HCiA1Mo2E+_?6gkF-t}MLTu#sj%Q#ARpAi|iW}aG*1>{;>G8ESU%c5J#Nre{ zG4}m0o(aqj6MqK(_4edDOYb6feE=uK7z1{{Kl7hRF2#$LW%R*kUm6nYecYS;o2F^%XiE3e76c5<1 zfBq}k6(;kZ61-aI{3f%~u7JYJCQ#ko_0hR>@2cDmHWNHYh$CmSWorJHD8Z<(DgHmjFsu%ZhV`eU#vK z(Girc&uEoQlx~4x2zhLJbIrXfyc9TiUB_X}2;IyG+`R7|6aMVzTc9VpVDjzXdz;Yh zh-Rxc+)1K8b`U>#jeE$xh<8evo)%4_lrK-d!&&1oISI0}*!2*^Pd~@o z>lPt@!@%i3Nl<+9Vs~%^O>Lex?Fq)F^8h<+a_F@WbX+#9-iLZIfyeqDABoD^6e%WJ zE;pbChI~O1P082vYKC>6?}=iT>`LYVG$haat>O_47CihP%`RLOi(8i?7$YYT7K5YF ziV`N8|?^{kwP!WIy1< z5umWi!^Pol^UUVCU5!hx&4ODVAVbw`5r;0aCE1ig!ZzB~g`zJ-6Cda<@opaL)yAJw z6q(O>TfVGGb({J6&Q0NXVyV|`;JDz|`zvs8gT^yQ5K+(7-2#<_;C;BJadyx4_6_bv z5g^?+<+}AX$P#=s;>*Q%~lhrB3Q} zgdIWjqL7=xX@Kwi32cI^2jOWUOod*7+d*9SYXv`rxvVV7<6qow9o8p>#C&Ncfw=14 zkA#A>$3nA@PPNo4(m<|PonTY^12KJa>Z6v-%5EO3x!Ze1ceS$bl=Eq*sFsjQhGjG{ zVji-62!Vl;=XR;JDpJFxsO5$eKlvAklY4IYo^b=V01WJ`x<}wq3~kekoNVtMVlVCu zHIY294P*#hz14L4oWnKXnIkRSR+PAOD(3y=;C4xl|ZLoclzhe4XLysdxI^IadGj|ZHm36$wyW^v_bUz zchrFqo2AP7H|y%UcABkW0T)yaPkFV4FJ%7QQfd6{-tDslWf@(A)Pe$rQQxI%*^@5&_gMK_)>CuP@gnJfEa(k=aenSq-?4YqCuP*swBtJf-CAFkk*Bv|X!QLtq1LMXWI8hnF z^W#%-7qFL3?!P>vn0pb}SKjTwA6wi%e{4jSOVE4Cz{~+Sy8qmrN>2spdv>Pt1+!t3 z+MtLZ`AF)vd12+e{WYeD(rX?45jZ`$6K3cC`}3{mCn#KMDq|%q;i4%>%7u7qj27|V zZ{ox$ddL!16Q}x8R&^XW9F82E%vXLIK<%2(z@Lb1TR;@E%C$UfGL4PAljerEfpcqL zFN;@pJI#J1VNkbZP&U_hpI57V>=kC5#Af-Q~?W@=y zPZB4cTi#|S)gRotvqXI5$arV*&WAS^#sns15KXf2KH#rHSaL_%WS#1FE976*6X~RO z_Yj&e#9-e0dnD9W{`tsL8W7N3`KtFE=2GDwgx0WeAcgzCpSbfPW8~k4=dHjHYIUax zf=o4k_7K*y{@^&5da1Zopie1g^HY$qYA6=FmPwCWB=Fum)aqL;hY2LM7U8T+qvg@k zP5Imk?h-@=rr}vqwu_CAuMKfVdbe}`vR}6pl(Vs!=zHu<`eILfDDi(<bgiBSrWt7O{xJgQz$ovdg0p!(mlU&YWsbPPgp$3%}Vy zr#?Mkf=@f5d2%KxbcUUlu60*qo>EJPMo-pX;gNmN?X>eKfi;hjQ0uNx6HmBw~7KO31g=-cM*XEW%l#?I?5q8ow+Y5g>3!f|>V{-*f_ze0UXGNqHTF z5!s_Ko1>R|c3*MF@hMG)*RRwL#DSSJgMM2&wwwc(y8mbUV9((Vg+=W=j2olUbtIE z3btt|>3GQp10w4F``)T)3ylNI{*~b}< zPvcRM*8kp;BTDf(?o2!sK5AR35H|A z`TPO>wtFmhUHSdQ&$|i@V7owY2Mbpwu9fGRf$R>RiT-Xs@WB6CGWRhfDIZrgaB9tH zLF3MTjdK_aK<>C!tMIoy;a7Y9W4I{%r{X6xjG2#Sw$k$S{YgJjPn3!EZzBfMjm}%I z@c1k!)_mqR5-IxkvwSjpg`~qXoJ8{ZofqEx5&Q*2&E7 zcmXliJGGqd&;Kd2p0a282|iFC$mZX#2y|>RqOYPr(1Md&<$ARL;h>6Gqd&7>z(-Kq zXFC6)M#nzM+2RR6=W}QYGO;xR*@T~Rb$PJ@VK{)iRKk>OO8zvjDP(%!y+cAZ7Qf3V zKyCT?**+P4jga?j0E^jXhYelTR*i|d7HVMecxH1Tr*spZG=*10*;|vG&)i_t_PyqI z?}$|`SL$JKe@L!w1d&`CW}W{K45Ty1y^F!fWNRsGDYg8r{9Jwgm>;bKvkpxo82L&m z0J~{3feHM!O#%a0LR5%mS+|igSo5(RJZkYBE5E0Pap}ktUs8C?DEA~z9{GX=|GPjU z(efUGSsS_fxP)X7PwP%=^ZA0De(Hb8krCFH((zZw0W6LUH#;^1p5^7G8@}e=fjnzX zHsQ7R!cUL-)b|Wp*7EH6KsGoWh=vhBp`V$Q=eaGvM6T_V5{GOp((u0~rK`p^wu`iS zyuh1{=V*MOlEwNpBZ@mTE{WmFxP1P=g5NLePJx-#YbEX)a6f2-qQzbW4KPbDM{Fe< z)RXE2k=S)7v+G|mgph6jh(Z2=!v(&7docA6_VmA|=MZ%rxQ#4S=-p}O^2Hhekp)A> z#?&7|--}OUO`Hzu%kt8D6on4xf8fn_hGOV_#iplQxv!y={(4wK{YRH%C2WKy5@|C?Kbxv37lmvYyg#&ta+V$ zeXBWj=@|V#4c@`~vL7k)u8_Ou*ZLA)#8uk$xuX4BrRTKGRPp$UDy7Z2hOT|1AgP3* z{a=mJ-YyB0eCV@DeM;yY6M!3uj<5=D&z8Ix_!>*C?Y`NDckUd9gahY92``c0#aN>% z(RXDM07II@d{tM@zm(2weMmIi_2atLF-Biz8+^PQb08M*eP0Cha|NXp2zP(ak?r2Je=Q14KmKIc?b z2CL_Uowx_{2heBCHl@+`8po#RV_ndTT7#(FbB#nZkt}WUrx58Q+nGC80{%GDIwbW> z5ozjY*YsWz7*}-5TPn5Le#n~QypBZ7ML!ck*X3rO(D&)hBs!97{bl*6DlN4ikH~SN z*G7ql2a7cCY@)YUUvt!1tC5N4($&?KE7<`MCL~D}&=Xunomc54SVW3Y$dBcKno40u zasm%u#0i#B6DrfZ_CNx*YmVbK>tx7+?VPyoG2HY!AbhJ5?tfzdaB?T z=VIp18Y>DRgfU-;M~sK?NAx0kYO@8M<&1*)!+y!u4N}PUP7t&>80uz0 zWHX3kJqD(V z<^7Cvn8j*u5l&%uSgr>B+YyDFbNN^aV) z?<9E}f?LqqxunTUxt749KRTLI1&sy^VK!;7ffsuh1X}k#-zRA+Rusw;AZqyOtQ6lY zaGHZ71RV~t zDni7zPq50@Ue>v{lQ!5VI^H;-Y6HK@#?0d+KMPzPu7%%rX0$Tt7Or5(fWpkWi|^sixmjV;N+Ya=9DfRpKBZ^!9(LoY3bBF_ZwYM?HmHc%ei zoOFweSKo1ySbmQWgoj7#iZ9sP68_?>&p}vs@CR4f%E{@a5YyjJ0Xr zD}1be@n6s0SBdOdAo@cl-Wfv=OD|8vS{UcUTP5#@z1Bts&aWX&fpRD0`afd_Bm7WT zK;3C$@gw3Oo_hr3P7D>C2;M~U{VktnO0~2wrMz@#x+Ku`J=9)Mk zL?~GoiDK+m>w1Qb(6Jt%#*l3?Q|u*nqHeHj(z0KanK{ndQ2eAk83WVAy6@tAYY{0& zo5PX#X~9P1Bw4!~srv=zUjKpHLVhVppQ>GOZ;jy)20V*8@@7OX#HF{r>Y%-X@nU&D zpsoDmM9l#Lo^^!EG>l9~i?xRZGEN3BK55%@Mdyf5P+7%PvaNm1n+ZUw9Y^IbX8r6_ z!{c^%LtwztDAKn}=Iw!$g|p!{$K-XQg8ZyZ*>4q@ZMFLgMF$xzdYjLyBD<3csQ>F} z^K_J{V2Gq>9lSwLZ_B{oXeA~{^tB@748kZ61hDiDeUN3;l<=hFaDrc)G#N87^r;`t z(0IKPDUEA=P3pSB7b=TvVLUClg#kN{aWwOA;Q2{pkh0KF`~-tFnk{8)h;MALol{SW zqk!q+!-I_3<$8-nEc$oq-Uu`!7XEPzmv{(kI912MM$Xf>Xi6j>?CA$mcmKhGmIdU{ zp-ftwcsL>IP0a!PLhGcY3H!lYLn5XDQ)Sk^*kitko{4@BO3SN*F>EFSH#%tU7$&hg z(k531P0VIQlO!OpJMZo<;>$s?<ZDhbok?!IN_d5Ia$ZgRxT(%aW%7+~{ zJOte?Pr6t5@8)A2l`Z!$+baCYbX>6@Hc=n1cnI)Cq?$1TI?J41*m8_HA+NQYyB94Z zPQC-+u0dX$T_5~b1CFTz9bd3=8>b#BZ_JTYU7e=(MF;C{;Llv0iRIB|U>74${L%E< z1~Dq1Bj`s%J!IiB_ioE7G!kr$gK=x(s9cJJi8z#is&MXts3|U^c`IrFp z*0o_XMZu>^t{cL0N28b2HlN%-4#pK%Vz-njRo@WX4*`nbkEW|-Rp_Y^BU}Ja$W=G) z?~3rdM=Jn=cJ83*@>;;PWhE+yHAZ?`^Lx48wS^j_e1IH4!x5Y`?mM#9cL}rcj|$D6 z9U~J8;ADZhR)I>NEnmvFxGirD(LNT>*ENOkJZPjKs9?jv1O5{>6#HD^9FmD>u(BZ4 zuVpHwm~AKdr)1tW*vy9S1wxBfsD@%U6`?!@De#Fdq3Bhb+ZR7>w!D|5mYCpiSm&^3HB%M$eoJJ z3*2~tMg8fvzJ?ZaXue3-z;Ro%nDDMn5(M+=AqCE(PK?K08aF+3OMn=}w*3hArrGjf zrM28A?!CJZrWbOSblV@zMFfWAj$eJ5JP$Ii&NHRXP?MV|LPx|G-+toH&v=##d#ct@ z#V&&ZxaHKxTGweq@cIRag$}4C=)U<*Y|87BfsZ2LsWh4ojF6up{0_{oq6_K#hk*vE z>1j{^B4IVYIiocLsMg`x{R1ynZ|O+g%*f}!RgxP)y+O{746e8VJ9_-?=iS5OY8lc` zbQQ(bW3d6L+2xtrsUJd%$ItYVU`p)Px>IVnE zCEpza6*mTA_DH%;cdDR;rhMIXnu^3wi8F@pMtIf}uN4b`Oi{wMmQG9a;T7#IlZkI$ z(BVe0OH-k*ckb+HtZKH_j-zl(>ejaH9C4)j;D1C_K2O0v z+zo}Rg+;Jt_6}V?e$$UCnILieZoG4u%!bBu*#zJ&i4aWOvR&;W# zyLYokV7RhR9xR8llH) z>0}y)wT6OFslr{A!t?A`(bs@odwdWOvOSc0d3G$B>H@m{n>I*7H^q!KkHI)?;Qgln zXMN!SgjJ?c$^MfF$(V@D9tCTv8Y9iotN0@$yP7tLA6T?5wA#)B?ey1SQ zfp&O1sNep?Rd-)qbW5)TIBqcZTl4QahiW~nVE~)lbOZvE z@q#}1bmKwwy~s=>L$|G_NTA`+4SV%2EPbpQ|J{a)3K5>r5w-e-oU{2uNR*?mG_zd0 z`pVO2WFK?AX+{|Nm%$5aORqh@vcbDt1eo0GN0LrGOp4BGQdQLbV$Z&S_^ z`NsjVkBAEKrJ$TjU3c#)zw@bjaQ&qDGmZ)YL;8jApuuZ}q#{L6+q-yGUE^K^i4Y*zp}lyxJL5{=Iy>b`V5JLPvX0Urf4R!NZvUwF`uLO(62^c4 zovnb{@~S7Y)eb!nntY1%aw+s0(3%c(cd6& z0k-*VDbX>n^a?Nv34YfSjLF*LjhKq|9TQLGDFI(en9;7pz|^t4VF8t+H^HYN<4RMh zB;o4d3_zFsK@qGq?me-!pB~zg%#8t&?KaBchX8>r#TZL^3PGu2nE;HiISsf;=Umx5 zIVT=ED}AijZGhNHP7hoji-$Idw44|te%^f*RC>K`AIF z2{2&J8rX2Zw;5`=P0sO#8Wl=cY##|7$)umhsfGr~8cX|i*V7&L(yx--I4dXc@D}bp zRv^o)m;QE&z!`sxZa@#mMvTT~#I`T50kF8WJBvOZE9cl5!pTDPX`CyB^t4kV)Om#^ zz4m=;pfQm<$@#wIXG@}`H-Jfb)}-af@-}kl{={Mb9R8;op-7GJ#pp#8sNskd!m{j@=T#6&-lLN{S4ZQAs_s0+G(o9mlt= zDjJLpT(5!1h}-L%`K+vUzRPm&z>!J`tD^qQT~i7LLaw{^9e*f`GP6u@Qs=%!{ z@avNEWU3l)=KO(|GKfp0&Efvs`ucME8&1t4`vSoopD}$(v4RAmvic1uo^0`Od17}9 zFVH2^sMUPJUK4SMGV#kR$}Bq8==7<-Zc|9}Z5X(9sJfhjr!*Lq4F1|=iW>n7}{XJ&#kKb zJr~YD1mao$q{+Tflkp%%xcY6;yXPDvF|kiNAvq^L;x}}ek?wQVvw7PC^k4xYkB-_p zG3StzCG`_Rk#DPM5A84nEQD^2EX_~HdEF_c!zBW$h}*pm&KSdgXfK794VcUn3&u7( zT{O@xIS(8`*!P;#FN*RrT7!MJytC`K%~R}XT8<6hx;H%|_>3mF38hrx7VF=L9g!Z; zUoMR-H$}`NqznXNe?cv$d$2m}vpGG_!~racr>5uxe8f7NHe@G2WYSq7%AzmYwwnq7 zhamD#ri02@O?E}u@ToBKaC*F7tY5nJ%`f9hy(wYG|Mh&g-i3WG_!;{ean_mhU+q>u z!j6ADgs{)U_~&-C3AlB{D)OiXAN8zlVz=;jTO-d>W4_(%G@Y1kw|U(T&eR^yIwt}R z$xROZ~!}6{O5TA^;#K#~F@!DU@DmlF!Ox5O25WJHU1RWNAV1POG^z zYW0fa)C)J!yk6+_s2Y8gkU>nR1LA)Bz{vU9nr2MunQW`0@)--_*~%B2A`c9^e>^L~ z`!a$(+N*!$Bog2*{D7nX3)F@pK!|-fFcKy_MD1Bf>A!$cUD1HIL}UX6c3Ck>pGbKq z2nmiZ>ptb$NuoHR(`;8~jKscoSiA3U9VmZloY>lP>Rdh|I)j$teYJ(`*6}SP(D9|D zr;f1yVz<}K2T9+YX@pbq(A#W$%`bl`PcG(@u?q61VOQxzvQ}b0&3A&Ja|mIVV5;)% z-Ry22q>`qbxsXrl)-J#y{&hOw(peXDnafz9c7#XiQZGHAHMDpM&3TO+B0RXk-scUn zIN)@r{3n3ktvjLnQZ#+DAyLHHGV;dasGv=D2;W?4z{Hh#3iBOapW{elB$!09bHK@1<7&1*rZDSP1z#_)Rc z?H$XutWT8W|4b%|jq%5$M+g<18?YbdoG+*9-tojk6N6qo30+Z@{fYb)IQHMi{Zr=C z|1RS+1(~DMZ#PntxlU1U;=k#oEV^!3=hshCXLnD*e|t>!nrvbg?K?hw<2o95{X6Q% zl5y!;z>xW~JkSJ21!`1}f^nxutom)yO8UdnXC0w!7)*a98q>%-Pm`^ ztqbWZbA_m@uUENw94|}b)woj+z%v!)VsfNY#H%t)f8CaXTs+5)4E>$Y{@RO4a_5lKMHshz3Z9sg~S;1@K{hN;f#R^V0lHbe?UtIZ2otq z;bQkb3gVhg0j>l~M+&bU)UXkG9Z1{kyM`w=VSR6vZ^Bt1@5*fD=Ff=L%o*bajlN)K zv(BOlaYHhmDljZ{?pU+XbSFRW@zKdfA|*Bi72$(V%EKVUmTjb!ZJI7Op7bpU4a;X- zI+1hNV1_)VYYJBs3FL$Uj$mQKjfsqK9FoMxzx9hDY0%@S0)t_jJK?tncBk>GB~U0W z!#!tmyRTqQ7r8Z5(|^JjqHs#7Q%bS@qw3J-H9||qgEjeTk49U zi{Zrnt`m}T{=tLwzoX$gln5kOgX4VtdQIC1={R{+IPLP>d)~t;&E00l zoRWGb@stP>!QuVxRzhe9DqWAikPApG|Arn84NTuY)V&4-Sgp_VUqNnPAC33Jwv|dA6+Z5>S~) zGoAtNKe0Ua(U})(=S3Y40+nZ@SEd{>0hMVY5Og1$sI*%YFFfdFAaf`HQeijY?#eLz zY0Eccl)}&y$i<=%0Njc<=KKvpI}{poOHyboxhG-Gi~pgl#l85oo?E7eFxdnZTxpJ= z@;vPUH5zQX;F_ z9JCaKQahK!5Z9~s=>z943AAwTKP8uyFFq%3ZQHu}$&PwKU;gD*470w|(~QbM;C*cN zX(0&6mH&lSl<`-4wtU_1|3g}njrqa@Hu zj7`^)%;?MI&tj(@B0!=DcHR^v2HGC!aL;Ik=%>CCb+Be>!mjt=*Jszw3Bow+vpMnn z$+OZTj_EU-*?lU9|2g_}iiL4v{sSxRKS_xz&)PPA zWIYPGo4Y(c)N)svm?IQ1nCytJuBjb@pG_Pc(g}>L;i#QmA2L|7=6t<6{rDB!MWwTz zmSFRqy4%IGxcrY~=QueeM&;St;8uTX%gcv;BhNSP^hgJ{v!c#rw8r1}K;Ncxvp`6!H%ayl-D+)*Epk?$iDW zZ#M}S{o{uCWznhUT%U{T+it%fT&={KT;#gW_?lItirDREaVT6~whNMg0lOvgH>HP~ z%Bc-p2JjYNnwZ`i8$~sQA9xq*%n1a3$?FHsf~R-k)Bh7waHrgr;lKBgml@c{f+sL4 zBpP>h>?l1UB&t1$T7_p0K-w}j_bgx0Vkw==_3_Mdg&|f%*-C*ba?WBX zaB8>}DC`i2^}}i+REuZ?qkJ-$Gqj*_+@wOhLrQn4oo$7MMp^<(NdPemrDt20MYN`; z&}CVJlkYcwvbE4EHT`4OCfhe`n@`Ye3vUK5FTOM|GNyd60|Eb7y zLKRO#|70=QuA_yHKyHQFa#6ZgvGf}8R_iie)+>qaDB(APlhd;Hzba|;BRQDeQNdWeldbkgZWT^OdZD0wEpz5 z8yXE%yQd}<#ZvM~ua63BNU7H17$y~N8IA7+!qoj5Ahhq2+EUJ-*HXiRCO!4 zJU6ZId+fYmHU=A>G`RH>0fO}t`1C4HA6GVLfoT%bWHAh9VVZ+vx1NkRpgK{**3IJx zvfnhq5XV-E&q*tZSalV_(d{0=a$2I-B>)pjP0D36qtXi-G@9&v+(k^%qCL&BXu`U( zI>u{KF)*^O30BiqmnLWRH%{0r7$7_yF?2!xBbGehh(@a)_E|o2?hjmL%EjXd%_az7 zb072b_H>p1u(jW+;n8-`ct3?WaD=3)wb%DWTIo9fFa1~5h)H>g?)A}W`tNy5IG_so zyzewn5d7GT=>S(-g?4>N3!nxcfG_%IvXceLV-8-zOfOUt+6C8Y|JafSqhwZ2Txu@bs#tw7)H%DPTidju6h3E!jk$q+z$kM~uMrUs_rc z3;Z()GqW|A`uog5R`y@FG9|zz+OGbn{`*}%s>Y1s`KG@o$iwiGyB zo7}hRPHN4IDW(_>deiFyFIkcpz=~36gHu5VyyE3a&@+qE+r4r61FV8%4NdWt=#VsL!jw?@FA)A67o{68Rdi=biSkNr9D2<5z&yxi3Hx*#2Ss`MJ# zNcc2utA0>gQcvS&Yh9px*T=7!RW;-)Fh<*>d@$>;tAw;c$;u3T2D?Gy_( zT^|dXYF*N}RocK`A!?d?B5`Y?i<#Nb`H~|}oQ_uGUV=jl)<>NM;_2e}`>->@_o0b0 zN2g%4^ATcRm?9FP=;FdgoI?>#E(ZZq)W}zVJTOOZDkkdqL)qg0ZOvXjIo;JRaRhaS zzs=-!r$qmK=YkFuB-?-6ergm7awgFN9NzLGb*YDu`l>3 z%u@abMH~3~GCeAyKBxoAbgn>;?eb%h8~&R!0X`W0(+)?kfVkhgWe!Sc5Cj1q)YI5M z2ru4Tx)Whjl36B^=S|<~Fan!irGE)j1TRPw23)i2R53EmKq2MmDJ<$xKoQ2`K!e+E zQmRuz?jB7aOppATb_ZPr3q!9PQPst?mat@{^u2!+2j+;L4{$WGM@(LLM|0Fjq8OR; zoO9|FHEQ;8ch2wo>PiwdXX{eGT%J@@^(@ApH;g0%yy z1Q+vv8W&rQUqy)F5ErqY68yNNS9$}Vasae@ofsNMv}eU_)F({a_22T z5FA0XVMU(|I_Hw2BWV<;N1RR#WVP9L4io!UwOJ`pjpsnAfaNR^T&NsQlcyFeij!&X zMV<3?s)YA$?$XRlRAy0XmXE_L*R``>y;%a@1>@Mxp%ju=&j7rtvqfK?{xJOHOt)}8 zO-Lixl72qv=Ul*=Ifp@*%g-HtUg$$uRogjyS4+~zPV5rJx1XjOliGf8yV5xsHZ}?C zQYe=G=ZbM})s>6wsr8!NT@6BPvt#@uaDs<)>9)}^(?dx(cCY6ffSb-lR(%*?L}heM+4)#2abPmcg~O5wDM z)O8Mk8+Nuaf4@7>|2SRCC<0ld`b{?k#<8G*ct>QykP~P zKw+9?K~gDmd4QDr{w9*D zlgGKAK}u}DKXOls5VBG-Y^fdZmZBui>o3GZ!HAD9;4rJ_w^yDioY$8RZe?B2{Vom?;3htVAICG3LPUfN~9t)LS?pRbrq4^wRHSqlWyM=EM#Wod<)isxGb zWEQ^bS2EZcT`*S}OA$8r;+4_XQwj7`@z6%Qn?Aqt>pu1HfS_h6>h+Ow8Uul`Dj_Ta z5BP{o_V+7=Z-j_@|D>w>z?bX==P9s~MV=H!JoBHVr)xr(J|w*KxPekt;g zQ#3|DffU>Q{XBNrCz&m84%$o<50TpbsQg7>=H|&M6Kt`i}S3_Z%Bj$P21x`18?S|L${AEP9$(&#ZU5zJ~M-w;!!@4<7|r+)9L`0a5-W#Kz;$`!98%?_qC6$a{^Twqg)X|ZU?8mjex>VA!YLPGAxyQJP| z&4J5rZ-0axd~q9U*Shp(4`nY3ij?!frU>)QA7r7*?O#Co?$57Ny~~ri1DW1j`}7lA zNV4t6Q1sV)ccKyCI)Fd~If}|{0glR+CbeyrbDHaSBxTTnC%(R=ngfpcrx5@zH)qBE zU2n*yylwLZ4z&OtpeaE5CE$Z2#Z0`cb?v};U-&xfb*ZGJm|z`I!O zJbqvKuWfHsS&qF*@eQKE4}}K$25QqI0nfBv7Rg-FUuhDcB7lPIk51$_sl)!^%QC)v zn`ucz1sj1Sm2l_sy`0|A*UHargbxbg*=H5PXCcP>;G7In<~SHQ=d?fPoC2QtHaMs| zZ_$Hzx)wuzbj?M}Jb`v3DOl^IWx}?I7yMkJMknKUkx-&wDe3Xv*~wdV)?Nrtt!tU* z-w!oCb}@f4d?~h+D~`HL|9Jd&bXGOx=ErixGIj6;~zwi>F!6MxqPBw2q?s z*5-ic=FXJS@aT=;(^&kJ?NgBFbWrae7sfO%Mq;-}bZsW~s3ZjwaxOChKZePsf0qqt z60$73t=XJh0)YI2y>D|Kg#|%QOo^RN!xulK`|Kd^DXqxyn7<;81>GuxnGggYwPcf* z9MX92U8}5yJK`S8JJ#h^odc2mi`<;11ePQp5bT#1phHh4c>qgd4uEe}=gXR{NY5h& zGcQh10Eq^>>cFzfU1V9(+#D_jcFMbPG7*QEq;h+}(6aT=gA5A9{sMgq46UGg4JuEI zfz`-IXTa-rMk1z>zBeSJ0YdI0$oi(Fh(nL3Cu!=!Ten+dn>Q(ruH~(3MReY6wvbq% zPdhjutx!tdoClzOaodr<^a4maochjB%iL_y1mN)QMN7IqN>)$m6R)K3rfl>6)=gFW zj!5H60ln~VGj+$&-Op8TG+iQTk*(`d*$)t#syvnTg`+gT#6LD}`tm%xJEz>$AG+> z8{yV5+Dt3=VtnaoHwb`g07-5{7q9cSp=9>A?D-~r*(#r*`|(z?e^@2e*eQ&C&blUq z%qPaGASYRKxHj}0tf6G837w#$4OW|pMyARGuirPL))no!oBDICRmN}g6U1jB3EyKw zJzOjkCiP+6+>$=oRhfuz(V0N)^M@PIi97{G@!dR=pvb;y{gu44;*#o(CJVWV#O5KA zEk9Ab^kO2XbHK!`nZ?bIvc!e(%~KoUi%C2UFH9+533wrJ?AvJgaennKE_`WM8ZZe9 zfF+w4bwl1mC`Jp|F|0!SXzvlDCP6l*-z^_^8g_#bi&bV>j#(%h5vw&=TjYq z!+r;-E&wmP0D!BJ01GadoWlJlILUxp8J5&`Yicq^S4%QpmSo7SCh1)7)uMD1KC6CN z^!efPHR->y{QYk`1WmVgEPGVTzzO3y2&{H`x*1R7=qPCJM)BogY2hU@M-!1szg^DQ zQWI8DSnbm18dB6u-mRy$RogV##5tg`pL;P<63%v^X&Z13xjW_73DGlWLT5=QQ~LaT zyb}?bRwtf7uQ0%6I2?D@Wgnq-78esrxMns914sK)&7Gt>4IRO*4;VMRBK+I2yd)Iq ziQ#2P@Fhu(xEH>HVRj$bqZwvmvGUrSjfkN-CBPK}3d(-nszPsg_=Qzu{T0HjD6`I= zl60!K&b<}YFgSyihKi00 zpSwiS1Em4%&y+H+Qyg66D?oRy`0&bNp^{j>R4KP@dTq(|=gNPWG{$ppmz&v?-f9YU z$g*F?xGSKtU1e~#1tUjNu+sC`l?2i~rDC0UN`|EFwMQ@}sXe1jlDhl_`dZ%Z8>XJy z0^${D_ZvTc*j60?q$}-v8V0$Yv&Xj7bNqo@(2DW1xd9!Y4!&zQZCm^ao_}K$B0A=c z{s71SBcVtyPr8L}FNX?Zc&m^jAQ%C6QT17hv-!u5Lb|9ya+`=c8URZr%*wX0#u#DD zv`BzeI3e$@$L)r`9@Uax7j$ zC5#P6vRQ;;eP8dUx3;TVF>8xaKUkYoAgwRyt6BcWP#n5}`SblxMk8`9O+d?8=-UQ2 zo~-oS3JZQkn^apl@`VSvz%cxSfO&l!LKFEE>b}&n+&g(N4h~XS4<29RtzG>CiR6DAXd(hdlr{ya3Vt2-T6lJmU;9TpRFidjr*5u_p3| zd^&Q3)u&4q-B(MM0z-gFqOJ=9xo;?KF1Yf>sZkVbXxsN0|ARyjTgS}57p^jWXbXDN zjzS@47L`f|tZz}t!XCeq%^-*rGs6_?YXlj{33y;rPALiit|f3oW-;6szXS5=6ks5K z;&|1j{M$%L%xfx%{)?XM;Em}6`8s#hX_;r&3|Yn^+n}V08~Cxe(^5y_~-kI zjDK?zB{i1BKTA@P&E6lH6`~Jw{xHSYJ3NMglhj0W)gKiR%R-{;VbolN@%6@#M8wP? zxwj)<@_^kA$JM{O4pk{wTQ5Y`c>{NxKH}-z5C5&Jy(2`eod?^b&}b6Buu$hOM42I@ zFz*d+oS>6fN?uvs1hktLOqeOptRrzI)>}pnQ=wmxojTG}w}+X2{4US`XX&%OWz=~* zk1j5<`Kl}(#Jw_T3tj;#ap#HBC%K3)?QLSz7yI4a7567?0PG8()QqX%PJTLh62jVa z$}Lp3AKU6EJ5!Se5AGncIm7Fh&r-%28W=BosX$P;Q#E~95~Q8X?)S~OY~|-~a!%NY zxMmEH%;6LA92_pG7n zI-heW)TsGLY^6O3sg2j~KKP;Pd6VavqU*nOTi|}c$+nbIq#FA`8>7v-h_LUny)xqA z1-ZKYC3-2%RRj`^F5qDEfRsCBY5~C(_e+Tg)Y?^(wEI}`GZ7O_7vq&{h?hR0s5AK2 zA|5#&akGHZTg613bc!cOSa3U@ex{N!-SQK{Q0^ni z{M0hqorgv{y~oKlOX-^a&UJ!V$g|5=eb%MjKImpx&loePnC--OO_%?YwI350R&lcn zt-}}NvsR6i@4eO0e^Ly04R`YUgR{Ni+fj#@TOuVpAiBWW$+w@mx6eNJ%|s>vl%=?d zN|jjKf3$HP2%QT>^~jpHA3)sKakQCB>acBjU{Zpx-+Azl6dFYeNP#Th2q;)Tz4_7J z;1$W=reBtL-oI_EfB@(Sog2ZtL9;-_3uK2u>xWUJ3-%A$M+g7mrT0^_n`)t~6{=(Y zUi9CSKc=Wet3+cb+O7H<4b}1?lhmTw1%JTV^FMO7GQZhX%wLcS#&g3xK^BBGpp+}ZV@fHbKB$Z*2> znO#mA@{fY8l^5~(ha{sVXgJuU>>_g_@`1LYDAl_X6^IBl!0REjUwBm>eE`xq<@a&P z$`YMOvdBa-U)GjLF`Y#Gt(T`A3~@07=8+yZP&e>aj#_j!#;hc8$8&ql=Q{>Zk&o0w zB5;KY|1{TbQifHYT0)RGlG{5*R88DJ$-_;q+^~9IzWhRh>Uf!D=)^!rIYiGW{3rC| z6hqi4_bNBJ4hd5v-J}1N7G{p{AS?WJBy#wF!G`OJjR0(5^Bx;mrQ9tb9TNF;8aP~) ziHv6#DXHBb`5r9FMFj5sn9|*OBQcy|v@;V&K%^Mxkb0#yY@>;`TKHT)FSfYdV17Km zBV$}eU*=r-)b@Y?KB~hWQZ>SmPv%HQ!!J{9fd&Gz>j5ku8N2ONSt0=MAvz?`tbPDm zs~y%4?xO(C{63;T_vZ&KG7?Q*!k>G7>~yc!_-?di8MrEkoY+VPYnGC* zinli&dZN|;KQKe`$qaw^zmV^OTAjxQq}eHGAm_evS8iOv!M0Cn9y)Ag5qp{!c+wX7 ziIjGpxG0YN<`4JDC&Gd8?ky*s+O;8EE}_{33kmHa=(dKnUhlG6GJbx4YTY+MWK*%`p;7;e(WxR^s7JU^63J6Lsx{8UPZOIpzu9|DUwNSLl(IzHDgBz(bb0cZ8t++ zRx)82o{))}Bz{1Dsc)k^B@kYiZ{0Zm7X}hrWJ&ja`&>JFkHWmJ+o0|wsV^M+Xa9&a zwXcT|BHpq>HIA1-q!p(VgUa2slGZdL!GVKM){u^*QvUaGZZ9G&gp}sTSU2|8p|yJA z$Ij^zY}ODF`J^a!=|)1sKF;PCffwa%vLHF$T%mvQD=2T-I6&I{g`~6y{w0#^%DXI13sM@7_gAg?Ff#R<=fXJ zV?g1qG~zRzI2O*^bP1~bI)WuJpV2NSHABm!u#Vv6n}#Rc??+q4qv5bGn_l0()QY^> zM$b&T&wALp@Kcm01V(@r-Mr(-1!3X-509w(RW{7-VJK8PxR3gv2uAR5+Yw(%l*7h8 z$p5G)`xF;BDT6Zn)x-v}1~oyDnHagr#%Jl$Q>4}#`uHo?+fh4lZrr`YwkRTGozc@l zVmg}4ph{$ZGVT9W{7qtiyM)W*%1T$S)`?~A0OabK%T^p(%QK;25+xD!PLV8emv){f zqJOWAi{zvKXWW8-*EG6nyV&b$j`_>^FhHoh*IY1s2H-8+FB$$+l^mA?^}yfJvbqXBd4ah4`k;>wyl3h=h~V}#?`U!lWe-mNVv#NJlt0O zr&OiE_K7Wex6*`Y>P|)*LjWHWd#^m0^sv9~VSkxJ=NRol!jT`YPaiQmBi82NZG`C! zo4h`FkS;DC%@xda$&UF;`{yI-@wRa^zls8jR78J=$&g4|%eqYtv90B+MY>4aT9Wfi zblY)u%~r0R#H)kJU=2xr7(YJavA58?%{IxkZ6pHrJ)a7rxBBqgVlMyS?xB055aU#B zI8QW0+Q(&gk)_c$rIS_)vJY!BCmPUEP5Y2jY;j(*x(o_Z?&AGuMKtwbYYB6e2Qb8u za&j9Ol3`jz3Dc{tJCNPIR9G6fE3lzbX&+|idpSjs!-g}f>3LO;;@vaC9BR^h4axQDT^(oF_FZBZ4dmf*j7zL+JG~RiFOv<7u$hyQ2#6kPo*y*& zWwb#GJqLy;C=xSfAy%S8a*$F;^&)^zgMN)sWQ``WpI$5@w2blut8Pf{FFLv#bh}}% z-kvHl=_M@Xf_nT5aYJ2DqyfdW4b94EM!9O!^=BVQjj0ZzFYfn_En}doLCTaF(W?fr ze>l|>tPMXs%e!zW`4tP3`(y8W4lp8MZb9lKZ|gfl7#Ic| z8f8B<5LC>O`(H3%o1;B#rO5v>3AyhvRp|DK3X$MdCaVZ0 zdWg?$wOkME^b|aP|-KYlZEtH8PAo?h9sf7EMQQ4tWeXvKz>g z`3FTY)yInciC3f|rT(DpMziCrjY+6|G}+2Aq|9Dt)EXon6VoHWtju*ZGn=1?m>bvj zA!>IY4rk`{o(kd20^4(63*4@6@GgNWy`@+K+*3epU)jrxSB zC>hN9wCv7sz1PP9=N9~$j?T@4+sxAxo7Wk2Sn`yU52N<#Pv@_Ymu#rVBlYg! zuZ4FP$OtFJVP<;H${Woo#I!+n%KD?;O&cMa>r%?Pd8)UBEo7g6OH5#%dNSk|cVFkb z)R)o|q%`q56f95LSIZ<6vn9B>UpDzk!b(lN_gzJB{wbCqHCsU<9uU@DNy;J$fA~KH zfadr>UT^4${eK7m#k)5SIt0n!ay4q(i;D9>gQ))81Kq|@A$&%CrXA-&$nW!vc4Xfo zdSiH)%G7AKqE<*)`x`X2uHBIYu9GaV>5zdm?a*g7LYT!DPZjz%VM%n<&l8+{?C)Ji zA&tO913NI$fa5_Xsb}O}RS*6f;ho;6IM{T#eqIiar#oHRe-eJu_q6x`jvkH9wZuJ! zk4UD29Ke3~Dwqr-ROL%%YuRU2_j$JN+S5nGAWrCMBKtnV{L3VA!&%eW^^O=G%>Pe6 z%Hl&^G5m*@{ktDR46P!XRuimvHF{GJDo?x=6fjgEG3}qSnG%pwe1$J){M%SiZ^5TD z3tE|T1m|b#chieX8f*U=u6#Zl&c`|Eq#)UCOddvUXUW;mq$kHpCb{7T z4^_Ua=?QPV>)V}RN1o3O^O8-W_ZnT}w>Ki>dtB8>g;G`7ca=wSG_G9omPk-JIqAnb z`PP3ypI`o)*9vOz;FIG-bTXm`Iwb&nQ3dr#llP`AEYapSYxWM|ZGtWY3|NJerH-o4 zVO@mRZSlccbOx~CCtjsj_YgKekskPl$lo9!A)=li;1YRapFD%w_)eWl3na8H-cC9{ z`hoOg5peCtu7m(flC}q8YubQgZ+sw9KEn;nzWPv2lYR2}>2^zpJNJKKg50?iE=c%= zucpMS<;mbq=DhGAE&iy>!0gNfCp@$GH^M)&Mlm_BnsK?ZwDA7JbHVU)IUkI35s;{& z0dE^*ZJd0)@_G29FTmaZEtG|cG?p#30)KC(tI0AYb>#PbpX@EmwL$?)d5rfh7s`PQ zQ}x`RIuK1n#G-j!d~cqvk-TK)!97#pB+QdoSB)$I2nMiDMn= z>DOpQsKAege&hCXel?U$MEl7R^Z6!}zJo7+Z^ZC1J(7?`3%vY`b|z#_mh zOgC(~10O^Y4asfA+`!My{Tlh;i?Qu8drBPlC6sqzbG^c8*)BtbNI#l#_H;6LWK-Yw zt~*KxRh#2kb~H59&(-W)uMHFK)Ca6=Dm;bcypVJfTDVmIp-f zO)=Y1^5KCZ#J1n!Nfr{D%5YDo4<-`zCr%~&`k{PiM}=X(LxfYM&eBvnX-u!+46mCG-jiK;oH8d?-|Dd$|S*&T?lpB`;kPP9y1_QU{pNeWc6^#A3C@7gEXQ zneJ8hwvl^J0(ed~DZZgl#hj{{(`3`KUQ^*&6~j=XT2v?qozi zewmrP;A@iMs?l`C^>CG|$Yth$()c9OfrpP|7G=TuTDmk#W{a^4u6SU^!_3MZH|{SD zIK}ysE91K3a@R{z5JTBCDRU9)h%bTekwStyzd)Jv-}(z?pct%`yE^c2JQ&*~aiLx$ zGhDaqF=&XD3+!KHHVDQyXM^0s7;EFHmCyTHsOcrQYAbV+D{+?yJpcjZIMTI}6g@`6 zhX785F98(g{ToB_xP#{XS=Jz#FDn7m)WrEgYE5sxw|{QcgD~C!3@0{=lz)wwG9wi zsb>tml4Dy|FF!#wE62L@t_^s7Zz3-UjFNuxVq6DEpqZcew3)a$zJld@P7!5wvbof6 z@&0{k!(Jj&M3S+GK0Q%=oKEAiQT1qCo58(m#vAJhQ1_lgu?y$8X|ahe!DyL=ZZkVQ zmxRridLg_21_nGq1a6GU7);rfuA zif#*9-oNihHmz@mO^P`>!;@tK0DRHV?)){Prwet6#?QSmJ$Pm)z zc9{mQ>=Bh6t|64>n<9yqv?r`y-EjYQ>P}*5>Xlu5ORXG!0kx4~Lk9`b`lojy%T6kn z0wrUi`JdmK(Bg(-L;>R9D%AWxvQoj~xi`+6^TChu*SY{XCga78H?tKYa6*CjqN!yf z8{?D?ahjAVcs(t{0B3B>`7q!nb@MC?9}&O z@>H2cL5~HK92Vb`zq{_ua@+U(*bl-BOWZo{*4-wGI3c*T@bS9h<$9;|)=&`_gjMkV ziF#akt{aO~@S!5-?vky|U6?o5Y*tNVPlq6h`RdZd_;fUPmf2@MI1Ic3;@mAuuH*do zb3ojjUF&I-uo}Gn#(@83dpp#CyMXL}bfz8fP)Dg&)5R-{9j zdk{Qe&))S~vP8EnGPYapl>2NOl!O@w1<_#tnW_1MF9O2bJJ^K><~F0AO6o^Kfj5Sm zzKT|d1u%nBz7HV*n%*z=F6C6E56DnRZ=eXi1nUmqKMQ`F&S~sAQj|Q!krCIzN!{AL z`QwP4R&4%Px14FMtlj?0vw>k=nw>?4S$s0;pvIrvqaB>{MBxK>s-}&<@jFTxs9E~D z09?khF3}%@5RK_M8kRi*q3}FVnkDci)YM}ixlu7tk`Ml1oAWb?8H@#xWj=cR{338e z0oJmHy|l}myR0g2-joF`H0oOz4CH;v+(z}MA|6}96;?%S04*X|rxp>8yn+h|hL{#Lbj+RhrJ}UzXl1 zODDw+ei@J>W&A+{6JcPnj1?e^vRb)=Y1F!NK7vNPIk5|;`)N}Njb=g$1p6+~Ks<2p zPr<84i417{b;0FIG=Ms2U%r0?^8ZrL@*m5Ss{mAA)rY!`Md?A2G9NFf3`mabp~h8Ul)n;_ey8YX#Y*+&>KxZpb%*RqN_ zE`QL~ckP-reJOaKm;sxilCSnzO(g?F!63Xyc~^@=_3+)!R}sSGFs^MUMfjUHiaI3r zioP*xOqOpk%gPS?GA>uWY=S5t_JheEd-A($&cnlufG8=X8$ese0fk7{n^Uu2dG@;U zE&jn7A{Y<_76=;6hKlRJ`owtmN{0Z~pRiJaOTOXwBkS#jJ=v}*O)`B*33f`>ZH)>w zeGTINDDhoQe<0L8>F?=Mf%^8>v5K!_UQ+0~(;B*^`oOV%TLmv!N>o%0?Y+D6ZD%|- zUR{Q1wqD(>1td5&C;oFX@Oz*51nE2N2ksd|o1tq9KRXN@D_rXLswmNgi2IrOMMpyL zCBFpbCo=lUpQg%=wBOd%$brzWYf@x5I09)Q^N2o5@j`92*xAD^eu7q~ZA5=7ugf_> znOmx>+oisF^|px{5P03ptI~}tc-;=e?|!2c2(1;UKsj00(n^c8sc6JP2%`-st%6Pl z=@|rPP}l@3%?3R42;y{6fYhWWzzt5Yg}IAKRr2H4p9~JN_;=gdhTVz>DAUD>xoC%(<-I2hua!CH5 z(pisKkr8GxAqSm!yLob}P<-t38+iP)01ta=u$jUhaZ@QXXYPY5|7^r~m;Qc+NB=eV z9;7jw-Pk*=l^@p?Jl zS#0+IBT==PP)7|AsM0|p9@qx!Kqj}C{NDH@GQdcW=;f@LyQIBT9-Lmm;DH7*EkOEh z;^=(xT~J7(d8>QpZRG`}LaeR?6&DCoPEYs&@#lz=(KqwaSl!>RKT((kP;!yj=?@Ba z+y+?97*{ZMeY-lz8QLmlkgdy{WR6#0s8{{|CKwz}1PdgZLj$sfTE?R;=*?~4up8jH zcKqntSdK3B@1L(mf>jChf;=C*?lV{NP(uG>Be*6)LXFDCII<*8WHCYUR;9^xREWuO zvgYvGD(oAXE7sGT=lII&1xO zd5rJ1h8!(t^mbuSPB!E81{T^rJmG4V`?mq6&i(Yg_TgJ0&S}^j67Mro<~}t=r;QN+ z(>eVYpm(_Fg3|5BuHljJz<&ErHrCw~M+u0=+H(MH?5zT^=re59olN42CsOR~u3OHZ z@3(Fy|GJYc*Kxyth4uE|@Oug$eSX945E>bElDgCnB3r_?Kbqmjx10^POFw0hIi7sz zL4q(u;sT^E0+sTlQ%}5(d81`Jdd{Fx;L~8RZtllb%;rEhidv$UG}W%tZ{B$NH{%?( z2VrrzN9cvYg~^w_I3DUE1FG=Q;)Hyhrphcfx2>`G01?~5snhWt)ADTq*eH>X9~O92 z0InG{=*W=hYfmlB;4GMGayxywazOVYRH7azvQ&Mv2nS#asI7)cO0S&F1E?;*(2N_y z=T3pRy}qJ*Xf10)q3p*CV+5_DZ{`cD^G4V{K3ZB^%{iQab;Wb}?4?KA~e_ za5C`tCTm`ky`W@4%UKN558Kx*A3?rLqd7VDQ?W+Kdi?Rm(0?QZYG_^2R%UQaO#}w= zo4Re z$NRZK#hdz7rNOXjd_X(wl&A&PlZzOUaZNA-V?;%@k$ONIkyt_1nm{F}fze)T+^3PP zxvZdE`ho~p98p-LR9>Pf%!2&DX*WH;g72(kv(Q^^$`Td+kA}v*A;1qPA-u{jH8~vx zUYI%Ar+v+2{Ok;0nc9Y7>mCQ>n|4Rc1UhPK@n(7s0B9LE(h(6i(vOU152jbcHafn0 zQI(yhr1H zw*VLixcpJ*)|~l7O6Bv|P{%>uXu0T?h#3RfUB7zq=%xzV^ciy4NdJTDu}ROEB7b!m z-M`5SJvDjpHbT!P*=ZwcW{C$Ybs(Ly$Ki?0r~7tcJF#PRVU-*UoWmjrSK9ymDQDVW zE<;X!l%4`Ba1KPHvvK_nx&vF=ee&gbH1~b}I&fmb6XMbidby#7t7J1>worvo^Hw7C zbX2fg9JsmvKmen;q@mAdnYMLz=_8;?__yuk_uOP&uFz#-+Q7##e6J?*445+tihCDZ z9MJ<{NW#}- zN$hDT_N4x;X@avLXg`zf^eUTe=8^6;rc^cE*<)1`l3>FxIC1YlW!w=oc#NYnJ@-x- zuE^d_SVYv1GJS{~DzD~fl&x3Lxw&PfF(FKP)BUUy41Iff<&VJ&tBGZw^BQBuzZ^g7 zW}NwApzP_gH?-bz^ef11hGh_-d1e zxBC5+7fXvW1mCV)XsH(oI-hJ3a}xwEzyl*!_HmMveA819CS+Y`?) zegVZg>xvIM20@ojlWs~adBjo~zH?{n2z69=B*|Tb+%2%iJarG~Ri!LxbJMnY+_ssJ zS^+}P9A+vJ!$QwMkK*_}Tv#yD zfY-88u~qANr1hd1{Q(mu-v9BX`L%;=xBGT{Zgte(e#6`{flK`1;$L=mSC7%8ViGPw!bXUvS_c7jR7AzWDKULRL`Vo&tzk`yUJ%bG&Vf zjNX|jfS$BJQ&kNd_Y_uhms}Vo=My7qN*u6Lu#;tnDS92Rn#M?^0Hs|ToPqsuyo&#L z(&`{GG;{Db!(B$u^7$hkZ{x)zqLS4+FL;+0 zpq2QId5JrIF_u58ScdxL{p`P<@wFmu3_vdHkk6&)HCxOHRc|~IR4~8#V~d;$&>a{g z0~n{!yv5GZ)PXy}ffR!G3iPk9=^rEv1KZE^SQUZlVdoSES|1J;&C-cE5lwNx=vdrVAh?+lzTO*pMbz?ZU5U>z6ycXRM0kY z*FS{GiDnyik%Q~rU3DyJpZjLfL-ACHfsSID$ZfjEnZiZIOh6bxE;iN4 zg1U5#qhi_VI!ND4^U;~LEOg7 zB`^-UDBU&abK%z1$N`Kl;dNLz2qk|13%t~Nx+2i`oC|`K{|;ug$f_MB{(>=MTEySD zA4z38gXDJ4)-QHsCR~rP4O3`v4s`SSsCAQd*z*PBy6J0^5A`TMDWTUt2FMlO_V)S8 zKG;4o#!v_f;sb&W6(fY2ZZ~(qZPhMSUXDhHs`Y;R>|6B&P>Xwvx9pBJKjHO9zLBD= zIb``EzW*J?@V}E7rgO9YOETytex%=+1agfC84ltkX^rz_SRax{a{uR9D~{sJ{Yd=cd6`i*?@8)c+QGbZu6WQX&d+c-8U-Qsy~rq6o|tuj+hgcmXlIwvP1M) zZL3U8lgmrq5VXgmR^AMF5MxoET|NJk-$>UeHT_%hi>c6XwO(e5%Kk=f(^PHd75II- zt6HUvco&|;CfTX?=7qMSHAO60YQiGLNEcI{T0CSUb` zMjSa3ZGtcvh*mcUgG$eIU1*QBv&n`$Xl$VHbCraJ+!!c}E{6x2+J~RP-$z5rJDjAI zFZDGcMi&yFRlh}${_>g+Npte?Q2Oi@f0EE8r=@*N@M#H^F{gQT?ISu&=1u|_7%RTXNpEd?w3`kV)Td_lSeCSAX^AzUDvX*A;Ls_@>4=*Ho7@aGe!ClV4D zY0oLupJ#ooEEjY{{_^GX6b7W!lxg$aopKACh`O4`JIIJ>+L8)Ad&eMy2VYFf3k}@G z)yP#p)$>;7C`BuWYQCR-126O#{Tz_Oz6yiIb6QV_;EU%XSYMy)U;|sB^}Uhz*`#T1 z2r6BLhH&~6r0x3I_Z!D)M_Bf1nBY?V>Mg301;PFCkRFvhc`vb!bEf2$*NV6?JIsts zc7ac*Yh5`GLs+8i=?+8eEVQo_G1Et5`lFBLCNnrjHg$DuZ7X`haVm_A8sg;!{`=Kp z#E|B7{5jWAdirP`j8XW&SFwZuJ8uc7eZa5Ql^a~y$mgh%6zQaJ1L2Ng-K}P0GXcZ0 zF`vg*f|+R&xn_+H#1D@eJu-L4KL?-^4Q$eHe@bD1yCS9B-8MF^{bumHIH~;lxn_dB z-RkNa!p<-|uMi^u2H}HsPIL9qt;y!2n+atU-4yWxv&}N0bv-`oIcQ#4#F?lqV z%s7il`d3CdA@!%o3i68hlU&2ELg&ibY|Bi)9v_9D3RMEvT;kqOh>M9w{*u;<7a}ai zf~mf8!OMa`suY4X0uvX*%E;{K;wwb8iml|5FkG;d-ZM&=LFV>rE3<_`FO$9Y_8x3q z;-M{m;-+wga`iJmOxxU5=BrZ;FGKZXa0B8^^`&QN-LDolN<2LgPT*=03#&U7)b7Qp z!%1&^J#q}q4Tp-y0+&izt#8OqC6NAwqJ2A&#@&l^XoReEe!w##`;De`C0oIx7rcfI zGp*g8?P~)L#n98s*m><@uKvV$#RD_JG|q%riSImv3-d{Z9$kox1APkUJRwMYVEE4m zQmTc=)2MR0@g3C-q-|+e?u%Tsb2SPv#0%1jygASc6z%>QX*;!Ps{_j$tL#f*OhKho z>E*@+M!KbyR9~`-Zm{k}#G*GVZSM+Qw)ra{{Z+h-Os~DUKK?}uFE&c6nKoAU({^og zsr@QXi$RMWl}Gh8+^z5L_O8))DD~$mvwT?6^y2SNnk@|8UjDRm{Gs_O)9p_WHhbkz z>Pk~i9#Fk$xmWBig`Zq-u&tbnVia;T3FrU2~w%NDNl%5Ps5;P=L=Tx=M}?zZ2I29$$N~r! zg;aJG*hYIbE_kuek9|5xJK%OtLyMb~!4LAoF{hW=q&cRna$=OS+PZDW;o;Q=^*m1r zTmyXo3>Kb;u`$P2%|aASSAMHEDwijVp1rj~@rwL0#urHAOQNv4-5&ilEB?I?&1%cS z{4z3}yA2k#37^W6+cXUm67N#zi|WDT;J0|Ba1wTR(PFIoK$@K=O23BRq??3&D3^#h z5)#8l+b529O$lL3m5DXGL75Qog4q-hfPHZftk?0OfG$44ny{3(%}|TU=YMhX{Ra)+ zPh3A5ksNrZU{qC%s&Ae0a2kp9r2{=Pd4Z0`q_3!B=vwqalLw zLkIg)J;rk=R%mL;jMqV6XIgM$GJ{X}mKZiD1Yf^~{=qjyBo2LmfFT&(Ow56%PjJ(8 zuppj>?VcfTp5|!A5C#q_1(p;xQCKj+mklNUV0WJ4>O^%V4N9B}!Jvx4;S#_vFBax` zil*(i{k%8<<)7CrNC^KgOn`m;FdJdgF%x|D9R|CS2cADo41KwCSZSk1)|%yz2BmU` z?!+X*pFZ;Cxn1mOmHpW+PattpiyIe|x`XYI-&&iB-O!<^t;qB0$mi;G;xu=@u?Ti` z=`hak``@*nJ9anPp`D|T1GP8iu{wNYyJ66{)wQz+$21q>!9J#cuxV|(O7qtlGpy1n zZlhMqMd_|%)9}Wsg>xlZUiwl1_%IP++nQK-X@2^BjV0>H3s{=MMEk%Hg?6ckUHU+O zs@3e>I5Pv`l|lGKqWi7qru)?N9bv&rPx(Iv2IJcs4a5ebJ;3|aWXk?TO_oAdb7B=K zf1VhW-+lak_!8o%lm)~2=WdFY;qM1eAMunwp_o0f>RQk3#MCPi+~V58Gy3#c<7PiW zkV`*8dPju7rcg^AdN#xz09M*mfbsTf3Q% z9~+Gl%(u=+r@wlqRvD*MxmlIzr>?|cNGU(;gXzM1X3m{jaH(;R;@#=GQ~Lqa`ZNUe z(aQ;IiS+xgY?oFMzX!0^p^s7DVeYSa&m!BpyHsmcV31nbPSuwJ&zO%Wx|uuC+df_n zKcjn2(itwBg>W+GPH;fMj!*O|guhqiq#&D)j!#-^=Yuir|01Jge;914JA;YKmMeo6 zU#03_0MSM__<@$H2RD_{e;sB}`xe*x_5@|@oP@mIVNIe zT=z=jZ7HpRZy80VC;CQS23IM*S}2)R=nVsi+M?{s7I3SM9i)uz8c(B z$?b^e^eP<8(I?=v{fNa;w(HD!(9&jNKSDhy!V)Ys)qF!*=`(4>O1$jHKYmx^n{S`A z>#}uLj{bBfQ>M975|W9V)M$*CXL@t=Xwl;8$Pj{v9i5o#Y8aYsn;Rc)>-X1JYT`YW z8qWu~!|}?Olk`pOv~}9q-^XZWe;5iL9>ttXU-A8w6#T%Lk4wpyHQF9}YoEV*DU^2r zghfq;c}FVBB|@)&e=!tZ*#WjN{f7dF)VUMyZ}9D+?s5rWvXKR(qde$cXT}i@c>|NY zmV1PsPQctI<8$c}BX=W8@u+T6SaFId4oGe%Dn9*NoA(6TwBX~qxb0W>L0MudMjwoO z>0aYisZtcZSQPpf+E4!pn}5Qkqcgs{p2$OX*8QoXPkB^~{+5P;!c9!0Qa_>EHu?gn5fsbgNN|#2F+KzjMdh}ufZgBNE?Q9jUTG#NWLq+fiV!(Ms zLa2;~#|6UhB~oB1T=vc+JrWt%u8%FPC7wkEl8EYLk&uo>&=|$D0@c8JcrE3ZngCSA zuU!kWOEh*10z8+_R2p9lK0F{lJ>4jU*~_-ZED}FXC&teiJM{{d>z*+&Sv?jhRhUWdc^OH z9W{ZzS<(qiFWngmv%%u(equP9hJ^56V*9K7Xey-FfZ6l7LFvYV2c=tSRFsmgp+&l-^AL^&h=8P0(lLZEGz=i20@58rcMK9U zz%cV3Kkxdk-yblu)*Obj?z8W`uWRpX@B3;jo7~!t))z-oew+_o?2@p8) zod^FM_JW?eC);Q%XA;{Wc_kpC8^yWg4m%VbJWrFk8iNAw0$TuJkvpK|N*VLlsN~8m zKAd+eI0vxFz}Gw~?3QS+`g-k-sxYC&%arKfrex*c6t|#yLF7CNuE>D(0(til`u#$B zBQV(!HKNq|Dn!PQ1WSCqf1O;jt+PH}Q%bSuWf2kcBz=)+EN?=}Ps+`qY%1C5XGybr z6n!!-nPbRfr=izCn%8pt3%QKf49pWHs_5m zevi5jp%uPKJ6U^*|24gRICVUED>oW|>>eLy6wrkz5iD%>Lr!(A_cPNg-zHwz09W^{ zA1KED^R)jAV}RRMlJxB0Hw-FV*Cdy7*e>gGR6{4Y>p8x`;9gs5DsZW5laB&3iCzcc{y0git-Ta-zn z#JK+&UJ8kPo}lc3OU1i@iFiW&F=mqz!cmQx5seRBARa#n=Ol9ZtPF!RlQaeo`=ueh zKfzE~)*-*EJ=FQC2sJ6V&PTtu&09eij^X9(_#qJRbdvZN1H^Kd$dIhBY68tj|K!G2 z)JVIY3c9ecWDRi5@P~6e9v)5eb$C&>AM0Jv@ai`0qTaE2kd^nWTYEhf7zyMYWinUO zzk^p$gN!h%d9gd^3>(hqCwZi6$r0E)sOhZo@Z|91A4FjfQpdRf!1fT*ZyU9JDxgFF zV?M~}v6?40!Xhp~(+xY*T3wcQoyApQEa1w(FS;cXYNFSdA5Y)#1ND#KHaeGe5$7V^SJ*a=?S?iT{H|4`=1SjRH!tEAE!RMT4Rlotx;nALl5mbtJ zU1%VpEqJ5~!dI6d`BCNlqvCkpXKDBbGztpT-^PPlSp1BazfZZfjrU^Bqq}?D!0*-R zJc9v=TzN_Z%IYFu;%ur5D;#H2PIecT7JdOP=OeJvb^o;^+1^45jWBsYpsE}7EpOu8 z{v&QlhnSJ?;DS6d{IY0KK4~gMnnxh&E^v(qt7w2@m_F#^;mT~eKi`jnwqj1b|ET?6t5P+fD3HxtQqd-fQvdc<>IppV3IDZ69#b2jY;`9T|QQsM? z2*}Y(WTN;)T7~~rZdE*#Vo%&%4*YeU+5~pXt#SzPssJKYzGYnnDGo;_y-TM=K01cA zwOSftLvfG+u0F0Ot{hUoyCf!OZznP^Vf5Z~Xs$l!3gnDngaZuo?mTn(6s3vVr@2+j zDEP~=c&h$4c0YPt5Vu3|JO=Ob&l+7uP4#4Z6Z+L*u-E(X$B zY=Kwi?l@Dy)Cq}>FYdy!812SzgEdDAG_@nIz>Ce}83y405GP3%I9!)uE8q(Ml`i8@ z;niF+LL?Vr8zv*h>>ZP1|5kH)WCGR%9NlxZQjtNDtk%YR*JeFkl)vHGUMsZ#9=duC zB4zZ1X(f?Lkm#Z4lxMdL36yS6u?F*t;v@a)-_s`wm`l-s^GZ|JG;ffP09TiR`3;SX zNDOL-1oB<}d!w9jr`6@#{HVAd3Qr%f8bkSY>Wov+q~p&-vA>ZZpy#T z)ccQntfdI9y^{Aq|I|0SpW^+9f^T--4&2Crs8CkuAm_gf(?Y1axV&P#ftT{D^MiHz zd>FU9L}$dGb=T^KfWjLe3-t!_i^mxkf9Tw4tohM-`)N)7{q_b0JI?@~!o_TF!ZsAa zvnUVp6pq23@xH21^FV-@@KKv*#@(|C`;5j)UgD=CNR*mKd@hQ`@%zsSj`vGm%SberpE$;-k7KnlD(~KBTG6=zV zd7BH9xF|1D+?psJeM1K?#Bu^+2+&W>R0Ca0SOmwP2#TSOF32)qd#%nDv&kLo%|+|D9nXilpe zpxllzVXsYj=**0b0SG`!Wm{pIK0Uf0sF7=M+eI+%1iP|SCh z+F|43=mlXo$R6$bKH9cuEjT7x*xtCHxD=OTYGgH9;eT11;XS7gGx5E?%38Iwlo(?M zb%hP>1bl&r$w|d!8ze9tZgqm+nwkm)aj?B-fYSVI-AD;=J8h2Llipm!G_ilb`{#kJ z`^4-@Dw{G8NDSnUJT7O)39dCsX>ncpcY^ z401FS0zj!d3f1nlz0BAGVjFUDN@(L|cb-_1-4q(~FDap_|DEiXMmd-8)~&@+umj+4CH8?9t1b%M;_xv$^`YlvO_CzW-*UPE3oc(*Ah{VLfNdB3dE5;7`BOLN{@bV! zAu4xROoDR#&~?Z`xb2;JWAvJqpiZSxzLi;%gwJ?R{QU z`^T|=j5+Ya)D^)-@(i@YlmFSFz`^rMWu-zV&)J?EQBF>d!;K>_C?Za+hV-C(p>c$4Ks^zW z0tKg6EEP;WGg5;CP*wP3*Dx9)V%5H9={EoKcFs^p;nr`Mto|Nn_k35-G%B|iB1V== zlLDn1<1!U4>o%^E<)%|n6=1s3+$krXS42Ko##$y7l+!R=b{`e10%v*2Cn#wJhA|~! zch(DwC6QO8EMg z`{(vo%Q&r2eDUcOBk&EP;u}6{(jkNOI@IGC@_#bbbQdks4WlBb_q~Z%~EL$;u$=_n9nn82^_OkH6vfEAjJOCzvH~Y-rejJJ^D-y>usu z5_c8I`>Eem1mT{%ZeLwbeE+z3nUM%z%zoe_`!MdX6P}|B-XfI{&s1I0934 za0!BZ8{RC;Wf0i+6+i+j7*BGk1!m(h!=Sac+iXxZvpHUsMteRoGKalKS|fj=EtvOS zuTenwWRAi`!R&MQpSk$wl5e{TX8#GGRcvvR(A%N3>odAiv~C!_x>*Z*p`=a#iH9|ZCrgBf zK>Se^IRSoJEP1TFe~8@0F3YE4lLYAun)Tloax;BUeY`dNU0Hbhk!kek%U72k4G+Lh z%M@GFRe6eN4FX7a^H8N(zZfY;`Q8zfaT|s~tMRfX-8Jm!6mSLv4hfw3-D~vf6rQF= z58;2IbX#Z|mRQ^^e$vujdu^bdH_fQ|O66>+QenxVQONkhg-W1_K<~?A8 zWRstgZRG`BSnDMV-U4gbL#XNF?Mm4OXE^aoWC(%3p>URv%Zp)msUN5eZSoB5>Nj;z zofCT6l?#O6ONl7f3JT0T6= zv9PRwHG*H(++qbtA8xXR5r|%25i_hHt*zDI&?k9jVCCxxp@Z+<`p>rC;x3_kPb0?) zquQ$UgkIQ1@GLBlz4SF7FH?0rqY)*fJOb)7e!bNDk7dODS*CUQd$k(2(LXEt^WA+B zPdpm^3@_#|Lrxlu+&P6nOE@Mr7Qv8k_9c8}`ZGR28$3X^@{k?E!s^DhC>`B21D3O5 zr<){KU>7~)(Idl8(^#$XQZEyFi zeB<0J4DWyW{pV(jT~xT6Omygmqtn;+|9BdZ?4q>>{G$t2DsU)WpQ`1`Xg?}bAo4C#_`kcsQ>!;?XHcz7b3_CSobnT37IaA5bkAA-VUUPIDPOMU70?*ak zQ-wo24@RugTf?MNIhJYEs0L28AgR^kuC_zY${-G~Lj#&{D1H7zuw1G53R@p(Yj?+) zY#ml%*xzXBY5Ouz0oF;bL7G_IuapeqQ#->=H^$hg8X7VwL*@a(RSlI7jc2Fu7VTD7 zKbfhtv6UHBr`m>VyAOE=9cx%~3GL#p)#^Q80m{0T9UY^yQ^K$zu^o54`M^ykB@w(ZKMnKL& zQY6yBO|_e{PI%wzM453Hc$w+}K7N7871El>T))_IVc?Ep~Bnf!@{ynpgkl3h$x!s|ez~0wh{rMW9NKWkpUc=u7P% zAy(2*k)0h9fk%2a3Q_xJIt#_p-$kW1iQkEno^1{xFK#KFVIQ&OQ~*H;>3T-7tJKvW zrXCM|sV&8F>uHhq0n2|aowKLJr)zwL3S!P0xQ~s7gGetr9z?7lpk<nzWgUnEE z%sl=$cdbn`nKZh~vQ>R3R8>$=q)YZG6LRQpO82~Q_rguMLtY`XudH)U7h5DBR@6Ex zR@0zgQKehJdYM<`JrOxk_5u;;T0Yqg53g(V*n0z$TQxCk z=akPSF7mj~mUj6kOnX*f*!&{-xx3*d=%p|3oBKg>0b2&&T1j!$jyzEYW<@#Rj25g| zP($n?y#A zUlzqzIUBRoIH5!aESugu*;6sy-Jd>OZ08yGoL8w`qy&ac-F|NPE+0=h{;t_w2;w|t zsRl1L+Hk|B5vIK4L0EVAM8EI$RU5W5CbSFX1&Bz!IBBVs-E7;CAM#aD_VM62M769b zq_N;jO9h46cdgRDe(gRvky<>h3|tOHUGltn^F~ZjF&_LhE-p@vFh#9=@<^E!f{jID zX}FXlxV&1A$UpKbe*`Z8pB^(V#)dG2h1uYqXj^_cQ$kssm_DoZo;vuCM7__ZauNXF zMzl5!Qzqmn1(Oq&%uXr_L6ZK+nkzL`V`}OG|7*>7%(%C+=Xzv*N}|Sj*fE5Qyn?2M z-ZC$rS*dDZF>@x^dT#QGMa-Pv*VGXbw4?CjA*n~|a7PF0+PJy;&VZml63-Pk84LCv zNMnvOdU~Kgo%dSwZVuENmkROa0EgF5EoVA05+11V5xkFNvnZy0CrjYN7 zv;ikg6iFbJD36EM`{8{nkGY*uQq3r*PQGI&z7l#beifcDT+?FqC%aVE4R0_*RcP>s zig?`qV(+jWQ_1%`J1VT7aNfG`cQ`upYODh}!DqS`1+>J=ot!X>*}wrro4}VLqEqLo zD%iQ^UbdIQC0W>sy)qr-+VR!K`Td&EV5_QgHW~KWZfVSUX%m@k)tC2)EcpATmA0>5 z-N?^Z-GBe3gSJZg8U%04KFZK}$q?`XA;2-26pOMf&lFd)=` z3161f&<>Oy{wSV&K4%ZW{{6?+!x7#-#kYr+tk>GwZyaOVfG+_>8@_J6CWDI->~3dd z-+Cr4QkW}@Rp$(~Aak`t{~a6gR!To1(XX~_MP0AVHlRv*^;KPOJ6^-V~ z!%hhctw82cN|XEbv_r*B5`UsG_ZQ%w){nhvJtVZgY^&r6rS$`Ei6VWHn^xYZ3s;p- z{09cvsF;V=@-jIV#a3LJe)N4g;&nr>eJk{YzD>A3R7+#V?_r1<52_tlRrLDhY(M=L z%2#;^=V4CYBiZQJq50gjW8F92D~&{@S`{2B3*!P&;en0MyvDs?DG~R;^C20SI>BR5S3;opT464Bt|SCtQGG=_(R8;do2 zY&E_+Z)#4Q5MUd#XGHVOq+}xyU%zcsCJa^I0z_tg=;GqO(zqp^bG>UJV+x~zTjx&} zUDeOFOcGVskZb$i261C=1((tws+pGZ)L~s^f!wvJdc*0W*W*j~_E^Vxh4SUM_4(Z~ zwD6~!&Co!8mfM{&t`lX9sJxS-LIEg-BFEv<1e?p;3(c=E@q}qWYR>aJvoz%uCm$RD zj`S}F5p^V31#avsCmJun>z;bS5$Dguho8AD+kMOTN1QX9y?DZT%;u9rla!z~9>;U@j! z$&uF)|L-R5Ef9{%G|38+RMl)Yh`iW@an49+XQGQ1ePo?yhe@MJK zg)_<$ECNZ`6AOQC-+ihI620?OaVM=fEc zQbcy_WmpVzeSdy5?&}vXWym!V8Mq}lx1+&mvVoK)lZV*739 zRfd^*yy)3olE<8C&X1MY?;UTJW-ayA{GXPNp>M&K_J*QIS}qB&eYna`T`V4&b z=d}FibljAl0o-*S-&sE1+93uf;q9x<>MyyhU|b0H_V$g(6v~Zx177a#w0$4R^aK4Q z=Z#RZQRfx}KpMX4jk+|+tv`rKC_nZLu>zg=M#XXa@bO_-{%bg_dDTg+m zX4KN{?w*-Hl4{dpPngRo`Nl=Y(O)3_ME_Fd*^P?N{4&NmbEjm6f2YayZp=Gh{+!6w z?x*H!vQ*l8EBZZqU+~WP5u zDsV(%F-BYsWyB}`vx#McmDBb-YfGdU5%MQ6lxFf$Yg221}KUV`BeF9nm5uB@sy9}(^Ms;W|G&8Q?tPI zENMI5Nn+*`Q5l0>pFP6RL8{Yi!B%#Thk=xepGxIKf3Dq`*PZX1M7Z0>DUQpdNSUe6 zm43#Ca)|Xi98lhdc6xv0^fbxn*d~iU2lTk%Pg6+vh?|4H&J6Tv1;lQ%EWT$r5J>q< z_HF-fgy~Ye<%9O<$NR6J#nX95o6z(aG?L^>SWV{CO=FDXcH}|M_saPBP39W zMX*L!;3RvCCQ8L=d~NN{HD0B-8la{|`n3PdBR@m=vSq}a?S7PqCqA+`$cJmf7O~jo z`s}y&!jl=R*454!k^E|o8gjFlCsUcRxA&!?CmwfNC9L-wP6KzN|6CkT&VKs!QomH_ zwcm(S^1Z7W?1us~TF#QKG53YYhPcjT%K`O6yE%@qpAjc#r?3%RS<11s%}qeie-&E? zr25oPlE>eyHem(FVpCnLEu1_%IBzxQbh$`Gm!lir#WAYnmvr*4H!j|;*Gy{bhjJ?77BdsV$y_KamzHFa z7RM5o_JdtJITOy|oSRFoPL=FgS0~0e!#BluUrS$nrKO9sH`Z$f>MJS|&MlBl5;7L$ zofkW+YL+j}kD~nP_0Y#uS|(c~M*@XDuC0;b$eoskk&9IFA1&&`&g1s93csfkwkk}> zbZ(wBk;yf{t6kizt9d!JUXZA|5Pg@vFQ?2^P9#f0{B1?Pe!x>DDD4P}ln+0V8XUts zr^_x40u{Gkxm(@=kDgx3HHnuYA&yp4$?8R+l%tO~hvXeWuQMdy7>@Khi`XT%-Ldhq z(RJU8gbRD{`WHG1Pdwr}+AGzH_2DSnsT zaKLHyu0Da&{JZKG>L6z@tFxW`V* zeqrD#5R&Sd+pNI)?`0IhXys8x;>>Om4LCrMX9>Q|s8qKZ0*kSX2+C?C^X32B=g{}%fNvga_Ci5DqUv+#I0Kt}rR zvIl;iPE4#b6xsjTcpANqEoX7fGcfPySo(BZ%#7yU=&v)a%WqQkp2Q7mHbzS3sH)5# zw`cowFqyEG`xXOd?lz}fFtQxZZdrT*8<|JimBCH6cN-65)n+19nZGfc{#VaLol#xj z8RQwycYy7T8FfjaF~^T)?x-St26%#qN8pF zvB59vx{1{~wT?@kt0OelYo2q$BIsg`eKV7O@)hA3APOq(Tvl>GFF!=sL(QMWz0M)b zAm8^C^3i!q6RQYF5$bAH8iQtuCF+Oimn8T);uTC|i4YDRyp${+z^*cac0s}`2Q{1K zS#0au`#>ghjd{G=T~_S-{&ahZ@oP+(%&fcAh~Yh0pOU&mMp#mUvPfMw{CfSBHb0{l zRh?R_Yk^8w+M|Z6xEhJahYM*Ab~&f}}*bJGZ+J&jvR+hL!Xo zcEfXBxYnt8w+tEfM7YG}9D_Q0Wnqm@i=pp#>0`#gadjr=(g>$h^V)m7s*+@pL3Vc~ zghz)j=HNM5fc^I)@>yLPu9i{NRqBdQtgIg;{%{TB!oUFqR1oMlXlEMnjItP8FCX@` zYPjxioU!eI_B6&qm`b54mDodfY_Lw3 zg?FiFFR{t|&5Fh6Qw85?L^!AymOP=N)#!?&=H#;Q)-@9CXr>Ly@~bIyIR8TXJa*kI zxejQjaP#*$dJ=BZsk_ZY26g1>{6XI1(;5Io7SJVyZNJ+gcQK95JS0UQCgdK9Wlotp zMU<*^2R??*#aI1D%0RI|eQz9kpMAU3lTiy3)v3}ENERvf=?|~M(|>Zc)U~_G#{6`R ziRZJ{;7X-r0(l^$4i&n`xQV3xeT~_=-6m5jMB`Ft7G&qL;B8Qna6Q$S?S7oW2>88 zOi$XtDHxWt`D72oFuvF8X{R%Ho3<$W@K%3~eD91c2Rm3-5@c`OaerLjqElX;F*_gd z(a^;=88J0lhCsxzeI2K5{)+QB)QaTf!Y!oN@md8p^M#q6Z5@ z=~-DGW8del<(!WZPUbAgm1VbrH!_^Ohd5-2zE@{nmfNF0Vla~_G2#gsLaBdN;)XX(!^|Zz2#U7AZ<)id2TY~QYf?QwHeIa zLQNf#AmI}VNNs3qlhmKDwSNt#(Hsh3CQvFCCe?1XHb0W08}W>@zd|c9A|&)P$KdF3 zSC>@vRyw+`B$jrTX79k;H}7ZX<&>Y(MV zS37GyiE*?8dO~^n|_v3bt%8)jDA^$?*L?H837U;32z6_M`hi2Xa_ zyLCq-s;Yclj;`%HulOq7o~LQgcc^zc#si0ydFcQ{E^U0LL8ccxmII-dV?LJY=#l%` z>+Qp62`-1s$QHKCu)fKa+#>g>;_S~G%;pN8_2)vv;8t zJMvqCDP52{lk)fK`3G?*r?bhx;y4)%UqsiZKXmwdRo_{goOQJYeoZee-cTfY8q0?# zM)v?3@jSy#trP2cr9NSbUk@xz#MS_t`8R*us0SXhN=uS@(-^}}*gyS#84qp!V6F1C z(S@5bz1s7)J_%+s2rB`8w%!c+`T6g^5M?z#+!Q;TaK>{AQo5gE zqt-vfgj$i4KIWKpH9*(xupgFBv1Z*1s=vX(fZ9my8(;C*$vZ6-$TWc6ESYJuwmB)f z*G#(@pFVXaWX&^|)KLGq%ArIv!CfR)^TF>6Z+iyl;t|n1DhCt2n(d77i(q80ALxI^ zRqpU%qvz|a)Z~Sy52Q+5-mA3EW`9(bq$ekTt6)sI0MbAM5<8IX-0-WYBNj!dZZM1 zg0+&JIx_CckbNFJR1C9`{)=zwcN1}InZ2wEKkg4Y6i|u+A-5M@4_(X!@wtBj)<`0hp`azZhiA)b-JjKP8Zg=Tz%mMuqRRzA1IOF z2NUa*FIuHV=L|X$H*$Q~5}5Cd$5mm4^XpxrRbDPHnI&y8a5r?-OUFbBCS6$cRh0(P zei)NERqpd5Q>JDs7+ZNU*mN*@OH_@>va-U9-cA`(sS+@dJ`Rg*b z6eu@Y8OXYQ(iF+3w?Bry2Bw~8tCcbdrB}dhK-m%gH{E==7r>T6&lfkjdDwE;M)R)) ztgiF{!DR_WjZVyo_-0QlMwP_oD<8C0^^`0y`||H#N|FvIVQGoa(a~}8b9{BG&}&_V z3p{$-gt%a%wR&Ix%r#}Bzw&tT7o@=Qv|rnj5h1RX3|X^2oe~AI{c)qs=!@tkOUb&H z_pz=v?eJI9Y*kqSPth(2)tm)`?wvz_gj@q<;wY7hcE@{`@Ib>mFz2raMNcYaIGU)! z3X@Zss%^CMZe!;~m72HMe(_23ygnIKdBA+<0k0Il>guzKYDW@EM3oZ9T(Cn`pRh*a z{Z8sArPwHh7}gcIzIC-%rBtP6VnDSaM)`>-SVe&&XOpdfqGLByIq2m$C*0=04e{@x zQc}N2Jek@T=8MO$RLWMwH%c@Qv?*Nd|IlzJcQpHf{;!?C@3h7-akbplmexKVLOI7U^=Bh=rx$6q`rOo zwp;`*$l0Ts1>)IFLTXHxW4-w4S%NIsx!$#O%RR88mU9n6=~iJ;`;ftXU(*mihziiD z_7T=%wRY8>8WN(l3;Ny+P)!2i9b*K<7T+uh#b+`&E`q!n2FCB z=jr~fe*v494~{%^_G)*qqpYhF*H@+P+%c#B%pZ1Grh55pO@nhkr`acLl7X6a=fgfy_+(mcqF0U(lTwJ(N)wgu zcK!b~HHiPGsgb*ffU-G&QqOeaVPHM`X&6R{tcdtV`b~zHbd5dHkt)yrwL$)qZc;LL zibN+b*K%!|M4~PS1==>@GGQC>hKs%-tx04zi|opK!;)tutG`nLJGgWXbz9myH)`KO>7$q2lcyk z_kw^pl#fz;)ZU!hw64r6H7x(xJKWhUyN|k$$hlBnB-2&xtm*prSNMPdYdC_-Ovjw{ z3X4td^{AR7>}TsnY;<@eSzC?{{+t~V&P!N6E-xnVY+6+o9coM^f1F#TxaAfry4dZC z`h8+tvJ!U0e5SA3OAXw*RA1%npi6WAjnO=LgIRd8zovkJWP~Zjf}OmeWJT{e9I6gV zloscj0(|GNSu3G%M4Xmr#UD>8I1!-NmS*FaKB1#ee1ofJw{6Gv%f{wg!Ie7U7?+1v5Wm zKAc5v9Mh0^n)rq-#Z-s7arF?ydBp0zd%T1ORv94D!?tBr0DDGdCTP+L)d(}8X(08p z)B$i$O!R0LzK6|6L0**lf&T4is&|*x$6CeF5tTI z#UsqpQ(!9_o#ift=e^1cMJMxyb4gBBdHy;A8;^BSbI$e9|5&JY^KHp>wl-+L>*4mu|Guj`ePT6h4m7Q!zj*=euQ<>^=Dk5ES6pAQ;`28|SC`&#bK}$C%TI%jKg4}4Qv=GQ9Ba3Sk;TOnDVlfPZ>ROc zjZX<^YDn54ZuRyJYr zP5bf{Hp?a=?9sOJ`PSjeeVa=tEg_>uoJ%o`%_()kr(0RBRlX)i$?QEoIRSrAHXB@V zsl9?_780J6k02`qHtZ9WUmyMY;QPp+u3Xq4Z$p%vZJOFzg(;;Bun-6cWJTj>P+fgI z0HtXW=X0@mQK!kYRo8I0S%7oeu3^$0kr}kSjwJ5$GV~6ULZ82_Q$&UDJRJ`udW{ve z%#QWA>vG$S2(XsS&yzN&w^DR11n0V(_ITsk{cd^OF4f&j+rad?8Mc%fxW^vaY}$;5 zn$)@&C?V=qa{(ajL_d>(aQZjtGm(FIU_DAhx_#~xH6@z`u!;=zY>*!!5_{Xl?@e!p zU%f=Vv+1Mn;2bDC9A@FH!Q7i(7^u4fB}n(V01OdslT`o$(N(^r!^J;EZ7L9!Vn+N? ziXm22M?s2HykTg_BKBYx5}8~ZlkLU|A*DIwM71pexOS{bD?9*8BuCrG9kzEC^3M16 zQ5Bg<7wX#2*Hp(-q9G{4;IJ~)J5v~>OMR5Lql^u0pRmZHRGWH^Ts&f|Dg?;ivCa+q z(O*q_6bgMwrhMFU3%5<3VJ3BNZp7KZfzQ)LyCIiku8x+!%gHx*A^vXC!R<%JMF;)) zaip98pd>;ty+>2SG3h_En6_%X@h#4Tow0LL)CoDmJ35;7sNCh@o_$@5c|Vo+clnZY zEiLt{(ch-`^v+*Z2~W>YzB_t)I4i-_U*V2&w+Y)8yVv+CtQl5Z#Z-PaB;gt%tCTm~ zcPHG%f}^P-_xO6Gq2-g!nuMc^==9I(`v!4Bz*Tq`a-TP5dr#J7`~0L9h2|mY&{f1P zPd~T<9qa0;C83l;nHC}^E1poC11KKN9tGZ3P^xR7_X@)hXGh3H0P;ANS(hd1@=oAn z6R+qEQr~!Gss{QbGzyb=He|lByE`^G44_BO8ih&fSR%g^5}-%EmJij*DpdfbtX@C zo7rstd4Q4|i|S?(r_qKwzlGh`rP}BjI=5(_$I;nUNgS7@r~UiQxh;9;8{{swNIEj= zp4ZAje}7mDzu62@)c9czju{FP-acOB*-S=**g|c(+3?r$Ch>eH8mR{uE2N%F1R29 zt_}{S-RjmwPfeV8k!k8JKXJRw=+5Jv#6Hz5##GE*Y?A*fqX6L42)iyD)H8j=ab`s$v26F03AVc==PAnnYNZ1Q~9F4-o15W46yq z8U5Jw7=JqZ;Y9b~;!Vfz)vDF|*_-aP#MKu^U>TnksfI%1RUk`m_s6tL-p}=vPrSmo zP0EDHOKsnB)&V{>H^q1n)yDlg>#1jTNr;doJ@grR>Pf!vCP{840sDsQXq;E1y3+rS z_2%r9`n=)|QTpHbQR06};S0bzmocHf)H3=Vq_O z@M1g4W^w0s7|c9w;6tV}6zjENm3VH>-n{#fDrn@2FpfJ!pg<}Gqi##mF9h_#yDAgY{SZk;>1iUY?(k@_E@tNvZJ z%Rz9NDo0}onAY&SfPb;uTG_MTP-%T-V)RA6J@+_doL88eW8bB6U`T*z2EQe~?S44X zW5bT{c$D!unt8`vTGC!&7q&JBd<0dNWZFIXT0^j z$-U$*iGff5@gmhdp&iQ-tWTOYL>Q-zUM-N{|EUS{!Z z=ljD;SqQcJ32jqTK#qSWwcq47m1<%jYKTKMDrtYlR)yF_C++he^LmGjtSZ!rL+#@N zS(A7FCnhMHG?+4D-WND3jqM)&(+)5f?1h^I88%Qx>d93fKHH4x)iZ-<=lY+**B?uo z8+FjGaF1WH?B6L4H@Tl)#d0A}_j!3Oa8D(o?^>&O$XO9?=kN~BX z6rn?e{_@9)CNi_aV!5v>_R|G1Gg6mk;%v{6GecV@Zt;1DI_rPb4`psx-d-|p`CEuF z=O1>J&Qf~38enysLvgT?s>jQv(hs3(4EegRuz&R-cEFOPr6S?$fDs9@LM3ni9vmU_ zuy4;(k-aH4EPMh5&Yax^qP4toGN5pIr8JEjo{Cij4OV86eUnnxD}C9|bbfVm$)wk4 z^cTD_3p=fR?GRnAVnjemVgJf2S^FB|bU0B?Ji=kY)cxrkVjnrSgl(Z;qR&=5PG=#w}*XX0!PR&&tLGoN~d?3(;mE|B@gZx=>8-yu& z&_>!*PxR=kveITgE!DqZy(^vE(A8rzce|0Jp+F$TA>%+A^>n)bp-<8d!8;C!BdwGD4y~060I_sGjIWCW3BZgxER%*QqZ1 z8j^R@ozc_}O}wjDt7FqM`){j% z)(GoufSl3OJ{-_tecqE7E3sXbTNfZqHF7KKj(ashM(c%74NL6Q($yqg!J+<)U0Kh%7l%nRkhuFtg$*MH-S`r|V*Am{2gU4wE!?D?jd(O;bse)jcVm)S z#Hyc|-9@*Q$P|LL*1S`%XUrqa8Av9fTYu{c87BTm6Hm-hw{^xQm9=9bs#g4a$|z1? zfgaTEzx~M6RZ&FsI6C&!)UXjP4zcM`li;GxP*iNov;7(2%kybwM~-U7aCkcb`p8RaZz(Dw*YeKiQZu?g0t-($+|~%>(Pa9pH1LCB50(!-Y-80JG*ZMJZo()Z z==cJYOvQ+#zS$l?)!BG^H%7Y6?WN4zOTBDYd#>6{Ldv2BHr$?1a_V@t=pvRGcq@W` zsDx>c8)G5ky1a&s0M%Vtt+=fW$35M?k_n!04!ACM$fcr31ljI?miRAL!BP=v9q8ix_Qb zs1mLFTx}DQ!yMV%Leq;#RMiDanW*0}QA*{?R)2iidbRN3Q}<_S29MkM!=^MYt2T7Q zwBeEwhw%l3kO6`$38y%Iu$Q+PQXxg((JwZEE1@ZlKR|G_WReG4MbRK8J_?bP7_oc} zsCZz6FcALvuk!%3Rmm^A*cl$_mlK{IDtsAym->QfS?y!@Y!@IqGJv@-+I#|gn(jAx zqUrE+_S&WAP0j6ByYh`ic2iQib z=VCpfHxB;!^XqZ>FqgYs>iIlpH50BPl97#txhC*8nJKP5fW`r&kR(Hpy?V5V`f=Ew z%t4L7!Tow|)aKloxpQO3MgLN7EGJpt0Q8-dBq9L&TDsn@T-KF0>BAL7L+ON4w;Q)G z&1j(x?JH%Wb|`qrQ@ech$7wpN@4jmZ;Mh8hv`4Lsi*CW)Rl&bFTq_-?Yt0cU7|#5`Kgc_B7$s%QXhq z2GpjTIRB|93SvQu;7zn90t@1P6!DQ`8f#c^hQ}fV!&NUQ4*m#ET60iv6nFQ%_0H3x zrdB;6k+FjH0Xn7f)yed?*#?6A?qv_G`l>{3xfv4?cj{T$KeYBpMzYK2!P1jnYmDl- z+yJOjqwe#Ag`$!BAvQ-LbR7AQ^0K2~CXxyB+VJUV!3uAsJ5Ai~48=o#yU&s}wY{XL z_dZvDAu1>GGB$I&_f1Xy!t3o3*sR(3;_<8|f4!W=n_sZEO+%ThLr#7*e_nnY)OW9D zWe^${%Gv3cu8(rh%z+Q21^;wSay*L?(F*`-j5h{)ssURue!1zSA4Cy>Bn9=|srBx? zBsX&o1HQ986PknS*Iw=28S@;vKP!=4zTR5VseQR)`c^en&c zuF+^4O^R&L^f#pjFFn(j`bf*qGP}9t&HmIi$Fdc>eSJ_$)#d63qm25PgJUi# zGh((eS5YcKkw2Nz$F(jl)UL2$*tZK!8DBbTN=wE;($VzA{F~_Zo&jn={^UiyspKPT zi)hrA7bjfOte&r=!=?92+LtC^_NIWoMy1ImCtRJDb0b40V>n@voKBWQuh%?Z{zl{X z&-ssY8cfp+N_edCCTu*&obiUKm=>M}-X9Yxa<}OL(dmyvB@b*+ZeK8g%AM}QV?gEF z#mcmFN2M%2{(}$tflMUPlLpOd;|t!~hEKv+Sf%qH%UDx4|8)0wK0t&5h?1f?qq4J$ zv=FqMu}A3VHLJ!6KaH6ky34|ZtWunI-dDQL|D=Ke3*%3FM^I+_S<8~|1;f>4UO?lC zRd!pZoyi6@GZWiQBu%p~s=Xc>62A*-zX7=w`I^fZ&G+^lWy#aBW$nG**y~On0(t^> z>P}g%UIqr4Ff&VURX0}C1JoxcwSNMIo*>#iQ7!=r?=}oqGc^^|a!gUeo?%rI7y9{pkES_3&Mw;*n~ZJu8Ny??=h( zP93WltZ(C(u4oi{wI!DP*Vp3VZ|4-o2mRfov`byJrgeUwXJ1?u&$7Jfay}2`;G_I0 z!|=1?yOl4DG@)(7asBawhR%~6{hE=d*N$3P-m8fF(MA=XfCF4tu+zG*gfvWx^yy63 zjK=-DpJoGzL}u7)01i_p+90{B(37-5mFuI0IRV4MRFP`f7UDPmiI}Sv{$;g5jhlZ* zyE@O=er~7&M+%>TgH#9;aNws=V7h%rZu^PCYwk(O&UOpoe#OcgpERCx1t>bQ#lwwH zu=Z<+iebujX~pZQu+`sUVSk>Vs$L&(Z;!Kx>iR2)F?GCq^QP_lhJv3& zQ{7harrWG!-C9=+qi)qdO!mjJ5Hf1I^XI7(uTK?W6E6MoW{YFrJie=t3{5=h34h38 z|G7llW&8EjFM!bhWzmm$X4RI2zuSwHY=qjP2H@ct&jcOb|ZZd z(GPX2_a#eVQ=o*0=%yBbRV}so{4c5wuoN7u+6K|9_i-%zm^iUdljCvTqdSGq8Xg5* zZB~-*500G5Tpf?jSVTF9ZW4Z=s@W!K+MeHE(4K(a1oG%Fj5z=SROCwXE2`$v&yT?A zNrn23{nc`NrzvvREXyMV)JnG!5}M6XX-vVRa7TZr#o7K_pGq>NGs$0GSxdB~l*{jz z<`v;1?I?f1CTqa2DZiX`%bZ7&&Na33yDBHec0VFsTUqx%BX0O~Wuv;gF;5N4a)o=! ztEv~9z<>xXt6B`{H}p5D2EFsxX*zq&lA{N6O;sPhJ>Zz<7FDPW3C@oArD6s&kF-h1 zDXv{}W-s}JSshT>-rjyk>QKIa0uM%Bx?(Dz%;Tpy(@vujAfWuTRK#zosKp`N;NdfK zmpNWT=Bc|qD%*-i)G1;u8@Z%T$b#Z{g1yacKo{k53ohCELvC&Man&_7S&~(XD(XCE zpy4hjo4@m$P!~p<7U{4u%#2CZq%*$ZGV30n(l^=P?VdDQ*R{gJV}rh0`W)ly5o!xG z98R4{tbZJme|Oqh+%?M#9|b=r({K)UC()B~? zGA-GXU8&gn+1wqcm42mQt+x=lhF{jP&nG1R0X7xXoUkc1SMJb1Y*lZWAPF1cuE6mv zGeTWGam`R(p0y5y+P$UJR;gGQoOZom%h&DVG>q3GR{#C7qM^HTK2JDm&PF{!sO&Vu zgH$;|y_~e{{}Q!=R*vqcW;{uR5I z;e)Ej%)Cjjr;%@WEO6;LIFq=yWH-QWSY$j00`31snZukZyH-b@37HU8mh=CGFgcCod&V9vI#?l zj9h;29o&SV?9Ch^Cre>PF!zE?$%vD8!Z zO5?5O+A2XDYsKf~aKL9~yuu1@&R>(KbQ*t(t171JbUqpx8fmrL0;JXq3Lng^QQTK0 zNI^7cf3xKjwR?x0R_qj;3*&ZPF;AyE$*94!dj+u|=_jnSz?6s=_D(~FYAU7Bra4U{ zuTSe?knXejxAo@Q9EsB61FdKpnJ3wBHypC8vXr&Qw<}Nt@N#ImL`?HMeL_=j;-cX0 z#73{A8D0o#QtE0LcXGQDL!r9|Qh6xeJ%Lh#jj1dU%?>d{*t?Edl51Q$?@atO6a z%FWHxHZX9j7>ygD?I2h_rECr@OUxj8h~>U;vcJ_yO!%S@rJserd{zI06R1CGAk7$3_{~NItO##ew=Ke z=R?I}Nz~$;BstW23#(|jKMA=|@gwQU1{^t)t~4_f+PQ;$r@w2lePm&l{th!{g5IM48OsDqC+>uWNz@CZu`D37kFe}ps*vSBu3#IRF}$nA zkQ*pQ!dFKiojU#Z_tkztc6m#MY-I&MQ3G0^xl;z^`UpBfvcB2!6$a0Q7ias!jOCv) zxjtu+9-uk3o>AgNpd&|0K6M;dV_og|f~1$xPFA(Q;)Gi@iQ}mB2Sc9f31@qeeLgtQ zFb$YZfCbmovjsVYjd4aVwZwzxYb8#@562hIM&>W7LxKt+)CZ%gU%z}NI$*c4~mcm}2%Py%O)@3Oo8S8^!HhF!H6%U2A4Vry}N)sDY_Zs)5 zq@?9%Ry$*o#0%4ymUUIUNd8=yXBBXAOVoqnp*BQ&9OqhvLCHcu+J+&0f*jM&W z@MJW?xc(`q>`U_0l|D-M^DCtW(ej>h9vd>Uj_MWD8Zy6Cb*Hy0oHCTcB+I~JgYo=x zex1KkDb$IPPjCY|3Mbr@@O^)T7wu`ndG|puW@>px1)1gFFlje@=d2e1l-UiQ1B-7c zsoTegF5{qT-Xs&DKVN7fTs46c!13?tjNEU|>xf6Cv{pN=$$JP527KKgd#WX z@H_r6*IpJr%L1w7zL;1s&v2*t4-X&4SZqjU^2n$D!fS78RvX#$M8~nCvF3h|j0a`yQcqa0A|Cme_j{*Wa=VAKlb7;!`ha!d)z^Vtm^i;Wj)*)w9#q)E2 zm&#eHHItPH0uGdRs3|;DJneZ{!lEJL_rAV;7GJS`{fE~a)#kG|F&qzwAi(LxeX~}) z@=_fE8;dY|M-BF5HA+05lf34-OsudKgOC>mACYi(EV~=E+Sey-39mrGikce~eOS5Z z(8*S99*qECDm6cBVYcoD&!6R8>&-5Psw0jEm|tHJnVOU z_G{B=d&~H@clIZXAA$Xw$%t3`&Z52hAr_+Y#5yDiPOaxyXLn3T_3I^xR;kva**Cn| zLmzvGz;P~(&Zc3nq0R4bnQX0l=?{v=+~@vmcxC{(*$;gD$A;|dhNWT#wl|KwAe>4s zxzkWr?!;>K#?)68!KFrbhyVUi#beT6d4v*fRlbCl98F`a}aI8<4v=_88D7X&GQ&hI2G#=)hc(XQ|2>!Z(ju^TRs@vlo}d_ z!ZQHJ?^6yed$>9BM2bk?>IHxLze?Vsx@#n`j|yHm=N&Yq%BAWY^`K>9l^Y+CtIX)G%XN>C{lg{hO)E(@!xQm;J<4C{tR@M2K^0dtmme?Id_yoE zx)*s5TiqO2-XSkXf9<-W3{);#%GoI(0NCKXPaf&J1_MxvFB!BxGpop{h9@ps_a0)8 z*IZF>`Gd;=SArdaV(5S7ZC&l>d5OLJp6Lc61 zuN8Da4gE3luI(t*!Q%?AXzL1XMjQK8%utN9{+zt{Tind-Fz&_rcbJ48l+khDn3Jhs zfx8WYr23=5*e4u%06?9F5A@lmLcm=Q+Yaw9_o#xm@P-GMK0SZI2eOS-7NuY05eWboJmizC*h1;Ro2zn2t zJxr({2b7lw{8hkKbkJ5(;C0x_)z8_W)1e!LAPwgO`>wDq9S8)0#vwYE2aWvj%k65y z$oJXcbgoKRF`^^>$LM8 zk4;u2-7PAyMG^c}?Ah13Otvlr$0J}#=VQrWvO6j(+xSo5{0cN0AMRjn$=jxVFW3CO ze^K@BN+-vYjVHzL@gaC-I^4RL_pFboJ_~T|6zv5?^ByP#5v!g^sdD69b*W+#YXe1| z9xZ3s`J3%aLn6RNl05!k3q88j&T>)IpvXApjRL76*G9G_AlS)pZl7Ts`1&>$o=g8H z5~}C!68%u`7vZ#S?3Lf;tXub`TVn9cyEp??ZZ|jKHK;HyIQV%DuI{43A?OkCGc+4U zaQRAbb{Ae43^}#%zyrrf!pMuY1scEYuSf}bsff!_mD5AI8#5SGc}B}6t9TFvm)|l@ z-g}E-I9D+;-8w+U(k9g@N70uKlwo(*%AmeEQ9csF1rcvOB+_j?zYf}wR~tA5=sZZq z3WE+#;BDSp0zkp;InMV3fTX*1|3iAn;Y=Fq!0T7s=;*3j0`Q+7lmnAmPPjyJLRdiW z{FP^Q*o#!XFw<$7R1vmpMzg*}0FhoH|9lwoG#KyoUl(8y96|}v=JsPQ3Ou*n!-(Y{ z9#OV}QGvq5!g>r;P#&E3y&dh2+<0*#xr)eT;IM`6!$|unFn&@n3W3~C*C&cJke|c< zixWfWm7Pf1z|Yp*YjpQ4L&pJRDKhP?a60O-459~>XnDVWGO$;j=AN~gxk!3g5Enht zO@ydp>_Ykd?uiU|%Q9a&b0ZCwhr0y+1ur@ihB3pgaN~Px3|_5rHoo2wYsE^Q@6EBa z!1k{L6{Fe#_lY~q`=1fB{X#^ZSE&$B6bEBFley2cnEVrF{9W77a%Jo$idf+265+B6> zsX>D~fzIJ~&mXexeOeK^2#pub5`!=|E|8$K$vOa}3ORp$SSxDI`{1Kd=QqkEQj{%8cOA-6`qIDU5btrN zh+CX!ggHV|)~aK)ybMFrJIV+IB7$N&iIdPYD^DEin<;KOPU6aO| z+=`{eM>kiqwUc}|0;8_J{wiT*o9h3$1ZdQRsi|4#V7KX`bf9CfJEK&q=*F0R*u@J} z;gZ(Yc_gSKlBgE;)@R+QpOi8~c-a7Z0No;FWARK{_)Qq~;geMX{t?OYF3TrsF$+r? z_`Sv#mQq)hHxo_Zr`1o+3FBS_dX?Ga1x5TFziBV*6I{dRz<%ZGtzboIeCp?_pkCdR ze0t?cC=+V{AY*iZ1F($*Ih1v9VYk=T+>}dE;B^vlaOfBb1FVC5s)lVzI>zh_AP{|8 zZjyYM^pO5{$uSL)>~KSc3-Ts~>(nRY8}#d`N5D&jeE7kuMhm}S)lBjZrydUli*v|8K&V*=&t=C zp4gMZGCXCL6NEqc<~iLDdw2kl-XD_+dNYqR(0n|y*DQt%S;i5f*@l)1l^i7XOOdYV8x8fat3o~&!w%IPFXOWu^XL=<1z|NIjBj~mPZV=t6P~b& zz}pQ;(48&2X$LCfd$y=U){u)_1ZOnU)MpA;*~1~(jx#?(c_!e7N5UD}(TjX=MB;p- z+u9yAfjzYSuRxIc%aFXf9TG#`f|T1p^WiIa)kD>wE1e@Uie)OgjsaFT$!%X%Pfo)+ zu(xleY5S5(XVF@eeJpkSzM+c!ItRR>b6@M95t|%LiH?gckK0a|?&lIa@c%xhVq?I{ zu|D|4X+RYlWlQEb@m%!v-4}YNzb83ky}Rv0l1t&K%SZrNJ1+O8gG2s_;4A2>3e!9!+C|4>gas%aY#K7 zkwkp+NuT9jH&i6*6LZ_F+i<)4x8oZSeJbW!$g|6yzVIGT`gdhUL^I)eAv>j6v3K|E zUzC`arr{AT_!b5Hd_fx*;W4mVa3U>uS#@1-GT;aijgeFK@U^&@(OBZt*sABo-eC?5 zNAI1{b-^f$9MBmn-oJ6b?D=5N7grd*c?wsE$%n4NuIwPqgjDb(D*c9Li{-POe3zxQ z5z1tgH^wapj`KZ2VdwI>Y`8e$lLw>`tA2GlybQ|)wRR7Mye0$yV89ubhbUu`M+$%v+7eRgmN;D{kF_mXCxJya` zc%@O_Q<`xTJRS9#+}Og+4>P+xlY6|I6%)3obpatWf1mpLn<@07lNVJ`X2yN$M%JT5 z0QZ6s^6)|g`JJ?NNnYbR09gg+^tPD$O$8J0Eqbn=1px0hCfGy0-m#{KfHo1SiEA&& zRb_i_t#l>yAfIdO>$aBn{8I@)!Puq+8yFD2B_Co=Y2~L^?n@A>sJJn{GWqB8HAux1 z!oV?dYpYg(A)%WwT2uU!*XzHnx84I!3cnz7rz|FTAAY)wx6q>D2z@*VZ0x*L-7+f25Y!7E@4n2Q!c_?X`ON`a z++=gRsOn8zc|F&q4-)u#w&juwr2ZxWSND=a1lN7?6+L=kz;; zJpg9MA_^03`|J+y#(yx)M`mNC6T4@;oY7st;k$y}BfAW^2icRuAbJC=#iDUn_*~Ue z)^BQ5QPc;;xu@@GW~Mc|w9v*dj2NIe z!bOUObf&2C+L240>!T<_PcGUMi>80!k^H;nm+%f~er@0B5mmEe|39&>k0p%ZWgyk-) z`igxpY>#7&XFexjPgff*ftRnztXy5m)a0>CT+{dJQ0W`Kr?)!yqa|{1x*=<%P{{u6 zuq-rFCi0M*@qj8O^HcOVU$ixVYtag)8WJaW?k5&ZjkFYEm3bPdycO`Q%|^&KE2~YV z;6qs-Np(6)zA@hZlqa45=p;Gs15!QEZStS&cr32k8z0g2a^a^3$;H8v)^EZMo5MVBmgpeO^k(rQ(ON0UmT|3H?c1qb#f! zFBI(ty-5B2k>k>Y~c@om*-A=IQ-rC3wbgX6Yy1}3Nqr+`lTdJqz;+1_k zgX8Qo`0Vyf1wn{9OqSmJKEHqU(s(s2;2>kgj1Pd)8RQ>!yB%Bub^-&w#U0B@y_7y< zf+jE#t)uAVfjR(9Y4*F!145@fnW%c@X195kK`2gseTX!2QQpesmBMiUn1D9n5l&1& z${0cbcHktv^Z*BSz}G()H@&Y%BWQ$o!)usSP4`@Vj3-f!6(%e#S$82h|`MUT+bWb|2tKWXGgz3?GG`?dq!N`GoB z$n}j(<#E$4TQR^%Pfb?;7+IYB6VUN8lnhwEf-|F#{WkL6)fJorX9Rr|623x6r@qF= zc8vnKe>WmRtt6UR{-IGaHKfEqc{7*alO*G7ey~x=-@;Z49DD`~=xrK3ABpHNR0G_g{By}cb88~a~e zj8TV^2fYyGO_y9IEhnbyi+dwyoF`u+{55$2#=i^JG;j3n%1WU*t7swm(9SHIWjMP! z0)N|)n=)U3Np=G)iN?mJz%%(iG|?~hphj>KRY6D>^ZV>tM-hk@kmYfM(_}eJr0^zG zBgE6tXaHWWXHw#Ip^*`8qQJ2=sa*}VD_+?@Q)PT@J=%u6*ZM4&aL52?-2Xz@_62@W zE<1*LDv>^AUke2gQ_~;QtuHHHPCT6;&!1CTZ!_-Tq`;Ykm4W%>8acKko>0xcuc>^R zy9(XLKIyU3swNBXBqj^FI(Ic?J6xMaAmqBqA-{*Z!C=v(QIohIg8d;#P73)G_T$L# zKe_Vbtv4Y%yb+H_e}sm3Qb0rof!*R&aGnzS$8tei67=BWK49I+Za@Z?&5AG24 zuvoeoG!(k+p5r#@67EDScGvqd#qh*=O{~xDZ1-448ytL-myhb~RBy#!`mTW0QM`3^ z5|D&PhIwOerm#K)cjIYrZM>!>hN&+NlGomgyTZ!#j1xVgdyZ#@0X6&5YIv(!rS-%z z;*ilnf@aUo%bDBst1{+kvg5?myJPc*?9?RmdS^L1{_8p{>t=b3DiQUwQLB-oT31y1 z73`HTn;BFLQ@$c59D-@eL2GN_^@RS~fHkyC3q<9vkqF0fk=oaw?^DxVRdNLA#M1cN zIKo?$o09|uYT**;`tO#{m$F_c0Ebud zm{YG8C)K9-oM`N?3+pLWIlmS4Z=tF$Nq#)R8Qg$;U9bN3;a+|23`4$6tN9h23mdC! z$ggnT0nluZ#>q9&M*SRYbIqHRg|wonj>bA5;)=M*>tr|{1{RZ2ZpBY7&bb#%eny}_s*Gaq*x1$;NQdv+|`AIxOixJpotn z^NrQRaVJGdKtJ`*h*R)OF1R=O2Qo0$mc~;F3wpF#B`MgcVv9>LK{o-*$ka zKU%Sqpw3Nr>{#6kC?0Y@4Z#jEt0EwW(uC*U1blFpgA@#YljQ`H91&VY(vj`f9vv1& zgvxvm(V@Fon{zDcc+aM=te`cw$m<*86T%_H|W z#&u0?rUy5T1zFrX9L5O>4Bz&T)1$At8s`aT%k<2RJQ)S(v5!3>#jticYUcHQq*Fvo z3`tFTr;QT*WzlBr=8r`sY}-0v*QR6NP}u|G^Pb>S(D4L=RbUx7LBbF~(23px9DoW2 z>c1lLLs~$IAey&Te~%`^|EuCwJ}0d>V8w!JPD&B+j`p^?lcvZ{8_&@+#T>DUqTz)P zL;F3;u~3nRcT#Q-jI_Ix%ev`Q$+m{<$8^IBreeYWNTf)u#ymc2O0(gyclEJgctLY- zRpH;p=|8f`2@Yw&X5cw?_dj^0+l@bAB#Zz8{n|CSvz2hAkF|eo5 z|CTV5tQvW=q1hSG>gJT(DaXOdP?~X^4huf`#Zdz(nN!kLSDQK1)|7T{GU91JI^5ug z2rAL`9Uq=;!#StM31@NP=#m6L0xVw<@fV573xt+V_#_qxTu;*JMxUcr2ts!)H4H*?eC{HDbE=Lyxq_#Os2 zaB1L&bBBwCFoMN(R~>pg9{&ul3?vM~i^?rD7u-ZX(!9XR-%)9e13zX|dI);)b;qF8 zqv~`3OF_q_v3px!*?UgBMnSZUGHr+O{FrS`Y+|tchJHfa^7@}^&2w`*(}c6lk!WHD z(CIj2sU4v5;Y+fKHIFk;$yd-}`Q=w6Wm1IHavkd!8Y;BfN>z|RDKmdZIP0EqnR3fB z`jBGu;RZUr5Zv+wv;+3I5oGJ^rc2`z0kHL6`yJnpFzHtL2Fv9x) z7jD>v=uIPGw+9CMJ4AdjIA=k18hL_z8`G>tL^40{U|38WWp3)0{fD`kDZAsG#mBliCgrVhBs@*9dN7YP&v`YMi2a$S%YUEBCLh-U~#Jh>n=ne)Us5 zmx>U2c{mhTFb|Nw;ep|GHji7z`5(t?(e&^3)CHV1+dgfO1f+1`c$aNu21SWphlCK1!+X*2ObClqMXwXd*;ny0JD(2}!xM zOQW!KVqnOH_;OIU-{9}C&JHav@WjD6)I;Yt;3jKOAnrT>yNkiI>;iSks;;5FSGe@j z9J2i9FhHieGtxR>yUq{yPO!cEeM7*SWCQ#0bevBE(Wjvn(krSPY%WrtQO7VsvPsW2 zU8p>&H0chwsCqjts;OvYvLT304dJ1SWa1tuVrB@c{xu|E?7!@J;kktgj&9HhU~t*E z1MW3yW+%Kdl!rhSpnHO-x?)9`dE+Gv#JN`R&j_})6vogZ#IU&3!H;KQI zT8Am7#>k!9Dmg5A9XSA)xDpAP(6=)y3qD)^PHj`Y+hOvcemcCk9dVCetqCQ@LUNQJ z2iFDBs`^%7Dgi7C#I(O|LWQWo12_R76Vxu%h0{l9Z0+xBnOJ0-z7gPPP6-|^na+sX zV%!bAHdhFLEh+r_*NUCNxi2y9_oPO1qNg%-U1=U>vOU2FYaM@k??xm4_@$l% zWPa$uz1PG`lzW$too;_`D8>p~eQ@dP5|{`SBC`|*oV&mU)z`6Q4Ze6IBR2yuP(67Q z_6W`jQ#C;w8XDfXaYL}6I#QJN&C}yFf?imYgMu3Db5jiF@P(f4J1-T60Z)CXEp|nfJpRSiiVu)fO`r zXA(9+EuP4lo*G3#lohr*X^4-^!`&K0{CxlKBC>aKPVwAEApyWa3mHz;^Cx0?;$9E8 z;2?^kUwHWW@gW~DD`#LNQj~v#;S&wh8`ias>O{^eiEA~cT<$_;()9ktY*1n{;=v>c z_h}DzNhRSTix4h}r@s%@5#T?z5+2ka1W%#@5bkBwlSt^^2REO#ziy@SL%DEFvkyfx z1`EP?Kk;>dFQ~91mqgO@pM`=|n@qg5FV|*9&?znCTh?U~_&!hfM$t_5&Bt4^zT{+t zF-vFI9#T$_@S@1#Wc^Q++APWOroHpYLffbRZhU&R-sxm?KaKg(;`+r|(Mwl$dI5)j zK}%I1aY@j2QTs!vs||9_-E$D@fsG^m#BagVu>gwGtU3p)*aK|`*F^rCb_JjHAimsx zBH}|WX*%}yM6wc%*hpWQ)3?44Y`V_FCoct8f<_7Vy-a6&d%rKWIXx)9uC6X40_7`7 z@Ej@oNbpG=^tl3pY>5q2&nELw0(0dkxvPEa1cG%d5T>T~Ce$|@K8sxw2sk(q_^PJ@ z5S~-DE!c-Lz2N54^4sXwLPPj0Nc_-iBU}47*njU&MLop)ZxeIyi_MLzU`S%aP|EJp z7=b;^hmQR1W@{($VK?@_AC8X%A>(~tqS8!2++$)Y z{$jeKKh{At0u;=#Z1Q~eM=Q)#KnKvKK|z>V^j|wQ9p0%bY%KbxJ65(7)F>LVO8W6Lu z&JZh`BAyvN#1yvNI^w`Ad5%c7SnqM+aYsoyx`1IqgGFMnj}I$h7v*CLe1C=oEGT^9 z3Hph^oe}XMLW%!>S&QrhTkOD?PcQc$x6q6CszY!*Z~>lT^Z48o2Jj~neY(I*AOl7Z zk?3LEUN0oHXgX?|nNw|K?ee!~LJ7s7UVV_doYd@b^8IHZ5)Z=i!B>eL-xcB~2gODg zX2qCcgK!XQ?T$=m1R@i*VeNkUh7PB+;q0+IftMAY*MDz?+&44Syy{D0B)Zm>dR-`v z%%?vcsJn&n=l_RQ>Tlm)xt?(bFB-XA3N$>|0H^`BLhi!9aut1~6W zXhL-{UV>{8sVt}#=Hs~QhxFJF8BOUGSzw?O$35>}t zRHa-vRTT*$PPbkRH{L{-4x4z5l$fO#f-Q@K>(kFv-U6Guw81GJJW-DLHV`m_919#b zB0?;%+V_}rVSO4;cO4+_4`Uq&^vC;m4?)&MeRM3_D4{!uR*WAbBKMJ$bVv(_I;BA+WOy?)^2 z4l&KvesGYI2y2bVTYA|e7h>jxnUg>lhJ5B_!e?>!?;w=Dm*$xz#fAfLy(4$2y8&hW zVhz=JTdSN<{N7-fxJ8s)n!xCS^+?IPx*mKZYDsZ(>d#<_B_aJuR}m9>!a$h}1_#Js zSH935lO^;<6$+7x5_`Pa@8j01+FP!F2>rT7e?zXL+i|z~EZ)fteccZ7xAFJ*mM{KRKOI!4sX>C!d?#p8jVA(Bb9Di0 z-_chg^F$HIzF7Foar@OjV*vl*e-QC(jNq<* zRQWzoH-R+w^O!-C&`+ZWMy`rSX=|a={{ZMKE@=-Q}vHppV z4A@tapna?)+@~4jNYYU)48#5gTv0s8a~ zR>7OkM%Qg6$n!--3dL7KFj)J2jP#Crssk;c>3JoSOdI+Vl?fvDhm~e5nW~V=#v!}8 z#CoTr9;g%_zsPz3Y}m-VfnwlDTKxxgD)4x<+l^Qn>V5_;BF13?%0>;9iJ_;vr2`K`tM^${8VCXinm4E%!{UlL{+M5IZh2oKe5-irY=MrIC zt5!Q_6ZSDKD{Nr@{i1zjTLDq25tT(Y<0~n%pGsUj*`3qVtn3^dV{_995BZ2?QZ=?-d6+b=XtEs;^#**0;{py}RDWo}&*woZClq~CMd)Bv`dGMb= z);`psb=~AK$_~wpEmTGl_adMFme&ZNl$ORuQqmF8ex43`HazFDIRyoeWLn zVuClFnfi+tC1rOHOcDSBeunnhdx&P`OP)g{k0D7LCv&UEh9Y$0`j{YIXp^~R_q-|F zJQ+a`d8m2Tx9`0ZzZ>%8!x+ea;(cxI0YjVDp z`X>DrHEHM5;|>-c?lYkQ=;~zE-aEq8Z!woXOT5@vE7gRYQy%BEJA~qA*I9=3bJ3?=vUltWbf`?dfn3R28y1I z0gK8+-D@5d)gKE4WB&f!+da^h%s8E2z*TebN4_b$ zbCLmYhN^9F2$?rX6lD8OnvxznB_!vtahy=lQhU^6o3dYmSgBI1&(V~KZ2ge{FG93W z2S=o~97CeE+SOXBILod!=(Z;y#Z-Ee;K>N#fe+Tv=>hij?b9Kq*iA z%V!~!@}iEWE8pz4N&xvM1oIIs18NiRuYbykZ+#^hJykFB9~@r)!m>DIjg`(hd7)TT zbSO%@k>=vL>K_F+kE`ho?uUd0UD%}2rh8)SLm;DI^NeK`00}1= zTwJa#xgoM^BfW&_`Q{h4;A6~eVY{9teGi%uFqB!*jUXhd9v5J_xVJ>3e zik#OEp|vRPzd5YMmms%g?KZ0506}3>LSq`^9855%6$x+KB6MI4K+hx6(_<5qfAOLx zS}8Y*y2sAVy|Zeo|M=*r3p@lXRQY1si>&QtyzSP}gI{cV{SLRA?}$KdSuKLO7+iW8 z_O^-gh4=lG=zx~Rgab8(TJWfj@|9MZ&Uq0PUyAn`+1cS*12N|$4A~6Ls<#qfN+A=R zTo2Xmb3G72J}E{TUTpyZ`2K#X)iJ#SU7=+<$XrV^BbbX>X2k{l)l8fSsIf%xsA>~3%X989bvnc%l;+uIZTyba@A&BJeq ztz>*N9}CT^Mh{gJZbDAfZlqV=(xc!OLodBa*A-*Y!*|#Td~)6y%&y>nAajCfJt49b z_LW&z5wilRn5coQ3(SbH zMj8QsMXKk|&%YB4Fp^oeZlQ9%#76;l4&T^h5RR zQBNHBVqzgZV^SQk@x>a8LC@#v|4k&MyhRp!wV&ng#ODVrNS~JCU7QDoRaK5(D=%-U-o7;ht7Vx5)V#{M!5^4pC z#Hvpd%|4719^M6X(c9VEYro+gN8J$dp%5`=RV6GpyIYL%|32`Hr5)GyBLgq{tvLD5 zH^X0#SB72RQ@w}ykFsG-h-{?SUU-smf`#&g&GdOd+s8iO^e@vjoz*B!Uf#-0#bAwnsU>UQeYlOuwQ);%hKyBIc(B)dTwh?-@!0P}M5v?t z7LTl)Ty0LQKjH>0jyvi$Hdsu73Rc1Yqv&cFxVv)9l3>YJNc*wM~jw}}$)o0jQ_ zv|zBX5J%`|l|)feeg;GM8+xZw07aQge_ zZ2Vh&--T`G!PX7_!|?s>bvfo%MU77~JoL|eI&PjR2o&UhgRJFSPc$G|EN%nuUumCM z3smoaJPxi?x$&u@3osfd5;s^N`p(XUJOE`C0=fsnej*fW2wnGvS0PD~uco69A|?Y1 zEzkQHzE|Lnk^Hzk)$+_PhN$Kx+|qR3ps5`_BlnY4kg7_TWIp4YvHuJFA%1#}(FB6W zaVR{+xhVkG?fEr+xf=`wDy`wqK@Rot0)huj06~F7Qo(TV%oX!dizf&Gc9n^X1-wdE zrwrVH^j9RS-hYO@eln7S1c~%R`eQ+DZWd8liN*tg|JIkC5J_ZM>kM?O#Gr-m{G(s- zN}^$vjNzc&phRv3#ku$~K+>X|vfev}DLy~Z{qwUCEZ)kaT^g!AuG>KB{OO-R<1R08 zWmO^Ha~Gt%rZ0U&aNCyMqFxes0OnM$|AP5SELb$yYNv`?d>OzjsuMeh=5*Rc!U?6H87GZMs&Tn3WU-yQ%QJt)ZHHg;Nl_D)SG z`n69(h-f2$C*}!7gmXc|xoEvyTQtD-u3ztBM<(wdb(uIpXk_VVJnFn{_#?Nxo`hu}#|sla(?;GJ;HyPk#+pUg^qB0_tv=1CeAA z27K_cJkhX^l0a1PV4l?E36H0C=IzY=s>B(Uy14I7NJ`gJI2fgl*8~?5DH-{og-%u9 zt~HfXdC{}}>FdMqo2izqyZf7c?%FIkWuMGQu$_YXB2x5Kti!E5%5u+Ix;@2zy6 z-0}}JK{zCBvVpr_7I7g0iQ>UH@#7pyB{LrW**Fh-fRD&@uCwHK?5T7H)*nYwnoDy_ ze@Q1B|F~=f57=$JCW?3K0R{W-!&D5h_wMZYE8Xox+NPHNeyFV6An#wbYKpx_>R$Jv z8x4f5pRlzeOMB)@3TCPP6+#jZxYyJ3wTIlHC!`^45@}?;t1P}P+kNeEYl>aPk-Q^2 z#H|e^0iaY5YFvYs*3!jk8LBSJU!Yl9-u9YX+}L~bbkD=5GmdDx}9V+z< zAN#K%ZTU48JHsv8Tzc#Q2ZioBC#h5TI&m*hxjxA=HGcEHJs#b*HDuf|-WKC8vm_!f zHE^N235Jh_$fW=#>_v|e=GS0#=+R6o1IwtVyA`%xQ)DeD^vRe%Pe1nP;&)rtmfa6C ztIef4p;uK^fn^kO`l72VUrtUW;1yD_dZ_E^86M&#V;sM0nIgu-@|BVqkAet`JX{0E zl29ea(3&Cilwn4(aSnRS1mt@#kF_*_g786g4Lhaw9g7|(7{T8U0~%*D5AQN5!4wcZ z78yOIX1^7V>~*z0$hfD5R3TD{^QKys+jjg;&5~KFG2J6I zLy@)pe3k3{8WoXS$U|%-{PWeohTt!W7sVu{NGU)Zgp24sN&q#Wy!911qK8u~y+l_e z=CEo+3yDQh7~W(M4;Sv7KXWhz=flN~>oH;P)%a-_@@jE?vI6~9?KbCoI>7mki}3c$ zpFQLcpCbzGd7T|h*tHDtHe5{HHDyp8m0HxQ+)lp|-(Rw&k1ot)1UR^~-XAfc$7R1Z z8F#5}J|>cyg=N-tzS+ZnyTf#-UWSAM9i6mFLi!~iY{c~Sc5qQsTT83Q%nw72;B~IH9V`Fn!>@`LNm& z_tJoqLLJJ>DNIj=b zB4KH$&7SPG?@IVJeTEU)OOrr^=d1N^h4pw5e_0V>{rLn)zTPkz##@!su7?LM>~o1p zR*bVwdwMr?44>`SF%f{G+?;I}T!AsvkDU{MLfKn-wR4|8U+X`guL!d1e>mKdEL$Cw zl7gU?;~V6`ga@pV`~pL$Vrj2KR#%Oog5CLQ@SE*);*jw9=@oMbd;cZ`3U#Hm zNcwGugiza=Aj}fK!I*WVX=PR|KJ9*7ng?7!o}qk`T2f4fVA~cv*>!z+MU}<;0f~vtp2zac zU=|@23}gM7H8ctpa{}!Eg1eK;%IOzfZ%-Q?7zihIErr)1G5M8aclE|_s;kzIFn9Pq zDLYI*jAn67;mlC)1{eh59=^{cAA!^B4svC7{egr*&hb$ONw{`!PM%RlojE@hL|7vrg$sqz_q{V?<0wEI?P7$`I%>5 z^hXRPuPsS8JTTW>p4tm3Egg6(qJ{FKK-6twml9Rv&o$nWpcr_1V*^zXNZ(s%57X`v z*6FvH%geVQVtR3XMS^;M>-~z@A+Q{mXnS%|(Pl6NXqFGFO*LW2joKB2P|f6q+U_y_ z7(UeP9cF);ek}GT?){bkB>kjJib{Rp<{1`Q$;C;oq-HZ@E(ah!qrCA}b^q#9-~}5a z>in}WvjWi-h0F1t0MSNFN-rJ|JNbX7=l|1Ent$~}LB?cba<4zd@To#`#r%1FtZCki zzD26|wUhUK@GDrw?|X+ICYtf;8LMMYEqAP64(69H!BUAeJGQ_P)#2W8OOV_J8J^4y z#0qdH&VRocZbUQnu<+SqXjk3NU%M9)?*Hk&nzcO1YX=xU{G`MfZWM60A`U{tLd$OD z6^yM{m$cN0#RD@@AgYfWpNIVQp|@8CX&yK0de{}j{v-Z;f*l7wlX0b2K`miB`-lXw z_Lj~<{oMb|M60hNCyl#BZ4bOXNj-_vLKR^x15)*WJOP35M!e_Dh0Al+dj^n5A}MO; zZk-1|0LzjoRoXy9s{a)TQsX=i#soLIhbY)9HfOrL^U0G>w_(U%GQbnz5zbfWG{jQc z=+}6Wo|eylzYJyv%@?UnY09_fM3eICA^{H+pQ-{xG*u?})f}bL0`#5$d5NwW zr8-rxi!tS6p8H(b&u6ENByI2-1M`|@1n_3VQF|cj<*E9I&ihvfz!73s*9o4SpG*He zr1xpN-KIvGcz^=A@KRm+L9z8*RW1PPAaV2|UvCu$piv-2$qE#Co!6xZYsbRyp8_$2 zMgGeB(C=|T$10-Z2yu9iK!fzZPKDU|d64IRW)+YU(9&6>Ue*W!!V?BjuwMbM;s;)c zb4HgTH8y_lbNU`*DX3jUm7FMmi<+%#k!1eQBa1AXN zp=nX_i-c_7KHH$pJ=tee@AReic(Mh0f!-s3F=XEeC~h+Ph6cq9{ERFq_L3n>wFp2U ztuH1HY&snOCHaU0!Lp_-$BhJNrHsR)9q1Meap;8jU4||}mjPj?Qvw@vPGPLHPQz-f zd_5H)Jl9DCU_pv4`C}9^V;4TsEf0@4fQ+r;L|`TDTqE__s4e<~vmG4e0z!ARh;l}T zWar;w$Ir)8I`qJqXJHLPdhl6%6q&l1v8-XQzSlF|B}bAwV}f1-K)ssO3t03`WO2%A z8Ow>bZnXx8dM1k1*}>COyRvWbbp;U0tog>IDMj51*7)fRztPKKa#-xEGW2~k%?(tJkvsPO|p=$5U$d3>ouQ#xw_^r_+8P}FyF zC)Q9Q6eqSqJlWPQ;$c$zkj~^jf1yX?0Jg-|CWGOO^&gxw))15gNUIFR$tx^&AFLzF zj^LWT8nE*Wdjxyio0>r>gomvmfobp9R>>)dxk(9B8 z&tr$2g4+AA=#LGA+E2uP=KsXe+2;qU^{dK96iKkbaUCkTG^)`LlkZzu<7ELF3_%)+ z>@STb6{IU~$q)=ve(an*1(9C4Vv|S;WGAu2!@+bRIt*lCs&G?B>xHcgJRGbo>BKU^ z7jQgLFN9FR}*!N)eFYG7^>p zE70##L=@B_R?yz9C_~-EZ1uv={mnAG=PLD3qV;E>I*A*7BYnd?BTVhKYgD{Xx&A_O zL&Fu53c#BKuGFV{`3G)Bbrph7tGz&rJNv?ePOit-)iKq$^^!~p6X-o~`I}!u5(NVK z9SEM%B+o8~9!S1d1fZ~!nOD+eq?7>fBua$v{Lzeky7q&G8=UZeh1neR?ID4s$W3Bt z3FX;3Ra8Lj13RwDc6_x&6Rc?0{Uu@emB#VArngBY)ZJKxc2SEA}sa31>L z_yawj6pG83zrvSZ^_)C$DOTt&JnaPB7IqXbMS@dZp@NfdYLjKUioCn2qagx{wh5WB zCmx?5%4na*WkK#{lZLYA;(}j4GgI!B6htQ2y!%7o-6-~X?^7wXP;hQ~C~VO0v84d~6AQ){;{eaUj>*~Y_D5d0RCB}*H`X_@i`d$@lH2D2NIiMfpHp9hdPMF(4@{fQ zO~?tL-%A6b5F3xOJ5Rlv{y@XI#`O{aAW{xE<7W5VbCnqF@eeQ*7dN>z*Wb?kqc8?Z zxXJjo^M|H3ntEFbX888t)XeYRMbk9k(VXJws;J`Jwim{G20B~qrw-rIqEJ!?-B_W% z4>(yFXu{qe5_bk)g*g$=Ccup_EG%q3t_+n6-q7@|kzsxYCH5;J;vY;Hh>K6OaS5d2 zsQGt8qaKU{zNpeo*o|QREplm{Meoml`8ICiF%h@-d%^{h%o)FYKL^5C$r?VwAOtx% z1pk!W1Em?3IT+zYqBG z?OV9672pF&Y`BY?}M~p!uLZ4|sF985rqe2FfT4`tgVqN{8Wz@ z9f;nwJqN+He;`-5e;{c4{M$EvhK9}r7lBwGyw5B|Skl9G{Xgh(#$!62{_PQ6x0!J| zJc{7R%JMpc>;1uQL_drnVhC7{1%i+2y8=H1a0p_|$2Z49Rbt{bm1k%?Dk#-*BFzX&ME+FH+vh zjD|{r;!C!l0Z!|$1Ch>U=y?R)SO8U!Cqzoi_a0--{#H? zdJ!8I9i~ag_}y!gW#yh{5$Cl0BL3$vfc7|lSB?ojT(KW&4dyUUsjt0JBHkkH@o5OA z1ziwfuU$9MQ!Mjt4Wiu2$SeU|>b6(x!uk2Nr}m!J!2t>6`p8}RPDu05-`$v);QBp$ zt511=Q;~+uVJ4m8-883MMwBTbL(hiYVZJ)QSc)FK%HL{HHoj)DW(02WDviH)-&WJt zz0S_b_lBkYJ7cD)F!gx@YR7F(2Dq?Jhzq#)>Oh~0+zPC59_$vI4!lINRDSvYVgm7A zA`H!6L>NRPT#EQJz5`Pa&E!*u=JaRR!?7WzXh~dDC8}vsE5w#el69&E@i1^NHd;Ok z)8pk;r%$e|VIeSu{HC7jV`%TG?+4k%JYaSNa9sFET%UVuz#d<%eM@5tPal(X0gDox zt~%eoTnD;<%crGfWw=bicn727+n+stQpoX3tV1**h1H+@s713D1dB{GbwrRY6epJA zUC`mbe}@*yPzhub8G;y!LvXN}{%>1OW{Ut76+Z3ZG`jIx5EA|@<+Tu}fHnasq(de^ z0>th^Jn$eKWoG*VOe$ysaP_Vyr|;?cA*!&f%n{ARdp?Q*kXj8F z4ZF)XMTS^zB9EqO$-Ve`Txv%ek(mC|sX8YXQ|z70+Jp`s|8?KQa=ZB#k6~Rtpeaw% z|9Zl;@4<=P+RwjyB=--e$R7#SNBrF}UNoO_*7bn{9Q=Rub{$u8*Ss+Z+?;Xnu zIMF8JPar`--4<&UONI>==(U)deb>6j+Pm$nsKe=Q&iO%EHy##=1JPc>H5alWyaBZs zE`%g!-V5WW7;(%@EyrV9l7Cj8T=@Qu2TIO-7kw;02TXQ3fdS(!DD4TJ-Kq;m+fZ7^5#=Ivniv8#6JepJvZS z>ejNKfF#uO545FC@g8J9vpc1+)ik0%;ucjGwV{Kd(o#+~QH~JC1#WiAtRNDIo3)~W zewHYy&`l;~ECpn!gDrsV#7?idpk$=YC}1^^8m*5WPFIw9_9z@&7HwMJ6D{(9fBH|C zAPPL?7yvdl&>&K#XR>FR?cg>l6uTXL3i?t-Vb#>r!H?75+Y@4cgRO_7RIdGOS%oV| z|6Acln4Rtui{O;Bu#mB>G6B=uiMfK3XKV6~QQ(>aa2*1-7wAwn2!nYfuB( zg0=x%bX^Lr1;?>yn!}r25)#Ilw+7=djJTXxYtSLKAU?QD^F3riuL33&v?IA|F(PM< zi|Bk%#M+^@6hSyqBeY>E$)Z%f^@);U?}yuu+x2gs=iC)KftMnOtRnV`WY!+}FT}Jj zdSa7aK2y-JsXbQ#D7n@eO$gHPn;6!EkWEYv z?tCeWt}px^&tS0L&~Bs?KQYY)HgHlyfM1F^^jNA}5t+^3W$~y!cgveYqDB>M%3$lh zJ~MS$$d6JLj%%Ek-&laL++UAU0Fipg!`9g8#w{x@_m0C1@^4-rUDm<;&ebNbCKklF zC{1@Ttcd`Wyb0axXQqn+=Wj!*6(l6hck^`idYvgCQ(tfQo37^_bqv+`ihysTZVOzI zhXX;E4X~1_Zg3y+e8d>l;whi9CTcyQ0Pn6L`Rjm=-fy}4V!9cb?1*7_;5dZhkSl z^Y;cPpPY7ay6OPk75|D`ix{Bhc=c?yNp+6K5l*}YR-4f{mn)^1lhhHmg@Y77rDcut z_9S03WbFtaUfewKFuXL0U(l^MQNQpk=d2KMWzA!s~Own0RKJ^S4_JnGgT$a_}0^Pk;+)>bmY>oOTR|{@ibzfh50b zWcQbsbw+KVFakmVkv9!)QKPC9N>|?vgCGTk6n%S29Vd5t`p7Xurp|A4nlG>X`=Z02 zmBj1G>~fkv!!~7wL(Q`r$p9IX_y1>yFora1Cx9YFyAt8;)KJxJ2v7-> zXz$1dH+*hH8qn&GA%0r8`hzp?86`ACig~9xIF9Owi-pfrHCVXhwZbj~qku4(2RNj^ zPbJ^qJt>5Y5nu>ET@MMn#Z7WyT{wcFu;n8lU&!&WZ-uAZ46$;PpKIlMK|<2ZCUrgDjVw?o(78Z&Ve1nR6lWGnanbCjWPjCjQP5B;dc@OeL9 zO-BnnPmKNuY0XnE;ep?4!O(3xGvs ztW$uSt3+-%JaORbC~%6QnI_56xskUdGdn{mr{PWjT$~wrobB)S+Xv%LRjtZ1n9LjE zSlRHPDy|X+ZXDY4@bNGaaS0M;n82by4lZ(hkq!v2cpR3-t?o;q*wRCrXSIS4}wYx$wa>hGv?`I?&*m`!fns|D-JT`DUu5Y>z<%o z0hDGb-kdf)6;X$RNoa;3Ni1FN6!36K#3euaZhaZ``XR-{yCWyK!G* z++%!cZjSQvd6qqkuBL_!VT86gdri7t2r#6pA5?^9sRo~?MNt+)LpC}A2GA6x{b{d45+t)6aEekv%7wIdb{rqnrlI8jnLJpJp@EY zA4`LLwfYX6d0QNY3BZp$l$@tidVMFi^PBy8PQ>w_mbBnPEM5s`FNGs`; zAi|a+JeHEE%nQ72|4Wr#`9d|IQab;)rOe<3t7#l&Pu9k#Ua^_6}rgQfJjGXv%6o6IO9HPjUZQLMDx-Q;5ErV<^EbPwq`jmjw=nRKh=J__|GeQqU zaK|73iuc7kdKxx0re<{19!5aQmEqPM=m;`*zuy0fHEw23Z)LL^)@Pc>7rE*<=h#Q==dEV@w zJ39JswG<&$i&u#zMF}x~4|V_2e4O9LDD*>$ClIpXeARUZ(rGT-!kv$JQD{2BwDsjr zmHYvaDN{3a_d}7urLA3|laDL{m=TuZg%xzu~5_Vow?Q%rI?4uU@tjZZ(pH|Z`v`(QM zSnN1vez=gSd|5h_I0@?_>$A~LfD>@C!=a3&^K8w!Uo!(e$^h#nHPF&1+j4pxZ}B@1 z@$7lr-(^We13E;#jJjKv2TP0+3G&;U@Olz4T%|0&W6`lIspo}i`9-(99uw4qo%%Nv zsvs2%hm?3pw5XQ+=pxD*2iQDxxZr27)EW)DbN4gYONtN<*Ogl-&;!~IO?QVi?3{fs z?%71D0fT=4JJT^g;VuX-B;-OB?iU%6>_F)kp5yV9J~usmiN4K?(za_r~F`6`_v5$JZ~%{68(0O{D^WV3q4p# zgWvi;5wJ(mH!wgW=~4x?38iySy1M2s6GtAv!g2sgVob^B=?bi&u0Vs%^H&^%@${XI z>?64uqT@-!DI|OUPPi`boo>27r%$xmWgs0BD#WbEYqce-;wR3MEL^>Co#rbdNE_z#drDh~h?rLujm^W$+z z;31Sw@srn&-J^&T4=;TaN|8daOwz139F)9M3a~#`q{+Y<-J^W8znq0QryCc)vxevB z)vynAE!+-rXbkMEf+Pse1L$GRMhS$e)Bpq4MNu*FK*!Bo1N>d&$}H#y7#kmthKgf3 z6{r4No02vg{`yTs`K=1`2AU8ANJCaE)8MTVbtM6DUCg@Lzi6Q@??4U;)XXI-F-}>| zVWVkz(nCTeTb@H_r>eEJ4|R{bo{FpUsCV`ece@CZJ< zf~`J*+mW+~@*u7P9;(t2T|VLbGM}(N^lg0BuoSR8D*GEi#KDzQ;U7Y-rx)S1b}rAcYUgNQGQUl56`0tJB;QRpZ+?NUw8;`;Rw+()8FP2O{og_9P(I zoFknYSR_U7{mi_mZP6eqqoa{xd;cz0>v|t_@s~H9AP`wi(!uhw7O71ICaZ44$vmYi zqZ!~~=KAOf+OL)0c2N5gCGRuV8NXEjoQ1)IVHED}ugE`OUU#@?E;a6Z)BjA77O2#} zfxV~Cb936?hz0n^f41bxUbPc~U&NhMCMaYomz<0v?yH16ZU{{gxACE#`wqt}H=NCN z&sHDm0242FRV65@m*w5tyJL_9?)iE_TWy!-q6MWX)>;k5HG79EAF9!9b%~vfBL)}ah)`Jf zj-Jp~Ays_N8!3FF%MybOihFf=BRWH*8B<<6{9$kS!%hKOZ??^q!2htbc=^)_9r&Y) z{>~mnJ6cFAKE8-oXSb8uwt?bj1!KX!U5O7HE0d4nwS=4vPxB`{a273f_(7utxMZ|0 zS(26Ms{V>fXn139n3xRhEO?(3GANbKVAfR^fDSGn-VhgoDlVMiw1h9EhDk*%Dw&k} zv3Utam23g`7)eS@g{3ndtxH3|R^?0KTy=-+NHC(0Von*d(>1fR58K18n#BU%V-y$` zNQH4U`DtA;HH}7e_B=$rcq%0ji(dB35qINQl_{*JFl-1ppyXv0ZkDdLZg|YV=A+@@ zmy7<8%UdCV5fAvs!>QC!~l)bB2wAf@12>Ssq}kkqIeHbWXl1 zOZm^Q)Yw?Sg4K}4P9*>6H93`g`Yvb10%ZH0IQ3rSjDrQ+AfPNv{ljy0Uk2+OLQr`D z3jeJKyPDfW@iA%RYXi;GJJideehQY%j(!ev86k=)Du$gY&$9c~AixqQ+i1zV%!6nM|W<8yO{ zyZPOR zVxuN2m4c1tEx(Ie>iG2pi;CG_sh$-e5>35 z-5^nN#X~zgI{Nk9c{;t$2M3^h2N1Xb^wo-oH>H^bBS9!XNwtJZnrJ6;v>ur8Ll z`?I@id@FBfZ188}qX&($84nREr7AXXCX@8}q6Qnmv0w8M{OimLeftBERVJD6yHOp6 zIP7>GXKR%4{2kn7b!=&Tc?|qlc0wm6M$eG`M8ATOC;~m(w*JLi9bhd5f`p7Zx1@cr z^qmB^<{KTY(?EPdE`>~NK`UL9?RSz{hj)4g@ATg(q}$6Y+}M77@aN@R>6%+XxJk$d zgc~$oK&6`7{vh02kC(5HI(C<4&goIs=|O9Ce2EBrQ=^WW1X2i7o$2=w>UTlM`5-Hl z5c@}!N?;3^3sRUI0agpaD*89smhzRW4P(8l9HU!(B1xT-&7FCr(xe&es1Kh&8> zdAp(jSEQ1C`?qKa6+TPew{bWie?-(Jz!Nc!n(Moj~aw$LHhU~pU#_QnZblPL-f7mO&)?@ZF+e@p=*_t7nn62V2>v6t8%0eSrqlV{7Y;i z$6|@mosP=r^OAwu8*+2;eswo3v$B>i%`Th9GM`#+bk3eDRRoQ$7w zyY7O6m+)tpG^(ISyvk?Ab`ArOw!#hO1-NTytfGgS$_7;BIE*)O9%3 zjyJ7r2_!l2MJ$8v86`VfFgcdxya0VP?MEjy@zGu#%RJy~D&1;%n)$9zZa3_GJ?I2x-j7`BWC7~A zlZf3Ec9b#UFWE)_8{uagv*t4 zu}1udKgF$Us%j3Ao=Q&G8zWW8*QHL{!Q(%8ZQe)Rdc=R#33|AklgcjmX%4*nD9d_p zP&e0?VisahfAeE;h>lZn(qe5A0h`<%QRGc_%GRG3do2)E-q*m+Z|sb=t-+hb_*(i_ zTWac;r=^wK&rIR(j;dS!rBFJoDC?OjtCRKh*(w7}(+`p~@jt+Vsn=Csaq?(9pIUB_c(_%H%oQc{Gi$n#RqXV%u4e=*bKm=$q}j|nUoDV;Aauk?^w z1R|NSw&D-z&4WJ~SOi7z#}w>SbyZd^6A~ws15n9pUTDTxpp3*Vz=+?>T~nJ*u*QlI(<$W0Tniz!*+G`ZN2$h zRY&0GjdnI(2Sj+a0L|^qzp=iQH`l(ed3r~%-Flaq@fX_+LQ@HEOS=X|zn2!bJ=a}= zsVz~X!k^x}u+YD1=u%!m9SIzJqgu4tYT!`-?)X`khU1tRSnzEI2aS5|z3LBO#I=>v zmsfMECBt2Bn`(ZW9xw==qnErW+8uEeBK_X-2{6uMAm7CTh&C~{gbS`mJAcXF7_43w zRyxtuH65y$@?Y_?M!@36Sk)zzvJuRpqG%R@9p)z_aiI7ubsG!WZct}dMn{ML1j81Ljkcxm82mCHL~ z&UZ8X$&62cIgPg*f6ESS%=>FN>uBf|lVimMiNa(q-K*=)=QDTZ+yHV)4#1u8ow2!O zYwad%1KE+y)O>t)78%iYC~48(!8yqwuDFRtWFu$WQXED>8~E+rEN4H2@pWi!4aZTU zs)b2u2*+Z{|7=Q^*zvKfm;%4Ib?r&_q_|45~8KO0=kFiqDs9^8M%lvnne_)nU z%wCKG?26x>5ZLq3hQF;aA2d`p{<5+kLuny$O*4X>QKa(bXM~@CfrQVd(nd?7;!50} zf`TAAP?W*wB*(iueJai5OuNvZ*Dtnn8+xDRQPV$0q+;h`*%_UFuJ^2scv^1c)5JH& zz19gz^jQrO!WnKM9sTUmPj#*OJhzQ`rTfIbBf3~gpHGV^|7BVP4^!e?t|qzZ_K(S* zYj9Jxo+h=VrQy4pL%B1-j!Sm6m2=K}yOeaaz*q%e&0toYLvgyhProqd?$^@QZAx)& zjc;^{_#iks=l@sTqg6{hAOFuX{Y#vH&aWMPXK##1%CJj*729eR-7;<~@G`d9IJjz# z;cUzLQhhLE+}?WbCE=aTC!e3FB^t8s{RBU=6g52GrSxtz{yMl4mv>g-%(2={kpGany zx_E)*u5%clu+35+YxMunWHS^`@JFQJW82oBc*Q;)2eSC`>3_dQSM9U(?cd*L{q*U# z!0V?U8*x|93->90i<+65no7x^ddTU6C9?OXm%ycxRoXYUo3isEEx2lS%U*nSux#~S z;_+CKv+BpV=GSHXzs)6|^1J3jY4XZrost^k^8)$Gy3#2^*m`o@3% z>#QBNXG+2MR%C`j-_mGq4$;&n0wQM3d5PTkJ{4r>1(YYI7@h={h!cXCQl#4&KnjFh z+KC6FdLfj#oEu;xh5M)?%#h>0>UpJ9)Y?tU?|)E^YEMj7WC0C(=(%87z~Cfvz5Dired4~`?%`Y>D~a+8N2Eh-h&ldMR) ziXoaF2P5c^hRT{htM}Rz)e5t%GhFDYvcvrG=FI?hxM$qdwN^d5(9DwpN~sLGC$c_G zjofd=@t*3aVNcj1o6Yf1;C#8a#kcy@?Q7QmI+S}-*p*yFeYJC71%M;9(}o|nd>pqc z|MjnYC+BE(*Q#B}G!HrW&?UN_SSA=gCDB$_kNuND*Z@8M+;WeswUQEEQB& ze?-#cmM!T-#qHi6Km!Mwr4oIW_;OMg*J`bg8|UJErs3)yZ4^DDRyZwY@(WfXGsW!d zH{S0lYj=z5O+V0}0^kUK6DtylXK*<_vKFH5`^68wAU`v`Rs#;{?(UwOThC<>%g1PF zlam^%m>v12VY0{Ze{1Sci9ADqDKl);M?KR1)Gc1PV%n>Og9DO@z?~ zhm%PHDP0e;gkQ2>gmMMHt%+wRL~;a|7{&*UX-XXV?$4DmmcQ?wHt_e{{vj7xRs&}` z;CoEWo5I$mZa+qLl!uiUk6-*#%!3U&IJJZZgpo>{m{m0-Fxv1ejO5>xFFlxg`&YW! z`>&2TVYG4s+?HhM6O$8iYqlx0cql%CO+b<@dAk_oRUT5~8~SlxaKh%tQDTB7LF=1R z5$4d`ke^V0Kv@{$XwnYW(wC~Cvo*cREbI3Mhmx}~XnI=HZHHElZz2YPnvMk8xGxI? zzn_|=SL5W zgmYqY%GlXvL+Hy(rccAD|I`7}kYjMZZt`OP<(l~gLyadCs(gLkjPqYp0c4dk=mmAH7Y74Hlef z^Hr#ok!hEmaW!}DFe1zQRjkmnA}1+Wg2xcxjCLc+Di{ozjWN z$z43S2*^6WC7!Sioz++Q#`Sb4(hprB7rYS6SB>06>b6KECa(!Gkba9kFK@-0%j(Ti z)tn^$R>VSf@gDr^JXG=PEqI~aQW;Di$5GKx{&l?;*t`V~Xf`Og@N$5;x@o7_OK0+4 zk!Ol@8JU^fZ>dz7ZN&a8Dt;=pKHU7MC7E5iz5&CbT;^4cWfy7He7Zf%wgxc4;8K*Nh+8 zgIC;TSN0d>(>%!VdNHhpr zk8o#@7H5Eot%VmnolFSqhFb91RhH%(aCYs>0-Z3zUonjGuFvqPAxUG){&Frl-V)UH zcGxIb{cs#ZiM9MxO=roP8zpd#kOUdCM7N&3u=^a>RfPO&@0LmS8@jmg{iMHT{sww_ zYfa~HH3f$7PGFK-1^3)Antha;0*_$ZMqbEv0XqCsN|4=bF5)fYF%2ZV^Mepp%W}VY z>dxxqLq?W(T}WW4zpr}$V{D7kB~QFVgb&X|dFVj}6q6L8(E zwNm$SfDFg(6BQJr^2)||794C|UTR#U+tin|qr853m9MaJHUApt*u5j}{Rr zZJE!|nAaS^0RGep(EtxP*ch2qr8ztQlv3n|0*|#no1?7-lgA^GGXNH62w22J_XK3KV%gH*pBNwk2sM zsfYOWkHvlY+Q5-~AV(Hy)_3l%!}Ry-+w`Ed$Aumw*h5?K>)`D#kQ2B>fV-lJ9MN`V zfd*C9le-VN{h`o#oF#C*J1YGm3>Fc$VXg;CnM z7^T>{*lF?0fy&Zgr7NFt-fL?bbuK}YvvB+@Lme;%aXk-Fms^B-7z zu(H8Ie}>=XANXtzzfOF4!RCbYbo8>NZ{Sm?wX+!+z+WtGWKW_1Dy_~G+$qo%ig^I_ zGv%1{9pCFUf_OXZ)>?1G_S)B@E4)MtqCu*ybjBwXqoaQCGaK6&HjnjNA#JmS&6v}w zv9K48M{0eR<9J{Rep~=dkTTF-iVL##qLD{v&-( z`z@O?2mcgjV-)_#i{Lw|Y$+AZIKq<8@%EPVv|u&}ooZkQ<8HKe!9>xJe*sPaFUq+=64lWW%}INbi%vZ|*p}v92QYyln0>6yDM|E9uAbu?sm{Fv zY`=ql1$?VsVv0$8UMLxUsI~S3*rV>V$J7KC1b_B&KFvMX50lH3aSsZ(Viu-24OwneQ*)2KjJ-7nw z?d{3%@4!VjCWR5zH~g3m26W^N3Ff{O$};=6wnxsq_t8-VgY4(d@{y157v&j#{m;;O zs3ZKVkWA8N93y(PFKqzrS@dp*Z;V9Z9r{j4{%fM5X%`+_))*TQg4a*bd3TnU`x$U> z3}YA=5o(H=iIYD`}^JdOURgBc-q6Gu(I|kZEX1P z%j|wqZS?5k=BJt2tBP~<gHH!_ zPryM&JI;|OFYBs$pa0-X^MM{D63%&EQ@i$oJ1<0j?}}z|G++2Gen9xi<}Ecv?aWz> z;c}TId+&#L(%MjjnTZ4F4sNt%-MpN$ zcjLSogO;n5HNglcEbb3QXdd^y3dfU`R`*{PA;b)HNy^o#@H~14%OfG?_r& zvf^T8E^`?YTje!4ODbu6b?*iNs>cnJ!sb#xDFN-R9t_nrVM$l!{&+8U4+$Tx=@=cT zKUF79scdz_n)Z*2pDB4yO8ki$dg)Z2?LwKoF;$YX0K7Opy_D11;MMLMD_YMsq?ba} zIdGpVD%n#BymTu3Q^ERFMvMM)ws=)q^jwQ{O7UIM$(-SZ1^mYgzKex@-dGZuY!gZQ#~c#4b%ZVE8Pu?2`Wg1Sc3Thtc=CMs)X z5dG5x_Lbx@qdbrIoyIdh|K$y3O4Y2PB2uO6Yxo(4x9@Qvrfrf%tRLc{&?lwEZ)B?U z6+hSc2x9~~eWSFDcbd$Ih7R-OgelP%CH&UTFfkIUOv8n#pCZ`hM zC084lD!E{q6`TIKZLh$7Qn4$t(Jf;q7i z@gO9!QqDXgh#95h`KtZ)pr`O-~-=psUo=nzstWPTz%Se~vsc$G*q-72H|* zyTk9^!cxh%YD4S`A3Ncm3So+KZ7BrCryiHuEr=SR-Zlv!EJWr<>BBYsp5G2qN4tbf zI;BKp@vz}>tsVA@IW_aa#_bH4eC5E%y|nCKLVkoJ66TwQd|TWZKHJCnCct`rw1h#_ zmve@r*pW5fwxS5c-dTB_z$)L+`8fl^`Y~SfZpQZ<52GyG(D@b<_G~-sA9X;X`k8BE zz3s|m#x+-ZyaKPYQ1^H;=ZV!wC{@=kX0;O5|IX}L0&Q=Bp?CW90i&FJtA6qCd9q&S%h0);0&8l!13ak)l2lB5x7Y`$gm!*lI((VFPRCk1%q3 z6x_H5Sc7wC`ixN8t9xYxs8W!)$PzU@H-hSKg!MM}%tjIQbemhfiTTgY%91*D&wqhY z0x&P4gC(ea>F?%=)2p<{`%KLnEs!**K{{!k3G7161`ze^aCD6CC0 z6grz)HRIvHe=%GCUP`^(WPXHwW_+zm65Wj~*1Z^;0?;Z_K#t;Jl6YvA>%X$h{m zuU|;x)c0Ehe$|*EW5FYX=nXvw8YUg#;wFj zZ9X6qsNezDpT1Vzd@A8!!i6M1V&iMS)(h&5^P zY>E)dzBz~f`jFfZR&&S7)Awa&7;_cQefX<`y}z$NwoEkPL8r4XIHN9}?JuSD#92}o za>Qr-b14@FHFxv=R6Zh4YFt*!sPh4T+m~iOt$oZWPL@kDbwRePCNgm@e<0eNoVK2~ zshUP#Aq&Jw>9u2b$87cHQ0Bcz=b2P=#UBJ2>vHEeI}u8a>+9(?z!q%D*?2nz@h{ni zW;4kbm#`2d0Rs9j!SV<1K$T-S`{V4B3iR>uy~XT_t?2OC=HBshM=viFd4B-J;v=akY9Z=+MhR70bf z=Yue9okJzylLo<&@p8^dZ`C@tL>~S+QWuG*Y@yrN+^8B z^W6#^rP!925Bb-o`ClmN(3s}2US8!jegHUwnVMx8GIy&66XC@1N&&W-I8K&?PRuDu zsn|ief8>uTdEkx%lPWTVjqfTX)Fm&3f$yrI+`Q>vWqBtvAH`;+&2%P4zM@|ZfmE&( z0zkFUnH$SZ>hOr3#~~6TUiv^W&6bK~j2thqC6$Jum|(e(v4+N8=(d-q_y8T1thfzT~rI4``*LxD#fVcHHLdP&!r(~o%M**Ngy}2 z=fd99Be(1X$!+O=g~uE{Kmhv}AynI74Sr!y~5lss%lp( zf!%7hVjQ2;dHSHDvwcv3G{$|}l;DV*>0D&Sqh5RpkAI$zJkyyuOIDrNpxA7bQX?-< zQC$W0k=wP^`Wf!3+t#-UNi#JXtw)w__6ls3oh<}>0?j;endv|-scISYwx*ycQ=Ppf zn@y4ub~9sjVM}CvAHc1we&={2kc4Y%WN7QPd^XSP+UVUwsrt#>0zcZm^ip6#A|gVe zMAd@eW!@Hg8kQeO-@kO%>Y3*zju<)K3ypGRe3!UKcG-lY3ob ztln}{{E>^XI<(h?>Pjc`F%+}96>@8v#Hhgf>z1{Et+wS5_Qmo9S|auJ>o)$2@FhRn zV9E#lx|zqN!0uyh;sG()XOHJAuaFFpzk*?~m$(_I5EDQ^erfj-^%MLDZC)NY)c=mF zBe^u&CTndxdd|oBpnED=cEWpz2dV|Mdis}DMOuRDLsSoK(H)10kFrBQujH#5M!KaZ zNJ772q>6{2zE8UlxD=4nltuas_!Dy$%l8(+ICTIGiFD+NADcpWl2{t`B|F67A2(HO zEs!`DcbB=;pM-H(3ef!tmR0xjgrGk6sQ9Er+6{C$e`%SDbp;ZbSaeU6g(vGx813es zbz$5?{cn;i=@5uK+`E*+6u;M+4;b(vca~P8io@Od(lWRJ^7XT+glP8TWQ&J1^oxA~ zWKrv(d5q)zkwVc8eE$+Nn{AQaj}b%AbiODnS2g04exuSjEDMZFj7wCgC%of4ReT>L zU#v(8Q@fS8=hQX(a*Js7L?}9I?Q$XvBhz6UW0c}P*yjqR5xwgh9H$Q?7f74QlfD5+ zx-T?RN@GH6DIssDhF)_8p6o?has$D{ru{JzMO-P|#bqU{+m}oY2Wl2{-M9HalA8?o zZlL9$?M%Fon1WEx?88?p+TaLS_6+fLe0;)c%;-~p+xP~)MXaQ}m!H0cgLr2qAof>asGo~YgIa;(Z>wy~#u^l} zBZ)F+QmRdcj^=Y&Ys`f%RX9h!oS#E`FEwElxlV?{;Bz*jwH4xD_wT1fYvqd1(86qr z%btW z-F1UUK1{orS$?GRF=h0_HkI0;t-PUpws>n`;3b+Ti8S6774QLC4YKstYQ^j3F=3dJ z9sJ)D!cxBaxW6O{T$9e>tNcymI41XMI5YKTE}gXd6lkid#MOa(3Y-zj<-#g1JsQkp zdIW2S0|VXki_qH*TaH~_Y1!F!^mIQq1_x6grYhwj{6c(uHeAr&P=TPUtDFmwtEKSW z3!4j4hVC%f=LW3A;=VLHtUMT2e$}`OXbgvPfUMUB3NQycKipRk-n2D~$wJDYcbrmW zWoC>Xj&Tw*1J#O5spadqCDZqc*CPA*Xg+V7+85Gm2(RNB(h>B}5C?SjRXvqYolR|l zi1=q*UzB+v3xZAZX`qoRVKqH|chXzcsXTxyGUi*1~A-p=2{v?uH1=aJu;4K~F&ouTB+d zgsQ9awSLz+;iRiBq(N$GL^o8?SxPBtkzm9I+|ePR#IKLvaT0oEC(_@cG*!xHqlF{= zy-@XgIENd}>&NeW_LLch4UcbLZYCsrfR)QIaZfIA%t{e7lb3GY$)%_m_{e#p7F-(t z_KF620rDPdpQx2@T?;*ldCkkF;6s(6AW%mbB=NL{!%{7w%~6VpGxZ6SN032$e&aS) z1OyOr9xDd^t{FjJ-r;hA#@sF7rmQb$ol~WXaV&T5!%P-?DWwF zQMLcnwOA(@v?j8iBfI&da5F(keaBBfclWM&y!>IYuJ*@WxP4n15f5Pmr9f0LA;f=@ z>)fH{QO8f>rVOP#3ak8z_j|eiq|!%REFVWP@@mY|gz3#|U}487BPp>i#KL1y^=K`J z7)Z~QUgm5`?)+Kaw`D#VQD}RTwB)3)H7l$Xoy7W*=zq4eYL6OL$eydVAAS>=qt$UcEz) z>2YC)A)94?^NUUW419h{E~!`6Kb0kSa(kF?y@}QL4SZ018k42a*wC^7*HNIB>TcQ4 z#35~M{>nGdoq@qymc{#n`sQP3?R9u*RNOPUr1btz*vSZ8&K4yATbtI#MlVXJ_xcR@ zsi?&82-2lSK$i#%uN*Hd`Tt@9lG20Mt&8?=NHjvTF}U`8?sUUY@OY@m!TNhba5o)S znZ#XF?vB6hRz5RxwSnA!#H0el13;3TeIFiuh;S+ z@9Z`u<_5x`QLl*`RbarkeEZ+$P9XAWXi4g-}%v zP@;RyxA@hU2og8tCZf`Vk735TISv+<=l-^$z=&PDP|^##bq<8c*iDshh>y`F(Kz0Q z*9(-|H=u+A({XjM3)=Y$iq5y!fE&l%Lx2%zro4VqRdh$pfYUc5a4b2G;j>$T>!evzQ~IhUy#AaC0>JLGMmST3~f@BLZ7k zkr8u|gU4Zqh)6|#G||1SHDJ0Po=N+D+&3tJ+!+s_&M;1b+5(4DI$HDDtwuY9rpEk0 z9QVf6J-+$TQ4+OR#1FMH`|(>o`8y;6T-`9^^C`QClpX&h=*!f7gvNK|-ltP=bUmi@ zDmAt!WnC2yhVY#`eN(}NROZ(<6yx+jeTi*xS=pUYZ{2SO+|Rh#@$0fFn7(N;4{eB_FRsatns;@e(=+p*e~9;=22!6>y$F8WJlDK1Hf&D{p!3lKNL-&L=1(1! zPfdMYIosPysdyh4o>>2^%E7*C)|s8$3iuQOt5_s{_&|2QC*TM7^u9my!@AuUI7tj~ zTrBnf4fW3AWE+oZI>glfwuMy2ffP8WiUTu?F(J=S-)H#dmb*4fDBi#SgpcFw7L~8= zE|NL@^6K5r3#mm_U{k)&tav$~+GV2@$638QeG< z+p!(1d~o@za*d+{`|C4|A?Lb}3W*abL%_cD4ZIM?&YzXpB*hk06o)ssGy1IS2U{X=C>Ggu^l}r$c}nFsIf4-x@hCFo*Y$~ z0a3g7t&o)4Rlrp(kouiva&q!B)S$?mHjWFz#I=TA=qh&>!e#~9;wrb`7ntIY7e?TA zuC~!|Omr0uqwvXu);SPfEl@`b9GQe7-@@ z_HYO&q{FMFr$JFT`jvLWNU=l0lN1gh3l#f>;KQm&aIkOo5aX|5!Xb2Qymr0IsMQTR}Ybhc7MUCc}BwrM{AxMi46dH39n4^f>m|TZ2aZv8gI$(|Z$1F;q^%~N z;;50@3+-N`^^yGEN+j3b+ytxk}kS-<#bso;Ugy!EDg` z0e^*`R3Y>21)S>M7*EcMTvVj2*~Pfz`gM!;IUuKuLy=+l-`GRGH1zKvW!(ygCA_Tl zQ*GGQ`q+?u+}7fej{AY=-x2^t*RLJAC1KD8Yqy_lgBZs#Vwbc$Uq9kXHn5D?2(dm@ za>u)|nIutua&OBn?;1MxKi=B0Map7Q&(8Ytk;iw_qZPE0BlKrq$(^{}j5LRodJ~(% z2OZx_u@J~xTAGioJ=(O-SV=x+`WiI$Bba4=_M_xuu>NT_sDJa1e?Dis82daDhIedb zJCLK|r;Fi4g`E(_xj{K&DGLj-6MiI}SaqgII($wgep@0Q|E%Qd@3j&OlKU5GSH|1k z!sGnx>t$P^UM^S2L1w#-lRia=$huFbe&7y>weL|7N)CpJh>FO%?)`eDalq*u_`B12 z|0=!#pr(jmvkBh>mJeY)j$}R12?sX4LuW#W{L6O%?o3`0v4YP+V37LdGR}A?iMPdT%nwmJ$2ZnCH_nG>^z^(9ny}+Y9(3`$JJyJ>$(@(M1^I199SP z$xys**19hm@*QZsHQ(yk36*01tKSxhS9Olu9150p@x|-ef5oGH2%UJSr+T{mVS7co zS@>F_N~`D!gi!@6E1G8K=3B%9qc&;5_Cq(5yLL60rJr9VE*d+#qIHeXgqu2HL{h+j zobrL`Er7PLs`nz?zb(kn`#rHqkj=UcZ*rm#e852^oU4=|i<0FDi|Fy&*-d@1{}wFt zkJU(HR+XXm_Mw7dnYzGI{sz1xF`BpCNVk7^;>E>s#_pYkF}j@LgkVzF?j33Ot)~0X z?v_re__~N89lmntOv7yNMg8j9fK)S0kISx02)O^|OKn7d1A~y>t7tB5n)g8+hMydj zE5mv|?ILT0Wk`R#$g)_K%Loy1-P^Vuz=KwEN*KlZ%@*WCVG7IiIyJ;MZn%jc8SXim-D>|k=f^0||6zQTm)%A@KtWj}Ru#aW4_k8M*56sHA@gJCDt zz@yq@oRlF1G&I4vL{eXIH0JE{Px?1x5LmMnOJlm(+J10-Y8^3(5bdbVMReA%w~r(~ zWADIr(i!K!!Ei)vMPB*ag79ybq5?n1j=#Fpw@82WAVf;32g=Q^h8@33k{nsl*5)oZ zJR2g#MbXykQ&P&AHEvxOkI_-hRI>uV^&r)bq5;>>g9}*>nT`H?#8z_*r`4}QOO72n zyQipH`H1b!o*9ZgDSo#WQmi6uVyf@_kcxRMUaw%^9eHcOfq2U2pSJTcRnLV@6LCPa z1av*6y^K;3&&9CScku)-Qtc zMIQOg!=2XRwfuLjsXI>NvLR6fG~?3+y33&=kQ_=}J@rA7lo?d@h^9N_h9&fx2-kTz zl+B@}mZe$UiGOk1D~a#Cn76m?J5!W&NeZOHD^yE4CJuRL6)jm}uRvF8PD1qf-F*4> zy%Q?gY;j1clxd(iH6&e-0^peSWMuL6K?=F|NvTJ!#L5Fgh6C45QhisNL?-itLQ|7W z8zip;s(KX&Oy(g;=A&MdpW8Ffd#F^hD1S*9*?MsvDh@4B4nHydOR6wMBz4;|;@un5 zW(PL4=nNA2<^O!I&V|p63l9Iw}A0xx`ws#mR3Ry zGYyuXVb~nzmCu8hXq5yZ3o#?Ub+`^q93Raje4;rDla0~+9U?tA<4XL|(NF0rRi6k_ zu+5w1SCLG755GK8xorv2>ei#u{*5F68q8h>C!If z@awEXI!r!o!%^F~JVwSEVc|Pz-0Ckyjg30l{WYl9swa(vq9Z6pm0l#)?n+F>OCTYf z+2hAX{z6f|C0U3zzQ_HRHih^XS@`f07H7(UDvmgeqs|LB#LhpmgaoPiM3u&NQ3o9l zvR-lhFqx;V9n+)rnas%=;wE!=*F`aWmLIAvDIB+)rllrj{cQY+W8po*E~N`Z3NGZJ z_#DMd1Vc)YCB@J=qeG48Y!hXxw>D5aE-yqCKW=v(ypBkUqNJt!BdWE7A|Oy^gQCe> zRc^lUDidJqVJGtDpw)uI8AB%4v*Q$%GiUbxy)<*Y`wuho2c>Jv8^a*8=2{}vF`w%8 zHF;*C{!pWNr^^4I-N-Fr^%ERYzf-Tx9KH!JG z8B=9J3|EIWH>$%qVPdxKJN1>)T0V)3*XD;#A?@RJty)?94JXOjFmmE}a$<=bNQHVB zO*JMIz1E=s{xv6qE(R@8NGAO#PDJ`xp{%oEciWEiu9~d3nHlpY35;>eC1uSZJAbP& z>-w+g3i$f~xw)kn3q zLbc1fnqe}bV;rp`gJ#J^2n1w>RKbqBKaAIg&D#b=dGiZip+J5f7k0H5d z+2WbPORIaLreK;H!U+KbmB8!^Z|4@0-%^>IO$?e|+>i~7vNmm3#lp;d`e80f{(;lD z0=FAYzmM&J(a16H36L_4eQV)iD#%dDHv}y@D4(PN6jmKMJ3@`jOkP560tdP$wIbgY zk6=!gaVzENsrrl%xgYZ&L|sr{;dClht&u=zTdY1Qm_a$9z4rzVIW4t@hY8rJQ2|?2 z<47_{CQg$FX^lS$#Xhwfze7cU^ZomLfi9F+xC~+01bpS~qq2mJg_@7KHq5b00i;_Z zsBB7{gU$#vjB_6G(}v(VJ!s%OgA*wWTa{%{w=ZV;bA@*+$1C*AXsGO}5wm=aDjHP^ zF0i&b7t9S0akiTeP~uG{5q5p%7adFSyaJLCo09PS=P>6K+B zHtkshuWo_|G7Z8rQ7Tx)b|nFcgU^dZ3l_H00mc;w@uf=^yP$T(jf-g)({;Jb-K?9q zZ@l*V2+`~2ozRV7(gj`}AbU6W3Hwzv&J>tkQX&{J;d{LvlD+%-h#xMP{!FfFqv|4O z?V(dawfwqx)=mF$e!8FL7mXv)e@QQfHEkf-SGov#?|TGx?p5Cl5gGQK4j${i(GV9( zcC@J}OZLTq*>eQQ1#0GU$PH`A?W>;uo&9($i(I^sf>*n^#GcuuY4Z=$jFjd01?A_C z%F(X3jy!?Pm6M_(Ohl;1)`FM6k`B z6Cb*|0`8V-Kc4kv-MCEFI1)US32A&YHIxmNty^b`j35zxP!~oHv-pcEtzZGTI!%hcc5vGk#6sVmTA@SH^1CREl;=r?i z=e&w-LaX|xy;{1c5D3>mD!(IqIy&`{sNd0QrtX#A0~!?LC%35dA5l!czKoI5D_ARi zekir?E2Xef-oNPHWZLL=%}<2a%QMPr(7g-^LblLf#nW-hgN&4b6ET_U*{6`f91?)B z;l9DtdP^}5_#m3UE;Hf%_H zzgMNe{aws)=~hphj(;RSvPKyh4sE-yXFQIs%0srj4mcke$L$;a+J3IOOR4OYCPFy3 zzxS6+T19(?+KN}t1d8m+jcI*w29i++l)>y2X{Gdlqrp0vUSSpFmdz(pp1Gy;fI6Lc z!mi!08$XK@#)b!_{42#)T|-w_IAh59-8$W0cQ5j#AZ$y9^&wqBK5xb2M)9yhCwwZ` zDo$!YeR1+n0A#1U8gu8m6_91U=X#4Sm{{p~h{pzCjh4oO8s^cvxLg2j(nEC32B&Oa zFEB}?qN|c9x-BJ8jh`!i^=e=Xnk#FriYOOVS}Pc9QBjK8oF3V}KQ269jntWsmAYh_ zP%HTaa(EiL6g-&U4P~Qq(vb~dCL$k~p?=aTXB$FtTTV`_0TBh(7w$!}joQwNO=g%aK#xUns2AV9<(^_^*U_ z2B!x-l6XIoj;;4rE$~o4+TbC-?o0n~@F=^6hL(0ue_57PO))x7U5QfOKX={^1o-l? z6Sy61&U#7GAwRq$3n7QFMt-~sMI}#GE+jzQPD)@b|JL>jnzF%3 zZWX^|RL&p|T&mUJy8oR22b@g>*tZDz?U^gjE&keUzIA_;RG`k8{6+e5nfe0_L&Jw| z?4Q%hb*DlMw{Kp3EevK$FiiLkY6fM882X!hIM2)?QpbG&@e6B+^en!AaS@-zq{TQT*$2l$Zu$>!Ndj1fAcZ3;EOjlznGh_dUVQ7sDJFL$-s zKWob1bIWnjP{<^Z%D&(x;dV^o<0~v*4_ol>sEUOp)SQ=LPpb|6C`CxPG*oCOt<1Y6 zkc=xmBrb|Nj=KFJSHRNiEm0<3it?Ug4Ibh5nEns2cASCLP>47-D;$w|KK}$`t^e=z zIvkR8iQl84OL>r?udnZ$MR!XjOSQz=BkFDzx4TTF>M1<49KWHT+|g(Gwd1cy;bsJN z8p3_*7vcEFHoa<-rC0xA6*(l6*zkf0_zAPAx^ekBPq$AEm_imq!@2r0W0x>VcKy+; zdSBL2!q&m^b^&K%p*~a##1SRP=YoE|xe+hJ?1z8=^}puN6!%j!1m>Wgb5BF@s;jI0 zHVSx!D*JmOr?0G>T(9qhCY>ge&11Snfq!gmYKp)|@1KwEgeluOX{gPeEUHwt43M{h zZVO-{rBY@)d_ZlT8~a_82smN{Uh-V1@EQ?!%DXJ^Y^XhJSbDUACsJQF>J-&OzmH?( z;$$l)`yy_~-zoz@6_83kXL5k_s&MR4IvIL}E=NQ9H=okr#Py5QQ{dHgTgUgIjRk&*$Pjsb1A`Sk-u%1Loj4<^ zYVr4t|3FcrA5DJT^3LU`K}6pT<)Wk2Z_Q_^7x4a8haYB-ci&(jL1=VRgE+~ny~o=R zPB>JcmYrdsrKMZ>!cvbx#4)XUcjU_GT3Hpp9lL9oE7mprZfSy08r6hY~wE0KN!+N`|S?idI z>H}oaOhEqT?1|sG3Jy0%>ze$Jy}-uHaA$Ilg?W*-XPGE(=eIABNOlhrT!QhNH_h4~ z_mDYUwmrp_<`G`hO8H@JFjAl!ZlAW%O(A2;ZqW|+wcW5;_AP0)>)4}w^@OGdF!g2* z61`?XMmW_WQjSF7yz{*2Mu6Bd8fgC5?oFJvd^b z*cYAQZ@oemo!H}c!`7tIn#aHI{-^Hn>4WzGUimI}>P2NR`HRO9L2}Y>g&1L^O}fX0 z+mwVU{k-g?A!+ORks55Q$FUV`p~kr+Nq4e-9ZtwZ5k)zcJFzo_bdMmcr1#-tOTfk<#O@)jmi>-(KY#cFA2@$M*!Htxa_YGAR2I!6DyX!u z$|Xp(n$G*vzT<6f4(vDI&d@Dby*aHzR&P)h_uD^r(!nQ6pdI$mn=yZ7EGciZY?0bj zLL*il+3;C#?4=7-1K`pRX0aYGq`z^IjSIb&6Z}hPimc{Z3rbsBW_pWcyz_I-mx5~} zDqE_6pwg0({)TyKf(R9?GdJ6xVJJHWy*3Qr<;O;v`YPslf7$5y5?GBqwrKIp&rNIu zZdi=6a4oO4PYiD6>BOj+TW;rD(~WX#0@Y_)`(n+$!iC^`qut3#WWw&Wp5T-t`tk-C z-vXDRC9{EN{~LjH-Wu)g!|Um!!pWh80lt>%1G8R@@IRN&1d%#r)D-YL5)`wmWzNM) zH@B#2g9B#!{1rNm(cxvNZGXsS_a0;VkO@#egh7TqF}6h0Izd5hv06u_5z||Y)!uS; zozBF^wH zsMr%+J)vMt#{m6fO?|mY7#UT`%I(Jy>3~RQ*}YoEbe7u)WxFfjnT$t4x}>eR=B< zXDj7X3NZS9`{MVW1(3J*h77-mI3A+BH=P6a(qlrVW=+7ovu( z-ti}4r%AWqGKnlkH$;W7v-qh&S2+I1jVfa0wI5mCD)**5L4^|Gtd!wp==gY;k z^yI?s*U!BOa|Rk3Agz;lrgG}w8sjga@^LPz(jAiUjp_1P{2WMp@3Jb(J^Z3nf38)R z57KtoM?$XFX;yOP;b-%CR0JwqWnE@X)WK2ZcPC_mxPNgqGw4ChOh>R9vhF_zcug`7 zO2&QF$5-VjAhnpfwsDP}1>IzIcS{$Z*?i{PRYGQ7k}Wj=*gJxz=kA$2q)95>JGhfV z+bfFW)1Mq&-g8Ghpi80bMU+)n+|lz9S?q7#&fvqFBOl30f%yz9iTacef(G+th z$WJv_769h`C3^R>c|Z92@}c}3Og(z#GO8fp0f}dVRSabZ{v<_7>G?q3M)S^8&Ll{U z5jGWTR^N}DnCn;JfIwirY#JxWSUcTUOzX{$W7S;ys6)_$>) zQ^iJg&PnM(Q8u})OKFl=Qs%v;W!I4q9swXX7Mc_}Pia-?xO8ZG@u-ILozq3Z^c&1S z)dG%vg>NQkYq5Vd?s@QH{K}av0$t$So=6l)dK*Uk4nf=~$^m2l2#z7HEWi`;^hXRn zTqYq8L^gff)5xy4#ugUP^(eU|T2GHQj#f~npqwEG+&log?gM#aAle(eTmq(SEU*YA z5RR!Iz6}QP%ba;3HB?Uoj zi&06Eh2q2F&q4480bu;FtaGAmD;-zh6(f9j=12!~CK^EjvjGtpMsWEdhzu72&P8qz z4cIwzpT>@Q3?;Zn)b<^iZ(jTv`}lEj!+jTJ0j+x?SD|Qim9jbamcFSC)iTB3mTb;w zk(s>tl2=~brP!F%|0_%oJdZ{B3kV99Yn<&V0CGLMjg9dUVMW-ok`h!12646OLPmcW zaCYF~CB!D#&dySX7(D?@!Y>NIAZDNtwL2C*1k7A@)r0dnl#1B-mNG1s>sqw2>-rnm z0DUlY{|;1C_WTfmtyM;2RuE{)%LD8#Sa;aPfqjmZyAcsAwZqJfs%m_y$)I@yNbG=D zOQcjV?6yI~iw$pt!VN$67vg%fWy-LtnTGJg2e2}|3=f7~a}DTq;l=FPUIVr_FjA;3 z{Fv{vyxlLg*iQByn6e!{{4+(?^VuM0lepcE*nXdb zN9qU6i5ip$y3RNg72tS*MMC`-w$TVZ?7ln}6?kK30ndSoz69Ou$8Upr%}3qqV8!|Y zB{%^*x|D=rUUOi*R=mOOcmx^ja$^U7ShNSu;h%SujF9iWz^+VqiU`8nZGx`zkfPW> z_y~FHu>3FeSPdeoWp{8x3A+NGpj*m*w}C-&u-{HNnMk!c0HF6iP1|U-KGJih9;ndm zy=*uG_D6+@V-hJv%LcHB2XK! z(}pvAN-3ebp&oNqrBYZ7CQF(;|3tEA*+`)NRl=;31=((Z9 z+8fUTqE4@nGNtjQ;IDO12{QLAX<$)7AtP9LpdEXsLMsM5hhLWsfXPaon=a@JjVWP) zjbFT+x<4<3Rng&T9DrO@4lUo!B{K7L0l0zwA5q|36dZ*2yqhJVBW{bf@$ywsFhvjA zm3;BLNv5#B+HGqiN?EM_=KkN}Mai$uYgrDF$HdMn!1lS)>Gjgv#cHrE=Ry&SioH58 zS&GM?+7zlVaQ~3KBTyuF_!S@#jW|#p+maUSah3gic25X}#py9N3j=p1+Li&0Gm*By zgE>I{1LlthDZyAtS!XTQw_OKBy~XZQ*#GHT@>L7r*c=X8d4er6-Jb=A*+E3&8LC<# z5aj4oIKKq-giv?Ud1M6nT{`W_%*9@qwwu4<^aP~Xy>}%4ej+d%+bX-=|Gp7odiV0~ zbHE-j1xYh%d1j$UfdE?!W(z=b7R`4aiy^|$J}VdT!~-1$0DB$w`UdKJuvwbNz}0V1Rf{};OnA_YWcnO<(Sr55+6O9K z*xz9(jo6=n?G*Ff#Bo8WV=ds=1as`)2mad=Ix<+5McxE^_YFf<4ZCk~ov#E{B74kK zM9A)kN6g;)FhUeiGTqoV?@b?ZMKPxh&nvV2^n63Ls= z#$6)z2rNqLCV5P41hj?j9JmI%zoV|V!Rs0T3bK#EM;o?=u!AwY4}8Q24MZ6^bNAK` zAu-4`4OciTdyMb>dpCA=9C*roB4C7x<$9<93b*!)H^9=;vX_iFxW9Dv{eYGt}Ke2+6v!}H2uuPfZYcrHZrDqD&r97%(PMSG_7 zejXx0eI6v?*bt0YF04|1_$#BRc-BAQ?pABHo<5^?cJc!Ys8*4bw!x^a=hu6;UQrQy z`jYT6suEK<0$yS`s*X0l?2*k0N7YW+cT%P9>|l@nv|V_^PbOV?Qa5uvOItokNghO8 ze1w;Fl^t|dOHNRakwg_VfG4S_K3$n|G&}f&8MwO%bRSvQ@Z99#XQW0cx zRp3Ls->@86%y1N8Uk+<5ob@DByvjxxGiWb;xyA`l!B(YO3-T)>$HZSccDFljR7Lyh z+7DjY31fWD?%j>K?R~i=0p^s0=tA(Jd-nf*HTLt1ciP|y!3&CryY{mSxA&0JX%LexltmO#eOtpf3y>^LMfL9Sq zMh|!B-U37}x3aM=q}rzln#;BF!kaQOY^*vsjO(#9lRlG30wu{ED}{tV8|Nm(MnYAt ziQnRj@xs^?sKf&PFRAE znB5wnuuSw64$k#88oFJHx?q6peK4#6(SC}sx}?v7?lQ{PtG(#fqg%mB<*y97SuUY+ zvW{dg%UoDSq)YCNbOcl^ycXj}d;Pvbmg@y_EubE*2w$}S1;f^ek}iO%O^fno=o%}c zgmaakvEi*NQE9C91;T3AyY;5b8>8HOYA2jt9tZX7Ods|UKt?ylFmzKLTC9@8 z>;-OR#CRlzRQ*(DJF*;|U42C7#}Q^zsJp0IRNLN=&++~d_%0TuD(9x^BUbkBUdnbb z7KPaVc|Zuq1D@ZYd;P!PkgRPQ4C@~=d)MT5{rwSFq~X3^Fw`V;Dd=x#`?|BNPfD99 zi+%06DGdN8C~rS4%fr=+hwH-x-8*H2?Ki(x|EHG2{n@w(`7-(~AKHxqQHZ0W6 zS&Mf()Yj3_p-M1LIsEG_XkN0S#G&xKyk@}j?uDcC(}#OLRx1A;Jp+YJLoo()m{#Gr zDj=3;8=h7>s6w+=<`2G0g}YrfN@w64@!6Dqv=bSZrbMvuX|Xm+VcpMBQ2*DL1oqFL zkD#$nxkLWgeshmn<*to67!~PW5JR`WswIqweKQQI4}kY>cz=O!=Iy>-(lfB!nBgX& zJ6s%bUCOO(*duB=W!<~$ZYIwqDj%*jYJ&8pFdaQ!^wd4Zxu`)S51hX*Jm*vX2nO{| zzVVb?;1hU>VB!(S@{(eGfl@Ovglfw+s<3^Hv-YTQ=t}V4u!s_BPusQFZ=Kh_6q`l` zz45sB+3UuA@mEWSW5}UoEV>6?gvFDD$8(Bcx!>A-FK#F7S;QFlwAbV=GqR|NNIiIg zNe{vdmRp^cNzpw+CN6=oQSi|t)UR1Z@9GOP(x=%(2D38Y@EOo#b5FtU5*gcGs#bn! z;uGt_8Z41#QZqIep^yK-5rY~i6Z*FeX{UpU6xwNEm?XeXia(C!>G|zFt`}MKjAgkg z0rBY2IZ5etTj}-pAB5ypnv->Tm61eBerBD6ZK)_}?tULFmQA*-tY%~hE{f>GWy z8hd{3&xol4qLdd;j5pAe&|1~$*5SBZD&1#B_sSe>4_AGJO8jCpTw0!-q(y{%P6-;t zw`j1kJ?80gUpcS|^X0xF;>HmQn4r(Yg`Hna{1(a`bs~K;-P?QlnlDl2zCz4W>F>)P zPXvdxi}#e*`$qwq9(Ck^D1*i`)XWR>_wsn57kj?IUp}+pu+?-y8S8xHWtr=x=lwc8 zkW_mHp=3}8YB#{cOX;w0b`VU_BJn%JITls$S^1~9MM0;X%WVsq%Wa~MV}B+t%!I!^ zoML#IY$uHKH`#)#C1^_Iy+XL2$I8P8Wh{yAB+m~@Z69^`GoSA-Y~(wz(S;77bh@nH zvtN4w#+N!OEkmIC;FL5pL_gzrc0@<9qOZ>K{^zpB7T<7Zi&}*n7CK<2*94V(m&udv zWj>0q!vo62=$2h+`;EFe=VvQ918~+F9_+WTZ;_;4uM7DUg5Nat35$f1Sz?ojN3$W6C<4_2^&7yB|28sdt3 z*`vCX_(!(j8BLzwh{C@f39W5%e8AUbLD{c?`ZHHb*KdJA$#nR3)Pp2#m78#_>F!{9 z>=Cf^$Oz*zrPJjHeUhvL1Q@%oMGprkp$_e7zuLnE8#>MjKZ!p6?+LBV+bw`gsc{n{ zIM5#1cP_sk18as?GtDNC#H1ABHmZfyhO;QX zL8b`OQ5dgcVp#==^(=o008)!qcu*ht@B9eZnhmez!qIV}d= zXzTfiXc;q$s#2Mn0DaC1@c(GK>Zqu`?>ocLjdX)Whjd7Zf=G7@NDp0t)FUL6R0Qb( zK{`abK_ry!&XI2Efnk2n&u@MIU>3{_YrS{RJ^P%!_r3Q){0`$XMgrK7*l`O+LzAUH z@cIjN&J;3qi~awcNJb^uexIeNsjauR@uRy6WO3Qwukr!s-wTx-!sc@l%SC_8o58=Y zotLNLqF95vldle0Z^=p9F8>>c2RY2G|EM$5R-cQ(BIYp4wtP3{Tv$31s61*wi6@ z-d>Dit_mR``=%D|117oFDpA%;sKCWYqQwCD``9%;uXC(blskp5gB&hHfYRNXq2nm-r53(-5qwe$~l^ z2qq!%LtQU|20d9r{oH_Q>BUX^gX_JC(TH2|Cykpl!#HvtYEhV_3SXM%$3L}qj6rCl zda){iGrss!fBOp2e>s0q@3zYiU*+6Hr>%hr!m5czkgjdH6`(EpPUV>O?(VdGJXNN7 z_K+D*E@+2<`1}kxUD?20X8k_5v~Jj+1vAu+Okcju%3J>F*@YE zA$&5_PDw#5({(zD*y!HXdIh5su#>bmH1l^X1KbeuUO}ezQPw;2^=%7jgm{gmw&9@cvk#>*gY zK!lNJVybZ0qo!TpJNHb~dj7q=U~6(w&V!1pAvDH!R+ir>tW@ka4MOXzgGTKC(wAQ~ zp6Ir0J7OghWIX|R6&leA;jf4rOhl4J&>V5?bVi8Q9;jMv-=p2$_LIW{Lt9i}6sF!S z2nymyPaWd0V<~G2j-k#*=mUN$MY4(M8$f)8%bvHsFh|S zJ3~YNT0^MdT1e8nmZ;8xY9h39b!h(af4oqtVP}rfE{M?Z!4d0Wq6ivzKvKO8G!lQi z1OCAg2lPn99m)~^-R%Ic)P4BVvC|v)IqDX5GW74#-NO`3?eV4%zG5h{Gi0Hr3>0$N znSh~$d^^$FqC{w376QQ?L2c__w&dtJ)9O*D`u%pq@_%sqn&qY2q$LDH>ds$()|OwE zS%DoIi7PDP$@c*x^lyuZGi{?ycXf85>bJyN`R)o1&dy<)4>O@#qv0gAwGKt)-5bnk zufI<1?=b2T1}jey7|K>mFXfDg3^nfMn=8kDrto^2FmR&4Hinl&I4dl{x6Ddb+NQ}Q zmgQClYI(Rv$`-iU7fU=J_)}uF)_{R4|QQ+qI1VmoM5$}jUedw3Hf9lEN~(FXV#1- zP2|=yXW=?^vlQbMF`Lf1{1*RXL3_Rx|HTIZ?C0sXNjl~}lV#&seO z0TGGZyr9LU3!#pr*51R4SIXK33;^bsSOx4v1ZhzSw-Y&bN0cT5&?v8@#x5TLRfl5V zD9AG`Y9`4>yaiM9r|&^CYx&^z3@^m?21O4MGY>xdvqQ~+42#R)UL1sE-_{RfZTT#V zeqM6y(Y-y_D`AO?Q|E`tSHmtdJ73!@>{L#Nhx7%OlUWQ?eA^Da*VP4tc7XTrK2Etv zb6R>jl!TOccNk|oy!tm5=WEug!SF0HK2Cxg<}8lJXQ|#89)e`4loP)wq|a@C1jsi@ zd0}dIJ{Dl|k10hwbJx%wO@k0JxYt$#d-d}s{s<6Tj0x#hSy6wy z_}5+z6MPE|JKILdd)3PZFlOXAnU1!sd9_`z!13rpAHEZBVU{Yxq|Xf#!dkQ)$Oe!S^>#g90|FFA*!b}L`x0ag#c|1TFvlllVUSQka)-JL z_F){LB%(c4>!UZO9|}iI3N^DNxbqGJ4_1s0fH9Ce-FnL3yZx2_>y(Swi1HRhuFy%g z3Jn=CBQkRC0<% zs{<-sYTH1raK|eUIt_{B#!vO|qhU@P^?2wlRyVBt#BV{nM4enAge_z_b2)yKEgFDS z-bS(Qi8xDlsR8s1DO{8o3uGB%*^F^Ja0bJV<$so$f+%yYsftB*X?0(2zQOO;SO-pS z6)qLk+}wPYR#)B79FC=E2wYJVEI(Wxy^7=}I$H4Cqyh}QBjXga;q^s$@G$AD*)IDU}d7ie~U{_a;%x+M1G-RcZ?x*GJo^9umU#{KFdz2#cZmVIH^&7WTsKEoNU9z(*7) zD+*xW2>%Lwi9fpHpNNKidj2!~y?vMg>W z;|>J^If6ck09F_ajmo)fZ_EpeP{n>gwvBxu(C`vIK6;H>?+AK-n(K za?a3GJ>wo5CK%`Ak6-z9EbeWcahv0AJ^GEf^&V{HI58+F9mPz{ooTT^4z9k$YuH3a znla?I`iA68Q|>A#U=!ZoqtvA|&bB>yLjke7yFaW9ump}>+K**l^}*^dxgBp!8{wj_ zU6&b}3G`u@DtzHIz%qC^^f?x{I;NY>Qk3mKeB|P^nR+QbZU3*k^Ucw8@{;O9+pBf_ zt}PAsos*ItnW85krosmK&;eTxnA{!4S>P}A<{s+qq#c`W-r|rIxAsdig$%iiuR!x* z;&3N$J=;Qi9q`HYP;+-Y&kHJ18iG4z9H|)!IcfuB?|IeNUvlN^ob?ft;MiX|akE8G z09cm48}Fp{6h%R`1;4c)KMpr$#TJ=BcJ6Ug_xBJVt zaP6v=5l=$EbT^tPV_S`AXO=_IG7j$;S+^W<7_Epx_c~zlrcqxT^TO&q@ z2xZwG9r9w=JiqLZ3@i(K={_+tL$#pL(c~1Gc3u2_9r`&;XLLjb2_U!zd@-AkxqOfdujmT!TxD}JztgI^(aXFL|18e*^zI{ z=nf8U&myZOd;FEAhQ@3Cwc)iA&1vLOZurn)Wvq$r-@8donz?yjLpCp+_~k;1t6?pP zR>K5ZBOQ-f6<6}m0Kq>*eK!uufw9V#3^}dteT2LndNdts1Ba&<-RscdDcV$#+q4>v z?b~4*5sq2cj$XxYh7WS*PTEH-+fWvARm#|71x5FVR~N_sbClh%AB?GPaG|8*6;H z}>iz|ZAksrh zO(B`%*RLwE2fkudnxG+nw!vewJmg6%f>7uv)Z!H+cCUWj@pe-`pvq2n#GtcGkP z0av}DgXM-vkNIE|CD6**-t|SN^AMr+K-q-I$R4agvw3p+-saJe@pDr5-1j$fc<1L1~3{s9agzGidveyR@EZrt9H$?OwQ!x?P zC$m6@aL4`L{~8R8x8Mxz)v11$p*RrYgYz@A35SZ)NKl@gzNQy-Xw^#D-FtxJ!1+DJ<`dBr{B8lh2ow=vyGFC zb*wjk1&6e!CD88YkCV_bGLnq%siAUil~xvj-bJdS{i-);lc?S#!Uc+3!WF8&S1pv- zTR&3ui90S3e)OP<(9nJ;ckJoxTJz*Vki|(v`@*y5fpsKa-OJ0q_eUL$^N(S_l=_El zZZ~6Y6OwO-Ki$?Ie(hO(T7bEKR63kZJcqkW5sZFc8s-<;kRz8tF#;6HHIO70;&4*| zUeJG_pI1=OgWkTtV@16_T9%!b86x&I;yz4h!^?kSw!`5OqB5YZ9$ zaR%caK=I#(fID_gSVi^|@otGpiLs%P^7*T~51vfih@#!yEg>;dQiXFSaz1VfzZV_J znXpCv83ty264}SY^{@LBRYES4fWD7Y8c97Cq)h!M76c&d^izk#`~GW!A8DzZt6zh< zP9&Ja5HkF`MjP!nHMXJK7NJif2}xpMS~K2PlfGLD@{ogXQIO;7>?QQ&yufYvwHtzG zMo1GgZx8kByqD#QuW?;nxci7rYY+uCya(>A0a$EE{7acwoFcMYfYM=Vvw7$4%He1L zm!qM^5b^WI9JzE1*sd(FE5C<@RAc9dJm1N7BwzYZ4?Y6*;Lpt1KPjvJDRmd7;M68O z83lN*c9rC-kJX0maBec=vg$Wijk8pX>nM?VcYd94?V(v2`POlJ-+pc zD`~sFrmpD*NJl{}y+x#bJS~6Q(YM7 zS@s~+X z8X_hE#gxKk=O}|PTMmKV(OcQx6@6r3Oo#I6bze~M<`q^O3D-2uRM#HN_HxJ@QQ~Vr zl%ne!(L`B;E}J&KYbPASjfQDcf$3oSIMJt`9fudVvN5rX}z6_SVc|rQBct6+_COgiImQdb79f_KfTqJA*b@=Se zw{9-S38!9rZjKOZ`KE_;Wt5QLaZeZ9%9|ZnjwWsMq1v#99bk?T3uCBrDR=pS|MAIX z`1o3uzzyW++{v|bzOwOa&faKvrPb(|aK9_#>S?vWJG8mS-fUHO8XFHNb^Kf{dI)l> zKR5qmb6aFK5AWMsQ`(Ne)Bg{|qv)>V2!Wt`5(81`?X9>CGbF(t)A-kqF{BrbGwceL zhh&=FK!)4C9BF;Q*m1RxGh-&+C2`1Y+dT&d2k-UE=2nU4wO8Ivor}^(9T#GTrOj1> zPPFo7Ebd&zQ?Ij8h+fekfmUk)T5q59r#kl4e@z?UP8b(c7sNdAJ8QqN6 zwBEU-J-s1f+C}3L!l3iCmE7vUvpJRvUQ!xB2*iF1xx)aoyk&)eEp)`byXK8hAln`C z$Vf6sbUf*lcV}l?@J&l0Mx)J;Zv%6blFb15xxN5}L$wexeAxa)WJs8E2b(Y~HskbK{!c%1}YOMA5ZU?zfyYN>oc9zOu^0Avx$x?aLU zX$r+03EoZY5|qaDa++Ra69kJt`Io&tM%-Ao+$}M(-rm`I-_l0(a~a<~kQHyx{qbJO zamVNuGz1oncz3p*$|8ucv_d$a_;`!Nq@>h+^vY?kBDD>nO5fYor;_)6xmPeGslxyz z%rm6_@EfP_!ivXw<()w~3()o0Oy=P@s|iKjFWldkZwB$Wg#Eh{)NJm`)%=X zB^`R_1LCozB8~{p%+BHO5O3tTwStSBq*A_DyuQ?;;AG@c2St2dw(Zc>{lOz|p`j{u ztFi0RS~;5ugCow@ItWsF1!v$%8p%gwLor0nt6ASQH3Oj`z5@2b6$#E>6S9aCO)zv2IA0Pg zJxkBp1J&@rXFzZr9{bi=gn!&!^@so5mtH?;<-0oqCv+;#WdhlvT&3`W_wlFQ8&QA0o-J zr>GYt7iCP#B+ehEz7A3tYKLkjL{pQVVD|5yr@$Hkf^ugw+^0nB)9_~aMW4itTW-Eu zCIe^Jq1oHm7Z1!6-*J-;3Ey){W9hnD!QC4kJC70jQreOy9yVBs^Ch4;Pf@7o>qaJ^ z(fgJ-!v&Y^i9-pSkCM2KjDT5xVug3vduIGEejs|I5I#)A)zl$kW2Je--Yv(MHGdI+NE8=hp7F-NFo4=C?se=CgsY zF|!4utyH7X@UXBk+GLXRm_yUJBnj}aB3kJRn;nCO4JHsGH?`cg`t4dxrRO-7ZVIl; z&ZpP(S!*jERXB}7r)$rrEA88}8))X|fca6dhgyMU3OF&p*CnkDdJH9tK38DoIamhC zwo!`>*FO?Yh1)K60*$L?KJ7$oX%Vrp33XVw^;u*8`eYoLAu3KGKzBL#LKI(vjok$M ztP1-%NjzoILpGrhP$}H2pI^;}4M&Z?x@x zOPaOV6f^2hbwVD5jpf^GjM90j?-JOB!(h6*oE!t30%33XE#cfu32|{vL7}we4%g)m z;(Uq{46gGIQIaLT0nzbt*On1spm~Pl$2`+MjIQYYsgpQ4K0|2E3cRToaGdwKZQZ?l zJLEUU-J5h+6LF@z6jpUG<59WeD?ay*1cNWy_ zVl^%a;;uX0>!CXh^m4SH4hH=9VjtT+^`fMtyR`9rFNG(&^3Qc~3+Ws5&1#8d zmb5Q-#6|HmxC#8gvClz!enF}={OlA<%ms%ZPcjADmGr)rtdpY)U&H9TeZ9fYjMXnT z8XvV^Z8ucKnml)Y|7&KZXx^yt60}+uUa1!{hCTZs1r&E~9XjU;vG6O&>b^@u7R-gg zJtlTO%^p=ZaZNZEGIEHj2Kb7u@X-Lj*3q(AsI1C#+v0CBU>3Xew6M&&k1AJQZtSfx76ytf0jhnvHun=ZZ z$?q{_^O?02cR%t+m*xCW_-eH+nU!?dy2~Jh`PDz|lG?JLz8fw?Mfy9`gp`3J)Xu42 zLf-_hDCmuFHC(WXg7TA*1bdTJF-BS3aq-kSgERCb@_wm#m7E9E${Ci{mcCFf9qvcg=!YO1XGByytv4D( zL`0-q4C%u~(WPe*Xf4d$&5+ovf|FO4Kwk7LYg59f)g6-wlEnR5Mo~E)^S|N(YR}Z7 z(#zB9e9TL8`ejXHV%PNI;`XPlRV01)SaB$vP<89i6Uv-G8LqSC8!J_&D1UU$kH#T^ z>AQ<6@1wj%Cl+G=6_Z505na&D@iZx}6>~>#wMl?ZCU>%DZ0wV}^IeC$U6Oz{I|7Sh zK5Z}_dvkJksi(?d)#!rBJcieP@!1Qnms{rt5K z$gd}lbQ}D1`~URHdXPda&zgQ@q7L@ydv7)s@s0d7HvbsjZa32nzYL4l-){h;<$-#E z*goz{z$`t&ct(U!(R1QWY5*ntexj1wN?#AP?oJ+>k=uOoXj4eH_5SdenS_&_oa}*a zowl5p^*ss?3R6U)dE!l6JC9Xq-74;*^>Euy-%`1s6b#66@}t#*`o%&taIohMMF&my zHAA(}861?`i}}^iLyt!Mkq%(*z^r*YEp{ggwG!%Z5|2%N_(OZH>Hr{FGdP;!ayu|M zk!W|CXeQKc>MUaHcKxx}o?>s>*Ye}|xZva&b5jY9mdz8Dwn_dbX zOw+|a_QlEX(vbG%^<}yd{9$9?7BQ1T#l8zkpSS5a!7V|B zL|8TH=yGw_V)he`g~0Lc1Fws7wIkk(@)Jml&K+g0)Uku(({rG_$Y~)A&lPCd7{#E4 zPftv=JK16ZaE%xb4s%nbom0wEW8{MDCWuw>ox=~;%2saQoA;9_%8(S z%B@Bmm?z1!w$4%XLC$W)E_6DfBhBPBE~06wPe+|&iPZ?8Do;|cg1pCiqKFmE0Hv%eGh~Y zx{4X8_lD2W*1l*fJQ?zQ!DG;G(6p9XYT41YbDXxLQH3nzhZV$sk4?Yl)1v1`Bs!-z zf+z3?l}Z-|k2JWauaJz{Z}=9pG)6J#l8KwoD5d-7bWy_hvyZeRX`5?gx(U9#+L8a6 zW1FS> z!-~+9ku|)yYVaeUDz`4AJ#}x9tWO(Q`4q#iR_@~L{9{!SkJ&A{8eToL{T+aaWzMhF zpeA=s5-}UniKtfPyKZ^b{egx>aYTE6}$ORb{6=J@`MV*^&Fq z>Ls=h)xlos#?Qz4sCkDP3Ad*&N**>r^mPj+%85UnT8azKlgeB^2gK!6^KxG&l8M>- z5N-E-u~up4yzXhz>(F%yxz)I-!F5dM-h2Rxc=0zivWB);49prU0dPlll9JbDBE<@R z9uz0sGk$!JEy&GXtfe`%xcDN%v{NhW)qCFe6263B^*AB6-{8N_L|;xeqx3no4P)TB zG&;rp_Of*Yk^8KS03*p-&Ws^-$BgeTA@<4w#H28+f))3^aKKaZ*Hj0^+i>TE_`(W{ zc7b(RuHJ>j{^urDNjxdn%t}xu8G`5AEBGl0vl>~K}vai-S&O;76q7*#lo!)P&3VbQ$19lO{b(w0M^D z1&sIRb7S;?MLdIkt%9%n({U!Wl!#I1f{b?8ut2$w4nf3Wgv#7mA4hlW?5%NUNO3R0 zMV*a8@WIuF`Ica(?ApR|V@$s5ND9GDq+_jw?NDrby_aPS& zvQH_t3>0yVIC-HyPsnfZ+`74#i3(QttDyQgEj~lY$LZNxpgXeuM8(8l<4M!^DM=q5 zE}3nXTpubz^X%-ko;1Q3W*8CNN?WO70|n9!f<|sOuDD_qi%pZ`o%DDjjoRPuY7OeZ z+j$K*lqC(CXq%;sp3noj3WkW?%vsSFTBYv}Xq#9)_K;Yjp@M#gF6}qwEln4qEiJo( z!GXV%8mE`$Qvj;^j>>uSeHZqoPx{?`V?ESKzhehtOD$fQ{I=&sLW3VL_Pm-WWS z6$}a#stIWY&54-Y7bOT#8R@0J?oY~4eEyDOq+3cxe%DAL5PA?PTIi zK4%_$FsK@p-37vY9!2nTYD)XF;P)DvKMtW)QfXcQM1~YPl@8iLY&`-Nhc8yeWk2=| zMyF!>Xs7eG0cRM*IY=^`WV24q82>JNCoUmY2iQk#hqZgH425CocJ!gMmtK~cRAGSy zRYF)iw28;H(;|39v0}jjK=VLA&+#1De-T71Alpb;xUS>ZDx08;xfmwg30gVtjajS2 z3FLoBFkJX-J^Y;(AeI%YywcLkEkQUN81@huNWDREbB2&ye?4HXvWN3ubCc$+dKZ@y)^~z4R z%GconiAU43LWV@#7k5q*Iom32`?gNO(^TtHQp9?nZv8z5T-lcSZ;L18)hDQqBrx!U z4PdN_W#X0jvxOEq?V;ndl($C>aM|%-kA+`1SJ_R&mn@Ej?T63hb*HFG+bn~Y*QV7? zgmrs*(M{_upuF~(zx33yT)?L6F`bi*pM+puq0R?+c~R>lpW!*)*`esko6#&G#=6T!HRHE?M56DpqFvfK*P zEX?e&4^`S`dK{S4#iTcU<&z86UTzGYIIV2(7N|CO*uA^Ry&7D0{Pd@buBHpzK9{Hi zFS#_abUU>PQ%xon4=&Cf`j|Ytxp-?GK1d)kU5X31<%+X5veMmeSc_OzaJ#*~CmR&t zd_^bT$?UNn(q}mA5KMA8{ul#B+zc$IubqSOL&z>oTVH($(Ae$FZk55Ah0*}-n5^*T7pd+* zb?^DPS4GS{^-~JX67F#0P9J8CH(lcE(V`^i%>-ReGIWmEtM^h^P5dB1nO z-FKCx!w;o3FbQmmE29%K637~Zo1VB)k|@OW0MFJ^wg&)lKQ2h&FaA=5BOf{-hmN1T z{2RndM0Y*znYY2kld|T*A<%OKpd2)>Mp&O+cwjDP2P+oFyrg2*G`GJ%T0{yPTXx!4 zdxmg|7^C^QohoW5>CqcseHYn`6JAX6Ru&XCs0`RCV*xbkejp*FXB3e0JgiW;Ak%MNe0lIdQn%2{nqUt|b~dZE6Q&nEjMe&9-C zWFFKQ^x@9Ii*KE>?w?ukJR9Z?ul07aCKvgp67fvb>*I0h)yw0pnH{E{Mr{YQR_;d; z7f~%ImWSm+TPgc1m+lq7ULeoR46%8_i=^~6r`{3NTm5KQV60Lmk&?jWD|3&aV`8bp zvN&)Vp#ntsf@i7{Sz^G8vuGIjTEVI*2UofD!N&lx`C=^iLS~fXSH}zE>ATbv)aMPG zbG7!vcaA-tU0E{EpkbVkIo_`K_MQwybxj)BUWMiR0Dn+h;-0{Crxa8L*9 zjaL_6{}I^!ep_9j*~HrFZinFyvk)r6e|g$JywlNUcwKc0G%nSvut| zc)8`Ri;juh-MiN)HFG+6*rW$r(XN8H8nfvVK?kY<*eDKx|8Fq?T~{^3-_Edy_v#1C zJ#+$U)59l^Y6cnT7{tj=W4^mA;7{Ip7MFh7PYF>W@+eS2v!;JWUlG9L#yny*;)t$) zA&pgd7O*9ODWM;tR!Hlbti4idLSumldJ}=NGz$-qQ4Q)XzN9jlRUQjX-=%J+Mm-03 zVx>ny%vs4+6QK6ev*Lt(O@RB-r`HY-s=}h13MQ~hdhIETwyXc`l9;+T?E@BYCFSaz z$sv;X5ZCP=gcdAJQBH_t)-O==j&~Ppi>4g&9woWK)Tl0B2GNtV?hn5WWp1 z*#x%=gS+Oiqe-FfvzaADAjF5gwr*zcHpT6m3f@y0K~qb7yKI3lM*eHcz1jKjrXIeT z^QW3QR~Vb&>3_k$V4-h$a#DAXPA*T_@AXk~TSa)~DfLPv&J8wJF7PWg1M;9sqWaNb zC7hvvAmeHe{vDU_tMAzZs1+nx{FtU7-#zb-@6rO!TUnI{Cbm29FoU>G*MkLYuKX=4 zQMj0HTsT_GG1;e7QeF34&#BNL$8s=5#K)t>Sng2CviVn_mvuImF{`jO>jXR})ahqs zF@lM#N!HU^(zo=B3&0^RR?F~j`-$XMWO*0^t+2Q?HLry04PtmRYuKXpS)Kl_L1#RM zD;13YWwdH-WVGZ4QO}1Utx~LBis-4gS%#B36L=L^ERGs!EWPHU&gXH5C0f7yXK5?4 zB-s1YC#k*LChnIP7}j<`b2ZI35oen{H^%IHg+7|y<#(@t!K%lYOka9h zcD#vVlO={O(C-CvnwKkY)6?fcS1g9ITa3%Pw#w@JOuBX9DR@q~_gI9U4~h4_4T~YM zTbKCmBE>(&mxG0nIWSo)k!t65*KXKgSZ{`}u3ayb8gcZd?5ddac7J;G7v@A=<@H2s z8MEWV=l7=*fHkb9*eax5%N7TGkVBA9R|}s%PK4!szo%4%W-=gHL_(!v1mN>a$+-#sau5 zFmV7E*;u~UtEZZOMq<|grrqy%+ADeqJ95pVn+#7l)_ZEW_v23#yG&Q9VMq98)Y1AdyG4VX2e7qt{GglSF!fs5ea#sp zJ)K8!Vm>8dq7-Xcln8wDC0{sP642U>8~hS&O|w@zR$*cta>N4TekOHJh5PBl>;>C{cwoUmJotJR9ZBw6JZ!0Hv{4h~`g5>w2_6HD242D9)tDg@ zivd)SZ!VkcpydCxUl4f0hJ6&q%0~Dn0OUuRX&Dg64VcZxNir6_bsYX?ZNXFLXrxQPi;xZWD3mFD9>B$}@Wb0R_ySl%={QRkI8Lpwxr{cAXr$m!imi-~X}>Ovy>DsXA>w16S%TwOiw zweBCKFEsQ44|u}+8mvCN*-G`W=2%3@q8#8PO?q*P;zH?6zy1J@SOua_Ha~S5)>$;A zG}MU%%WrGtA)ykO>M<_*YQm6wm0I3JS3Ncy=eqX-U6R^75rjR?Q3n)e!p^kQ;D!yt zi6&%fx`_e!(DPl*G>L5-PBmr&qNFi>ro4-R$E-hJZZ$g#Y^pEbcNXYVi+!k0#LZB=TF77;$w}GzM{a(QrO&b{~id9tCguh(tq4_LZ zKom=?anC$iyHr|%jC$2hJ&f&TkYV`SiMOg)$7g=JHdJqEUrg-?|FzpW>Y(92dJ=b^ z_~&=P&Sp3K&)v0xt-+G)E5Y$K?;vJWflUdHo8 z5Cq##NYUTFrdLY1&guN|_*Aez%u{J5r|r!jXPl^41PO%m-Cd**8OcikH9c8Fc7`n36%9ryS$e9K?e&nanxgbcn_Fr zysMQsB34B_>_5`>Xg|%nFlf@_%TbB(qdAs}2Rt1f36sJk6HR@GO)OW`L{YuKTt zZVO{RbBf}3F@wG<>*i6%jN%2ym>{=-M_1Iv_xy?uJpz6Acp#5Ymg`Qmj`}|@eGxb5wZN;wGNbngOL-dPGgVjYfji>> z9X{?qeG4=r8i^suYk>|6CtA*TPw--31xW=ujY7d}btyI!X zy<}iJPAr(Uyz-$^um#w!=Zjylsk&j^x3)ZZlX;btlY+<7QmkTBtFxHuU42r;xHMs( zV7vaRF1^+DTUmyP%HtZPVqnq4M#49iyzb1sZSrkVMuIx)#Nd0|OJ%6~G+A2lc~ZtF z+b46fe1(k%`Cil`#wi)#ay&9CLg!Y&9W8eoQ>24JKg4Q<)=@+KFO#Oa>VyyJWrrGd zLy)^0-Mfll=b@xw3>n|&IsUQG?7@yRhjL@WDWAgA+(Xliy!`@E5%AX2xu%QaB=5Q} zf5T##x15KMYa%y3xteEJb;zig>oQ4?abJJg4b34;uH}U@y+61x0O;A0ri6KFWTfg) z_I%OsWCBpR;xWPT2`>98ihIzq=j7{+-kYWM*!phq3VeEzy#`)La}?_nxZ}iu;%D@o z_L;}A7S1d^CmF)#^RHQc2#AqcgN2*z;>ZUgxELYt;Q{f*qOdNsusCiX4Irn15D)?H7aZQ9K!D_b5X@XGQeA z7AI&Ar6=jne7}8`9g~BsAdWS8EsOAqLVsgI5{b-Z0ygo$0^J0{M6I8r+R*M*t^HS` z+6}FlGR^7c4rWot?~ixa3Y4urSPM#}^Wj(AC9k(Dg}6Udr@o87qco=e;nXQYYN*{c z+UBlFWi7+(45etCscQUCmC|(eOE>xxE`9F&ZGUV*YQc2Rpub@?w4`N?shCObJ9e@8 z3#c#Ms*5x`K)}@T%AwhzY=daclV|pxf0*O6==4S;C{fju0~J`QW8$@@P86?X;Ej4b zRB}n9pav_M`;tCk@()y^>DZcSV_?@9*9t=zj?zoCQzO3Mt>xc&SwX{Md-VG885TcveRSY0NDnfNS|t!TBY8OEQ^`5=hJmr zQU3~Yi;u2w-Tq^$r?-_B&Dj6KJjp}T2=g-#;l(2-z@=MCK>H#>lTv>6HnP7u?H+

}80v(vTBwD;-;ClZv?f4DsruKL21V;TE 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%0A9fR=Nx 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

pct?6i&e{ylIYIAdb-Vm}fvN~fMAPxPEM99uE zPqQq43%xeY>lhnKVxX2fh5Bs55;@edM3a1`x6aayxWKL?@T}5k!KA!N627tIMRWSr zVc43O^wHP`kcYg1G6lQ_+F`WAf6N9UNo^MS;f3J_Nj7L2wSwGM>E-6LV3F=X90SVk z4TfDq!`fgDZ^p6;nv<&3kxX2h$3|&v95FRrXH>h)!_q4JU43qE$Sg&T>liEGVxC6z zLx=FNhc3=3LWq^l`$%Nd-+#j&j*KV8-4ajS5S&(3v3k9O47hb`o2d^4}!0cqvQ=XKpXMtc>_9pO%O3}nDiG~ ziUo>E+q>gY&3}o39&`y~V+QCjkg5S#!o<&bL8nt_U9-1iU`#X>=7#H8{uG-;+;1E~ zIH6-wN74k$TBESc)~GvMD(PLsq)l@|N#TNqsOOKAO7JhTR_X$Z(*AAmSxY!XEt^Su z^}P1^PS#9z*ix90$XM;X`8Y-VhbG%;@dSpSGqw>lXnUUAoX&eQYGV$k+vgN#6;y-J zG_O7CqJe!L&TVpgmvVl4G8FUUM-TKeO`|*uz^*S35orq5aF-8p7pwGYji*|~O06|) zXlFrnd$@w17{&bztm41f?nQxS-S)uh#*8$^%(njw8rG~JjJoZ79|-=5o)Gt2fMKi~ zG4cA8XbJ1?di>v7p+EfTj@JuW{9n*E;8*;jJ7?Z#;|dDuVe-)V%f+P5Wg-|;JRYZ; zPm3LO8kJ>cp5hD7wMPos?fnIvKYuv~57PoduI`8PMjX!m&pRA95Bo;P{|m8e3y)J{Em8OexwP?TG%*LR?Yg2)KCT{Eo^-kVVqy^fP_gdW$*qDU8EgalD9PeZ=84p!h+^_be902; zDY!nLTEiXc7mIv*@;~yyjLqVe3s(&8ijBDqbUN7^Y+vA6_3g0T6KUn}xGLoGN}6tS zU0&-XuO7T#daq+}583G&qrPKij#nYZ;f*Jn#wG!s#F{$9M;KD;-O~>p_)*1V)C7SB z-ND1#V+nUFs&}V%d_kh#x;4M^aNy$7;TEIeHVW~x`V3LY@x1OCZfjSw5-u(^8c+^YS=GUHDP2n_!7Mwmysc!kUiqh)?JrQO}%5A)LDwUWD} zy)~%v2>pvhCI=(N`QHWN_wS36ZF_zN;tLP)+RQzRj*d=%T1aeMiiR!UP>>)H`=3lH zI1R;~!2htQCXZ}8V-wU9u~U*fH?bO;m|tk0zkv-;XA9Fd`eSX;qrjQ!W9Lp|a;Rpj zwydF(qx`R?8y|H~Y{jcqGB*G2KNP7T7p4GxSQ~u3o(-~~h}|XEds1Xi^Ov}MFS=>a zF=Ixcz4dg>XsFS(biHudaH=euZ%6gwFXQm-`#lQ%W!X;uag>Pg*tDb$8SF1=y+!xR zj2??M)OJTfF3i}DF19hK7aP!zH|z4jVcTflx~roj$a!ai3q*LC3?woE>qBX_`Jk}U zht4nTDCrtQ?_edO{NrN&@Y%pHZd$zQjFK_@6w9~}*q?Z8*Crh&HVefpni!ElTiFs6# zO%LA^#k`<2tm?XQJ#}2weB(b~F#`@F>o`SA`5RkGLXT66<8k0Vqz8^u{-UlI>)j7e%e38oNp$b#cKX*LHlqip0?{x+%4XJ@3Q$G&cI&|5Zh;fDu1=NW%Zg zK7PdImm0OavMr+G=9XyhY@buMjh6DIzaLLZkMC=TFo=a0^jlg|lFM;j9vHp7I&ts$_7_*lQMS-tgv&#nuHhi{s5j&!@|V8%lP8sY{Oy@AAMWZ}_btC|6-e+E?veeI zSuW@KvOtl_fk>ZXomnWkxMQGFnCyEl<*cY!lKSkGhHC1FPgX8O)IED2rDhCEU+lQq zu9!dX_z*x3-uPTn*)&sue73jq4Oipaw+E@OZEVBxm>Q-ho%6L=pR7P2KAl^Dq>= zW|!CSsWQvrB5y6Q+J<&acXUV31(HzV;^Jc9;3!sfN`IXA1W@e;zn9}G(h3YO_a>&L z3EhcW(@BTIrI`sy;Jh=Ke+JnfJ zL@%FVE5Z5mv!jQthCC)2vzarZ&L+^HcT}NR3Xd50p_U7#<4DyAsHnN=hN65@Pq{a> z@W4!l0LV9aZ4GflTH3E2F~v%=lGTm7wk02E$!(ypW7upqn}t<4>^er9??U# zt*ojy9bjnAOt=j(E)<65?TUy2&fn^g)YWc2=&)_`8isQ#=^Lh6@&*)`g#;WDnV@vB z76myu=jb8$8WMY~J!rbYg5*AD9335lLqbSs_-xP~QjoolR+BOd!i0E_+DX;9^mpQH zonLfAx1cWbjmye^#@+MtdI9tRCK9|4jqbe%{ zOw~=a5?sYOgE2o~?JsO$uKND3>`h*`1V<|YB7YEqRE9v#Vv~F(I9eAs zqtWs`Y=2>2+gc2o=b+6)!Ea|6!Enek5)%A^Xe7%37$imvN27A8@e#LVM7C zFt_06=t(M~Uvvs&xUw2Tq7W!0qz|ETK}UCYQc>f%Hk6E>@wmSE@bb*wemw91h>VMa zgt^e55S4)T5~>({EY;*p8qn5BOBL>1`1eWt#%SlZPZoR;8>{hmI%mFbe$6Y?j06UQ zb#!z9y|v^tG;GvFFzs2$*GPUGY=4Ri-;QD4vdb+@$HzI>|9W!Ri~dfj zpJQU)*zY+v!d`oAK08XffTf3^BxQ=yr3k$v#n`s>^))hmd-5K@4L}RU_bh9rIsbh3 zt5WIG7UZH=+LJwhvzjd0Qi5fWDK+t}sf?s-yI*i=ztw7+J~QdWpjK4w4iDZOh>4(! zG*FjvP$Wap(IuV~=Ltzp2ai^T8^l{130{kq9YL)Xe6(FS(W3Vn=xkV4q>1qvW5VK`NJ2aS*nkW-1ApCUPN z`M0+Aw;2Rm7PdI_>K-Vwt8Rmhk}dqlcc;=@q1CyIwd8*pR5zMUmF8y>Wn!KNLrt>8 zbaaEu?Op0$hrEtW_FivJuewy(T*gh=PW%8c2=_7-W{-3N>=~DTMTEYfQfnBl=UW85 zFK8hM=eK@i;`X)$w4n1i<_z@o6gHL&0anH2^py_mz#sr#_8u49RX~ZQ23~So;GjBp zS@DumQs&)_lf&+v7Aq@GQazfyySw`aE#4~`U{^`;^B=Kn96kK20w}$m9mvJpen%f0 z*+kuTapAggn33gjGQqn40VD*|!>-l75Ix+@9T=oMIGt+L$qY~AbUTRb zyF7?zsoS`FV~=Q#%}wg63k){;7`qqsJ+f0{Hq>gJb)}YB=*q&A*udJLbM|0?mB8!# zfiRtyMg-{_y@11uL*T(iv5(?FZ|-h~`HMMQXM|KTJcp46B;TjA0b;?mjphBF!f`+| zrMbvuh;O^N`)bDo356E%WNPNMcUd~4l92a@ClYWvmL2=4W73J}Yq2Z6gKn$Ksd1Sk~3 zfQ0b0ynGEP*SH>-IjpMnnmt4;i%TC}xH5}2CtDUnhjOlaCo&cbuT--KLYw>^U;b<5 zjl0cI`lPXL&_%tim%FM!#rK0%1wx~iktgA;B9G_%P$$Ql?CXnK=If6=?C47cdy;se zhvEFy&fU_muqHG*RTBmq1Thf`6^h5Fu>9K_-Lw0sH9X z2mPF%l)bp2Ty0mLig#>ZP%&m`cdp1fUDC$wz~kQU>3&zv<>2NYmAb#dP`vEmWLY<3 zB~bTDFR$|pYgIKSidASeP4>3?8{W0GwO}|L1PZZ~C7lsa3BXwxWAOWdhWK4Rk@8J` zt~bs0^Xi%!O+m$8yax1%Xx9KSC9Kf8FU%)RtEGFRT5jDRZ;$WZ0v_j^-3=czgtm@p zSGy%*oF1jHfK)F|$zfDXkRn|tQk?EU?cIh*|(Fx^^_-X8^;NEAA;qC zFP(oD2b`&msWfSi+v@Z*d%EV&o6+ymHVY6w`}$S^)$6o#aQ#$m{+CPhjj5@htr+Jb zJ&TEE;D>+*i0PLT!Vq!ak7T?=(-sN#$^KcaMqtC~Mcv|wIM&`8jzKgb$87_D4^M-kqt(5f>GjLPO=|<1y~)81S86(SX*98v zTp0C8F(#dxSl$(KZcevSfJ*s2n$&9$js=P?Z+r1WTZncO{gS4BlfVie5BN_IIwv+G zBm#0@(*hnbm5t}_8I~aAtr)r@f-xR#i3!j!q-M#z1FF}Who%JSP?vISakeVVsTqr! zq;68C`(l2g_LdTjGk*Jty7eLiCsy8D*UkI-@tAfq1apOWNPMxWuwB##obW#k28WQ! zR`d-_Qzb<;?TK(6yAcV4jP0;hdc=oW8}Bekz6+0%6KGL<)So6wKUhwiIP0#*S0QkW zxyyQHEq%pWDSZQ%DI~m)w@7gf(>AJ8nzQfFJFg~5_xb)ADxV;$h@ooTYz~aBsSy`> z^+u)1w%L;nPR9apHECc~O2E4=^&g|yNn9=#DOEPnu)YR@z$UVtySvJi<_rqz9pnrI zk}K0>J!~$te)aH2e7xz-DSkEXuqcl*L`Uq*MkgQ!;0atGF`!^*ccxO#@;Mt@R!z;6 z9W&<|N0y{&1m|<6Y^$qPSGooy`bZ2f$>K@cTpUtF^jc}dXOuUZ@HYLf>wY4ONM^{D2i18!gsqfUy8MRh5aAR&~}(wRSt+m{){-t|NR zguE0pPykw%q#V(%@%I|B`R`5J^_b}KN#Cn(gB`xQh+#ZU6I!biWcmXb0S)PIex!_e z>`Fy(6@@u;$_f#^u2=EOVD^rJ$4_9a9@x%G1zC}}YY8Jsj#47pUjp8Sg>S}Wp=tV7 zsXaD~IdGlw2n-Cg#1AI|d;?vGC-HU_Z$$O@owb;n4+Mg)AqohF>`82FME1|vITYM4 zJ|^|Zd^-pvTR;IY^>D4NmiPDd1?Lvkiv`27wS13p?X$2e-HJ;I=6JsXF8*+emFr3n zt#pgtwe$r$jVtq7Yw>=O>8r;}E1qO({@pCa4axVpYwi9rI*hu<8k^Wbx^`x8ADoN7Lh`@47oRK1`DZQK9nWn#x82%nafbO>4cmcO`oRpF|iNtK{3Gp`g2eo4|0Ep8|24i%FdMi^LY*<{ z5zJaUx74`8y#Aqxeag+pi{ywhduRF>LQW{ije8BGpb~@VInADPi7^E7%(VMhXdraZ z;SELqwPiR&G2B1ZZw}-y@A#P4-Dwc40zodJ54Xmc;@_-bbAs#&|46eS!cxIwiJgUY zo0mOu>HkI~n{e-i03mFKhz0ns5u_F^3gv$Off646#b<6oSW|z8<0X_f(K0rcetNU0!UqdF4tWl^*cdz|B!a-5+IQ|QgSt^k zpnXCs;hlnIU-(VH0^j0XNMke)g*X}j=l=u*(@Yo=P>H!akn4FYyopbBHH-Rk9P*o& z84H7uPB-_bdv`dkwFNB)Q%JPN_WR8JQO5@M?v`t5;>m_1qN%yY)%9A<2uZmo8=sH= z^%##Prqv*kA|o?GCj=u$U#Ma$jhmkgfYKT;&ZpN@D*92KrDOk(rtc1itNX$|qeKls z5YbDBMEOGW#E=9LJqRL7^xk_rBZy9j5WUx6qW4Y&LG)gu_iiv_?(w_#{xN3eF*DCO zYp=cb+V5WLeT}3jV8EUot4qX5^+0arH!kz4NquC2zZ>laM!tbz*=F1M1b|NGO-xOv zeDl{_)AAT4+$w+XL5QAE1H>H|+uja?O2;kEZ%W6vZAFsmj1`xYM3_4Joy!WdPFP{8 z@n8D_^?#c5z4Sp1-bOnXfMJcx>YZFnB8&?4p;2nq4AXM*GdI`E_TWL#T!Xu_x9J05 zulr1G+WB5-YkNMk-5lAQq#!;VL&Xz8oWHVH05l45S|&?-G%p}4TMhx#?loU%rgo@> zR9%>d69Q(atS_IKMTCTh3wAz9>)XWTF=$SiCez1A`d+#a6NALB6tW=(##19`F>O5R zeGKt(806&TIjyI<>mR*fdA_PdF@7pGSJSa(YH+x71+TK8vsY@7Noa1o%eA;Sh}y9W zOkOvlY7Nv6ac`+75*h5uBTpltcIKed`u}JA((}6>S935jS2Uy=MgjD>`PuWG zBz+4FsW)ji`_#=nrO#hj^tV4dxC0&Q@os?~(AagAoA!CEe$xU%!or~ZJWR}aEd;84 zKaCaNtS(Msm7T3`jY~Vq`z_z!PPmSAdWmI{<*hILt{+Baw0CdyQX-SqsLM~AqUy7; zyvW#HW1ZBNAvP&r#Ng?KLA3jY@Q|~%Xd%sanmHApMz_HSuFv$}Jd-dlokZ*6#DHy* zJI~({GkU9UEHqR#Jh0@9lvJ~QeAUm2YxCmLf)y;FyTILrkEb>#Nu-+5+4ppvzV0{*P)gdW5lu5#53aiE*6o*1ME$~B_5e*BH# z;txB1_J|h_PbZf|ArzGG3I@PVu!KZ$%e^T`YG5E5|KUeaXvO|&D*p2{?9(l!kqU$5 z)EPtTTg8(|MwROBkj!p>FVSYvLL_iNa?mx~6&|g%Lba(e&~1JGw2+*37~N*neB#-f;>-a5q*G9O@o0Dn0X zh|pkuUg&Bulq(Img8?s3jR(`7m$2P3dw$-yF;+uuUzzJlX#ctf6n?Lm`mS%Jb+iq&tXa*Uj&8+Yf+#7KB zk8Hm;czo=6`0@LKV_2`%<=dIE?Tg=YkVvwns}MvUIAL1{-Y(mc=$c9sg$)e6(fzY3 zkxBpTgV=9nLQz6k(m#SllPMj4|8D6wZ{DOE@S_Jt*fev+X0pYqzVcC*T{)6Jh z$Fl<#JB*hrlf^|(p`My;7ow&{1fmz7R)i`Bp{OCQL0B-baI;q{7kKvUS?$GI^6j!z zXzBo!KU*L;(c{E z82|O#?uFYR9b0N|-ClethrNWN+LTVi5NM1q<;(_DnDtXa+Y+F*q2VP-ppGVS^iu76E0!#9b>-!hdLP? zM|bYcHPD^TwuF+NeKbmsvf-v)Vd@)Z0}vfqK+y<6t>4Z)pc!*yJ%4%fvSSB+Hkl16 zsCffWM8#b+qQTXY>VLi9X0q_4{MW?~RzKHzuk;q72xPzcHVQ^5^3e13%yO%lI0%ef z=ja*r&|}$H{#HOk0SP^tzvdYNp_5TaH4jqX+nBF<3>e#Kuu%}Gzl91+DCQt0FT*#) zR`nSf8B$8L7MPLD$I}A(zNeb7n_g1r)F^Wd|3;|?>f`O9HSoy{=sC_7$KG%zr-Roz zSN3@@~D03`Ww=MFR`IJoRM>2;h(#tWjmS1X-Qrp?XG2}wV>&m-~;3a(~8PbVv^6Y*oq zOuNFhUP=%jgM)xW|G#4_i(R9itPKi^m|a`0^ssx-cvPK14*#M%3Eh&8tl`9oXdPb) zSU!=E4RpF3Je*aGZ`Mk>2*#Jbf zY%J_;eceqceTSYY*Eh{cRK8|aA7&Bc9nS-8RX}L3((AqzaR&SPp82o)s1kz$?>Jt7 zxV@)S{2ZEh18E5k^OeDg8Yo)G`bq-Cx3p4Q($mw|Rv_NOr%!;e8!C0S$B%!Ur2?{g zca(s~?~3oJ{zJi_Vvb+_xCGE{F-SVkTKfr##<6z`4O53w7JNe|N5?16%IKkW^(*)Y zC&JlGJ%p!dz=g9DfB;>u4SaX(1O!4Ls2FaW&!TBcF7kpDc&0oM>( zMytjAfUgg-Uloi9+s~^nEW5}tUd)JsvvYGotOuxn(YW6w(FZT*Y}VFV=T26;UaTfL z{2SNuj0-xcb$?LdhfQ7GKgnE15rLe_DpdQ8{)N>Q6C)S6we__Q3oYa65WqnIi_&@* zn`r!j$>_8`vhj3FK{4%FqEE70#gt-QzdIK*{J+;gI@Z( z=Y*Mj(g>>$Lrf1~M+>Q@u^AZvlh1)4;N)}!{FmI+WsPjgTe!H4RzIi*V~^0*33xQ7 z=n1@oKTR*Ibe{RfIg4CH3|Bj}&8+L$q_Sl}OW$Naw24Aubbq~qvs*3PRvolIY4)Jg zLvcWvAnEAr7J*?hjm2WKpIq>#z$8l4ayY*YV@oFH#_klugOUCuEdsOeUf!d-CU|Xd z+z33ps7DkDCX5`;gY{MX>)BbgVSeiKEf3oRZZedZwU;S81FVqi2cqlz*}1uFJFX1p zCJcTl-Ytx`OA)JmpK4ds#3SUI!G~LG@jxGT<3D7Ra=jEDXc;iS&x&_nCz)m5 z6StHeKe_oHNo#3%^>#| zs*EkX7dmyo&Sd4culdSbZ>j$CKC>Ch>{umbmLx_%_HWpPwoWoY4zuLz%NU+HHkkSz z82C8#IVj`k*q>@LKkxTpb&L2R&cP!stzYwQ1TARP^Y~B3oDj#%uZ0WRcYf!$|NgwE z8V*z`|AJC})$sGA<<>EWmNz6XFp*sw;YF5^XHSpGQ^Tq+K!TIZC*Mco5SMcn0lHVW zsdpK7Aa(C+=@`~PSKooSuSuHwE~f*Ccq95V5YEi+>lSk7_?wB2GVUFt=Gb66^091s zvX5tTxSbF`9}%5nJlVXojec3;>->MN3@u>~vIG0Qg{d}8xX7MD&i`lXDnFe z*yv*%p@XZVGz2qcx}Gfbcx3p$8S1FKL(aUm`yA{2Mqa*c?h)`gQOPHMS1zXt zaEOa$nKyr$>K!S(;t4G2wFAG!<4UV8g7K^%CqU~25BK!+J&;go2?^=SdL;z0UP&2B zDV?+l-_M9bkB~ohHwp~;Y|&!PT?S$?uP&IcnGVgV0PVO#v(yWtd365VdEP6)ihV$^ zDf5E9VkbQ2^Ji{bOGf&xale-`S8b{9O;=h>$4Dve7JfKzdRy_ZN3(ap+hC%vR0$c< znl`zaRfdznO6k|PQkuXYCZ|t=m~tmCaPPG5YxF!0gfh}2CxxmZEcB)mg#IYrIK4T! zZ?plz={(>)&*a~u`}D9IpAIUifHOk_n{C`31+3o%lxiiU8;?K7Zb$1pjex-FW>7Ge zYXPol{tK!`|8HYf^r!WN9pYfVsbSsR1lk2LB8zi!iX)b?<+ks`RMRo`CENmf-dOea z9wfWgj$R-35`3kumoa;5gJu#RZeX9{gBFcXDRyVg@NnDu2as;T?;s!tcM}|SL)-fn z$@raY1OpyBWpa>k;1T} zC*lk2G1JrH!mpu5c*HnV+sJ-$#<_|a4>!+*>j|m8) zPlhtN$lCC}>+4p}R428}`$ASS(_Kea`CcwN+z|GmaeR9Ecug1ljUW&7nO_z9Jk5@o z9vS_O2-`xpppW|2l8PfYH)-R%Adm~!W#g~^d0vhAkh7U2=ApkgHZ~)n$%~u&akep- zuRJ#h&o6@(^Jgr5J;-c5Z&$TGCXaD|b1ZXxWh~;Pf-JYfcx3!@N=w>=1(jjBxQmk$ z@$de=2bcqC$gwg4(Io@$iD@`)O3OI;^91Y3J_LttFw}_Bj6PBr^4l(Y*MEVVM^VFf z$6jS$@!cA=qK6AlX4B`2W%dUbm*C!3$LA9z-h*wrcf*U%l;mkYET%YL`O*oh*<5qu z*D@f|C0oMLl|HcEUH=&6t{n*kCu!iFUUjSY2MmDFIr*uCcU6<5#+CR-uS@(+3H!TL zvlz0lD6@m>hV7|F*so|Gyz6s9m6ih{x*2BJ9lg&!SyyG+I=Qp{N4xF|Q{eMcuFh_` zKdWg8pb?#a{DvJhnx<-cUSUlS)k}YZq#}caF`~= z&o5KJU13cQpNrK5*;z8{n_ETg_9pnfd6kqu#L&WhWmxX;HvL|XU@0FTy4DZV_Jm#5 zC3>b@h6<)5Bja(;M7`@BDI}L2pf`R1+D6n$WZ_YlA-zVmS}bP6pbyR+ONT;{nDtlU1Ee>KRAYi(nQOod&vhKfDqG)?YQf zY>icWQFis8Qw>(is!E~*9aT}X_y}^$;(?;=00gH>8c(ZaKKU6nwt7;Q@V+{FV)l3E zzQMx7(!^SjskPGeP<3f#CqgBkPg@Qn8)kZV-1`lLGJ!9eIkQIhm$P#cKSwk9R?Q0& zklthYOwO$QG4m*=FI($j^@k(!Sl`41VT1hU0KoJFJ2moksDW8{RMLj zh4`Zw?K0P+cJVEd6;V4oii{FM(UkWtYD9?73`eKngaLn^(gBy}%*XyEmGHfZ4GK^J zAHjQD4Ag}jxKCDw_5GKmpAuv>d`w|qD+DJLKkSG2?*7g)IXoFr!By4P{yp^A=OJ$~ zwrrw^5aoIORrXXSOVEi+p3jZc`_|(uzEN&zbzqonIHIH z10R6dIm()#@k>lUHNg2*9@y&0yD#JEDF%^F+o`oAwFSkpjnF?al3;2JvSylD*2UOsgQKOG+WgVG=bTOi2 zb%KyW$1%m?D%*$|pp zdB5M2o@J5*R!~S{(YvuwpJFzZ@Om2ONLUKu6B+t=>;scv%{cbOQpzXG5<`@hPD5{X z2_e+(7yC_vVckXyJ0$F}`SgVEe{`2n8P~o4hvq@h-VF~6^pxPRPeeuZ;kzPAVXh`r zKH(z;G3QOO6$!}Do42^ASu#iPe?M5#dh_-z^z)QG7j;=>g1p=>$>e_|^D%bqY|Zn2A)znpVHtjYN0`B+)s$OY zDzwy(M;z#xrMr5clKs)&{(DLu9Z6&UPp}R>J&+PP$YHD&_HwtIk1W`p0yva0*QtCA zb`1E1cx%~uGYcdtdCe?HSE9bL$u4&w?;buQx?PI>YhV7(v(as#_A8wno%lY9Ugv8Y z6dMJ2=3d%_zP~(pJ&+aAMYeE#TzWzYnE!j+qwUgKc7`OOJv2418~^9D+&57E@JYwv zcDk5~4i@*&#AkbQTSYypWk>L(C+1rZ$i@$ych^5J8a#AQJ4ROf{`I^HmJ3ByjD7H~ zqdGMIp%WLgwt?Ya1||BcUh;EY*HrLaMjKBU5V9`&VN##4BU$$*7DAitzP#Kuprz-# zj)3=>PUsJ$ADT~V@DH%k+9FUur?0{(&>c5{UpWAdV(6WF}EQ#96}c&9iBv87Te4le$Z@W^LQtd|g{# z2UFEiYYY9#RcX6(f3{;~YYoiX1udp}9I&WNSElvZznA-BsxRaVL&@jqWL=Zs7s+4g zuBON#18Xw9bdk8upT!aq_+ekp+`63#B7Mu_4E)ec3TB8+p=eOObWdjI&hTwRx&& zNAu|Ht*gJ21EB|rWsoON+!u)FwOUb0Hp!R1Iwx0Nv*>zL^6}Vzs$cJ&^CcVPrTIpt zN#hQNXYaFZr@>5FKtq5gSM*OcHHEjcDCCte?aId;6v9F?5+Q3^VU?fPv`FluQyK6^Fgw9vTn9vUjJZqMG@xHq*;=1PR zexOFta4LSeix!u|!g|lwy`nAgnj*Wg{S@bf_f3elrE7*sq|JgVffR256(k~xn{jk_ zF+w|KI=yE~@dLiEJc=#eS}?C4hqDG6UfENhW0kUlH%;lKBJ}4{Nz|yju~*&o3t-3_ z(2IRnV#04#Ky>6xX1C?2*EdR3>j>TV5BUxAk1IiJ>w{3}zl1Y>g)2zSTzZ~`(wuEO zJwcj+7}DsOA`${QC>J60ffm_vUGLx~#!+4A;06hwLqXLuE9^R2xBBOHG(1I*LH+^h z0N?-GxB2)rmf*GS{FZc(NP|H&q>|SskHd26@(74-tp6d;@Z-<_I>kHf8m}+6vtkcA zOgXQ|KkW|};U^Nw`bb63Z)}=0kTS^j9)Y*y6f7OqBr--aZtKDY7Bx2HVu}Oi{>3jygBpF_ZL?`r6PWrDO-|hpG`TzzQm=p zLnMkp`pT_!Cpgdlh(>O)T@=*SgiB6TEq%xe70h?~j(#r_oR9m%j$#H&-v_QtxcTGC zuvowR?uO-}yM2OLC-Pj_{yl?iegrhvgkAOpr4N#c{?IsMm-tZ^->Wrq!5=3Kp)}t~ z+NA^oAZ29=xP}jn>8(az23<+-F{~^&qTvQWL{}0+#=bbDQ@5oyT`MdPw{-y%+ugQ{ ztA;18TN?Qc6KT)kgwF4nK#@5g`)oM!%y1$9oH)CT&h!_D5}IK4-s|Buj$!3TWd8be zz!+@fKIIG5U@5(FK$o5U+}q3JOLF=kDkQ`~Zstc+qCsc4jJkx;)B7+|2$gl410lo9 z%xt&d&6vxWt~b=XlF?#0jDtdPoatV!b&8^sus@HuhwAM4FM~n2o6PLLZxDB}Br6ON z7eP8KAh4l>3a&aZAX}I9Y1&{Sj*x$9zw}1O@(F_Tnl{iWq@VPK^W8VZ3bqV5azeP1 z71tBuxIgQ?4R(*?1czL!)a`Ks#3y}_%4h{-veKUO!sffYr2ouUV`3<}ulAp@r+J;} z1<&INinQ8{I)iZPj;m1$X#yKh2G-g#FZs84PomSuy`n! zVJxJj!*=iTVjTmdO1N?GizMj5v5ny9WLdo!Ot2+{cJqnZTBN%%M90&3-bAlphCe;0 z?D?ogfcA$q88X9ucaGl9DeebVS6RUK63 z3$#1tkf0$>rk=t3tZc6R%eS5lP;zh}dZANWyWN;1!SIdJs-a8eT<_vobp(#_>Gu12 zq5OhYu|m*$9Q$4Z==;td+nYsbB^g_)mnG_cZH(Jm0R^y`ypopX3y%1QeeryLHTps2 zYw-!-wera{7x3WH+*byFHmM=z@ck{R(CY>t&+0be?LH-ug+9n=5J?djEDpP|SrpbU ze%2_LQu~kCvqrm2l+O{v9FwHgdQ0V3Zh*8_&5{^+Es@w>vcHGN$V7NNe~}@6II;SS zluoRCA_(oXOi8KCVWL5eFZbl4i`{4*^bi>c%Kh(Oz}?nJ^yt&pYcfQ(`o$^h%77L* zy4i7l@kHa4buuM0y2TN(OF>qZ>>wT=I8ruNYQ4MN{kypdMcBEzffu3d_f6B392Rzf zYZDTop|$PSScIY{QFwYtfI5Sd)Y=_opFK7GJ@EF0r_e4rH3caDk-MMt&9ng{h@Zhn zYuZ~qFZmOSqq9y}FYoxi($kiAWUV0~j#+U?3-UNhxr8q)^#=t2id|TKW?)W)5b-y} zxpMOFH%9pGQp0b1?Z(RM7am6|@^8rbZ`ovH_d6P#XRZZXb${B6e$iR2fy!j>0yiC0 zbB{Klc^BgPW8z?b8Tn%-e+eu!U!YbQY#h{IE6NB1-+Of(k}-;Wuf;7RtFY{k0hR7x z46tn(Zr2JDiCK|=s^uPSXS6+<5sHHCF-ibrUnx9KZ*dtkm4LuOWR&Dk6NuG^+;g-e zN47zA|4lo&4iPu%D%v%$PL|t@+~))y9v)6oxIUO3qVSqU1P(4N2{VHwYdpsKW)Si2 zfKQWA5Kz0H8NA~+_c>AWK{?MSNb+NrngS+15&6XUR|vUQ$!cif`69`eZ=v>vz~^E` zSrxz0(jj=OuS%)uMWdSVOAH_3%WrAeB4^b)qSjnZ66HO4$JcU`!Sk404d`^eS-^bd z*H^tk%xEtR1qvR?$+{XSz14{;U*v~;_22y(>^?y+wo8FN4W>Gjh4t-#)!H&6(yQlD zC@C)n-JXzi5zD^4#$#nEN4%XSJanaPq$s1aBIf-_kWga{$~w5;)A!PlvI)5-)jt)hz@O zc{4H?6Ml3WM!kH@-<$yv0^Hd0XE4>z{dC^W!icxZrg4u_(chf?lL_E5nmS>kV=Elc&LJydN?fL8(kN;z!`11o~R~j{ki=oF5DIEcrQ1YcEo5=vHmX2Tk!^k$eD}h z=Zv|eCjWjBJYA}JWE_Bhk#B3=dANZAIXZK1e6i$QkC9A5WM<9RaB)m0ivy{uYxZRQ zPSbF+W!~0n$%EqIixopkt}}Dz@Zla6y^>@WQC+mA2F20o+1kP8Nd1&h;|a`E#|$Mb zBa-|`==P!R`SQb|CUg4wTUQP{6ATQyEIZ+0;!k#xti4v_%ZA|p@01?YNQFluYeW*w zD%ks{zCg2kyxGrXZ>G}9l8OYJZ$m#Cj>M$V%+t* zm<>l;{gkP}Dyl_@w!=F$JW4XgQaD?SOR5Uj(9i0=4pA5tc+h=TxVU)iU^vE`-+6MI^dO+)uYGFA9gjMpbVY!oiBLw3nhVso4itA4W7MNZtf^L2#{RQEStqOvNl

UiplyUpoC7Qd-O_wmpLP><&?+Y>?>HF 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 MW29Yl-S+wa0UeGQ)&Kwi delta 666446 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
F?HtD^MQIW=VnR?YzO=)_uQ$I>{ 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�C8X92~q=5DQRlzaZzBQ&r@9Vq< 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
R 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 ?ugCPl=B=%KwZAV2 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ⅅK3qy+ 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%0DS}uS62@KKrP_FiQ&ZSkKZ^xwLV_7by2Xq-3>Yk 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

SO2cp!In^ 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%0A{*y0nH)IuX%p-zF(fC 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 F{a@xw(j@=@ diff --git a/gfx/UltimateCataclysmDemo/opengameartgiant.png b/gfx/UltimateCataclysmDemo/opengameartgiant.png new file mode 100644 index 0000000000000000000000000000000000000000..f8d9de4be912f65ed9b2f9c8f917d02817453547 GIT binary patch literal 28023 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%0D>nHTsGdZ*Ozy=74v#gVs`WJqdtD=haNC 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 literal 0 HcmV?d00001 diff --git a/gfx/UltimateCataclysmDemo/tall.png b/gfx/UltimateCataclysmDemo/tall.png index 539d34f09d44f66d8b09591248867339b697d709..b7a32962be09ea40e8195a79d0189a0acf3742c3 100644 GIT binary patch delta 179855 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�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Ð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 Date: Tue, 25 Feb 2020 23:17:54 +0000 Subject: [PATCH 67/71] Remove character header from faction header (#38350) --- src/faction.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/faction.h b/src/faction.h index 027fc9db00958..c3149b6456ecb 100644 --- a/src/faction.h +++ b/src/faction.h @@ -5,10 +5,11 @@ #include #include #include +#include #include #include -#include "character.h" +#include "character_id.h" #include "color.h" #include "cursesdef.h" #include "string_id.h" From bc4f3debf87649feeed46ae3c94cfd37d263371f Mon Sep 17 00:00:00 2001 From: snipercup <50166150+snipercup@users.noreply.github.com> Date: Wed, 26 Feb 2020 00:32:48 +0100 Subject: [PATCH 68/71] Magazine name to object --- data/json/items/battery.json | 2 +- data/json/items/classes/magazine.json | 4 ++-- data/json/items/magazine/22.json | 2 +- data/json/items/magazine/32.json | 2 +- data/json/items/magazine/40.json | 2 +- data/json/items/magazine/40mm.json | 4 ++-- data/json/items/magazine/45.json | 6 +++--- data/json/items/magazine/9mm.json | 6 +++--- data/json/items/magazine/chemical_spray.json | 2 +- data/json/items/magazine/liquid.json | 4 ++-- data/json/items/magazine/nail.json | 2 +- data/json/items/magazine/shot.json | 10 +++++----- data/json/items/magazine/weldgas.json | 4 ++-- data/json/items/vehicle/fuel_storage.json | 2 +- 14 files changed, 26 insertions(+), 26 deletions(-) diff --git a/data/json/items/battery.json b/data/json/items/battery.json index be3433a117a17..09398f079036d 100644 --- a/data/json/items/battery.json +++ b/data/json/items/battery.json @@ -264,7 +264,7 @@ "id": "huge_atomic_battery_cell", "type": "MAGAZINE", "category": "spare_parts", - "name": "military plutonium fuel cell", + "name": { "str": "military plutonium fuel cell" }, "description": "This battery uses a huge plutonium-244 rod to stablize an exotic nanocompound. It was used in military mech-suits, was highly experimental, and had no civilian applications. Although it stores a stupendous amount of power, it cannot be recharged.", "weight": "64000 g", "volume": "30 L", diff --git a/data/json/items/classes/magazine.json b/data/json/items/classes/magazine.json index 0b4fa204fb5be..cddf032580e40 100644 --- a/data/json/items/classes/magazine.json +++ b/data/json/items/classes/magazine.json @@ -2,9 +2,9 @@ { "abstract": "magazine_belt", "type": "MAGAZINE", - "name": "ammo belt", + "name": { "str": "ammo belt" }, "description": "An ammo belt consisting of metal linkages which disintegrate upon firing.", - "volume": 0, + "volume": "0 ml", "price": 0, "material": "steel", "symbol": "#", diff --git a/data/json/items/magazine/22.json b/data/json/items/magazine/22.json index dedfa91078fba..2734cf7cc455a 100644 --- a/data/json/items/magazine/22.json +++ b/data/json/items/magazine/22.json @@ -175,7 +175,7 @@ "id": "wp22mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "Walther P22 magazine", + "name": { "str": "Walther P22 magazine" }, "description": "A 10-round box magazine for the Walther P22.", "weight": "25 g", "volume": "126 ml", diff --git a/data/json/items/magazine/32.json b/data/json/items/magazine/32.json index ad96587037d8b..4bc148d666bb9 100644 --- a/data/json/items/magazine/32.json +++ b/data/json/items/magazine/32.json @@ -3,7 +3,7 @@ "id": "ppkmag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "Walther PPK magazine", + "name": { "str": "Walther PPK magazine" }, "description": "A standard 8-round steel box magazine for the Walther PPK.", "weight": "80 g", "volume": "250 ml", diff --git a/data/json/items/magazine/40.json b/data/json/items/magazine/40.json index 958dd41090b2e..4a6427952ee11 100644 --- a/data/json/items/magazine/40.json +++ b/data/json/items/magazine/40.json @@ -71,7 +71,7 @@ "id": "smg_40_mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "makeshift .40 20-round magazine", + "name": { "str": "makeshift .40 20-round magazine" }, "description": "An improvised magazine that is mostly compatible with a homemade 'Luty' submachinegun, with a simplified feed system. It looks like it might feed 20 rounds of .40S&W.", "weight": "300 g", "volume": "750 ml", diff --git a/data/json/items/magazine/40mm.json b/data/json/items/magazine/40mm.json index 25a163b9775cd..1e5b6fd3b4d02 100644 --- a/data/json/items/magazine/40mm.json +++ b/data/json/items/magazine/40mm.json @@ -3,9 +3,9 @@ "id": "belt40mm", "//": "Tileset whitelist for explosive launchers.", "type": "MAGAZINE", - "name": "grenade belt", + "name": { "str": "grenade belt" }, "description": "An ammo belt consisting of metal linkages which disintegrate upon firing. This one holds 40mm grenades and is too bulky to be worn like other ammo belts.", - "volume": 0, + "volume": "0 ml", "price": 0, "rigid": false, "material": "steel", diff --git a/data/json/items/magazine/45.json b/data/json/items/magazine/45.json index c9574693ec8e6..66a428072a066 100644 --- a/data/json/items/magazine/45.json +++ b/data/json/items/magazine/45.json @@ -149,7 +149,7 @@ "id": "ump45mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "UMP45 magazine", + "name": { "str": "UMP45 magazine" }, "description": "A standard 25-round box magazine for use with the H&K UMP45 SMG.", "weight": "200 g", "volume": "500 ml", @@ -166,14 +166,14 @@ "id": "ump45_makeshiftmag", "copy-from": "smg_45_mag", "type": "MAGAZINE", - "name": "UMP45 makeshift magazine", + "name": { "str": "UMP45 makeshift magazine" }, "description": "An improvised 20-round straight single-stack box magazine consisting of little more than a bent sheet of steel held together by duct tape and hope, for use with the UMP45 SMG." }, { "id": "usp45mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "USP .45 magazine", + "name": { "str": "USP .45 magazine" }, "description": "A standard capacity magazine for use with the H&K USP handgun.", "weight": "60 g", "volume": "250 ml", diff --git a/data/json/items/magazine/9mm.json b/data/json/items/magazine/9mm.json index 4773aca978609..0c4a51739c45f 100644 --- a/data/json/items/magazine/9mm.json +++ b/data/json/items/magazine/9mm.json @@ -246,7 +246,7 @@ "id": "survivor9mm_mag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "makeshift STEN magazine", + "name": { "str": "makeshift STEN magazine" }, "description": "An improvised magazine that is mostly compatible with the STEN submachine gun, with a simplified feed system.", "weight": "300 g", "volume": "500 ml", @@ -281,7 +281,7 @@ "id": "usp9mag", "looks_like": "glock17_17", "type": "MAGAZINE", - "name": "USP 9mm magazine", + "name": { "str": "USP 9mm magazine" }, "description": "A factory specification 15-round box magazine for use with the dependable H&K USP 9x19mm pistol.", "weight": "75 g", "volume": "250 ml", @@ -298,7 +298,7 @@ "id": "uzimag", "looks_like": "mp5mag", "type": "MAGAZINE", - "name": "UZI magazine", + "name": { "str": "UZI magazine" }, "description": "A standard 32-round steel box magazine for use with the UZI SMG.", "weight": "220 g", "volume": "500 ml", diff --git a/data/json/items/magazine/chemical_spray.json b/data/json/items/magazine/chemical_spray.json index af80e97395ea2..fc67d84f9401e 100644 --- a/data/json/items/magazine/chemical_spray.json +++ b/data/json/items/magazine/chemical_spray.json @@ -3,7 +3,7 @@ "id": "pressurized_tank_chem", "looks_like": "pressurized_tank", "type": "MAGAZINE", - "name": "pressurized chemical tank", + "name": { "str": "pressurized chemical tank" }, "description": "A makeshift pressurized 2L canister designed to feed a makeshift chemical thrower.", "weight": "800 g", "volume": "2 L", diff --git a/data/json/items/magazine/liquid.json b/data/json/items/magazine/liquid.json index d1d359a3f2cdf..71f47707731c9 100644 --- a/data/json/items/magazine/liquid.json +++ b/data/json/items/magazine/liquid.json @@ -3,7 +3,7 @@ "id": "pressurized_tank", "//": "Tileset whitelist for flame or chemical throwers.", "type": "MAGAZINE", - "name": "pressurized fuel tank", + "name": { "str": "pressurized fuel tank" }, "description": "A pressurized 3L canister designed to feed a flamethrower.", "weight": "600 g", "volume": "3 L", @@ -20,7 +20,7 @@ "id": "aux_pressurized_tank", "looks_like": "pressurized_tank", "type": "MAGAZINE", - "name": "small pressurized fuel tank", + "name": { "str": "small pressurized fuel tank" }, "description": "A pressurized 0.5L canister built for use with a small auxiliary flamethrower.", "weight": "100 g", "volume": "500 ml", diff --git a/data/json/items/magazine/nail.json b/data/json/items/magazine/nail.json index ddc36b0fd67e2..eda6ee79cbf3f 100644 --- a/data/json/items/magazine/nail.json +++ b/data/json/items/magazine/nail.json @@ -3,7 +3,7 @@ "id": "nailmag", "looks_like": "stanag30", "type": "MAGAZINE", - "name": "nail rifle magazine", + "name": { "str": "nail rifle magazine" }, "description": "An improvised magazine for use with a nail rifle. Little more than a tin can, spring and some duct tape it is awkward to reload and not especially reliable.", "weight": "60 g", "volume": "250 ml", diff --git a/data/json/items/magazine/shot.json b/data/json/items/magazine/shot.json index 34e8d75997915..db50ba655d1c5 100644 --- a/data/json/items/magazine/shot.json +++ b/data/json/items/magazine/shot.json @@ -38,7 +38,7 @@ "id": "USAS10mag", "looks_like": "shotbelt_20", "type": "MAGAZINE", - "name": "USAS-12 box magazine", + "name": { "str": "USAS-12 box magazine" }, "description": "A removable plastic magazine for the USAS-12 shotgun. Holds 10 rounds.", "weight": "750 g", "volume": "360 ml", @@ -55,7 +55,7 @@ "id": "USAS20mag", "looks_like": "shotbelt_20", "type": "MAGAZINE", - "name": "USAS-12 drum magazine", + "name": { "str": "USAS-12 drum magazine" }, "description": "A removable plastic magazine for the USAS-12 shotgun. Holds 20 rounds.", "weight": "794 g", "volume": "1742 ml", @@ -73,7 +73,7 @@ "id": "shotbelt_20", "//": "Tileset whitelist for shotgun magazines and speedloaders", "type": "MAGAZINE", - "name": "shotshell belt", + "name": { "str": "shotshell belt" }, "description": "A non-disintegrating cloth ammo belt which can hold up to 20 shotgun shells. Notably less reliable than metal ammo belts.", "weight": "200 g", "volume": "500 ml", @@ -91,7 +91,7 @@ "id": "shot_speedloader6", "looks_like": "shotbelt_20", "type": "MAGAZINE", - "name": "shotgun 6-round speedloader", + "name": { "str": "shotgun 6-round speedloader" }, "description": "A plastic tube with a sliding handle that can be used to quickly load 6 rounds into a shotgun's tube in a much shorter period of time than by hand. It needs to interface with a chute to be used with any speed.", "weight": "480 g", "volume": "1750 ml", @@ -107,7 +107,7 @@ "id": "shot_speedloader8", "looks_like": "shotbelt_20", "type": "MAGAZINE", - "name": "shotgun 8-round speedloader", + "name": { "str": "shotgun 8-round speedloader" }, "description": "A plastic tube with a sliding handle that can be used to quickly load 8 rounds into a shotgun's tube in a much shorter period of time than by hand. It needs to interface with a chute to be used with any speed.", "weight": "510 g", "volume": "2 L", diff --git a/data/json/items/magazine/weldgas.json b/data/json/items/magazine/weldgas.json index 67729390e0f6b..f773450ebd94e 100644 --- a/data/json/items/magazine/weldgas.json +++ b/data/json/items/magazine/weldgas.json @@ -3,7 +3,7 @@ "id": "tinyweldtank", "looks_like": "pressurized_tank", "type": "MAGAZINE", - "name": "small welding tank", + "name": { "str": "small welding tank" }, "description": "A compact steel cylinder designed for holding pressurized welding gases. It is marked with several faded and now unreadable symbols.", "weight": "1500 g", "volume": "1 L", @@ -21,7 +21,7 @@ "id": "weldtank", "looks_like": "pressurized_tank", "type": "MAGAZINE", - "name": "welding tank", + "name": { "str": "welding tank" }, "description": "A large steel cylinder designed for holding pressurized welding gases. It is marked with several faded and now unreadable symbols.", "weight": "6000 g", "volume": "3 L", diff --git a/data/json/items/vehicle/fuel_storage.json b/data/json/items/vehicle/fuel_storage.json index c88398116c7c1..bc0fd062f712e 100644 --- a/data/json/items/vehicle/fuel_storage.json +++ b/data/json/items/vehicle/fuel_storage.json @@ -2,7 +2,7 @@ { "id": "fuel_bunker", "type": "MAGAZINE", - "name": "fuel bunker", + "name": { "str": "fuel bunker" }, "description": "A bin for holding solid fuel.", "symbol": "]", "color": "white", From bb0e8ebf0ee52f11aee4a8ec5405cca2a8512351 Mon Sep 17 00:00:00 2001 From: Sergey Alirzaev Date: Wed, 26 Feb 2020 05:07:38 +0300 Subject: [PATCH 69/71] Note that rock forge and smokers are usable for crafting --- data/json/furniture_and_terrain/furniture-tools.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/json/furniture_and_terrain/furniture-tools.json b/data/json/furniture_and_terrain/furniture-tools.json index a43b8f031fb0c..687af0c9b3ec9 100644 --- a/data/json/furniture_and_terrain/furniture-tools.json +++ b/data/json/furniture_and_terrain/furniture-tools.json @@ -203,7 +203,7 @@ "type": "furniture", "id": "f_smoking_rack", "name": "smoking rack", - "description": "A special rack designed to smoke food for better preservation and taste.", + "description": "A special rack designed to smoke food for better preservation and taste. Works as a charcoal smoker in crafting recipes.", "symbol": "=", "bgcolor": "brown", "move_cost_mod": 2, @@ -244,7 +244,7 @@ "type": "furniture", "id": "f_metal_smoking_rack", "name": "metal smoking rack", - "description": "A special rack designed to smoke food for better preservation and taste.", + "description": "A special rack designed to smoke food for better preservation and taste. Works as a charcoal smoker in crafting recipes.", "symbol": "=", "bgcolor": "light_gray", "move_cost_mod": 2, @@ -288,7 +288,7 @@ "type": "furniture", "id": "f_forge_rock", "name": "rock forge", - "description": "Metalworking station made of rock, typically used in combination with an anvil.", + "description": "Metalworking station made of rock, typically used in combination with an anvil. Works as a charcoal forge in crafting recipes.", "symbol": "^", "color": "light_red", "move_cost_mod": -1, From dd29dc4447b7bd3d84418ba23276ffa00bb3302b Mon Sep 17 00:00:00 2001 From: anothersimulacrum Date: Tue, 25 Feb 2020 21:26:12 -0800 Subject: [PATCH 70/71] Fix BLOB error in mingw builds --- src/cata_string_consts.h | 2 +- src/monattack.cpp | 4 ++-- src/mondeath.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cata_string_consts.h b/src/cata_string_consts.h index 56b56993c83e4..47856f83b6b68 100644 --- a/src/cata_string_consts.h +++ b/src/cata_string_consts.h @@ -1363,7 +1363,7 @@ static const matype_id style_wingchun( "style_wingchun" ); static const matype_id style_zui_quan( "style_zui_quan" ); static const species_id ABERRATION( "ABERRATION" ); -static const species_id BLOB( "BLOB" ); +static const species_id species_BLOB( "BLOB" ); static const species_id FISH( "FISH" ); static const species_id FUNGUS( "FUNGUS" ); static const species_id HALLUCINATION( "HALLUCINATION" ); diff --git a/src/monattack.cpp b/src/monattack.cpp index 0e52da8abb402..775363b88d8ad 100644 --- a/src/monattack.cpp +++ b/src/monattack.cpp @@ -2220,7 +2220,7 @@ bool mattack::formblob( monster *z ) monster &othermon = *( dynamic_cast( critter ) ); // Hit a monster. If it's a blob, give it our speed. Otherwise, blobify it? - if( z->get_speed_base() > 40 && othermon.type->in_species( BLOB ) ) { + if( z->get_speed_base() > 40 && othermon.type->in_species( species_BLOB ) ) { if( othermon.type->id == mon_blob_brain ) { // Brain blobs don't get sped up, they heal at the cost of the other blob. // But only if they are hurt badly. @@ -2278,7 +2278,7 @@ bool mattack::callblobs( monster *z ) std::list allies; std::vector nearby_points = closest_tripoints_first( z->pos(), 3 ); for( monster &candidate : g->all_monsters() ) { - if( candidate.type->in_species( BLOB ) && candidate.type->id != mon_blob_brain ) { + if( candidate.type->in_species( species_BLOB ) && candidate.type->id != mon_blob_brain ) { // Just give the allies consistent assignments. // Don't worry about trying to make the orders optimal. allies.push_back( &candidate ); diff --git a/src/mondeath.cpp b/src/mondeath.cpp index 75c6b7a1e1739..3571cdf0a129c 100644 --- a/src/mondeath.cpp +++ b/src/mondeath.cpp @@ -466,7 +466,7 @@ void mdeath::blobsplit( monster &z ) void mdeath::brainblob( monster &z ) { for( monster &critter : g->all_monsters() ) { - if( critter.type->in_species( BLOB ) && critter.type->id != mon_blob_brain ) { + if( critter.type->in_species( species_BLOB ) && critter.type->id != mon_blob_brain ) { critter.remove_effect( effect_controlled ); } } From 4d7b5212f0210834862b0d34444c42d88b504e3f Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Wed, 26 Feb 2020 06:54:52 +0000 Subject: [PATCH 71/71] Explicitly instantiate conditional_t (#38361) --- src/condition.cpp | 1 + src/condition.h | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/src/condition.cpp b/src/condition.cpp index 1fc9d43d65cfd..7c7f3d9fb55c5 100644 --- a/src/condition.cpp +++ b/src/condition.cpp @@ -1160,6 +1160,7 @@ conditional_t::conditional_t( const std::string &type ) template struct conditional_t; template void read_condition( const JsonObject &jo, const std::string &member_name, std::function &condition, bool default_val ); +template struct conditional_t; template void read_condition( const JsonObject &jo, const std::string &member_name, std::function &condition, bool default_val ); diff --git a/src/condition.h b/src/condition.h index 340774159e446..45e419f8da1c9 100644 --- a/src/condition.h +++ b/src/condition.h @@ -145,4 +145,14 @@ struct conditional_t { } }; +struct dialogue; +extern template struct conditional_t; +extern template void read_condition( const JsonObject &jo, const std::string &member_name, + std::function &condition, bool default_val ); +struct mission_goal_condition_context; +extern template struct conditional_t; +extern template void read_condition( const JsonObject &jo, + const std::string &member_name, + std::function &condition, bool default_val ); + #endif