Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite bionic fuel system #61049

Merged
merged 107 commits into from
Sep 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
110597e
energy_consumption as energy
Hirmuolio Aug 28, 2022
1d26cec
units::energy fuel
Hirmuolio Aug 28, 2022
7ff3900
units::energy material
Hirmuolio Aug 28, 2022
b409cbb
item fuel adjustments
Hirmuolio Aug 28, 2022
8be3aa5
bionuc reload window
Hirmuolio Aug 29, 2022
343c1c4
bionic reload window
Hirmuolio Aug 29, 2022
405f0c8
typo
Hirmuolio Aug 29, 2022
2ea4806
bionic power from pedaling
Hirmuolio Aug 29, 2022
a5afc1c
Merge branch 'CleverRaven:master' into veh-pow
Hirmuolio Aug 30, 2022
e222815
adjust electric vehicle tests
Hirmuolio Aug 30, 2022
9f0481c
mods
Hirmuolio Aug 30, 2022
d1373e6
mods
Hirmuolio Aug 30, 2022
0e1e438
rename some variables
Hirmuolio Aug 30, 2022
384c88c
cleanup
Hirmuolio Aug 30, 2022
b52b0d1
temp fix bionic
Hirmuolio Aug 30, 2022
857d853
temp fix treshold
Hirmuolio Aug 30, 2022
0b22c93
fuel tests
Hirmuolio Aug 30, 2022
0b2cf40
adjust mod
Hirmuolio Aug 30, 2022
c9c4a7a
adjust mod
Hirmuolio Aug 30, 2022
eb61f53
adjust mod
Hirmuolio Aug 30, 2022
b9b7be9
rename variable
Hirmuolio Aug 30, 2022
c5d889a
gasoline json
Hirmuolio Aug 31, 2022
1bc15db
flags
Hirmuolio Aug 31, 2022
91a78b8
get fuels
Hirmuolio Aug 31, 2022
bf38498
remote ups
Hirmuolio Aug 31, 2022
871a544
veh and solar
Hirmuolio Aug 31, 2022
deb5ea1
auto toggle
Hirmuolio Aug 31, 2022
3efd03a
testing
Hirmuolio Aug 31, 2022
d813f8e
fueled bionic
Hirmuolio Aug 31, 2022
15727e7
cable vehicle
Hirmuolio Aug 31, 2022
111faf5
cable solar
Hirmuolio Aug 31, 2022
243e440
metaboilism
Hirmuolio Aug 31, 2022
9e98002
solar
Hirmuolio Aug 31, 2022
6947c9f
cleanup
Hirmuolio Aug 31, 2022
da84852
metaboilism messages
Hirmuolio Aug 31, 2022
a289fbc
remove old
Hirmuolio Aug 31, 2022
9decc6e
rename
Hirmuolio Aug 31, 2022
e695b07
combine with passive
Hirmuolio Aug 31, 2022
9125c54
fuel in bionic window
Hirmuolio Aug 31, 2022
edcb3da
remove fuel eating
Hirmuolio Aug 31, 2022
8e30d32
more tanks
Hirmuolio Aug 31, 2022
5b01e53
fix restriction
Hirmuolio Aug 31, 2022
2384f8f
fix restriction
Hirmuolio Aug 31, 2022
6899ceb
base test pocket
Hirmuolio Aug 31, 2022
d0a8af7
material limit
Hirmuolio Aug 31, 2022
941ce83
doc
Hirmuolio Aug 31, 2022
1dbfc57
more items
Hirmuolio Aug 31, 2022
6abe068
fuel from container pockets
Hirmuolio Aug 31, 2022
d30c99d
lint
Hirmuolio Aug 31, 2022
a980127
flat_set
Hirmuolio Sep 1, 2022
863b605
remove unused get_fuel_available
Hirmuolio Sep 1, 2022
0fde7da
remove unused
Hirmuolio Sep 1, 2022
aace1c8
remove unused
Hirmuolio Sep 1, 2022
a295c15
remove unused
Hirmuolio Sep 1, 2022
ae2a7a7
remove unused
Hirmuolio Sep 1, 2022
52185fb
astyle and tests
Hirmuolio Sep 1, 2022
0e93d3b
migration
Hirmuolio Sep 1, 2022
237db1b
mods
Hirmuolio Sep 1, 2022
90f8794
broken npc code
Hirmuolio Sep 1, 2022
7354245
remove autostart
Hirmuolio Sep 1, 2022
964184d
treshold improvements
Hirmuolio Sep 1, 2022
59da9fc
treshold for muscle
Hirmuolio Sep 1, 2022
5d7f27d
improved treshold
Hirmuolio Sep 1, 2022
248d2e3
add only missing
Hirmuolio Sep 1, 2022
d20df51
remnants of fuel eating
Hirmuolio Sep 1, 2022
3a3d7a6
Merge branch 'master' into biofuel2
Hirmuolio Sep 8, 2022
55766bd
applies only to fueled
Hirmuolio Sep 8, 2022
3c2747b
fuel consumption display
Hirmuolio Sep 9, 2022
5faa981
unused
Hirmuolio Sep 9, 2022
cae55ca
itype
Hirmuolio Sep 9, 2022
06ecb40
Merge branch 'master' into biofuel2
Hirmuolio Sep 9, 2022
4f8af08
rename
Hirmuolio Sep 9, 2022
d4996e0
carble connection fixes
Hirmuolio Sep 9, 2022
26433e5
sort
Hirmuolio Sep 15, 2022
91b1bbc
tests
Hirmuolio Sep 15, 2022
54274b0
muscle check
Hirmuolio Sep 15, 2022
fd75b9b
astyle
Hirmuolio Sep 15, 2022
6c18283
comment
Hirmuolio Sep 15, 2022
a1f3c19
cable test
Hirmuolio Sep 15, 2022
6a6772e
cable solar
Hirmuolio Sep 15, 2022
c81752b
better test
Hirmuolio Sep 15, 2022
245b6e1
sort
Hirmuolio Sep 16, 2022
e5c3f5d
better cables
Hirmuolio Sep 16, 2022
71fbf3f
test empty battery
Hirmuolio Sep 16, 2022
eb6e69b
fix corpses being made out of "
Hirmuolio Sep 16, 2022
e785492
name typo
Hirmuolio Sep 16, 2022
5912aea
name typo
Hirmuolio Sep 16, 2022
4827c05
not npc usable now
Hirmuolio Sep 16, 2022
386ebbb
fuel saving ui
Hirmuolio Sep 16, 2022
ba78ebe
astyle
Hirmuolio Sep 16, 2022
7c10709
get fuels only when necessary
Hirmuolio Sep 16, 2022
ddc201e
reorganize bionic functions
Hirmuolio Sep 16, 2022
b0b34e7
Merge branch 'CleverRaven:master' into tryfix
Hirmuolio Sep 16, 2022
74796bd
fuel saving for cable
Hirmuolio Sep 16, 2022
f3de9d0
test for running out of fuel
Hirmuolio Sep 16, 2022
66e5e46
fix running out of fuel
Hirmuolio Sep 16, 2022
5e8a44e
fix test
Hirmuolio Sep 17, 2022
3f1fa35
may not count by charges
Hirmuolio Sep 17, 2022
822fa4b
avoid warning
Hirmuolio Sep 17, 2022
1c65632
test mod fix
Hirmuolio Sep 17, 2022
ab0d62f
clang
Hirmuolio Sep 18, 2022
43e256d
cleanup test
Hirmuolio Sep 18, 2022
1eed4b3
fuel_energy per unit
Hirmuolio Sep 18, 2022
81eea05
unnecessary comment
Hirmuolio Sep 18, 2022
429cbd3
outdated vehicle code
Hirmuolio Sep 19, 2022
83b9b0e
maybe fixes test
Hirmuolio Sep 19, 2022
083ab88
Merge branch 'CleverRaven:master' into tryfix
Hirmuolio Sep 19, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions data/json/bionics.json
Original file line number Diff line number Diff line change
Expand Up @@ -465,9 +465,9 @@
"occupied_bodyparts": [ [ "torso", 20 ] ],
"fuel_options": [ "battery" ],
"fuel_efficiency": 1,
"fuel_capacity": 2000,
"time": "1 s",
"flags": [ "BIONIC_POWER_SOURCE", "BIONIC_TOGGLED", "BIONIC_NPC_USABLE" ]
"flags": [ "BIONIC_POWER_SOURCE", "BIONIC_TOGGLED" ],
"passive_pseudo_items": [ "internal_battery_compartment" ]
},
{
"id": "bio_blade",
Expand Down Expand Up @@ -780,11 +780,11 @@
"description": "You burn alcohol as fuel in an extremely efficient reaction.",
"occupied_bodyparts": [ [ "torso", 20 ] ],
"fuel_options": [ "alcohol" ],
"fuel_capacity": 400,
"fuel_efficiency": 0.5,
"exothermic_power_gen": true,
"time": "1 s",
"flags": [ "BIONIC_POWER_SOURCE", "BIONIC_NPC_USABLE", "BIONIC_SHOCKPROOF", "BIONIC_TOGGLED" ]
"flags": [ "BIONIC_POWER_SOURCE", "BIONIC_SHOCKPROOF", "BIONIC_TOGGLED" ],
"passive_pseudo_items": [ "internal_ethanol_tank" ]
},
{
"id": "bio_lampoil",
Expand All @@ -793,11 +793,11 @@
"description": "Slowly generates bionic power out of kerosene or motor oil.",
"occupied_bodyparts": [ [ "torso", 20 ] ],
"fuel_options": [ "lamp_oil", "motor_oil" ],
"fuel_capacity": 750,
"fuel_efficiency": 0.35,
"exothermic_power_gen": true,
"time": "5 s",
"flags": [ "BIONIC_POWER_SOURCE", "BIONIC_NPC_USABLE", "BIONIC_SHOCKPROOF", "BIONIC_TOGGLED" ]
"flags": [ "BIONIC_POWER_SOURCE", "BIONIC_SHOCKPROOF", "BIONIC_TOGGLED" ],
"passive_pseudo_items": [ "internal_oil_tank" ]
},
{
"id": "bio_evap",
Expand Down Expand Up @@ -1674,11 +1674,11 @@
"occupied_bodyparts": [ [ "torso", 8 ] ],
"encumbrance": [ [ "torso", 5 ] ],
"fuel_options": [ "gasoline" ],
"fuel_capacity": 500,
"fuel_efficiency": 0.25,
"exothermic_power_gen": true,
"time": "1 s",
"flags": [ "BIONIC_TOGGLED", "BIONIC_POWER_SOURCE", "BIONIC_NPC_USABLE" ]
"flags": [ "BIONIC_TOGGLED", "BIONIC_POWER_SOURCE" ],
"passive_pseudo_items": [ "internal_gasoline_tank" ]
},
{
"id": "bio_syringe",
Expand Down
5 changes: 5 additions & 0 deletions data/json/flags.json
Original file line number Diff line number Diff line change
Expand Up @@ -2107,5 +2107,10 @@
"id": "SINGLE_USE",
"type": "json_flag",
"info": "This item is removed after use."
},
{
"id": "BIONIC_FUEL_SOURCE",
"type": "json_flag",
"info": "Contents of this item are used for fueling bionics."
}
]
99 changes: 99 additions & 0 deletions data/json/items/tool/integrated.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
[
{
"id": "internal_gasoline_tank",
"type": "GENERIC",
"category": "container",
"name": { "str": "internal gasoline tank" },
"description": "Internal tank for gasoline fuel cell bionic.",
"volume": "501 ml",
"weight": "1 g",
"price": 0,
"material": [ "plastic" ],
"symbol": "(",
"color": "magenta",
"flags": [ "INTEGRATED", "UNBREAKABLE", "PERSONAL", "NO_REPAIR", "ALLOWS_NATURAL_ATTACKS", "BIONIC_FUEL_SOURCE" ],
"pocket_data": [
{
"pocket_type": "CONTAINER",
"watertight": true,
"rigid": true,
"max_contains_volume": "500 ml",
"max_item_volume": "32 ml",
"max_contains_weight": "1 kg",
"material_restriction": [ "gasoline" ]
}
]
},
{
"id": "internal_ethanol_tank",
"type": "GENERIC",
"category": "container",
"name": { "str": "internal ethanol tank" },
"description": "Internal ethanol tank for ethanol burner bionic.",
"volume": "401 ml",
"weight": "1 g",
"price": 0,
"material": [ "plastic" ],
"symbol": "(",
"color": "magenta",
"flags": [ "INTEGRATED", "UNBREAKABLE", "PERSONAL", "NO_REPAIR", "ALLOWS_NATURAL_ATTACKS", "BIONIC_FUEL_SOURCE" ],
"pocket_data": [
{
"pocket_type": "CONTAINER",
"watertight": true,
"rigid": true,
"max_contains_volume": "400 ml",
"max_item_volume": "32 ml",
"max_contains_weight": "1 kg",
"material_restriction": [ "alcohol" ]
}
]
},
{
"id": "internal_oil_tank",
"type": "GENERIC",
"category": "container",
"name": { "str": "internal oil tank" },
"description": "Internal oil tank for oil generator bionic.",
"volume": "751 ml",
"weight": "1 g",
"price": 0,
"material": [ "plastic" ],
"symbol": "(",
"color": "magenta",
"flags": [ "INTEGRATED", "UNBREAKABLE", "PERSONAL", "NO_REPAIR", "ALLOWS_NATURAL_ATTACKS", "BIONIC_FUEL_SOURCE" ],
"pocket_data": [
{
"pocket_type": "CONTAINER",
"watertight": true,
"rigid": true,
"max_contains_volume": "750 ml",
"max_item_volume": "32 ml",
"max_contains_weight": "1 kg",
"material_restriction": [ "lamp_oil", "motor_oil" ]
}
]
},
{
"id": "internal_battery_compartment",
"type": "TOOL",
"name": { "str": "internal battery compartment" },
"description": "Internal compartment for holding medium sized batteries for battery system bionic.",
"volume": "750 ml",
"weight": "1 g",
"price": 0,
"material": [ "plastic" ],
"symbol": "(",
"color": "magenta",
"flags": [ "INTEGRATED", "UNBREAKABLE", "PERSONAL", "NO_REPAIR", "ALLOWS_NATURAL_ATTACKS", "BIONIC_FUEL_SOURCE" ],
"ammo": [ "battery" ],
"pocket_data": [
{
"pocket_type": "MAGAZINE_WELL",
"rigid": true,
"flag_restriction": [ "BATTERY_MEDIUM", "BATTERY_LIGHT" ],
"default_magazine": "medium_battery_cell"
}
]
}
]
9 changes: 0 additions & 9 deletions data/json/player_activities.json
Original file line number Diff line number Diff line change
Expand Up @@ -990,15 +990,6 @@
"based_on": "neither",
"no_resume": true
},
{
"id": "ACT_CONSUME_FUEL_MENU",
"type": "activity_type",
"activity_level": "NO_EXERCISE",
"verb": "consuming fuel",
"suspendable": false,
"based_on": "neither",
"no_resume": true
},
{
"id": "ACT_HACKING",
"type": "activity_type",
Expand Down
29 changes: 27 additions & 2 deletions data/mods/Magiclysm/bionics.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,35 @@
"description": "Embedded into your back and connected to your bionic power supply is a powerful spell focus able to consume blood from dead creatures to produce bionic power. It can store up to 100 mL of blood.",
"occupied_bodyparts": [ [ "torso", 8 ] ],
"fuel_options": [ "blood", "dragon_blood", "tainted_blood", "hblood" ],
"fuel_capacity": 100,
"fuel_efficiency": 0.6,
"exothermic_power_gen": true,
"time": "6 s",
"flags": [ "BIONIC_TOGGLED", "BIONIC_POWER_SOURCE" ]
"flags": [ "BIONIC_TOGGLED", "BIONIC_POWER_SOURCE" ],
"passive_pseudo_items": [ "integrated_blood_bank" ]
},
{
"id": "integrated_blood_bank",
"type": "GENERIC",
"category": "container",
"name": { "str": "internal blood bank" },
"description": "Internal tank for blood power generator bionic.",
"volume": "101 ml",
"weight": "1 g",
"price": 0,
"material": [ "plastic" ],
"symbol": "(",
"color": "magenta",
"flags": [ "INTEGRATED", "UNBREAKABLE", "PERSONAL", "NO_REPAIR", "ALLOWS_NATURAL_ATTACKS", "BIONIC_FUEL_SOURCE" ],
"pocket_data": [
{
"pocket_type": "CONTAINER",
"watertight": true,
"rigid": true,
"max_contains_volume": "100 ml",
"max_item_volume": "32 ml",
"max_contains_weight": "1 kg",
"material_restriction": [ "blood", "dragon_blood", "tainted_blood", "hblood" ]
}
]
}
]
6 changes: 3 additions & 3 deletions data/mods/Magiclysm/materials.json
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@
{ "fuel": 900, "smoke": 6, "burn": 3 }
],
"fuel_data": {
"energy": "50000000 kJ",
"energy": "50000 kJ",
"explosion_data": { "chance_hot": 20, "chance_cold": 1000, "factor": 0.2, "fiery": true, "size_factor": 0.1 }
}
},
Expand Down Expand Up @@ -247,14 +247,14 @@
{ "fuel": -50, "smoke": 2, "burn": 1 },
{ "fuel": -10, "smoke": 2, "burn": 2 }
],
"fuel_data": { "energy": "1000 kJ" }
"fuel_data": { "energy": "1 kJ" }
},
{
"type": "material",
"id": "tainted_blood",
"name": "Tainted blood",
"copy-from": "blood",
"fuel_data": { "energy": "5000 kJ" }
"fuel_data": { "energy": "5 kJ" }
},
{
"type": "material",
Expand Down
42 changes: 42 additions & 0 deletions data/mods/TEST_DATA/bionics.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,47 @@
"included": true,
"//": "not actually included, this is a trick to not have to add an item version.",
"time": "1 s"
},
{
"id": "bio_fuel_wood",
"type": "bionic",
"name": { "str": "Wood burner bionic" },
"description": "Test bionic that generates energy from wood. Tests for bionic fueled by items that are not counted by charge.",
"occupied_bodyparts": [ [ "torso", 8 ] ],
"encumbrance": [ [ "torso", 5 ] ],
"fuel_options": [ "wood" ],
"fuel_efficiency": 0.25,
"exothermic_power_gen": true,
"time": "1 s",
"flags": [ "BIONIC_TOGGLED", "BIONIC_POWER_SOURCE" ],
"passive_pseudo_items": [ "internal_woodshed" ],
"included": true,
"//": "not actually included, this is a trick to not have to add an item version."
},
{
"id": "internal_woodshed",
"type": "GENERIC",
"category": "container",
"name": { "str": "internal woodshed" },
"description": "Woodshed, in your chest..",
"volume": "301 L",
"weight": "1 g",
"price": 0,
"material": [ "plastic" ],
"symbol": "(",
"color": "magenta",
"flags": [ "INTEGRATED", "UNBREAKABLE", "PERSONAL", "NO_REPAIR", "ALLOWS_NATURAL_ATTACKS", "BIONIC_FUEL_SOURCE" ],
"pocket_data": [
{
"pocket_type": "CONTAINER",
"watertight": true,
"rigid": true,
"max_contains_volume": "300 L",
"max_item_volume": "300 L",
"max_contains_weight": "300 kg",
"max_item_length": "140 cm",
"material_restriction": [ "wood" ]
}
]
}
]
3 changes: 2 additions & 1 deletion doc/JSON_INFO.md
Original file line number Diff line number Diff line change
Expand Up @@ -3625,7 +3625,8 @@ Any Item can be a container. To add the ability to contain things to an item, yo
"ammo_restriction": { "ammotype": count }, // Restrict pocket to a given ammo type and count. This overrides mandatory volume, weight, watertight and airtight to use the given ammo type instead. A pocket can contain any number of unique ammo types each with different counts, and the container will only hold one type (as of now). If this is left out, it will be empty.
"flag_restriction": [ "FLAG1", "FLAG2" ], // Items can only be placed into this pocket if they have a flag that matches one of these flags.
"item_restriction": [ "item_id" ], // Only these item IDs can be placed into this pocket. Overrides ammo and flag restrictions.
// If both "flag_restriction" and "item_restriction" are used simultaneously then any item that matches either of them will be accepted.
"material_restriction": [ "material_id" ], // Only items that are mainly made of this material can enter.
// If multiple of "flag_restriction", "material_restriction" and "item_restriction" are used simultaneously then any item that matches any of them will be accepted.

"sealed_data": { "spoil_multiplier": 0.0 } // If a pocket has sealed_data, it will be sealed when the item spawns. The sealed version of the pocket will override the unsealed version of the same datatype.
}
Expand Down
19 changes: 4 additions & 15 deletions src/activity_actor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2535,12 +2535,7 @@ void consume_activity_actor::start( player_activity &act, Character &guy )
Character &player_character = get_player_character();
if( consume_location ) {
ret_val<edible_rating> ret = ret_val<edible_rating>::make_success();
if( refuel ) {
ret = player_character.can_consume_fuel( *consume_location );
} else {
ret = player_character.will_eat( *consume_location, true );
}

ret = player_character.will_eat( *consume_location, true );
if( !ret.success() ) {
canceled = true;
consume_menu_selections = std::vector<int>();
Expand All @@ -2551,11 +2546,7 @@ void consume_activity_actor::start( player_activity &act, Character &guy )
}
} else if( !consume_item.is_null() ) {
ret_val<edible_rating> ret = ret_val<edible_rating>::make_success();
if( refuel ) {
ret = player_character.can_consume_fuel( consume_item );
} else {
ret = player_character.will_eat( consume_item, true );
}
ret = player_character.will_eat( consume_item, true );
if( !ret.success() ) {
canceled = true;
consume_menu_selections = std::vector<int>();
Expand Down Expand Up @@ -2591,9 +2582,9 @@ void consume_activity_actor::finish( player_activity &act, Character & )
avatar &player_character = get_avatar();
if( !canceled ) {
if( consume_loc ) {
player_character.consume( consume_loc, /*force=*/true, refuel );
player_character.consume( consume_loc, /*force=*/true );
} else if( !consume_item.is_null() ) {
player_character.consume( consume_item, /*force=*/true, refuel );
player_character.consume( consume_item, /*force=*/true );
} else {
debugmsg( "Item location/name to be consumed should not be null." );
}
Expand Down Expand Up @@ -2641,7 +2632,6 @@ void consume_activity_actor::serialize( JsonOut &jsout ) const
jsout.member( "consume_menu_filter", consume_menu_filter );
jsout.member( "canceled", canceled );
jsout.member( "type", type );
jsout.member( "refuel", refuel );

jsout.end_object();
}
Expand All @@ -2660,7 +2650,6 @@ std::unique_ptr<activity_actor> consume_activity_actor::deserialize( JsonValue &
data.read( "consume_menu_filter", actor.consume_menu_filter );
data.read( "canceled", actor.canceled );
data.read( "type", actor.type );
data.read( "refuel", actor.refuel );

return actor.clone();
}
Expand Down
5 changes: 2 additions & 3 deletions src/activity_actor_definitions.h
Original file line number Diff line number Diff line change
Expand Up @@ -692,7 +692,6 @@ class consume_activity_actor : public activity_actor
std::string consume_menu_filter;
bool canceled = false;
activity_id type;
bool refuel = false;
/**
* @pre @p other is a consume_activity_actor
*/
Expand All @@ -705,12 +704,12 @@ class consume_activity_actor : public activity_actor
consume_activity_actor( const item_location &consume_location,
std::vector<int> consume_menu_selections,
const std::vector<item_location> &consume_menu_selected_items,
const std::string &consume_menu_filter, activity_id type, bool refuel = false ) :
const std::string &consume_menu_filter, activity_id type ) :
consume_location( consume_location ),
consume_menu_selections( std::move( consume_menu_selections ) ),
consume_menu_selected_items( consume_menu_selected_items ),
consume_menu_filter( consume_menu_filter ),
type( type ), refuel( refuel ) {}
type( type ) {}

explicit consume_activity_actor( const item_location &consume_location ) :
consume_location( consume_location ), consume_menu_selections( std::vector<int>() ) {}
Expand Down
Loading