mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-27 10:32:08 +00:00
Gun, sword and janitor ert additions (#2142)
-changes the one handed pulse rifle to be a pulse carbine and a pulse pistol, also removed a lot of useless vars from it -changed the pulse destroyer to fire in bursts -added some new flavors of sword with their own sprites -added some new on hand and back sprites for some guns -added the janitor ert hardsuit, not anywhere yet -fix #2137 -fix the anesthetic tank having no sprite on the back -ghetto shotgun and pistol chances of failure are now random when they are created
This commit is contained in:
@@ -1,43 +1,31 @@
|
||||
/obj/item/weapon/gun/energy/pulse_rifle
|
||||
name = "pulse rifle"
|
||||
/obj/item/weapon/gun/energy/pulse
|
||||
name = "pulse carbine"
|
||||
desc = "A weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. Because of its complexity and cost, it is rarely seen in use except by specialists."
|
||||
icon_state = "pulse"
|
||||
item_state = null //so the human update icon uses the icon_state instead.
|
||||
slot_flags = SLOT_BELT|SLOT_BACK
|
||||
force = 10
|
||||
icon_state = "pulse_carbine"
|
||||
item_state = "pulse_carbine"
|
||||
slot_flags = SLOT_BELT
|
||||
force = 5
|
||||
fire_sound='sound/weapons/Laser.ogg'
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
sel_mode = 2
|
||||
max_shots = 10
|
||||
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg', fire_delay=null, charge_cost=null),
|
||||
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, fire_sound='sound/weapons/Laser.ogg', fire_delay=null, charge_cost=null),
|
||||
list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/pulse.ogg', fire_delay=25, charge_cost=400)
|
||||
list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/pulse.ogg', fire_delay=25)
|
||||
)
|
||||
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/mounted
|
||||
/obj/item/weapon/gun/energy/pulse/mounted
|
||||
charge_cost = 400
|
||||
self_recharge = 1
|
||||
use_external_power = 1
|
||||
recharge_time = 10
|
||||
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/destroyer
|
||||
name = "pulse destroyer"
|
||||
desc = "A heavy-duty, pulse-based energy weapon. Because of its complexity and cost, it is rarely seen in use except by specialists."
|
||||
cell_type = /obj/item/weapon/cell/super
|
||||
fire_delay = 25
|
||||
fire_sound='sound/weapons/pulse.ogg'
|
||||
projectile_type=/obj/item/projectile/beam/pulse
|
||||
charge_cost=400
|
||||
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/destroyer/attack_self(mob/living/user as mob)
|
||||
user << "<span class='warning'>[src.name] has three settings, and they are all DESTROY.</span>"
|
||||
|
||||
//WHY?
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/M1911
|
||||
name = "\improper M1911-P"
|
||||
desc = "It's not the size of the gun, it's the size of the hole it puts through people."
|
||||
/obj/item/weapon/gun/energy/pulse/pistol
|
||||
name = "pulse pistol"
|
||||
desc = "A weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. This one is a really compact model."
|
||||
slot_flags = SLOT_BELT|SLOT_HOLSTER
|
||||
icon_state = "m1911-p"
|
||||
icon_state = "pulse_pistol"
|
||||
item_state = "pulse_pistol"
|
||||
max_shots = 5
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
icon_state = "laser"
|
||||
item_state = "laser"
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
origin_tech = "combat=3;magnets=2"
|
||||
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
|
||||
firemodes = list()
|
||||
@@ -70,6 +70,16 @@
|
||||
|
||||
fire_delay_wielded = 20
|
||||
|
||||
/obj/item/weapon/gun/energy/rifle/laser/xray
|
||||
name = "xray laser rifle"
|
||||
desc = "A high-power laser rifle capable of expelling concentrated xray blasts."
|
||||
icon_state = "xrifle"
|
||||
item_state = "xray"
|
||||
fire_sound = 'sound/weapons/laser3.ogg'
|
||||
projectile_type = /obj/item/projectile/beam/xray
|
||||
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_ILLEGAL = 2)
|
||||
max_shots = 40
|
||||
|
||||
/obj/item/weapon/gun/energy/rifle/pulse
|
||||
name = "pulse rifle"
|
||||
desc = "A weapon that uses advanced pulse-based beam generation technology to emit powerful laser blasts. Because of its complexity and cost, it is rarely seen in use except by specialists."
|
||||
@@ -78,22 +88,24 @@
|
||||
fire_sound = 'sound/weapons/Laser.ogg'
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
sel_mode = 2
|
||||
|
||||
origin_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 6, TECH_MAGNET = 4)
|
||||
|
||||
modifystate = null
|
||||
|
||||
firemodes = list(
|
||||
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, fire_sound='sound/weapons/Taser.ogg'),
|
||||
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, fire_sound='sound/weapons/Laser.ogg'),
|
||||
list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/pulse.ogg', fire_delay=15, charge_cost=400)
|
||||
list(mode_name="DESTROY", projectile_type=/obj/item/projectile/beam/pulse, fire_sound='sound/weapons/pulse.ogg')
|
||||
)
|
||||
|
||||
/obj/item/weapon/gun/energy/rifle/laser/xray
|
||||
name = "xray laser rifle"
|
||||
desc = "A high-power laser rifle capable of expelling concentrated xray blasts."
|
||||
icon_state = "xrifle"
|
||||
item_state = "xray"
|
||||
fire_sound = 'sound/weapons/laser3.ogg'
|
||||
origin_tech = "combat=3;magnets=2"
|
||||
projectile_type = /obj/item/projectile/beam/xray
|
||||
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2, TECH_ILLEGAL = 2)
|
||||
max_shots = 40
|
||||
/obj/item/weapon/gun/energy/rifle/pulse/destroyer
|
||||
name = "pulse destroyer"
|
||||
desc = "A heavy-duty, pulse-based energy weapon. Because of its complexity and cost, it is rarely seen in use except by specialists."
|
||||
fire_sound='sound/weapons/pulse.ogg'
|
||||
projectile_type=/obj/item/projectile/beam/pulse
|
||||
burst_delay = 5
|
||||
burst = 3
|
||||
max_shots = 30
|
||||
|
||||
/obj/item/weapon/gun/energy/rifle/pulse/destroyer/attack_self(mob/living/user as mob)
|
||||
user << "<span class='warning'>[src.name] has three settings, and they are all DESTROY.</span>"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/obj/item/weapon/gun/energy/temperature
|
||||
name = "freeze ray"
|
||||
icon_state = "freezegun"
|
||||
item_state = "freezegun"
|
||||
fire_sound = 'sound/weapons/pulse3.ogg'
|
||||
desc = "A gun that changes temperatures. It has a small label on the side, 'More extreme temperatures will cost more charge!'"
|
||||
var/temperature = T20C
|
||||
@@ -77,4 +78,4 @@
|
||||
temperature += 10
|
||||
else
|
||||
temperature = current_temperature
|
||||
*/
|
||||
*/
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
w_class = 4
|
||||
force = 10
|
||||
caliber = "a762"
|
||||
origin_tech = "combat=6;materials=1;syndicate=4"
|
||||
origin_tech = list(TECH_COMBAT = 6, TECH_MATERIAL = 1, TECH_ILLEGAL = 4)
|
||||
slot_flags = SLOT_BACK
|
||||
load_method = MAGAZINE
|
||||
magazine_type = /obj/item/ammo_magazine/c762
|
||||
|
||||
@@ -17,9 +17,10 @@
|
||||
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
|
||||
handle_casings = CYCLE_CASINGS
|
||||
load_method = SINGLE_CASING
|
||||
var/fail_chance = 35
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/improvised/special_check(var/mob/living/carbon/human/M)
|
||||
if(prob(35))
|
||||
if(prob(fail_chance))
|
||||
M.visible_message("<span class='danger'>[M]'s weapon blows up, shattering into pieces!</span>","<span class='danger'>[src] blows up in your face!</span>", "You hear a loud bang!")
|
||||
M.take_organ_damage(0,30)
|
||||
M.drop_item()
|
||||
@@ -49,6 +50,15 @@
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/improvised/examine(mob/user)
|
||||
..(user)
|
||||
switch(fail_chance)
|
||||
if(1) user << "All craftsmanship is of the highest quality."
|
||||
if(2 to 25) user << "All craftsmanship is of high quality."
|
||||
if(26 to 50) user << "All craftsmanship is of average quality."
|
||||
if(51 to 75) user << "All craftsmanship is of low quality."
|
||||
if(100) user << "All craftsmanship is of the lowest quality."
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/improvised/sawn
|
||||
name = "sawn-off improvised shotgun"
|
||||
desc = "An improvised pipe assembly that can fire shotgun shells."
|
||||
@@ -115,7 +125,8 @@
|
||||
if(buildstate == 3)
|
||||
if(C.use(10))
|
||||
user << "<span class='notice'>You tie the lengths of cable to the shotgun, making a sling.</span>"
|
||||
new /obj/item/weapon/gun/projectile/shotgun/improvised(get_turf(src))
|
||||
var/obj/item/weapon/gun/projectile/shotgun/improvised/G = new(get_turf(src))
|
||||
G.fail_chance = rand(1,100)
|
||||
qdel(src)
|
||||
else
|
||||
user << "<span class='notice'>You need at least ten lengths of cable if you want to make a sling!.</span>"
|
||||
@@ -142,6 +153,15 @@
|
||||
load_method = MAGAZINE
|
||||
jam_chance = 20
|
||||
|
||||
/obj/item/weapon/gun/projectile/improvised_handgun/examine(mob/user)
|
||||
..(user)
|
||||
switch(jam_chance)
|
||||
if(1) user << "All craftsmanship is of the highest quality."
|
||||
if(2 to 25) user << "All craftsmanship is of high quality."
|
||||
if(26 to 50) user << "All craftsmanship is of average quality."
|
||||
if(51 to 75) user << "All craftsmanship is of low quality."
|
||||
if(100) user << "All craftsmanship is of the lowest quality."
|
||||
|
||||
/obj/item/weapon/stock/update_icon()
|
||||
icon_state = "ipistol[buildstate]"
|
||||
|
||||
@@ -182,6 +202,29 @@
|
||||
if(!src || !T.isOn()) return
|
||||
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
|
||||
user << "<span class='notice'>You shorten the barrel with the welding tool.</span>"
|
||||
new /obj/item/weapon/gun/projectile/improvised_handgun(get_turf(src))
|
||||
var/obj/item/weapon/gun/projectile/improvised_handgun/G = new(get_turf(src))
|
||||
G.jam_chance = rand(1,100)
|
||||
qdel(src)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/gun/projectile/automatic/improvised
|
||||
name = "improvised machine pistol"
|
||||
desc = "An improvised automatic handgun. Uses .45 rounds."
|
||||
icon = 'icons/obj/improvised.dmi'
|
||||
icon_state = "ismg"
|
||||
load_method = MAGAZINE
|
||||
magazine_type = /obj/item/ammo_magazine/c45uzi
|
||||
allowed_magazines = list(/obj/item/ammo_magazine/c45uzi)
|
||||
max_shells = 16
|
||||
caliber = ".45"
|
||||
sel_mode = 1
|
||||
accuracy = -5
|
||||
fire_delay = 5
|
||||
burst = 3
|
||||
burst_delay = 0
|
||||
move_delay = 0
|
||||
fire_delay = 2
|
||||
dispersion = list(1.0, -1.0, 2.0, -2.0)
|
||||
jam_chance = 20
|
||||
|
||||
firemodes = null
|
||||
|
||||
Reference in New Issue
Block a user