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

Makes gau able to hit resting mobs #4304

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
26 changes: 16 additions & 10 deletions code/modules/cm_marines/dropship_ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,8 @@
fire_mission_delay = 2
var/bullet_spread_range = 4 //how far from the real impact turf can bullets land
var/shrapnel_type = /datum/ammo/bullet/shrapnel/gau //For siming 30mm bullet impacts.
var/directhit_damage = 105 //how much damage is to be inficted to a mob, this is here so that we can hit resting mobs.
var/penetration = 10 //AP value pretty much

/obj/structure/ship_ammo/heavygun/get_examine_text(mob/user)
. = ..()
Expand All @@ -165,25 +167,27 @@
var/soundplaycooldown = 0
var/debriscooldown = 0
for(var/i = 1 to ammo_used_per_firing)
var/turf/U = pick(turf_list)
var/turf/impact_tile = pick(turf_list)
sleep(1)
var/datum/cause_data/cause_data = create_cause_data(initial(name), source_mob)
U.ex_act(EXPLOSION_THRESHOLD_VLOW, pick(alldirs), cause_data)
create_shrapnel(U,1,0,0,shrapnel_type,cause_data,FALSE,100) //simulates a bullet
for(var/atom/movable/AM in U)
if(iscarbon(AM))
AM.ex_act(EXPLOSION_THRESHOLD_VLOW, null, cause_data)
impact_tile.ex_act(EXPLOSION_THRESHOLD_VLOW, pick(alldirs), cause_data)
create_shrapnel(impact_tile,1,0,0,shrapnel_type,cause_data,FALSE,100) //simulates a bullet
for(var/atom/movable/explosion_effect in impact_tile)
if(iscarbon(explosion_effect))
var/mob/living/carbon/bullet_effect = explosion_effect
explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW, null, cause_data)
bullet_effect.apply_armoured_damage(directhit_damage,ARMOR_BULLET,BRUTE,null,penetration)
else
AM.ex_act(EXPLOSION_THRESHOLD_VLOW)
explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW)
if(!soundplaycooldown) //so we don't play the same sound 20 times very fast.
playsound(U, 'sound/effects/gauimpact.ogg',40,1,20)
playsound(impact_tile, 'sound/effects/gauimpact.ogg',40,1,20)
soundplaycooldown = 3
soundplaycooldown--
if(!debriscooldown)
U.ceiling_debris_check(1)
impact_tile.ceiling_debris_check(1)
debriscooldown = 6
debriscooldown--
new /obj/effect/particle_effect/expl_particles(U)
new /obj/effect/particle_effect/expl_particles(impact_tile)
sleep(11) //speed of sound simulation
playsound(impact, 'sound/effects/gau.ogg',100,1,60)

Expand All @@ -200,6 +204,8 @@
point_cost = 325
fire_mission_delay = 2
shrapnel_type = /datum/ammo/bullet/shrapnel/gau/at
directhit_damage = 80 //how much damage is to be inficted to a mob, this is here so that we can hit resting mobs.
penetration = 40 //AP value pretty much

//laser battery

Expand Down
5 changes: 3 additions & 2 deletions code/modules/projectiles/ammo_datums.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3135,7 +3135,8 @@
/datum/ammo/bullet/shrapnel/gau //for the GAU to have a impact bullet instead of firecrackers
name = "30mm Multi-Purpose shell"

damage = 115 //More damaging, but 2x less shells and low AP
damage = 1 // ALL DAMAGE IS IN dropship_ammo SO WE CAN DEAL DAMAGE TO RESTING MOBS, these will still remain however so that we can get cause_data and status effects.
damage_type = BRUTE
penetration = ARMOR_PENETRATION_TIER_2
accuracy = HIT_ACCURACY_TIER_MAX
max_range = 0
Expand All @@ -3144,7 +3145,7 @@
/datum/ammo/bullet/shrapnel/gau/at
name = "30mm Anti-Tank shell"

damage = 80 //Standard AP vs standard. (more AP for less damage)
damage = 1 // ALL DAMAGE IS IN dropship_ammo SO WE CAN DEAL DAMAGE TO RESTING MOBS, these will still remain however so that we can get cause_data and status effects.
penetration = ARMOR_PENETRATION_TIER_8
accuracy = HIT_ACCURACY_TIER_MAX
/*
Expand Down