Skip to content

Adds an button for IPCs to reconfigure their limbs back to manafacturers specification. #7079

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@
var/datum/action/innate/change_screen/change_screen
/// This is the screen that is given to the user after they get revived. On death, their screen is temporarily set to BSOD before it turns off, hence the need for this var.
var/saved_screen = "Blank"

/// The innate action for reconfiguring limbs
var/datum/action/innate/reconfigure_limbs/reconfigure
var/will_it_blend_timer
COOLDOWN_DECLARE(blend_cd)
var/blending
Expand Down Expand Up @@ -109,6 +110,9 @@
if(ishuman(C) && !change_screen)
change_screen = new
change_screen.Grant(C)
if(ishuman(C) && !reconfigure)
reconfigure = new
reconfigure.Grant(C)

RegisterSignal(C, COMSIG_ATOM_EMAG_ACT, PROC_REF(on_emag_act))
RegisterSignal(C, COMSIG_LIVING_DEATH, PROC_REF(bsod_death)) // screen displays bsod on death, if they have one
Expand Down Expand Up @@ -175,6 +179,20 @@
button_icon = 'icons/mob/actions/actions_silicon.dmi'
button_icon_state = "drone_vision"

/datum/action/innate/reconfigure_limbs
name = "Reconfigure Limbs"
desc = "Reconfigures non-manufacturer spec limbs to manafacturer specification."
button_icon = 'icons/mob/actions/actions_silicon.dmi'
button_icon_state = "pai"

/datum/action/innate/reconfigure_limbs/Activate()
if(!owner)
return
var/mob/living/carbon/human/target_ipc = owner
var/datum/species/ipc/target_species = target_ipc.dna.species
target_species.update_chassis(target_ipc)
target_ipc.update_appearance()

/datum/action/innate/change_screen/Activate()
var/screen_choice = tgui_input_list(usr, "Which screen do you want to use?", "Screen Change", GLOB.ipc_screens_list)
var/color_choice = tgui_color_picker(usr, "Which color do you want your screen to be", "Color Change")
Expand Down
Loading