From 3c5cf391b306df1ea85994a5cba6938dbe0b473c Mon Sep 17 00:00:00 2001
From: AzuleUtama <44248086+AzuleUtama@users.noreply.github.com>
Date: Thu, 27 Jun 2019 08:53:08 +0100
Subject: [PATCH 1/6] Ports false-bottomed briefcase from VG
---
.../items/weapons/storage/briefcase.dm | 79 ++++++++++++++++++-
code/modules/projectiles/gun.dm | 2 +-
2 files changed, 78 insertions(+), 3 deletions(-)
diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm
index 2450648cded..b378354f0b2 100644
--- a/code/game/objects/items/weapons/storage/briefcase.dm
+++ b/code/game/objects/items/weapons/storage/briefcase.dm
@@ -20,10 +20,85 @@
force = 10
/obj/item/storage/briefcase/sniperbundle/New()
- ..()
+ ..()
new /obj/item/gun/projectile/automatic/sniper_rifle/syndicate(src)
new /obj/item/clothing/accessory/red(src)
new /obj/item/clothing/under/syndicate/sniper(src)
new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src)
new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src)
- new /obj/item/suppressor/specialoffer(src)
\ No newline at end of file
+ new /obj/item/suppressor/specialoffer(src)
+
+/obj/item/storage/briefcase/false_bottomed
+ name = "briefcase"
+ desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. This one feels a bit heavier than normal for how much fits in it."
+ icon_state = "briefcase"
+ force = 8.0
+ throw_speed = 1
+ throw_range = 3
+ w_class = WEIGHT_CLASS_BULKY
+ max_w_class = WEIGHT_CLASS_SMALL
+ max_combined_w_class = 10
+
+ var/busy_hunting = 0
+ var/bottom_open = 0 //is the false bottom open?
+ var/obj/item/stored_item = null //what's in the false bottom. If it's a gun, we can fire it
+
+/obj/item/storage/briefcase/false_bottomed/Destroy()
+ if(stored_item)//since the stored_item isn't in the briefcase' contents we gotta remind the game to delete it here.
+ qdel(stored_item)
+ stored_item = null
+ ..()
+
+/obj/item/storage/briefcase/false_bottomed/afterattack(atom/A, mob/user, flag, params)
+ ..()
+ if(stored_item && istype(stored_item, /obj/item/gun) && get_dist(A, user) > 1)
+ var/obj/item/gun/stored_gun = stored_item
+ stored_gun.afterattack(A, user, flag, params)
+ return
+
+/obj/item/storage/briefcase/false_bottomed/attackby(var/obj/item/item, mob/user)
+ if(istype(item, /obj/item/screwdriver))
+ if(!bottom_open && !busy_hunting)
+ to_chat(user, "You begin to hunt around the rim of \the [src]...")
+ busy_hunting = 1
+ if(do_after(user, 20, target = src))
+ if(user)
+ to_chat(user, "You pry open the false bottom!")
+ bottom_open = 1
+ busy_hunting = 0
+ else if(bottom_open)
+ to_chat(user, "You push the false bottom down and close it with a click[stored_item ? ", with \the [stored_item] snugly inside." : "."]")
+ bottom_open = 0
+ else if(bottom_open)
+ if(stored_item)
+ to_chat(user, "There's already something in the false bottom!")
+ return
+ if(item.w_class > WEIGHT_CLASS_NORMAL)
+ to_chat(user, "\The [item] is too big to fit in the false bottom!")
+ return
+ if(!user.drop_item(item))
+ user << "\The [item] is stuck to your hands!"
+ return
+
+ stored_item = item
+ max_w_class = WEIGHT_CLASS_NORMAL - stored_item.w_class
+ item.forceMove(null) //null space here we go - to stop it showing up in the briefcase
+ to_chat(user, "You place \the [item] into the false bottom of the briefcase.")
+ else
+ return ..()
+
+/obj/item/storage/briefcase/false_bottomed/attack_hand(mob/user)
+ if(bottom_open && stored_item)
+ user.put_in_hands(stored_item)
+ to_chat(user, "You pull out \the [stored_item] from \the [src]'s false bottom.")
+ stored_item = null
+ max_w_class = initial(max_w_class)
+ else
+ return ..()
+
+/obj/item/storage/briefcase/false_bottomed/sniper
+
+/obj/item/storage/briefcase/false_bottomed/sniper/New()
+ ..()
+ var/obj/item/gun/projectile/automatic/sniper_rifle/compact/SNIPER = new
+ stored_item = SNIPER
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index d5dfb454e09..de60cf290b0 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -163,7 +163,7 @@
return 0
return 1
-obj/item/gun/proc/newshot()
+/obj/item/gun/proc/newshot()
return
/obj/item/gun/proc/process_fire(atom/target as mob|obj|turf, mob/living/user as mob|obj, message = 1, params, zone_override)
From dbed99041228bee60623d4502a43186a39b8a022 Mon Sep 17 00:00:00 2001
From: AzuleUtama <44248086+AzuleUtama@users.noreply.github.com>
Date: Sat, 29 Jun 2019 15:10:41 +0100
Subject: [PATCH 2/6] Revert "Ports false-bottomed briefcase from VG"
This reverts commit 3c5cf391b306df1ea85994a5cba6938dbe0b473c.
---
.../items/weapons/storage/briefcase.dm | 79 +------------------
code/modules/projectiles/gun.dm | 2 +-
2 files changed, 3 insertions(+), 78 deletions(-)
diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm
index b378354f0b2..2450648cded 100644
--- a/code/game/objects/items/weapons/storage/briefcase.dm
+++ b/code/game/objects/items/weapons/storage/briefcase.dm
@@ -20,85 +20,10 @@
force = 10
/obj/item/storage/briefcase/sniperbundle/New()
- ..()
+ ..()
new /obj/item/gun/projectile/automatic/sniper_rifle/syndicate(src)
new /obj/item/clothing/accessory/red(src)
new /obj/item/clothing/under/syndicate/sniper(src)
new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src)
new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src)
- new /obj/item/suppressor/specialoffer(src)
-
-/obj/item/storage/briefcase/false_bottomed
- name = "briefcase"
- desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. This one feels a bit heavier than normal for how much fits in it."
- icon_state = "briefcase"
- force = 8.0
- throw_speed = 1
- throw_range = 3
- w_class = WEIGHT_CLASS_BULKY
- max_w_class = WEIGHT_CLASS_SMALL
- max_combined_w_class = 10
-
- var/busy_hunting = 0
- var/bottom_open = 0 //is the false bottom open?
- var/obj/item/stored_item = null //what's in the false bottom. If it's a gun, we can fire it
-
-/obj/item/storage/briefcase/false_bottomed/Destroy()
- if(stored_item)//since the stored_item isn't in the briefcase' contents we gotta remind the game to delete it here.
- qdel(stored_item)
- stored_item = null
- ..()
-
-/obj/item/storage/briefcase/false_bottomed/afterattack(atom/A, mob/user, flag, params)
- ..()
- if(stored_item && istype(stored_item, /obj/item/gun) && get_dist(A, user) > 1)
- var/obj/item/gun/stored_gun = stored_item
- stored_gun.afterattack(A, user, flag, params)
- return
-
-/obj/item/storage/briefcase/false_bottomed/attackby(var/obj/item/item, mob/user)
- if(istype(item, /obj/item/screwdriver))
- if(!bottom_open && !busy_hunting)
- to_chat(user, "You begin to hunt around the rim of \the [src]...")
- busy_hunting = 1
- if(do_after(user, 20, target = src))
- if(user)
- to_chat(user, "You pry open the false bottom!")
- bottom_open = 1
- busy_hunting = 0
- else if(bottom_open)
- to_chat(user, "You push the false bottom down and close it with a click[stored_item ? ", with \the [stored_item] snugly inside." : "."]")
- bottom_open = 0
- else if(bottom_open)
- if(stored_item)
- to_chat(user, "There's already something in the false bottom!")
- return
- if(item.w_class > WEIGHT_CLASS_NORMAL)
- to_chat(user, "\The [item] is too big to fit in the false bottom!")
- return
- if(!user.drop_item(item))
- user << "\The [item] is stuck to your hands!"
- return
-
- stored_item = item
- max_w_class = WEIGHT_CLASS_NORMAL - stored_item.w_class
- item.forceMove(null) //null space here we go - to stop it showing up in the briefcase
- to_chat(user, "You place \the [item] into the false bottom of the briefcase.")
- else
- return ..()
-
-/obj/item/storage/briefcase/false_bottomed/attack_hand(mob/user)
- if(bottom_open && stored_item)
- user.put_in_hands(stored_item)
- to_chat(user, "You pull out \the [stored_item] from \the [src]'s false bottom.")
- stored_item = null
- max_w_class = initial(max_w_class)
- else
- return ..()
-
-/obj/item/storage/briefcase/false_bottomed/sniper
-
-/obj/item/storage/briefcase/false_bottomed/sniper/New()
- ..()
- var/obj/item/gun/projectile/automatic/sniper_rifle/compact/SNIPER = new
- stored_item = SNIPER
+ new /obj/item/suppressor/specialoffer(src)
\ No newline at end of file
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index de60cf290b0..d5dfb454e09 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -163,7 +163,7 @@
return 0
return 1
-/obj/item/gun/proc/newshot()
+obj/item/gun/proc/newshot()
return
/obj/item/gun/proc/process_fire(atom/target as mob|obj|turf, mob/living/user as mob|obj, message = 1, params, zone_override)
From fa2ca7c87ccf8a0eeaca1ce2f2c85bfd5eab88ed Mon Sep 17 00:00:00 2001
From: AzuleUtama <44248086+AzuleUtama@users.noreply.github.com>
Date: Sat, 29 Jun 2019 15:47:26 +0100
Subject: [PATCH 3/6] Ports VG false bottomed briefcase + compact sniper
changes
---
code/datums/uplink_item.dm | 17 ++--
.../items/weapons/storage/briefcase.dm | 79 ++++++++++++++++++-
code/modules/projectiles/gun.dm | 2 +-
.../projectiles/guns/projectile/sniper.dm | 2 +-
4 files changed, 86 insertions(+), 14 deletions(-)
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index b6167338ad3..bbeaba5d4f7 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -499,15 +499,12 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
surplus = 25
gamemodes = list(/datum/game_mode/nuclear)
-/datum/uplink_item/dangerous/sniper_compact //For when you really really hate that one guy.
- name = "Compact Sniper Rifle"
- desc = "A compact, unscoped version of the operative sniper rifle. Packs a powerful punch, but ammo is limited."
- reference = "CSR"
- item = /obj/item/gun/projectile/automatic/sniper_rifle/compact
- cost = 16
- surplus = 0
- cant_discount = TRUE
- excludefrom = list(/datum/game_mode/nuclear)
+/datum/uplink_item/dangerous/false_briefcase_sniper
+ name = "False Bottomed Briefcase with Compact Rifle"
+ desc = "A modified briefcase capable of storing and firing a gun under a false bottom. Comes loaded with a powerful compact rifle and 3 rounds. Use a screwdriver to pry away the false bottom and make modifications. Distinguishable upon close examination due to the added weight."
+ reference = "FBBC"
+ item = /obj/item/storage/briefcase/false_bottomed/sniper
+ cost = 11
/datum/uplink_item/dangerous/crossbow
name = "Energy Crossbow"
@@ -1627,7 +1624,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "CIB"
item = /obj/item/storage/box/cyber_implants/bundle
cost = 40
-
+
/datum/uplink_item/bundles_TC/medical
name = "Medical Bundle"
desc = "The support specialist: Aid your fellow operatives with this medical bundle. Contains a tactical medkit, \
diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm
index 2450648cded..b378354f0b2 100644
--- a/code/game/objects/items/weapons/storage/briefcase.dm
+++ b/code/game/objects/items/weapons/storage/briefcase.dm
@@ -20,10 +20,85 @@
force = 10
/obj/item/storage/briefcase/sniperbundle/New()
- ..()
+ ..()
new /obj/item/gun/projectile/automatic/sniper_rifle/syndicate(src)
new /obj/item/clothing/accessory/red(src)
new /obj/item/clothing/under/syndicate/sniper(src)
new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src)
new /obj/item/ammo_box/magazine/sniper_rounds/soporific(src)
- new /obj/item/suppressor/specialoffer(src)
\ No newline at end of file
+ new /obj/item/suppressor/specialoffer(src)
+
+/obj/item/storage/briefcase/false_bottomed
+ name = "briefcase"
+ desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. This one feels a bit heavier than normal for how much fits in it."
+ icon_state = "briefcase"
+ force = 8.0
+ throw_speed = 1
+ throw_range = 3
+ w_class = WEIGHT_CLASS_BULKY
+ max_w_class = WEIGHT_CLASS_SMALL
+ max_combined_w_class = 10
+
+ var/busy_hunting = 0
+ var/bottom_open = 0 //is the false bottom open?
+ var/obj/item/stored_item = null //what's in the false bottom. If it's a gun, we can fire it
+
+/obj/item/storage/briefcase/false_bottomed/Destroy()
+ if(stored_item)//since the stored_item isn't in the briefcase' contents we gotta remind the game to delete it here.
+ qdel(stored_item)
+ stored_item = null
+ ..()
+
+/obj/item/storage/briefcase/false_bottomed/afterattack(atom/A, mob/user, flag, params)
+ ..()
+ if(stored_item && istype(stored_item, /obj/item/gun) && get_dist(A, user) > 1)
+ var/obj/item/gun/stored_gun = stored_item
+ stored_gun.afterattack(A, user, flag, params)
+ return
+
+/obj/item/storage/briefcase/false_bottomed/attackby(var/obj/item/item, mob/user)
+ if(istype(item, /obj/item/screwdriver))
+ if(!bottom_open && !busy_hunting)
+ to_chat(user, "You begin to hunt around the rim of \the [src]...")
+ busy_hunting = 1
+ if(do_after(user, 20, target = src))
+ if(user)
+ to_chat(user, "You pry open the false bottom!")
+ bottom_open = 1
+ busy_hunting = 0
+ else if(bottom_open)
+ to_chat(user, "You push the false bottom down and close it with a click[stored_item ? ", with \the [stored_item] snugly inside." : "."]")
+ bottom_open = 0
+ else if(bottom_open)
+ if(stored_item)
+ to_chat(user, "There's already something in the false bottom!")
+ return
+ if(item.w_class > WEIGHT_CLASS_NORMAL)
+ to_chat(user, "\The [item] is too big to fit in the false bottom!")
+ return
+ if(!user.drop_item(item))
+ user << "\The [item] is stuck to your hands!"
+ return
+
+ stored_item = item
+ max_w_class = WEIGHT_CLASS_NORMAL - stored_item.w_class
+ item.forceMove(null) //null space here we go - to stop it showing up in the briefcase
+ to_chat(user, "You place \the [item] into the false bottom of the briefcase.")
+ else
+ return ..()
+
+/obj/item/storage/briefcase/false_bottomed/attack_hand(mob/user)
+ if(bottom_open && stored_item)
+ user.put_in_hands(stored_item)
+ to_chat(user, "You pull out \the [stored_item] from \the [src]'s false bottom.")
+ stored_item = null
+ max_w_class = initial(max_w_class)
+ else
+ return ..()
+
+/obj/item/storage/briefcase/false_bottomed/sniper
+
+/obj/item/storage/briefcase/false_bottomed/sniper/New()
+ ..()
+ var/obj/item/gun/projectile/automatic/sniper_rifle/compact/SNIPER = new
+ stored_item = SNIPER
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index d5dfb454e09..de60cf290b0 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -163,7 +163,7 @@
return 0
return 1
-obj/item/gun/proc/newshot()
+/obj/item/gun/proc/newshot()
return
/obj/item/gun/proc/process_fire(atom/target as mob|obj|turf, mob/living/user as mob|obj, message = 1, params, zone_override)
diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm
index e030c9afb2a..76157b4a95d 100644
--- a/code/modules/projectiles/guns/projectile/sniper.dm
+++ b/code/modules/projectiles/guns/projectile/sniper.dm
@@ -178,7 +178,7 @@
name = "sniper rounds (compact)"
desc = "An extremely powerful round capable of inflicting massive damage on a target."
ammo_type = /obj/item/ammo_casing/compact
- max_ammo = 4
+ max_ammo = 3
/obj/item/ammo_casing/compact
desc = "A .50 caliber compact round casing."
From ab8c0f5aa54ef1d75c2b3753eed8c427ef39e22f Mon Sep 17 00:00:00 2001
From: AzuleUtama <44248086+AzuleUtama@users.noreply.github.com>
Date: Sun, 30 Jun 2019 12:28:23 +0100
Subject: [PATCH 4/6] Reverted compact rifle changes, false bottomed case now
starts empty
---
code/datums/uplink_item.dm | 22 ++++++++++++++-----
.../items/weapons/storage/briefcase.dm | 7 ------
.../projectiles/guns/projectile/sniper.dm | 2 +-
3 files changed, 17 insertions(+), 14 deletions(-)
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index bbeaba5d4f7..df1f417305a 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -499,12 +499,15 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
surplus = 25
gamemodes = list(/datum/game_mode/nuclear)
-/datum/uplink_item/dangerous/false_briefcase_sniper
- name = "False Bottomed Briefcase with Compact Rifle"
- desc = "A modified briefcase capable of storing and firing a gun under a false bottom. Comes loaded with a powerful compact rifle and 3 rounds. Use a screwdriver to pry away the false bottom and make modifications. Distinguishable upon close examination due to the added weight."
- reference = "FBBC"
- item = /obj/item/storage/briefcase/false_bottomed/sniper
- cost = 11
+/datum/uplink_item/dangerous/sniper_compact //For when you really really hate that one guy.
+ name = "Compact Sniper Rifle"
+ desc = "A compact, unscoped version of the operative sniper rifle. Packs a powerful punch, but ammo is limited."
+ reference = "CSR"
+ item = /obj/item/gun/projectile/automatic/sniper_rifle/compact
+ cost = 16
+ surplus = 0
+ cant_discount = TRUE
+ excludefrom = list(/datum/game_mode/nuclear)
/datum/uplink_item/dangerous/crossbow
name = "Energy Crossbow"
@@ -889,6 +892,13 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 3
surplus = 10
+/datum/uplink_item/stealthy_weapons/false_briefcase
+ name = "False Bottomed Briefcase"
+ desc = "A modified briefcase capable of storing and firing a gun under a false bottom. Use a screwdriver to pry away the false bottom and make modifications. Distinguishable upon close examination due to the added weight."
+ reference = "FBBC"
+ item = /obj/item/storage/briefcase/false_bottomed
+ cost = 3
+
/datum/uplink_item/stealthy_weapons/soap
name = "Syndicate Soap"
desc = "A sinister-looking surfactant used to clean blood stains to hide murders and prevent DNA analysis. You can also drop it underfoot to slip people."
diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm
index b378354f0b2..ac191b5211f 100644
--- a/code/game/objects/items/weapons/storage/briefcase.dm
+++ b/code/game/objects/items/weapons/storage/briefcase.dm
@@ -95,10 +95,3 @@
max_w_class = initial(max_w_class)
else
return ..()
-
-/obj/item/storage/briefcase/false_bottomed/sniper
-
-/obj/item/storage/briefcase/false_bottomed/sniper/New()
- ..()
- var/obj/item/gun/projectile/automatic/sniper_rifle/compact/SNIPER = new
- stored_item = SNIPER
diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm
index 76157b4a95d..e030c9afb2a 100644
--- a/code/modules/projectiles/guns/projectile/sniper.dm
+++ b/code/modules/projectiles/guns/projectile/sniper.dm
@@ -178,7 +178,7 @@
name = "sniper rounds (compact)"
desc = "An extremely powerful round capable of inflicting massive damage on a target."
ammo_type = /obj/item/ammo_casing/compact
- max_ammo = 3
+ max_ammo = 4
/obj/item/ammo_casing/compact
desc = "A .50 caliber compact round casing."
From f550b19f8d83b3ee85eecc3da25658028e73086d Mon Sep 17 00:00:00 2001
From: AzuleUtama <44248086+AzuleUtama@users.noreply.github.com>
Date: Mon, 12 Aug 2019 19:04:21 +0100
Subject: [PATCH 5/6] conflicts and reviews
---
code/datums/uplink_item.dm | 1 +
.../objects/items/weapons/storage/briefcase.dm | 14 +++++++-------
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index df1f417305a..d4ad57ed855 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -1634,6 +1634,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
reference = "CIB"
item = /obj/item/storage/box/cyber_implants/bundle
cost = 40
+ gamemodes = list(/datum/game_mode/nuclear)
/datum/uplink_item/bundles_TC/medical
name = "Medical Bundle"
diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm
index ac191b5211f..28a1c45e27b 100644
--- a/code/game/objects/items/weapons/storage/briefcase.dm
+++ b/code/game/objects/items/weapons/storage/briefcase.dm
@@ -39,8 +39,8 @@
max_w_class = WEIGHT_CLASS_SMALL
max_combined_w_class = 10
- var/busy_hunting = 0
- var/bottom_open = 0 //is the false bottom open?
+ var/busy_hunting = FALSE
+ var/bottom_open = FALSE //is the false bottom open?
var/obj/item/stored_item = null //what's in the false bottom. If it's a gun, we can fire it
/obj/item/storage/briefcase/false_bottomed/Destroy()
@@ -57,18 +57,18 @@
return
/obj/item/storage/briefcase/false_bottomed/attackby(var/obj/item/item, mob/user)
- if(istype(item, /obj/item/screwdriver))
+ if(isscrewdriver(item))
if(!bottom_open && !busy_hunting)
to_chat(user, "You begin to hunt around the rim of \the [src]...")
- busy_hunting = 1
+ busy_hunting = TRUE
if(do_after(user, 20, target = src))
if(user)
to_chat(user, "You pry open the false bottom!")
- bottom_open = 1
- busy_hunting = 0
+ bottom_open = TRUE
+ busy_hunting = FALSE
else if(bottom_open)
to_chat(user, "You push the false bottom down and close it with a click[stored_item ? ", with \the [stored_item] snugly inside." : "."]")
- bottom_open = 0
+ bottom_open = FALSE
else if(bottom_open)
if(stored_item)
to_chat(user, "There's already something in the false bottom!")
From 30b526f40c727321cbe3207d65ba496a4f6174c0 Mon Sep 17 00:00:00 2001
From: AzuleUtama <44248086+AzuleUtama@users.noreply.github.com>
Date: Thu, 15 Aug 2019 19:17:24 +0100
Subject: [PATCH 6/6] Update briefcase.dm
---
.../items/weapons/storage/briefcase.dm | 41 ++++++++-----------
1 file changed, 16 insertions(+), 25 deletions(-)
diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm
index 28a1c45e27b..0a2a8bcfbbc 100644
--- a/code/game/objects/items/weapons/storage/briefcase.dm
+++ b/code/game/objects/items/weapons/storage/briefcase.dm
@@ -5,7 +5,7 @@
item_state = "briefcase"
flags = CONDUCT
hitsound = "swing_hit"
- force = 8.0
+ force = 8
throw_speed = 2
throw_range = 4
w_class = WEIGHT_CLASS_BULKY
@@ -29,13 +29,6 @@
new /obj/item/suppressor/specialoffer(src)
/obj/item/storage/briefcase/false_bottomed
- name = "briefcase"
- desc = "It's made of AUTHENTIC faux-leather and has a price-tag still attached. This one feels a bit heavier than normal for how much fits in it."
- icon_state = "briefcase"
- force = 8.0
- throw_speed = 1
- throw_range = 3
- w_class = WEIGHT_CLASS_BULKY
max_w_class = WEIGHT_CLASS_SMALL
max_combined_w_class = 10
@@ -45,21 +38,19 @@
/obj/item/storage/briefcase/false_bottomed/Destroy()
if(stored_item)//since the stored_item isn't in the briefcase' contents we gotta remind the game to delete it here.
- qdel(stored_item)
- stored_item = null
- ..()
+ QDEL_NULL(stored_item)
+ return ..()
/obj/item/storage/briefcase/false_bottomed/afterattack(atom/A, mob/user, flag, params)
..()
- if(stored_item && istype(stored_item, /obj/item/gun) && get_dist(A, user) > 1)
+ if(stored_item && istype(stored_item, /obj/item/gun) && !Adjacent(A))
var/obj/item/gun/stored_gun = stored_item
stored_gun.afterattack(A, user, flag, params)
- return
-/obj/item/storage/briefcase/false_bottomed/attackby(var/obj/item/item, mob/user)
- if(isscrewdriver(item))
+/obj/item/storage/briefcase/false_bottomed/attackby(var/obj/item/I, mob/user)
+ if(isscrewdriver(I))
if(!bottom_open && !busy_hunting)
- to_chat(user, "You begin to hunt around the rim of \the [src]...")
+ to_chat(user, "You begin to hunt around the rim of the [src]...")
busy_hunting = TRUE
if(do_after(user, 20, target = src))
if(user)
@@ -67,30 +58,30 @@
bottom_open = TRUE
busy_hunting = FALSE
else if(bottom_open)
- to_chat(user, "You push the false bottom down and close it with a click[stored_item ? ", with \the [stored_item] snugly inside." : "."]")
+ to_chat(user, "You push the false bottom down and close it with a click[stored_item ? ", with the [stored_item] snugly inside." : "."]")
bottom_open = FALSE
else if(bottom_open)
if(stored_item)
to_chat(user, "There's already something in the false bottom!")
return
- if(item.w_class > WEIGHT_CLASS_NORMAL)
- to_chat(user, "\The [item] is too big to fit in the false bottom!")
+ if(I.w_class > WEIGHT_CLASS_NORMAL)
+ to_chat(user, "The [I] is too big to fit in the false bottom!")
return
- if(!user.drop_item(item))
- user << "\The [item] is stuck to your hands!"
+ if(!user.drop_item(I))
+ user << "The [I] is stuck to your hands!"
return
- stored_item = item
+ stored_item = I
max_w_class = WEIGHT_CLASS_NORMAL - stored_item.w_class
- item.forceMove(null) //null space here we go - to stop it showing up in the briefcase
- to_chat(user, "You place \the [item] into the false bottom of the briefcase.")
+ I.forceMove(null) //null space here we go - to stop it showing up in the briefcase
+ to_chat(user, "You place the [I] into the false bottom of the briefcase.")
else
return ..()
/obj/item/storage/briefcase/false_bottomed/attack_hand(mob/user)
if(bottom_open && stored_item)
user.put_in_hands(stored_item)
- to_chat(user, "You pull out \the [stored_item] from \the [src]'s false bottom.")
+ to_chat(user, "You pull out the [stored_item] from the [src]'s false bottom.")
stored_item = null
max_w_class = initial(max_w_class)
else