Skip to content

Commit

Permalink
PGF Turrets (#3381)
Browse files Browse the repository at this point in the history
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## 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)

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
More turret definitions is good. Also I need these for a ship.
<!-- Please add a short description of why you think these changes would
benefit the game. If you can't justify it in words, it might not be
worth adding. -->

## Changelog

:cl:
add: The PGF now has it's own turret offerings. They come in light,
normal, and heavy flavor.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

---------

Co-authored-by: FalloutFalcon <[email protected]>
  • Loading branch information
Erikafox and FalloutFalcon authored Sep 20, 2024
1 parent c6be4db commit e9a324a
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 39 deletions.
60 changes: 25 additions & 35 deletions _maps/shuttles/pgf/pgf_crying_sun.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -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" = (
Expand Down Expand Up @@ -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" = (
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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" = (
Expand Down Expand Up @@ -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" = (
Expand Down Expand Up @@ -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" = (
Expand All @@ -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" = (
Expand Down Expand Up @@ -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" = (
Expand Down Expand Up @@ -7804,7 +7794,7 @@ xz
xz
xz
xz
tU
Hb
xk
UE
pW
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/factions.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
37 changes: 35 additions & 2 deletions code/game/machinery/porta_turret/portable_turret.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand All @@ -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//
////////////////////////
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/outfits/factions/solgov.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
5 changes: 5 additions & 0 deletions code/modules/projectiles/ammunition/energy/laser.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit e9a324a

Please sign in to comment.