-
Notifications
You must be signed in to change notification settings - Fork 285
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
Further fleshing out of mi-go areas #1962
Further fleshing out of mi-go areas #1962
Conversation
src/map.h
Outdated
@@ -1707,6 +1707,7 @@ class map | |||
* @param p The point on this map where the item is and creature will be | |||
*/ | |||
void rotten_item_spawn( const item &item, const tripoint &p ); | |||
void smash_migo_nerve( const tripoint &p ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No reason for it to be a map
method. Try map_functions.h
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That does significantly increase the number of includes needed in map_functions.cpp before it'll work, unless you meant something else by that? Discussion on the discord indicates that's desired to reduce bloat in map.cpp anyway so will mess with that.
src/map.cpp
Outdated
"shout", "scream_tortured" ); | ||
monster *const spawn = g->place_critter_around( mon_mi_go_myrmidon, p, 1 ); | ||
spawn->set_hp( spawn->get_hp_max() / 2 ); | ||
if( g->u.sees( p ) ) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
get_player_character()
g->u
is going to be deprecated in the future.
"examine_action": "migo_nerve_cluster", | ||
"bash": { | ||
"str_min": 250, | ||
"str_max": 600, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can tear it with bare hands and yet it's harder than steel?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Holdover from before I figured out to write a smash function for it, whoops.
So I've commited my current work on this, with it converting the shared stuff into a single function in map_functions.cpp. So far this is now the only error I've got left while compiling:
EDIT: And easy fix thanks to Olanti spotting what I missed. |
src/iexamine.cpp
Outdated
if( query_yn( _( "This looks important. Tear open nerve cluster?" ) ) ) { | ||
p.mod_moves( -200 ); | ||
add_msg( _( "You grab hold of a sinewy tendril and wrench it loose!" ) ); | ||
map_funcs::handle_migo_nerve( here, examp, false ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
handle
is very ambiguous. on_migo_nerve_destroyed
or something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
migo_nerve_cage_removal
maybe?
Note to self: need to remember to PR the sprite to UDP repo when the unpacked version is finally in usable condition. |
Summary
SUMMARY: Balance "Adjustments to mi-go locations, atmosphere field"
Purpose of change
This tweaks a few things with mi-go locations to make the expected method of progression (target gasping tubes to de-yuggothform the environment, bust NPCs out, lead them out) a bit more feasible, in particular fixing some issues with NPCs having trouble pathing through mi-go gas due to it counting as dangerous. This also adds support for an alternative way to bust out captive NPCs, albeit with some risk.
Describe the solution
Describe alternatives you've considered
Testing
Additional context