Skip to content

Commit

Permalink
Inteq Turrets (#3406)
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
adds special inteq turrets.

Inteq turrets have better range (except for the close in one), and
slower fire rate. They can be frightening under the right conditions.
All ships currently mapped have a mixture of Vanguard Turrets and Close
In Vanguard Turrets
<!-- 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
It's good fluff and continues my quest of making turrets for every
faction
<!-- 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: IRMG engineers have rolled new turrets out into the frontier.
Please report back on their effectiveness. Unless you have been shot.
Then you should be dead.
/: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. -->
  • Loading branch information
Erikafox authored Oct 5, 2024
1 parent fa73b70 commit b38e90a
Show file tree
Hide file tree
Showing 7 changed files with 101 additions and 61 deletions.
56 changes: 29 additions & 27 deletions _maps/shuttles/inteq/inteq_colossus.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -653,9 +653,9 @@
/turf/open/floor/plasteel/telecomms_floor,
/area/ship/bridge)
"gH" = (
/obj/machinery/porta_turret/ship/ballistic{
dir = 6;
id = "colossus_grid"
/obj/machinery/porta_turret/ship/inteq{
id = "colossus_grid";
dir = 4
},
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/ship/crew)
Expand Down Expand Up @@ -1138,9 +1138,9 @@
/turf/open/floor/plasteel/patterned/grid,
/area/ship/hallway/fore)
"mb" = (
/obj/machinery/porta_turret/ship/ballistic{
dir = 5;
id = "colossus_grid"
/obj/machinery/porta_turret/ship/inteq/light{
id = "colossus_grid";
dir = 5
},
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/ship/hallway/port)
Expand Down Expand Up @@ -1734,9 +1734,9 @@
/turf/open/floor/plasteel/dark,
/area/ship/crew/office)
"sT" = (
/obj/machinery/porta_turret/ship/ballistic{
dir = 5;
id = "colossus_grid"
/obj/machinery/porta_turret/ship/inteq/light{
id = "colossus_grid";
dir = 5
},
/turf/closed/wall/mineral/plastitanium,
/area/ship/crew)
Expand Down Expand Up @@ -2068,9 +2068,9 @@
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/ship/cargo)
"vJ" = (
/obj/machinery/porta_turret/ship/ballistic{
dir = 5;
id = "colossus_grid"
/obj/machinery/porta_turret/ship/inteq{
id = "colossus_grid";
dir = 5
},
/turf/closed/wall/mineral/plastitanium,
/area/ship/maintenance/port)
Expand Down Expand Up @@ -2442,9 +2442,9 @@
/turf/open/floor/plating,
/area/ship/maintenance/port)
"Bi" = (
/obj/machinery/porta_turret/ship/ballistic{
dir = 9;
id = "colossus_grid"
/obj/machinery/porta_turret/ship/inteq{
id = "colossus_grid";
dir = 9
},
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/ship/crew/office)
Expand Down Expand Up @@ -3320,8 +3320,9 @@
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/ship/security/armory)
"Ll" = (
/obj/machinery/porta_turret/ship/ballistic{
dir = 5
/obj/machinery/porta_turret/ship/inteq{
id = "colossus_grid";
dir = 4
},
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/ship/bridge)
Expand Down Expand Up @@ -3557,7 +3558,8 @@
/turf/open/floor/plasteel/patterned,
/area/ship/cargo)
"Oa" = (
/obj/machinery/porta_turret/ship/ballistic{
/obj/machinery/porta_turret/ship/inteq/light{
id = "colossus_grid";
dir = 6
},
/turf/closed/wall/mineral/plastitanium,
Expand Down Expand Up @@ -3630,9 +3632,9 @@
/turf/open/floor/engine/hull/reinforced,
/area/ship/maintenance/starboard)
"OI" = (
/obj/machinery/porta_turret/ship/ballistic{
dir = 6;
id = "colossus_grid"
/obj/machinery/porta_turret/ship/inteq{
id = "colossus_grid";
dir = 6
},
/turf/closed/wall/mineral/plastitanium,
/area/ship/maintenance/starboard)
Expand Down Expand Up @@ -3790,9 +3792,9 @@
/turf/open/floor/plating,
/area/ship/maintenance/starboard)
"Qw" = (
/obj/machinery/porta_turret/ship/ballistic{
dir = 10;
id = "colossus_grid"
/obj/machinery/porta_turret/ship/inteq{
id = "colossus_grid";
dir = 10
},
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/ship/security/armory)
Expand Down Expand Up @@ -3944,9 +3946,9 @@
/turf/open/floor/plasteel/patterned/cargo_one,
/area/ship/cargo)
"RZ" = (
/obj/machinery/porta_turret/ship/ballistic{
dir = 6;
id = "colossus_grid"
/obj/machinery/porta_turret/ship/inteq/light{
id = "talos_grid";
dir = 6
},
/turf/closed/wall/mineral/plastitanium,
/area/ship/security)
Expand Down
26 changes: 13 additions & 13 deletions _maps/shuttles/inteq/inteq_talos.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@
/turf/open/floor/circuit/telecomms/mainframe,
/area/ship/engineering/communications)
"aC" = (
/obj/machinery/porta_turret/ship/weak{
/obj/machinery/porta_turret/ship/inteq{
dir = 5;
id = "talos_grid"
},
Expand Down Expand Up @@ -849,7 +849,7 @@
/turf/open/floor/plating/airless,
/area/ship/storage/port)
"fs" = (
/obj/machinery/porta_turret/ship/weak{
/obj/machinery/porta_turret/ship/inteq{
dir = 5;
id = "talos_grid"
},
Expand Down Expand Up @@ -2689,14 +2689,14 @@
/turf/open/floor/plasteel/tech/grid,
/area/ship/crew/cryo)
"qt" = (
/obj/machinery/porta_turret/ship/weak{
/obj/machinery/porta_turret/ship/inteq{
dir = 6;
id = "talos_grid"
},
/turf/closed/wall/mineral/plastitanium,
/area/ship/maintenance/starboard)
"qz" = (
/obj/machinery/porta_turret/ship/weak{
/obj/machinery/porta_turret/ship/inteq{
dir = 5;
id = "talos_grid"
},
Expand Down Expand Up @@ -4556,9 +4556,9 @@
/turf/open/floor/plasteel/grimy,
/area/ship/crew)
"Cr" = (
/obj/machinery/porta_turret/ship/weak{
dir = 9;
id = "talos_grid"
/obj/machinery/porta_turret/ship/inteq/light{
id = "talos_grid";
dir = 9
},
/turf/closed/wall/mineral/plastitanium,
/area/ship/engineering/communications)
Expand Down Expand Up @@ -4821,7 +4821,7 @@
autolinkers = list("hub","processor4","bus");
network = "irmg_commnet"
},
/turf/open/floor/circuit/telecomms/mainframe,
/turf/closed/wall/mineral/plastitanium,
/area/ship/engineering/communications)
"Ep" = (
/obj/item/trash/can,
Expand Down Expand Up @@ -4853,9 +4853,9 @@
/turf/open/floor/plasteel/telecomms_floor,
/area/ship/engineering/communications)
"ED" = (
/obj/machinery/porta_turret/ship/weak{
dir = 10;
id = "talos_grid"
/obj/machinery/porta_turret/ship/inteq/light{
id = "talos_grid";
dir = 10
},
/turf/closed/wall/mineral/plastitanium,
/area/ship/storage)
Expand Down Expand Up @@ -6624,7 +6624,7 @@
/turf/open/floor/plasteel/telecomms_floor,
/area/ship/engineering/communications)
"Rf" = (
/obj/machinery/porta_turret/ship/weak{
/obj/machinery/porta_turret/ship/inteq{
dir = 6;
id = "talos_grid"
},
Expand Down Expand Up @@ -7491,7 +7491,7 @@
/turf/open/floor/plating,
/area/ship/engineering/engine)
"WN" = (
/obj/machinery/porta_turret/ship/weak{
/obj/machinery/porta_turret/ship/inteq{
dir = 6;
id = "talos_grid"
},
Expand Down
8 changes: 4 additions & 4 deletions _maps/shuttles/inteq/inteq_vaquero.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -1933,7 +1933,7 @@
/turf/open/floor/plasteel/dark,
/area/ship/security)
"DT" = (
/obj/machinery/porta_turret/ship/weak{
/obj/machinery/porta_turret/ship/inteq{
dir = 6;
id = "vaquero_grid"
},
Expand Down Expand Up @@ -2027,7 +2027,7 @@
/turf/open/floor/plasteel/dark,
/area/ship/crew/office)
"Fm" = (
/obj/machinery/porta_turret/ship/weak{
/obj/machinery/porta_turret/ship/inteq{
dir = 5;
id = "vaquero_grid"
},
Expand Down Expand Up @@ -2523,7 +2523,7 @@
/turf/open/floor/plasteel/patterned/grid,
/area/ship/hallway/central)
"NO" = (
/obj/machinery/porta_turret/ship/weak{
/obj/machinery/porta_turret/ship/inteq{
dir = 6;
id = "vaquero_grid"
},
Expand Down Expand Up @@ -2957,7 +2957,7 @@
port_direction = 8;
preferred_direction = 4
},
/obj/machinery/porta_turret/ship/weak{
/obj/machinery/porta_turret/ship/inteq{
dir = 5;
id = "vaquero_grid"
},
Expand Down
15 changes: 3 additions & 12 deletions _maps/shuttles/subshuttles/inteq_anvil.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -191,14 +191,6 @@
"w" = (
/turf/template_noop,
/area/template_noop)
"x" = (
/obj/machinery/porta_turret/ship/weak{
faction = list("playerInteq","turret");
dir = 9;
id = "anvil_grid"
},
/turf/closed/wall/mineral/plastitanium/nodiagonal,
/area/ship/bridge)
"y" = (
/obj/machinery/power/terminal,
/obj/structure/cable{
Expand Down Expand Up @@ -387,9 +379,8 @@
/turf/open/floor/plasteel/dark,
/area/ship/bridge)
"T" = (
/obj/machinery/porta_turret/ship/weak{
faction = list("playerInteq","turret");
dir = 10;
/obj/machinery/porta_turret/ship/inteq/light{
dir = 8;
id = "anvil_grid"
},
/turf/closed/wall/mineral/plastitanium/nodiagonal,
Expand Down Expand Up @@ -436,7 +427,7 @@

(1,1,1) = {"
w
x
T
X
u
Q
Expand Down
42 changes: 38 additions & 4 deletions code/game/machinery/porta_turret/portable_turret.dm
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,6 @@ DEFINE_BITFIELD(turret_flags, list(
var/has_cover = TRUE
/// The cover that is covering this turret
var/obj/machinery/porta_turret_cover/cover = null
/// World.time the turret last fired
var/last_fired = 0
/// Ticks until next shot (1.5 ?)
var/shot_delay = 15
/// Turret flags about who is turret allowed to shoot
Expand All @@ -101,6 +99,8 @@ DEFINE_BITFIELD(turret_flags, list(
var/datum/action/turret_toggle/toggle_action
/// Mob that is remotely controlling the turret
var/mob/remote_controller
//our cooldowns
COOLDOWN_DECLARE(fire_cooldown)
/// For connecting to additional turrets
var/id = ""

Expand Down Expand Up @@ -599,9 +599,9 @@ DEFINE_BITFIELD(turret_flags, list(
return

if(!(obj_flags & EMAGGED)) //if it hasn't been emagged, cooldown before shooting again
if(last_fired + shot_delay > world.time)
if(!COOLDOWN_FINISHED(src, fire_cooldown))
return
last_fired = world.time
COOLDOWN_START(src, fire_cooldown, shot_delay)

var/turf/T = get_turf(src)
var/turf/U = get_turf(target)
Expand Down Expand Up @@ -866,6 +866,40 @@ DEFINE_BITFIELD(turret_flags, list(
lethal_projectile = /obj/projectile/beam/laser/heavylaser
lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg'

/* Inteq Turrets */

/obj/machinery/porta_turret/ship/inteq
name = "Vanguard Turret"
desc = "A turret designed by IRMG engineers for defending ships from hostile flora, fauna, and people (and Elzousa, which count as flora and people)."
stun_projectile = /obj/projectile/bullet/a762_40/rubber
stun_projectile_sound = 'sound/weapons/gun/rifle/skm.ogg'
lethal_projectile = /obj/projectile/bullet/a762_40
lethal_projectile_sound = 'sound/weapons/gun/rifle/skm.ogg'
scan_range = 8
shot_delay = 20
faction = list(FACTION_PLAYER_INTEQ, "turret")

/obj/machinery/porta_turret/ship/inteq/light
name = "Close-In Vanguard Turret"
desc = "A light turret designed by IRMG engineers for the the task of defending from close-in encounters. Low power, high speed."
stun_projectile = /obj/projectile/bullet/c10mm/rubber
stun_projectile_sound = 'sound/weapons/gun/smg/vector_fire.ogg'
lethal_projectile = /obj/projectile/bullet/c10mm
lethal_projectile_sound = 'sound/weapons/gun/smg/vector_fire.ogg'
subsystem_type = /datum/controller/subsystem/processing/fastprocess //turns out if you have a shot delay below what SSmachines fires at you need to use a different subsystem
scan_range = 4
shot_delay = 5

/obj/machinery/porta_turret/ship/inteq/heavy
name = "Vanguard Overwatch Turret"
desc = "A turret designed by IRMG engineers to provide long range defensive fire on their installations. Has a habit of leaving big holes."
stun_projectile = /obj/projectile/bullet/a308/rubber
stun_projectile_sound = 'sound/weapons/gun/rifle/f4.ogg'
lethal_projectile = /obj/projectile/bullet/a308
lethal_projectile_sound = 'sound/weapons/gun/rifle/f4.ogg'
scan_range = 12
shot_delay = 20

/* Solcon Turrets */

/obj/machinery/porta_turret/ship/solgov
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,6 @@ EMPTY_GUN_HELPER(automatic/smg/cm5)
righthand_file = 'icons/obj/guns/manufacturer/clip_lanchester/righthand.dmi'
mob_overlay_icon = 'icons/obj/guns/manufacturer/clip_lanchester/onmob.dmi'

fire_sound = 'sound/weapons/gun/rifle/shot.ogg'
icon_state = "f4"
item_state = "f4"
show_magazine_on_sprite = TRUE
Expand Down
14 changes: 14 additions & 0 deletions code/modules/projectiles/projectile/bullets/rifle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,13 @@
damage = 30
armour_penetration = 20

/obj/projectile/bullet/a762_40/rubber //"rubber"
name = "7.62x40mm CLIP Rubber"
damage = 15
stamina = 40
armour_penetration = 20


//.308 WIN (M514 & GAL DMRs)

/obj/projectile/bullet/a308
Expand All @@ -57,6 +64,13 @@
damage = 30
armour_penetration = 40

/obj/projectile/bullet/a308/rubber //"rubber"
name = ".308 Rubber"
speed = 0.3
damage = 25
stamina = 50
armour_penetration = 40

// 8x58mm caseless (SG-669)

/obj/projectile/bullet/a858
Expand Down

0 comments on commit b38e90a

Please sign in to comment.