Francisca buffs, fixes maneuvers. (#15052)

This commit is contained in:
Matt Atlas
2022-11-07 19:30:10 +01:00
committed by GitHub
parent 5da09cca43
commit 03b78debc1
7 changed files with 88 additions and 19 deletions
@@ -11,6 +11,7 @@
var/written_message
var/wielded = FALSE
var/caliber = SHIP_CALIBER_NONE
var/burst = 0 //If set to a number, this many projectiles will spawn to the side of the main projectile.
var/impact_type = SHIP_AMMO_IMPACT_HE //This decides what happens when the ammo hits. Is it a bunkerbuster? HE? AP?
var/ammunition_status = SHIP_AMMO_STATUS_GOOD //Currently unused, but will be relevant for chemical ammo.
var/ammunition_flags = SHIP_AMMO_FLAG_INFLAMMABLE|SHIP_AMMO_FLAG_VERY_HEAVY
@@ -187,6 +188,8 @@
icon_state = "small"
range = 250
anti_materiel_potential = 3
impact_sounds = list(BULLET_IMPACT_MEAT = SOUNDS_BULLET_MEAT, BULLET_IMPACT_METAL = SOUNDS_BULLET_METAL)
accuracy = 100
var/obj/item/ship_ammunition/ammo
var/primed = FALSE //If primed, we don't interact with map edges. Projectiles might spawn on a landmark at the edge of space, and we don't want them to get tp'd away.
var/hit_target = FALSE //First target we hit. Used to report if a hit was successful.
@@ -216,4 +219,14 @@
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.
return
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
pellet.forceMove(new_turf)
pellet.ammo = new ammo.type
pellet.ammo.origin = ammo.origin
pellet.ammo.impact_type = ammo.impact_type
pellet.dir = dir
var/turf/front_turf = get_step(pellet, pellet.dir)
pellet.launch_projectile(front_turf)
@@ -21,6 +21,8 @@
impact_type = SHIP_AMMO_IMPACT_FMJ
ammunition_flags = SHIP_AMMO_FLAG_INFLAMMABLE|SHIP_AMMO_FLAG_VERY_HEAVY|SHIP_AMMO_FLAG_INFLAMMABLE
caliber = SHIP_CALIBER_40MM
burst = 8
cookoff_heavy = 0
/obj/item/ship_ammunition/francisca/ap
name = "40mm AP ammunition box"
@@ -35,7 +37,7 @@
icon_state = "small"
damage = 50
armor_penetration = 50
penetrating = 1
penetrating = 2
/obj/item/projectile/ship_ammo/francisca/ap
name = "40mm AP bullet"
@@ -20,6 +20,7 @@
caliber = SHIP_CALIBER_90MM
ammunition_behaviour = SHIP_AMMO_BEHAVIOUR_DUMBFIRE
projectile_type_override = /obj/item/projectile/ship_ammo/grauwolf
burst = 4
/obj/item/ship_ammunition/grauwolf_bundle/ap
name = "grauwolf armor-piercing flak bundle"
@@ -46,14 +47,4 @@
name = "armor-piercing flak"
damage = 50
armor_penetration = 50
penetrating = 2
/obj/item/projectile/ship_ammo/grauwolf/on_translate(var/turf/entry_turf, var/turf/target_turf)
for(var/i = 1 to 4)
var/turf/new_turf = get_random_turf_in_range(entry_turf, 5, 5, TRUE, TRUE)
var/obj/item/projectile/ship_ammo/grauwolf/burst = new(new_turf)
burst.ammo = new ammo.type
burst.ammo.impact_type = ammo.impact_type
var/turf/front_turf = get_step(new_turf, dir)
burst.dir = dir
burst.launch_projectile(front_turf)
penetrating = 2
@@ -137,6 +137,7 @@
armor_penetration = 1000
penetrating = 100
hitscan = TRUE
impact_sounds = list(BULLET_IMPACT_MEAT = SOUNDS_LASER_MEAT, BULLET_IMPACT_METAL = SOUNDS_LASER_METAL)
muzzle_type = /obj/effect/projectile/muzzle/pulse
tracer_type = /obj/effect/projectile/tracer/pulse