mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-09 16:12:17 +00:00
Adds hud_states to almost all weaponry, credit to Serdy
Reshuffles files to match Polaris
This commit is contained in:
@@ -898,3 +898,84 @@
|
||||
icon_state = null
|
||||
plane = PLANE_HOLOMAP_ICONS
|
||||
appearance_flags = KEEP_TOGETHER
|
||||
|
||||
// Begin TGMC Ammo HUD Port
|
||||
/obj/screen/ammo
|
||||
name = "ammo"
|
||||
icon = 'icons/mob/screen_ammo.dmi'
|
||||
icon_state = "ammo"
|
||||
screen_loc = ui_ammo_hud1
|
||||
var/warned = FALSE
|
||||
var/static/list/ammo_screen_loc_list = list(ui_ammo_hud1, ui_ammo_hud2, ui_ammo_hud3 ,ui_ammo_hud4)
|
||||
|
||||
/obj/screen/ammo/proc/add_hud(var/mob/living/user, var/obj/item/weapon/gun/G)
|
||||
|
||||
if(!user?.client)
|
||||
return
|
||||
|
||||
// var/obj/item/weapon/gun/G = user.get_active_hand()
|
||||
|
||||
if(!G)
|
||||
CRASH("/obj/screen/ammo/proc/add_hud() has been called from [src] without the required param of G")
|
||||
|
||||
if(!G.has_ammo_counter())
|
||||
return
|
||||
|
||||
user.client.screen += src
|
||||
|
||||
/obj/screen/ammo/proc/remove_hud(var/mob/living/user)
|
||||
user?.client?.screen -= src
|
||||
|
||||
/obj/screen/ammo/proc/update_hud(var/mob/living/user, var/obj/item/weapon/gun/G)
|
||||
if(!user?.client?.screen.Find(src))
|
||||
return
|
||||
|
||||
// var/obj/item/weapon/gun/G = user.get_active_hand()
|
||||
|
||||
if(!G || !istype(G) || !G.has_ammo_counter() || !G.get_ammo_type() || isnull(G.get_ammo_count()))
|
||||
remove_hud()
|
||||
return
|
||||
|
||||
var/list/ammo_type = G.get_ammo_type()
|
||||
var/rounds = G.get_ammo_count()
|
||||
|
||||
var/hud_state = ammo_type[1]
|
||||
var/hud_state_empty = ammo_type[2]
|
||||
|
||||
overlays.Cut()
|
||||
|
||||
var/empty = image('icons/mob/screen_ammo.dmi', src, "[hud_state_empty]")
|
||||
|
||||
if(rounds == 0)
|
||||
if(warned)
|
||||
overlays += empty
|
||||
else
|
||||
warned = TRUE
|
||||
var/obj/screen/ammo/F = new /obj/screen/ammo(src)
|
||||
F.icon_state = "frame"
|
||||
user.client.screen += F
|
||||
flick("[hud_state_empty]_flash", F)
|
||||
spawn(20)
|
||||
user.client.screen -= F
|
||||
qdel(F)
|
||||
overlays += empty
|
||||
else
|
||||
warned = FALSE
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "[hud_state]")
|
||||
|
||||
rounds = num2text(rounds)
|
||||
//Handle the amount of rounds
|
||||
switch(length(rounds))
|
||||
if(1)
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "o[rounds[1]]")
|
||||
if(2)
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "o[rounds[2]]")
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "t[rounds[1]]")
|
||||
if(3)
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "o[rounds[3]]")
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "t[rounds[2]]")
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "h[rounds[1]]")
|
||||
else //"0" is still length 1 so this means it's over 999
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "o9")
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "t9")
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "h9")
|
||||
@@ -29,83 +29,3 @@
|
||||
object_overlays += item_overlay
|
||||
add_overlay(object_overlays)
|
||||
|
||||
// Begin TGMC Ammo HUD Port
|
||||
/obj/screen/ammo
|
||||
name = "ammo"
|
||||
icon = 'icons/mob/screen_ammo.dmi'
|
||||
icon_state = "ammo"
|
||||
screen_loc = ui_ammo_hud1
|
||||
var/warned = FALSE
|
||||
var/static/list/ammo_screen_loc_list = list(ui_ammo_hud1, ui_ammo_hud2, ui_ammo_hud3 ,ui_ammo_hud4)
|
||||
|
||||
/obj/screen/ammo/proc/add_hud(var/mob/living/user, var/obj/item/weapon/gun/G)
|
||||
|
||||
if(!user?.client)
|
||||
return
|
||||
|
||||
// var/obj/item/weapon/gun/G = user.get_active_hand()
|
||||
|
||||
if(!G)
|
||||
CRASH("/obj/screen/ammo/proc/add_hud() has been called from [src] without the required param of G")
|
||||
|
||||
if(!G.has_ammo_counter())
|
||||
return
|
||||
|
||||
user.client.screen += src
|
||||
|
||||
/obj/screen/ammo/proc/remove_hud(var/mob/living/user)
|
||||
user?.client?.screen -= src
|
||||
|
||||
/obj/screen/ammo/proc/update_hud(var/mob/living/user, var/obj/item/weapon/gun/G)
|
||||
if(!user?.client?.screen.Find(src))
|
||||
return
|
||||
|
||||
// var/obj/item/weapon/gun/G = user.get_active_hand()
|
||||
|
||||
if(!G || !istype(G) || !G.has_ammo_counter() || !G.get_ammo_type() || isnull(G.get_ammo_count()))
|
||||
remove_hud()
|
||||
return
|
||||
|
||||
var/list/ammo_type = G.get_ammo_type()
|
||||
var/rounds = G.get_ammo_count()
|
||||
|
||||
var/hud_state = ammo_type[1]
|
||||
var/hud_state_empty = ammo_type[2]
|
||||
|
||||
overlays.Cut()
|
||||
|
||||
var/empty = image('icons/mob/screen_ammo.dmi', src, "[hud_state_empty]")
|
||||
|
||||
if(rounds == 0)
|
||||
if(warned)
|
||||
overlays += empty
|
||||
else
|
||||
warned = TRUE
|
||||
var/obj/screen/ammo/F = new /obj/screen/ammo(src)
|
||||
F.icon_state = "frame"
|
||||
user.client.screen += F
|
||||
flick("[hud_state_empty]_flash", F)
|
||||
spawn(20)
|
||||
user.client.screen -= F
|
||||
qdel(F)
|
||||
overlays += empty
|
||||
else
|
||||
warned = FALSE
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "[hud_state]")
|
||||
|
||||
rounds = num2text(rounds)
|
||||
//Handle the amount of rounds
|
||||
switch(length(rounds))
|
||||
if(1)
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "o[rounds[1]]")
|
||||
if(2)
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "o[rounds[2]]")
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "t[rounds[1]]")
|
||||
if(3)
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "o[rounds[3]]")
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "t[rounds[2]]")
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "h[rounds[1]]")
|
||||
else //"0" is still length 1 so this means it's over 999
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "o9")
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "t9")
|
||||
overlays += image('icons/mob/screen_ammo.dmi', src, "h9")
|
||||
@@ -13,6 +13,7 @@
|
||||
damage = 0
|
||||
check_armour = "laser"
|
||||
light_color = "#80F5FF"
|
||||
hud_state = "laser_disabler"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
|
||||
@@ -32,15 +32,18 @@
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
eyeblur = 2
|
||||
hud_state = "laser"
|
||||
|
||||
/obj/item/projectile/beam/weaklaser
|
||||
name = "weak laser"
|
||||
icon_state = "laser"
|
||||
damage = 15
|
||||
hud_state = "laser"
|
||||
|
||||
/obj/item/projectile/beam/weaklaser/blue
|
||||
icon_state = "bluelaser"
|
||||
light_color = "#0066FF"
|
||||
hud_state = "laser_disabler"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_blue
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_blue
|
||||
@@ -48,14 +51,17 @@
|
||||
|
||||
/obj/item/projectile/beam/smalllaser
|
||||
damage = 25
|
||||
hud_state = "laser"
|
||||
|
||||
/obj/item/projectile/beam/burstlaser
|
||||
damage = 30
|
||||
armor_penetration = 10
|
||||
hud_state = "laser"
|
||||
|
||||
/obj/item/projectile/beam/midlaser
|
||||
damage = 40
|
||||
armor_penetration = 10
|
||||
hud_state = "laser"
|
||||
|
||||
/obj/item/projectile/beam/heavylaser
|
||||
name = "heavy laser"
|
||||
@@ -70,6 +76,7 @@
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_heavy
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_heavy
|
||||
impact_type = /obj/effect/projectile/impact/laser_heavy
|
||||
hud_state = "laser_overcharge"
|
||||
|
||||
/obj/item/projectile/beam/heavylaser/fakeemitter
|
||||
name = "emitter beam"
|
||||
@@ -77,6 +84,7 @@
|
||||
fire_sound = 'sound/weapons/emitter.ogg'
|
||||
light_color = "#00CC33"
|
||||
excavation_amount = 140 // 2 shots to dig a standard rock turf. Superior due to being a mounted tool beam, to make it actually viable.
|
||||
hud_state = "laser_overcharge"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/emitter
|
||||
tracer_type = /obj/effect/projectile/tracer/emitter
|
||||
@@ -86,6 +94,7 @@
|
||||
damage = 80
|
||||
armor_penetration = 50
|
||||
light_color = "#FF0D00"
|
||||
hud_state = "laser_overcharge"
|
||||
|
||||
/obj/item/projectile/beam/xray
|
||||
name = "xray beam"
|
||||
@@ -94,6 +103,7 @@
|
||||
damage = 25
|
||||
armor_penetration = 50
|
||||
light_color = "#00CC33"
|
||||
hud_state = "laser_sniper"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
@@ -107,6 +117,7 @@
|
||||
armor_penetration = 90
|
||||
irradiate = 20
|
||||
light_color = "#00CC33"
|
||||
hud_state = "laser_sniper"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
@@ -118,6 +129,7 @@
|
||||
fire_sound = 'sound/weapons/eluger.ogg'
|
||||
damage = 40
|
||||
light_color = "#00C6FF"
|
||||
hud_state = "laser_disabler"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_omni
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_omni
|
||||
@@ -130,6 +142,7 @@
|
||||
damage = 100 //Badmin toy, don't care
|
||||
armor_penetration = 100
|
||||
light_color = "#0066FF"
|
||||
hud_state = "pulse"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_pulse
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_pulse
|
||||
@@ -147,6 +160,7 @@
|
||||
damage = 0 // The actual damage is computed in /code/modules/power/singularity/emitter.dm
|
||||
light_color = "#00CC33"
|
||||
excavation_amount = 70 // 3 shots to mine a turf
|
||||
hud_state = "laser_overcharge"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/emitter
|
||||
tracer_type = /obj/effect/projectile/tracer/emitter
|
||||
@@ -160,13 +174,14 @@
|
||||
no_attack_log = 1
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
hud_state = "monkey"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
/obj/item/projectile/beam/lasertag/blue
|
||||
icon_state = "bluelaser"
|
||||
light_color = "#0066FF"
|
||||
|
||||
hud_state = "monkey"
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_blue
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_blue
|
||||
impact_type = /obj/effect/projectile/impact/laser_blue
|
||||
@@ -181,6 +196,7 @@
|
||||
/obj/item/projectile/beam/lasertag/red
|
||||
icon_state = "laser"
|
||||
light_color = "#FF0D00"
|
||||
hud_state = "monkey"
|
||||
|
||||
/obj/item/projectile/beam/lasertag/red/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(ishuman(target))
|
||||
@@ -192,6 +208,7 @@
|
||||
/obj/item/projectile/beam/lasertag/omni//A laser tag bolt that stuns EVERYONE
|
||||
icon_state = "omnilaser"
|
||||
light_color = "#00C6FF"
|
||||
hud_state = "monkey"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_omni
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_omni
|
||||
@@ -211,6 +228,7 @@
|
||||
damage = 50
|
||||
armor_penetration = 10
|
||||
light_color = "#00CC33"
|
||||
hud_state = "laser_sniper"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
@@ -227,6 +245,7 @@
|
||||
light_color = "#FFFFFF"
|
||||
hitsound = 'sound/weapons/zapbang.ogg'
|
||||
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/stun
|
||||
@@ -269,6 +288,7 @@
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_omni
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_omni
|
||||
impact_type = /obj/effect/projectile/impact/laser_omni
|
||||
hud_state = "laser_disabler"
|
||||
|
||||
/obj/item/projectile/beam/stun/blue
|
||||
icon_state = "bluelaser"
|
||||
@@ -276,6 +296,7 @@
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_blue
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_blue
|
||||
impact_type = /obj/effect/projectile/impact/laser_blue
|
||||
hud_state = "laser_disabler"
|
||||
|
||||
/obj/item/projectile/beam/disable
|
||||
name = "disabler beam"
|
||||
@@ -285,6 +306,7 @@
|
||||
agony = 100 //One shot stuns for the time being until adjustments are fully made.
|
||||
damage_type = HALLOSS
|
||||
light_color = "#00CECE"
|
||||
hud_state = "laser_disabler"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/laser_omni
|
||||
tracer_type = /obj/effect/projectile/tracer/laser_omni
|
||||
@@ -303,6 +325,7 @@
|
||||
agony = 15
|
||||
eyeblur = 2
|
||||
hitsound = 'sound/weapons/zapbang.ogg'
|
||||
hud_state = "taser"
|
||||
|
||||
/obj/item/projectile/beam/shock/weak
|
||||
damage = 5
|
||||
@@ -317,7 +340,7 @@
|
||||
muzzle_type = /obj/effect/projectile/muzzle/precursor
|
||||
tracer_type = /obj/effect/projectile/tracer/precursor
|
||||
impact_type = /obj/effect/projectile/impact/precursor
|
||||
|
||||
hud_state = "plasma_rifle"
|
||||
damage = 48
|
||||
armor_penetration = 10
|
||||
/obj/item/projectile/beam/eluger
|
||||
@@ -327,6 +350,7 @@
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
impact_type = /obj/effect/projectile/impact/xray
|
||||
hud_state = "laser"
|
||||
|
||||
/obj/item/projectile/beam/imperial
|
||||
name = "laser beam"
|
||||
@@ -336,7 +360,7 @@
|
||||
muzzle_type = /obj/effect/projectile/muzzle/darkmatter
|
||||
tracer_type = /obj/effect/projectile/tracer/darkmatter
|
||||
impact_type = /obj/effect/projectile/impact/darkmatter
|
||||
|
||||
hud_state = "plasma_rifle_blast"
|
||||
//
|
||||
// Projectile Beam Definitions
|
||||
//
|
||||
@@ -347,7 +371,7 @@
|
||||
damage_type = ELECTROCUTE //You should be safe inside a voidsuit
|
||||
sharp = FALSE //"Wide" spectrum beam
|
||||
light_color = COLOR_GOLD
|
||||
|
||||
hud_state = "monkey"
|
||||
excavation_amount = 200 // Good at shooting rocks
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/pointdefense
|
||||
@@ -364,6 +388,8 @@
|
||||
agony = 5
|
||||
damage_type = HALLOSS
|
||||
light_color = "#00CC33"
|
||||
hud_state = "flame_green"
|
||||
hud_state_empty = "flame_empty"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/xray
|
||||
tracer_type = /obj/effect/projectile/tracer/xray
|
||||
@@ -389,7 +415,7 @@
|
||||
damage_type = BURN
|
||||
check_armour = "laser"
|
||||
light_color = "#80F5FF"
|
||||
|
||||
hud_state = "laser_disabler"
|
||||
combustion = FALSE
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/medigun
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
muzzle_type = /obj/effect/projectile/muzzle/phaser
|
||||
tracer_type = /obj/effect/projectile/tracer/phaser
|
||||
impact_type = /obj/effect/projectile/impact/phaser
|
||||
hud_state = "laser_heat"
|
||||
|
||||
|
||||
/obj/item/projectile/beam/phaser/light
|
||||
@@ -20,6 +21,7 @@
|
||||
tracer_type = /obj/effect/projectile/tracer/phaser/light
|
||||
impact_type = /obj/effect/projectile/impact/phaser/light
|
||||
|
||||
|
||||
/obj/item/projectile/beam/phaser/heavy
|
||||
SA_bonus_damage = 55
|
||||
icon_state = "phaser_heavy"
|
||||
@@ -29,16 +31,19 @@
|
||||
tracer_type = /obj/effect/projectile/tracer/phaser/heavy
|
||||
impact_type = /obj/effect/projectile/impact/phaser/heavy
|
||||
|
||||
|
||||
/obj/item/projectile/beam/phaser/heavy/cannon
|
||||
damage = 15
|
||||
SA_bonus_damage = 60
|
||||
|
||||
|
||||
/obj/effect/projectile/tracer/phaser
|
||||
icon = 'icons/obj/projectiles_ch.dmi'
|
||||
icon_state = "phaser_tracer"
|
||||
light_color = "#F18F12"
|
||||
light_range = 2
|
||||
light_power = 0.5
|
||||
hud_state = "laser_heat"
|
||||
|
||||
/obj/effect/projectile/tracer/phaser/heavy
|
||||
icon_state = "phaser_heavy_tracer"
|
||||
@@ -56,6 +61,7 @@
|
||||
light_color = "#F18F12"
|
||||
light_range = 2
|
||||
light_power = 0.5
|
||||
hud_state = "laser_heat"
|
||||
|
||||
/obj/effect/projectile/muzzle/phaser/heavy
|
||||
icon_state = "phaser_heavy_muzzle"
|
||||
@@ -73,6 +79,7 @@
|
||||
light_color = "#F18F12"
|
||||
light_range = 2
|
||||
light_power = 0.5
|
||||
hud_state = "laser_heat"
|
||||
|
||||
/obj/effect/projectile/impact/phaser/heavy
|
||||
icon_state = "phaser_heavy_impact"
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
hitsound_wall = "ricochet"
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect
|
||||
var/mob_passthrough_check = 0
|
||||
hud_state = "pistol_lightap"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/bullet
|
||||
|
||||
@@ -110,6 +111,7 @@
|
||||
embed_chance = 0
|
||||
sharp = FALSE
|
||||
check_armour = "melee"
|
||||
hud_state = "pistol_special"
|
||||
|
||||
/obj/item/projectile/bullet/pistol/rubber // "Rubber" bullets for all other pistols.
|
||||
name = "rubber bullet"
|
||||
@@ -118,6 +120,7 @@
|
||||
embed_chance = 0
|
||||
sharp = FALSE
|
||||
check_armour = "melee"
|
||||
hud_state = "pistol_special"
|
||||
fire_sound ='sound/weapons/Gunshot_pathetic.ogg' // Rubber shots have less powder in the casing.
|
||||
|
||||
/* shotgun projectiles */
|
||||
@@ -128,6 +131,8 @@
|
||||
fire_sound = 'sound/weapons/Gunshot_shotgun.ogg'
|
||||
damage = 50
|
||||
armor_penetration = 20
|
||||
hud_state = "shotgun_slug"
|
||||
hud_state_empty = "shotgun_empty"
|
||||
|
||||
/obj/item/projectile/bullet/shotgun/beanbag //because beanbags are not bullets
|
||||
name = "beanbag"
|
||||
@@ -136,6 +141,7 @@
|
||||
embed_chance = 0
|
||||
sharp = FALSE
|
||||
check_armour = "melee"
|
||||
hud_state = "shotgun_beanbag"
|
||||
|
||||
//Should do about 80 damage at 1 tile distance (adjacent), and 50 damage at 3 tiles distance.
|
||||
//Overall less damage than slugs in exchange for more damage at very close range and more embedding
|
||||
@@ -146,12 +152,14 @@
|
||||
pellets = 6
|
||||
range_step = 1
|
||||
spread_step = 10
|
||||
hud_state = "shotgun_buckshot"
|
||||
|
||||
/obj/item/projectile/bullet/pellet/shotgun/flak
|
||||
damage = 2 //The main weapon using these fires four at a time, usually with different destinations. Usually.
|
||||
range_step = 2
|
||||
spread_step = 30
|
||||
armor_penetration = 10
|
||||
hud_state = "shotgun_flechette"
|
||||
|
||||
//EMP shotgun 'slug', it's basically a beanbag that pops a tiny emp when it hits. //Not currently used
|
||||
/obj/item/projectile/bullet/shotgun/ion
|
||||
@@ -161,6 +169,7 @@
|
||||
embed_chance = 0
|
||||
sharp = FALSE
|
||||
check_armour = "melee"
|
||||
hud_state = "shotgun_ion"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
@@ -176,46 +185,57 @@
|
||||
fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
|
||||
armor_penetration = 15
|
||||
penetrating = 1
|
||||
hud_state = "rifle"
|
||||
hud_state_empty = "rifle_empty"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762
|
||||
fire_sound = 'sound/weapons/Gunshot_heavy.ogg'
|
||||
damage = 35
|
||||
hud_state = "rifle_heavy"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762/sniper // Hitscan specifically for sniper ammo; to be implimented at a later date, probably for the SVD. -Ace
|
||||
fire_sound = 'sound/weapons/Gunshot_sniper.ogg'
|
||||
hitscan = 1 //so the ammo isn't useless as a sniper weapon
|
||||
hud_state = "hivelo"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762/ap
|
||||
damage = 30
|
||||
armor_penetration = 50 // At 30 or more armor, this will do more damage than standard rounds.
|
||||
hud_state = "rifle_ap"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762/hp
|
||||
damage = 40
|
||||
armor_penetration = -50
|
||||
penetrating = 0
|
||||
hud_state = "hivelo_iff"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762/hunter // Optimized for killing simple animals and not people, because Balance(tm)
|
||||
damage = 20
|
||||
SA_bonus_damage = 50 // 70 total on animals.
|
||||
SA_vulnerability = SA_ANIMAL
|
||||
hud_state = "rifle_heavy"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a545
|
||||
fire_sound = 'sound/weapons/Gunshot_light.ogg'
|
||||
damage = 25
|
||||
hud_state = "rifle"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a545/ap
|
||||
damage = 20
|
||||
armor_penetration = 50 // At 40 or more armor, this will do more damage than standard rounds.
|
||||
hud_state = "rifle_ap"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a545/hp
|
||||
damage = 35
|
||||
armor_penetration = -50
|
||||
penetrating = 0
|
||||
hud_state = "hivelo_iff"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a545/hunter
|
||||
damage = 15
|
||||
SA_bonus_damage = 35 // 50 total on animals.
|
||||
SA_vulnerability = SA_ANIMAL
|
||||
hud_state = "rifle_heavy"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a145 // 14.5<EFBFBD>114mm is bigger than a .50 BMG round.
|
||||
fire_sound = 'sound/weapons/Gunshot_cannon.ogg' // This is literally an anti-tank rifle caliber. It better sound like a fucking cannon.
|
||||
@@ -225,6 +245,7 @@
|
||||
penetrating = 5
|
||||
armor_penetration = 80
|
||||
hitscan = 1 //so the PTR isn't useless as a sniper weapon
|
||||
hud_state = "sniper"
|
||||
|
||||
icon_state = "bullet_alt"
|
||||
tracer_type = /obj/effect/projectile/tracer/cannon
|
||||
@@ -235,10 +256,12 @@
|
||||
weaken = 0
|
||||
penetrating = 15
|
||||
armor_penetration = 90
|
||||
hud_state = "sniper_flak"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a44rifle
|
||||
fire_sound = 'sound/weapons/gunshot4.ogg'
|
||||
damage = 50
|
||||
hud_state = "revolver"
|
||||
|
||||
/* Miscellaneous */
|
||||
|
||||
@@ -246,11 +269,13 @@
|
||||
name = "co bullet"
|
||||
damage = 20
|
||||
damage_type = OXY
|
||||
hud_state = "pistol_tranq"
|
||||
|
||||
/obj/item/projectile/bullet/cyanideround
|
||||
name = "poison bullet"
|
||||
damage = 40
|
||||
damage_type = TOX
|
||||
hud_state = "pistol_tranq"
|
||||
|
||||
/obj/item/projectile/bullet/burstbullet
|
||||
name = "exploding bullet"
|
||||
@@ -258,6 +283,7 @@
|
||||
damage = 20
|
||||
embed_chance = 0
|
||||
edge = TRUE
|
||||
hud_state = "pistol_fire"
|
||||
|
||||
/obj/item/projectile/bullet/burstbullet/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(isturf(target))
|
||||
@@ -273,6 +299,7 @@
|
||||
damage_type = BURN
|
||||
incendiary = 0.5
|
||||
flammability = 2
|
||||
hud_state = "pistol_fire"
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/flamethrower
|
||||
name = "ball of fire"
|
||||
@@ -285,12 +312,14 @@
|
||||
agony = 30
|
||||
range = 4
|
||||
vacuum_traversal = 0
|
||||
hud_state = "flame"
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/flamethrower/large
|
||||
damage = 5
|
||||
incendiary = 3
|
||||
flammability = 2
|
||||
range = 6
|
||||
hud_state = "flame"
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/flamethrower/tiny
|
||||
damage = 2
|
||||
@@ -300,11 +329,13 @@
|
||||
modifier_duration = 20 SECONDS
|
||||
range = 6
|
||||
agony = 0
|
||||
hud_state = "flame"
|
||||
|
||||
/* Practice rounds and blanks */
|
||||
|
||||
/obj/item/projectile/bullet/practice
|
||||
damage = 5
|
||||
hud_state = "smg_light"
|
||||
|
||||
/obj/item/projectile/bullet/pistol/cap // Just the primer, such as a cap gun.
|
||||
name = "cap"
|
||||
@@ -314,6 +345,7 @@
|
||||
nodamage = 1
|
||||
embed_chance = 0
|
||||
sharp = FALSE
|
||||
hud_state = "monkey"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
@@ -329,6 +361,7 @@
|
||||
nodamage = 1
|
||||
embed_chance = 0
|
||||
sharp = FALSE
|
||||
hud_state = "smg_light"
|
||||
|
||||
/* BB Rounds */
|
||||
/obj/item/projectile/bullet/bb // Generic single BB
|
||||
@@ -338,6 +371,7 @@
|
||||
embed_chance = 0
|
||||
sharp = FALSE
|
||||
silenced = TRUE
|
||||
hud_state = "pistol_light"
|
||||
|
||||
/obj/item/projectile/bullet/pellet/shotgun/bb // Shotgun
|
||||
name = "BB"
|
||||
@@ -349,6 +383,7 @@
|
||||
range_step = 1
|
||||
spread_step = 10
|
||||
silenced = TRUE
|
||||
hud_state = "pistol_light"
|
||||
|
||||
/* toy projectiles */
|
||||
/obj/item/projectile/bullet/cap
|
||||
@@ -362,6 +397,7 @@
|
||||
impact_effect_type = null
|
||||
fire_sound = 'sound/effects/snap.ogg'
|
||||
combustion = FALSE
|
||||
hud_state = "pistol_light"
|
||||
|
||||
/obj/item/projectile/bullet/cap/process()
|
||||
loc = null
|
||||
@@ -381,6 +417,7 @@
|
||||
icon = 'icons/obj/gun_toy.dmi'
|
||||
icon_state = "foamdart_proj"
|
||||
range = 15
|
||||
hud_state = "grenade_dummy"
|
||||
|
||||
/obj/item/projectile/bullet/foam_dart/on_impact(var/atom/A)
|
||||
. = ..()
|
||||
@@ -409,6 +446,7 @@
|
||||
icon = 'icons/obj/gun_toy.dmi'
|
||||
icon_state = "foamdart_riot_proj"
|
||||
range = 15
|
||||
hud_state = "grenade_he"
|
||||
|
||||
/obj/item/projectile/bullet/foam_dart_riot/on_impact(var/atom/A)
|
||||
. = ..()
|
||||
|
||||
@@ -80,16 +80,19 @@ only use the hollow_point and armor_penetration values.*/
|
||||
velocity = 716
|
||||
damage = 15
|
||||
armor_penetration = 15 //Unfortunately my penetration code doesn't recognize the glory of 5.7x28 FN, so we must show it the wae.
|
||||
hud_state = "smg_light"
|
||||
|
||||
/obj/item/projectile/bullet/a57/ap
|
||||
grains = 23
|
||||
energy_add = 312.75
|
||||
velocity = 850
|
||||
armor_penetration = 25 //Also, no, this isn't as high as it looks because of the formulas I was using. This would have around a 35% chance of piercing combat armor(50 bullet armor)
|
||||
hud_state = "smg_ap"
|
||||
|
||||
/obj/item/projectile/bullet/a57/hp
|
||||
hollow_point = TRUE
|
||||
armor_penetration = -10
|
||||
hud_state = "smg"
|
||||
|
||||
/obj/item/projectile/bullet/a357
|
||||
fire_sound = 'sound/weapons/gunshot4.ogg'
|
||||
@@ -97,27 +100,32 @@ only use the hollow_point and armor_penetration values.*/
|
||||
grains = 125
|
||||
velocity = 440
|
||||
damage = 20
|
||||
hud_state = "revolver"
|
||||
|
||||
/obj/item/projectile/bullet/a357/ap
|
||||
energy_add = 298.07
|
||||
velocity = 480
|
||||
armor_penetration = 15
|
||||
hud_state = "revolver_heavy"
|
||||
|
||||
/obj/item/projectile/bullet/a357/hp
|
||||
hollow_point = TRUE
|
||||
armor_penetration = -10
|
||||
hud_state = "revolver_slim"
|
||||
|
||||
/obj/item/projectile/bullet/a38
|
||||
fire_sound = 'sound/weapons/gunshot2.ogg'
|
||||
diam = 9.1
|
||||
grains = 147
|
||||
velocity = 270
|
||||
hud_state = "revolver_small"
|
||||
|
||||
/obj/item/projectile/bullet/a38/ap
|
||||
grains = 125
|
||||
energy_add = 138
|
||||
velocity = 300
|
||||
armor_penetration = 15
|
||||
hud_state = "pistol_lightap"
|
||||
|
||||
/obj/item/projectile/bullet/a38/hp
|
||||
grains = 158
|
||||
@@ -125,18 +133,21 @@ only use the hollow_point and armor_penetration values.*/
|
||||
velocity = 297
|
||||
hollow_point = TRUE
|
||||
armor_penetration = -10
|
||||
hud_state = "pistol_hollow"
|
||||
|
||||
/obj/item/projectile/bullet/a762x25
|
||||
fire_sound = 'sound/weapons/gunshot2.ogg'
|
||||
diam = 7.92
|
||||
grains = 85
|
||||
velocity = 469
|
||||
hud_state = "pistol_light"
|
||||
|
||||
/obj/item/projectile/bullet/a9x18
|
||||
fire_sound = 'sound/weapons/gunshot2.ogg'
|
||||
diam = 9.27
|
||||
grains = 95
|
||||
velocity = 319
|
||||
hud_state = "pistol"
|
||||
|
||||
/obj/item/projectile/bullet/a9x18/rubber
|
||||
armor_penetration = -10
|
||||
@@ -153,12 +164,14 @@ only use the hollow_point and armor_penetration values.*/
|
||||
diam = 10.17
|
||||
grains = 180
|
||||
velocity = 400
|
||||
hud_state = "pistol"
|
||||
|
||||
/obj/item/projectile/bullet/a10mm/ap
|
||||
grains = 200
|
||||
energy_add = 435
|
||||
velocity = 440
|
||||
armor_penetration = 15
|
||||
hud_state = "pistol_ap"
|
||||
|
||||
/obj/item/projectile/bullet/a10mm/hp
|
||||
grains = 135
|
||||
@@ -166,6 +179,7 @@ only use the hollow_point and armor_penetration values.*/
|
||||
velocity = 490
|
||||
armor_penetration = -10
|
||||
hollow_point = TRUE
|
||||
hud_state = "pistol_hollow"
|
||||
|
||||
/obj/item/projectile/bullet/a10mm/rubber
|
||||
armor_penetration = -10
|
||||
@@ -182,12 +196,14 @@ only use the hollow_point and armor_penetration values.*/
|
||||
diam = 9
|
||||
grains= 95
|
||||
velocity = 300
|
||||
hud_state = "pistol_light"
|
||||
|
||||
/obj/item/projectile/bullet/a380/ap
|
||||
grains = 45
|
||||
energy_add = 648.74
|
||||
velocity = 559
|
||||
armor_penetration = 15
|
||||
hud_state = "pistol_lightap"
|
||||
|
||||
/obj/item/projectile/bullet/a380/hp
|
||||
grains = 95
|
||||
@@ -195,23 +211,27 @@ only use the hollow_point and armor_penetration values.*/
|
||||
velocity = 343
|
||||
armor_penetration = -10
|
||||
hollow_point = TRUE
|
||||
hud_state = "pistol_hollow"
|
||||
|
||||
/obj/item/projectile/bullet/a22lr
|
||||
fire_sound = 'sound/weapons/gunshot_pathetic.ogg'
|
||||
grains = 40
|
||||
diam = 5.7
|
||||
velocity = 370
|
||||
hud_state = "pistol_light"
|
||||
|
||||
/obj/item/projectile/bullet/a22lr/ap
|
||||
grains = 31
|
||||
velocity = 530
|
||||
armor_penetration = 15
|
||||
hud_state = "pistol_ap"
|
||||
|
||||
/obj/item/projectile/bullet/a22lr/hp
|
||||
grains = 38
|
||||
velocity = 380
|
||||
hollow_point = TRUE
|
||||
armor_penetration = -5
|
||||
hud_state = "pistol_hollow"
|
||||
|
||||
//Shotgun projectiles
|
||||
|
||||
@@ -233,6 +253,7 @@ only use the hollow_point and armor_penetration values.*/
|
||||
use_submunitions = TRUE
|
||||
submunition_spread_max = 67.5
|
||||
submunitions = list(/obj/item/projectile/bullet/shotgun/buckshot = 8)
|
||||
hud_state = "shotgun_buckshot"
|
||||
|
||||
//Rifle projectiles
|
||||
/obj/item/projectile/bullet/rifle
|
||||
@@ -271,16 +292,19 @@ only use the hollow_point and armor_penetration values.*/
|
||||
diam = 7.85
|
||||
grains = 122
|
||||
velocity = 730
|
||||
hud_state = "rifle"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762x39/ap
|
||||
grains = 123
|
||||
velocity = 740
|
||||
energy_add = 117.16
|
||||
armor_penetration = 25
|
||||
hud_state = "rifle_ap"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762x39/hp
|
||||
hollow_point = TRUE
|
||||
armor_penetration = -10
|
||||
hud_state = "hivelo_iff"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762x39/rubber
|
||||
armor_penetration = -10
|
||||
@@ -321,16 +345,19 @@ only use the hollow_point and armor_penetration values.*/
|
||||
diam = 5.7
|
||||
grains = 62
|
||||
velocity = 961
|
||||
hud_state = "rifle"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a556/ap
|
||||
grains = 52
|
||||
velocity = 1030
|
||||
energy_add = 462.92
|
||||
armor_penetration = 25
|
||||
hud_state = "rifle_ap"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a556/hp
|
||||
hollow_point = TRUE
|
||||
armor_penetration = -10
|
||||
hud_state = "hivelo_iff"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a556/rubber
|
||||
armor_penetration = -10
|
||||
@@ -363,16 +390,21 @@ only use the hollow_point and armor_penetration values.*/
|
||||
diam = 9.5
|
||||
grains = 310
|
||||
velocity = 365 //cadyn cope above, beware ^^
|
||||
hud_state = "rifle"
|
||||
|
||||
//beware of cadyn cope above ^^ - Ocelot
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a9x39 //We also have actual 9x39mm
|
||||
fire_sound = 'sound/weapons/ballistics/a545.ogg'
|
||||
diam = 9.25
|
||||
grains = 259
|
||||
velocity = 280
|
||||
hud_state = "smartgun"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a9x39/ap
|
||||
grains = 267
|
||||
armor_penetration = 25
|
||||
hud_state = "minigun"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a9x39/rubber
|
||||
armor_penetration = -10
|
||||
@@ -388,6 +420,7 @@ only use the hollow_point and armor_penetration values.*/
|
||||
grains = 210
|
||||
diam = 10.2
|
||||
velocity = 840
|
||||
hud_state = "rifle"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a10x24/rubber
|
||||
armor_penetration = -10
|
||||
@@ -403,6 +436,7 @@ only use the hollow_point and armor_penetration values.*/
|
||||
diam = 7.92
|
||||
grains = 181
|
||||
velocity = 820
|
||||
hud_state = "rifle"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762x54
|
||||
fire_sound = 'sound/weapons/ballistics/a762x54.ogg'
|
||||
@@ -410,9 +444,11 @@ only use the hollow_point and armor_penetration values.*/
|
||||
grains = 151
|
||||
velocity = 830
|
||||
hitscan = 1
|
||||
hud_state = "sniper_crude"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a762x54/ap
|
||||
armor_penetration = 35
|
||||
hud_state = "sniper_supersonic"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a338
|
||||
fire_sound = 'sound/weapons/ballistics/a762x54.ogg'
|
||||
@@ -422,9 +458,11 @@ only use the hollow_point and armor_penetration values.*/
|
||||
velocity = 921
|
||||
hitscan = 1
|
||||
penetrating = 2
|
||||
hud_state = "sniper_crude"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a338/ap
|
||||
armor_penetration = 50
|
||||
hud_state = "sniper_supersonic"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a50bmg
|
||||
fire_sound = 'sound/weapons/ballistics/a145.ogg'
|
||||
@@ -434,6 +472,7 @@ only use the hollow_point and armor_penetration values.*/
|
||||
velocity = 860
|
||||
hitscan = 1
|
||||
penetrating = 2
|
||||
hud_state = "sniper_supersonic"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a50bmg/ap
|
||||
armor_penetration = 50
|
||||
@@ -446,6 +485,7 @@ only use the hollow_point and armor_penetration values.*/
|
||||
velocity = 820
|
||||
penetrating = 2
|
||||
armor_penetration=30
|
||||
hud_state = "sniper_fire"
|
||||
|
||||
/obj/item/projectile/bullet/rifle/a45lc //yee haw
|
||||
diam = 11.43
|
||||
@@ -521,6 +561,8 @@ only use the hollow_point and armor_penetration values.*/
|
||||
accuracy = -20 // he do miss actually
|
||||
speed = 0.4 // if the pathfinder gets a funny burst rifle, they deserve a rival
|
||||
// that's 2x projectile speed btw
|
||||
hud_state = "monkey"
|
||||
|
||||
/obj/item/projectile/bullet/pistol/medium/ap/suppressor/turbo // spicy boys
|
||||
speed = 0.2 // this is 4x projectile speed
|
||||
hud_state = "monkey"
|
||||
@@ -8,6 +8,7 @@
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect
|
||||
hitsound_wall = 'sound/weapons/effects/searwall.ogg'
|
||||
hitsound = 'sound/weapons/zapbang.ogg'
|
||||
hud_state = "monkey"
|
||||
|
||||
var/flash_strength = 10
|
||||
|
||||
@@ -22,6 +23,7 @@
|
||||
var/flash_range = 0
|
||||
var/brightness = 7
|
||||
var/light_colour = "#ffffff"
|
||||
hud_state = "grenade_dummy"
|
||||
|
||||
/obj/item/projectile/energy/flash/on_impact(var/atom/A)
|
||||
var/turf/T = flash_range? src.loc : get_turf(A)
|
||||
@@ -59,6 +61,7 @@
|
||||
flash_range = 1
|
||||
brightness = 15
|
||||
flash_strength = 20
|
||||
hud_state = "grenade_dummy"
|
||||
|
||||
/obj/item/projectile/energy/flash/flare/on_impact(var/atom/A)
|
||||
light_colour = pick("#e58775", "#ffffff", "#90ff90", "#a09030")
|
||||
@@ -77,15 +80,18 @@
|
||||
light_range = 2
|
||||
light_power = 0.5
|
||||
light_color = "#FFFFFF"
|
||||
hud_state = "taser"
|
||||
//Damage will be handled on the MOB side, to prevent window shattering.
|
||||
|
||||
/obj/item/projectile/energy/electrode/strong
|
||||
agony = 55
|
||||
hud_state = "taser"
|
||||
|
||||
/obj/item/projectile/energy/electrode/stunshot
|
||||
name = "stunshot"
|
||||
damage = 5
|
||||
agony = 80
|
||||
hud_state = "taser"
|
||||
|
||||
/obj/item/projectile/energy/electrode/stunshot/strong
|
||||
name = "stunshot"
|
||||
@@ -93,6 +99,7 @@
|
||||
damage = 10
|
||||
taser_effect = 1
|
||||
agony = 100
|
||||
hud_state = "taser"
|
||||
|
||||
/obj/item/projectile/energy/declone
|
||||
name = "declone"
|
||||
@@ -107,6 +114,7 @@
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser
|
||||
|
||||
combustion = FALSE
|
||||
hud_state = "plasma_pistol"
|
||||
|
||||
/obj/item/projectile/energy/excavate
|
||||
name = "kinetic blast"
|
||||
@@ -120,6 +128,7 @@
|
||||
|
||||
vacuum_traversal = 0
|
||||
combustion = FALSE
|
||||
hud_state = "plasma_blast"
|
||||
|
||||
/obj/item/projectile/energy/dart
|
||||
name = "dart"
|
||||
@@ -128,6 +137,7 @@
|
||||
damage_type = TOX
|
||||
agony = 120
|
||||
check_armour = "energy"
|
||||
hud_state = "pistol_tranq"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
@@ -138,23 +148,28 @@
|
||||
damage_type = TOX
|
||||
agony = 40
|
||||
stutter = 10
|
||||
hud_state = "electrothermal"
|
||||
|
||||
/obj/item/projectile/energy/bolt/large
|
||||
name = "largebolt"
|
||||
damage = 20
|
||||
hud_state = "electrothermal"
|
||||
|
||||
/obj/item/projectile/energy/bow
|
||||
name = "engergy bolt"
|
||||
icon_state = "cbbolt"
|
||||
damage = 20
|
||||
hud_state = "electrothermal"
|
||||
|
||||
/obj/item/projectile/energy/bow/heavy
|
||||
damage = 30
|
||||
icon_state = "cbbolt"
|
||||
hud_state = "electrothermal"
|
||||
|
||||
/obj/item/projectile/energy/bow/stun
|
||||
name = "stun bolt"
|
||||
agony = 30
|
||||
hud_state = "electrothermal"
|
||||
|
||||
/obj/item/projectile/energy/acid //Slightly up-gunned (Read: The thing does agony and checks bio resist) variant of the simple alien mob's projectile, for queens and sentinels.
|
||||
name = "acidic spit"
|
||||
@@ -166,6 +181,7 @@
|
||||
armor_penetration = 25 // It's acid
|
||||
hitsound_wall = 'sound/weapons/effects/alien_spit_wall.ogg'
|
||||
hitsound = 'sound/weapons/effects/alien_spit_wall.ogg'
|
||||
hud_state = "electrothermal"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
@@ -179,6 +195,7 @@
|
||||
armor_penetration = 25 // It's acid-based
|
||||
hitsound_wall = 'sound/weapons/effects/alien_spit_wall.ogg'
|
||||
hitsound = 'sound/weapons/effects/alien_spit_wall.ogg'
|
||||
hud_state = "electrothermal"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
@@ -188,6 +205,7 @@
|
||||
damage = 20
|
||||
damage_type = BIOACID
|
||||
agony = 20
|
||||
hud_state = "electrothermal"
|
||||
check_armour = "bio"
|
||||
armor_penetration = 25 // It's acid-based
|
||||
|
||||
@@ -202,6 +220,7 @@
|
||||
light_power = 0.5
|
||||
light_color = "#33CC00"
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser
|
||||
hud_state = "plasma_rifle"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
@@ -215,6 +234,7 @@
|
||||
agony = 55
|
||||
damage_type = BURN
|
||||
vacuum_traversal = 0 //Projectile disappears in empty space
|
||||
hud_state = "plasma_rifle_blast"
|
||||
|
||||
/obj/item/projectile/energy/plasmastun/proc/bang(var/mob/living/carbon/M)
|
||||
|
||||
@@ -259,6 +279,7 @@
|
||||
embed_chance = 0
|
||||
muzzle_type = /obj/effect/projectile/muzzle/pulse
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser
|
||||
hud_state = "plasma_sphere"
|
||||
|
||||
/obj/item/projectile/energy/phase
|
||||
name = "phase wave"
|
||||
@@ -267,28 +288,35 @@
|
||||
damage = 5
|
||||
SA_bonus_damage = 45 // 50 total on animals
|
||||
SA_vulnerability = list(SA_ANIMAL, MOB_CLASS_SYNTHETIC, MOB_CLASS_ABERRATION, MOB_CLASS_HUMANOID) //CHOMP Edit expand this list
|
||||
hud_state = "laser_heat"
|
||||
|
||||
/obj/item/projectile/energy/phase/light
|
||||
range = 4
|
||||
SA_bonus_damage = 35 // 40 total on animals
|
||||
hud_state = "laser_heat"
|
||||
|
||||
/obj/item/projectile/energy/phase/heavy
|
||||
range = 8
|
||||
SA_bonus_damage = 55 // 60 total on animals
|
||||
hud_state = "laser_heat"
|
||||
|
||||
/obj/item/projectile/energy/phase/heavy/cannon
|
||||
range = 10
|
||||
damage = 15
|
||||
SA_bonus_damage = 60 // 75 total on animals
|
||||
hud_state = "laser_heat"
|
||||
|
||||
/obj/item/projectile/energy/electrode/strong
|
||||
agony = 70
|
||||
hud_state = "taser"
|
||||
|
||||
/obj/item/projectile/energy
|
||||
flash_strength = 10
|
||||
hud_state = "taser"
|
||||
|
||||
/obj/item/projectile/energy/flash
|
||||
flash_range = 1
|
||||
hud_state = "grenade_dummy"
|
||||
|
||||
/obj/item/projectile/energy/flash/strong
|
||||
name = "chemical shell"
|
||||
@@ -297,6 +325,8 @@
|
||||
range = 15 //if the shell hasn't hit anything after travelling this far it just explodes.
|
||||
flash_strength = 15
|
||||
brightness = 15
|
||||
hud_state = "grenade_dummy"
|
||||
|
||||
/obj/item/projectile/energy/flash/flare
|
||||
flash_range = 2
|
||||
hud_state = "grenade_dummy"
|
||||
@@ -2,10 +2,12 @@
|
||||
range = 4
|
||||
SA_bonus_damage = 15 // 30 total on animals
|
||||
icon_state = "cbbolt"
|
||||
hud_state = "taser"
|
||||
|
||||
/obj/item/projectile/energy/phase/bolt/heavy
|
||||
range = 4
|
||||
SA_bonus_damage = 25 // 20 total on animals
|
||||
hud_state = "taser"
|
||||
|
||||
/obj/item/projectile/energy/plasma/vepr
|
||||
name = "plasma bolt"
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
damage_type = BURN
|
||||
pass_flags = PASSTABLE | PASSGRILLE
|
||||
check_armour = "laser"
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
/obj/item/projectile/energy/gaussweak
|
||||
name = "gauss bolt"
|
||||
@@ -23,6 +24,7 @@
|
||||
damage_type = BURN
|
||||
pass_flags = PASSTABLE | PASSGRILLE
|
||||
check_armour = "laser"
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
/obj/item/projectile/energy/gaussrifle
|
||||
name = "gauss bolt"
|
||||
@@ -36,6 +38,8 @@
|
||||
pass_flags = PASSTABLE | PASSGRILLE
|
||||
penetrating = 0
|
||||
check_armour = "laser"
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
//End of gaussguns//
|
||||
|
||||
//Stun projectile for HOSgun
|
||||
@@ -48,6 +52,8 @@
|
||||
agony = 65
|
||||
damage_type = HALLOSS
|
||||
stutter = 10
|
||||
hud_state = "taser"
|
||||
|
||||
//plasma weaponry
|
||||
/obj/item/projectile/energy/Plasma
|
||||
name = "Plasma Blast"
|
||||
@@ -57,3 +63,4 @@
|
||||
damage_type = BURN
|
||||
pass_flags = PASSGRILLE
|
||||
check_armour = "laser"
|
||||
hud_state = "plasma_rifle_blast"
|
||||
|
||||
@@ -9,12 +9,14 @@
|
||||
weaken = 1
|
||||
penetrating = 5
|
||||
armor_penetration = 70
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/slug
|
||||
name = "slug"
|
||||
icon_state = "gauss_silenced"
|
||||
damage = 75
|
||||
armor_penetration = 90
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/flechette
|
||||
name = "flechette"
|
||||
@@ -22,6 +24,7 @@
|
||||
fire_sound = 'sound/weapons/rapidslice.ogg'
|
||||
damage = 20
|
||||
armor_penetration = 100
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/flechette/small
|
||||
name = "small flechette"
|
||||
@@ -29,6 +32,7 @@
|
||||
fire_sound = 'sound/weapons/rapidslice.ogg'
|
||||
damage = 12
|
||||
armor_penetration = 100
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/flechette/small/khi
|
||||
name = "small carbyne flechette"
|
||||
@@ -37,12 +41,14 @@
|
||||
damage = 18
|
||||
armor_penetration = 100
|
||||
penetrating = 10
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/flechette/hunting
|
||||
name = "shredder slug"
|
||||
armor_penetration = 30
|
||||
SA_bonus_damage = 40
|
||||
SA_vulnerability = SA_ANIMAL
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/heated
|
||||
name = "slug"
|
||||
@@ -54,6 +60,7 @@
|
||||
embed_chance = 0
|
||||
armor_penetration = 40
|
||||
penetrating = 1
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/heated/weak
|
||||
icon_state = "gauss_silenced"
|
||||
@@ -62,6 +69,7 @@
|
||||
embed_chance = 0
|
||||
armor_penetration = 30
|
||||
penetrating = 0
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/fuelrod
|
||||
name = "fuel rod"
|
||||
@@ -76,6 +84,7 @@
|
||||
embed_chance = 0
|
||||
armor_penetration = 40
|
||||
range = 20
|
||||
hud_state = "rocket_he"
|
||||
|
||||
var/searing = 0 //Does this fuelrod ignore shields?
|
||||
var/detonate_travel = 0 //Will this fuelrod explode when it reaches maximum distance?
|
||||
@@ -122,6 +131,7 @@
|
||||
flammability = -1
|
||||
armor_penetration = 50
|
||||
penetrating = 3
|
||||
hud_state = "rocket_ap"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/fuelrod/phoron
|
||||
name = "blazing fuel rod"
|
||||
@@ -133,6 +143,7 @@
|
||||
penetrating = 5
|
||||
irradiate = 20
|
||||
detonate_mob = 1
|
||||
hud_state = "rocket_fire"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/fuelrod/supermatter
|
||||
name = "painfully incandescent fuel rod"
|
||||
@@ -149,6 +160,7 @@
|
||||
detonate_travel = 1
|
||||
detonate_mob = 1
|
||||
energetic_impact = 1
|
||||
hud_state = "rocket_thermobaric"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/fuelrod/supermatter/on_hit(var/atom/target, var/blocked = 0, var/def_zone = null) //You cannot touch the supermatter without disentigrating. Assumedly, this is true for condensed rods of it flying at relativistic speeds.
|
||||
if(istype(target,/turf/simulated/wall) || istype(target,/mob/living))
|
||||
@@ -169,6 +181,7 @@
|
||||
check_armour = "melee"
|
||||
irradiate = 20
|
||||
range = 6
|
||||
hud_state = "plasma_rifle_blast"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/bore/Initialize(loc, range_mod) // i'm gonna be real honest i dunno how this works but it does
|
||||
. = ..()
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
fire_sound = 'sound/weapons/rapidslice.ogg'
|
||||
damage = 10
|
||||
armor_penetration = 35
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/fuelrod/blitz
|
||||
name = "blitz rod"
|
||||
@@ -22,6 +23,7 @@
|
||||
detonate_travel = 1
|
||||
detonate_mob = 1
|
||||
energetic_impact = 1
|
||||
hud_state = "rocket_thermobaric"
|
||||
|
||||
/obj/item/projectile/bullet/magnetic/fuelrod/blitz/on_impact(var/atom/A)
|
||||
if(src.loc)
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
light_range = 2
|
||||
light_power = 0.5
|
||||
light_color = "#55AAFF"
|
||||
hud_state = "plasma_blast"
|
||||
|
||||
combustion = FALSE
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/ion
|
||||
@@ -43,6 +44,7 @@
|
||||
check_armour = "bullet"
|
||||
sharp = TRUE
|
||||
edge = TRUE
|
||||
hud_state = "rocket_fire"
|
||||
|
||||
/obj/item/projectile/bullet/gyro/on_hit(var/atom/target, var/blocked = 0)
|
||||
explosion(target, -1, 0, 2)
|
||||
@@ -62,6 +64,7 @@
|
||||
light_power = 0.5
|
||||
light_color = "#55AAFF"
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser
|
||||
hud_state = "water"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
@@ -98,6 +101,7 @@
|
||||
/obj/item/projectile/temp/hot
|
||||
name = "heat beam"
|
||||
target_temperature = 1000
|
||||
hud_state = "flame"
|
||||
|
||||
combustion = TRUE
|
||||
|
||||
@@ -109,6 +113,7 @@
|
||||
damage_type = BRUTE
|
||||
nodamage = 1
|
||||
check_armour = "bullet"
|
||||
hud_state = "monkey"
|
||||
|
||||
/obj/item/projectile/meteor/Bump(atom/A as mob|obj|turf|area)
|
||||
if(A == firer)
|
||||
@@ -145,6 +150,7 @@
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser
|
||||
var/lasermod = 0
|
||||
combustion = FALSE
|
||||
hud_state = "electrothermal"
|
||||
|
||||
/obj/item/projectile/energy/floramut/on_hit(var/atom/target, var/blocked = 0)
|
||||
var/mob/living/M = target
|
||||
@@ -187,6 +193,7 @@
|
||||
nodamage = 1
|
||||
check_armour = "energy"
|
||||
var/decl/plantgene/gene = null
|
||||
hud_state = "electrothermal"
|
||||
|
||||
/obj/item/projectile/energy/florayield
|
||||
name = "beta somatoray"
|
||||
@@ -201,6 +208,7 @@
|
||||
light_color = "#FFFFFF"
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect/monochrome_laser
|
||||
var/lasermod = 0
|
||||
hud_state = "electrothermal"
|
||||
|
||||
/obj/item/projectile/energy/florayield/on_hit(var/atom/target, var/blocked = 0)
|
||||
var/mob/living/M = target
|
||||
@@ -218,6 +226,7 @@
|
||||
name = "flayer ray"
|
||||
|
||||
combustion = FALSE
|
||||
hud_state = "electrothermal"
|
||||
|
||||
/obj/item/projectile/beam/mindflayer/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(ishuman(target))
|
||||
@@ -233,6 +242,7 @@
|
||||
nodamage = 1
|
||||
damage_type = HALLOSS
|
||||
muzzle_type = /obj/effect/projectile/muzzle/bullet
|
||||
hud_state = "monkey"
|
||||
|
||||
/obj/item/projectile/bola
|
||||
name = "bola"
|
||||
@@ -241,6 +251,7 @@
|
||||
embed_chance = 0 //Nada.
|
||||
damage_type = HALLOSS
|
||||
muzzle_type = null
|
||||
hud_state = "monkey"
|
||||
|
||||
combustion = FALSE
|
||||
|
||||
@@ -260,7 +271,7 @@
|
||||
embed_chance = 0 //Nada.
|
||||
damage_type = BRUTE
|
||||
muzzle_type = null
|
||||
|
||||
hud_state = "monkey"
|
||||
combustion = FALSE
|
||||
|
||||
/obj/item/projectile/webball/on_hit(var/atom/target, var/blocked = 0)
|
||||
@@ -282,6 +293,7 @@
|
||||
light_range = 4
|
||||
light_power = 3
|
||||
light_color = "#3300ff"
|
||||
hud_state = "alloy_spike"
|
||||
|
||||
muzzle_type = /obj/effect/projectile/muzzle/tungsten
|
||||
tracer_type = /obj/effect/projectile/tracer/tungsten
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Reference in New Issue
Block a user