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

Revert "Added "shrub with bee hive" furniture" #35685

Merged
merged 1 commit into from
Nov 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 0 additions & 6 deletions data/json/emit.json
Original file line number Diff line number Diff line change
Expand Up @@ -293,11 +293,5 @@
"field": "fd_fog",
"intensity": 2,
"qty": 200
},
{
"id": "emit_bees",
"type": "emit",
"field": "fd_bees",
"qty": 3
}
]
27 changes: 0 additions & 27 deletions data/json/furniture_and_terrain/furniture-flora.json
Original file line number Diff line number Diff line change
Expand Up @@ -286,32 +286,5 @@
"sound_fail": "whump.",
"items": [ { "item": "withered", "count": [ 45, 50 ] } ]
}
},
{
"type": "furniture",
"id": "f_shrub_bee_hive",
"name": "shrub with bee hive",
"looks_like": "t_underbrush",
"description": "Shrub with a bee hive hidden somewhere deep inside. A constant buzzing is heard near it.",
"symbol": "#",
"color": "light_green",
"move_cost_mod": 3,
"required_str": -1,
"flags": [ "TRANSPARENT", "DIGGABLE", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT", "EMITTER" ],
"emissions": [ "emit_bees" ],
"examine_action": "harvest_furn",
"harvest_by_season": [
{
"seasons": [ "spring", "summer", "autumn" ],
"entries": [ { "drop": "honeycomb", "base_num": [ 0, 4 ] }, { "drop": "wax", "base_num": [ 0, 4 ] } ]
}
],
"bash": {
"str_min": 1,
"str_max": 6,
"sound": "crunch.",
"sound_fail": "brush.",
"items": [ { "item": "honeycomb", "prob": 30, "count": [ 0, 4 ] }, { "item": "wax", "prob": 30, "count": [ 0, 4 ] } ]
}
}
]
3 changes: 1 addition & 2 deletions data/json/regional_map_settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,7 @@
"f_dandelion": 8,
"f_boulder_small": 1,
"f_boulder_medium": 0.6666,
"f_boulder_large": 0.3333,
"f_shrub_bee_hive": 0.1
"f_boulder_large": 0.3333
},
"boost_chance": 0.833,
"boosted_percent_coverage": 2.5,
Expand Down
1 change: 0 additions & 1 deletion src/iexamine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3376,7 +3376,6 @@ void iexamine::shrub_wildveggies( player &p, const tripoint &examp )
}

add_msg( _( "You forage through the %s." ), g->m.tername( examp ) );

///\EFFECT_SURVIVAL speeds up foraging
int move_cost = 100000 / ( 2 * p.get_skill_level( skill_survival ) + 5 );
///\EFFECT_PER randomly speeds up foraging
Expand Down
60 changes: 42 additions & 18 deletions src/map_field.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1230,11 +1230,10 @@ bool map::process_fields_in_submap( submap *const current_submap,
// Kill them at the end of processing.
cur.set_field_intensity( 0 );
} else {
// 50% chance for bees to chase the player if in range, wander randomly otherwise.
// Bees chase the player if in range, wander randomly otherwise.
if( !g->u.is_underwater() &&
rl_dist( p, g->u.pos() ) < 10 &&
clear_path( p, g->u.pos(), 10, 1, 100 ) &&
one_in( 2 ) ) {
clear_path( p, g->u.pos(), 10, 0, 100 ) ) {

std::vector<point> candidate_positions =
squares_in_direction( p.xy(), point( g->u.posx(), g->u.posy() ) );
Expand Down Expand Up @@ -1603,22 +1602,47 @@ void map::player_in_field( player &u )
if( ft == fd_bees ) {
// Player is immune to bees while underwater.
if( !u.is_underwater() ) {
int times_stung = 0;
const int intensity = cur.get_field_intensity();
// Bees will try to sting you in random body parts, up to 8 times.
for( int i = 0; i < rng( 1, 7 ); i++ ) {
body_part bp = random_body_part();
int sum_cover = 0;
for( const item &i : u.worn ) {
if( i.covers( bp ) ) {
sum_cover += i.get_coverage();
}
}
// Get stung if [clothing on a body part isn't thick enough (like t-shirt) OR clothing covers less than 100% of body part]
// AND clothing on affected body part has low environmental protection value
if( ( u.get_armor_cut( bp ) <= 1 || ( sum_cover < 100 && x_in_y( 100 - sum_cover, 100 ) ) ) &&
u.add_env_effect( effect_stung, bp, intensity, 9_minutes ) ) {
u.add_msg_if_player( m_bad, _( "The bees sting you in %s!" ), body_part_name_accusative( bp ) );
}
// If the bees can get at you, they cause steadily increasing pain.
// TODO: Specific stinging messages.
times_stung += one_in( 4 ) &&
u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes );
times_stung += one_in( 4 ) &&
u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes );
times_stung += one_in( 4 ) &&
u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes );
times_stung += one_in( 4 ) &&
u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes );
times_stung += one_in( 4 ) &&
u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes );
times_stung += one_in( 4 ) &&
u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes );
times_stung += one_in( 4 ) &&
u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes );
times_stung += one_in( 4 ) &&
u.add_env_effect( effect_stung, bp_torso, intensity, 9_minutes );
switch( times_stung ) {
case 0:
// Woo, unscathed!
break;
case 1:
u.add_msg_if_player( m_bad, _( "The bees sting you!" ) );
break;
case 2:
case 3:
u.add_msg_if_player( m_bad, _( "The bees sting you several times!" ) );
break;
case 4:
case 5:
u.add_msg_if_player( m_bad, _( "The bees sting you many times!" ) );
break;
case 6:
case 7:
case 8:
default:
u.add_msg_if_player( m_bad, _( "The bees sting you all over your body!" ) );
break;
}
}
}
Expand Down