mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-02-09 16:18:54 +00:00
Ports VG false bottomed briefcase + compact sniper changes
This commit is contained in:
@@ -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, \
|
||||
|
||||
@@ -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)
|
||||
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, "<span class='warning'>There's already something in the false bottom!</span>")
|
||||
return
|
||||
if(item.w_class > WEIGHT_CLASS_NORMAL)
|
||||
to_chat(user, "<span class='warning'>\The [item] is too big to fit in the false bottom!</span>")
|
||||
return
|
||||
if(!user.drop_item(item))
|
||||
user << "<span class='warning'>\The [item] is stuck to your hands!</span>"
|
||||
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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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."
|
||||
|
||||
Reference in New Issue
Block a user