diff --git a/baystation12.dme b/baystation12.dme index 8c2ad74bf24..e19a1f15b94 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -3813,7 +3813,6 @@ #include "infinity\code\modules\projectiles\gun.dm" #include "infinity\code\modules\projectiles\ammunition\boxes.dm" #include "infinity\code\modules\projectiles\ammunition\bullets.dm" -#include "infinity\code\modules\projectiles\guns\energy\advanced_ion_rifle.dm" #include "infinity\code\modules\projectiles\guns\energy\laser.dm" #include "infinity\code\modules\projectiles\guns\energy\laser_handmade.dm" #include "infinity\code\modules\projectiles\guns\energy\secure.dm" diff --git a/code/datums/ai/ai_holo.dm b/code/datums/ai/ai_holo.dm index fdb9726d424..edcff0e6f86 100644 --- a/code/datums/ai/ai_holo.dm +++ b/code/datums/ai/ai_holo.dm @@ -4,7 +4,7 @@ */ /decl/ai_holo var/requires_malf = FALSE - var/icon = 'infinity/icons/mob/hologram.dmi' + var/icon = 'icons/mob/hologram.dmi' var/icon_state = "icon_state" var/bypass_colorize = FALSE var/name @@ -104,4 +104,4 @@ name = "VG_Dronus" icon_state = "dronus" -//[/INF] \ No newline at end of file +//[/INF] diff --git a/code/datums/supplypacks/nonessent.dm b/code/datums/supplypacks/nonessent.dm index 733f6fe1a19..4e490efacd4 100644 --- a/code/datums/supplypacks/nonessent.dm +++ b/code/datums/supplypacks/nonessent.dm @@ -250,23 +250,11 @@ /decl/hierarchy/supply_pack/nonessent/exosuit_mod num_contained = 1 - name = "Mod - \"Firestarter\" exosuit modkit" - contains = list(/obj/item/device/kit/paint/flames_red) + name = "Customization exosuit modkit" + contains = list(/obj/item/device/kit/mech) cost = 50 containername = "heavy exosuit modkit crate" -/decl/hierarchy/supply_pack/nonessent/exosuit_mod/chrome - name = "Mod - \"Burning Chrome\" exosuit modkit" - contains = list(/obj/item/device/kit/paint/flames_blue) - -/decl/hierarchy/supply_pack/nonessent/exosuit_mod/military - name = "Mod - \"Guerilla\" exosuit modkit" - contains = list(/obj/item/device/kit/paint/camouflage) - -/decl/hierarchy/supply_pack/nonessent/exosuit_mod/alpine - name = "Mod - \"Alpine\" exosuit modkit" - contains = list(/obj/item/device/kit/paint/camouflage/forest) - /decl/hierarchy/supply_pack/nonessent/aromatherapy name = "Rec - Aromatherapy" contains = list( diff --git a/code/datums/trading/goods.dm b/code/datums/trading/goods.dm index 8ef2d787f6f..955ef90a361 100644 --- a/code/datums/trading/goods.dm +++ b/code/datums/trading/goods.dm @@ -191,7 +191,7 @@ Sells devices, odds and ends, and medical stuff origin = "Drugstore" possible_origins = list("Buy 'n Save", "Drug Carnival", "C&B", "Fentles", "Dr. Goods", "Beevees", "McGillicuddy's") possible_trading_items = list(/obj/item/device/flashlight = TRADER_ALL, - /obj/item/device/kit/paint = TRADER_SUBTYPES_ONLY, + /obj/item/device/kit/mech = TRADER_SUBTYPES_ONLY, /obj/item/aicard = TRADER_THIS_TYPE, /obj/item/device/binoculars = TRADER_THIS_TYPE, /obj/item/device/cable_painter = TRADER_THIS_TYPE, diff --git a/code/game/objects/items/paintkit.dm b/code/game/objects/items/paintkit.dm index c60291c558f..7016fcac0a7 100644 --- a/code/game/objects/items/paintkit.dm +++ b/code/game/objects/items/paintkit.dm @@ -5,11 +5,6 @@ var/new_desc = "An exosuit." //How is the new exosuit described? var/new_icon = "ripley" //What base icon will the new exosuit use? var/new_icon_file - var/uses = 1 // Uses before the kit deletes itself. - -/obj/item/device/kit/examine(mob/user) - . = ..() - to_chat(user, "It has [uses] use\s left.") /obj/item/device/kit/inherit_custom_item_data(var/datum/custom_item/citem) new_name = citem.item_name @@ -18,18 +13,14 @@ new_icon_file = CUSTOM_ITEM_OBJ . = src -/obj/item/device/kit/proc/use(var/amt, var/mob/user) - uses -= amt +/obj/item/device/kit/proc/use(var/mob/user) playsound(get_turf(user), 'sound/items/Screwdriver.ogg', 50, 1) - if(uses<1) - qdel(src) // Root hardsuit kit defines. // Icons for modified hardsuits need to be in the proper .dmis because suit cyclers may cock them up. /obj/item/device/kit/suit name = "voidsuit modification kit" desc = "A kit for modifying a voidsuit." - uses = 2 var/new_light_overlay var/new_mob_icon_file @@ -80,93 +71,45 @@ return ..() // Mechs are handled in their attackby (mech_interaction.dm). -/obj/item/device/kit/paint - name = "exosuit customisation kit" +/obj/item/device/kit/mech + name = "exosuit customization kit" desc = "A kit containing all the needed tools and parts to repaint a exosuit." var/removable = null - -/obj/item/device/kit/paint/examine(mob/user) + new_icon_file = 'icons/mecha/mech_decals.dmi' + var/current_decal = "cammo2" //По умолчанию + var/list/mech_decales = list( + "flames_red", + "flames_blue", + "cammo2", + "cammo1", + "red_stripes", + "white_stripes", + "black_stripes", + "green_stripes", + ) + +/obj/item/device/kit/mech/attack_self(mob/user)//Тыкаем по самому киту дабы вызвать список того, какую декаль хотим на меха + choose_decal(user) + +/obj/item/device/kit/mech/examine(mob/user) . = ..() to_chat(user, "This kit will add a '[new_name]' decal to a exosuit'.") -// exosuit kits. -/obj/item/device/kit/paint/use(amt, mob/user) - playsound(get_turf(user), 'sound/items/Screwdriver.ogg', 50, 1) - -/obj/item/device/kit/paint/flames_red - name = "\"Firestarter\" exosuit customisation kit" - new_icon = "flames_red" - -/obj/item/device/kit/paint/flames_blue - name = "\"Burning Chrome\" exosuit customisation kit" - new_icon = "flames_blue" - - -/* -//[inf] - //Ripley -/obj/item/device/kit/paint/ripley - name = "\"Classic\" APLU customisation kit" - new_name = "APLU \"Classic\"" - new_desc = "A very retro APLU unit; didn't they retire these back in 2287?" - new_icon = "ripley-old" - allowed_types = list("ripley") - -/obj/item/device/kit/paint/ripley/death - name = "\"Reaper\" APLU customisation kit" - new_name = "APLU \"Reaper\"" - new_desc = "A terrifying, grim power loader. Why do those clamps have spikes?" - new_icon = "deathripley" - allowed_types = list("ripley","firefighter") - - // Durand kits. -/obj/item/device/kit/paint/durand - name = "\"Classic\" Durand customisation kit" - new_name = "Durand \"Classic\"" - new_desc = "An older model of Durand combat exosuit. This model was retired for rotating a pilot's torso 180 degrees." - new_icon = "old_durand" - allowed_types = list("durand") - -/obj/item/device/kit/paint/durand/seraph - name = "\"Cherubim\" Durand customisation kit" - new_name = "Durand \"Cherubim\"" - new_desc = "A Durand combat exosuit modelled after ancient Earth entertainment. Your heart goes doki-doki just looking at it." - new_icon = "old_durand" - -/obj/item/device/kit/paint/durand/phazon - name = "\"Sypher\" Durand customisation kit" - new_name = "Durand \"Sypher\"" - new_desc = "A Durand combat exosuit with some very stylish neons and decals. Seems to blur slightly at the edges; probably an optical illusion." - new_icon = "phazon" - -// Gygax kits. -/obj/item/device/kit/paint/gygax - name = "\"Jester\" Gygax customisation kit" - new_name = "Gygax \"Jester\"" - new_desc = "A Gygax exosuit modelled after the infamous combat-troubadors of Earth's distant past. Terrifying to behold." - new_icon = "honker" - allowed_types = list("gygax") - -/obj/item/device/kit/paint/gygax/darkgygax - name = "\"Silhouette\" Gygax customisation kit" - new_name = "Gygax \"Silhouette\"" - new_desc = "An ominous Gygax exosuit modelled after the fictional corporate 'death squads' that were popular in pulp action-thrillers back in 2280s." - new_icon = "darkgygax" - -/obj/item/device/kit/paint/gygax/recitence - name = "\"Gaoler\" Gygax customisation kit" - new_name = "Durand \"Gaoler\"" - new_desc = "A bulky silver Gygax exosuit. The extra armour appears to be painted on, but it's very shiny." - new_icon = "recitence" - -//[/inf] -*/ -/obj/item/device/kit/paint/camouflage - name = "\"Guerilla\" exosuit customisation kit" - desc = "The exact same pattern the 76th Armored Gauntlet used in the Gaia war, now available for general use." - new_icon = "cammo1" - -/obj/item/device/kit/paint/camouflage/forest - name = "\"Alpine\" exosuit customisation kit" - new_icon = "cammo2" - desc = "A muted pattern for alpine environments. Don't miss the forest for the trees!" +/obj/item/device/kit/mech/proc/choose_decal(mob/user) + set name = "Choose decal" + set desc = "Choose mech decal." + set category = "Object" + set src in usr + + if(usr.incapacitated()) + return + var/new_decal = input(usr, "Choose a decal.", name, current_decal) as null|anything in mech_decales + if (usr.incapacitated()) + return + change_decal(new_decal, usr) + +/obj/item/device/kit/mech/proc/change_decal(var/new_decal, mob/user) + current_decal = new_decal + new_name = new_decal + to_chat(user, SPAN_NOTICE("You set \the [src] to customize with [new_decal].")) + playsound(src, 'sound/weapons/flipblade.ogg', 30, 1) diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index a3b2d98a0d2..bb5a865a0f3 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -136,7 +136,10 @@ /obj/item/tape_roll, /obj/item/clothing/head/beret, /obj/item/material/knife/folding/, - /obj/item/welder_tank + /obj/item/welder_tank, + /obj/item/device/paint_sprayer, + /obj/item/rcd, + /obj/item/rcd_ammo ) @@ -161,7 +164,13 @@ new /obj/item/device/t_scanner(src) update_icon() - +/obj/item/storage/belt/utility/chief/New() + ..() + new /obj/item/screwdriver/power(src) + new /obj/item/weldingtool(src) + new /obj/item/crowbar/power(src) + new /obj/item/stack/cable_coil/random(src, 30) + update_icon() /obj/item/storage/belt/medical name = "medical belt" diff --git a/code/modules/item_worth/worths_list.dm b/code/modules/item_worth/worths_list.dm index 74e99df8725..70118d6f0ab 100644 --- a/code/modules/item_worth/worths_list.dm +++ b/code/modules/item_worth/worths_list.dm @@ -478,7 +478,7 @@ var/list/worths = list( /obj/item/device/dociler = 490, /obj/item/device/bot_controller = 50, /obj/item/device/mmi = 1200, - /obj/item/device/kit/paint = 500, + /obj/item/device/kit/mech = 500, /obj/item/device/kit = 100, /obj/item/aicard = 6000, /obj/item/device/chameleon = 4000, diff --git a/code/modules/mechs/components/legs.dm b/code/modules/mechs/components/legs.dm index 37057f66d89..ef084de154f 100644 --- a/code/modules/mechs/components/legs.dm +++ b/code/modules/mechs/components/legs.dm @@ -7,6 +7,8 @@ var/obj/item/robot_parts/robot_component/actuator/motivator power_use = 50 var/max_fall_damage = 30 + var/can_strafe = FALSE + var/good_in_strafe = FALSE //Влияет на эффективность стрейфа, используйте когда мир будет к нему готов. /obj/item/mech_component/propulsion/Destroy() QDEL_NULL(motivator) @@ -60,4 +62,4 @@ if(max_fall_damage > 0) var/mob/living/exosuit/E = loc if(istype(E)) //route it through exosuit for proper handling - E.apply_damage(rand(0, max_fall_damage), BRUTE, BP_R_LEG) //Any leg is good, will damage us correctly \ No newline at end of file + E.apply_damage(rand(0, max_fall_damage), BRUTE, BP_R_LEG) //Any leg is good, will damage us correctly diff --git a/code/modules/mechs/equipment/combat.dm b/code/modules/mechs/equipment/combat.dm index 95a34c25491..2d4ced2ed1e 100644 --- a/code/modules/mechs/equipment/combat.dm +++ b/code/modules/mechs/equipment/combat.dm @@ -101,9 +101,6 @@ playsound(owner.loc,'sound/mecha/shield_deflector_fail.ogg',60,0) update_icon() last_overheat = world.time - if(damage==300) - src.visible_message("Critical overheat, energy emergency redirected to cooling systems.","Critical overheat, energy emergency redirected to cooling systems.",0) - owner.Slowdown_mech(slowdown_constant, cooldown_time) //[INF] Замедлит меха в slowdown_constant раз на cooldown_time время delayed_toggle() return difference else return 0 @@ -125,18 +122,6 @@ OVERHEAT = TRUE delayed_toggle() -//Slodown protocol -/mob/living/exosuit/proc/Slowdown_mech(var/slowdown_constant, var/cooldown_time) - set waitfor = 0 - legs.move_delay = legs.move_delay * slowdown_constant - legs.turn_delay = legs.turn_delay * slowdown_constant - arms.action_delay = arms.action_delay * slowdown_constant - sleep(cooldown_time) - legs.move_delay = legs.move_delay / slowdown_constant - legs.turn_delay = legs.turn_delay / slowdown_constant - arms.action_delay = arms.action_delay / slowdown_constant - - /obj/item/mech_equipment/shields/proc/toggle() if(charge == -1) charge = 0 @@ -182,13 +167,16 @@ icon_state = "shield_droid" /obj/item/mech_equipment/shields/Process() - if(charge >= max_charge) - return if((world.time - last_recharge) < cooldown) return + if(charge >= max_charge) + var/obj/item/cell/cell = owner.get_cell() + cell.use(charging_rate/2) + return + var/obj/item/cell/cell = owner.get_cell() - var/actual_required_power = Clamp(max_charge - charge, 0, charging_rate) + var/actual_required_power = 2*Clamp(max_charge - charge, 0, charging_rate) if(cell) charge += cell.use(actual_required_power) @@ -288,6 +276,19 @@ return AURA_FALSE|AURA_CANCEL //Too fast! +/obj/aura/mechshield/emp_act(var/severity) + if(shields) + if(shields.charge) + if(severity == 1) + var/emp_damage = severity * 75 + shields.stop_damage(emp_damage) + if(severity == 2) + var/emp_damage = severity * 50 + shields.stop_damage(emp_damage) + user.visible_message(SPAN_WARNING("\The [shields.owner]'s shilds craks, flashs and covers with sparks and energy strikes.")) + flick("shield_impact", src) + playsound(user,'sound/effects/basscannon.ogg',100,0) + //Melee! As a general rule I would recommend using regular objects and putting logic in them. /obj/item/mech_equipment/mounted_system/melee restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND) diff --git a/code/modules/mechs/mech.dm b/code/modules/mechs/mech.dm index 86d6531a338..f631b90e18c 100644 --- a/code/modules/mechs/mech.dm +++ b/code/modules/mechs/mech.dm @@ -125,7 +125,9 @@ body = source_frame.body if(source_frame.material) material = source_frame.material - passagirka = new(src) + passagirka = new(src) + maxHealth = (body.mech_health + material.integrity) + head.max_damage + arms.max_damage + legs.max_damage + health = maxHealth updatehealth() // Generate hardpoint list. @@ -227,12 +229,13 @@ if(.) update_pilots() -/mob/living/exosuit/proc/toggle_power(var/mob/user) +/mob/living/exosuit/proc/toggle_power(var/mob/user) //Отвечает за энергообеспечение меха, обновляет спрайты меха и его модулей при изменении питания if(power == MECH_POWER_TRANSITION) to_chat(user, SPAN_NOTICE("Power transition in progress. Please wait.")) else if(power == MECH_POWER_ON) //Turning it off is instant playsound(src, 'sound/mecha/mech-shutdown.ogg', 100, 0) power = MECH_POWER_OFF + update_icon() else if(get_cell(TRUE)) //Start power up sequence power = MECH_POWER_TRANSITION @@ -243,6 +246,7 @@ else to_chat(user, SPAN_WARNING("You abort the powerup sequence.")) power = MECH_POWER_OFF + update_icon() hud_power_control?.queue_icon_update() else to_chat(user, SPAN_WARNING("Error: No power cell was detected.")) diff --git a/code/modules/mechs/mech_damage.dm b/code/modules/mechs/mech_damage.dm index 9b226b55ac6..440393bd7fa 100644 --- a/code/modules/mechs/mech_damage.dm +++ b/code/modules/mechs/mech_damage.dm @@ -69,7 +69,6 @@ . += body_armor /mob/living/exosuit/updatehealth() - maxHealth = body ? (body.mech_health + material.integrity) : 0 //[INF] Обьяснение логики в code/modules/mechs/components/body health = maxHealth-(getFireLoss()+getBruteLoss()) /mob/living/exosuit/adjustFireLoss(var/amount, var/obj/item/mech_component/MC = pick(list(arms, legs, body, head))) @@ -118,7 +117,6 @@ return def_zone = ran_zone(def_zone) - var/list/after_armor = modify_damage_by_armor(def_zone, damage, damagetype, damage_flags, src, armor_pen, TRUE) damage = after_armor[1] damagetype = after_armor[2] @@ -126,7 +124,27 @@ if(!damage) return 0 - var/target = zoneToComponent(def_zone) + var/obj/item/mech_component/target = zoneToComponent(def_zone) + if(target.total_damage >= target.max_damage) + if(target == head) + body.take_brute_damage(damage/3) + arms.take_brute_damage(damage/3) + legs.take_brute_damage(damage/3) + else if(target == body) + head.take_brute_damage(damage/1.5) + legs.take_brute_damage(damage/1.5) + arms.take_brute_damage(damage/1.5) + else if(target == arms) + body.take_brute_damage(damage/3) + head.take_brute_damage(damage/3) + legs.take_brute_damage(damage/3) + else if(target == legs) + body.take_brute_damage(damage/2) + head.take_brute_damage(damage/2) + arms.take_brute_damage(damage/2) + updatehealth() + return + //Only 3 types of damage concern mechs and vehicles switch(damagetype) //==============================================RENFORCE MATERIAL============================================================= @@ -182,6 +200,11 @@ /mob/living/exosuit/emp_act(var/severity) + for(var/obj/aura/mechshield/thing in auras) + if(thing.active) + thing.emp_act(severity) + return + var/ratio = get_blocked_ratio(null, BURN, null, (4-severity) * 20) if(ratio >= 0.5) diff --git a/code/modules/mechs/mech_icon.dm b/code/modules/mechs/mech_icon.dm index 40b7e1d3082..d8c30300dbe 100644 --- a/code/modules/mechs/mech_icon.dm +++ b/code/modules/mechs/mech_icon.dm @@ -51,8 +51,11 @@ proc/get_mech_images(var/list/components = list(), var/overlay_layer = FLOAT_LAY var/obj/item/mech_equipment/hardpoint_object = hardpoints[hardpoint] if(hardpoint_object) var/use_icon_state = "[hardpoint_object.icon_state]_[hardpoint]" - if(use_icon_state in GLOB.mech_weapon_overlays) - new_overlays += get_mech_image(null, use_icon_state, 'icons/mecha/mech_weapon_overlays.dmi', null, hardpoint_object.mech_layer ) + if(power == MECH_POWER_ON) + if(use_icon_state in GLOB.mech_weapon_overlays) + new_overlays += get_mech_image(null, use_icon_state, 'icons/mecha/mech_weapon_overlays.dmi', null, hardpoint_object.mech_layer ) + else + new_overlays += get_mech_image(null, use_icon_state, 'icons/mecha/mech_weapon_overlays_off.dmi', null, hardpoint_object.mech_layer ) overlays = new_overlays /mob/living/exosuit/proc/update_pilots(var/update_overlays = TRUE) diff --git a/code/modules/mechs/mech_interaction.dm b/code/modules/mechs/mech_interaction.dm index 8774c4fcb1b..f1052f769dc 100644 --- a/code/modules/mechs/mech_interaction.dm +++ b/code/modules/mechs/mech_interaction.dm @@ -65,9 +65,16 @@ /mob/living/exosuit/ClickOn(var/atom/A, var/params, var/mob/user) - if(!user || incapacitated() || user.incapacitated()) return + var/arms_chosen = FALSE + var/body_chosen = FALSE + if(selected_hardpoint == HARDPOINT_LEFT_HAND || selected_hardpoint == HARDPOINT_RIGHT_HAND) + arms_chosen = TRUE + body_chosen = FALSE + else if(selected_hardpoint == HARDPOINT_BACK || selected_hardpoint == HARDPOINT_HEAD || selected_hardpoint == HARDPOINT_LEFT_SHOULDER || selected_hardpoint == HARDPOINT_RIGHT_SHOULDER) + arms_chosen = FALSE + body_chosen = TRUE if(!loc) return var/adj = A.Adjacent(src) // Why in the fuck isn't Adjacent() commutative. @@ -94,15 +101,19 @@ if(A.loc != src && !(get_dir(src, A) & dir)) return - if(!arms) + if(!arms && arms_chosen) to_chat(user, SPAN_WARNING("\The [src] has no manipulators!")) setClickCooldown(3) return - if(!arms.motivator || !arms.motivator.is_functional()) + if(!arms.motivator && arms_chosen) to_chat(user, SPAN_WARNING("Your motivators are damaged! You can't use your manipulators!")) setClickCooldown(15) return + if((!body || body.total_damage >= body.max_damage) && body_chosen) + to_chat(user, SPAN_WARNING("Your cockpit too damaged, additional hardpoints control system damaged, you cant this module!")) + setClickCooldown(15) + return if(!get_cell()?.checked_use(arms.power_use * CELLRATE)) to_chat(user, power == MECH_POWER_ON ? SPAN_WARNING("Error: Power levels insufficient.") : SPAN_WARNING("\The [src] is powered off.")) @@ -190,7 +201,7 @@ if(A == src) setClickCooldown(5) return attack_self(user) - else if(adj && user.a_intent == I_HURT) + else if(adj && user.a_intent == I_HURT && arms.motivator) setClickCooldown(arms ? arms.action_delay : 7) src.visible_message(SPAN_DANGER(" [src] steps back, preparing for a punch!"), blind_message = SPAN_DANGER("You hear the loud hissing of hydraulics!")) playsound(src.loc, mech_step_sound, 60, 1) @@ -563,17 +574,14 @@ to_chat(user, SPAN_WARNING("\The [thing] could not be installed in that hardpoint.")) return - else if(istype(thing, /obj/item/device/kit/paint)) + else if(istype(thing, /obj/item/device/kit/mech)) user.visible_message(SPAN_NOTICE("\The [user] opens \the [thing] and spends some quality time customising \the [src].")) - var/obj/item/device/kit/paint/P = thing - SetName(P.new_name) - desc = P.new_desc + var/obj/item/device/kit/mech/P = thing for(var/obj/item/mech_component/comp in list(arms, legs, head, body)) - comp.decal = P.new_icon + comp.decal = P.current_decal if(P.new_icon_file) icon = P.new_icon_file queue_icon_update() - P.use(1, user) return 1 else diff --git a/code/modules/mechs/mech_movement.dm b/code/modules/mechs/mech_movement.dm index d801bc73e82..1dbcf699b6b 100644 --- a/code/modules/mechs/mech_movement.dm +++ b/code/modules/mechs/mech_movement.dm @@ -115,18 +115,45 @@ var/txt_dir = direction & UP ? "upwards" : "downwards" exosuit.visible_message(SPAN_NOTICE("\The [exosuit] moves [txt_dir].")) +//STRAFE + if(exosuit.legs.can_strafe) + for(var/thing in exosuit.pilots) //Для всех пилотов внутри + var/mob/pilot = thing + if(pilot && pilot.client) + for(var/key in pilot.client.keys_held) + if (key == "Space") + var/move_speed = exosuit.legs.move_delay + if(!exosuit.legs.good_in_strafe) + move_speed = move_speed * 2.5 + if(direction == NORTHWEST || direction == NORTHEAST || direction == SOUTHWEST || direction == SOUTHEAST) + move_speed = sqrt((move_speed*move_speed) + (move_speed * move_speed)) + if(move_speed > 12) + move_speed = 12 + exosuit.SetMoveCooldown(exosuit.legs ? move_speed : 3) + var/turf/target_loc = get_step(exosuit, direction) + if(target_loc && exosuit.legs && exosuit.legs.can_move_on(exosuit.loc, target_loc) && exosuit.MayEnterTurf(target_loc)) + exosuit.Move(target_loc) + return MOVEMENT_HANDLED +//STRAFE + +//TURN if(exosuit.dir != moving_dir && !(direction & (UP|DOWN))) playsound(exosuit.loc, exosuit.mech_turn_sound, 40,1) exosuit.set_dir(moving_dir) if(exosuit.passengers_ammount>0) exosuit.update_passengers() exosuit.SetMoveCooldown(exosuit.legs.turn_delay) +//TURN + +//MOVE else exosuit.SetMoveCooldown(exosuit.legs ? exosuit.legs.move_delay : 3) var/turf/target_loc = get_step(exosuit, direction) if(target_loc && exosuit.legs && exosuit.legs.can_move_on(exosuit.loc, target_loc) && exosuit.MayEnterTurf(target_loc)) exosuit.Move(target_loc) return MOVEMENT_HANDLED +//MOVE + /datum/movement_handler/mob/space/exosuit expected_host_type = /mob/living/exosuit diff --git a/code/modules/mechs/premade/misc.dm b/code/modules/mechs/premade/misc.dm index 80648696723..7e969b64812 100644 --- a/code/modules/mechs/premade/misc.dm +++ b/code/modules/mechs/premade/misc.dm @@ -7,6 +7,7 @@ move_delay = 4 turn_delay = 1 power_use = 25 + can_strafe = TRUE /obj/item/mech_component/propulsion/tracks name = "tracks" diff --git a/code/modules/mob/living/silicon/ai/icons.dm b/code/modules/mob/living/silicon/ai/icons.dm index e3f53a0e29a..c73b0c254ef 100644 --- a/code/modules/mob/living/silicon/ai/icons.dm +++ b/code/modules/mob/living/silicon/ai/icons.dm @@ -1,6 +1,6 @@ /datum/ai_icon var/name - var/icon = 'infinity/icons/mob/AI.dmi' + var/icon = 'icons/mob/AI.dmi' var/alive_icon var/alive_light = COLOR_WHITE var/nopower_icon = "4" @@ -261,4 +261,4 @@ name = "Atlantiscze" alive_icon = "atlantiscze-ai" alive_light = "#009c27" - dead_icon = "atlantiscze-ai-crash" \ No newline at end of file + dead_icon = "atlantiscze-ai-crash" diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index c00f1b27e72..5e9c184f957 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -21,8 +21,8 @@ GLOBAL_LIST_INIT(possible_say_verbs, list( /mob/living/silicon/pai name = "pAI" - icon = 'infinity/icons/mob/pai.dmi' - icon_state = "repairbot" + icon = 'icons/mob/pai.dmi' + icon_state = "drone" hud_type = /datum/hud/pai emote_type = 2 // pAIs emotes are heard, not seen, so they can be seen through a container (eg. person) pass_flags = PASS_FLAG_TABLE diff --git a/icons/effects/Targeted.dmi b/icons/effects/Targeted.dmi index 6d61505e6c5..f0d4b95f64f 100644 Binary files a/icons/effects/Targeted.dmi and b/icons/effects/Targeted.dmi differ diff --git a/icons/mecha/mech_decals.dmi b/icons/mecha/mech_decals.dmi index b0de8d7e8eb..4f8cb70e950 100644 Binary files a/icons/mecha/mech_decals.dmi and b/icons/mecha/mech_decals.dmi differ diff --git a/icons/mecha/mech_parts_held.dmi b/icons/mecha/mech_parts_held.dmi index 0276b3fb0aa..65b10879965 100644 Binary files a/icons/mecha/mech_parts_held.dmi and b/icons/mecha/mech_parts_held.dmi differ diff --git a/icons/mecha/mech_parts_off.dmi b/icons/mecha/mech_parts_off.dmi new file mode 100644 index 00000000000..458fe593727 Binary files /dev/null and b/icons/mecha/mech_parts_off.dmi differ diff --git a/icons/mecha/mech_weapon_overlays_off.dmi b/icons/mecha/mech_weapon_overlays_off.dmi new file mode 100644 index 00000000000..ca6a6ff7aca Binary files /dev/null and b/icons/mecha/mech_weapon_overlays_off.dmi differ diff --git a/icons/mob/AI.dmi b/icons/mob/AI.dmi index b0c2752abf4..f3137c57f70 100644 Binary files a/icons/mob/AI.dmi and b/icons/mob/AI.dmi differ diff --git a/icons/mob/hologram.dmi b/icons/mob/hologram.dmi index 6ccf6b27da6..3161a4c8d18 100644 Binary files a/icons/mob/hologram.dmi and b/icons/mob/hologram.dmi differ diff --git a/icons/mob/human.dmi b/icons/mob/human.dmi index 39e8fa20fd3..c65990404b0 100644 Binary files a/icons/mob/human.dmi and b/icons/mob/human.dmi differ diff --git a/icons/mob/infinity_human_face.dmi b/icons/mob/infinity_human_face.dmi index c97d5f009bd..b38b2166fa7 100644 Binary files a/icons/mob/infinity_human_face.dmi and b/icons/mob/infinity_human_face.dmi differ diff --git a/icons/mob/onmob/Unathi/back.dmi b/icons/mob/onmob/Unathi/back.dmi index ab70a766259..24b02e6da28 100644 Binary files a/icons/mob/onmob/Unathi/back.dmi and b/icons/mob/onmob/Unathi/back.dmi differ diff --git a/icons/mob/onmob/Unathi/belt_mirror.dmi b/icons/mob/onmob/Unathi/belt_mirror.dmi index f5b9e961abc..cf2e45e41f7 100644 Binary files a/icons/mob/onmob/Unathi/belt_mirror.dmi and b/icons/mob/onmob/Unathi/belt_mirror.dmi differ diff --git a/icons/mob/onmob/Unathi/uniform.dmi b/icons/mob/onmob/Unathi/uniform.dmi index 28b367e7536..0f391712987 100644 Binary files a/icons/mob/onmob/Unathi/uniform.dmi and b/icons/mob/onmob/Unathi/uniform.dmi differ diff --git a/icons/mob/onmob/belt_mirror.dmi b/icons/mob/onmob/belt_mirror.dmi index 3ae9a3e52ec..9e54eb12a57 100644 Binary files a/icons/mob/onmob/belt_mirror.dmi and b/icons/mob/onmob/belt_mirror.dmi differ diff --git a/icons/mob/pai.dmi b/icons/mob/pai.dmi index ad45e2dcebe..616bf0066cd 100644 Binary files a/icons/mob/pai.dmi and b/icons/mob/pai.dmi differ diff --git a/icons/mob/screen_ai.dmi b/icons/mob/screen_ai.dmi deleted file mode 100644 index 95ee0648a93..00000000000 Binary files a/icons/mob/screen_ai.dmi and /dev/null differ diff --git a/icons/mob/simple_animal/livestock.dmi b/icons/mob/simple_animal/livestock.dmi index 538e14b1ea1..ccdc08bef1b 100644 Binary files a/icons/mob/simple_animal/livestock.dmi and b/icons/mob/simple_animal/livestock.dmi differ diff --git a/icons/obj/Cryogenic2.dmi b/icons/obj/Cryogenic2.dmi index 48e19ed3a7d..61193df8678 100644 Binary files a/icons/obj/Cryogenic2.dmi and b/icons/obj/Cryogenic2.dmi differ diff --git a/icons/obj/buffer/conserva.dmi b/icons/obj/buffer/conserva.dmi index d44c8e52f88..0d9fece3acb 100644 Binary files a/icons/obj/buffer/conserva.dmi and b/icons/obj/buffer/conserva.dmi differ diff --git a/icons/obj/closets/rescuebag.dmi b/icons/obj/closets/rescuebag.dmi deleted file mode 100644 index 7ed654f5f72..00000000000 Binary files a/icons/obj/closets/rescuebag.dmi and /dev/null differ diff --git a/icons/obj/clothing/obj_accessories.dmi b/icons/obj/clothing/obj_accessories.dmi index fad3bbfd36e..7ecdfec20cb 100644 Binary files a/icons/obj/clothing/obj_accessories.dmi and b/icons/obj/clothing/obj_accessories.dmi differ diff --git a/icons/obj/decals.dmi b/icons/obj/decals.dmi index e62f186e61e..d3a68af7fef 100644 Binary files a/icons/obj/decals.dmi and b/icons/obj/decals.dmi differ diff --git a/icons/obj/disperser.dmi b/icons/obj/disperser.dmi index ec78a1fce3e..594a10e29ef 100644 Binary files a/icons/obj/disperser.dmi and b/icons/obj/disperser.dmi differ diff --git a/icons/obj/doors/Door1.dmi b/icons/obj/doors/Door1.dmi index 59ef7116c39..c2fcaefb0a6 100644 Binary files a/icons/obj/doors/Door1.dmi and b/icons/obj/doors/Door1.dmi differ diff --git a/icons/obj/doors/ascent/panel.dmi b/icons/obj/doors/ascent/panel.dmi index 8a50130182d..f645244eda8 100644 Binary files a/icons/obj/doors/ascent/panel.dmi and b/icons/obj/doors/ascent/panel.dmi differ diff --git a/icons/obj/drink_glasses/flute.dmi b/icons/obj/drink_glasses/flute.dmi index a2ee5bf5f8f..ab8c81faec6 100644 Binary files a/icons/obj/drink_glasses/flute.dmi and b/icons/obj/drink_glasses/flute.dmi differ diff --git a/icons/obj/drink_glasses/shake.dmi b/icons/obj/drink_glasses/shake.dmi index 64ee7cb3580..e833ee8d3d4 100644 Binary files a/icons/obj/drink_glasses/shake.dmi and b/icons/obj/drink_glasses/shake.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index eca54d642da..654992dfabc 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/engine.dmi b/icons/obj/engine.dmi index 115fbd628b0..2f434bdcdbb 100644 Binary files a/icons/obj/engine.dmi and b/icons/obj/engine.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 11b9b479286..79a4d29be83 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ diff --git a/icons/obj/food_canned.dmi b/icons/obj/food_canned.dmi index d1e3d537397..05a09b4e6f3 100644 Binary files a/icons/obj/food_canned.dmi and b/icons/obj/food_canned.dmi differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index 8a35e9974fa..12c2394af13 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ diff --git a/icons/obj/machines/antimatter.dmi b/icons/obj/machines/antimatter.dmi deleted file mode 100644 index 4e20f20e7b0..00000000000 Binary files a/icons/obj/machines/antimatter.dmi and /dev/null differ diff --git a/icons/obj/machines/lasers.dmi b/icons/obj/machines/lasers.dmi deleted file mode 100644 index e114313ee94..00000000000 Binary files a/icons/obj/machines/lasers.dmi and /dev/null differ diff --git a/icons/obj/machines/particle_accelerator.dmi b/icons/obj/machines/particle_accelerator.dmi deleted file mode 100644 index db412286c08..00000000000 Binary files a/icons/obj/machines/particle_accelerator.dmi and /dev/null differ diff --git a/icons/obj/machines/research_infinity.dmi b/icons/obj/machines/research_infinity.dmi index efd1bce6bf6..330febf81ee 100644 Binary files a/icons/obj/machines/research_infinity.dmi and b/icons/obj/machines/research_infinity.dmi differ diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index eeec4384ee9..96fef1a5f4a 100644 Binary files a/icons/obj/mining.dmi and b/icons/obj/mining.dmi differ diff --git a/icons/obj/modular_tablet.dmi b/icons/obj/modular_tablet.dmi index d34bfb45f81..d4850ad81ce 100644 Binary files a/icons/obj/modular_tablet.dmi and b/icons/obj/modular_tablet.dmi differ diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index 22a2d92c394..93ad4597f16 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ diff --git a/icons/obj/syringe_inf.dmi b/icons/obj/syringe_inf.dmi index 889ba223caa..e79b9810f0f 100644 Binary files a/icons/obj/syringe_inf.dmi and b/icons/obj/syringe_inf.dmi differ diff --git a/icons/obj/tank.dmi b/icons/obj/tank.dmi index fe9bebc3702..1a66684970d 100644 Binary files a/icons/obj/tank.dmi and b/icons/obj/tank.dmi differ diff --git a/icons/obj/wall_frame.dmi b/icons/obj/wall_frame.dmi index 7306cf8cddb..8f8ac4fba0d 100644 Binary files a/icons/obj/wall_frame.dmi and b/icons/obj/wall_frame.dmi differ diff --git a/icons/obj/wizard.dmi b/icons/obj/wizard.dmi index 81838140d0e..c84b31f3e30 100644 Binary files a/icons/obj/wizard.dmi and b/icons/obj/wizard.dmi differ diff --git a/icons/time/12/lighting.dmi b/icons/time/12/lighting.dmi deleted file mode 100644 index 94584a42daf..00000000000 Binary files a/icons/time/12/lighting.dmi and /dev/null differ diff --git a/icons/time/human_face.dmi b/icons/time/human_face.dmi index dde2c5d02f3..02eb2672762 100644 Binary files a/icons/time/human_face.dmi and b/icons/time/human_face.dmi differ diff --git a/icons/time/infinity_32x32_-_.dmi b/icons/time/infinity_32x32_-_.dmi deleted file mode 100644 index 6da76110bb1..00000000000 Binary files a/icons/time/infinity_32x32_-_.dmi and /dev/null differ diff --git a/icons/time/lighting.dmi b/icons/time/lighting.dmi deleted file mode 100644 index b585ad5cdfd..00000000000 Binary files a/icons/time/lighting.dmi and /dev/null differ diff --git a/icons/time/obj/furniture.dmi b/icons/time/obj/furniture.dmi deleted file mode 100644 index a1a027842ec..00000000000 Binary files a/icons/time/obj/furniture.dmi and /dev/null differ diff --git a/icons/time/obj/monitors.dmi b/icons/time/obj/monitors.dmi deleted file mode 100644 index 454b61d3d51..00000000000 Binary files a/icons/time/obj/monitors.dmi and /dev/null differ diff --git a/infinity/code/modules/mob/living/silicon/pai/mods/special.dm b/infinity/code/modules/mob/living/silicon/pai/mods/special.dm index af73db6cb04..5a2820d49d7 100644 --- a/infinity/code/modules/mob/living/silicon/pai/mods/special.dm +++ b/infinity/code/modules/mob/living/silicon/pai/mods/special.dm @@ -39,5 +39,5 @@ name = "PAI women models' data card" holochasises = list( "Human Female" = "h_female", - "Human Female Red" = "h_female_dead" + "Human Female Red" = "h_female_red" ) diff --git a/infinity/code/modules/projectiles/guns/energy/advanced_ion_rifle.dm b/infinity/code/modules/projectiles/guns/energy/advanced_ion_rifle.dm deleted file mode 100644 index 44575d05aa2..00000000000 --- a/infinity/code/modules/projectiles/guns/energy/advanced_ion_rifle.dm +++ /dev/null @@ -1,14 +0,0 @@ -/obj/item/gun/energy/ionrifle/advanced - name = "MkII spec combat ion rifle" - desc = "The NT MkII spec combat - modificated verison of NT Mk60 EW Halicon, adapted for combat. This one have additional Fire type - anti-energy shield, which overheat energy shields of differents synthetic units shielded from EMP." - projectile_type = /obj/item/projectile/ion - firemodes = list( - list(mode_name="anti-mech shield", fire_delay=40, projectile_type = /obj/item/projectile/beam/antimech, charge_cost = 50), - list(mode_name="ion bolt", fire_delay=30, projectile_type = /obj/item/projectile/ion, charge_cost = 30, accuracy = 7), - ) - -/obj/item/projectile/beam/antimech - name = "сoncentradet energy" - damage = 300 - damage_type = PAIN - icon_state = "pu_laser" diff --git a/infinity/customs/elloncake.dm b/infinity/customs/elloncake.dm index f07d5772720..5ac4308d10e 100644 --- a/infinity/customs/elloncake.dm +++ b/infinity/customs/elloncake.dm @@ -3,7 +3,6 @@ /obj/item/device/kit/suit/elloncake name = "Xri'luz's voidsuit modification kit" desc = "A kit for modifying a voidsuit." - uses = 2 new_icon_file = CUSTOM_ITEM_OBJ new_mob_icon_file = CUSTOM_ITEM_MOB new_name = "skrellian exosuit operator" diff --git a/infinity/customs/taushai.dm b/infinity/customs/taushai.dm index ba33f6cc5f1..27e1504a7ad 100644 --- a/infinity/customs/taushai.dm +++ b/infinity/customs/taushai.dm @@ -61,7 +61,6 @@ /obj/item/device/kit/suit/taushai name = "taj scavenger's voidsuit modification kit" desc = "A kit for modifying a voidsuit." - uses = 2 new_icon_file = CUSTOM_ITEM_OBJ new_mob_icon_file = CUSTOM_ITEM_MOB new_name = "scavenger" diff --git a/infinity/icons/blue_brig/obj/closetsec.dmi b/infinity/icons/blue_brig/obj/closetsec.dmi index e8b572d1a92..f476589c3e9 100644 Binary files a/infinity/icons/blue_brig/obj/closetsec.dmi and b/infinity/icons/blue_brig/obj/closetsec.dmi differ diff --git a/infinity/icons/misc/buildmode.dmi b/infinity/icons/misc/buildmode.dmi deleted file mode 100644 index b2dc0940d89..00000000000 Binary files a/infinity/icons/misc/buildmode.dmi and /dev/null differ diff --git a/infinity/icons/mob/AI.dmi b/infinity/icons/mob/AI.dmi deleted file mode 100644 index f3137c57f70..00000000000 Binary files a/infinity/icons/mob/AI.dmi and /dev/null differ diff --git a/infinity/icons/mob/hologram.dmi b/infinity/icons/mob/hologram.dmi deleted file mode 100644 index fd6b64c9a1f..00000000000 Binary files a/infinity/icons/mob/hologram.dmi and /dev/null differ diff --git a/infinity/icons/mob/pai.dmi b/infinity/icons/mob/pai.dmi deleted file mode 100644 index 0e6019df4d7..00000000000 Binary files a/infinity/icons/mob/pai.dmi and /dev/null differ diff --git a/maps/antag_spawn/ert/ert_base_inf.dmm b/maps/antag_spawn/ert/ert_base_inf.dmm index f9ddc7224f9..25b6a5a63c1 100644 --- a/maps/antag_spawn/ert/ert_base_inf.dmm +++ b/maps/antag_spawn/ert/ert_base_inf.dmm @@ -1157,8 +1157,8 @@ /obj/structure/table/rack, /obj/item/gun/energy/ionrifle, /obj/item/gun/energy/ionrifle, -/obj/item/gun/energy/ionrifle/advanced, -/obj/item/gun/energy/ionrifle/advanced, +/obj/item/gun/energy/ionrifle, +/obj/item/gun/energy/ionrifle, /turf/unsimulated/floor{ dir = 1; icon_state = "vault" diff --git a/maps/away_inf/raider_vessel/raider_vessel.dmm b/maps/away_inf/raider_vessel/raider_vessel.dmm index e6c26f65368..633b6c3c6a4 100644 --- a/maps/away_inf/raider_vessel/raider_vessel.dmm +++ b/maps/away_inf/raider_vessel/raider_vessel.dmm @@ -20,7 +20,7 @@ "dQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor,/area/space) "dZ" = (/obj/structure/extinguisher_cabinet{pixel_x = 22},/obj/effect/decal/cleanable/cobweb2,/obj/machinery/barrier,/turf/simulated/floor/tiled/techfloor/grid,/area/raider_vessel/armory) "eo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 8},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/tiled/techfloor/grid,/area/space) -"ep" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/catwalk,/obj/structure/catwalk,/turf/simulated/floor,/area/raider_vessel/engin) +"ep" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/catwalk,/turf/simulated/floor,/area/raider_vessel/engin) "eF" = (/obj/machinery/power/terminal{dir = 1},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/decal/cleanable/blood/drip,/turf/simulated/floor/tiled/dark,/area/raider_vessel/engin) "eO" = (/obj/machinery/barrier,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/door/airlock/hatch,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/raider_vessel/cock) "eR" = (/obj/effect/shuttle_landmark/raider_vessel/nav3,/turf/space,/area/space) @@ -192,7 +192,7 @@ "Ic" = (/obj/machinery/atmospherics/unary/engine{dir = 1},/turf/simulated/floor,/area/raider_vessel/pod) "Ie" = (/turf/simulated/floor/tiled/techfloor/grid,/area/raider_vessel) "Ip" = (/obj/item/storage/box/ammo/shotgunammo,/turf/simulated/floor/tiled/techfloor/grid,/area/raider_vessel/armory) -"Ir" = (/obj/machinery/portable_atmospherics/canister/hydrogen/engine_setup{name = "\improper Fusion Fuel Canister: \[Hydrogen]"; start_pressure = 14999},/obj/structure/catwalk,/obj/structure/catwalk,/turf/simulated/floor,/area/raider_vessel/engin) +"Ir" = (/obj/machinery/portable_atmospherics/canister/hydrogen/engine_setup{name = "\improper Fusion Fuel Canister: \[Hydrogen]"; start_pressure = 14999},/obj/structure/catwalk,/turf/simulated/floor,/area/raider_vessel/engin) "II" = (/obj/machinery/atmospherics/pipe/simple/visible/fuel{dir = 4},/obj/effect/wallframe_spawn/phoron,/turf/simulated/floor,/area/raider_vessel/engin) "IL" = (/obj/machinery/portable_atmospherics/powered/pump/filled,/turf/simulated/floor/holofloor/tiled/dark,/area/raider_vessel/engin) "IQ" = (/obj/effect/shuttle_landmark/raider_vessel/nav1,/turf/space,/area/space) @@ -204,7 +204,6 @@ "JQ" = (/obj/machinery/button/blast_door{id_tag = "med_pod"; pixel_x = 6; pixel_y = 27},/mob/living/simple_animal/hostile/carp,/turf/simulated/floor/tiled/dark,/area/raider_vessel/bsa) "Kj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 8},/turf/simulated/floor,/area/raider_vessel) "Kl" = (/obj/structure/bed/chair/shuttle/blue{dir = 4; icon_state = "shuttle_chair_preview"},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled/steel_grid,/area/raider_vessel/pod) -"KB" = (/obj/structure/catwalk,/obj/structure/catwalk,/turf/simulated/floor,/area/raider_vessel/engin) "KK" = (/obj/structure/catwalk,/obj/structure/cable{icon_state = "2-8"},/turf/simulated/floor,/area/raider_vessel/engin) "KR" = (/obj/machinery/vending/snack,/turf/simulated/floor/tiled/techfloor/grid,/area/raider_vessel) "KT" = (/mob/living/simple_animal/hostile/carp,/turf/space,/area/space) @@ -366,7 +365,7 @@ LjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLj LjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjNdaHNcaHNVPYZwMrzizAsNsNLjLjLjgcgcgcgcgZgcgcgcDADADADAPNCmIILEIrccLjGkLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLj LjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjcMcMcMcMcMlZvtUDcMhxLjatLjJsLjsNqgVFJQZrnjDAJDYZzLFsDALKLKjoYfabyJDAOsLjKTLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLj LjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjKTLjLjLjLjLjOWcMcMcMcMSkcMsNsNJsLjLjLjUZTiTiTibzYADAxgJfiuVBDAMvMvDAgUepPQDAwxLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLj -LjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjOWcMHImfntxVYNvfZLsNLjLjatLjLjsNgcgcHTgcDAfwkVDAsZDAOmSbnqRwccKBOiwxLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLj +LjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjOWcMHImfntxVYNvfZLsNLjLjatLjLjsNgcgcHTgcDAfwkVDAsZDAOmSbnqRwccccOiwxLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLj LjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjOWcMhtYNzTECYNUMYNsNLjJsLjLjLjatZksHsHlemuArVNwFnQbnDApAmVoZLQOfUGDAwxLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjNwLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLj LjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjOWcMXMECyhPSYwaWxeaWaWOCLjKTLjJsLjsNqGqGsNsNmubTCoxfzvEWXLawoZkOCkvmNYOsLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLj LjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjqIOWOWcMjBBsVoAinAnAbbvbUnsNatLjLjLjLjZkZkLjJsLjatGkGkPTILDAAywsbquGKKvmNYOsLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLjLj diff --git a/maps/random_ruins/exoplanet_ruins/playablecolony_inf/colony.dmm b/maps/random_ruins/exoplanet_ruins/playablecolony_inf/colony.dmm index f2976d03935..6f25660f147 100644 --- a/maps/random_ruins/exoplanet_ruins/playablecolony_inf/colony.dmm +++ b/maps/random_ruins/exoplanet_ruins/playablecolony_inf/colony.dmm @@ -2652,6 +2652,7 @@ /obj/item/storage/toolbox/mechanical, /obj/item/storage/toolbox/mechanical, /obj/item/device/integrated_circuit_printer/upgraded, +/obj/item/device/kit/mech, /turf/simulated/floor/tiled/techfloor/grid, /area/map_template/colony/engineering) "fe" = ( diff --git a/maps/sierra/job/outfits.dm b/maps/sierra/job/outfits.dm index 6867383bc9b..8af7adbe0ab 100644 --- a/maps/sierra/job/outfits.dm +++ b/maps/sierra/job/outfits.dm @@ -102,6 +102,7 @@ Keeping them simple for now, just spawning with basic EC uniforms, and pretty mu // pda_type = /obj/item/modular_computer/pda/heads/ce pda_slot = slot_l_store flags = OUTFIT_FLAGS_JOB_DEFAULT | OUTFIT_EXTENDED_SURVIVAL + belt = /obj/item/storage/belt/utility/chief /decl/hierarchy/outfit/job/sierra/crew/command/chief_engineer/New() ..() diff --git a/maps/sierra/sierra-3.dmm b/maps/sierra/sierra-3.dmm index 566a666ea10..ea7de259082 100644 --- a/maps/sierra/sierra-3.dmm +++ b/maps/sierra/sierra-3.dmm @@ -27887,6 +27887,8 @@ pixel_x = -3; pixel_y = 5 }, +/obj/item/device/paint_sprayer, +/obj/item/device/kit/mech, /turf/simulated/floor/tiled/white, /area/assembly/robotics) "aRN" = (