diff --git a/aurorastation.dme b/aurorastation.dme index cc9b1977f55..94c7736233e 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -1958,6 +1958,7 @@ #include "code\modules\heavy_vehicle\premade\miner.dm" #include "code\modules\heavy_vehicle\premade\misc.dm" #include "code\modules\heavy_vehicle\premade\powerloader.dm" +#include "code\modules\heavy_vehicle\premade\pra.dm" #include "code\modules\holidays\christmas\props.dm" #include "code\modules\holidays\halloween\costumes.dm" #include "code\modules\holidays\halloween\props.dm" diff --git a/code/modules/heavy_vehicle/equipment/combat.dm b/code/modules/heavy_vehicle/equipment/combat.dm index 8e9480c01dc..d3b0ce23646 100644 --- a/code/modules/heavy_vehicle/equipment/combat.dm +++ b/code/modules/heavy_vehicle/equipment/combat.dm @@ -40,6 +40,10 @@ icon_state = "mecha_ballistic" holding_type = /obj/item/gun/energy/mountedsmg +/obj/item/mecha_equipment/mounted_system/combat/smg/pra_egg + icon_state = "pra_egg_smg" + restricted_hardpoints = list(HARDPOINT_RIGHT_HAND) + /obj/item/mecha_equipment/mounted_system/combat/pulse name = "heavy pulse cannon" desc = "A weapon for combat exosuits. The eZ-13 mk2 heavy pulse rifle shoots powerful pulse-based beams, capable of destroying structures." diff --git a/code/modules/heavy_vehicle/premade/pra.dm b/code/modules/heavy_vehicle/premade/pra.dm new file mode 100644 index 00000000000..825bd1b6561 --- /dev/null +++ b/code/modules/heavy_vehicle/premade/pra.dm @@ -0,0 +1,99 @@ +/mob/living/heavy_vehicle/premade/pra_egg + name = "\improper P'kus-3 exosuit" + desc = "An exosuit developed by the People's Republic of Adhomai for the Division Experimental Exosuit." + icon_state = "durand" + + e_head = /obj/item/mech_component/sensors/pra_egg + e_body = /obj/item/mech_component/chassis/pra_egg + e_arms = /obj/item/mech_component/manipulators/pra_egg + e_legs = /obj/item/mech_component/propulsion/pra_egg + e_color = COLOR_STEEL + h_head = null + h_r_hand = /obj/item/mecha_equipment/mounted_system/combat/smg/pra_egg + +/obj/item/mech_component/manipulators/pra_egg + name = "\improper P'kus-3 arms" + exosuit_desc_string = "flexible arms" + desc = "Robotics arms designed to carry large weapons." + icon_state = "egg_arms" + melee_damage = 15 + action_delay = 5 + max_damage = 100 + power_use = 5000 + has_hardpoints = list(HARDPOINT_RIGHT_HAND, HARDPOINT_LEFT_HAND) + +/obj/item/mech_component/propulsion/pra_egg + name = "\improper P'kus-3 legs" + exosuit_desc_string = "hydraulic legs" + desc = "Strong legs adapted for the Adhomian rought terrain." + icon_state = "egg_legs" + move_delay = 3 + turn_delay = 3 + max_damage = 100 + power_use = 5000 + trample_damage = 15 + +/obj/item/mech_component/sensors/pra_egg + name = "\improper P'kus-3 sensors" + gender = PLURAL + exosuit_desc_string = "weather-resistant sensors" + desc = "A round cockpit in the shape of an egg. Its sensors are adapted to the Adhomian winds and hail." + icon_state = "egg_head" + max_damage = 50 + power_use = 50000 + vision_flags = SEE_MOBS + see_invisible = SEE_INVISIBLE_NOLIGHTING + +/obj/item/mech_component/sensors/pra_egg/prebuild() + ..() + software = new(src) + software.installed_software = list(MECH_SOFTWARE_WEAPONS, MECH_SOFTWARE_UTILITY) + +/obj/item/mech_component/chassis/pra_egg + name = "\improper P'kus-3 chassis" + hatch_descriptor = "canopy" + pilot_coverage = 100 + exosuit_desc_string = "a light armored chassis" + desc = "A lightweight composite frame keeps the armor of this chassis respectable, but the interior spacious." + icon_state = "egg_body" + max_damage = 150 + power_use = 2500 + +/obj/item/mech_component/chassis/pra_egg/prebuild() + . = ..() + mech_armor = new /obj/item/robot_parts/robot_component/armor/mech(src) + +/mob/living/heavy_vehicle/premade/pra_egg/armored + desc = "An exosuit developed by the People's Republic of Adhomai for the Division Experimental Exosuit. This one is a heavily armored version." + icon_state = "durand" + + e_head = /obj/item/mech_component/sensors/pra_egg/armored + e_body = /obj/item/mech_component/chassis/pra_egg/armored + e_arms = /obj/item/mech_component/manipulators/pra_egg/armored + +/obj/item/mech_component/manipulators/pra_egg/armored + name = "armored P'kus-3 arms" + exosuit_desc_string = "armored flexible arms" + desc = "Armored robotics arms designed to carry large weapons." + icon_state = "strong_egg_arms" + melee_damage = 20 + max_damage = 120 + +/obj/item/mech_component/sensors/pra_egg/armored + name = "armored P'kus-3 sensors" + exosuit_desc_string = "weather-resistant armored sensors" + desc = "An armored cockpit in the shape of an egg. Its sensors are adapted to the Adhomian winds and hail." + icon_state = "strong_egg_head" + max_damage = 120 + +/obj/item/mech_component/chassis/pra_egg/armored + name = "armored P'kus-3 chassis" + exosuit_desc_string = "an armored chassis" + desc = "A armored composite frame keeps the armor of this chassis respectable, but the interior spacious." + icon_state = "strong_egg_body" + max_damage = 150 + power_use = 2500 + +/obj/item/mech_component/chassis/pra_egg/armored/prebuild() + . = ..() + mech_armor = new /obj/item/robot_parts/robot_component/armor/mech/combat(src) \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/pra.dm b/code/modules/mob/living/simple_animal/hostile/pra.dm index 43a6a9c51a2..99f6498c2e2 100644 --- a/code/modules/mob/living/simple_animal/hostile/pra.dm +++ b/code/modules/mob/living/simple_animal/hostile/pra.dm @@ -79,6 +79,10 @@ var/obj/item/clothing/under/suit = H.w_uniform if((locate(/obj/item/clothing/accessory/hadii_pin) in suit.accessories) || (locate(/obj/item/clothing/accessory/badge/hadii_card) in suit.accessories)) return FALSE + if(ismech(L)) + var/mob/living/heavy_vehicle/M = L + if(M.body && istype(M.body, /obj/item/mech_component/chassis/pra_egg)) + return FALSE if(!L.stat) var/current_health = INFINITY diff --git a/html/changelogs/alberyk-theegg.yml b/html/changelogs/alberyk-theegg.yml new file mode 100644 index 00000000000..b9cf295775d --- /dev/null +++ b/html/changelogs/alberyk-theegg.yml @@ -0,0 +1,6 @@ +author: Alberyk, Kyres1 + +delete-after: True + +changes: + - rscadd: "Added a PRA mech, the P'kus-3, to the headmaster ship and the people's space station." diff --git a/icons/mecha/mech_equipment.dmi b/icons/mecha/mech_equipment.dmi index 90c3520826b..a7339435fec 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 4e2f02d74d4..68f0d5019f3 100644 Binary files a/icons/mecha/mech_parts.dmi and b/icons/mecha/mech_parts.dmi differ diff --git a/icons/mecha/mecha_weapon_overlays.dmi b/icons/mecha/mecha_weapon_overlays.dmi index e6a8a19ea65..c88e950f72a 100644 Binary files a/icons/mecha/mecha_weapon_overlays.dmi and b/icons/mecha/mecha_weapon_overlays.dmi differ diff --git a/maps/away/away_site/tajara/peoples_station/peoples_station.dmm b/maps/away/away_site/tajara/peoples_station/peoples_station.dmm index 9598997c39b..d3ee0f6c15b 100644 --- a/maps/away/away_site/tajara/peoples_station/peoples_station.dmm +++ b/maps/away/away_site/tajara/peoples_station/peoples_station.dmm @@ -6109,6 +6109,20 @@ temperature = 278.15 }, /area/peoples_station/training) +"Bw" = ( +/obj/machinery/door/window/brigdoor/southleft{ + name = "Robot Storage"; + req_access = list(209) + }, +/obj/machinery/light/small/red{ + dir = 1 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/mob/living/heavy_vehicle/premade/pra_egg/armored, +/turf/simulated/floor/plating{ + temperature = 278.15 + }, +/area/peoples_station/robotics_bay) "Bx" = ( /turf/simulated/floor/tiled/dark{ temperature = 278.15 @@ -8966,7 +8980,7 @@ "Pj" = ( /obj/structure/table/standard, /obj/machinery/photocopier/faxmachine{ - department = "HMV Supreme"; + department = "People's Space Station"; req_access = list(209); req_one_access = null }, @@ -42371,7 +42385,7 @@ dt fa wj dt -lO +Bw yu Zc cJ @@ -42885,7 +42899,7 @@ dt fa wj dt -fa +Bw yu zs Ss @@ -43913,7 +43927,7 @@ dt fi wj dt -fi +lO xN zs tk diff --git a/maps/away/ships/pra/headmaster/headmaster_ship.dmm b/maps/away/ships/pra/headmaster/headmaster_ship.dmm index 309ee960481..c1ac2028a78 100644 --- a/maps/away/ships/pra/headmaster/headmaster_ship.dmm +++ b/maps/away/ships/pra/headmaster/headmaster_ship.dmm @@ -2421,7 +2421,8 @@ "hJ" = ( /obj/structure/table/standard, /obj/machinery/photocopier/faxmachine{ - req_one_access = list(209) + req_one_access = list(209); + department = "Headmaster Ship" }, /obj/structure/window/reinforced{ dir = 8 @@ -4287,6 +4288,14 @@ temperature = 278.15 }, /area/headmaster_ship/engineering) +"pd" = ( +/obj/effect/floor_decal/industrial/loading/yellow{ + dir = 8 + }, +/turf/simulated/floor/tiled/dark{ + temperature = 278.15 + }, +/area/headmaster_ship/armory) "pf" = ( /obj/effect/floor_decal/industrial/warning{ dir = 10 @@ -6490,6 +6499,19 @@ "Up" = ( /turf/simulated/wall/shuttle/raider, /area/headmaster_ship/engine) +"Uy" = ( +/obj/machinery/mech_recharger, +/mob/living/heavy_vehicle/premade/pra_egg{ + dir = 8 + }, +/obj/machinery/light/small/emergency{ + dir = 4 + }, +/obj/effect/floor_decal/industrial/outline/yellow, +/turf/simulated/floor/tiled/dark{ + temperature = 278.15 + }, +/area/headmaster_ship/armory) "UB" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/corner/red{ @@ -19191,7 +19213,7 @@ ha ha ha ha -kW +pd ha ha hh @@ -19353,7 +19375,7 @@ Tt Tt Tt ha -wT +Uy ha je nd