diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 2024fefdbc7..1b5c560a3f0 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -192,7 +192,7 @@ swap_hand() /mob/living/carbon/proc/help_shake_act(mob/living/carbon/M) - if (src.health > 0) + if (src.health > config.health_threshold_crit) if(src == M && istype(src, /mob/living/carbon/human)) var/mob/living/carbon/human/H = src src.visible_message( \ diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 614715275e9..1c97d1281a0 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -305,7 +305,7 @@ /obj/effect/equip_e/human/process() if (item) item.add_fingerprint(source) - if (!item) + else switch(place) if("mask") if (!( target.wear_mask )) @@ -542,7 +542,7 @@ It can still be worn/put on as normal. if (target.legcuffed) strip_item = target.legcuffed if("CPR") - if ((target.health >= -99.0 && target.health <= 0)) + if ((target.health >= -99.0 && target.health <= 0)) if ((target.health > config.health_threshold_dead && target.health < config.health_threshold_crit)) var/suff = min(target.getOxyLoss(), 7) target.adjustOxyLoss(-suff) target.updatehealth() diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index 1b236500d61..78eaa36f473 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -12,6 +12,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set "pAI candidate" = 1, // -- TLE // 7 "cultist" = IS_MODE_COMPILED("cult"), // 8 "infested monkey" = IS_MODE_COMPILED("monkey"), // 9 + "space ninja" = "true", // 9 ) var/global/list/underwear_m = list("White", "Grey", "Green", "Blue", "Black", "Mankini", "Love-Hearts", "Black2", "Grey2", "Stripey", "Kinky", "None") //Curse whoever made male/female underwear diffrent colours @@ -28,6 +29,7 @@ var/const/BE_ALIEN =(1<<6) var/const/BE_PAI =(1<<7) var/const/BE_CULTIST =(1<<8) var/const/BE_MONKEY =(1<<9) +var/const/BE_SPACENINJA=(1<<10) var/const/MAX_SAVE_SLOTS = 10 @@ -236,8 +238,8 @@ datum/preferences dat += "Rename slot - " dat += "Reload slot" - //column 1 - dat += "
" + //COLUMN 1 + dat += "
" dat += "Name: " dat += "[real_name] " @@ -263,41 +265,68 @@ datum/preferences dat += "[(sound_adminhelp)?"On":"Off"] toggle
" if(user.client.holder.level >= 5) - dat += "
OOC
" - dat += "Change color
__

" + dat += "
OOC color
__

" - dat += "
Occupation Choices
" - dat += "\tSet Preferences

" + dat += "\tOccupation Preferences
" if(jobban_isbanned(user, "Records")) dat += "You are banned from using character records.
" else - dat += "Character Records

" + dat += "Character Records
" - dat += "Flavor Text
" - dat += "Change
" + dat += "\tSet Skills ([GetSkillClass(used_skillpoints)][used_skillpoints > 0 ? " [used_skillpoints]" : "0"])
" + + dat += "Set Flavor Text
" if(lentext(flavor_text) <= 40) - dat += "[flavor_text]" + if(!lentext(flavor_text)) + dat += "\[...\]" + else + dat += "[flavor_text]" else dat += "[copytext(flavor_text, 1, 37)]...
" dat += "
" - dat += "Skill Choices
" - dat += "\t[GetSkillClass(used_skillpoints)] ([used_skillpoints])
" - dat += "\tSet Skills

" - - //column 2 - dat += "
" //height='300px' - - dat += "" + + //COLUMN 2 + dat += "
Body " - dat += "(®)" + //antag dat += "
" + if(jobban_isbanned(user, "Syndicate")) + dat += "You are banned from antagonist roles." + src.be_special = 0 + else + var/n = 0 + for (var/i in special_roles) + if(special_roles[i]) //if mode is available on the server + if(jobban_isbanned(user, i)) + dat += "Be [i]: \[BANNED]
" + else if(i == "pai candidate") + if(jobban_isbanned(user, "pAI")) + dat += "Be [i]: \[BANNED]
" + else + dat += "Be [i]: [src.be_special&(1<
" + n++ + dat += "
" + dat += "" + + dat += "" - dat += "Limbs: Adjust Limbs
" + dat += "" + + dat += "
" + dat += "Body (®)
" dat += "Species: [species]
" dat += "Blood Type: [b_type]
" - dat += "Skin Tone: [-s_tone + 35]/220
" + dat += "Skin Tone: [-s_tone + 35]/220
" + dat += "Adjust Skin
" + dat += "Adjust Limbs
" + dat += "
Preview
" + dat += "
" + + //display limbs below + var/ind = 0 for(var/name in organ_data) + //world << "[ind] \ [organ_data.len]" var/status = organ_data[name] var/organ_name = null switch(name) @@ -319,11 +348,18 @@ datum/preferences organ_name = "right hand" if(status == "cyborg") - dat += "\tRobotical [organ_name] prothesis
" - if(status == "amputated") - dat += "\tAmputated [organ_name]
" - dat+="
" - + ++ind + if(ind > 1) + dat += ", " + dat += "\tMechanical [organ_name] prothesis" + else if(status == "amputated") + ++ind + if(ind > 1) + dat += ", " + dat += "\tAmputated [organ_name]" + if(ind) + dat += "\[...\]" + dat += "

" if(gender == MALE) dat += "Underwear: [underwear_m[underwear]]
" @@ -332,8 +368,6 @@ datum/preferences dat += "Backpack Type:
[backbaglist[backbag]]
" - dat += "
Preview
" - dat += "
Hair
" dat += "Change Color
__

" dat += "Style: [h_style]
" @@ -345,22 +379,7 @@ datum/preferences dat += "
Eyes
" dat += "Change Color
__
" - dat += "

" - if(jobban_isbanned(user, "Syndicate")) - dat += "You are banned from antagonist roles." - src.be_special = 0 - else - var/n = 0 - for (var/i in special_roles) - if(special_roles[i]) //if mode is available on the server - if(jobban_isbanned(user, i)) - dat += "Be [i]: \[BANNED]
" - else if(i == "pai candidate") - if(jobban_isbanned(user, "pAI")) - dat += "Be [i]: \[BANNED]
" - else - dat += "Be [i]: [src.be_special&(1<
" - n++ + dat += "
" dat += "
" dat += "
" @@ -1021,6 +1040,10 @@ datum/preferences if(second_limb) organ_data[second_limb] = "cyborg" + if("skin_style") + var/skin_style_name = input(user, "Select a new skin style") as null|anything in list("default1", "default2", "default3") + if(!skin_style_name) return + else switch(href_list["preference"]) @@ -1231,6 +1254,7 @@ datum/preferences C.be_alien = be_special & BE_ALIEN C.be_pai = be_special & BE_PAI C.be_syndicate = be_special & BE_TRAITOR + C.be_spaceninja = be_special & BE_SPACENINJA if(isnull(src.ghost_ears)) src.ghost_ears = 1 //There were problems where the default was null before someone saved their profile. C.ghost_ears = src.ghost_ears C.ghost_sight = src.ghost_sight diff --git a/code/modules/mob/screen.dm b/code/modules/mob/screen.dm index 3cc082d1798..640f199ac10 100644 --- a/code/modules/mob/screen.dm +++ b/code/modules/mob/screen.dm @@ -518,6 +518,7 @@ if ((!( L.stat ) && L.canmove && !( L.restrained() ))) var/resisting = 0 for(var/obj/O in L.requests) + L.requests.Remove(O) del(O) resisting++ for(var/obj/item/weapon/grab/G in usr.grabbed_by) diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 48f044c6cc6..830fdaa319e 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -6,8 +6,9 @@ name = "hypospray" desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." icon = 'icons/obj/syringe.dmi' - item_state = "hypo" + item_state = "hypo1" icon_state = "hypo" + var/original_icon_state = "hypo" amount_per_transfer_from_this = 5 volume = 30 possible_transfer_amounts = null @@ -56,6 +57,7 @@ name = "autoinjector" desc = "A rapid and safe way to administer small amounts of drugs by untrained or trained personnel." icon_state = "autoinjector" + original_icon_state = "autoinjector" item_state = "autoinjector" amount_per_transfer_from_this = 5 volume = 5 @@ -74,9 +76,9 @@ /obj/item/weapon/reagent_containers/hypospray/autoinjector/update_icon() if(reagents.total_volume > 0) - icon_state = "[initial(icon_state)]1" + icon_state = "[original_icon_state]1" else - icon_state = "[initial(icon_state)]0" + icon_state = "[original_icon_state]0" /obj/item/weapon/reagent_containers/hypospray/autoinjector/examine() ..()