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

Added "shrub with bee hive" furniture #35323

Merged
merged 8 commits into from Nov 22, 2019
Merged

Added "shrub with bee hive" furniture #35323

merged 8 commits into from Nov 22, 2019

Conversation

Night-Pryanik
Copy link
Contributor

@Night-Pryanik Night-Pryanik commented Nov 5, 2019

Summary

SUMMARY: Features "Added "shrub with bee hive" furniture."

Purpose of change

Add to flavor/atmosphere of the game. Bees already exist in game files, but used only as the Granade explosion effect in Crazy Cataclysm mod. Decided to add them to vanilla game.

Describe the solution

Added a new furniture type which "emits" bees. Added a new emit type for bees spawning. Added this new shrub to regional settings. Had to spawn it only in the fields as they spawns way too frequent in forests in my testing.
Bee hives can yield 0..4 honeycombs and 0..4 waxes on examining or smashing.
Bees will roll a one-in-2 check to chase player every turn, if player is within 10 tiles range.
Also fixed a bug which allowed bees to travel through walls and other impenetrable terrains.

Describe alternatives you've considered

None.

Testing

Strolled around a bit, waited until I encounter new shrub with bee hive, ran away from them as fast as I could.

Additional context

Bees are implemented as a field, not as a monster, so they can't be harmed or shooed away by firing at them, smashing them, or shouting at them. Viable options are to run away, dive underwater, or use a flamethrower.
Bees' "Stung" effect could deal a tremendous amount of pain in few moments (with natural decrease to speed and other bad consequences), but otherwise it is mostly harmless.
Bees unfortunately doesn't wander around if no player (or any other creature) is within their range, they just stay in one place for ever.

Based on real events which happened to me this summer. I went into a grove right next to our community beach and decided to change clothes after the swimming. I noticed an old stump on which I put my stuff. Too bad I didn't notice that hornets chose this stump as a home for their nest. Somehow I disturbed them, and almost immediately they start attacking me. In a few moments I was stung about dozen times - and I was actively running from them while they were stinging me. Boy, that was painful! I'm lucky I don't have an allergy for wasps poison, otherwise I might not be writing this text right now.

@Night-Pryanik Night-Pryanik added <Enhancement / Feature> New features, or enhancements on existing Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. labels Nov 5, 2019
@RickyVanz
Copy link
Contributor

i imagine when foraging shrubs and accidently disturb a bee nest, if i didn't run away i would get around 20-30 points of pain. and maybe + small point of poison too.

@Qrox
Copy link
Contributor

Qrox commented Nov 5, 2019

Maybe reduce the chance to disturb a nest if the player has a high enough survival skill? I'd imagine people with enough survival experience would know where bees are more likely to make nest and avoid those places when foraging.

@tivec
Copy link
Contributor

tivec commented Nov 5, 2019

Not the bees!

I can see a future trait "bee allergy" that would apply strong poison.

@Night-Pryanik
Copy link
Contributor Author

Maybe reduce the chance to disturb a nest if the player has a high enough survival skill?

Done.

@Fris0uman
Copy link
Contributor

Does armor protect against the field?

@Night-Pryanik
Copy link
Contributor Author

Does armor protect against the field?

Yes, high environment values of armor prevent applying the effect.

@Fris0uman
Copy link
Contributor

Doesn't that make weird case where a clean suit protects you but not kevlar gear?

Cut protection > 1 is enough to completely protect the affected body part.
@Night-Pryanik
Copy link
Contributor Author

Ok, bees will select up to 8 random body parts in one turn and try to sting you in selected body parts. Made it so game checks for cut armor protection before stinging. Value of 1+ is enough to completely protect affected body part.

@Qrox
Copy link
Contributor

Qrox commented Nov 5, 2019

Value of 1+ is enough to completely protect affected body part.

Does it take armor coverage into account?

@Night-Pryanik
Copy link
Contributor Author

Night-Pryanik commented Nov 5, 2019

Does it take armor coverage into account?

No. Yes.

@esotericist
Copy link
Contributor

This isn't flavor, this is just a completely random chance to screw the player with no way to prevent other than not using a basic game mechanic.

I am vehemently against this.

@ghost
Copy link

ghost commented Nov 5, 2019

Could this perhaps evolve into a bee-keeping mechanic with a risk/reward thing , instead of a rng chance to say "HAH got you" with bees in the bush.

How many bees make their hives in shrubs anyway? idk....

@arijust
Copy link
Contributor

arijust commented Nov 5, 2019

How these bees didn't mutate into giant ones?
Every insect in-game mutated into giant one after all.

@Fris0uman
Copy link
Contributor

It would be better if it added a bee_hive terrain that would spawn some bee field, so that player can acually make a choice and avoid the thing or go smash it for honey. And then we could build up some beekeeping stuff on top of it.

@Night-Pryanik
Copy link
Contributor Author

this is just a completely random chance to screw the player with no way to prevent other than not using a basic game mechanic.

You are exaggerating a lot.
First, you have one turn to react to bees spawning. Toggle move mode to running and get out of there, and you're good.
Second, bees are able to sting only poorly-clothed characters. Anything better (thicker) than a cotton t-shift is able to block stinging. Any adequately-clothed character is effectively immune to them.
Third, the chance is really small. It's just 1%, and it's decreasing even further with your survival skills. In my testing (0 survival skill) I had to examine ~100 bushes to encounter bees, and I had no problems in running away from them after it happened.

@Night-Pryanik
Copy link
Contributor Author

a rng chance to say "HAH got you" with bees in the bush.

I was absolutely unaware of hornets that made their nest in that old stump, and they literally said "HAH got you" when I came near to it. I don't see a reason some other unfortunate survivor couldn't fall into the same situation ingame.

Could this perhaps evolve into a bee-keeping mechanic with a risk/reward thing

I'm not against this idea, but I'm not interested in implementing it.

@Night-Pryanik
Copy link
Contributor Author

How these bees didn't mutate into giant ones?
Every insect in-game mutated into giant one after all.

Not every one. Some time ago there were tons of small animals (insects, amphibians, mammals etc) in the game, especially on the swamps. They were eventually removed from the game, but not because they mutated into their giant variants. It was rather a technical reason. They even still exist in game files, in obsolete form, in \data\json\monsters\obsolete.json file.

@Night-Pryanik
Copy link
Contributor Author

It would be better if it added a bee_hive terrain that would spawn some bee field, so that player can acually make a choice and avoid the thing or go smash it for honey. And then we could build up some beekeeping stuff on top of it.

I'm not against the idea, but I'm not interested in implementing it.

@arijust
Copy link
Contributor

arijust commented Nov 5, 2019

They were eventually removed from the game, but not because they mutated into their giant variants. It was rather a technical reason.

I see.

I'm not interested in implementing it.

It could be added to long-term issue queue, at very least.

src/iexamine.cpp Outdated
// Survival skill reduces the chance
if( one_in( 100 + 5 * p.get_skill_level( skill_survival ) ) &&
season_of_year( calendar::turn ) != WINTER ) {
add_msg( m_bad, _( "You disturbed bees nest in the %s!" ), g->m.tername( examp ) );
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
add_msg( m_bad, _( "You disturbed bees nest in the %s!" ), g->m.tername( examp ) );
add_msg( m_bad, _( "You disturbed a bees nest in the %s!" ), g->m.tername( examp ) );

@mlangsdorf
Copy link
Contributor

I've walked a lot through the wildernesses of Texas and New England, sometimes poking at bushes and digging for random things, and never once did I suddenly discover a hive without spotting the bees well in advance. Same with wasps and hornets: the only time I've spotted their nests before I saw one of the insects was when all the insects were dead.

As a new type of terrain, "shrub with bee hive" or "tree with bee hive" makes a lot of sense. As something that a survivor can encounter without a lot of warning, it doesn't make any sense.

@mlangsdorf mlangsdorf self-requested a review November 5, 2019 13:55
Copy link
Contributor

@mlangsdorf mlangsdorf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please no sudden bee hives. Turn them into a terrain that players can spot in a distance and that other creatures can interact with.

@Rail-Runner
Copy link
Contributor

Well. If there are bee hives, could player harvest honey from them as well, at least?

@Amoebka
Copy link
Contributor

Amoebka commented Nov 5, 2019

Has #7862 been fixed yet?
i added bee fields as a source of danger for the granade item to balance the unintended stat-roulette effect it had, but I don't want to include them anywhere 'serious' in the game because there was a technical issue I couldn't solve

@arijust
Copy link
Contributor

arijust commented Nov 5, 2019

Has #7862 been fixed yet?

Nope.

@Night-Pryanik Night-Pryanik changed the title Added a chance for player to disturb bees nest while foraging shrubs Added "shrub with bee hive" furniture Nov 5, 2019
@Night-Pryanik
Copy link
Contributor Author

Updated title of PR and OP.
Now there is a new furniture type which spawns bees on its own. Player can choose to get to the hive to get honeycombs or waxes, or just run away. New shrubs should spawn very rarely and only in the fields.

@Amoebka
Copy link
Contributor

Amoebka commented Nov 5, 2019

Maybe make it less likely to get stung if the player has Insect Pheromones mutation?

@Night-Pryanik
Copy link
Contributor Author

Maybe make it less likely to get stung if the player has Insect Pheromones mutation?

I guess that could be done in subsequent PRs (if this gets merged, of course).

@@ -58,7 +58,8 @@
"f_dandelion": 8,
"f_boulder_small": 1,
"f_boulder_medium": 0.6666,
"f_boulder_large": 0.3333
"f_boulder_large": 0.3333,
"f_shrub_bee_hive": 0.4166
Copy link
Contributor

@I-am-Erk I-am-Erk Nov 5, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think gameplay-significant beehives are more common than large rocks, either. This should probably be around 0.1 or lower.

There's no reason to not have them spawn in forests, you just need a reasonably low spawn number.

Copy link
Contributor

@mlangsdorf mlangsdorf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, that's a definite improvement.

@ZhilkinSerg ZhilkinSerg merged commit 4b261b5 into CleverRaven:master Nov 22, 2019
@Night-Pryanik Night-Pryanik deleted the bees-in-the-shrub branch November 22, 2019 13:58
@Funguss
Copy link
Contributor

Funguss commented Nov 23, 2019

Um... Just to be clear, there's a massive difference between the behaviour of bees and hornets. For a bee, a sting is a last resort, a kamikaze attack. Wasps tend to sting when they're annoyed. Hornets are just evil and sting anything that moves. These bees shouldn't be attacking you just for getting close to them or their nest, to the best of my knowledge they do this when their under attack. My point is, as these are modeled on a hornet attack you suffered, please do call them hornets. If I hadn't read this PR I wouldn't expect bees in a nest I'd discovered to be attacking me. I'd assume they'd be relaxed about me unless I'd put a foot in their nest.

Otherwise, I suggest having a chance between spawning a nest and a broken nest, based on survival skill. Harvesting from it should rely on survival skill too, maybe, but... I don't know how that would work. Some research is needed there.

@esotericist
Copy link
Contributor

@Funguss
I just assume they're mutant africanized bees. those things are rather aggressive about anything in their territory.

@kevingranade
Copy link
Member

#7862 and #35680 need to be addressed before this can be merged.
Bee fields are a hack that are only ok as an obscure and opt in joke.

@adamkad1
Copy link
Contributor

beekeeping when?

@Funguss
Copy link
Contributor

Funguss commented Nov 23, 2019

@esotericist
Hmm... I guess. I still don't really like it, but I can live with that I suppose.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
<Enhancement / Feature> New features, or enhancements on existing Fields / Furniture / Terrain / Traps Objects that are part of the map or its features.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet