Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Bunker Buster CAS Missile: GBU-67-EP 'Paveway XXI' #3648

Closed
wants to merge 22 commits into from
Closed
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions code/game/machinery/computer/dropship_weapons.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
var/shuttle_tag // Used to know which shuttle we're linked to.
var/obj/structure/dropship_equipment/selected_equipment //the currently selected equipment installed on the shuttle this console controls.
var/list/shuttle_equipments = list() //list of the equipments on the shuttle this console controls
var/cavebreaker = FALSE //ignore caves and other restrictions?
var/datum/cas_fire_envelope/firemission_envelope
var/datum/cas_fire_mission/selected_firemission
var/datum/cas_fire_mission/editing_firemission
Expand Down Expand Up @@ -321,7 +320,7 @@
is_outside = TRUE
if(CEILING_GLASS)
is_outside = TRUE
if(!is_outside && !cavebreaker) //cavebreaker doesn't care
if(!is_outside && !(selected_equipment.ammo_equipped.ammo_ignore_caves)) //cavebreaker doesn't care
blackdragonTOW marked this conversation as resolved.
Show resolved Hide resolved
to_chat(usr, SPAN_WARNING("INVALID TARGET: target must be visible from high altitude."))
return
if (protected_by_pylon(TURF_PROTECTION_CAS, TU))
Expand Down
19 changes: 19 additions & 0 deletions code/modules/cm_marines/dropship_ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@
/// Mob that fired this ammunition (the pilot pressing the trigger)
var/mob/source_mob
var/combat_equipment = TRUE
/// Ignores Caves when lining up FMs
blackdragonTOW marked this conversation as resolved.
Show resolved Hide resolved
var/ammo_ignore_caves = FALSE


/obj/structure/ship_ammo/attack_alien(mob/living/carbon/xenomorph/current_xenomorph)
if(unslashable)
Expand Down Expand Up @@ -321,6 +324,22 @@
cell_explosion(impact, 450, 100, EXPLOSION_FALLOFF_SHAPE_EXPONENTIAL, null, create_cause_data(initial(name), source_mob)) //Insane fall off combined with insane damage makes the Keeper useful for single targets, but very bad against multiple.
qdel(src)

/obj/structure/ship_ammo/rocket/bunkerbuster
name = "\improper GBU-67-EP 'Paveway XXI'"
desc = "The GBU-67-EP 'Paveway XXI' takes the GBU-67 LGB and mates it with an enhanced penetrator warhead that allows it to strike targets dozens of meters underground."
icon_state = "bunkerbuster"
travelling_time = 2.0 SECONDS //A fast payload due to its very tight blast zone
ammo_id = "p"
point_cost = 600
ammo_ignore_caves = TRUE
fire_mission_delay = 0 //no FMs, direct only

/obj/structure/ship_ammo/rocket/bunkerbuster/detonate_on(turf/impact)
blackdragonTOW marked this conversation as resolved.
Show resolved Hide resolved
impact.ceiling_debris_check(3)
spawn(5)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nevernevernever use spawn()
use a timer instead

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So every single other weapon in this .dm functions with this code, I'm just duplicating preexisting code. Overhauling all of the CAS weapons seems beyond the scope of this PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spawn(5) replaced with sleep(5)

cell_explosion(impact, 450, 100, EXPLOSION_FALLOFF_SHAPE_EXPONENTIAL, null, create_cause_data(initial(name), source_mob)) //See Keeper comments: However this is able to penetrate cave ceilings.
qdel(src)

/obj/structure/ship_ammo/rocket/harpoon
name = "\improper AGM-84 'Harpoon'"
desc = "The AGM-84 Harpoon is an Anti-Ship Missile, designed and used to effectively take down enemy ships with a huge blast wave with low explosive power. This one is modified to use ground signals."
Expand Down
Binary file modified icons/obj/structures/props/almayer_props64.dmi
Binary file not shown.