Repathed /obj/item/projectile to /obj/projectile (#19693)

Repathed /obj/item/projectile to /obj/projectile, same as TG and Bay,
that's pretty much it.
This commit is contained in:
Fluffy
2024-07-27 10:09:46 +00:00
committed by GitHub
parent 2a8d6acd86
commit 3e1b9d4170
214 changed files with 1014 additions and 971 deletions
@@ -65,7 +65,7 @@
to_chat(user,SPAN_NOTICE("You take \the [stored_item] from [src]."))
stored_item = null
/obj/structure/flora/pottedplant/bullet_act(var/obj/item/projectile/Proj)
/obj/structure/flora/pottedplant/bullet_act(var/obj/projectile/Proj)
if (prob(Proj.damage*2))
death()
return 1
@@ -23,7 +23,7 @@
death()
return ..()
/obj/item/flora/pottedplant_small/bullet_act(var/obj/item/projectile/Proj)
/obj/item/flora/pottedplant_small/bullet_act(var/obj/projectile/Proj)
if (prob(Proj.damage*2))
death()
return 1
@@ -8,7 +8,7 @@
var/static/list/forbidden_types = typecacheof(list(
/obj/singularity,
/obj/structure/lattice,
/obj/item/projectile,
/obj/projectile,
/obj/effect
))
has_resources = FALSE
@@ -22,7 +22,7 @@
var/obj/effect/overmap/origin
var/atom/overmap_target
var/obj/entry_point
var/obj/item/projectile/original_projectile
var/obj/projectile/original_projectile
var/heading = SOUTH
var/range = OVERMAP_PROJECTILE_RANGE_MEDIUM
var/mob_carry_size = 12 //How large a mob has to be to carry the shell
@@ -202,7 +202,7 @@
//SNOWFLAKE CODE: ACTIVATE
//The problem is getting the projectile from the gun to the map edge. We want to do this naturally, but using process() and BYOND's walk procs makes it look very... unnatural. And also slow!
//The solution? Let's co-opt projectile code!
/obj/item/projectile/ship_ammo
/obj/projectile/ship_ammo
name = "ship ammunition"
icon = 'icons/obj/guns/ship/physical_projectiles.dmi'
icon_state = "small"
@@ -214,12 +214,12 @@
var/primed = FALSE
var/hit_target = FALSE //First target we hit. Used to report if a hit was successful.
/obj/item/projectile/ship_ammo/Destroy()
/obj/projectile/ship_ammo/Destroy()
ammo = null
hit_target = null
return ..()
/obj/item/projectile/ship_ammo/touch_map_edge()
/obj/projectile/ship_ammo/touch_map_edge()
if(primed)
for(var/mob/living/carbon/human/H in GLOB.human_mob_list)
if(AreConnectedZLevels(H.z, z))
@@ -231,7 +231,7 @@
ammo.original_projectile = src
forceMove(ammo)
/obj/item/projectile/ship_ammo/on_hit(atom/target, blocked, def_zone, var/is_landmark_hit = FALSE) //is_landmark_hit is TRUE when we hit a landmark on a visitable non-ship overmap object.
/obj/projectile/ship_ammo/on_hit(atom/target, blocked, def_zone, var/is_landmark_hit = FALSE) //is_landmark_hit is TRUE when we hit a landmark on a visitable non-ship overmap object.
if(target && !hit_target)
hit_target = TRUE
var/target_name = target.name
@@ -244,11 +244,11 @@
ammo.origin.signal_hit(hit_data)
return ..()
/obj/item/projectile/ship_ammo/proc/on_translate(var/turf/entry_turf, var/target_turf) //This proc is called when the projectile enters a new ship's overmap zlevel.
/obj/projectile/ship_ammo/proc/on_translate(var/turf/entry_turf, var/target_turf) //This proc is called when the projectile enters a new ship's overmap zlevel.
if(ammo.burst)
for(var/i = 1 to ammo.burst)
var/turf/new_turf = get_random_turf_in_range(entry_turf, ammo.burst + rand(0, ammo.burst), 0, TRUE, FALSE)
var/obj/item/projectile/ship_ammo/pellet = new type
var/obj/projectile/ship_ammo/pellet = new type
pellet.forceMove(new_turf)
pellet.ammo = new ammo.type
pellet.ammo.origin = ammo.origin
@@ -10,7 +10,7 @@
var/max_damage = 1000
var/heavy_firing_sound = 'sound/weapons/gunshot/ship_weapons/120mm_mortar.ogg' //The sound in the immediate firing area. Very loud.
var/light_firing_sound = 'sound/effects/explosionfar.ogg' //The sound played when you're a few walls away. Kind of loud.
var/projectile_type = /obj/item/projectile/ship_ammo
var/projectile_type = /obj/projectile/ship_ammo
var/special_firing_mechanism = FALSE //If set to TRUE, the gun won't show up on normal controls.
var/charging_sound //The sound played when the gun is charging up.
var/caliber = SHIP_CALIBER_NONE
@@ -221,7 +221,7 @@
if(!barrel)
crash_with("No barrel found for [src] at [x] [y] [z]! Cannot fire!")
var/turf/firing_turf = get_step(barrel, barrel.dir)
var/obj/item/projectile/ship_ammo/projectile
var/obj/projectile/ship_ammo/projectile
if(SA.projectile_type_override)
projectile = new SA.projectile_type_override(firing_turf)
else
@@ -300,7 +300,7 @@
M.turf_collision(src, speed)
return
/obj/structure/ship_weapon_dummy/bullet_act(obj/item/projectile/P, def_zone)
/obj/structure/ship_weapon_dummy/bullet_act(obj/projectile/P, def_zone)
connected.bullet_act(P)
/obj/structure/ship_weapon_dummy/ex_act(severity)
@@ -88,7 +88,7 @@
. = TRUE
//Manually stopping because this proc needs to sleep for a bit.
prepare_for_entry()
var/obj/item/projectile/ship_ammo/widowmaker = new ammunition.original_projectile.type
var/obj/projectile/ship_ammo/widowmaker = new ammunition.original_projectile.type
widowmaker.ammo = ammunition
qdel(ammunition.original_projectile) //No longer needed.
var/turf/laze = get_turf(entry_target)
@@ -114,7 +114,7 @@
else //if it's not a ship it doesn't have a fore direction, so we need to autocorrect
ammunition.heading = entry_target.dir
prepare_for_entry()
var/obj/item/projectile/ship_ammo/widowmaker = new ammunition.original_projectile.type
var/obj/projectile/ship_ammo/widowmaker = new ammunition.original_projectile.type
widowmaker.ammo = ammunition
qdel(ammunition.original_projectile) //No longer needed.
ammunition.original_projectile = widowmaker
@@ -4,7 +4,7 @@
desc_extended = "Originally produced during the waning years of Solarian hegemony over much of the Orion Spur, the Model 2396 remains, despite its age, a very common piece of mining equipment in remote or underdeveloped areas of the Spur such as the former Solarian Frontier Sectors where newer equipment is either too rare to use widely. Threats from pirates and privateers have driven miners and independent merchants in these areas to long rely on field-modified M96s as improvised ship-to-ship artillery pieces as their mining charges are perfectly capable of ripping through hulls as effectively as they rip through rock. It is, however, awkward and kludgy to aim due to its nature as an improvised weapon and most discard the M96 when more modern -- or practical -- weaponry is acquired."
icon = 'icons/obj/machinery/ship_guns/blaster.dmi'
icon_state = "weapon_base"
projectile_type = /obj/item/projectile/ship_ammo/blaster
projectile_type = /obj/projectile/ship_ammo/blaster
heavy_firing_sound = 'sound/weapons/railgun.ogg'
firing_effects = FIRING_EFFECT_FLAG_EXTREMELY_LOUD
@@ -21,14 +21,14 @@
overmap_icon_state = "med_laser"
impact_type = SHIP_AMMO_IMPACT_BLASTER
/obj/item/projectile/ship_ammo/blaster
/obj/projectile/ship_ammo/blaster
name = "blaster charge"
icon_state = "blaster"
damage = 10000
armor_penetration = 1000
penetrating = 1
/obj/item/projectile/ship_ammo/blaster/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
/obj/projectile/ship_ammo/blaster/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
. = ..()
if(ismob(target))
var/mob/M = target
@@ -6,7 +6,7 @@
heavy_firing_sound = 'sound/weapons/gunshot/cannon.ogg'
icon_state = "weapon_base"
max_ammo = 1
projectile_type = /obj/item/projectile/ship_ammo/bruiser
projectile_type = /obj/projectile/ship_ammo/bruiser
caliber = SHIP_CALIBER_178MM
screenshake_type = SHIP_GUN_SCREENSHAKE_SCREEN
load_time = 4 SECONDS
@@ -42,7 +42,7 @@
desc = "A rough, handmade shell that should fit in a bruiser cannon. This one is filled with projectiles that easily get through the hull, but do little damage."
icon_state = "shell_flechette"
burst = 9
projectile_type_override = /obj/item/projectile/ship_ammo/bruiser/flechette
projectile_type_override = /obj/projectile/ship_ammo/bruiser/flechette
/obj/item/ship_ammunition/bruiser/he
name = "makeshift bruiser explosive shell"
@@ -54,7 +54,7 @@
burst = 0
cookoff_heavy = 1
overmap_icon_state = "cannon_heavy"
projectile_type_override = /obj/item/projectile/ship_ammo/bruiser/he
projectile_type_override = /obj/projectile/ship_ammo/bruiser/he
/obj/item/ship_ammunition/bruiser/real/he
name = "bruiser explosive shell"
@@ -66,7 +66,7 @@
burst = 0
cookoff_heavy = 2
overmap_icon_state = "cannon_heavy"
projectile_type_override = /obj/item/projectile/ship_ammo/bruiser/real/he
projectile_type_override = /obj/projectile/ship_ammo/bruiser/real/he
/obj/item/ship_ammunition/bruiser/real/ap
name = "bruiser armor-piercing shell"
@@ -78,7 +78,7 @@
burst = 0
cookoff_heavy = 2
overmap_icon_state = "cannon_heavy"
projectile_type_override = /obj/item/projectile/ship_ammo/bruiser/real/ap
projectile_type_override = /obj/projectile/ship_ammo/bruiser/real/ap
/obj/item/ship_ammunition/bruiser/real/canister
name = "bruiser canister shell"
@@ -86,7 +86,7 @@
desc = "An expensive shell designed for the Hegemony Bruiser cannon by Hephaestus Industries. This one bursts into many small pellets."
icon_state = "shell_canister_real"
burst = 23
projectile_type_override = /obj/item/projectile/ship_ammo/bruiser/real/canister
projectile_type_override = /obj/projectile/ship_ammo/bruiser/real/canister
/obj/item/ship_ammunition/bruiser/real/beehive
name = "bruiser beehive shell"
@@ -94,16 +94,16 @@
desc = "An expensive shell designed for the Hegemony Bruiser cannon by Hephaestus Industries. Very popular among Unathi, this shell bursts into many slugger projectiles that punch through the hull with less mass, but more force."
icon_state = "shell_flechette_real"
burst = 9
projectile_type_override = /obj/item/projectile/ship_ammo/bruiser/real/beehive
projectile_type_override = /obj/projectile/ship_ammo/bruiser/real/beehive
/obj/item/projectile/ship_ammo/bruiser
/obj/projectile/ship_ammo/bruiser
name = "canister shot pellet"
icon_state = "small"
damage = 35
armor_penetration = 35
penetrating = 1
/obj/item/projectile/ship_ammo/bruiser/flechette
/obj/projectile/ship_ammo/bruiser/flechette
name = "beehive flechette"
icon_state = "small_burst"
damage = 20
@@ -113,38 +113,38 @@
embed_chance = 40
shrapnel_type = /obj/item/material/shard/shrapnel/flechette
/obj/item/projectile/ship_ammo/bruiser/he
/obj/projectile/ship_ammo/bruiser/he
name = "178mm shell"
icon_state = "heavy"
damage = 150
armor_penetration = 75
penetrating = 0
/obj/item/projectile/ship_ammo/bruiser/he/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
/obj/projectile/ship_ammo/bruiser/he/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
. = ..()
explosion(target, 1, 3, 6)
/obj/item/projectile/ship_ammo/bruiser/real/he
/obj/projectile/ship_ammo/bruiser/real/he
name = "178mm shell"
icon_state = "heavy"
damage = 350
armor_penetration = 125
penetrating = 0
/obj/item/projectile/ship_ammo/bruiser/real/ap
/obj/projectile/ship_ammo/bruiser/real/ap
name = "178mm shell"
icon_state = "heavy"
damage = 250
armor_penetration = 250
penetrating = 2
/obj/item/projectile/ship_ammo/bruiser/real/canister
/obj/projectile/ship_ammo/bruiser/real/canister
damage = 40
armor_penetration = 40
penetrating = 2
stun = 2
/obj/item/projectile/ship_ammo/bruiser/real/beehive //comparable to slugger projectiles but slightly stronger
/obj/projectile/ship_ammo/bruiser/real/beehive //comparable to slugger projectiles but slightly stronger
name = "massive slug"
icon_state = "heavy"
damage = 65
@@ -157,14 +157,14 @@
maim_type = DROPLIMB_BLUNT
anti_materiel_potential = 2
/obj/item/projectile/ship_ammo/bruiser/real/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
/obj/projectile/ship_ammo/bruiser/real/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
. = ..()
if(ammo.impact_type == SHIP_AMMO_IMPACT_HE)
explosion(target, 3, 6, 8)
if(ammo.impact_type == SHIP_AMMO_IMPACT_AP)
explosion(target, 0, 2, 4)
/obj/item/projectile/ship_ammo/bruiser/real/beehive/on_hit(atom/movable/target, blocked, def_zone, is_landmark_hit)
/obj/projectile/ship_ammo/bruiser/real/beehive/on_hit(atom/movable/target, blocked, def_zone, is_landmark_hit)
if(istype(target))
var/throwdir = dir
target.throw_at(get_edge_target_turf(target, throwdir),9,8)
@@ -4,7 +4,7 @@
desc_extended = "Although originally an expensive blunder made by over-worked Kumar Arms designers, the Nadziak later preformed to an outstanding degree following numerous improvements. Its fame among post-War Admirals was such that its name and purpose has largely remained the same, with a new 'Type' iteration commissioned every decade or so. With the expulsion of Zavodskoi and its subsidiary from Solarian space, this aging giant and symbol of military might is under threat of being consumed by the resulting arms manufacturing vacuum."
icon = 'icons/obj/machinery/ship_guns/sol_coilgun.dmi'
icon_state = "weapon_base"
projectile_type = /obj/item/projectile/ship_ammo/coilgun
projectile_type = /obj/projectile/ship_ammo/coilgun
heavy_firing_sound = 'sound/weapons/railgun.ogg'
firing_effects = FIRING_EFFECT_FLAG_EXTREMELY_LOUD
@@ -21,14 +21,14 @@
overmap_icon_state = "cannon"
impact_type = SHIP_AMMO_IMPACT_HE
/obj/item/projectile/ship_ammo/coilgun
/obj/projectile/ship_ammo/coilgun
name = "high-power tungsten rod"
icon_state = "heavy"
damage = 10000
armor_penetration = 1000
penetrating = 1
/obj/item/projectile/ship_ammo/coilgun/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
/obj/projectile/ship_ammo/coilgun/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
. = ..()
if(ismob(target))
var/mob/M = target
@@ -5,7 +5,7 @@
heavy_firing_sound = 'sound/weapons/gunshot/ship_weapons/rotary_fire.ogg'
icon_state = "weapon_base"
max_ammo = 3
projectile_type = /obj/item/projectile/ship_ammo/francisca
projectile_type = /obj/projectile/ship_ammo/francisca
caliber = SHIP_CALIBER_40MM
screenshake_type = SHIP_GUN_SCREENSHAKE_SCREEN
@@ -35,7 +35,7 @@
desc = "A box of AP shells for use in a Francisca rotary gun."
icon_state = "box_ap"
impact_type = SHIP_AMMO_IMPACT_AP
projectile_type_override = /obj/item/projectile/ship_ammo/francisca/ap
projectile_type_override = /obj/projectile/ship_ammo/francisca/ap
/obj/item/ship_ammunition/francisca/frag
name = "40mm fragmentation ammunition box"
@@ -43,27 +43,27 @@
desc = "A box of fragmentation shells for use in a Francisca rotary gun."
icon_state = "box_inc"
impact_type = SHIP_AMMO_IMPACT_HE
projectile_type_override = /obj/item/projectile/ship_ammo/francisca/frag
projectile_type_override = /obj/projectile/ship_ammo/francisca/frag
/obj/item/projectile/ship_ammo/francisca
/obj/projectile/ship_ammo/francisca
name = "40mm FMJ shell"
icon_state = "small"
damage = 50
armor_penetration = 50
penetrating = 2
/obj/item/projectile/ship_ammo/francisca/ap
/obj/projectile/ship_ammo/francisca/ap
name = "40mm AP shell"
damage = 30
armor_penetration = 100
penetrating = 4
/obj/item/projectile/ship_ammo/francisca/frag
/obj/projectile/ship_ammo/francisca/frag
name = "40mm FRAG shell"
damage = 30
armor_penetration = 50
penetrating = 1
/obj/item/projectile/ship_ammo/francisca/frag/on_impact(var/atom/A)
/obj/projectile/ship_ammo/francisca/frag/on_impact(var/atom/A)
fragem(src, 70, 70, 1, 2, 10, 4, TRUE)
..()
@@ -20,7 +20,7 @@
overmap_icon_state = "flak"
caliber = SHIP_CALIBER_90MM
ammunition_behaviour = SHIP_AMMO_BEHAVIOUR_DUMBFIRE
projectile_type_override = /obj/item/projectile/ship_ammo/grauwolf
projectile_type_override = /obj/projectile/ship_ammo/grauwolf
burst = 4
/obj/item/ship_ammunition/grauwolf_bundle/ap
@@ -28,23 +28,23 @@
desc = "A bundle of armor-piercing flak shells."
icon_state = "bundle_ap"
impact_type = SHIP_AMMO_IMPACT_AP
projectile_type_override = /obj/item/projectile/ship_ammo/grauwolf/ap
projectile_type_override = /obj/projectile/ship_ammo/grauwolf/ap
/obj/item/projectile/ship_ammo/grauwolf
/obj/projectile/ship_ammo/grauwolf
name = "high-explosive flak"
icon_state = "small_burst"
damage = 100
armor_penetration = 50
penetrating = 0
/obj/item/projectile/ship_ammo/grauwolf/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
/obj/projectile/ship_ammo/grauwolf/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
. = ..()
if(ammo && ammo.impact_type == SHIP_AMMO_IMPACT_HE)
explosion(target, 0, 2, 4)
else
explosion(target, 0, 1, 2)
/obj/item/projectile/ship_ammo/grauwolf/ap
/obj/projectile/ship_ammo/grauwolf/ap
name = "armor-piercing flak"
damage = 50
armor_penetration = 50
@@ -8,7 +8,7 @@
ammunition_behaviour = SHIP_AMMO_BEHAVIOUR_DUMBFIRE
impact_type = SHIP_AMMO_IMPACT_PROBE
overmap_behaviour = null // This ammo cannot hit anything
projectile_type_override = /obj/item/projectile/ship_ammo/grauwolf_probe
projectile_type_override = /obj/projectile/ship_ammo/grauwolf_probe
overmap_projectile_type_override = /obj/effect/overmap/projectile/probe
burst = 1
@@ -82,7 +82,7 @@
sensor_console.datalink_remove_contact(contact, ship)
. = ..()
/obj/item/projectile/ship_ammo/grauwolf_probe
/obj/projectile/ship_ammo/grauwolf_probe
name = "sensor probe projectile"
icon_state = "small_burst"
damage = 0
@@ -3,7 +3,7 @@
desc = "One of the most common naval guns produced by the Zhurong Imperial Naval Arsenal, the ZA-98/5 is the fifth revision of a gun which has proudly served the Imperial Fleet since 2398. Produced in cooperation with Zavodskoi Interstellar, the ZA-98/5 features and updates reloading mechanism and further improvements to the ballistic profile of its shots. This naval gun is commonly seen on Imperial Fleet corvettes and frigates as their main armament, and is often seen on larger Fleet vessels as a secondary armament to support larger weaponry. It is easily capable of destroying a smaller vessel if the Goddess ensures its shot flies true."
icon = 'icons/obj/machinery/ship_guns/lammergeier.dmi'
icon_state = "weapon_base"
projectile_type = /obj/item/projectile/ship_ammo/lammergeier
projectile_type = /obj/projectile/ship_ammo/lammergeier
heavy_firing_sound = 'sound/weapons/railgun.ogg'
firing_effects = FIRING_EFFECT_FLAG_EXTREMELY_LOUD
@@ -20,14 +20,14 @@
overmap_icon_state = "cannon"
impact_type = SHIP_AMMO_IMPACT_HE
/obj/item/projectile/ship_ammo/lammergeier
/obj/projectile/ship_ammo/lammergeier
name = "typhoon shell"
icon_state = "heavy"
damage = 10000
armor_penetration = 1000
penetrating = 1
/obj/item/projectile/ship_ammo/lammergeier/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
/obj/projectile/ship_ammo/lammergeier/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
. = ..()
if(ismob(target))
var/mob/M = target
@@ -6,7 +6,7 @@
special_firing_mechanism = TRUE
max_damage = 10000
projectile_type = /obj/item/projectile/ship_ammo/leviathan
projectile_type = /obj/projectile/ship_ammo/leviathan
use_ammunition = FALSE
heavy_firing_sound = 'sound/weapons/gunshot/ship_weapons/leviathan_fire.ogg'
caliber = SHIP_CALIBER_ZAT
@@ -136,7 +136,7 @@
/obj/item/ship_ammunition/leviathan/get_speed()
return 2
/obj/item/projectile/ship_ammo/leviathan
/obj/projectile/ship_ammo/leviathan
name = "zero-point artillery beam"
desc = "A concentrated stream of pure energy."
icon_state = "pulse"
@@ -150,7 +150,7 @@
tracer_type = /obj/effect/projectile/tracer/pulse
impact_type = /obj/effect/projectile/impact/pulse
/obj/item/projectile/ship_ammo/leviathan/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
/obj/projectile/ship_ammo/leviathan/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
if(!is_landmark_hit)
if(ismob(target))
var/mob/M = target
@@ -162,7 +162,7 @@
target.visible_message(SPAN_DANGER("<font size=6>A giant, purple laser descends from the sky!</font>"))
explosion(target, 30, 30, 30)
/obj/item/projectile/ship_ammo/leviathan/check_penetrate(atom/A)
/obj/projectile/ship_ammo/leviathan/check_penetrate(atom/A)
on_hit(A)
return TRUE
@@ -3,7 +3,7 @@
desc = "A Kumar Arms high-velocity cannon and flagship of <i>\"Chivalry\"</i> weapons line, developed in 2461 as an upgrade to its predecessor, the Ballista. Its upgrades include a bigger payload, a more streamlined loading process, and easier maintenance, making this cannon one of the best armaments in the Spur."
icon_state = "weapon_base"
projectile_type = /obj/item/projectile/ship_ammo/longbow
projectile_type = /obj/projectile/ship_ammo/longbow
caliber = SHIP_CALIBER_406MM
firing_effects = FIRING_EFFECT_FLAG_EXTREMELY_LOUD
screenshake_type = SHIP_GUN_SCREENSHAKE_ALL_MOBS
@@ -11,20 +11,20 @@
/obj/machinery/ammunition_loader/longbow
name = "longbow shell loader"
/obj/item/projectile/ship_ammo/longbow
/obj/projectile/ship_ammo/longbow
icon_state = "heavy"
damage = 1000
armor_penetration = 1000
var/penetrated = FALSE
/obj/item/projectile/ship_ammo/longbow/launch_projectile(atom/target, target_zone, mob/user, params, angle_override, forced_spread)
/obj/projectile/ship_ammo/longbow/launch_projectile(atom/target, target_zone, mob/user, params, angle_override, forced_spread)
if(ammo.impact_type == SHIP_AMMO_IMPACT_AP)
penetrating = 1
if(ammo.impact_type == SHIP_AMMO_IMPACT_BUNKERBUSTER)
penetrating = 3
. = ..()
/obj/item/projectile/ship_ammo/longbow/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
/obj/projectile/ship_ammo/longbow/on_hit(atom/target, blocked, def_zone, is_landmark_hit)
. = ..()
if(ismob(target))
var/mob/M = target
@@ -140,7 +140,7 @@
if(prob(10))
cookoff(FALSE)
/obj/item/warhead/longbow/bullet_act(obj/item/projectile/P, def_zone)
/obj/item/warhead/longbow/bullet_act(obj/projectile/P, def_zone)
. = ..()
if(P.damage > 5)
cookoff(TRUE)
@@ -503,7 +503,7 @@
else if(health < max_health * 0.75)
. += "\The [src] shows signs of damage!"
/obj/machinery/shipsensors/bullet_act(var/obj/item/projectile/Proj)
/obj/machinery/shipsensors/bullet_act(var/obj/projectile/Proj)
take_damage(Proj.get_structure_damage())
..()