saw balance

This commit is contained in:
MMMiracles
2015-12-13 23:05:46 -05:00
parent ff2bc4d022
commit cbc9904c4c
8 changed files with 192 additions and 86 deletions
+23 -4
View File
@@ -148,14 +148,14 @@ var/list/uplink_items = list()
surplus = 50
/datum/uplink_item/dangerous/carbine/unrestricted
item = /obj/item/weapon/gun/projectile/automatic/m90/unrestricted
item = /obj/itemdweapon/gun/projectile/automatic/m90/unrestricted
gamemodes = list(/datum/game_mode/gang)
/datum/uplink_item/dangerous/machinegun
name = "L6 Squad Automatic Weapon"
desc = "A fully-loaded Aussec Armoury belt-fed machine gun. This deadly weapon has a massive 50-round magazine of devastating 7.62x51mm ammunition."
item = /obj/item/weapon/gun/projectile/automatic/l6_saw
cost = 40
cost = 23
gamemodes = list(/datum/game_mode/nuclear)
surplus = 0
@@ -360,10 +360,30 @@ var/list/uplink_items = list()
name = "Box Magazine - 7.62x51mm"
desc = "A 50-round magazine of 7.62x51mm ammunition for use in the L6 SAW machinegun. By the time you need to use this, you'll already be on a pile of corpses."
item = /obj/item/ammo_box/magazine/m762
cost = 12
cost = 6
gamemodes = list(/datum/game_mode/nuclear)
surplus = 0
/datum/uplink_item/ammo/machinegun/bleeding
name = "Box Magazine - Bleeding 7.62x51mm"
desc = "A 50-round magazine of 7.62x51mm ammunition for use in the L6 SAW machinegun equipped with special properties to induce internal bleeding on targets."
item = /obj/item/ammo_box/magazine/m762/bleeding
/datum/uplink_item/ammo/machinegun/hollow
name = "Box Magazine - Hollow 7.62x51mm"
desc = "A 50-round magazine of 7.62x51mm ammunition for use in the L6 SAW machinegun equipped with hollow-tips to help with the unarmored masses of crew."
item = /obj/item/ammo_box/magazine/m762/hollow
/datum/uplink_item/ammo/machinegun/ap
name = "Box Magazine - Armor Penetrating 7.62x51mm"
desc = "A 50-round magazine of 7.62x51mm ammunition for use in the L6 SAW machinegun equipped with special properties to puncture even the most durable armor."
item = /obj/item/ammo_box/magazine/m762/ap
/datum/uplink_item/ammo/machinegun/incen
name = "Box Magazine - Incendiary 7.62x51mm"
desc = "A 50-round magazine of 7.62x51mm ammunition for use in the L6 SAW machinegun, tipped with a special flammable mixture that'll ignite anyone struck by the bullet. Some men just want to watch the world burn."
item = /obj/item/ammo_box/magazine/m762/incen
/datum/uplink_item/ammo/toydarts //This used to only be for nuke ops, but had the cost lowered and made available to traitors because >a box of foam darts is more expensive than four carbine magazines
name = "Box of Riot Darts"
desc = "A box of 40 Donksoft foam riot darts, for reloading any compatible foam dart gun. Don't forget to share!"
@@ -390,7 +410,6 @@ var/list/uplink_items = list()
item = /obj/item/ammo_box/magazine/sniper_rounds/haemorrhage
// STEALTHY WEAPONS
/datum/uplink_item/stealthy_weapons
@@ -212,12 +212,6 @@
reagents.add_reagent("coniine", 6)
reagents.add_reagent("sodium_thiopental", 6)
/obj/item/ammo_casing/a762
desc = "A 7.62mm bullet casing."
icon_state = "762-casing"
caliber = "a762"
projectile_type = /obj/item/projectile/bullet
/obj/item/ammo_casing/a556
desc = "A 5.56mm bullet casing."
caliber = "a556"
@@ -270,20 +270,6 @@ obj/item/ammo_box/magazine/tommygunm45
max_ammo = 30
multiple_sprites = 2
/obj/item/ammo_box/magazine/m762
name = "box magazine (7.62mm)"
icon_state = "a762-50"
origin_tech = "combat=2"
ammo_type = /obj/item/ammo_casing/a762
caliber = "a762"
max_ammo = 50
/obj/item/ammo_box/magazine/m762/update_icon()
..()
icon_state = "a762-[round(ammo_count(),10)]"
/obj/item/ammo_box/magazine/m12g
name = "shotgun magazine (12g slugs)"
icon_state = "m12gb"
+6 -1
View File
@@ -346,6 +346,8 @@
SetLuminosity(0)
if(azoom)
azoom.Grant(user)
if(agrip)
agrip.Grant(user)
/obj/item/weapon/gun/dropped(mob/user)
if(F)
@@ -355,6 +357,9 @@
zoom(user,FALSE)
if(azoom)
azoom.Remove(user)
if(agrip)
agrip.Remove(user)
/obj/item/weapon/gun/attack_hand(mob/user)
if(unique_reskin && !reskinned && loc == user)
@@ -486,4 +491,4 @@
if(zoomable)
azoom = new()
azoom.gun = src
azoom.gun = src
@@ -135,66 +135,6 @@
mag_type = /obj/item/ammo_box/magazine/uzim9mm
burst_size = 2
/obj/item/weapon/gun/projectile/automatic/l6_saw
name = "\improper L6 SAW"
desc = "A heavily modified 7.62 light machine gun, designated 'L6 SAW'. Has 'Aussec Armoury - 2531' engraved on the receiver below the designation."
icon_state = "l6closed100"
item_state = "l6closedmag"
w_class = 5
slot_flags = 0
origin_tech = "combat=5;materials=1;syndicate=2"
mag_type = /obj/item/ammo_box/magazine/m762
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
var/cover_open = 0
can_suppress = 0
burst_size = 5
fire_delay = 3
pin = /obj/item/device/firing_pin/implant/pindicate
/obj/item/weapon/gun/projectile/automatic/l6_saw/unrestricted
pin = /obj/item/device/firing_pin
/obj/item/weapon/gun/projectile/automatic/l6_saw/attack_self(mob/user)
cover_open = !cover_open
user << "<span class='notice'>You [cover_open ? "open" : "close"] [src]'s cover.</span>"
update_icon()
/obj/item/weapon/gun/projectile/automatic/l6_saw/update_icon()
icon_state = "l6[cover_open ? "open" : "closed"][magazine ? Ceiling(get_ammo(0)/12.5)*25 : "-empty"]"
/obj/item/weapon/gun/projectile/automatic/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) //what I tried to do here is just add a check to see if the cover is open or not and add an icon_state change because I can't figure out how c-20rs do it with overlays
if(cover_open)
user << "<span class='warning'>[src]'s cover is open! Close it before firing!</span>"
else
..()
update_icon()
/obj/item/weapon/gun/projectile/automatic/l6_saw/attack_hand(mob/user)
if(loc != user)
..()
return //let them pick it up
if(!cover_open || (cover_open && !magazine))
..()
else if(cover_open && magazine)
//drop the mag
magazine.update_icon()
magazine.loc = get_turf(src.loc)
user.put_in_hands(magazine)
magazine = null
update_icon()
user << "<span class='notice'>You remove the magazine from [src].</span>"
/obj/item/weapon/gun/projectile/automatic/l6_saw/attackby(obj/item/A, mob/user, params)
if(!cover_open)
user << "<span class='warning'>[src]'s cover is closed! You can't insert a new mag.</span>"
return
..()
/obj/item/weapon/gun/projectile/automatic/m90
name = "\improper M-90gl Carbine"
desc = "A three-round burst 5.56 toploading carbine, designated 'M-90gl'. Has an attached underbarrel grenade launcher which can be toggled on and off."
@@ -0,0 +1,162 @@
/obj/item/weapon/gun/projectile/automatic/l6_saw
name = "\improper L6 SAW"
desc = "A heavily modified 7.62 light machine gun, designated 'L6 SAW'. Has 'Aussec Armoury - 2531' engraved on the receiver below the designation."
icon_state = "l6closed100"
item_state = "l6closedmag"
w_class = 5
slot_flags = 0
origin_tech = "combat=5;materials=1;syndicate=2"
mag_type = /obj/item/ammo_box/magazine/m762
heavy_weapon = 1
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
var/cover_open = 0
can_suppress = 0
burst_size = 3
fire_delay = 1
pin = /obj/item/device/firing_pin/implant/pindicate
/obj/item/weapon/gun/projectile/automatic/l6_saw/unrestricted
pin = /obj/item/device/firing_pin
/obj/item/weapon/gun/projectile/automatic/l6_saw/attack_self(mob/user)
cover_open = !cover_open
user << "<span class='notice'>You [cover_open ? "open" : "close"] [src]'s cover.</span>"
update_icon()
/obj/item/weapon/gun/projectile/automatic/l6_saw/update_icon()
icon_state = "l6[cover_open ? "open" : "closed"][magazine ? Ceiling(get_ammo(0)/12.5)*25 : "-empty"]"
/obj/item/weapon/gun/projectile/automatic/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params) //what I tried to do here is just add a check to see if the cover is open or not and add an icon_state change because I can't figure out how c-20rs do it with overlays
if(cover_open)
user << "<span class='warning'>[src]'s cover is open! Close it before firing!</span>"
else
..()
update_icon()
/obj/item/weapon/gun/projectile/automatic/l6_saw/attack_hand(mob/user)
if(loc != user)
..()
return //let them pick it up
if(!cover_open || (cover_open && !magazine))
..()
else if(cover_open && magazine)
//drop the mag
magazine.update_icon()
magazine.loc = get_turf(src.loc)
user.put_in_hands(magazine)
magazine = null
update_icon()
user << "<span class='notice'>You remove the magazine from [src].</span>"
/obj/item/weapon/gun/projectile/automatic/l6_saw/attackby(obj/item/A, mob/user, params)
if(!cover_open)
user << "<span class='warning'>[src]'s cover is closed! You can't insert a new mag.</span>"
return
..()
//ammo//
/obj/item/projectile/bullet/saw
damage = 35
armour_penetration = 5
/obj/item/projectile/bullet/saw/bleeding
damage = 15
armour_penetration = 0
/obj/item/projectile/bullet/saw/bleeding/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(25)
/obj/item/projectile/bullet/saw/hollow
damage = 45
armour_penetration = 0
/obj/item/projectile/bullet/saw/ap
damage = 30
armour_penetration = 35
/obj/item/projectile/bullet/saw/incen
damage = 5
armour_penetration = 0
/obj/item/projectile/bullet/saw/incen/on_hit(atom/target, blocked = 0)
. = ..()
if(iscarbon(target))
var/mob/living/carbon/M = target
M.adjust_fire_stacks(1)
M.IgniteMob()
//magazines//
/obj/item/ammo_box/magazine/m762
name = "box magazine (7.62mm)"
icon_state = "a762-50"
origin_tech = "combat=2"
ammo_type = /obj/item/ammo_casing/a762
caliber = "a762"
max_ammo = 50
/obj/item/ammo_box/magazine/m762/bleeding
name = "box magazine (Bleeding 7.62mm)"
origin_tech = "combat=3"
ammo_type = /obj/item/ammo_casing/a762/bleeding
/obj/item/ammo_box/magazine/m762/hollow
name = "box magazine (Hollow-Point 7.62mm)"
origin_tech = "combat=3"
ammo_type = /obj/item/ammo_casing/a762/hollow
/obj/item/ammo_box/magazine/m762/ap
name = "box magazine (Armor Penetrating 7.62mm)"
origin_tech = "combat=4"
ammo_type = /obj/item/ammo_casing/a762/ap
/obj/item/ammo_box/magazine/m762/incen
name = "box magazine (Incendiary 7.62mm)"
origin_tech = "combat=4"
ammo_type = /obj/item/ammo_casing/a762/incen
/obj/item/ammo_box/magazine/m762/update_icon()
..()
icon_state = "a762-[round(ammo_count(),10)]"
//casings//
/obj/item/ammo_casing/a762
desc = "A 7.62mm bullet casing."
icon_state = "762-casing"
caliber = "a762"
projectile_type = /obj/item/projectile/bullet/saw
/obj/item/ammo_casing/a762/bleeding
desc = "A 7.62mm bullet casing with specialized inner-casing, that when it makes contact with a target, release tiny shrapnel to induce internal bleeding."
icon_state = "762-casing"
caliber = "a762"
projectile_type = /obj/item/projectile/bullet/saw/bleeding
/obj/item/ammo_casing/a762/hollow
desc = "A 7.62mm bullet casing designed to cause more damage to unarmored targets."
projectile_type = /obj/item/projectile/bullet/saw/hollow
/obj/item/ammo_casing/a762/ap
desc = "A 7.62mm bullet casing designed with a hardened-tipped core to help penetrate armored targets."
projectile_type = /obj/item/projectile/bullet/saw/ap
/obj/item/ammo_casing/a762/incen
desc = "A 7.62mm bullet casing designed with a chemical-filled capsule on the tip that when bursted, reacts with the atmosphere to produce a fireball, engulfing the target in flames. "
projectile_type = /obj/item/projectile/bullet/saw/incen
@@ -6,7 +6,6 @@
nodamage = 0
flag = "bullet"
/obj/item/projectile/bullet/weakbullet //beanbag, heavy stamina damage
damage = 5
stamina = 80
+1
View File
@@ -1477,6 +1477,7 @@
#include "code\modules\projectiles\guns\projectile\launchers.dm"
#include "code\modules\projectiles\guns\projectile\pistol.dm"
#include "code\modules\projectiles\guns\projectile\revolver.dm"
#include "code\modules\projectiles\guns\projectile\saw.dm"
#include "code\modules\projectiles\guns\projectile\shotgun.dm"
#include "code\modules\projectiles\guns\projectile\sniper.dm"
#include "code\modules\projectiles\guns\projectile\toy.dm"