A lot of bugfixes. (#20358)

- bugfix: "Fixed PDAs not being automatically updated by the Force
Change Name admin action."
- bugfix: "Announcements from non-Horizon ships drifting into hazards no
longer spawn observer chat. You will only get the announcements if you
are on the same z-level. The Horizon will still send its announcements
globally."
  - bugfix: "Offships no longer send newscaster announcements."
  - bugfix: "Fixed ling stings not working. Again."
- bugfix: "The robotics core console no longer reverts into a normal R&D
console when disassembled and reassembled."
- bugfix: "The robotics core console now has its own circuit that can be
made through R&D."
- bugfix: "Fixed the message that simple mobs print when they step on a
trap."
  - bugfix: "Fixed the foam sword sprite."
  - bugfix: "Fixed damaged wall overlays."
  - bugfix: "Fixed the INDRA field getting messed up by pointing at it."
  - bugfix: "Apple pies now count for the pie bounty."
- bugfix: "Changeling chameleon claws no longer spawn in the warehouse."
  - bugfix: "Admin click-drag to possess has been fixed."
- bugfix: "Added a minimum damage threshold to delimb, in order to stops
ridiculously small damage from taking off limbs. The threshold is the
organ's max damage divided by 3."
  - bugfix: "The Pull psionic ability no longer pulls anchored objects."

Fixes #17739
Fixes #17369
Fixes #19535
Fixes #19166
Fixes #20184
Fixes #20165
Fixes #20164
Fixes #20117
Fixes #19961
Fixes #20231
Fixes #20277
Fixes #20346

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
Matt Atlas
2025-01-13 22:13:44 +00:00
committed by GitHub
co-authored by Matt Atlas
parent 860987c6bc
commit eb3bc19014
19 changed files with 133 additions and 39 deletions
+1
View File
@@ -70,6 +70,7 @@
/obj/item/reagent_containers/food/snacks/plump_pie,
/obj/item/reagent_containers/food/snacks/xemeatpie,
/obj/item/reagent_containers/food/snacks/cherrypie,
/obj/item/reagent_containers/food/snacks/applepie,
/obj/item/reagent_containers/food/snacks/chocolate_rikazu,
/obj/item/reagent_containers/food/snacks/fruit_rikazu,
/obj/item/reagent_containers/food/snacks/meat_rikazu,
+2 -1
View File
@@ -213,7 +213,8 @@ STOCK_ITEM_COMMON(gloves, 3.3)
/obj/item/clothing/gloves/fluff,
/obj/item/clothing/gloves/swat/bst,
/obj/item/clothing/gloves/powerfist,
/obj/item/clothing/gloves/claws
/obj/item/clothing/gloves/claws,
/obj/item/clothing/gloves/chameleon/changeling
)
exclusion += typesof(/obj/item/clothing/gloves/rig)
exclusion += typesof(/obj/item/clothing/gloves/lightrig)
@@ -12,6 +12,7 @@
universal_speak = 1
incorporeal_move = INCORPOREAL_GHOST
mob_thinks = FALSE
interaction_flags_atom = INTERACT_ATOM_MOUSEDROP_IGNORE_CHECKS
/// If the ghost can re-enter their corpse.
var/can_reenter_corpse
+2 -3
View File
@@ -430,9 +430,8 @@
addtimer(CALLBACK(src, PROC_REF(end_pointing_effect), pointing_effect), 2 SECONDS)
else if(!invisibility)
var/atom/movable/M = pointing_at
M.add_filter("pointglow", 1, list(type = "drop_shadow", x = 0, y = -1, offset = 1, size = 1, color = "#F00"))
addtimer(CALLBACK(M, TYPE_PROC_REF(/atom/movable, remove_filter), "pointglow"), 2 SECONDS)
pointing_at.handle_pointed_at(src)
M.add_point_filter()
M.handle_pointed_at(src)
SEND_SIGNAL(src, COMSIG_MOB_POINT, pointing_at)
return TRUE
+1 -2
View File
@@ -420,7 +420,7 @@
if(spillover > 0)
burn = max(burn - spillover, 0)
handle_limb_gibbing(used_weapon, brute_dam, burn_dam)
handle_limb_gibbing(used_weapon, brute, burn)
if(brute_dam + brute > min_broken_damage && prob(brute_dam + brute * (1 + blunt)))
if(blunt || brute > FRACTURE_AND_TENDON_DAM_THRESHOLD)
@@ -513,7 +513,6 @@
//If limb took enough damage, try to cut or tear it off
if(owner && loc == owner && !is_stump())
if((limb_flags & ORGAN_CAN_AMPUTATE))
if((brute_dam + burn_dam) >= (max_damage * GLOB.config.organ_health_multiplier))
var/edge_eligible = FALSE
@@ -588,6 +588,9 @@
AddEnergy(hitting_projectile.damage)
update_icon()
/obj/effect/fusion_em_field/add_point_filter()
return
/particles/fusion
width = 500
height = 500
@@ -44,3 +44,6 @@
if(mover?.movement_type & PHASING)
return TRUE
return ismob(mover)
/obj/effect/fusion_particle_catcher/add_point_filter()
return
+5 -1
View File
@@ -27,10 +27,14 @@
var/atom/movable/AM = hit_atom
var/mob/living/carbon/human/H = user
if(isobj(hit_atom) && w_class < WEIGHT_CLASS_GIGANTIC)
var/obj/object = hit_atom
if(object.anchored)
to_chat(user, SPAN_WARNING("That object is bolted down!"))
return
if(length(get_line(hit_atom, user)))
if(H.put_in_any_hand_if_possible(hit_atom))
return
user.visible_message(SPAN_WARNING("[user] extends [user.get_pronoun("his")] hand at [hit_atom]and pulls!"), SPAN_WARNING("You mimic pulling at [hit_atom]!"))
user.visible_message(SPAN_WARNING("[user] extends [user.get_pronoun("his")] hand at [hit_atom] and pulls!"), SPAN_WARNING("You mimic pulling at [hit_atom]!"))
if(ismob(hit_atom))
to_chat(hit_atom, SPAN_WARNING("A psychic force pulls you!"))
AM.throw_at(user, 10, 7)
@@ -23,6 +23,11 @@
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/rdconsole
/datum/design/circuit/computer/robotics_console
name = "Robotics Core Console"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/circuitboard/robotics_console
/datum/design/circuit/computer/comm_monitor
name = "Telecommunications Monitoring Console"
req_tech = list(TECH_DATA = 3)
+1
View File
@@ -874,6 +874,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
id = 1
req_access = list(ACCESS_ROBOTICS)
allow_analyzer = FALSE
circuit = /obj/item/circuitboard/robotics_console
/obj/machinery/computer/rdconsole/core
name = "core R&D console"