mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
Projectile update
This commit is contained in:
@@ -688,8 +688,8 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
|
||||
name = "Ballistic gear crate"
|
||||
contains = list(/obj/item/clothing/suit/armor/bulletproof,
|
||||
/obj/item/clothing/suit/armor/bulletproof,
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump/combat,
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump/combat)
|
||||
/obj/item/weapon/gun/projectile/shotgun/combat,
|
||||
/obj/item/weapon/gun/projectile/shotgun/combat)
|
||||
cost = 50
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containername = "Ballistic gear crate"
|
||||
|
||||
@@ -45,11 +45,11 @@
|
||||
if("cannon")
|
||||
new /obj/item/weapon/gun/energy/lasercannon(get_turf(H))
|
||||
if("doublebarrel")
|
||||
new /obj/item/weapon/gun/projectile/shotgun/pump/(get_turf(H))
|
||||
new /obj/item/weapon/gun/projectile/revolver/doublebarrel/(get_turf(H))
|
||||
if("shotgun")
|
||||
new /obj/item/weapon/gun/projectile/shotgun/pump/(get_turf(H))
|
||||
new /obj/item/weapon/gun/projectile/shotgun/(get_turf(H))
|
||||
if("combatshotgun")
|
||||
new /obj/item/weapon/gun/projectile/shotgun/pump/combat(get_turf(H))
|
||||
new /obj/item/weapon/gun/projectile/shotgun/combat(get_turf(H))
|
||||
if("mateba")
|
||||
new /obj/item/weapon/gun/projectile/revolver/mateba(get_turf(H))
|
||||
if("smg")
|
||||
|
||||
@@ -239,8 +239,8 @@
|
||||
W.loc = src
|
||||
|
||||
else if(istype(used_weapon,/obj/item/projectile)) //We don't want to use the actual projectile item, so we spawn some shrapnel.
|
||||
if(prob(75) && damagetype == BRUTE)
|
||||
var/obj/item/projectile/P = used_weapon
|
||||
var/obj/item/projectile/P = used_weapon
|
||||
if(prob(75) && P.embed)
|
||||
var/obj/item/weapon/shard/shrapnel/S = new()
|
||||
S.name = "[P.name] shrapnel"
|
||||
S.desc = "[S.desc] It looks like it was fired from [P.shot_from]."
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
/obj/item/weapon/gun/projectile/shotgun
|
||||
name = "shotgun"
|
||||
desc = "This almost certainly shouldn't be here."
|
||||
desc = "Useful for sweeping alleys."
|
||||
icon_state = "shotgun"
|
||||
item_state = "shotgun"
|
||||
ammo_type = "/obj/item/ammo_casing/shotgun"
|
||||
mag_type = "/obj/item/ammo_box/magazine/internal/shot"
|
||||
w_class = 4.0
|
||||
force = 10
|
||||
flags = FPRINT | TABLEPASS | CONDUCT
|
||||
slot_flags = SLOT_BACK
|
||||
origin_tech = "combat=4;materials=2"
|
||||
ammo_type = /obj/item/ammo_casing/shotgun/beanbag
|
||||
var/recentpump = 0 // to prevent spammage
|
||||
var/pumped = 0
|
||||
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/attackby(var/obj/item/A as obj, mob/user as mob)
|
||||
var/num_loaded = 0
|
||||
@@ -27,22 +34,8 @@
|
||||
A.update_icon()
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump
|
||||
name = "shotgun"
|
||||
desc = "Useful for sweeping alleys."
|
||||
icon_state = "shotgun"
|
||||
item_state = "shotgun"
|
||||
w_class = 4.0
|
||||
force = 10
|
||||
flags = FPRINT | TABLEPASS | CONDUCT
|
||||
slot_flags = SLOT_BACK
|
||||
origin_tech = "combat=4;materials=2"
|
||||
ammo_type = "/obj/item/ammo_casing/shotgun/beanbag"
|
||||
var/recentpump = 0 // to prevent spammage
|
||||
var/pumped = 0
|
||||
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump/process_chambered()
|
||||
/obj/item/weapon/gun/projectile/shotgun/process_chambered()
|
||||
var/obj/item/ammo_casing/AC = chambered //Find chambered round
|
||||
if(isnull(AC) || !istype(AC))
|
||||
return 0
|
||||
@@ -59,7 +52,7 @@
|
||||
return 0
|
||||
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump/attack_self(mob/living/user as mob)
|
||||
/obj/item/weapon/gun/projectile/shotgun/attack_self(mob/living/user as mob)
|
||||
if(recentpump) return
|
||||
pump()
|
||||
recentpump = 1
|
||||
@@ -68,7 +61,7 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump/proc/pump(mob/M as mob)
|
||||
/obj/item/weapon/gun/projectile/shotgun/proc/pump(mob/M as mob)
|
||||
playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1)
|
||||
pumped = 0
|
||||
if(chambered)//We have a shell in the chamber
|
||||
@@ -82,12 +75,12 @@
|
||||
update_icon() //I.E. fix the desc
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump/examine()
|
||||
/obj/item/weapon/gun/projectile/shotgun/examine()
|
||||
..()
|
||||
if (chambered)
|
||||
usr << "A [chambered.BB ? "live" : "spent"] one is in the chamber."
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump/combat
|
||||
/obj/item/weapon/gun/projectile/shotgun/combat
|
||||
name = "combat shotgun"
|
||||
icon_state = "cshotgun"
|
||||
origin_tech = "combat=5;materials=2"
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
var/eyeblur = 0
|
||||
var/drowsy = 0
|
||||
var/agony = 0
|
||||
|
||||
var/embed = 0 // whether or not the projectile can embed itself in the mob
|
||||
|
||||
proc/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(blocked >= 2) return 0//Full block
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
damage_type = BRUTE
|
||||
nodamage = 0
|
||||
flag = "bullet"
|
||||
embed = 1
|
||||
|
||||
on_hit(var/atom/target, var/blocked = 0)
|
||||
if (..(target, blocked))
|
||||
@@ -17,8 +18,10 @@
|
||||
damage = 10
|
||||
stun = 5
|
||||
weaken = 5
|
||||
embed = 0
|
||||
|
||||
/obj/item/projectile/bullet/weakbullet/booze
|
||||
embed = 0
|
||||
on_hit(var/atom/target, var/blocked = 0)
|
||||
if(..(target, blocked))
|
||||
var/mob/living/M = target
|
||||
@@ -41,6 +44,7 @@
|
||||
damage = 20
|
||||
stun = 5
|
||||
weaken = 5
|
||||
embed = 0
|
||||
|
||||
/obj/item/projectile/bullet/midbullet2
|
||||
damage = 25
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
icon_state = "ice_1"
|
||||
damage = 20
|
||||
flag = "energy"
|
||||
embed = 1
|
||||
|
||||
/obj/item/projectile/forcebolt/strong
|
||||
name = "force bolt"
|
||||
|
||||
Reference in New Issue
Block a user