[MIRROR] Have you bingled that (#10545)

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-03-29 14:12:53 -07:00
committed by GitHub
parent 057fffd669
commit 16a213f699
386 changed files with 5637 additions and 1162 deletions
+3 -3
View File
@@ -56,9 +56,9 @@
if(!istype(M, /mob/living/carbon)) return
if (ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/temp = H.organs_by_name["r_hand"]
var/obj/item/organ/external/temp = H.organs_by_name[BP_R_HAND]
if (H.hand)
temp = H.organs_by_name["l_hand"]
temp = H.organs_by_name[BP_L_HAND]
if(temp && !temp.is_usable())
to_chat(H, span_warning("You can't use your [temp.name]"))
return
@@ -122,7 +122,7 @@
/mob/living/carbon/electrocute_act(var/shock_damage, var/obj/source, var/siemens_coeff = 1.0, var/def_zone = null, var/stun = 1)
if(status_flags & GODMODE) return 0 //godmode
if(def_zone == "l_hand" || def_zone == "r_hand") //Diona (And any other potential plant people) hands don't get shocked.
if(def_zone == BP_L_HAND || def_zone == BP_R_HAND) //Diona (And any other potential plant people) hands don't get shocked.
if(species.flags & IS_PLANT)
return 0
shock_damage *= siemens_coeff
@@ -109,7 +109,7 @@
user.visible_message(span_danger("\The [user] plunges \the [W] into \the [src]!"))
var/damage = shank_armor_helper(W, G, user)
apply_damage(damage, W.damtype, "torso", 0, sharp=W.sharp, edge=W.edge)
apply_damage(damage, W.damtype, BP_TORSO, 0, sharp=W.sharp, edge=W.edge)
if(W.hitsound)
playsound(src, W.hitsound, 50, 1, -1)
@@ -313,7 +313,7 @@
msg += span_warning("[T.He] [T.is] on fire!.")
var/ssd_msg = species.get_ssd(src)
if(ssd_msg && (!should_have_organ("brain") || has_brain()) && stat != DEAD)
if(ssd_msg && (!should_have_organ(O_BRAIN) || has_brain()) && stat != DEAD)
if(!key)
msg += span_deadsay("[T.He] [T.is] [ssd_msg]. It doesn't look like [T.he] [T.is] waking up anytime soon.")
else if(!client)
@@ -139,7 +139,7 @@
L[++L.len] = list("Suit charge: [cell_status]", null, null, null, null)
for(var/obj/item/rig_module/module in R.installed_modules)
{
for(var/stat_rig_module/SRM in module.stat_modules)
for(var/atom/movable/stat_rig_module/SRM in module.stat_modules)
if(SRM.CanUse())
L[++L.len] = list(SRM.module.interface_name,null,null,SRM.name,REF(SRM))
}
@@ -377,7 +377,7 @@
if(status_flags & GODMODE) return 0 //godmode
if (!def_zone)
def_zone = pick("l_hand", "r_hand")
def_zone = pick(BP_L_HAND, BP_R_HAND)
if(species.siemens_coefficient == -1)
if(stored_shock_by_ref["\ref[src]"])
@@ -813,7 +813,7 @@
//Used by various things that knock people out by applying blunt trauma to the head.
//Checks that the species has a "head" (brain containing organ) and that hit_zone refers to it.
/mob/living/carbon/human/proc/headcheck(var/target_zone, var/brain_tag = "brain")
/mob/living/carbon/human/proc/headcheck(var/target_zone, var/brain_tag = O_BRAIN)
var/obj/item/organ/affecting = internal_organs_by_name[brain_tag]
@@ -1635,7 +1635,7 @@
/mob/living/carbon/human/can_stand_overridden()
if(wearing_rig && wearing_rig.ai_can_move_suit(check_for_ai = 1))
// Actually missing a leg will screw you up. Everything else can be compensated for.
for(var/limbcheck in list("l_leg","r_leg"))
for(var/limbcheck in list(BP_L_LEG,BP_R_LEG))
var/obj/item/organ/affecting = get_organ(limbcheck)
if(!affecting)
return 0
@@ -41,9 +41,9 @@
var/has_hands = TRUE
if(istype(H))
var/obj/item/organ/external/temp = H.organs_by_name["r_hand"]
var/obj/item/organ/external/temp = H.organs_by_name[BP_R_HAND]
if(H.hand)
temp = H.organs_by_name["l_hand"]
temp = H.organs_by_name[BP_L_HAND]
if(!temp || !temp.is_usable())
has_hands = FALSE
for(var/thing in GetViruses()) //This is intentionally not having a has_hands check. If you are clicking on someone next to them, you're close enough to sneeze/cough on them!
@@ -51,8 +51,8 @@
if(status_flags & GODMODE) return 0 //godmode
if(should_have_organ("brain"))
var/obj/item/organ/internal/brain/sponge = internal_organs_by_name["brain"]
if(should_have_organ(O_BRAIN))
var/obj/item/organ/internal/brain/sponge = internal_organs_by_name[O_BRAIN]
if(sponge)
sponge.take_damage(amount)
brainloss = sponge.damage
@@ -65,8 +65,8 @@
if(status_flags & GODMODE) return 0 //godmode
if(should_have_organ("brain"))
var/obj/item/organ/internal/brain/sponge = internal_organs_by_name["brain"]
if(should_have_organ(O_BRAIN))
var/obj/item/organ/internal/brain/sponge = internal_organs_by_name[O_BRAIN]
if(sponge)
sponge.damage = min(max(amount, 0),(getMaxHealth()*2))
brainloss = sponge.damage
@@ -79,8 +79,8 @@
if(status_flags & GODMODE) return 0 //godmode
if(should_have_organ("brain"))
var/obj/item/organ/internal/brain/sponge = internal_organs_by_name["brain"]
if(should_have_organ(O_BRAIN))
var/obj/item/organ/internal/brain/sponge = internal_organs_by_name[O_BRAIN]
if(sponge)
brainloss = min(sponge.damage,getMaxHealth()*2)
else
@@ -545,9 +545,9 @@ emp_act
// This does a prob check to catch the thing flying at you, with a minimum of 1%
/mob/living/carbon/human/proc/can_catch(var/obj/O)
if(!get_active_hand()) // If active hand is empty
var/obj/item/organ/external/temp = organs_by_name["r_hand"]
var/obj/item/organ/external/temp = organs_by_name[BP_R_HAND]
if (hand)
temp = organs_by_name["l_hand"]
temp = organs_by_name[BP_L_HAND]
if(temp && !temp.is_usable())
return FALSE // The hand isn't working in the first place
@@ -74,7 +74,7 @@
return
var/limb_pain = FALSE
for(var/limb_tag in list("l_leg","r_leg","l_foot","r_foot"))
for(var/limb_tag in list(BP_L_LEG,BP_R_LEG,BP_L_FOOT,BP_R_FOOT))
var/obj/item/organ/external/E = organs_by_name[limb_tag]
if(!E || !E.is_usable())
stance_damage += 2 // let it fail even if just foot&leg
@@ -47,8 +47,8 @@
if(stat)
return
var/obj/item/organ/external/l_hand = get_organ("l_hand")
var/obj/item/organ/external/r_hand = get_organ("r_hand")
var/obj/item/organ/external/l_hand = get_organ(BP_L_HAND)
var/obj/item/organ/external/r_hand = get_organ(BP_R_HAND)
if((!l_hand || l_hand.is_stump()) && (!r_hand || r_hand.is_stump()))
to_chat(src, span_warning("You have no hands to play games with!"))
return
@@ -59,8 +59,8 @@
continue
if(H == src)
continue
var/obj/item/organ/external/l_hand2 = H.get_organ("l_hand")
var/obj/item/organ/external/r_hand2 = H.get_organ("r_hand")
var/obj/item/organ/external/l_hand2 = H.get_organ(BP_L_HAND)
var/obj/item/organ/external/r_hand2 = H.get_organ(BP_R_HAND)
if((!l_hand2 || l_hand2.is_stump()) && (!r_hand2 || r_hand2.is_stump()))
continue
nearby |= H
@@ -70,8 +70,8 @@
continue
if(H == src)
continue
var/obj/item/organ/external/l_hand2 = H.get_organ("l_hand")
var/obj/item/organ/external/r_hand2 = H.get_organ("r_hand")
var/obj/item/organ/external/l_hand2 = H.get_organ(BP_L_HAND)
var/obj/item/organ/external/r_hand2 = H.get_organ(BP_R_HAND)
if((!l_hand2 || l_hand2.is_stump()) && (!r_hand2 || r_hand2.is_stump()))
continue
nearby |= H
+2 -2
View File
@@ -1293,7 +1293,7 @@
else //ALIVE. LIGHTS ARE ON
updatehealth() //TODO
if(health <= CONFIG_GET(number/health_threshold_dead) || (should_have_organ("brain") && !has_brain()))
if(health <= CONFIG_GET(number/health_threshold_dead) || (should_have_organ(O_BRAIN) && !has_brain()))
death()
blinded = 1
silent = 0
@@ -1321,7 +1321,7 @@
qdel(a)
//Brain damage from Oxyloss
if(should_have_organ("brain"))
if(should_have_organ(O_BRAIN))
var/brainOxPercent = 0.015 //Default 1.5% of your current oxyloss is applied as brain damage, 50 oxyloss is 1 brain damage
if(CE_STABLE in chem_effects)
brainOxPercent = 0.008 //Halved in effect
@@ -57,6 +57,7 @@
reagent_state = LIQUID
color = "#ffffff"
scannable = 1
wiki_flag = WIKI_SPOILER
/datum/reagent/glamour_scaling/affect_blood(var/mob/living/carbon/target, var/removed)
if(!(/mob/living/proc/set_size in target.verbs))
@@ -551,7 +551,7 @@
return
//VOREStation Edit Start - Headpats and Handshakes.
if(H.zone_sel.selecting == "head")
if(H.zone_sel.selecting == BP_HEAD)
if(target.touch_reaction_flags & SPECIES_TRAIT_PATTING_DEFENCE)
H.visible_message( \
span_warning("[target] reflexively bites the hand of [H] to prevent head patting!"), \
@@ -564,7 +564,7 @@
H.visible_message( \
span_notice("[H] pats [target] on the head."), \
span_notice("You pat [target] on the head."), )
else if(H.zone_sel.selecting == "r_hand" || H.zone_sel.selecting == "l_hand")
else if(H.zone_sel.selecting == BP_R_HAND || H.zone_sel.selecting == BP_L_HAND)
H.visible_message( \
span_notice("[H] shakes [target]'s hand."), \
span_notice("You shake [target]'s hand."), )
@@ -25,7 +25,7 @@
virus_immune = 1
has_organ = list(
"brain" = /obj/item/organ/internal/brain/golem
O_BRAIN = /obj/item/organ/internal/brain/golem
)
death_message = "becomes completely motionless..."
@@ -30,11 +30,11 @@ var/global/list/sparring_attack_cache = list()
return FALSE
// Check if they have a functioning hand.
var/obj/item/organ/external/E = user.organs_by_name["l_hand"]
var/obj/item/organ/external/E = user.organs_by_name[BP_L_HAND]
if(E && !E.is_stump())
return TRUE
E = user.organs_by_name["r_hand"]
E = user.organs_by_name[BP_R_HAND]
if(E && !E.is_stump())
return TRUE
@@ -79,7 +79,7 @@ var/global/list/sparring_attack_cache = list()
if(BP_GROIN)
target.visible_message(span_warning("[target] looks like [TT.he] [TT.is] in pain!"), span_warning("Oh god that hurt!")) // Chompstation edit
target.apply_effects(stutter = attack_damage * 2, agony = attack_damage* 3, blocked = armour)
if("l_leg", "l_foot", "r_leg", "r_foot")
if(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT)
if(!target.lying)
target.visible_message(span_warning("[target] gives way slightly."))
target.apply_effect(attack_damage*3, AGONY, armour)
@@ -199,14 +199,14 @@ var/global/list/sparring_attack_cache = list()
if(user.legcuffed || user.buckled)
return FALSE
if(!(zone in list("l_leg", "r_leg", "l_foot", "r_foot", BP_GROIN)))
if(!(zone in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT, BP_GROIN)))
return FALSE
var/obj/item/organ/external/E = user.organs_by_name["l_foot"]
var/obj/item/organ/external/E = user.organs_by_name[BP_L_FOOT]
if(E && !E.is_stump())
return TRUE
E = user.organs_by_name["r_foot"]
E = user.organs_by_name[BP_R_FOOT]
if(E && !E.is_stump())
return TRUE
@@ -247,14 +247,14 @@ var/global/list/sparring_attack_cache = list()
if(!istype(target))
return FALSE
if (!user.lying && (target.lying || (zone in list("l_foot", "r_foot"))))
if (!user.lying && (target.lying || (zone in list(BP_L_FOOT, BP_R_FOOT))))
if(target.grabbed_by == user && target.lying)
return FALSE
var/obj/item/organ/external/E = user.organs_by_name["l_foot"]
var/obj/item/organ/external/E = user.organs_by_name[BP_L_FOOT]
if(E && !E.is_stump())
return TRUE
E = user.organs_by_name["r_foot"]
E = user.organs_by_name[BP_R_FOOT]
if(E && !E.is_stump())
return TRUE
+1 -1
View File
@@ -966,7 +966,7 @@
if(ishuman(src))
var/mob/living/carbon/human/H = src
if(!H.isSynthetic())
var/obj/item/organ/internal/liver/L = H.internal_organs_by_name["liver"]
var/obj/item/organ/internal/liver/L = H.internal_organs_by_name[O_LIVER]
if(!L || L.is_broken())
blood_vomit = 1
@@ -336,11 +336,11 @@
else
t_him = "them"
if(H.zone_sel.selecting == "head")
if(H.zone_sel.selecting == BP_HEAD)
H.visible_message( \
span_notice("[H] pats [target] on the head."), \
span_notice("You pat [target] on the head."), )
else if(H.zone_sel.selecting == "r_hand" || H.zone_sel.selecting == "l_hand")
else if(H.zone_sel.selecting == BP_R_HAND || H.zone_sel.selecting == BP_L_HAND)
H.visible_message( \
span_notice("[H] shakes [target]'s hand."), \
span_notice("You shake [target]'s hand."), )
@@ -77,7 +77,7 @@
if(!E || E.is_stump())
to_chat(src, span_warning("\The [H] does not have a head!"))
if(!H.should_have_organ("brain"))
if(!H.should_have_organ(O_BRAIN))
to_chat(src, span_warning("\The [H] does not seem to have an ear canal to breach."))
return
@@ -112,7 +112,7 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/I = H.internal_organs_by_name["brain"]
var/obj/item/organ/I = H.internal_organs_by_name[O_BRAIN]
if(!I) // No brain organ, so the borer moves in and replaces it permanently.
replace_brain()
else
@@ -182,7 +182,7 @@
H.ChangeToHusk()
var/obj/item/organ/internal/borer/B = new(H)
H.internal_organs_by_name["brain"] = B
H.internal_organs_by_name[O_BRAIN] = B
H.internal_organs |= B
var/obj/item/organ/external/affecting = H.get_organ(BP_HEAD)
+2 -2
View File
@@ -277,8 +277,8 @@
else if(istype(my_mob.buckled, /obj/structure/bed/chair/wheelchair))
if(ishuman(my_mob))
var/mob/living/carbon/human/driver = my_mob
var/obj/item/organ/external/l_hand = driver.get_organ("l_hand")
var/obj/item/organ/external/r_hand = driver.get_organ("r_hand")
var/obj/item/organ/external/l_hand = driver.get_organ(BP_L_HAND)
var/obj/item/organ/external/r_hand = driver.get_organ(BP_R_HAND)
if((!l_hand || l_hand.is_stump()) && (!r_hand || r_hand.is_stump()))
return // No hands to drive your chair? Tough luck!
//drunk wheelchair driving
+8 -6
View File
@@ -50,12 +50,14 @@ var/obj/effect/lobby_image = new /obj/effect/lobby_image
created_for = ckey
new_player_panel()
client.init_verbs()
spawn(40)
if(client)
handle_privacy_poll()
client.playtitlemusic()
version_warnings()
addtimer(CALLBACK(src, PROC_REF(do_after_login)), 4 SECONDS, TIMER_DELETE_ME)
/mob/new_player/proc/do_after_login()
PRIVATE_PROC(TRUE)
if(client)
handle_privacy_poll()
client.playtitlemusic()
version_warnings()
/mob/new_player/proc/version_warnings()
var/problems // string to store message to present to player as a problem
@@ -195,7 +195,6 @@
client.prefs.dress_preview_mob(mannequin)
var/mob/observer/dead/observer = new(mannequin)
observer.moveToNullspace() //Let's not stay in our doomed mannequin
qdel(mannequin) //We're not used anymore, so goodbye!
spawning = 1
if(client.media)