Have you bingled that (#17407)

* Initial wiki system

* wiki organization and spoilers

* hide belly chems

* move ads to tgui

* add search

* .

* load screen

* error screen

* 8

* center

* .

* .

* make this more realistic

* tgui errro col

* move search to top

* .

* non NT theme

* logo to common

* base custom theme

* .

* wip refactor

* almost halfway

* reworked wiki data

* easy fix

* get data fix

* Material Page in tgui

* catch null supply points

* .

* forward crash

* reset pages

* .

* canvas prep

* fix icon stacking

* .

* colored outlined images

* fix sm datum

* fix material names

* subType prep

* only on crash

* fix null crash

* .

* fix solgov

* clean hiding

* .

* implement catalog page

* .

* particle smasher page

* I'm lazy

* unfuck some sins

* ore page

* botany page

* allergen list

* allergen returns null too

* slime injection var

* slime core data

* fixed warning

* wip

* proper data list for chems

* pass is_slime as null

* chems

* split that

* .

* .

* .

* .

* donation for bingle, some cleanup

* return types

* partially colord icons for chemistry

* .

* more sillies

* donation page

* thaler

* needs some variation

* .

* this will crash until implemented

* handle it

* fix that

* dismiss donation banner button

* .

* fix that

* donating procs

* donation stuff for comp

* -

* drink glass for drinks

* illegal iconstate pass

* fixes

* .

* nuke drink fix

* .

* .

* .

* Drink reagent fix

* more cleanup

* adjust

* .

* simple food

* .

* food list

* sending nulls, removed flavor from recipes

* .

* .

* get_donation_current added

* .

* missing key

* .

* duped recipes fixed

* .

* .

* wiki food reagent recipes

* double list add

* properly forbid remaining bad reagent

* hide this too

* stacky

* enable eslint const

* fix typing

* update that

* use proper donation proc

* printing fixes

* grinding

* .

* beaker fill volume

* plant ore and mat grinding results

* duped recipes fixed, unit test tweak

* yes this is terrible

* .

* .

* .

* chem analyzer tgui mode, some subsystem changes to support it

* redoce

* .

* ,

* .

* small fixes, missing reagent volume

* push

* sort

* catalog entries unlocked by explo

* new chem stuff

* .

* fix byond code

* fix scroll tracking

* comment

* alphabetical

* also this

* .

* fallback icon

* .

* ...

* rel path

* that too

* to defines

* organ to define

* .

* .

* .

---------

Co-authored-by: Willburd <7099514+Willburd@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
Cameron Lennox
2025-03-28 19:00:50 +01:00
committed by GitHub
co-authored by Willburd Kashargul
parent 0d340a761b
commit c42610c5ae
361 changed files with 5588 additions and 1128 deletions
@@ -87,8 +87,8 @@ var/global/list/image/splatter_cache=list()
if(amount < 1)
return
var/obj/item/organ/external/l_foot = perp.get_organ("l_foot")
var/obj/item/organ/external/r_foot = perp.get_organ("r_foot")
var/obj/item/organ/external/l_foot = perp.get_organ(BP_L_FOOT)
var/obj/item/organ/external/r_foot = perp.get_organ(BP_R_FOOT)
var/hasfeet = 1
if((!l_foot || l_foot.is_stump()) && (!r_foot || r_foot.is_stump()))
hasfeet = 0
+2 -2
View File
@@ -289,9 +289,9 @@
return
if (hasorgans(user))
var/mob/living/carbon/human/H = user
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 (user.hand)
temp = H.organs_by_name["l_hand"]
temp = H.organs_by_name[BP_L_HAND]
if(temp && !temp.is_usable())
to_chat(user, span_notice("You try to move your [temp.name], but cannot!"))
return
+2 -2
View File
@@ -73,9 +73,9 @@
/obj/item/deskbell/proc/check_ability(mob/user)
if (ishuman(user))
var/mob/living/carbon/human/H = user
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_notice("You try to move your [temp.name], but cannot!"))
return 0
+3 -3
View File
@@ -747,7 +747,7 @@
return FALSE
if(bullets_left == 1)
bullets_left = 0
var/zone = "head"
var/zone = BP_HEAD
if(!(user.has_organ(zone))) // If they somehow don't have a head.
zone = "chest"
playsound(src, 'sound/effects/snap.ogg', 50, 1)
@@ -1035,10 +1035,10 @@
if(!isanimal(user))
if(!user.get_active_hand()) //if active hand is empty
var/mob/living/carbon/human/H = user
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(user,span_notice("You try to move your [temp.name], but cannot!"))
return
@@ -811,15 +811,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM
else // Just like the cheap lighter, this time you can shock/burn yourself a little on the hardlight shield
to_chat(user, span_warning("You hurt yourself on the shielding!"))
if (user.get_left_hand() == src)
user.apply_damage(1,SEARING,"l_hand")
user.apply_damage(2,ELECTROCUTE,"l_hand")
user.apply_damage(3,CLONE,"l_hand")
user.apply_damage(4,ELECTROMAG,"l_hand")
user.apply_damage(1,SEARING,BP_L_HAND)
user.apply_damage(2,ELECTROCUTE,BP_L_HAND)
user.apply_damage(3,CLONE,BP_L_HAND)
user.apply_damage(4,ELECTROMAG,BP_L_HAND)
else
user.apply_damage(1,SEARING,"r_hand")
user.apply_damage(2,ELECTROCUTE,"r_hand")
user.apply_damage(3,CLONE,"r_hand")
user.apply_damage(4,ELECTROMAG,"r_hand")
user.apply_damage(1,SEARING,BP_R_HAND)
user.apply_damage(2,ELECTROCUTE,BP_R_HAND)
user.apply_damage(3,CLONE,BP_R_HAND)
user.apply_damage(4,ELECTROMAG,BP_R_HAND)
user.visible_message(span_notice("After a few attempts, [user] manages to activate the [src], they however sting themselves on the shielding!"))
set_light(2)
@@ -882,15 +882,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM
else // Just like with the cheap lighter, but this time you can hurt yourself on the heated phoron field
to_chat(user, span_warning("You singe yourself on the phoron shielding the excited supermatter!"))
if (user.get_left_hand() == src)
user.apply_damage(30,HALLOSS,"l_hand")
user.apply_damage(30,HALLOSS,BP_L_HAND)
user.apply_effect(20,IRRADIATE)
user.apply_damage(5,BURN,"l_hand")
user.apply_damage(5,ELECTROCUTE,"l_hand")
user.apply_damage(5,BURN,BP_L_HAND)
user.apply_damage(5,ELECTROCUTE,BP_L_HAND)
else
user.apply_damage(30,HALLOSS,"r_hand")
user.apply_damage(30,HALLOSS,BP_R_HAND)
user.apply_effect(20,IRRADIATE)
user.apply_damage(5,BURN,"r_hand")
user.apply_damage(5,ELECTROCUTE,"r_hand")
user.apply_damage(5,BURN,BP_R_HAND)
user.apply_damage(5,ELECTROCUTE,BP_R_HAND)
user.visible_message(span_notice("After a few attempts, [user] manages to activate the [src], they however burn themselves with the heated phoron field!"))
set_light(2)
@@ -951,73 +951,73 @@ CIGARETTE PACKETS ARE IN FANCY.DM
to_chat(user, span_rose("[user] safely reveals the supermatter shard within the [src]!"))
user.visible_message(span_rose("You safely revealed the supermatter shard within the [src]!"))
if (user.get_left_hand() == src)
user.apply_damage(1, IRRADIATE, "l_hand")
user.apply_damage(1, IRRADIATE, BP_L_HAND)
else // Even using this safely will irradiate you a tiny tiny bit.
user.apply_damage(1, IRRADIATE, "r_hand")
user.apply_damage(1, IRRADIATE, BP_R_HAND)
if(23 to 33)
to_chat(user, span_warning("[user]'s hand slipped and they brush against the supermatter within [src]!"))
user.visible_message(span_notice("You accidentally grazed your hand across the supermatter!"))
if (user.get_left_hand() == src)
user.apply_damage(10, IRRADIATE, "l_hand")
user.apply_damage(20, BURN, "l_hand")
user.apply_damage(20, ELECTROCUTE, "l_hand")
user.apply_damage(50, AGONY, "l_hand")
user.apply_damage(10, IRRADIATE, BP_L_HAND)
user.apply_damage(20, BURN, BP_L_HAND)
user.apply_damage(20, ELECTROCUTE, BP_L_HAND)
user.apply_damage(50, AGONY, BP_L_HAND)
else // One of the outcomes will burn and shock you, the pain is the worst part of this one though.
user.apply_damage(10, IRRADIATE, "r_hand")
user.apply_damage(20, BURN, "r_hand")
user.apply_damage(20, ELECTROCUTE, "r_hand")
user.apply_damage(50, AGONY, "r_hand")
user.apply_damage(10, IRRADIATE, BP_R_HAND)
user.apply_damage(20, BURN, BP_R_HAND)
user.apply_damage(20, ELECTROCUTE, BP_R_HAND)
user.apply_damage(50, AGONY, BP_R_HAND)
if(34 to 44)
to_chat(user, span_warning("[user] burned themselves on the [src]!"))
user.visible_message(span_notice("You accidentally burn yourself on the [src]!"))
if (user.get_left_hand() == src)
user.apply_damage(30, IRRADIATE, "l_hand")
user.apply_damage(20, SEARING, "l_hand")
user.apply_damage(15, BURN, "l_hand")
user.apply_damage(30, IRRADIATE, BP_L_HAND)
user.apply_damage(20, SEARING, BP_L_HAND)
user.apply_damage(15, BURN, BP_L_HAND)
else // One of the outcomes is pure burn and radiation.
user.apply_damage(30, IRRADIATE, "r_hand")
user.apply_damage(20, SEARING, "r_hand")
user.apply_damage(15, BURN, "r_hand")
user.apply_damage(30, IRRADIATE, BP_R_HAND)
user.apply_damage(20, SEARING, BP_R_HAND)
user.apply_damage(15, BURN, BP_R_HAND)
if(45 to 55)
to_chat(user, span_warning("[user] fumbled the [src] and the supermatter let out sparks!"))
user.visible_message(span_notice("You fumble the [src], letting the supermatter spark as the case opens!"))
if (user.get_left_hand() == src)
user.apply_damage(1, ELECTROCUTE, "l_hand")
user.apply_damage(100, ELECTROMAG, "l_hand")
user.apply_damage(1, ELECTROCUTE, BP_L_HAND)
user.apply_damage(100, ELECTROMAG, BP_L_HAND)
else // This one is mostly dangerous to synthetics and it will EMP you. But otherwise it's safe.
user.apply_damage(1, ELECTROCUTE, "r_hand")
user.apply_damage(100, ELECTROMAG, "r_hand")
user.apply_damage(1, ELECTROCUTE, BP_R_HAND)
user.apply_damage(100, ELECTROMAG, BP_R_HAND)
if(56 to 66)
to_chat(user, span_warning("[user] struggles to open their [src], but when they do they get burned by the extreme heat within!"))
user.visible_message(span_notice("You struggle to get the case to open, and when it does the heat that pours out of the [src] burns!"))
if (user.get_left_hand() == src)
user.apply_damage(1, IRRADIATE, "l_hand")
user.apply_damage(1, BRUISE, "l_hand")
user.apply_damage(200, BURN, "l_hand")
user.apply_damage(1, IRRADIATE, BP_L_HAND)
user.apply_damage(1, BRUISE, BP_L_HAND)
user.apply_damage(200, BURN, BP_L_HAND)
user.drop_l_hand()
else // This will INSTA-DUST your hand that you're holding the item in, and then make you drop the lighter.
user.apply_damage(1, IRRADIATE, "r_hand")
user.apply_damage(1, BRUISE, "r_hand")
user.apply_damage(200, BURN, "r_hand")
user.apply_damage(1, IRRADIATE, BP_R_HAND)
user.apply_damage(1, BRUISE, BP_R_HAND)
user.apply_damage(200, BURN, BP_R_HAND)
user.drop_r_hand()
if(67 to 77)
to_chat(user, span_warning("Ouch! While pushing on the release to open the [src], [user]'s finger slipped right as the case opened, pressing their finger firm against the supermatter!"))
user.visible_message(span_notice("You accidentally pushed your finger against the supermatter!"))
if (user.get_left_hand() == src)
user.apply_damage(50, HALLOSS, "l_hand")
user.apply_damage(40, IRRADIATE, "l_hand")
user.apply_damage(30, BURN, "l_hand")
user.apply_damage(20, TOX, "l_hand")
user.apply_damage(10, ELECTROCUTE, "l_hand")
user.apply_damage(50, HALLOSS, BP_L_HAND)
user.apply_damage(40, IRRADIATE, BP_L_HAND)
user.apply_damage(30, BURN, BP_L_HAND)
user.apply_damage(20, TOX, BP_L_HAND)
user.apply_damage(10, ELECTROCUTE, BP_L_HAND)
user.apply_effect(25, STUTTER)
user.apply_effect(15, SLUR)
user.apply_effect(5, STUN)
else // This one is VERY punishing, you get a ton of damage, a lot of pain, and a minor stun. Once the stun goes away you'll be stuttering for awhile as if in crit.
user.apply_damage(50, HALLOSS, "r_hand")
user.apply_damage(40, IRRADIATE, "r_hand")
user.apply_damage(30, BURN, "r_hand")
user.apply_damage(20, TOX, "r_hand")
user.apply_damage(10, ELECTROCUTE, "r_hand")
user.apply_damage(50, HALLOSS, BP_R_HAND)
user.apply_damage(40, IRRADIATE, BP_R_HAND)
user.apply_damage(30, BURN, BP_R_HAND)
user.apply_damage(20, TOX, BP_R_HAND)
user.apply_damage(10, ELECTROCUTE, BP_R_HAND)
user.apply_effect(25, STUTTER)
user.apply_effect(15, SLUR)
user.apply_effect(5, STUN)
@@ -1025,26 +1025,26 @@ CIGARETTE PACKETS ARE IN FANCY.DM
to_chat(user, span_notice("[user] managed to pinch themselves on the case of their [src]... it could have been worse."))
user.visible_message(span_notice("You manage to pinch yourself on the case!"))
if (user.get_left_hand() == src)
user.apply_damage(1, CLONE, "l_hand")
user.apply_damage(1, HALLOSS, "l_hand")
user.apply_damage(1, CLONE, BP_L_HAND)
user.apply_damage(1, HALLOSS, BP_L_HAND)
else // Aside from the base, this one isn't punishing outside of giving you genetic damage.
user.apply_damage(1, CLONE, "r_hand")
user.apply_damage(1, HALLOSS, "r_hand")
user.apply_damage(1, CLONE, BP_R_HAND)
user.apply_damage(1, HALLOSS, BP_R_HAND)
if(89 to 99)
to_chat(user, span_notice("[user] opened the [src] but forgot that you aren't supposed to look at supermatter!"))
user.visible_message(span_notice("You find yourself looking at the supermatter for longer than you should..."))
if (user.get_left_hand() == src)
user.apply_damage(15, HALLOSS, "l_hand")
user.apply_damage(15, HALLOSS, BP_L_HAND)
user.apply_effect(5, WEAKEN)
user.apply_damage(15, IRRADIATE, "l_hand")
user.apply_damage(15, IRRADIATE, BP_L_HAND)
user.apply_effect(100, EYE_BLUR)
user.apply_effect(50, AGONY)
user.apply_damage(5, OXY)
user.eye_blurry = 10
else // This one just blinds and blurs your screen, but otherwise doesn't actually risk harming you. Even the oxy damage heals on its own.
user.apply_damage(15, HALLOSS, "r_hand")
user.apply_damage(15, HALLOSS, BP_R_HAND)
user.apply_effect(5, WEAKEN)
user.apply_damage(15, IRRADIATE, "l_hand")
user.apply_damage(15, IRRADIATE, BP_L_HAND)
user.apply_effect(100, EYE_BLUR)
user.apply_effect(50, AGONY)
user.apply_damage(15, OXY)
@@ -126,7 +126,7 @@
to_chat(H, span_danger("You step on \the [src]!"))
var/list/check = list("l_foot", "r_foot")
var/list/check = list(BP_L_FOOT, BP_R_FOOT)
while(check.len)
var/picked = pick(check)
var/obj/item/organ/external/affecting = H.get_organ(picked)
@@ -24,9 +24,9 @@
/obj/item/storage/laundry_basket/attack_hand(mob/living/user as mob)
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/obj/item/organ/external/temp = H.get_organ("r_hand")
var/obj/item/organ/external/temp = H.get_organ(BP_R_HAND)
if (user.hand)
temp = H.get_organ("l_hand")
temp = H.get_organ(BP_L_HAND)
if(!temp)
to_chat(user, span_warning("You need two hands to pick this up!"))
return
+1 -1
View File
@@ -87,7 +87,7 @@
H.update_inv_wear_mask()
playsound(src, 'sound/effects/tape.ogg',25)
else if(user.zone_sel.selecting == "r_hand" || user.zone_sel.selecting == "l_hand")
else if(user.zone_sel.selecting == BP_R_HAND || user.zone_sel.selecting == BP_L_HAND)
if(!can_place(H, user))
return
+3 -3
View File
@@ -85,7 +85,7 @@
if(L.lying)
target_zone = ran_zone()
else
target_zone = pick("l_foot", "r_foot", "l_leg", "r_leg")
target_zone = pick(BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG)
//armour
var/blocked = L.run_armor_check(target_zone, "melee")
@@ -333,7 +333,7 @@
if(L.lying)
target_zone = ran_zone()
else
target_zone = pick("l_foot", "r_foot", "l_leg", "r_leg")
target_zone = pick(BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG)
//armour
var/blocked = L.run_armor_check(target_zone, "melee")
@@ -370,7 +370,7 @@
to_chat(H, span_danger("You step directly on \the [src]!"))
var/list/check = list("l_foot", "r_foot")
var/list/check = list(BP_L_FOOT, BP_R_FOOT)
while(check.len)
var/picked = pick(check)
var/obj/item/organ/external/affecting = H.get_organ(picked)
+2 -2
View File
@@ -50,9 +50,9 @@
return
if (ishuman(user))
var/mob/living/carbon/human/H = user
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 (user.hand)
temp = H.organs_by_name["l_hand"]
temp = H.organs_by_name[BP_L_HAND]
if(temp && !temp.is_usable())
to_chat(user, span_notice("You try to move your [temp.name], but cannot!"))
return
@@ -13,6 +13,7 @@
door_icon_base = "flockdoor"
sheet_singular_name = "quanta"
sheet_plural_name = "quanta"
wiki_flag = WIKI_SPOILER
/obj/structure/simple_door/flock
name = "aperture"
+2 -2
View File
@@ -517,9 +517,9 @@
/obj/structure/sink/attack_hand(mob/user as mob)
if (ishuman(user))
var/mob/living/carbon/human/H = user
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(user, span_notice("You try to move your [temp.name], but cannot!"))
return