diff --git a/code/datums/trading/goods.dm b/code/datums/trading/goods.dm index 6db2d96d465..94c0eb7ad39 100644 --- a/code/datums/trading/goods.dm +++ b/code/datums/trading/goods.dm @@ -222,7 +222,6 @@ Sells devices, odds and ends, and medical stuff possible_origins = list("Buy 'n Save", "Drug Carnival", "C&B", "Fentles", "Dr. Goods", "Beevees") possible_trading_items = list( /obj/item/device/flashlight = TRADER_ALL, - /obj/item/device/kit/paint = TRADER_SUBTYPES_ONLY, /obj/item/aicard = TRADER_THIS_TYPE, /obj/item/device/binoculars = TRADER_THIS_TYPE, /obj/item/device/flash = TRADER_THIS_TYPE, diff --git a/code/game/objects/items/paintkit.dm b/code/game/objects/items/paintkit.dm index 7ea277fdf0d..98dd613c293 100644 --- a/code/game/objects/items/paintkit.dm +++ b/code/game/objects/items/paintkit.dm @@ -65,23 +65,4 @@ species_restricted = list(H.species.get_bodytype()) kit.use(1,user) return 1 - return ..() - -/obj/item/device/kit/paint - name = "exosuit customisation kit" - desc = "A kit containing all the needed tools and parts to repaint an exosuit." - var/removable = null - -/obj/item/device/kit/paint/examine() - . = ..() - to_chat(usr, "This kit will add a '[new_name]' decal to a exosuit'.") - -/obj/item/device/kit/paint/powerloader/flames_red - name = "\"Firestarter\" exosuit customisation kit" - new_name = "red flames" - new_icon = "flames_red" - -/obj/item/device/kit/paint/powerloader/flames_blue - name = "\"Burning Chrome\" exosuit customisation kit" - new_name = "blue flames" - new_icon = "flames_blue" \ No newline at end of file + return ..() \ No newline at end of file diff --git a/code/modules/heavy_vehicle/components/_components.dm b/code/modules/heavy_vehicle/components/_components.dm index 68d569a0911..6293f772c84 100644 --- a/code/modules/heavy_vehicle/components/_components.dm +++ b/code/modules/heavy_vehicle/components/_components.dm @@ -16,6 +16,11 @@ matter = list(DEFAULT_WALL_MATERIAL = 15000, "plastic" = 1000, "osmium" = 500) dir = SOUTH +/obj/item/mech_component/pickup(mob/user) + pixel_x = initial(pixel_x) + pixel_y = initial(pixel_y) + return + /obj/item/mech_component/proc/set_colour(new_colour) var/last_colour = color color = new_colour @@ -74,7 +79,6 @@ if(total_damage == max_damage) take_component_damage(0,amt) - /obj/item/mech_component/proc/take_component_damage(var/brute, var/burn) var/list/damageable_components = list() for(var/obj/item/robot_parts/robot_component/RC in contents) diff --git a/code/modules/heavy_vehicle/components/body.dm b/code/modules/heavy_vehicle/components/body.dm index be4341af8d9..c7bd5558eef 100644 --- a/code/modules/heavy_vehicle/components/body.dm +++ b/code/modules/heavy_vehicle/components/body.dm @@ -2,6 +2,8 @@ name = "body" icon_state = "loader_body" gender = NEUTER + pixel_y = -8 + center_of_mass = list("x"=24, "y"=20) var/mech_health = 300 var/obj/item/robot_parts/robot_component/diagnosis_unit/diagnostics @@ -16,7 +18,7 @@ var/list/pilot_positions var/pilot_coverage = 100 var/transparent_cabin = FALSE - var/hide_pilot = FALSE + var/hide_pilot = TRUE has_hardpoints = list(HARDPOINT_BACK, HARDPOINT_LEFT_SHOULDER, HARDPOINT_RIGHT_SHOULDER) /obj/item/mech_component/chassis/update_components() diff --git a/code/modules/heavy_vehicle/components/frame.dm b/code/modules/heavy_vehicle/components/frame.dm index ee2299d3c50..2404942da19 100644 --- a/code/modules/heavy_vehicle/components/frame.dm +++ b/code/modules/heavy_vehicle/components/frame.dm @@ -62,7 +62,7 @@ /obj/structure/heavy_vehicle_frame/update_icon() - var/list/new_overlays = get_mech_icon(list(legs, head, body, arms), layer) + var/list/new_overlays = get_mech_icon(list(body, head), MECH_BASE_LAYER) if(body) density = TRUE overlays += get_mech_image("[body.icon_state]_cockpit", body.icon, body.color) @@ -70,6 +70,10 @@ new_overlays += get_mech_image("[body.icon_state]_open_overlay", body.icon, body.color) else density = FALSE + if(arms) + new_overlays += get_mech_image(arms.icon_state, arms.on_mech_icon, arms.color, MECH_ARM_LAYER) + if(legs) + new_overlays += get_mech_image(legs.icon_state, legs.on_mech_icon, legs.color, MECH_LEG_LAYER) overlays = new_overlays if(density != opacity) set_opacity(density) @@ -236,7 +240,6 @@ thing.dropInto(loc) return arms = thing - if(install_component(thing, user)) arms = thing else if(istype(thing,/obj/item/mech_component/propulsion)) if(legs) to_chat(user, "\The [src] already has a propulsion system installed.") @@ -246,7 +249,6 @@ thing.dropInto(loc) return legs = thing - if(install_component(thing, user)) legs = thing else if(istype(thing,/obj/item/mech_component/sensors)) if(head) to_chat(user, "\The [src] already has a sensor array installed.") diff --git a/code/modules/heavy_vehicle/components/head.dm b/code/modules/heavy_vehicle/components/head.dm index 6189136724e..c38189aa913 100644 --- a/code/modules/heavy_vehicle/components/head.dm +++ b/code/modules/heavy_vehicle/components/head.dm @@ -1,6 +1,7 @@ /obj/item/mech_component/sensors name = "head" pixel_y = -18 + center_of_mass = list("x"=24, "y"=34) icon_state = "loader_head" gender = NEUTER diff --git a/code/modules/heavy_vehicle/components/legs.dm b/code/modules/heavy_vehicle/components/legs.dm index 7732f9fe8ff..fec92ba0156 100644 --- a/code/modules/heavy_vehicle/components/legs.dm +++ b/code/modules/heavy_vehicle/components/legs.dm @@ -1,6 +1,6 @@ /obj/item/mech_component/propulsion name = "legs" - pixel_y = 12 + center_of_mass = list("x"=24, "y"=4) icon_state = "loader_legs" power_use = 75 var/move_delay = 5 diff --git a/code/modules/heavy_vehicle/mech_icon.dm b/code/modules/heavy_vehicle/mech_icon.dm index 4f786326ebe..fe3b2d82665 100644 --- a/code/modules/heavy_vehicle/mech_icon.dm +++ b/code/modules/heavy_vehicle/mech_icon.dm @@ -26,6 +26,8 @@ proc/get_mech_icon(var/list/components = list(), var/overlay_layer = FLOAT_LAYER update_pilot_overlay(FALSE) if(LAZYLEN(pilot_overlays)) new_overlays += pilot_overlays + if(head) + new_overlays += get_mech_image("[head.icon_state]_eyes", head.on_mech_icon, null, MECH_INTERMEDIATE_LAYER) if(body) new_overlays += get_mech_image("[body.icon_state]_overlay[hatch_closed ? "" : "_open"]", body.on_mech_icon, body.color, MECH_COCKPIT_LAYER) if(arms) diff --git a/code/modules/heavy_vehicle/mech_interaction.dm b/code/modules/heavy_vehicle/mech_interaction.dm index 8286e5cc4e7..354be57da7f 100644 --- a/code/modules/heavy_vehicle/mech_interaction.dm +++ b/code/modules/heavy_vehicle/mech_interaction.dm @@ -323,18 +323,6 @@ to_chat(user, "\The [thing] could not be installed in that hardpoint.") return - else if(istype(thing, /obj/item/device/kit/paint)) - user.visible_message("\The [user] opens \the [thing] and spends some quality time customising \the [src].") - var/obj/item/device/kit/paint/P = thing - desc = P.new_desc - for(var/obj/item/mech_component/comp in list(arms, legs, head, body)) - comp.decal = P.new_icon - if(P.new_icon_file) - icon = P.new_icon_file - queue_icon_update() - P.use(1, user) - return 1 - else if(user.a_intent != I_HURT) if(thing.ismultitool()) diff --git a/code/modules/heavy_vehicle/premade/light.dm b/code/modules/heavy_vehicle/premade/light.dm index 1a4dbb9d9fd..cb86e0d3652 100644 --- a/code/modules/heavy_vehicle/premade/light.dm +++ b/code/modules/heavy_vehicle/premade/light.dm @@ -66,7 +66,6 @@ pilot_coverage = 100 transparent_cabin = TRUE hatch_descriptor = "canopy" - hide_pilot = TRUE //Sprite too small, legs clip through, so for now hide pilot exosuit_desc_string = "an open and light chassis" icon_state = "light_body" max_damage = 50 diff --git a/code/modules/heavy_vehicle/premade/misc.dm b/code/modules/heavy_vehicle/premade/misc.dm index 5f4ee39a78b..b0dbc89afcc 100644 --- a/code/modules/heavy_vehicle/premade/misc.dm +++ b/code/modules/heavy_vehicle/premade/misc.dm @@ -25,7 +25,6 @@ hatch_descriptor = "hatch" pilot_coverage = 100 transparent_cabin = TRUE - hide_pilot = TRUE exosuit_desc_string = "a spherical chassis" icon_state = "pod_body" max_damage = 70 diff --git a/code/modules/item_worth/worths_list.dm b/code/modules/item_worth/worths_list.dm index b809525cbcb..e5c62bd8cb7 100644 --- a/code/modules/item_worth/worths_list.dm +++ b/code/modules/item_worth/worths_list.dm @@ -628,7 +628,6 @@ var/list/worths = list( /obj/item/device/soulstone = 10000, /obj/item/device/dociler = 450, /obj/item/device/mmi = 1200, - /obj/item/device/kit/paint = 500, /obj/item/device/kit = 100, /obj/item/aicard = 6000, /obj/item/device/chameleon = 4000, diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 0b2b5182298..2dc3c5a9bf9 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -26,8 +26,6 @@ var/global/list/minevendor_list = list( //keep in order of price new /datum/data/mining_equipment("Deployable Ladder", /obj/item/ladder_mobile, 5, 200), new /datum/data/mining_equipment("Deployable Hoist Kit", /obj/item/hoist_kit, 5, 200), new /datum/data/mining_equipment("Material Scanners", /obj/item/clothing/glasses/material, 15, 200), - new /datum/data/mining_equipment("Paint Kit, Red Flames", /obj/item/device/kit/paint/powerloader/flames_red, 15, 200), - new /datum/data/mining_equipment("Paint Kit, Blue Flames", /obj/item/device/kit/paint/powerloader/flames_blue, 15, 200), new /datum/data/mining_equipment("Mining Drill", /obj/item/pickaxe/drill, 10, 200), new /datum/data/mining_equipment("Deep Ore Scanner", /obj/item/mining_scanner, 10, 250), new /datum/data/mining_equipment("Magboots", /obj/item/clothing/shoes/magboots, 10, 300), diff --git a/html/changelogs/Ferner-191217-sprites_mecha.yml b/html/changelogs/Ferner-191217-sprites_mecha.yml new file mode 100644 index 00000000000..069d8a1ff36 --- /dev/null +++ b/html/changelogs/Ferner-191217-sprites_mecha.yml @@ -0,0 +1,5 @@ +author: Ferner, Kyres1 +delete-after: True +changes: + - imageadd: "Replaced mech sprites with brand new ones by Kyres1." + - bugfix: "Fixed an issue wherein built mechs didn't layer their parts properly." \ No newline at end of file diff --git a/icons/mecha/mech_equipment.dmi b/icons/mecha/mech_equipment.dmi index a922fae04a7..f0d531d4d8f 100644 Binary files a/icons/mecha/mech_equipment.dmi and b/icons/mecha/mech_equipment.dmi differ diff --git a/icons/mecha/mech_parts.dmi b/icons/mecha/mech_parts.dmi index b394664e759..62c94493da0 100644 Binary files a/icons/mecha/mech_parts.dmi and b/icons/mecha/mech_parts.dmi differ diff --git a/icons/mecha/mecha_decals.dmi b/icons/mecha/mecha_decals.dmi index 7a75f1c24cc..de513a0cbcf 100644 Binary files a/icons/mecha/mecha_decals.dmi and b/icons/mecha/mecha_decals.dmi differ diff --git a/icons/mecha/mecha_weapon_overlays.dmi b/icons/mecha/mecha_weapon_overlays.dmi index 9992a1ef791..17dea52c690 100644 Binary files a/icons/mecha/mecha_weapon_overlays.dmi and b/icons/mecha/mecha_weapon_overlays.dmi differ