mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-09 16:14:13 +00:00
Updated the L6.
Fixes issue 1095. L6 Icons bugged after reload git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5089 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -95,7 +95,7 @@
|
||||
|
||||
/obj/item/ammo_magazine/a762
|
||||
name = "magazine (a762)"
|
||||
icon_state = "a762-50"
|
||||
icon_state = "a762"
|
||||
origin_tech = "combat=2"
|
||||
ammo_type = "/obj/item/ammo_casing/a762"
|
||||
max_ammo = 50
|
||||
@@ -103,7 +103,7 @@
|
||||
|
||||
/obj/item/ammo_magazine/a762/empty
|
||||
name = "magazine (a762)"
|
||||
icon_state = "a762-0"
|
||||
icon_state = "a762"
|
||||
ammo_type = "/obj/item/ammo_casing/a762"
|
||||
max_ammo = 0
|
||||
multiple_sprites = 1
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/weapon/gun/projectile/automatic //Hopefully someone will find a way to make these fire in bursts or something. --Superxpdude
|
||||
name = "Submachine Gun"
|
||||
name = "submachine gun"
|
||||
desc = "A lightweight, fast firing gun. Uses 9mm rounds."
|
||||
icon_state = "saber"
|
||||
icon_state = "saber" //ugly
|
||||
w_class = 3.0
|
||||
max_shells = 18
|
||||
caliber = "9mm"
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/mini_uzi
|
||||
name = "Mini-Uzi"
|
||||
name = "mini-uzi"
|
||||
desc = "A lightweight, fast firing gun, for when you want someone dead. Uses .45 rounds."
|
||||
icon_state = "mini-uzi"
|
||||
w_class = 3.0
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/c20r
|
||||
name = "C-20r SMG"
|
||||
name = "\improper C-20r SMG"
|
||||
desc = "A lightweight, fast firing gun, for when you REALLY need someone dead. Uses 12mm rounds. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp"
|
||||
icon_state = "c20r"
|
||||
item_state = "c20r"
|
||||
@@ -62,114 +62,72 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/l6_saw
|
||||
name = "L6 SAW"
|
||||
w_class = 4
|
||||
name = "\improper L6 SAW"
|
||||
desc = "A rather traditionally made light machine gun with a pleasantly lacquered wooden pistol grip. Has 'Aussec Armoury- 2531' engraved on the reciever"
|
||||
icon_state = "l4closed100"
|
||||
icon_state = "l6closed100"
|
||||
item_state = "l6closedmag"
|
||||
w_class = 4
|
||||
max_shells = 50
|
||||
caliber = "a762"
|
||||
origin_tech = "combat=5;materials=1;syndicate=2"
|
||||
ammo_type = "/obj/item/ammo_casing/a762"
|
||||
fire_sound = 'sound/weapons/Gunshot_smg.ogg'
|
||||
load_method = 2
|
||||
//recoil = 1
|
||||
recoil = 1
|
||||
var/cover_open = 0
|
||||
var/mag_inserted = 1
|
||||
|
||||
|
||||
attack_self(mob/user as mob)
|
||||
if(!cover_open && mag_inserted)
|
||||
cover_open = 1
|
||||
icon_state = "l4open[round(((loaded.len)*2),25)]"
|
||||
item_state = "l6openmag"
|
||||
usr << "You open the [src]'s cover, allowing you to swap magazines."
|
||||
else if(cover_open && mag_inserted)
|
||||
cover_open = 0
|
||||
icon_state = "l4closed[round(((loaded.len)*2),25)]"
|
||||
item_state = "l6closedmag"
|
||||
usr << "You close the [src]'s cover."
|
||||
else if(!cover_open && !mag_inserted)
|
||||
cover_open = 1
|
||||
icon_state = "l4opennomag"
|
||||
item_state = "l6opennomag"
|
||||
usr << "You open the [src]'s cover, allowing you to swap magazines."
|
||||
else if(cover_open && !mag_inserted)
|
||||
cover_open = 0
|
||||
icon_state = "l4closednomag"
|
||||
item_state = "l6closednomag"
|
||||
usr << "You close the [src]'s cover."
|
||||
update_icon() //another update_icon() thing here, I know it's repeated in afterattack() but this one also takes into account cover_open
|
||||
if(!cover_open)
|
||||
icon_state = "l4closed[round(((loaded.len)*2),25)]"
|
||||
item_state = "l6closedmag"
|
||||
else
|
||||
icon_state = "l4open[round(((loaded.len)*2),25)]"
|
||||
item_state = "l6openmag"
|
||||
//update_inv_l_hand()
|
||||
//update_inv_r_hand()
|
||||
cover_open = !cover_open
|
||||
user << "<span class='notice'>You [cover_open ? "open" : "close"] [src]'s cover.</span>"
|
||||
update_icon()
|
||||
|
||||
|
||||
update_icon()
|
||||
icon_state = "l6[cover_open ? "open" : "closed"][mag_inserted ? round(loaded.len, 25) : "-empty"]"
|
||||
|
||||
|
||||
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)
|
||||
usr << "The SAW cover is open! Close it before firing!"
|
||||
user << "<span class='notice'>[src]'s cover is open! Close it before firing!</span>"
|
||||
else
|
||||
..()
|
||||
if(!cover_open && mag_inserted)
|
||||
icon_state = "l4closed[round(((loaded.len)*2),25)]"
|
||||
item_state = "l6closedmag"
|
||||
else if(!cover_open && !mag_inserted)
|
||||
icon_state = "l4closednomag"
|
||||
item_state = "l6nomag"
|
||||
//update_inv_l_hand()
|
||||
//update_inv_r_hand()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/l6_saw/verb/remove_magazine()
|
||||
set category = "Object"
|
||||
set name = "Remove SAW magazine."
|
||||
set src in view(1)
|
||||
var/mob/M = usr
|
||||
|
||||
if(usr.canmove && !usr.stat && !usr.restrained() && !M.paralysis && ! M.stunned)
|
||||
if(!cover_open)
|
||||
usr << "The [src]'s cover is closed! You can't remove the magazine!"
|
||||
else if (!cover_open && !mag_inserted)
|
||||
usr << "The [src]'s cover is open but there's no magazine for you to remove!"
|
||||
else if (cover_open && mag_inserted)
|
||||
drop_mag()
|
||||
loaded = list()
|
||||
mag_inserted = 0
|
||||
icon_state = "l4opennomag"
|
||||
item_state = "l6opennomag"
|
||||
usr << "You remove the magazine from the [src]!"
|
||||
//update_inv_l_hand()
|
||||
//update_inv_r_hand()
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/l6_saw/proc/drop_mag()
|
||||
empty_mag = new /obj/item/ammo_magazine/a762(src)
|
||||
empty_mag.stored_ammo = loaded
|
||||
empty_mag.icon_state = "a762-[round((loaded.len),10)]"
|
||||
//desc = "There are [loaded] shells left!"
|
||||
empty_mag.loc = get_turf(src.loc)
|
||||
empty_mag = null
|
||||
attack_hand(mob/user as mob)
|
||||
if(loc != user)
|
||||
..()
|
||||
return //let them pick it up
|
||||
if(!cover_open)
|
||||
user << "<span class='notice'>[src]'s cover is closed! You can't remove the magazine!</span>"
|
||||
else if (cover_open && mag_inserted)
|
||||
//drop the mag
|
||||
empty_mag = new /obj/item/ammo_magazine/a762(src)
|
||||
empty_mag.stored_ammo = loaded
|
||||
empty_mag.icon_state = "a762-[round(loaded.len, 10)]"
|
||||
empty_mag.desc = "There are [loaded.len] shells left!"
|
||||
empty_mag.loc = get_turf(src.loc)
|
||||
user.put_in_hands(empty_mag)
|
||||
empty_mag = null
|
||||
mag_inserted = 0
|
||||
loaded = list()
|
||||
update_icon()
|
||||
user << "<span class='notice'>You remove the magazine from [src].</span>"
|
||||
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/l6_saw/attackby(var/obj/item/A as obj, mob/user as mob)
|
||||
if(!cover_open)
|
||||
usr << "The [src]'s cover is closed! You can't insert a new mag!"
|
||||
user << "<span class='notice'>The [src]'s cover is closed! You can't insert a new mag!</span>"
|
||||
else if (cover_open && mag_inserted)
|
||||
usr << "The [src] already has a magazine inserted!"
|
||||
user << "<span class='notice'>The [src] already has a magazine inserted!</span>"
|
||||
else if (cover_open && !mag_inserted)
|
||||
mag_inserted = 1
|
||||
usr << "You insert the magazine!"
|
||||
icon_state = "l4openmag[round(((loaded.len)*2),25)]"
|
||||
item_state = "l6openmag"
|
||||
user << "<span class='notice'>You insert the magazine!</span>"
|
||||
update_icon()
|
||||
..()
|
||||
//update_inv_l_hand() something pete suggested. Dunno if this is a proc already defined way up in the obj/ thing
|
||||
//update_inv_r_hand() or if it's something I have to define myself
|
||||
..()
|
||||
|
||||
|
||||
/* The thing I found with guns in ss13 is that they don't seem to simulate the rounds in the magazine in the gun.
|
||||
@@ -177,5 +135,4 @@
|
||||
However, it looks like subsequent guns that use removable magazines don't take that into account and just get
|
||||
around simulating a removable magazine by adding the casings into the loaded list and spawning an empty magazine
|
||||
when the gun is out of rounds. Which means you can't eject magazines with rounds in them. The below is a very
|
||||
rough and poor attempt at making that happen. -Ausops */
|
||||
|
||||
rough and poor attempt at making that happen. -Ausops */
|
||||
Reference in New Issue
Block a user