diff --git a/code/game/mecha/micro/micro.dm b/code/game/mecha/micro/micro.dm index 0b1e340487..97f86f7472 100644 --- a/code/game/mecha/micro/micro.dm +++ b/code/game/mecha/micro/micro.dm @@ -28,7 +28,8 @@ //operation_req_access = list(access_hos) damage_absorption = list("brute"=1,"fire"=1,"bullet"=1,"laser"=1,"energy"=1,"bomb"=1) var/am = "d3c2fbcadca903a41161ccc9df9cf948" - + damage_minimum = 0 //Incoming damage lower than this won't actually deal damage. Scrapes shouldn't be a real thing. + minimum_penetration = 0 //Incoming damage won't be fully applied if you don't have at least 20. Almost all AP clears this. /obj/mecha/micro/melee_action(target as obj|mob|turf) if(internal_damage&MECHA_INT_CONTROL_LOST) diff --git a/code/game/mecha/micro/security.dm b/code/game/mecha/micro/security.dm index 57bc57eed3..d6d054a4f5 100644 --- a/code/game/mecha/micro/security.dm +++ b/code/game/mecha/micro/security.dm @@ -30,6 +30,7 @@ max_equip = 3 max_micro_utility_equip = 0 max_micro_weapon_equip = 3 + damage_minimum = 5 //A teeny bit of armor /obj/effect/decal/mecha_wreckage/micro/sec/polecat name = "Polecat wreckage" diff --git a/code/game/objects/items/devices/translocator_vr.dm b/code/game/objects/items/devices/translocator_vr.dm index 02264246e7..3e2d5dc5c7 100644 --- a/code/game/objects/items/devices/translocator_vr.dm +++ b/code/game/objects/items/devices/translocator_vr.dm @@ -66,21 +66,21 @@ /obj/item/device/perfect_tele/proc/rebuild_radial_images() radial_images.Cut() - + var/index = 1 for(var/bcn in beacons) //Grumble var/image/I = image(icon = 'icons/mob/radial_vr.dmi', icon_state = "tl_[index]") - + var/obj/item/device/perfect_tele_beacon/beacon = beacons[bcn] if(destination == beacon) I.overlays += radial_seton else I.overlays += radial_set - + radial_images[bcn] = I - + index++ - + if(beacons_left) var/image/I = image(icon = 'icons/mob/radial_vr.dmi', icon_state = "tl_[index]") I.overlays += radial_plus @@ -124,12 +124,12 @@ and tele-vore. Make sure you carefully examine someone's OOC prefs before teleporting them if you are \ going to use this device for ERP purposes. This device records all warnings given and teleport events for \ admin review in case of pref-breaking, so just don't do it.","OOC WARNING") - + var/choice = show_radial_menu(user, src, radial_images, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) - + if(!choice) return - + else if(choice == "New Beacon") if(beacons_left <= 0) to_chat(user, "The translocator can't support any more beacons!") @@ -289,6 +289,16 @@ if(!teleport_checks(target,user)) return //The checks proc can send them a message if it wants. + if(istype(target, /mob/living)) + var/mob/living/L = target + if(!L.stat) + if(L != user) + if(L.a_intent != I_HELP || L.has_AI()) + to_chat(user, "[L] is resisting your attempt to teleport them with \the [src].") + to_chat(L, " [user] is trying to teleport you with \the [src]!") + if(!do_after(user, 30, L)) + return + //Bzzt. ready = 0 power_source.use(charge_cost) @@ -492,7 +502,7 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beac battery_lock = 1 unacidable = 1 failure_chance = 0 //Percent - + var/phase_power = 75 var/recharging = 0