Projectile update

This commit is contained in:
ZomgPonies
2013-11-01 14:00:50 -04:00
parent 00b101d7f2
commit 1368fb3bfb
9 changed files with 10631 additions and 10658 deletions
+2 -2
View File
@@ -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"
+3 -3
View File
@@ -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"
+1 -1
View File
@@ -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"