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

Gravedigging #28803

Merged
merged 35 commits into from Apr 6, 2019

Conversation

@nexusmrsep
Copy link
Contributor

commented Mar 18, 2019

Summary

SUMMARY: Features "Adds ability to exhume graves, adds graves, adds body bag"

Purpose of change

Old idea of mine, from an old Fallout reference - ability to dig graves for loot and for getting a perk.

Describe the solution

  1. Added graves (gravestones existed already).
  2. Placed graves in mapgen JSON files for cemetaries
  3. Added body bag.
  4. Added body bag to mapgen files and item distribution lists.
  5. Enhanced digging to allow digging graves.
  6. Digging graves may yield some grave loot.
  7. Digging graves may yield some grave inhabitants (zombies, especially decrepit variants)
  8. Digging is not good for morale unless you are a psychopath, saprovore or eater of the dead.

Describe alternatives you've considered

Not dabbling in grave digging, but could I resist?

Additional context

N/A unless someone opened an issue for it in the old ages.

@Fris0uman

This comment has been minimized.

Copy link
Contributor

commented Mar 18, 2019

Could you add t_grave_o (open) and t_grave_c (close) so that digging could also serve to make a t_grave_o put a body in it and then close it ? It's a bit tangent to the subject of this PR though...

@Hatfish

This comment has been minimized.

Copy link

commented Mar 18, 2019

Is there any way at all for spiritualists to remove graves? Seems like it could be a problem if someone digs a grave, decides to build something else there, and later finds out that it can't be removed.

@nexusmrsep

This comment has been minimized.

Copy link
Contributor Author

commented Mar 18, 2019

For that a building option for a grave from construction menu should be added. And answering the second question, perhaps it could then warn that Spiritual cannot exhume graves. But my opinion is that spiritual would respect the grave regardless and build elsewhere, that's the whole point here. Anyway, both things are outside the scope of this PR as it focuses on extracting graves, rather then making them. But maybe in a later PR. No promises.

@Shodan14

This comment has been minimized.

Copy link

commented Mar 18, 2019

Any mood debuffs baked in? With trait interactions?

@Ilysen

This comment has been minimized.

Copy link
Contributor

commented Mar 19, 2019

It may be interesting for the body bag to be deployable as furniture, like cots and the like, as a furniture that hides you, to represent hiding in it. A bit of a weird idea, but it could be cool!

Show resolved Hide resolved src/iuse.cpp Outdated
@Fris0uman

This comment has been minimized.

Copy link
Contributor

commented Mar 19, 2019

So you can get medical glove, syringe and fetuses from digging graves ? Isn't that a bit weird ?

@nexusmrsep

This comment has been minimized.

Copy link
Contributor Author

commented Mar 19, 2019

Any mood debuffs baked in? With trait interactions?

Of course! Saprovore and Eater of the Dead saves, and Psychopath gives bonuses. Check the attached changes. And also suggest any interaction that would be beneficial to overall aspect of this feature, if you think I missed one.

It may be interesting for the body bag to be deployable as furniture, like cots and the like, as a furniture that hides you, to represent hiding in it. A bit of a weird idea, but it could be cool!

Out of the scope of this PR and kinda spooky, but it surely can be coded in the future.

So you can get medical glove, syringe and fetuses from digging graves ? Isn't that a bit weird ?

That is intentional. Medial gloves & syringes are considered here as leftovers from medical procedures under hasty conditions. Mutated legs, arms, fetuses - all fit either the blob poisoning the ground waters and affecting buried bodies, or as medical "refuse" that was buried instead of incinerated.

Of course I'd gladly accept more ideas of items that I could place on the list here, if you have any.

nexusmrsep added some commits Mar 19, 2019

@Night-Pryanik

This comment has been minimized.

Copy link
Member

commented Mar 21, 2019

Question 1: should I add urns for cremated bodies & ashes?

Yeah, that would fit thematically. But I guess they should be in mausoleum.

Question 2: should I add random chance of finding a hidden stash in a grave? what would be in it?

A very small chance to find a stash, like 1 or 2 percents. As one of the options, I think

изображение

this could be added. But again, that will require a mausoleum.

@nexusmrsep

This comment has been minimized.

Copy link
Contributor Author

commented Mar 22, 2019

Thanks for the hint. Perhaps I'll code mausoleum/columbarium some day, but it would be bloating this PR if I decide to do it here, so I think that's all for now.

nexusmrsep added some commits Mar 26, 2019

@@ -2911,6 +2911,9 @@ void activity_handlers::dig_finish( player_activity *act, player *p )
}
g->u.add_memorial_log( pgettext( "memorial_male", "Exhumed a grave." ),
pgettext( "memorial_female", "Exhumed a grave." ) );
g->m.ter_set( pos, t_pit_shallow );
} else {
g->m.ter_set( pos, t_pit_shallow );

This comment has been minimized.

Copy link
@Night-Pryanik

Night-Pryanik Mar 29, 2019

Member

If it's no matter whether grave is true or false, g->m.ter_set( pos, t_pit_shallow ); could be set only once after the if( grave ) check.

This comment has been minimized.

Copy link
@nexusmrsep

nexusmrsep Mar 29, 2019

Author Contributor

Thanks for finding that. That's a typo I missed when resolving merge conflicts. T_pit is the right one. My reasoning behind this is that grave is deeper then a shallow pit, but since the casket takes some place the digging cost is equal to shallow pit.

nexusmrsep added some commits Mar 29, 2019

@halfahermit

This comment has been minimized.

Copy link
Contributor

commented Mar 31, 2019

An idea for some developer who might find it useful - perhaps digging a grave could lead to some underground place? A hidden mausoleum?

Graves could be little 1x1 rooms at z -1. Then we could have a Buried Alive scenario that starts out in one.

@nexusmrsep

This comment has been minimized.

Copy link
Contributor Author

commented Apr 1, 2019

@halfahermit while tempting, this might be quite troublesome since z-level traversing without stairs might be a bit too much, and would conflict with other mechanics on purely technical level. But a locked mausoleum "cell" with a soft rock wall (breakable) might be a better way to do this. Either way - something for a future implementation.

@ZhilkinSerg ZhilkinSerg self-assigned this Apr 4, 2019

@nexusmrsep nexusmrsep changed the title [CR] Gravedigging Gravedigging Apr 5, 2019

nexusmrsep added some commits Apr 5, 2019

@nexusmrsep

This comment has been minimized.

Copy link
Contributor Author

commented Apr 5, 2019

After rework and conflict solving, due to new digging mechanics, its ready to go.

@kevingranade kevingranade merged commit 3b10ab5 into CleverRaven:master Apr 6, 2019

3 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
gorgon-ghprb Build finished.
Details

@nexusmrsep nexusmrsep deleted the nexusmrsep:graveyard branch Apr 6, 2019

@ZhilkinSerg ZhilkinSerg removed their assignment Apr 6, 2019

@kevingranade

This comment has been minimized.

Copy link
Member

commented Apr 10, 2019

This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there:

https://discourse.cataclysmdda.org/t/latest-experimental-features/5582/1106

l29ah added a commit to l29ah/Cataclysm-DDA that referenced this pull request Apr 23, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.