mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 13:10:02 +01:00
## About The Pull Request Pipegun: 40 -> 70 Pipegun Prime : 80 -> 120 Pipe Pistol: 15 x 3 -> 25 x 3 Pipe Pistol Prime: LOL-> LMAO The junk round types have additional adjustments accordingly. New Junk Round type: Ants It shoots ants at you. Go fuck yourself. ## Why It's Good For The Game People are still telling me that the pipegun/pipe pistol is still not worth crafting despite various attempts to improve the means of doing so. Killing people too slowly, it often leaves plenty of time for victims to reverse the attack or simply escape, leaving the intended hit and run playstyle it wishes to encourage too ineffectual. Therefore, to make it actually an appreciable attack, we have boosted the damage to 'oh God I'm fucking dying RIGHT NOW' tier. You're welcome. Ants. ## Changelog 🆑 balance: The pipegun types now deal more damage. Good luck. balance: New Junk Round: Sometimes, your pipegun will fire an entire ant colony into your enemies bloodstream. Die, asshole. Ants. /🆑
120 lines
3.7 KiB
Plaintext
120 lines
3.7 KiB
Plaintext
// Junk (Pipe Pistols and Pipeguns)
|
|
|
|
/obj/projectile/bullet/junk
|
|
name = "junk bullet"
|
|
icon_state = "trashball"
|
|
damage = 40
|
|
embed_type = /datum/embedding/bullet/junk
|
|
/// What biotype does our junk projectile especially harm?
|
|
var/extra_damage_mob_biotypes = MOB_ROBOTIC
|
|
/// How much do we multiply our total base damage?
|
|
var/extra_damage_multiplier = 1.5
|
|
/// How much extra damage do we do on top of this total damage? Separate from the multiplier and unaffected by it.
|
|
var/extra_damage_added_damage = 0
|
|
/// What damage type is our extra damage?
|
|
var/extra_damage_type = BRUTE
|
|
|
|
/obj/projectile/bullet/junk/on_hit(atom/target, blocked = 0, pierce_hit)
|
|
. = ..()
|
|
|
|
if(!isliving(target))
|
|
return
|
|
var/mob/living/living_target = target
|
|
|
|
var/is_correct_biotype = living_target.mob_biotypes & extra_damage_mob_biotypes
|
|
if(extra_damage_mob_biotypes && is_correct_biotype)
|
|
var/multiplied_damage = extra_damage_multiplier ? ((damage * extra_damage_multiplier) - damage) : 0
|
|
var/finalized_damage = multiplied_damage + extra_damage_added_damage
|
|
if(finalized_damage)
|
|
living_target.apply_damage(finalized_damage, damagetype = extra_damage_type, def_zone = BODY_ZONE_CHEST, wound_bonus = wound_bonus)
|
|
|
|
/datum/embedding/bullet/junk
|
|
embed_chance = 30
|
|
fall_chance = 3
|
|
jostle_chance = 4
|
|
ignore_throwspeed_threshold = TRUE
|
|
pain_stam_pct = 0.4
|
|
pain_mult = 5
|
|
jostle_pain_mult = 6
|
|
rip_time = 1 SECONDS
|
|
stealthy_embed = FALSE
|
|
|
|
/obj/projectile/bullet/incendiary/fire/junk
|
|
name = "burning oil"
|
|
damage = 40
|
|
fire_stacks = 5
|
|
suppressed = SUPPRESSED_NONE
|
|
|
|
/obj/projectile/bullet/dart/ants
|
|
name = "a ball of ants"
|
|
icon_state = "trashball"
|
|
damage = 40 // Fuck your life.
|
|
inject_flags = INJECT_CHECK_PENETRATE_THICK // Fuck your modsuit.
|
|
|
|
/obj/projectile/bullet/dart/ants/Initialize(mapload)
|
|
. = ..()
|
|
reagents.add_reagent(/datum/reagent/ants, damage) // Get fucked, asshole. Ants.
|
|
|
|
/obj/projectile/bullet/junk/phasic
|
|
name = "junk phasic bullet"
|
|
icon_state = "gaussphase"
|
|
projectile_phasing = PASSTABLE | PASSGLASS | PASSGRILLE | PASSCLOSEDTURF | PASSMACHINE | PASSSTRUCTURE | PASSDOORS
|
|
|
|
/obj/projectile/bullet/junk/shock
|
|
name = "bundle of live electrical parts"
|
|
icon_state = "tesla_projectile"
|
|
damage = 20
|
|
embed_type = null
|
|
shrapnel_type = null
|
|
extra_damage_added_damage = 30
|
|
extra_damage_type = BURN
|
|
|
|
/obj/projectile/bullet/junk/shock/on_hit(atom/target, blocked = 0, pierce_hit)
|
|
. = ..()
|
|
if(isliving(target))
|
|
var/mob/living/victim = target
|
|
victim.electrocute_act(damage, src, siemens_coeff = 1, flags = SHOCK_NOSTUN)
|
|
|
|
/obj/projectile/bullet/junk/hunter
|
|
name = "junk hunter bullet"
|
|
icon_state = "gauss"
|
|
extra_damage_mob_biotypes = MOB_ROBOTIC | MOB_BEAST | MOB_SPECIAL | MOB_MINING
|
|
extra_damage_multiplier = 0
|
|
extra_damage_added_damage = 80
|
|
|
|
/obj/projectile/bullet/junk/ripper
|
|
name = "junk ripper bullet"
|
|
icon_state = "redtrac"
|
|
damage = 20
|
|
embed_type = /datum/embedding/bullet/junk/ripper
|
|
wound_bonus = 20
|
|
exposed_wound_bonus = 30
|
|
|
|
/datum/embedding/bullet/junk/ripper
|
|
embed_chance = 100
|
|
fall_chance = 3
|
|
jostle_chance = 4
|
|
ignore_throwspeed_threshold = TRUE
|
|
pain_stam_pct = 0.4
|
|
pain_mult = 5
|
|
jostle_pain_mult = 6
|
|
rip_time = 1 SECONDS
|
|
|
|
/obj/projectile/bullet/junk/reaper
|
|
name = "junk reaper bullet"
|
|
icon_state = null
|
|
tracer_type = /obj/effect/projectile/tracer/sniper
|
|
impact_type = /obj/effect/projectile/impact/sniper
|
|
muzzle_type = /obj/effect/projectile/muzzle/sniper
|
|
hitscan = TRUE
|
|
impact_effect_type = null
|
|
hitscan_light_intensity = 3
|
|
hitscan_light_range = 0.75
|
|
hitscan_light_color_override = LIGHT_COLOR_DIM_YELLOW
|
|
muzzle_flash_intensity = 5
|
|
muzzle_flash_range = 1
|
|
muzzle_flash_color_override = LIGHT_COLOR_DIM_YELLOW
|
|
impact_light_intensity = 5
|
|
impact_light_range = 1
|
|
impact_light_color_override = LIGHT_COLOR_DIM_YELLOW
|