mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-22 12:47:16 +01:00
Merge branch 'master' into upstream-merge-11716
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
for(var/language in pref.alternate_languages)
|
||||
var/datum/language/L = GLOB.all_languages[language]
|
||||
if(!istype(L) || (L.flags & RESTRICTED) || (!(language in S.secondary_langs) && pref.client && !is_lang_whitelisted(pref.client, L)))
|
||||
testing("LANGSANI: Removed [L?.name || "lang not found"] from [pref.client]'s character [pref.real_name || "-name not yet loaded-"] because it failed allowed checks")
|
||||
pref.alternate_languages -= language
|
||||
|
||||
if(isnull(pref.language_prefixes) || !pref.language_prefixes.len)
|
||||
|
||||
@@ -30,32 +30,6 @@
|
||||
/datum/gear/mask/plaguedoctor2
|
||||
display_name = "golden plague doctor's mask"
|
||||
path = /obj/item/clothing/mask/gas/plaguedoctor/gold
|
||||
<<<<<<< HEAD
|
||||
cost = 3 ///Because it functions as a gas mask, and therefore has a mechanical advantage.
|
||||
||||||| parent of 23daa38dfa... Merge pull request #11716 from GhostActual/straw_accessories
|
||||
cost = 3 ///Because it functions as a gas mask, and therefore has a mechanical advantage.
|
||||
|
||||
/datum/gear/mask/papermask
|
||||
display_name = "paper mask"
|
||||
path = /obj/item/clothing/mask/paper
|
||||
|
||||
/datum/gear/mask/emotionalmask
|
||||
display_name = "emotional mask"
|
||||
path = /obj/item/clothing/mask/emotions
|
||||
|
||||
/datum/gear/mask/gaiter
|
||||
display_name = "neck gaiter selection"
|
||||
path = /obj/item/clothing/mask/gaiter
|
||||
cost = 1
|
||||
|
||||
/datum/gear/mask/gaiter/New()
|
||||
..()
|
||||
var/list/gaiters = list()
|
||||
for(var/gaiter in typesof(/obj/item/clothing/mask/gaiter))
|
||||
var/obj/item/clothing/mask/gaiter_type = gaiter
|
||||
gaiters[initial(gaiter_type.name)] = gaiter_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortTim(gaiters, /proc/cmp_text_asc))
|
||||
=======
|
||||
cost = 3 ///Because it functions as a gas mask, and therefore has a mechanical advantage.
|
||||
|
||||
/datum/gear/mask/mouthwheat
|
||||
@@ -81,5 +55,4 @@
|
||||
for(var/gaiter in typesof(/obj/item/clothing/mask/gaiter))
|
||||
var/obj/item/clothing/mask/gaiter_type = gaiter
|
||||
gaiters[initial(gaiter_type.name)] = gaiter_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortTim(gaiters, /proc/cmp_text_asc))
|
||||
>>>>>>> 23daa38dfa... Merge pull request #11716 from GhostActual/straw_accessories
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortTim(gaiters, /proc/cmp_text_asc))
|
||||
@@ -89,37 +89,37 @@
|
||||
display_name = "flashlight"
|
||||
path = /obj/item/device/flashlight
|
||||
|
||||
/datum/gear/utility/flashlight_blue
|
||||
display_name = "flashlight, blue"
|
||||
path = /obj/item/device/flashlight/color
|
||||
|
||||
/datum/gear/utility/flashlight_orange
|
||||
display_name = "flashlight, orange"
|
||||
path = /obj/item/device/flashlight/color/orange
|
||||
|
||||
/datum/gear/utility/flashlight_red
|
||||
display_name = "flashlight, red"
|
||||
path = /obj/item/device/flashlight/color/red
|
||||
|
||||
/datum/gear/utility/flashlight_yellow
|
||||
display_name = "flashlight, yellow"
|
||||
path = /obj/item/device/flashlight/color/yellow
|
||||
|
||||
/datum/gear/utility/maglight
|
||||
display_name = "flashlight, maglight"
|
||||
path = /obj/item/device/flashlight/maglight
|
||||
cost = 2
|
||||
|
||||
/datum/gear/utility/flashlight/color
|
||||
display_name = "flashlight, small (selection)"
|
||||
path = /obj/item/device/flashlight/color
|
||||
|
||||
/datum/gear/utility/flashlight/color/New()
|
||||
..()
|
||||
var/list/flashlights = list(
|
||||
"Blue Flashlight" = /obj/item/device/flashlight/color,
|
||||
"Red Flashlight" = /obj/item/device/flashlight/color/red,
|
||||
"Green Flashlight" = /obj/item/device/flashlight/color/green,
|
||||
"Yellow Flashlight" = /obj/item/device/flashlight/color/yellow,
|
||||
"Purple Flashlight" = /obj/item/device/flashlight/color/purple,
|
||||
"Orange Flashlight" = /obj/item/device/flashlight/color/orange
|
||||
)
|
||||
gear_tweaks += new/datum/gear_tweak/path(flashlights)
|
||||
|
||||
/datum/gear/utility/battery
|
||||
display_name = "cell, device"
|
||||
path = /obj/item/weapon/cell/device
|
||||
|
||||
/datum/gear/utility/pen
|
||||
display_name = "Fountain Pen"
|
||||
display_name = "fountain pen"
|
||||
path = /obj/item/weapon/pen/fountain
|
||||
|
||||
/datum/gear/utility/umbrella
|
||||
display_name = "Umbrella"
|
||||
display_name = "umbrella"
|
||||
path = /obj/item/weapon/melee/umbrella
|
||||
cost = 3
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
display_name = "wheelchair selection"
|
||||
path = /obj/item/wheelchair
|
||||
cost = 4
|
||||
|
||||
|
||||
/datum/gear/utility/wheelchair/New()
|
||||
..()
|
||||
gear_tweaks += gear_tweak_free_color_choice
|
||||
|
||||
@@ -112,12 +112,17 @@
|
||||
else if(!pref.custom_base || !(pref.custom_base in GLOB.custom_species_bases))
|
||||
pref.custom_base = SPECIES_HUMAN
|
||||
|
||||
pref.custom_say = lowertext(trim(pref.custom_say))
|
||||
pref.custom_whisper = lowertext(trim(pref.custom_whisper))
|
||||
pref.custom_ask = lowertext(trim(pref.custom_ask))
|
||||
pref.custom_exclaim = lowertext(trim(pref.custom_exclaim))
|
||||
|
||||
/datum/category_item/player_setup_item/vore/traits/copy_to_mob(var/mob/living/carbon/human/character)
|
||||
character.custom_species = pref.custom_species
|
||||
character.custom_say = pref.custom_say
|
||||
character.custom_ask = pref.custom_ask
|
||||
character.custom_whisper = pref.custom_whisper
|
||||
character.custom_exclaim = pref.custom_exclaim
|
||||
character.custom_say = lowertext(trim(pref.custom_say))
|
||||
character.custom_ask = lowertext(trim(pref.custom_ask))
|
||||
character.custom_whisper = lowertext(trim(pref.custom_whisper))
|
||||
character.custom_exclaim = lowertext(trim(pref.custom_exclaim))
|
||||
|
||||
if(character.isSynthetic()) //Checking if we have a synth on our hands, boys.
|
||||
pref.dirty_synth = 1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/mob/var/suiciding = 0
|
||||
|
||||
/mob/living/carbon/human/verb/suicide()
|
||||
/mob/living/carbon/human/verb/suicide() /// At best, useful for admins to see if it's being called.
|
||||
set hidden = 1
|
||||
|
||||
if (stat == DEAD)
|
||||
@@ -10,83 +10,9 @@
|
||||
if (!ticker)
|
||||
to_chat(src, "You can't commit suicide before the game starts!")
|
||||
return
|
||||
|
||||
if(!player_is_antag(mind))
|
||||
message_admins("[ckey] has tried to suicide, but they were not permitted due to not being antagonist as human.", 1)
|
||||
to_chat(src, "No. Adminhelp if there is a legitimate reason.")
|
||||
return
|
||||
|
||||
if (suiciding)
|
||||
to_chat(src, "You're already committing suicide! Be patient!")
|
||||
return
|
||||
|
||||
var/confirm = tgui_alert(usr, "Are you sure you want to commit suicide?", "Confirm Suicide", list("Yes", "No"))
|
||||
|
||||
if(confirm == "Yes")
|
||||
if(!canmove || restrained()) //just while I finish up the new 'fun' suiciding verb. This is to prevent metagaming via suicide
|
||||
to_chat(src, "You can't commit suicide whilst restrained! ((You can type Ghost instead however.))")
|
||||
return
|
||||
suiciding = 15
|
||||
does_not_breathe = 0 //Prevents ling-suicide zombies, or something
|
||||
var/obj/item/held_item = get_active_hand()
|
||||
if(held_item)
|
||||
var/damagetype = held_item.suicide_act(src)
|
||||
if(damagetype)
|
||||
log_and_message_admins("[key_name(src)] commited suicide using \a [held_item]")
|
||||
var/damage_mod = 1
|
||||
switch(damagetype) //Sorry about the magic numbers.
|
||||
//brute = 1, burn = 2, tox = 4, oxy = 8
|
||||
if(15) //4 damage types
|
||||
damage_mod = 4
|
||||
|
||||
if(6, 11, 13, 14) //3 damage types
|
||||
damage_mod = 3
|
||||
|
||||
if(3, 5, 7, 9, 10, 12) //2 damage types
|
||||
damage_mod = 2
|
||||
|
||||
if(1, 2, 4, 8) //1 damage type
|
||||
damage_mod = 1
|
||||
|
||||
else //This should not happen, but if it does, everything should still work
|
||||
damage_mod = 1
|
||||
|
||||
//Do 175 damage divided by the number of damage types applied.
|
||||
if(damagetype & BRUTELOSS)
|
||||
adjustBruteLoss(30/damage_mod) //hack to prevent gibbing
|
||||
adjustOxyLoss(145/damage_mod)
|
||||
|
||||
if(damagetype & FIRELOSS)
|
||||
adjustFireLoss(175/damage_mod)
|
||||
|
||||
if(damagetype & TOXLOSS)
|
||||
adjustToxLoss(175/damage_mod)
|
||||
|
||||
if(damagetype & OXYLOSS)
|
||||
adjustOxyLoss(175/damage_mod)
|
||||
|
||||
//If something went wrong, just do normal oxyloss
|
||||
if(!(damagetype | BRUTELOSS) && !(damagetype | FIRELOSS) && !(damagetype | TOXLOSS) && !(damagetype | OXYLOSS))
|
||||
adjustOxyLoss(max(175 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
|
||||
|
||||
updatehealth()
|
||||
return
|
||||
|
||||
log_and_message_admins("[key_name(src)] commited suicide")
|
||||
|
||||
var/datum/gender/T = gender_datums[get_visible_gender()]
|
||||
|
||||
var/suicidemsg
|
||||
suicidemsg = pick("<span class='danger'>[src] is attempting to bite [T.his] tongue off! It looks like [T.he] [T.is] trying to commit suicide.</span>", \
|
||||
"<span class='danger'>[src] is jamming [T.his] thumbs into [T.his] eye sockets! It looks like [T.he] [T.is] trying to commit suicide.</span>", \
|
||||
"<span class='danger'>[src] is twisting [T.his] own neck! It looks like [T.he] [T.is] trying to commit suicide.</span>", \
|
||||
"<span class='danger'>[src] is holding [T.his] breath! It looks like [T.he] [T.is] trying to commit suicide.</span>")
|
||||
if(isSynthetic())
|
||||
suicidemsg = "<span class='danger'>[src] is attempting to switch [T.his] power off! It looks like [T.he] [T.is] trying to commit suicide.</span>"
|
||||
visible_message(suicidemsg)
|
||||
|
||||
adjustOxyLoss(max(175 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
|
||||
updatehealth()
|
||||
|
||||
to_chat(src, "<span class='warning'>No. Adminhelp if there is a legitimate reason, and please review our server rules.</span>")
|
||||
message_admins("[ckey] has tried to trigger the suicide verb as human, but it is currently disabled.")
|
||||
|
||||
/mob/living/carbon/brain/verb/suicide()
|
||||
set hidden = 1
|
||||
|
||||
Reference in New Issue
Block a user