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
Severed IPC limbs can be plugged back in without surgery #8889
Conversation
return ..() | ||
|
||
visible_message("<span class='notice'>[src] is attempting to re-attach the [O]...</span>") |
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.
This needs to do the src == user stuff too
Will the limb retain the damage it's taken? Or will it magically heal to 0 damage |
return TRUE | ||
|
||
/mob/living/carbon/human/attackby(obj/item/I, mob/user, params) |
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.
Don't make this a human/attackby
make this an organ/external/attack
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.
🤔
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.
@tigercat2000 I feel this is actually less snowflake because having huge if
statements in human attacky gets messy, and is more prone to interference on intended behavior, especially since @uraniummeltdown's attacking refactor.
Also, it keeps the behavior of the item closets to the actual object.
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.
I think that could make sense, too. One thing in favor of tiger's view on this is that the organ's methods/properties are only 4 times in this method, and all the rest of the accesses are to stuff on human. Also this is the only thing in human/attackby right now.
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.
@Fox-McCloud I think it's better off on humans because it's not applicable to other carbons and there's a ton of human var accesses in the block - more than organ accesses. It's better off for the mob that contains the species to determine the behavior of things involved with having that species than have snowflake checks elsewhere, like organ code, to do stuff based on the species of the mob.
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.
@Crazylemon64 thoughts?
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.
Coin flip, gentlemen?
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.
from a design PoV I dislike how it makes IPCs less dependent on others to flourish
from a code PoV I'd prefer it implemented in organ/external/attack
as a check if the mounting point (would-be parent) is also robotic, instead of adding another species-specific behavior
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.
@Crazylemon64 this PR was already approved in #8783, but please let me know if your dislike from a design POV will change this, so I know whether I should implement your requested fixes.
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.
Did you guys ever figure out where you wanted this code? Seems absurd to me that this has been open for 5 months without an actual decision (and subsequent merge/close.)
@Regen1 the limb reattachment code is taken from the corresponding attach_limb code in surgery, so it has the same behavior as surgery limb attachment. It just skips surgery steps. |
Alright thank you! |
Unfortunately, this is being closed - it puts IPCs in a unhealthy state. It makes one of their major faults - decreased limb health - significantly less of a problem. It also gives them a unique benefit of not having to go to any surgery tables for limb reattachment, which is something that rivals the power of slime people regeneration, but without the nutrition cost - in fact, all it takes is a welder or wires. |
Blow my synths into pieces, this is my last welding torch |
This is just a redo of @Ziiro's #8783 but with Tiger's requested fixes.
🆑 Ziiro
balance: IPCs can now re-attach their own severed limbs without a surgery table
/:cl: