From 2bcf67a052572c7f6e46a06665541ea99881aa09 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Fri, 20 Sep 2024 09:03:57 -0400 Subject: [PATCH] PGF Turrets (#3381) ## About The Pull Request https://github.com/user-attachments/assets/a8715ea0-0721-4025-8a5a-74296290ae77 Defines some pgf flavored laser turrets. Maps the light variant onto the Crying Sun as a replacement for the weak turrets currently installed (shouldn't be a major upgrade). The turrets are: Standard - uses the pgf assault rifle laser Light - uses the pgf pistol laser Heavy - uses the pgf sniper laser and a heavier disabler beam. Also organizes the file slightly and renames the faction define for solcon (solgov -> solcon) ## Why It's Good For The Game More turret definitions is good. Also I need these for a ship. ## Changelog :cl: add: The PGF now has it's own turret offerings. They come in light, normal, and heavy flavor. /:cl: --------- Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- _maps/shuttles/pgf/pgf_crying_sun.dmm | 60 ++++++++----------- code/__DEFINES/factions.dm | 2 +- .../machinery/porta_turret/portable_turret.dm | 37 +++++++++++- .../clothing/outfits/factions/solgov.dm | 2 +- .../projectiles/ammunition/energy/laser.dm | 5 ++ 5 files changed, 67 insertions(+), 39 deletions(-) diff --git a/_maps/shuttles/pgf/pgf_crying_sun.dmm b/_maps/shuttles/pgf/pgf_crying_sun.dmm index c0584df1e945..ad52c8b853d8 100644 --- a/_maps/shuttles/pgf/pgf_crying_sun.dmm +++ b/_maps/shuttles/pgf/pgf_crying_sun.dmm @@ -425,13 +425,13 @@ /turf/open/floor/plating, /area/ship/engineering/engines/starboard) "du" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 6; - mode = 1 - }, /obj/structure/cable{ icon_state = "0-8" }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 6; + mode = 1 + }, /turf/open/floor/engine/hull, /area/ship/external/dark) "dv" = ( @@ -1050,11 +1050,11 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/machinery/porta_turret/ship/weak{ +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/porta_turret/ship/pgf/light{ dir = 4; mode = 1 }, -/obj/structure/catwalk/over/plated_catwalk/dark, /turf/open/floor/plating/airless, /area/ship/external/dark) "ih" = ( @@ -2335,16 +2335,6 @@ /obj/effect/turf_decal/floordetail/tiled, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) -"tU" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 5; - mode = 1 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) "tY" = ( /obj/machinery/modular_computer/console/preset/command{ dir = 1 @@ -3452,13 +3442,13 @@ /turf/open/floor/plasteel/white, /area/ship/crew/canteen) "CF" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 10; - mode = 1 - }, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 10; + mode = 1 + }, /turf/open/floor/engine/hull, /area/ship/external/dark) "CO" = ( @@ -3732,11 +3722,11 @@ /turf/open/floor/plasteel, /area/ship/hallway/central) "Eu" = ( -/obj/machinery/porta_turret/ship/weak{ +/obj/structure/cable, +/obj/machinery/porta_turret/ship/pgf/light{ dir = 5; mode = 1 }, -/obj/structure/cable, /turf/open/floor/engine/hull, /area/ship/external/dark) "EA" = ( @@ -3996,13 +3986,13 @@ /turf/open/floor/plasteel/mono/dark, /area/ship/hallway/central) "FJ" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 5; - mode = 1 - }, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 5; + mode = 1 + }, /turf/open/floor/engine/hull, /area/ship/external/dark) "FN" = ( @@ -4017,13 +4007,13 @@ /turf/open/floor/plating, /area/ship/engineering/engines/starboard) "FO" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 8; - mode = 1 - }, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 8; + mode = 1 + }, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "FU" = ( @@ -4253,13 +4243,13 @@ /turf/open/floor/vault, /area/ship/security/armory) "Hb" = ( -/obj/machinery/porta_turret/ship/weak{ - dir = 4; - mode = 1 - }, /obj/structure/cable{ icon_state = "0-2" }, +/obj/machinery/porta_turret/ship/pgf/light{ + dir = 5; + mode = 1 + }, /turf/open/floor/engine/hull, /area/ship/external/dark) "Hf" = ( @@ -7804,7 +7794,7 @@ xz xz xz xz -tU +Hb xk UE pW diff --git a/code/__DEFINES/factions.dm b/code/__DEFINES/factions.dm index 67ce47e166fc..596060d6610e 100644 --- a/code/__DEFINES/factions.dm +++ b/code/__DEFINES/factions.dm @@ -8,7 +8,7 @@ #define FACTION_PLAYER_NANOTRASEN "playerNanotrasen" #define FACTION_PLAYER_FRONTIERSMEN "playerFrontiersmen" #define FACTION_PLAYER_MINUTEMAN "playerMinuteman" -#define FACTION_PLAYER_SOLGOV "playerSolgov" +#define FACTION_PLAYER_SOLCON "playerSolcon" #define FACTION_PLAYER_INTEQ "playerInteq" #define FACTION_PLAYER_ROUMAIN "playerRoumain" #define FACTION_PLAYER_GEZENA "playerGezena" diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 3f5620c35f06..884c103d0e0f 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -832,8 +832,8 @@ DEFINE_BITFIELD(turret_flags, list( stun_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' desc = "A ballistic machine gun auto-turret." -/obj/machinery/porta_turret/ship/solgov - faction = list("playerSolgov", "turret") + +/* Syndicate Turrets */ /obj/machinery/porta_turret/ship/syndicate faction = list(FACTION_PLAYER_SYNDICATE, "turret") @@ -856,6 +856,39 @@ DEFINE_BITFIELD(turret_flags, list( lethal_projectile = /obj/projectile/beam/laser/heavylaser lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' +/* Solcon Turrets */ + +/obj/machinery/porta_turret/ship/solgov + faction = list(FACTION_PLAYER_SOLCON, "turret") + +/* Pan Gezena Federation Turrets */ + +/obj/machinery/porta_turret/ship/pgf + name = "Etherbor Defensive Mount" + desc = "A less portable Etherbor offering, the EDM is a self-directed linkage of energy weapons, designed to keep intruders away from Gezenan vessels." + faction = list(FACTION_PLAYER_GEZENA, "Turret") + stun_projectile = /obj/projectile/beam/hitscan/disabler + stun_projectile_sound = 'sound/weapons/gun/energy/kalixpistol.ogg' + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf/assault + lethal_projectile_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' + icon_state = "standard_lethal" + base_icon_state = "standard" + +/obj/machinery/porta_turret/ship/pgf/light + name = "Etherbor Deterrent System" + desc = "A light turret manufactured by Etherbor. It offers a lightweight assembly of energy weapons to accost nearby foes." + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf + lethal_projectile_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' + +/obj/machinery/porta_turret/ship/pgf/heavy + name = "Etherbor Point-Defense System" + desc = "A high-powered defensive turret manufactured by Etherbor. The EPDS contains heavy energy weapons linked in tandem." + scan_range = 10 + stun_projectile = /obj/projectile/beam/hitscan/disabler/heavy + stun_projectile_sound = 'sound/weapons/gun/energy/kalixpistol.ogg' + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf/sniper //fwoom + lethal_projectile_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' + //////////////////////// //Turret Control Panel// //////////////////////// diff --git a/code/modules/clothing/outfits/factions/solgov.dm b/code/modules/clothing/outfits/factions/solgov.dm index 8e8710c86dbf..3b14fc89dafa 100644 --- a/code/modules/clothing/outfits/factions/solgov.dm +++ b/code/modules/clothing/outfits/factions/solgov.dm @@ -7,7 +7,7 @@ . = ..() if(visualsOnly) return - H.faction |= list(FACTION_PLAYER_SOLGOV) + H.faction |= list(FACTION_PLAYER_SOLCON) /datum/outfit/job/solgov/assistant name = "SolGov - Scribe" diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index d0334e8d8acc..674d1e4514d8 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -169,6 +169,11 @@ impact_light_range = 2.5 impact_light_color_override = COLOR_CYAN +/obj/projectile/beam/hitscan/disabler/heavy + damage = 30 + armour_penetration = -10 + + /obj/item/ammo_casing/energy/laser/minigun select_name = "kill" projectile_type = /obj/projectile/beam/weak/penetrator