mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-14 02:43:16 +00:00
Conflicts: code/ATMOSPHERICS/components/unary_devices/cryo.dm code/_onclick/hud/alert.dm code/_onclick/hud/hud.dm code/datums/mutations.dm code/datums/wires/robot.dm code/game/atoms.dm code/game/gamemodes/blob/overmind.dm code/game/machinery/alarm.dm code/game/machinery/machinery.dm code/game/machinery/suit_storage_unit.dm code/game/objects/items/weapons/tanks/tanks.dm code/game/objects/items/weapons/tools.dm code/game/objects/structures/morgue.dm code/modules/admin/verbs/adminjump.dm code/modules/atmospherics/machinery/atmosmachinery.dm code/modules/mob/inventory.dm code/modules/mob/living/carbon/alien/humanoid/death.dm code/modules/mob/living/carbon/alien/larva/death.dm code/modules/mob/living/carbon/brain/death.dm code/modules/mob/living/carbon/carbon.dm code/modules/mob/living/carbon/human/death.dm code/modules/mob/living/carbon/human/human.dm code/modules/mob/living/carbon/human/human_damage.dm code/modules/mob/living/carbon/human/life.dm code/modules/mob/living/carbon/human/species.dm code/modules/mob/living/carbon/human/species_types.dm code/modules/mob/living/carbon/life.dm code/modules/mob/living/carbon/monkey/death.dm code/modules/mob/living/life.dm code/modules/mob/living/living.dm code/modules/mob/living/silicon/ai/ai.dm code/modules/mob/living/silicon/ai/death.dm code/modules/mob/living/silicon/ai/life.dm code/modules/mob/living/silicon/pai/death.dm code/modules/mob/living/silicon/pai/pai.dm code/modules/mob/living/silicon/robot/death.dm code/modules/mob/living/silicon/robot/life.dm code/modules/mob/living/silicon/robot/robot.dm code/modules/mob/living/silicon/silicon.dm code/modules/mob/living/simple_animal/guardian/guardian.dm code/modules/mob/login.dm code/modules/mob/mob.dm code/modules/projectiles/gun.dm code/modules/reagents/chemistry/reagents/blob_reagents.dm tgstation.dme
191 lines
4.9 KiB
Plaintext
191 lines
4.9 KiB
Plaintext
|
|
/obj/item/weapon/gun/projectile/sniper_rifle
|
|
name = "sniper rifle"
|
|
desc = "The kind of gun that will leave you crying for mummy before you even realise your leg's missing"
|
|
icon_state = "sniper"
|
|
item_state = "sniper"
|
|
recoil = 2
|
|
heavy_weapon = 1
|
|
mag_type = /obj/item/ammo_box/magazine/sniper_rounds
|
|
fire_delay = 40
|
|
origin_tech = "combat=8"
|
|
can_unsuppress = 1
|
|
can_suppress = 1
|
|
w_class = 3
|
|
zoomable = TRUE
|
|
zoom_amt = 7 //Long range, enough to see in front of you, but no tiles behind you.
|
|
slot_flags = SLOT_BACK
|
|
|
|
|
|
/obj/item/weapon/gun/projectile/sniper_rifle/update_icon()
|
|
if(magazine)
|
|
icon_state = "sniper-mag"
|
|
else
|
|
icon_state = "sniper"
|
|
|
|
|
|
/obj/item/weapon/gun/projectile/sniper_rifle/syndicate
|
|
name = "syndicate sniper rifle"
|
|
desc = "Syndicate flavoured sniper rifle, it packs quite a punch, a punch to your face"
|
|
pin = /obj/item/device/firing_pin/implant/pindicate
|
|
origin_tech = "combat=8;syndicate=4"
|
|
|
|
|
|
|
|
|
|
|
|
//Normal Boolets
|
|
/obj/item/ammo_box/magazine/sniper_rounds
|
|
name = "sniper rounds (.50)"
|
|
icon_state = ".50mag"
|
|
origin_tech = "combat=6;syndicate=2"
|
|
ammo_type = /obj/item/ammo_casing/point50
|
|
max_ammo = 6
|
|
caliber = ".50"
|
|
|
|
/obj/item/ammo_box/magazine/sniper_rounds/update_icon()
|
|
if(ammo_count())
|
|
icon_state = "[initial(icon_state)]-ammo"
|
|
else
|
|
icon_state = "[initial(icon_state)]"
|
|
|
|
/obj/item/ammo_casing/point50
|
|
desc = "A .50 bullet casing."
|
|
caliber = ".50"
|
|
projectile_type = /obj/item/projectile/bullet/sniper
|
|
icon_state = ".50"
|
|
|
|
/obj/item/projectile/bullet/sniper
|
|
damage = 70
|
|
stun = 5
|
|
weaken = 5
|
|
armour_penetration = 50
|
|
var/breakthings = TRUE
|
|
|
|
/obj/item/projectile/bullet/sniper/on_hit(atom/target, blocked = 0, hit_zone)
|
|
if((blocked != 100) && (!ismob(target) && breakthings))
|
|
target.ex_act(rand(1,2))
|
|
|
|
return ..()
|
|
|
|
|
|
|
|
|
|
//Sleepy ammo
|
|
/obj/item/ammo_box/magazine/sniper_rounds/soporific
|
|
name = "sniper rounds (Zzzzz)"
|
|
desc = "Soporific sniper rounds, designed for happy days and dead quiet nights..."
|
|
icon_state = "soporific"
|
|
origin_tech = "combat=6;syndicate=3"
|
|
ammo_type = /obj/item/ammo_casing/soporific
|
|
max_ammo = 3
|
|
caliber = ".50"
|
|
|
|
/obj/item/ammo_casing/soporific
|
|
desc = "A .50 bullet casing, specialised in sending the target to sleep, instead of hell."
|
|
caliber = ".50"
|
|
projectile_type = /obj/item/projectile/bullet/sniper/soporific
|
|
icon_state = ".50"
|
|
|
|
/obj/item/projectile/bullet/sniper/soporific
|
|
armour_penetration = 0
|
|
nodamage = 1
|
|
stun = 0
|
|
weaken = 0
|
|
breakthings = FALSE
|
|
|
|
/obj/item/projectile/bullet/sniper/soporific/on_hit(atom/target, blocked = 0, hit_zone)
|
|
if((blocked != 100) && istype(target, /mob/living))
|
|
var/mob/living/L = target
|
|
L.Sleeping(20)
|
|
|
|
return ..()
|
|
|
|
|
|
|
|
//hemorrhage ammo
|
|
/obj/item/ammo_box/magazine/sniper_rounds/haemorrhage
|
|
name = "sniper rounds (Bleed)"
|
|
desc = "Haemorrhage sniper rounds, leaves your target in a pool of crimson pain"
|
|
icon_state = "haemorrhage"
|
|
origin_tech = "combat=7;syndicate=5"
|
|
ammo_type = /obj/item/ammo_casing/haemorrhage
|
|
max_ammo = 5
|
|
caliber = ".50"
|
|
|
|
/obj/item/ammo_casing/haemorrhage
|
|
desc = "A .50 bullet casing, specialised in causing massive bloodloss"
|
|
caliber = ".50"
|
|
projectile_type = /obj/item/projectile/bullet/sniper/haemorrhage
|
|
icon_state = ".50"
|
|
|
|
/obj/item/projectile/bullet/sniper/haemorrhage
|
|
armour_penetration = 15
|
|
damage = 15
|
|
stun = 0
|
|
weaken = 0
|
|
breakthings = FALSE
|
|
|
|
/obj/item/projectile/bullet/sniper/haemorrhage/on_hit(atom/target, blocked = 0, hit_zone)
|
|
if((blocked != 100) && istype(target, /mob/living/carbon/human))
|
|
var/mob/living/carbon/human/H = target
|
|
H.drip(100)
|
|
|
|
return ..()
|
|
|
|
|
|
//penetrator ammo
|
|
/obj/item/ammo_box/magazine/sniper_rounds/penetrator
|
|
name = "sniper rounds (penetrator)"
|
|
desc = "An extremely powerful round capable of passing straight through cover and anyone unfortunate enough to be behind it."
|
|
ammo_type = /obj/item/ammo_casing/penetrator
|
|
max_ammo = 5
|
|
|
|
/obj/item/ammo_casing/penetrator
|
|
desc = "A .50 caliber penetrator round casing."
|
|
caliber = ".50"
|
|
projectile_type = /obj/item/projectile/bullet/sniper/penetrator
|
|
icon_state = ".50"
|
|
|
|
/obj/item/projectile/bullet/sniper/penetrator
|
|
icon_state = "gauss"
|
|
name = "penetrator round"
|
|
damage = 60
|
|
forcedodge = 1
|
|
stun = 0
|
|
weaken = 0
|
|
breakthings = FALSE
|
|
|
|
|
|
|
|
//Accelerator ammo
|
|
|
|
/obj/item/ammo_box/magazine/sniper_rounds/accelerator
|
|
name = "sniper rounds (accelerator)"
|
|
desc = "An advanced round which gains more power the farther it flies."
|
|
ammo_type = /obj/item/ammo_casing/accelerator
|
|
max_ammo = 5
|
|
|
|
/obj/item/ammo_casing/accelerator
|
|
desc = "A .50 caliber accelerator round casing."
|
|
caliber = ".50"
|
|
projectile_type = /obj/item/projectile/bullet/sniper/accelerator
|
|
icon_state = ".50"
|
|
|
|
/obj/item/projectile/bullet/sniper/accelerator
|
|
icon_state = "gaussweak"
|
|
name = "accelerator round"
|
|
damage = 5
|
|
stun = 0
|
|
weaken = 0
|
|
breakthings = FALSE
|
|
|
|
/obj/item/projectile/bullet/sniper/accelerator/Range()
|
|
..()
|
|
damage += 5
|
|
if(damage > 40)
|
|
icon_state = "gaussstrong"
|
|
breakthings = TRUE
|
|
else if(damage > 25)
|
|
icon_state = "gauss"
|