From d50d49cedb49c2eb59e54afffe05b9c1efb06616 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sun, 9 Feb 2014 22:52:27 +1300 Subject: [PATCH] Bullet inscriptions - Can inscribe text into bullets by using a screwdriver on a bullet casing - Does not work on non-metal type bullets (i.e. rubber bullets, beanbags, stunshots, etc) - Added weakbullet subtypes "rubber bullet" and "beanbag" with appropriate names --- code/modules/projectiles/ammunition.dm | 20 +++++++++++++++++++ .../modules/projectiles/ammunition/bullets.dm | 4 ++-- .../modules/projectiles/projectile/bullets.dm | 5 +++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index 4e4e4d8530..ecb7df50cc 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -21,6 +21,26 @@ dir = pick(cardinal) +/obj/item/ammo_casing/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/screwdriver)) + if(BB) + if(initial(BB.name) == "bullet") + var/tmp_label = "" + var/label_text = sanitize(input(user, "Inscribe some text into \the [initial(BB.name)]","Inscription",tmp_label)) + if(length(label_text) > 20) + user << "\red The inscription can be at most 20 characters long." + else + if(label_text == "") + user << "\blue You scratch the inscription off of [initial(BB)]." + BB.name = initial(BB.name) + else + user << "\blue You inscribe \"[label_text]\" into \the [initial(BB.name)]." + BB.name = "[initial(BB.name)] \"[label_text]\"" + else + user << "\blue You can only inscribe a metal bullet." //because inscribing beanbags is silly + else + user << "\blue There is no bullet in the casing to inscribe anything into." + //Boxes of ammo /obj/item/ammo_magazine diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 0063d0b2a9..49efd840e6 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -46,7 +46,7 @@ /obj/item/ammo_casing/c45r desc = "A .45 rubber bullet casing." caliber = ".45" - projectile_type = "/obj/item/projectile/bullet/weakbullet" + projectile_type = "/obj/item/projectile/bullet/weakbullet/rubber" /obj/item/ammo_casing/a12mm desc = "A 12mm bullet casing." @@ -75,7 +75,7 @@ name = "beanbag shell" desc = "A weak beanbag shell." icon_state = "bshell" - projectile_type = "/obj/item/projectile/bullet/weakbullet" + projectile_type = "/obj/item/projectile/bullet/weakbullet/beanbag" m_amt = 500 diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index a88381b2a0..43cb24d39a 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -18,6 +18,11 @@ weaken = 5 embed = 0 +/obj/item/projectile/bullet/weakbullet/beanbag //because beanbags are not bullets + name = "beanbag" + +/obj/item/projectile/bullet/weakbullet/rubber + name = "rubber bullet" /obj/item/projectile/bullet/midbullet damage = 20