Merge pull request #8605 from Novacat/nova-shuttle

Translocator and Micromech Tweaks
This commit is contained in:
Novacat
2020-08-06 15:45:16 -04:00
committed by GitHub
3 changed files with 22 additions and 10 deletions

View File

@@ -28,7 +28,8 @@
//operation_req_access = list(access_hos) //operation_req_access = list(access_hos)
damage_absorption = list("brute"=1,"fire"=1,"bullet"=1,"laser"=1,"energy"=1,"bomb"=1) damage_absorption = list("brute"=1,"fire"=1,"bullet"=1,"laser"=1,"energy"=1,"bomb"=1)
var/am = "d3c2fbcadca903a41161ccc9df9cf948" 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) /obj/mecha/micro/melee_action(target as obj|mob|turf)
if(internal_damage&MECHA_INT_CONTROL_LOST) if(internal_damage&MECHA_INT_CONTROL_LOST)

View File

@@ -30,6 +30,7 @@
max_equip = 3 max_equip = 3
max_micro_utility_equip = 0 max_micro_utility_equip = 0
max_micro_weapon_equip = 3 max_micro_weapon_equip = 3
damage_minimum = 5 //A teeny bit of armor
/obj/effect/decal/mecha_wreckage/micro/sec/polecat /obj/effect/decal/mecha_wreckage/micro/sec/polecat
name = "Polecat wreckage" name = "Polecat wreckage"

View File

@@ -66,21 +66,21 @@
/obj/item/device/perfect_tele/proc/rebuild_radial_images() /obj/item/device/perfect_tele/proc/rebuild_radial_images()
radial_images.Cut() radial_images.Cut()
var/index = 1 var/index = 1
for(var/bcn in beacons) //Grumble for(var/bcn in beacons) //Grumble
var/image/I = image(icon = 'icons/mob/radial_vr.dmi', icon_state = "tl_[index]") var/image/I = image(icon = 'icons/mob/radial_vr.dmi', icon_state = "tl_[index]")
var/obj/item/device/perfect_tele_beacon/beacon = beacons[bcn] var/obj/item/device/perfect_tele_beacon/beacon = beacons[bcn]
if(destination == beacon) if(destination == beacon)
I.overlays += radial_seton I.overlays += radial_seton
else else
I.overlays += radial_set I.overlays += radial_set
radial_images[bcn] = I radial_images[bcn] = I
index++ index++
if(beacons_left) if(beacons_left)
var/image/I = image(icon = 'icons/mob/radial_vr.dmi', icon_state = "tl_[index]") var/image/I = image(icon = 'icons/mob/radial_vr.dmi', icon_state = "tl_[index]")
I.overlays += radial_plus 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 \ 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 \ 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") 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) var/choice = show_radial_menu(user, src, radial_images, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE)
if(!choice) if(!choice)
return return
else if(choice == "New Beacon") else if(choice == "New Beacon")
if(beacons_left <= 0) if(beacons_left <= 0)
to_chat(user, "<span class='warning'>The translocator can't support any more beacons!</span>") to_chat(user, "<span class='warning'>The translocator can't support any more beacons!</span>")
@@ -289,6 +289,16 @@
if(!teleport_checks(target,user)) if(!teleport_checks(target,user))
return //The checks proc can send them a message if it wants. 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, "<span class='notice'>[L] is resisting your attempt to teleport them with \the [src].</span>")
to_chat(L, "<span class='danger'> [user] is trying to teleport you with \the [src]!</span>")
if(!do_after(user, 30, L))
return
//Bzzt. //Bzzt.
ready = 0 ready = 0
power_source.use(charge_cost) power_source.use(charge_cost)
@@ -492,7 +502,7 @@ GLOBAL_LIST_BOILERPLATE(premade_tele_beacons, /obj/item/device/perfect_tele_beac
battery_lock = 1 battery_lock = 1
unacidable = 1 unacidable = 1
failure_chance = 0 //Percent failure_chance = 0 //Percent
var/phase_power = 75 var/phase_power = 75
var/recharging = 0 var/recharging = 0