RnD & Cat fixes (#1913)

changes:

bugfix: "Fixed an issue where some objects could not be deconstructed with RnD."
bugfix: "Helmet lights now actually display the powered-on sprite."
bugfix: "Cats on heads no longer magically turn invisible."
bugfix: "Cyborgs' portable destructive analyzer can no longer steal intercoms or the captain's safe."
imageadd: "Duffle (duffel?) bags now have in-hand sprites."
Fixes #1158 
Fixes #1662
This commit is contained in:
Lohikar
2017-03-12 12:18:58 +02:00
committed by skull132
parent 7cc68feeb4
commit 263bb7ab8d
21 changed files with 64 additions and 26 deletions
@@ -5,7 +5,7 @@
/obj/item/weapon/circuitboard/holodeckcontrol
name = T_BOARD("holodeck control console")
build_path = /obj/machinery/computer/HolodeckControl
origin_tech = "programming=2;bluespace=2"
origin_tech = list(TECH_DATA = 2, TECH_BLUESPACE = 2)
var/last_to_emag
var/linkedholodeck_area
var/list/supported_programs
@@ -58,7 +58,7 @@
edge = 1
force_divisor = 0.15 // 9 when wielded with hardness 60 (steel)
matter = list(DEFAULT_WALL_MATERIAL = 12000)
origin_tech = "materials=1"
origin_tech = list(TECH_MATERIAL = 1)
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
unbreakable = 1
@@ -18,7 +18,7 @@
w_class = 2
sharp = 1
edge = 1
origin_tech = "materials=2;combat=1"
origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 1)
attack_verb = list("chopped", "torn", "cut")
applies_material_colour = 0
@@ -61,5 +61,5 @@
throw_range = 3
w_class = 4
slot_flags = SLOT_BACK
origin_tech = "materials=2;combat=2"
origin_tech = list(TECH_MATERIAL = 2, TECH_COMBAT = 2)
attack_verb = list("chopped", "sliced", "cut", "reaped")
@@ -329,11 +329,19 @@
name = "duffel bag"
desc = "A spacious duffel bag."
icon_state = "duffel-norm"
item_state_slots = list(
slot_l_hand_str = "duffle",
slot_r_hand_str = "duffle"
)
/obj/item/weapon/storage/backpack/duffel/cap
name = "captain's duffel bag"
desc = "A rare and special duffel bag for only the most air-headed of Nanotrasen personnel."
icon_state = "duffel-captain"
item_state_slots = list(
slot_l_hand_str = "duffle_captain",
slot_r_hand_str = "duffle_captain"
)
/obj/item/weapon/storage/backpack/duffel/hyd
name = "botanist's duffel bag"
@@ -344,16 +352,28 @@
name = "virology duffel bag"
desc = "A sterilized duffel bag suited to those about to unleash pathogenic havoc upon the world."
icon_state = "duffel-virology"
item_state_slots = list(
slot_l_hand_str = "duffle_med",
slot_r_hand_str = "duffle_med"
)
/obj/item/weapon/storage/backpack/duffel/med
name = "medical duffel bag"
desc = "A sterilized duffel bag for the young, upcoming lesbayan."
icon_state = "duffel-medical"
item_state_slots = list(
slot_l_hand_str = "duffle_med",
slot_r_hand_str = "duffle_med"
)
/obj/item/weapon/storage/backpack/duffel/eng
name = "industrial duffel bag"
desc = "A rough and tumble duffel bag for the hard working wrench-monkey of tomorrow."
icon_state = "duffel-engineering"
item_state_slots = list(
slot_l_hand_str = "duffle_eng",
slot_r_hand_str = "duffle_eng"
)
/obj/item/weapon/storage/backpack/duffel/tox
name = "scientist's duffel bag"
@@ -374,11 +394,19 @@
name = "chemistry duffel bag"
desc = "Spice up the love life a little."
icon_state = "duffel-chemistry"
item_state_slots = list(
slot_l_hand_str = "duffle_med",
slot_r_hand_str = "duffle_med"
)
/obj/item/weapon/storage/backpack/duffel/syndie
name = "syndicate duffel bag"
desc = "A snazzy black and red duffel bag, perfect for smuggling C4 and Parapens."
icon_state = "duffel-syndie"
item_state_slots = list(
slot_l_hand_str = "duffle_syndie",
slot_r_hand_str = "duffle_syndie"
)
/obj/item/weapon/storage/backpack/duffel/wizard
name = "wizardly duffel bag"
+1 -1
View File
@@ -208,7 +208,7 @@
item_state = "stunrod"
force = 20
baton_color = "#75ACFF"
origin_tech = "combat=4,illegal=2"
origin_tech = list(TECH_COMBAT = 4, TECH_ILLEGAL = 2)
contained_sprite = 1
/obj/item/weapon/melee/baton/stunrod/New()
+3 -3
View File
@@ -166,7 +166,7 @@
desc = "A welding tool with an extended-capacity built-in fuel tank, standard issue for engineers."
max_fuel = 40
matter = list(DEFAULT_WALL_MATERIAL = 100, "glass" = 60)
origin_tech = "engineering=2"
origin_tech = list(TECH_ENGINEERING = 2)
base_iconstate = "ind_welder"
@@ -176,7 +176,7 @@
max_fuel = 80
w_class = 2.0
matter = list(DEFAULT_WALL_MATERIAL = 200, "glass" = 120)
origin_tech = "engineering=3"
origin_tech = list(TECH_ENGINEERING = 3)
base_iconstate = "adv_welder"
@@ -187,7 +187,7 @@
max_fuel = 40
w_class = 2.0
matter = list(DEFAULT_WALL_MATERIAL = 100, "glass" = 120)
origin_tech = "engineering=4;biotech=4"
origin_tech = list(TECH_ENGINEERING = 4, TECH_BIO = 4)
base_iconstate = "exp_welder"
base_itemstate = "exp_welder"
+1 -1
View File
@@ -8,7 +8,7 @@
desc = "A mechanically activated leg trap. Low-tech, but reliable. Looks like it could really hurt if you set it off."
throwforce = 0
w_class = 3
origin_tech = "materials=1"
origin_tech = list(TECH_MATERIAL = 1)
matter = list(DEFAULT_WALL_MATERIAL = 18750)
var/deployed = 0
+1 -1
View File
@@ -466,7 +466,7 @@ var/list/name_to_material
tableslam_noise = 'sound/effects/Glasshit.ogg'
hardness = 40
weight = 30
stack_origin_tech = "materials=2"
stack_origin_tech = list(TECH_MATERIAL = 2)
composite_material = list(DEFAULT_WALL_MATERIAL = 1875,"glass" = 3750)
window_options = list("One Direction" = 1, "Full Window" = 4, "Windoor" = 5)
created_window = /obj/structure/window/reinforced
+4 -6
View File
@@ -355,19 +355,17 @@ var/list/holder_mob_icon_cache = list()
desc_dead = "It used to be a little plant critter."
icon_state = "nymph"
icon_state_dead = "nymph_dead"
origin_tech = "magnets=3;biotech=5"
origin_tech = list(TECH_MAGNET = 3, TECH_BIO = 5)
slot_flags = SLOT_HEAD | SLOT_OCLOTHING
w_class = 2
/obj/item/weapon/holder/drone
name = "maintenance drone"
desc = "It's a small maintenance robot."
icon_state = "drone"
item_state = "drone"
origin_tech = "magnets=3;engineering=5"
origin_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 5)
slot_flags = SLOT_HEAD
w_class = 4
contained_sprite = 1
@@ -410,7 +408,7 @@ var/list/holder_mob_icon_cache = list()
name = "cortical borer"
desc = "It's a slimy brain slug. Gross."
icon_state = "brainslug"
origin_tech = "biotech=6"
origin_tech = list(TECH_BIO = 6)
w_class = 1
/obj/item/weapon/holder/monkey
@@ -457,7 +455,7 @@ var/list/holder_mob_icon_cache = list()
icon_state_dead = "mouse_brown_dead"
slot_flags = SLOT_EARS
contained_sprite = 1
origin_tech = "biotech=2"
origin_tech = list(TECH_BIO = 2)
w_class = 1
/obj/item/weapon/holder/mouse/white
@@ -779,8 +779,9 @@ var/global/list/damage_icon_parts = list()
if(istype(head,/obj/item/clothing/head))
var/obj/item/clothing/head/hat = head
if(hat.on && light_overlay_cache["[hat.light_overlay]"])
standing.overlays |= light_overlay_cache["[hat.light_overlay]"]
var/cache_key = "[hat.light_overlay]_[species.get_bodytype()]"
if(hat.on && light_overlay_cache["[cache_key]"])
standing.overlays |= light_overlay_cache["[cache_key]"]
standing.color = head.color
overlays_standing[HEAD_LAYER] = standing
@@ -90,7 +90,10 @@
user << "Your [src] already has something inside. Analyze or eject it first."
return
var/obj/item/I = target
I.loc = src
if (I.anchored)
user << span("notice", "\The [I] is anchored in place.")
return
I.forceMove(src)
loaded_item = I
for(var/mob/M in viewers())
M.show_message(text("<span class='notice'>[user] adds the [I] to the [src].</span>"), 1)
+1 -1
View File
@@ -111,7 +111,7 @@
* Parapens
*/
/obj/item/weapon/pen/reagent/paralysis
origin_tech = "materials=2;syndicate=5"
origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
/obj/item/weapon/pen/reagent/paralysis/New()
..()
@@ -373,7 +373,7 @@
icon = 'icons/obj/vaurca_items.dmi'
icon_state = "thermaldrill"
item_state = "thermaldrill"
origin_tech = "combat=6;phorontech=8,"
origin_tech = list(TECH_COMBAT = 6, TECH_PHORON = 8)
fire_sound = 'sound/magic/lightningbolt.ogg'
slot_flags = SLOT_BACK
w_class = 4
@@ -77,7 +77,7 @@
magazine_type = /obj/item/ammo_magazine/t40
allowed_magazines = list(/obj/item/ammo_magazine/t40)
caliber = "10mm"
origin_tech = "combat=3;materials=2"
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 2)
fire_sound = 'sound/weapons/Gunshot_light.ogg'
load_method = MAGAZINE
sel_mode = 1
+2 -2
View File
@@ -6,7 +6,7 @@
icon = 'icons/obj/telescience.dmi'
icon_state = "bluespace_crystal"
w_class = 1
origin_tech = "bluespace=4;materials=3"
origin_tech = list(TECH_BLUESPACE = 4, TECH_MATERIAL = 3)
var/blink_range = 8 // The teleport range when crushed/thrown at someone.
@@ -42,5 +42,5 @@
/obj/item/bluespace_crystal/artificial
name = "artificial bluespace crystal"
desc = "An artificially made bluespace crystal, it looks delicate."
origin_tech = "bluespace=2"
origin_tech = list(TECH_BLUESPACE = 2)
blink_range = 4 // Not as good as the organic stuff!
+1 -1
View File
@@ -6,7 +6,7 @@ var/list/GPS_list = list()
icon_state = "gps-c"
w_class = 2
slot_flags = SLOT_BELT
origin_tech = "programming=2;engineering=2"
origin_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
var/gpstag = "COM0"
var/emped = 0
var/turf/locked_location
+1 -1
View File
@@ -94,7 +94,7 @@
icon = 'icons/obj/radio.dmi'
icon_state = "beacon"
item_state = "signaler"
origin_tech = "bluespace=3"
origin_tech = list(TECH_BLUESPACE = 3)
/obj/item/device/telepad_beacon/attack_self(mob/user)
if(user)