From 3fd848091efec4cb8f05f34edba994c7703087c8 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Fri, 13 Nov 2020 15:03:27 -0800 Subject: Apply 0.E.3 changeset Add backport for faction camp wells Rename other backports Add patch to allow actually crafting oxyacetylene Add patch to fix gun loudness using 6 times AP instead of 2 times --- 0.E.3.patch | 367 +++++++++++++++++++++ ...e-firestation-shelter-wells-npc-drinkable.patch | 33 ++ 0.F-backport-tacoma-barn-door-position.patch | 11 + ...t-vehicle-heater-cooler-intensity-reduced.patch | 20 ++ 0009-oxyacetylene-from-oxygen.patch | 12 + 0010-ammo-loudness-ap-times-2.patch | 11 + PKGBUILD | 44 ++- hotfix-tacoma-barn-door-position.patch | 11 - ...x-vehicle-heater-cooler-intensity-reduced.patch | 20 -- 9 files changed, 486 insertions(+), 43 deletions(-) create mode 100644 0.E.3.patch create mode 100644 0.F-backport-make-firestation-shelter-wells-npc-drinkable.patch create mode 100644 0.F-backport-tacoma-barn-door-position.patch create mode 100644 0.F-backport-vehicle-heater-cooler-intensity-reduced.patch create mode 100644 0009-oxyacetylene-from-oxygen.patch create mode 100644 0010-ammo-loudness-ap-times-2.patch delete mode 100644 hotfix-tacoma-barn-door-position.patch delete mode 100644 hotfix-vehicle-heater-cooler-intensity-reduced.patch diff --git a/0.E.3.patch b/0.E.3.patch new file mode 100644 index 0000000..32ad0f0 --- /dev/null +++ b/0.E.3.patch @@ -0,0 +1,367 @@ +From 767d9c26e9a9b42c8a86ae23e6b930c627df1831 Mon Sep 17 00:00:00 2001 +From: Serhiy Zahoriya +Date: Mon, 15 Jun 2020 15:43:42 +0300 +Subject: [PATCH 1/5] Skip unnecessary weather calculations for root cellar + #41324 + +--- + src/item.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/item.cpp b/src/item.cpp +index 635b56c921..9dc9048a4b 100644 +--- a/src/item.cpp ++++ b/src/item.cpp +@@ -8510,7 +8510,7 @@ void item::process_temperature_rot( float insulation, const tripoint &pos, + + //Use weather if above ground, use map temp if below + double env_temperature = 0; +- if( pos.z >= 0 ) { ++ if( pos.z >= 0 && flag != TEMP_ROOT_CELLAR ) { + double weather_temperature = wgen.get_weather_temperature( pos, time, seed ); + env_temperature = weather_temperature + enviroment_mod + local_mod; + } else { +-- +2.29.2 + +From 2a6ac5bcc085f54a4e483c31f463f0e15d8abe18 Mon Sep 17 00:00:00 2001 +From: Serhiy Zahoriya +Date: Mon, 15 Jun 2020 15:59:53 +0300 +Subject: [PATCH 2/5] Backported fixes for ice lab spoiling #39813 + +Co-authored-by: Hirmuolio +--- + src/item.cpp | 3 +-- + src/map.cpp | 3 +-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/src/item.cpp b/src/item.cpp +index 9dc9048a4b..2dcc09858e 100644 +--- a/src/item.cpp ++++ b/src/item.cpp +@@ -8486,8 +8486,7 @@ void item::process_temperature_rot( float insulation, const tripoint &pos, + + const weather_generator &wgen = g->weather.get_cur_weather_gen(); + const unsigned int seed = g->get_seed(); +- const tripoint &local = g->m.getlocal( pos ); +- int local_mod = g->new_game ? 0 : g->m.get_temperature( local ); ++ int local_mod = g->new_game ? 0 : g->m.get_temperature( pos ); + + int enviroment_mod; + // Toilets and vending machines will try to get the heat radiation and convection during mapgen and segfault. +diff --git a/src/map.cpp b/src/map.cpp +index 8a13124b4d..9cc45a6ea6 100755 +--- a/src/map.cpp ++++ b/src/map.cpp +@@ -6723,9 +6723,8 @@ bool map::has_rotten_away( item &itm, const tripoint &pnt ) const + template + void map::remove_rotten_items( Container &items, const tripoint &pnt ) + { +- const tripoint abs_pnt = getabs( pnt ); + for( auto it = items.begin(); it != items.end(); ) { +- if( has_rotten_away( *it, abs_pnt ) ) { ++ if( has_rotten_away( *it, pnt ) ) { + if( it->is_comestible() ) { + rotten_item_spawn( *it, pnt ); + } +-- +2.29.2 + +From ef29ca7c4bc6b9c3278e2bbca1598bdd15572d66 Mon Sep 17 00:00:00 2001 +From: Serhiy Zahoriya +Date: Mon, 15 Jun 2020 16:15:15 +0300 +Subject: [PATCH 3/5] Backported #39405: Update string extraction script and + fix computer translation + +Co-authored-by: Qrox +--- + lang/extract_json_strings.py | 18 ++++++++++++++---- + src/computer.cpp | 5 +++-- + src/mapgen.cpp | 7 ++++--- + 3 files changed, 21 insertions(+), 9 deletions(-) + +diff --git a/lang/extract_json_strings.py b/lang/extract_json_strings.py +index 92cb76fb0d..f36f705aeb 100755 +--- a/lang/extract_json_strings.py ++++ b/lang/extract_json_strings.py +@@ -64,8 +64,10 @@ ignore_files = {os.path.normpath(i) for i in { + ignorable = { + "ammo_effect", + "behavior", ++ "charge_removal_blacklist", + "city_building", + "colordef", ++ "disease_type", + "emit", + "enchantment", + "event_transformation", +@@ -93,6 +95,7 @@ ignorable = { + "region_settings", + "requirement", + "rotatable_symbol", ++ "SCENARIO_BLACKLIST", + "scent_type", + "skill_boost", + "TRAIT_BLACKLIST", +@@ -247,6 +250,9 @@ def extract_martial_art(item): + if "description" in item: + writestr(outfile, item["description"], + comment="Description for martial art '{}'".format(name)) ++ if "initiate" in item: ++ writestr(outfile, item["initiate"], format_strings=True, ++ comment="initiate message for martial art '{}'".format(name)) + onhit_buffs = item.get("onhit_buffs", list()) + static_buffs = item.get("static_buffs", list()) + onmove_buffs = item.get("onmove_buffs", list()) +@@ -641,10 +647,14 @@ def extract_missiondef(item): + def extract_mutation(item): + outfile = get_outfile("mutation") + +- item_name = found = item.get("name") ++ item_name_or_id = found = item.get("name") + if found is None: +- raise WrongJSONItem("JSON item don't contain 'name' field", item) +- writestr(outfile, found) ++ if "copy-from" in item: ++ item_name_or_id = item["id"] ++ else: ++ raise WrongJSONItem("JSON item don't contain 'name' field", item) ++ else: ++ writestr(outfile, found) + + simple_fields = [ "description" ] + +@@ -652,7 +662,7 @@ def extract_mutation(item): + found = item.get(f) + # Need that check due format string argument + if found is not None: +- writestr(outfile, found, comment="Description for {}".format(item_name)) ++ writestr(outfile, found, comment="Description for {}".format(item_name_or_id)) + + if "attacks" in item: + attacks = item.get("attacks") +diff --git a/src/computer.cpp b/src/computer.cpp +index f11ce32832..b98d2f98c9 100644 +--- a/src/computer.cpp ++++ b/src/computer.cpp +@@ -377,10 +377,11 @@ struct enum_traits { + + computer_option computer_option::from_json( const JsonObject &jo ) + { +- const std::string name = jo.get_string( "name" ); ++ translation name; ++ jo.read( "name", name ); + const computer_action action = jo.get_enum_value( "action" ); + const int sec = jo.get_int( "security", 0 ); +- return computer_option( name, action, sec ); ++ return computer_option( name.translated(), action, sec ); + } + + computer_failure computer_failure::from_json( const JsonObject &jo ) +diff --git a/src/mapgen.cpp b/src/mapgen.cpp +index 0d0e8f5043..0da25ea2fb 100644 +--- a/src/mapgen.cpp ++++ b/src/mapgen.cpp +@@ -1439,14 +1439,14 @@ class jmapgen_make_rubble : public jmapgen_piece + class jmapgen_computer : public jmapgen_piece + { + public: +- std::string name; ++ translation name; + translation access_denied; + int security; + std::vector options; + std::vector failures; + bool target; + jmapgen_computer( const JsonObject &jsi ) { +- name = jsi.get_string( "name" ); ++ jsi.read( "name", name ); + jsi.read( "access_denied", access_denied ); + security = jsi.get_int( "security", 0 ); + target = jsi.get_bool( "target", false ); +@@ -1466,7 +1466,8 @@ class jmapgen_computer : public jmapgen_piece + const int ry = y.get(); + dat.m.ter_set( point( rx, ry ), t_console ); + dat.m.furn_set( point( rx, ry ), f_null ); +- computer *cpu = dat.m.add_computer( tripoint( rx, ry, dat.m.get_abs_sub().z ), name, security ); ++ computer *cpu = dat.m.add_computer( tripoint( rx, ry, dat.m.get_abs_sub().z ), name.translated(), ++ security ); + for( const auto &opt : options ) { + cpu->add_option( opt ); + } +-- +2.29.2 + +From 3dd040eed275303c8588bb0809e738e9d327cf0a Mon Sep 17 00:00:00 2001 +From: Serhiy Zahoriya +Date: Mon, 15 Jun 2020 16:20:42 +0300 +Subject: [PATCH 4/5] Backported #40025: Fix a crash when npc tries to heal + horse-mounted player + +Co-authored-by: Qrox +--- + src/game.cpp | 18 ++++++++++++------ + src/npcmove.cpp | 24 +++++++++++++----------- + 2 files changed, 25 insertions(+), 17 deletions(-) + +diff --git a/src/game.cpp b/src/game.cpp +index 71772ae859..0b218184fe 100644 +--- a/src/game.cpp ++++ b/src/game.cpp +@@ -4538,16 +4538,22 @@ template const Creature *game::critter_at( const tripoint &, bool ) co + template + shared_ptr_fast game::shared_from( const T &critter ) + { +- if( const shared_ptr_fast mon_ptr = critter_tracker->find( critter.pos() ) ) { +- return std::dynamic_pointer_cast( mon_ptr ); +- } + if( static_cast( &critter ) == static_cast( &u ) ) { + // u is not stored in a shared_ptr, but it won't go out of scope anyway + return std::dynamic_pointer_cast( u_shared_ptr ); + } +- for( auto &cur_npc : active_npc ) { +- if( static_cast( cur_npc.get() ) == static_cast( &critter ) ) { +- return std::dynamic_pointer_cast( cur_npc ); ++ if( critter.is_monster() ) { ++ if( const shared_ptr_fast mon_ptr = critter_tracker->find( critter.pos() ) ) { ++ if( static_cast( mon_ptr.get() ) == static_cast( &critter ) ) { ++ return std::dynamic_pointer_cast( mon_ptr ); ++ } ++ } ++ } ++ if( critter.is_npc() ) { ++ for( auto &cur_npc : active_npc ) { ++ if( static_cast( cur_npc.get() ) == static_cast( &critter ) ) { ++ return std::dynamic_pointer_cast( cur_npc ); ++ } + } + } + return nullptr; +diff --git a/src/npcmove.cpp b/src/npcmove.cpp +index 822fc10a72..0a486dbe18 100644 +--- a/src/npcmove.cpp ++++ b/src/npcmove.cpp +@@ -916,7 +916,6 @@ void npc::execute_action( npc_action action ) + int oldmoves = moves; + tripoint tar = pos(); + Creature *cur = current_target(); +- player *patient = dynamic_cast( current_ally() ); + if( action == npc_flee ) { + tar = good_escape_direction( false ); + } else if( cur != nullptr ) { +@@ -1082,18 +1081,21 @@ void npc::execute_action( npc_action action ) + } + break; + +- case npc_heal_player: +- update_path( patient->pos() ); +- if( path.size() == 1 ) { // We're adjacent to u, and thus can heal u +- heal_player( *patient ); +- } else if( !path.empty() ) { +- say( _( "Hold still %s, I'm coming to help you." ), patient->disp_name() ); +- move_to_next(); +- } else { +- move_pause(); ++ case npc_heal_player: { ++ player *patient = dynamic_cast( current_ally() ); ++ if( patient ) { ++ update_path( patient->pos() ); ++ if( path.size() == 1 ) { // We're adjacent to u, and thus can heal u ++ heal_player( *patient ); ++ } else if( !path.empty() ) { ++ say( _( "Hold still %s, I'm coming to help you." ), patient->disp_name() ); ++ move_to_next(); ++ } else { ++ move_pause(); ++ } + } + break; +- ++ } + case npc_follow_player: + update_path( g->u.pos() ); + if( static_cast( path.size() ) <= follow_distance() && +-- +2.29.2 + +From 61c109645a63f1bafbcaeded9da50b564e983077 Mon Sep 17 00:00:00 2001 +From: Serhiy Zahoriya +Date: Tue, 16 Jun 2020 10:45:42 +0300 +Subject: [PATCH 5/5] Backported #41346: fix root cellars on map load + +Co-authored-by: Hirmuolio +--- + src/map.cpp | 18 ++++++++++++------ + src/map.h | 2 +- + 2 files changed, 13 insertions(+), 7 deletions(-) + +diff --git a/src/map.cpp b/src/map.cpp +index 9cc45a6ea6..e789bbcff5 100755 +--- a/src/map.cpp ++++ b/src/map.cpp +@@ -6687,13 +6687,13 @@ void map::loadn( const tripoint &grid, const bool update_vehicles ) + abs_sub.z = old_abs_z; + } + +-bool map::has_rotten_away( item &itm, const tripoint &pnt ) const ++bool map::has_rotten_away( item &itm, const tripoint &pnt, const temperature_flag flag ) const + { + if( itm.is_corpse() && itm.goes_bad() ) { +- itm.process_temperature_rot( 1, pnt, nullptr ); ++ itm.process_temperature_rot( 1, pnt, nullptr, flag ); + return itm.get_rot() > 10_days && !itm.can_revive(); + } else if( itm.goes_bad() ) { +- itm.process_temperature_rot( 1, pnt, nullptr ); ++ itm.process_temperature_rot( 1, pnt, nullptr, flag ); + return itm.has_rotten_away(); + } else if( itm.type->container && itm.type->container->preserves ) { + // Containers like tin cans preserves all items inside, they do not rot at all. +@@ -6702,14 +6702,14 @@ bool map::has_rotten_away( item &itm, const tripoint &pnt ) const + // Items inside rot but do not vanish as the container seals them in. + for( auto &c : itm.contents ) { + if( c.goes_bad() ) { +- c.process_temperature_rot( 1, pnt, nullptr ); ++ c.process_temperature_rot( 1, pnt, nullptr, flag ); + } + } + return false; + } else { + // Check and remove rotten contents, but always keep the container. + for( auto it = itm.contents.begin(); it != itm.contents.end(); ) { +- if( has_rotten_away( *it, pnt ) ) { ++ if( has_rotten_away( *it, pnt, flag ) ) { + it = itm.contents.erase( it ); + } else { + ++it; +@@ -6723,8 +6723,14 @@ bool map::has_rotten_away( item &itm, const tripoint &pnt ) const + template + void map::remove_rotten_items( Container &items, const tripoint &pnt ) + { ++ temperature_flag flag; ++ if( ter( pnt ) == t_rootcellar ) { ++ flag = TEMP_ROOT_CELLAR; ++ } else { ++ flag = TEMP_NORMAL; ++ } + for( auto it = items.begin(); it != items.end(); ) { +- if( has_rotten_away( *it, pnt ) ) { ++ if( has_rotten_away( *it, pnt, flag ) ) { + if( it->is_comestible() ) { + rotten_item_spawn( *it, pnt ); + } +diff --git a/src/map.h b/src/map.h +index 7cdb3dcb50..48ab479d88 100644 +--- a/src/map.h ++++ b/src/map.h +@@ -1488,7 +1488,7 @@ class map + * used for rot calculation. + * @return true if the item has rotten away and should be removed, false otherwise. + */ +- bool has_rotten_away( item &itm, const tripoint &pnt ) const; ++ bool has_rotten_away( item &itm, const tripoint &pnt, temperature_flag flag = TEMP_NORMAL ) const; + /** + * Go through the list of items, update their rotten status and remove items + * that have rotten away completely. +-- +2.29.2 + diff --git a/0.F-backport-make-firestation-shelter-wells-npc-drinkable.patch b/0.F-backport-make-firestation-shelter-wells-npc-drinkable.patch new file mode 100644 index 0000000..c9864c2 --- /dev/null +++ b/0.F-backport-make-firestation-shelter-wells-npc-drinkable.patch @@ -0,0 +1,33 @@ +--- a/data/json/recipes/basecamps/recipe_modular_firestation1.json ++++ b/data/json/recipes/basecamps/recipe_modular_firestation1.json +@@ -50,7 +50,7 @@ + "construction_blueprint": "fbmc_firestation1_well", + "blueprint_name": "build a well", + "blueprint_requires": [ { "id": "fbmc_firestation1_0" } ], +- "blueprint_provides": [ { "id": "fbmc_firestation1_well" }, { "id": "relaying" }, { "id": "scouting" }, { "id": "patrolling" } ], ++ "blueprint_provides": [ { "id": "fbmc_firestation1_well" }, { "id": "water_well" }, { "id": "relaying" }, { "id": "scouting" }, { "id": "patrolling" } ], + "blueprint_excludes": [ { "id": "fbmc_firestation1_well" } ], + "blueprint_needs": { + "time": "11 h", +--- a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_common.json ++++ b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_common.json +@@ -136,7 +136,7 @@ + "construction_blueprint": "fbmc_shelter_1_well", + "blueprint_name": "build a well", + "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], +- "blueprint_provides": [ { "id": "fbmc_shelter_1_well" }, { "id": "relaying" }, { "id": "scouting" }, { "id": "patrolling" } ], ++ "blueprint_provides": [ { "id": "fbmc_shelter_1_well" }, { "id": "water_well" }, { "id": "relaying" }, { "id": "scouting" }, { "id": "patrolling" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_well" } ], + "blueprint_needs": { + "time": "11 h", +--- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_common.json ++++ b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_common.json +@@ -136,7 +136,7 @@ + "construction_blueprint": "fbmc_shelter_well", + "blueprint_name": "build a well", + "blueprint_requires": [ { "id": "fbmc_shelter_fire" } ], +- "blueprint_provides": [ { "id": "fbmc_shelter_well" }, { "id": "relaying" }, { "id": "scouting" }, { "id": "patrolling" } ], ++ "blueprint_provides": [ { "id": "fbmc_shelter_well" }, { "id": "water_well" }, { "id": "relaying" }, { "id": "scouting" }, { "id": "patrolling" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_well" } ], + "blueprint_needs": { + "time": "11 h", diff --git a/0.F-backport-tacoma-barn-door-position.patch b/0.F-backport-tacoma-barn-door-position.patch new file mode 100644 index 0000000..d5f5642 --- /dev/null +++ b/0.F-backport-tacoma-barn-door-position.patch @@ -0,0 +1,11 @@ +--- a/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json ++++ b/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json +@@ -122,7 +122,7 @@ + "place_nested": [ { "chunks": [ "tacoma_commune_west_wall_door" ], "x": 22, "y": 0 } ] + }, + { +- "om_terrain": "ranch_camp_66", ++ "om_terrain": "ranch_camp_75", + "translate_ter": [ { "from": "t_underbrush", "to": "t_dirt", "x": 0, "y": 0 } ], + "place_nested": [ + { "chunks": [ "tacoma_commune_east_wall_door" ], "x": 0, "y": 0 }, diff --git a/0.F-backport-vehicle-heater-cooler-intensity-reduced.patch b/0.F-backport-vehicle-heater-cooler-intensity-reduced.patch new file mode 100644 index 0000000..c3d16d5 --- /dev/null +++ b/0.F-backport-vehicle-heater-cooler-intensity-reduced.patch @@ -0,0 +1,20 @@ +--- a/data/json/emit.json ++++ b/data/json/emit.json +@@ -185,7 +185,7 @@ + { + "id": "emit_heater_vehicle", + "type": "emit", +- "field": "fd_hot_air3", ++ "field": "fd_hot_air2", + "intensity": 3, + "qty": 3, + "chance": 100 +@@ -193,7 +193,7 @@ + { + "id": "emit_cooler_vehicle", + "type": "emit", +- "field": "fd_cold_air3", ++ "field": "fd_cold_air2", + "intensity": 3, + "qty": 3, + "chance": 100 diff --git a/0009-oxyacetylene-from-oxygen.patch b/0009-oxyacetylene-from-oxygen.patch new file mode 100644 index 0000000..8da7688 --- /dev/null +++ b/0009-oxyacetylene-from-oxygen.patch @@ -0,0 +1,12 @@ +--- a/data/json/recipes/ammo/weldgas.json ++++ b/data/json/recipes/ammo/weldgas.json +@@ -7,8 +8,9 @@ + "charges": 120, + "book_learn": [ [ "textbook_chemistry", 4 ], [ "textbook_gaswarfare", 5 ], [ "atomic_survival", 3 ] ], + "qualities": [ { "id": "PRESSURIZATION", "level": 1 } ], ++ "tools": [ [ [ "oxygen_tank", 24 ], [ "oxygen_cylinder", 24 ], [ "smoxygen_tank", 24 ] ] ], +- "components": [ [ [ "oxygen", 24 ] ], [ [ "acetylene", 96 ] ] ] ++ "components": [ [ [ "acetylene", 96 ] ] ] + }, + { + "result": "acetylene", diff --git a/0010-ammo-loudness-ap-times-2.patch b/0010-ammo-loudness-ap-times-2.patch new file mode 100644 index 0000000..3def080 --- /dev/null +++ b/0010-ammo-loudness-ap-times-2.patch @@ -0,0 +1,11 @@ +--- a/src/item_factory.cpp ++++ b/src/item_factory.cpp +@@ -221,7 +221,7 @@ + if( obj.ammo->loudness < 0 ) { + obj.ammo->loudness = obj.ammo->range * 2; + for( const damage_unit &du : obj.ammo->damage ) { +- obj.ammo->loudness += ( du.amount + du.res_pen ) * 2; ++ obj.ammo->loudness += ( du.amount * 2 ) + ( du.res_pen * 2 / 3 ); + } + } + diff --git a/PKGBUILD b/PKGBUILD index 05c95fc..af5cc28 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -12,9 +12,9 @@ pkgbase=cataclysm-dda pkgname=(cataclysm-dda cataclysm-dda-tiles) pkgname=cataclysm-dda -pkgver=0.E.2 +pkgver=0.E.3 _pkgver=0.E-2 -pkgrel=1.57 +pkgrel=1.3 pkgdesc="A post-apocalyptic roguelike." #url="http://cataclysmrl.blogspot.com/" #url="http://www.cataclysm.glyphgryph.com/" @@ -27,8 +27,10 @@ makedepends=('sdl2_image' 'sdl2_ttf' 'sdl2_mixer' 'freetype2' 'astyle') source=("$pkgname-$_pkgver.tar.gz::https://github.com/CleverRaven/Cataclysm-DDA/archive/$_pkgver.tar.gz" "cataclysm-dda.desktop" "cataclysm-dda-tiles.desktop" - "hotfix-vehicle-heater-cooler-intensity-reduced.patch" - "hotfix-tacoma-barn-door-position.patch" + "0.E.3.patch" + "0.F-backport-vehicle-heater-cooler-intensity-reduced.patch" + "0.F-backport-tacoma-barn-door-position.patch" + "0.F-backport-make-firestation-shelter-wells-npc-drinkable.patch" "0001-quiverfull-house-correct-stairs.patch" "0002-ankle-ammo-pouch-is-not-a-backpack.patch" "0003-inconsistent-ammo-names.patch" @@ -37,6 +39,8 @@ source=("$pkgname-$_pkgver.tar.gz::https://github.com/CleverRaven/Cataclysm-DDA/ "0006-npcs-eat-when-hungry.patch" "0007-lumbermill-gasoline-not-spilled.patch" "0008-community-garden-fertilizer-not-spilled.patch" + "0009-oxyacetylene-from-oxygen.patch" + "0010-ammo-loudness-ap-times-2.patch" "cataclysm-dda-tileset_undeadpeople-legacy.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-tileset_undeadpeople-legacy.git/snapshot/cataclysm-dda-tileset_undeadpeople-legacy-master.tar.xz" "cataclysm-dda-soundpack_jcsoundpack.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-soundpack_jcsoundpack.git/snapshot/cataclysm-dda-soundpack_jcsoundpack-master.tar.xz" "cataclysm-dda-musicpack_coag-musicpack.tar.xz::https://library.iserlohn-fortress.net/cataclysm-dda-musicpack_coag-musicpack.git/snapshot/cataclysm-dda-musicpack_coag-musicpack-master.tar.xz" @@ -53,8 +57,10 @@ source=("$pkgname-$_pkgver.tar.gz::https://github.com/CleverRaven/Cataclysm-DDA/ b2sums=('a2aa335a762573a8d41f0d0a908ffa16e5b3156aab29062a5e47a1a45d9d3ff793870c5565c86a4efc528f8b6a429a2e9ca6b3a905d5877a3edb4cd150c50638' '8cff87d80bf30b86f995f77a97cc1ddb7b809148d100f3c0d74e706fe59eac52de55710fb7aed1abd59836c05f2474c7d68455736aac4f229d1cdf806d7240a1' '8ffff827ed464af678497da5129eb69d3d1a4c6994bbcc00ef7f7b240cd04e7961c3c0ac52d6940252241406c04e647fac19c9327847afced33988eb15973ba8' + '7d5a74fa2edb4c89e664419d818650ec45b6a3efde3617a49737af014b0aa438ff3bdb06b87f6d31ef1851cafdffa5f4c3947f104127d376c6ea4806190676ae' '3659d59eec3167bdb647cb622f15fe899516980ac92972393589574db23a580368b449812ec75ec74cfb86082a1c12896fc9f26b7c16c36ed9ad8506d41eac67' 'ce0dd5121e814e0fcd79d68362c80a83bfe70f970be9d5d6f6fe5f6a56ed3f041be4d560aaf02225c3ce7c457dc63bc3adf0709d4b89a81c18184ff5341eb5d3' + '6c6968f47962f521a0bdf710f4d001f03b0b64002193b43115ee20581990298a066a95c942275496069fe928f99bca5fb7ed395f9e99dee0b3b8e3dcc80aaebc' '8232c6a10fd1f608304982ae7f03eb8afc663be76cdc00aee46ecb58de838e21fdc8673841266ccd00153263f7b15b59dcd1fc6ece86834509d7ccb2cacf08fa' 'af47a9372ba990bc97d17362c8d89847177e6cbefaa241c23bcdc670ef29d82bf150983f4c730753cabaa77a01f8e966307831cdc192a92237d5f3e8e6599d2b' '3936f88fab90b344299a62bb5bc836d03b1bb8293d2ca4cbb8a48468497119db2174f2b37a1775c0aed1be07107c4ae815f6308efa633abf76bbd6ba458ff66b' @@ -63,8 +69,10 @@ b2sums=('a2aa335a762573a8d41f0d0a908ffa16e5b3156aab29062a5e47a1a45d9d3ff793870c5 'b256081baa22b6c0f2a56c4151393146451fe119cd724fc4d883331643e420348e6e6c54c4f32e34d287090e917f9223cac23b6275677e4c3d23cf4b38229904' '85aeb5920ee5879848be4057324153a077fe907bed527ed8f9b80a3c5ee1ef64786f63ee2999f5ba74e80a43e99ded3280ce27759c1f7b73259a6e2b5e584aa8' '58a94409205f7b670ab5745b8cbc234a38efd6a6217cef4efb7e397f091092e3e0c7790706b0a42accaa83d7509b8e244a98b9f0ba78349ee85f3164745c3501' + 'd34d673fe04d4317ef3c1ac3f088b6614f7c20414cfe44aa0ff71bdc932c517c4e6295492f158ced84232af8f54d1672ae56078b156593d58bf8fe7ffc3d475d' + '92cde696eec00e6758b58e73e8bc60ad1a73bb2a18d4fdfd24a19b5be715305a047943a02d94a9703c101ca0c769dbeb816f1f28809345bae0fec42fbc27bb34' '7238e8642bbe469ecf68c577d96a772545f3a8c0917219cc18e952e2bce649a5412f77207103fb6865f4d2f34ae4d3034baf5f8adef160d4cd0402ea2d67c7b7' - '499145e380d5e02cbe8f6f370ea102d2334d9df8b9bea51f62921b3f16bd5c1d2826470d082d25e56cf3ef0af3614880fae943c009c9bc690fdc78874dabca13' + '5747de68a01cb9c3e9654f7a9ef2cd3bf6fe996a92b6908b962fd0ebd97fd2f31d670ef8575f27adc72efa57bfeee396e1c554594bf9ed285d3d4f51c62ce4d1' 'b9309da09b165fb57e83f84e3584d2479bd3336ed86e181e5df2d27daa92bd55d03d7f3fc226f03696af5f0f32d8e0e7ecd26ae7e50eed0200d0b0feaad07efb' '7287a10e71580c6924956f18d3f14c21a22bc80f9f40b9e8baa46e7f0c37367cd595879a41fdcd4ca2a27b517a8dfe77c23e71d136154636a14469685987ad99' 'be7eb543443b5b90b539fc2149572544f127951bf281ae8f01aff196b5a3b89abc71e4b34f763ff159fa575a8b070b4f3e2cbd0aece434c98a1a4c327fc8870f' @@ -73,7 +81,7 @@ b2sums=('a2aa335a762573a8d41f0d0a908ffa16e5b3156aab29062a5e47a1a45d9d3ff793870c5 '0df5b69f4e56d41cdfc8365d2eda8361ec0dd8f474b578c9f90f7764b803fc63adaff1c4d7d2ebfcbd30a5e210a8836a03267531cb328e5629d96ea491e39ef9' '2bdeb26873ad4ae8c8e202b1f76e411cc30ddf460d593d127ed0babb4466c9cb3848bd9440a668af046a13f3634245333dfc6e628988488bc40eae364b9c849d' '135e962bcd5f5141c896f3edbad3aac7498f6a1be8ed8d926738e0064968e76437d1b25a794c11b96863c8cf9033b6b2060600f67ae4bba3a72cd32d789496ad' - 'a074d8c2a5a248568ae063b365b32ca731618053269e641f99d491edffe3123b700c9b155143a623615577b734662eb6b8048014fadf182a6e67ce4834132af6' + '0f30448b0a800463acc093423adc7999196e14482b614af041051d0d417dc32d8bc6c1e8889cdacb4825733f6d315724d46823c01ee3484f06f41287cf92e2bc' 'ce6e6c6d90b96d9314d5a5e1faeb278b9b2f322f6dda81b55f688a2fe790188f7a185cb67449105176f9ef6f3fbccf1953182432a53970468a91dbcac073838b') # official docs say to use lua51 @@ -89,16 +97,22 @@ prepare() { sed -i 's/-Os/-O3/' Makefile - # Hotfixes + # Apply the 0.E.3 changes that never had a formal release + patch -Np1 -i "$srcdir"/0.E.3.patch + + + # Backports from 0.F # Fix Vehicle Heater and Cooler to be less severe - # Included in 0.F - patch -Np1 -i "$srcdir"/hotfix-vehicle-heater-cooler-intensity-reduced.patch + patch -Np1 -i "$srcdir"/0.F-backport-vehicle-heater-cooler-intensity-reduced.patch # Fix tacoma barn doors being placed in the same spot twice - # Included in 0.F - patch -Np1 -i "$srcdir"/hotfix-tacoma-barn-door-position.patch + patch -Np1 -i "$srcdir"/0.F-backport-tacoma-barn-door-position.patch + + # Fix npcs unable to drink from firestation and shelter basecamps wells + patch -Np1 -i "$srcdir"/0.F-backport-make-firestation-shelter-wells-npc-drinkable.patch - + + # Various other fixes for bugs I came across # Fix Quiverfull house to have the correct stairs patch -Np1 -i "$srcdir"/0001-quiverfull-house-correct-stairs.patch @@ -122,6 +136,12 @@ prepare() { # Fix community garden liquid fertilizer being in a pit instead of in the storage tanks patch -Np1 -i "$srcdir"/0008-community-garden-fertilizer-not-spilled.patch + + # Fix oxyacetylene to be craftable from oxygen tanks + patch -Np1 -i "$srcdir"/0009-oxyacetylene-from-oxygen.patch + + # Fix ammo loudness mulitplying by six instead of two + patch -Np1 -i "$srcdir"/0010-ammo-loudness-ap-times-2.patch } build() { diff --git a/hotfix-tacoma-barn-door-position.patch b/hotfix-tacoma-barn-door-position.patch deleted file mode 100644 index d5f5642..0000000 --- a/hotfix-tacoma-barn-door-position.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json -+++ b/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json -@@ -122,7 +122,7 @@ - "place_nested": [ { "chunks": [ "tacoma_commune_west_wall_door" ], "x": 22, "y": 0 } ] - }, - { -- "om_terrain": "ranch_camp_66", -+ "om_terrain": "ranch_camp_75", - "translate_ter": [ { "from": "t_underbrush", "to": "t_dirt", "x": 0, "y": 0 } ], - "place_nested": [ - { "chunks": [ "tacoma_commune_east_wall_door" ], "x": 0, "y": 0 }, diff --git a/hotfix-vehicle-heater-cooler-intensity-reduced.patch b/hotfix-vehicle-heater-cooler-intensity-reduced.patch deleted file mode 100644 index c3d16d5..0000000 --- a/hotfix-vehicle-heater-cooler-intensity-reduced.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/data/json/emit.json -+++ b/data/json/emit.json -@@ -185,7 +185,7 @@ - { - "id": "emit_heater_vehicle", - "type": "emit", -- "field": "fd_hot_air3", -+ "field": "fd_hot_air2", - "intensity": 3, - "qty": 3, - "chance": 100 -@@ -193,7 +193,7 @@ - { - "id": "emit_cooler_vehicle", - "type": "emit", -- "field": "fd_cold_air3", -+ "field": "fd_cold_air2", - "intensity": 3, - "qty": 3, - "chance": 100 -- cgit v1.2.1