mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-12 08:27:24 +01:00
Belt tweaks and Barrel Tank
-Bluespace Belt now stops working if directly dropped from a mob -Bluespace Belt messages added -Bluespace Belt design added to Nutritech Tools tech -Added Barrel Tank, a back slot item that receives chem that the wearer can ingest over time -Barrel tank crafting recipe added
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
//chug tank
|
||||
/obj/item/reagent_containers/barrel_tank
|
||||
name = "barrel tank"
|
||||
desc = "A wooden barrely with straps and a tube attached. One can only wonder what it's for."
|
||||
icon = 'GainStation13/icons/obj/barrel_tank.dmi'
|
||||
icon_state = "barrel_tank"
|
||||
item_state = "barrel_tank"
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = ITEM_SLOT_BACK
|
||||
reagent_flags = REFILLABLE | TRANSPARENT
|
||||
actions_types = list(/datum/action/item_action/toggle_tube)
|
||||
|
||||
var/mob/living/carbon/U = null
|
||||
|
||||
amount_per_transfer_from_this = 0
|
||||
possible_transfer_amounts = list(0)
|
||||
volume = 500
|
||||
spillable = FALSE
|
||||
splashable = FALSE
|
||||
|
||||
/obj/item/reagent_containers/barrel_tank/ui_action_click(mob/user)
|
||||
toggle_tube(user)
|
||||
|
||||
/obj/item/reagent_containers/barrel_tank/proc/toggle_tube(mob/living/user)
|
||||
if(!istype(user))
|
||||
return
|
||||
if(user.get_item_by_slot(user.getBackSlot()) != src)
|
||||
to_chat(user, "<span class='warning'>The barrel must be worn properly to use!</span>")
|
||||
return
|
||||
if(user.incapacitated())
|
||||
return
|
||||
|
||||
if(!U)
|
||||
to_chat(user, "<span class='notice'>You put the barrel's tube in your mouth.</span>")
|
||||
U = user
|
||||
START_PROCESSING(SSobj, src)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You remove the barrel's tube from your mouth.</span>")
|
||||
U = null
|
||||
|
||||
/obj/item/reagent_containers/barrel_tank/verb/toggle_tube_verb()
|
||||
set name = "Toggle Tube"
|
||||
set category = "Object"
|
||||
toggle_tube(usr)
|
||||
|
||||
/obj/item/reagent_containers/barrel_tank/equipped(mob/user, slot)
|
||||
..()
|
||||
if(slot != SLOT_BACK && U != null)
|
||||
to_chat(user, "<span class='warning'>The barrel's tube slips out of your mouth!</span>")
|
||||
U = null
|
||||
|
||||
/obj/item/reagent_containers/barrel_tank/dropped(mob/user)
|
||||
..()
|
||||
U = null
|
||||
|
||||
/obj/item/reagent_containers/barrel_tank/process()
|
||||
if(U == null)
|
||||
return PROCESS_KILL
|
||||
|
||||
if(reagents.total_volume)
|
||||
var/fraction = min(1/reagents.total_volume, 1)
|
||||
reagents.reaction(U, INGEST, fraction, FALSE)
|
||||
reagents.trans_to(U, 1, 2)
|
||||
else
|
||||
to_chat(U, "<span class='warning'>The barrel is empty!</span>")
|
||||
U = null
|
||||
|
||||
/obj/item/reagent_containers/barrel_tank/attack_self(mob/user)
|
||||
if(reagents.total_volume > 0)
|
||||
to_chat(user, "<span class='notice'>You empty [src] of all reagents.</span>")
|
||||
reagents.clear_reagents()
|
||||
|
||||
/datum/crafting_recipe/barrel_tank
|
||||
name = "Barrel tank"
|
||||
result = /obj/item/reagent_containers/barrel_tank
|
||||
time = 25
|
||||
tools = list(TOOL_CROWBAR)
|
||||
reqs = list(/obj/item/stack/sheet/mineral/wood = 20)
|
||||
always_availible = TRUE
|
||||
category = CAT_CLOTHING
|
||||
@@ -44,3 +44,13 @@
|
||||
category = list("Misc", "Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
/datum/design/bluespace_belt
|
||||
name = "Bluespace Belt"
|
||||
desc = "A belt made using bluespace technology. The power of space and time, used to hide the fact you are fat."
|
||||
id = "bluespace_belt"
|
||||
build_type = PROTOLATHE
|
||||
construction_time = 100
|
||||
materials = list(MAT_SILVER = 4000, MAT_GOLD = 4000, MAT_BLUESPACE = 2000)
|
||||
build_path = /obj/item/bluespace_belt
|
||||
category = list("Misc", "Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
display_name = "Nutri-Tech Tools"
|
||||
description = "Ending world hunger was never made easier!"
|
||||
prereq_ids = list("biotech", "adv_engi") // add "engineering" if the designs get complicated later on
|
||||
design_ids = list("calorite_collar", "ci-nutrimentturbo")
|
||||
design_ids = list("calorite_collar", "ci-nutrimentturbo", "bluespace_belt")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
boost_item_paths = list(/obj/item/gun/energy/fatoray, /obj/item/gun/energy/fatoray/cannon, /obj/item/trash/fatoray_scrap1, /obj/item/trash/fatoray_scrap2)
|
||||
export_price = 5000
|
||||
|
||||
@@ -13,6 +13,14 @@
|
||||
..()
|
||||
var/mob/living/carbon/U = user
|
||||
if(slot == SLOT_BELT)
|
||||
to_chat(user, "<span class='notice'>You put the belt around your waist and your mass begins to shrink...</span>")
|
||||
U.fat_hide(0)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The belt is opened, letting your mass flow out!</span>")
|
||||
U.fat_show()
|
||||
|
||||
/obj/item/bluespace_belt/dropped(mob/user)
|
||||
..()
|
||||
to_chat(user, "<span class='warning'>The belt is opened, letting your mass flow out!</span>")
|
||||
var/mob/living/carbon/U = user
|
||||
U.fat_show()
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 385 B |
@@ -761,3 +761,6 @@
|
||||
target.layer = old_layer
|
||||
target.plane = old_plane
|
||||
current_button.appearance_cache = target.appearance
|
||||
|
||||
/datum/action/item_action/toggle_tube //GS13
|
||||
name = "Toggle Tube"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 99 KiB |
@@ -3100,6 +3100,7 @@
|
||||
#include "GainStation13\code\modules\reagents\chemistry\recipes\fatchem.dm"
|
||||
#include "GainStation13\code\modules\reagents\chemistry\recipes\fatdrinks.dm"
|
||||
#include "GainStation13\code\modules\reagents\chemistry\recipes\ROCKANDSTONEdrinks.dm"
|
||||
#include "GainStation13\code\modules\reagents\reagent_containers\barrel_tank.dm"
|
||||
#include "GainStation13\code\modules\research\designs\nutri_designs.dm"
|
||||
#include "GainStation13\code\modules\research\techweb\nutritech_nodes.dm"
|
||||
#include "GainStation13\code\modules\surgery\organs\augments.dm"
|
||||
|
||||
Reference in New Issue
Block a user