summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2020-11-13 15:03:27 -0800
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2020-11-13 15:03:27 -0800
commit3fd848091efec4cb8f05f34edba994c7703087c8 (patch)
tree671ba529f69d2e4ba34187318765851115912654
parentAdd patches fot fix lumbermill and community garden liquid spills (diff)
downloadcataclysm-dda-3fd848091efec4cb8f05f34edba994c7703087c8.tar.xz
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
-rw-r--r--0.E.3.patch367
-rw-r--r--0.F-backport-make-firestation-shelter-wells-npc-drinkable.patch33
-rw-r--r--0.F-backport-tacoma-barn-door-position.patch (renamed from hotfix-tacoma-barn-door-position.patch)0
-rw-r--r--0.F-backport-vehicle-heater-cooler-intensity-reduced.patch (renamed from hotfix-vehicle-heater-cooler-intensity-reduced.patch)0
-rw-r--r--0009-oxyacetylene-from-oxygen.patch12
-rw-r--r--0010-ammo-loudness-ap-times-2.patch11
-rw-r--r--PKGBUILD44
7 files changed, 455 insertions, 12 deletions
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 <serhiy.int@gmail.com>
+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 <serhiy.int@gmail.com>
+Date: Mon, 15 Jun 2020 15:59:53 +0300
+Subject: [PATCH 2/5] Backported fixes for ice lab spoiling #39813
+
+Co-authored-by: Hirmuolio <hirmuolio@gmail.com>
+---
+ 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 <typename Container>
+ 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 <serhiy.int@gmail.com>
+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 <qrox@sina.com>
+---
+ 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_failure_type> {
+
+ 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<computer_action>( "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<computer_option> options;
+ std::vector<computer_failure> 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 <serhiy.int@gmail.com>
+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 <qrox@sina.com>
+---
+ 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<Creature>( const tripoint &, bool ) co
+ template<typename T>
+ shared_ptr_fast<T> game::shared_from( const T &critter )
+ {
+- if( const shared_ptr_fast<monster> mon_ptr = critter_tracker->find( critter.pos() ) ) {
+- return std::dynamic_pointer_cast<T>( mon_ptr );
+- }
+ if( static_cast<const Creature *>( &critter ) == static_cast<const Creature *>( &u ) ) {
+ // u is not stored in a shared_ptr, but it won't go out of scope anyway
+ return std::dynamic_pointer_cast<T>( u_shared_ptr );
+ }
+- for( auto &cur_npc : active_npc ) {
+- if( static_cast<const Creature *>( cur_npc.get() ) == static_cast<const Creature *>( &critter ) ) {
+- return std::dynamic_pointer_cast<T>( cur_npc );
++ if( critter.is_monster() ) {
++ if( const shared_ptr_fast<monster> mon_ptr = critter_tracker->find( critter.pos() ) ) {
++ if( static_cast<const Creature *>( mon_ptr.get() ) == static_cast<const Creature *>( &critter ) ) {
++ return std::dynamic_pointer_cast<T>( mon_ptr );
++ }
++ }
++ }
++ if( critter.is_npc() ) {
++ for( auto &cur_npc : active_npc ) {
++ if( static_cast<const Creature *>( cur_npc.get() ) == static_cast<const Creature *>( &critter ) ) {
++ return std::dynamic_pointer_cast<T>( 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<player *>( 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<player *>( 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<int>( path.size() ) <= follow_distance() &&
+--
+2.29.2
+
+From 61c109645a63f1bafbcaeded9da50b564e983077 Mon Sep 17 00:00:00 2001
+From: Serhiy Zahoriya <serhiy.int@gmail.com>
+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 <hirmuolio@gmail.com>
+---
+ 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 <typename Container>
+ 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/hotfix-tacoma-barn-door-position.patch b/0.F-backport-tacoma-barn-door-position.patch
index d5f5642..d5f5642 100644
--- a/hotfix-tacoma-barn-door-position.patch
+++ b/0.F-backport-tacoma-barn-door-position.patch
diff --git a/hotfix-vehicle-heater-cooler-intensity-reduced.patch b/0.F-backport-vehicle-heater-cooler-intensity-reduced.patch
index c3d16d5..c3d16d5 100644
--- a/hotfix-vehicle-heater-cooler-intensity-reduced.patch
+++ b/0.F-backport-vehicle-heater-cooler-intensity-reduced.patch
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() {