see commits

---------

Co-authored-by: silicons <no@you.cat>
This commit is contained in:
silicons
2023-10-30 17:23:16 -07:00
committed by GitHub
co-authored by silicons
parent 7989e028f2
commit 9fe3589e93
23 changed files with 70 additions and 84 deletions
+1
View File
@@ -495,6 +495,7 @@
adding = clamp(amount, 0, queue_max_entry - last.amount)
last.amount += adding
amount -= adding
reconsider_queue(start_immediately)
ui_controller?.ui_queue_update()
if(!amount)
return TRUE
+1 -1
View File
@@ -75,7 +75,7 @@
/obj/item/mecha_parts/mecha_equipment/tool/passenger/attach()
..()
if (chassis)
add_obj_verb(chassis, TYPE_PROC_REF(/obj/mecha, move_inside_passenger))
add_obj_verb(chassis, /obj/mecha/proc/move_inside_passenger)
/obj/item/mecha_parts/mecha_equipment/tool/passenger/detach()
if(occupant)
+8 -2
View File
@@ -11,6 +11,8 @@
var/max_amount = 50
/// Determines whether different stack types can merge.
var/stacktype
/// enforce a certain type when splitting; useful if you have an infinite stack you don't want to be split into another one
var/split_type
/// Used when directly applied to a turf.
var/build_type = null
var/uses_charge = 0
@@ -209,6 +211,7 @@
return 0
/// Creates a new stack with the specified amount.
// todo: refactor and combine /change_stack into here
/obj/item/stack/proc/split(tamount)
if (!amount)
return null
@@ -219,7 +222,8 @@
var/orig_amount = src.amount
if (transfer && src.use(transfer))
var/obj/item/stack/newstack = new src.type(loc, transfer, FALSE)
var/make_type = isnull(split_type)? type : split_type
var/obj/item/stack/newstack = new make_type(loc, transfer, FALSE)
newstack.color = color
if (prob(transfer/orig_amount * 100))
transfer_fingerprints_to(newstack)
@@ -332,10 +336,12 @@
to_chat(user, SPAN_NOTICE("You take [stackmaterial] sheets out of the stack"))
return TRUE
// todo: refactor and combine with /split
/obj/item/stack/proc/change_stack(mob/user, amount)
if(!use(amount, TRUE, FALSE))
return FALSE
var/obj/item/stack/F = new type(user? user : drop_location(), amount, FALSE)
var/make_type = isnull(split_type)? type : split_type
var/obj/item/stack/F = new make_type(user? user : drop_location(), amount, FALSE)
. = F
F.copy_evidences(src)
if(user)
@@ -133,7 +133,6 @@
icon_state = "knuckledusters"
materials = list(MAT_STEEL = 500)
attack_verb = list("punched", "beaten", "struck")
clothing_flags = CLOTHING_THICK_MATERIAL
siemens_coefficient = 1
fingerprint_chance = 100
overgloves = 1
+1 -1
View File
@@ -2,7 +2,7 @@
name = "helmet"
desc = "Standard headgear. Protects well enough against a wide range of attacks."
icon_state = "helmet"
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
valid_accessory_slots = ACCESSORY_SLOT_HELM_C|ACCESSORY_SLOT_HELM_R
restricted_accessory_slots = ACCESSORY_SLOT_HELM_C|ACCESSORY_SLOT_HELM_R
armor_type = /datum/armor/station/medium
+6 -6
View File
@@ -130,7 +130,7 @@
name = "explorer hood"
desc = "An armoured hood for exploring harsh environments."
icon_state = "explorer"
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
siemens_coefficient = 0.9
armor_type = /datum/armor/exploration/soft
@@ -140,7 +140,7 @@
desc = "An armoured hood for mining in harsh environments."
icon = 'icons/clothing/suit/mining.dmi'
icon_state = "minehood"
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
worn_render_flags = WORN_RENDER_SLOT_ONE_FOR_ALL
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
siemens_coefficient = 0.9
@@ -152,7 +152,7 @@
desc = "A baggy hood smeared with some kind of waxy substance. Up close, what appeared to be burlap is revealed to actually be tanned skin."
icon = 'icons/clothing/suit/antag/heretic.dmi'
icon_state = "eldritchhood"
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
siemens_coefficient = 0.9
armor_type = /datum/armor/lavaland/eldritch
worn_render_flags = WORN_RENDER_SLOT_ONE_FOR_ALL
@@ -236,7 +236,7 @@
icon = 'icons/obj/clothing/spacesuits.dmi'
icon_state = "deathsquad"
armor_type = /datum/armor/station/heavy
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
inv_hide_flags = BLOCKHAIR
siemens_coefficient = 0.7
@@ -247,7 +247,7 @@
icon_state = "helmet"
valid_accessory_slots = (ACCESSORY_SLOT_HELM_C)
restricted_accessory_slots = (ACCESSORY_SLOT_HELM_C)
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
armor_type = /datum/armor/station/medium
siemens_coefficient = 0.7
@@ -258,7 +258,7 @@
icon_state = "helmet"
valid_accessory_slots = (ACCESSORY_SLOT_HELM_C)
restricted_accessory_slots = (ACCESSORY_SLOT_HELM_C)
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
armor_type = /datum/armor/station/medium
siemens_coefficient = 0.7
starting_accessories = list(/obj/item/clothing/accessory/armor/helmcover/navy)
+1 -1
View File
@@ -5,7 +5,7 @@
desc = "Standard pilot gear. Protects the head from impacts."
icon_state = "pilot_helmet1"
item_icons = list(SLOT_ID_HEAD = 'icons/mob/clothing/pilot_helmet.dmi')
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
armor_type = /datum/armor/exploration/space/pilot
inv_hide_flags = HIDEEARS
cold_protection = HEAD
+2 -2
View File
@@ -32,7 +32,7 @@
/obj/item/clothing/suit/space/vox
w_class = ITEMSIZE_NORMAL
atom_flags = PHORONGUARD
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/melee/energy/sword,/obj/item/handcuffs,/obj/item/tank)
armor_type = /datum/armor/vox/space/armored
siemens_coefficient = 0.2
@@ -44,7 +44,7 @@
armor_type = /datum/armor/vox/space/armored
siemens_coefficient = 0.2
atom_flags = PHORONGUARD
clothing_flags = CLOTHING_THICK_MATERIAL | ALLOWINTERNALS
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOWINTERNALS
inv_hide_flags = 0
species_restricted = list(SPECIES_VOX)
@@ -42,7 +42,7 @@
icon_state = "deathsquad"
item_state_slots = list(SLOT_ID_RIGHT_HAND = "syndicate-helm-black-red", SLOT_ID_LEFT_HAND = "syndicate-helm-black-red")
armor_type = /datum/armor/centcom/deathsquad
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
inv_hide_flags = BLOCKHAIR
siemens_coefficient = 0.6
@@ -7,7 +7,7 @@
icon_state = "space"
desc = "A special helmet designed for work in a hazardous, low-pressure environment."
atom_flags = PHORONGUARD
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOWINTERNALS | ALLOW_SURVIVALFOOD
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_INJECTION_PORT | ALLOWINTERNALS | ALLOW_SURVIVALFOOD
permeability_coefficient = 0.01
armor_type = /datum/armor/general/space
inv_hide_flags = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR
@@ -23,7 +23,7 @@
valid_accessory_slots = null
weight = ITEM_WEIGHT_SOFTSUIT_HELMET
encumbrance = ITEM_ENCUMBRANCE_SOFTSUIT_HELMET
var/obj/machinery/camera/camera
var/list/camera_networks
@@ -72,7 +72,7 @@
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.02
atom_flags = PHORONGUARD
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_INJECTION_PORT
body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
allowed = list(/obj/item/flashlight,/obj/item/tank/emergency/oxygen,/obj/item/suit_cooling_unit)
armor_type = /datum/armor/general/space
+3 -3
View File
@@ -1,7 +1,7 @@
/obj/item/clothing/suit/armor
allowed = list(/obj/item/gun/ballistic/sec/flash, /obj/item/gun/energy,/obj/item/reagent_containers/spray/pepper,/obj/item/gun/ballistic,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/flashlight/maglight,/obj/item/clothing/head/helmet)
body_cover_flags = UPPER_TORSO|LOWER_TORSO
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
valid_accessory_slots = (\
ACCESSORY_SLOT_OVER\
|ACCESSORY_SLOT_MEDAL\
@@ -140,7 +140,7 @@
item_state_slots = list(SLOT_ID_RIGHT_HAND = "swat", SLOT_ID_LEFT_HAND = "swat")
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS
allowed = list(/obj/item/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/tank/emergency/oxygen,/obj/item/clothing/head/helmet)
encumbrance = ITEM_ENCUMBRANCE_ARMOR_HEAVY + ITEM_ENCUMBRANCE_ARMOR_HEAVY_BOOTS + ITEM_ENCUMBRANCE_ARMOR_HEAVY_GLOVES
@@ -309,7 +309,7 @@
allowed = list(/obj/item/gun,/obj/item/reagent_containers/spray/pepper,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/melee/baton,/obj/item/handcuffs,/obj/item/flashlight/maglight,/obj/item/clothing/head/helmet)
body_cover_flags = UPPER_TORSO|LOWER_TORSO
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
cold_protection = UPPER_TORSO|LOWER_TORSO
min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECTION_TEMPERATURE
+4 -4
View File
@@ -9,7 +9,7 @@
body_cover_flags = HEAD|FACE|EYES
siemens_coefficient = 0.9
atom_flags = PHORONGUARD
clothing_flags = CLOTHING_THICK_MATERIAL | ALLOW_SURVIVALFOOD
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOW_SURVIVALFOOD
encumbrance
/obj/item/clothing/suit/bio_suit
@@ -26,7 +26,7 @@
inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
siemens_coefficient = 0.9
atom_flags = PHORONGUARD
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
//Standard biosuit, orange stripe
/obj/item/clothing/head/bio_hood/general
@@ -104,7 +104,7 @@
body_cover_flags = HEAD|FACE|EYES
siemens_coefficient = 0.9
atom_flags = PHORONGUARD
clothing_flags = CLOTHING_THICK_MATERIAL | ALLOW_SURVIVALFOOD
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOW_SURVIVALFOOD
/obj/item/clothing/suit/beekeeper
name = "beekeeping suit"
@@ -120,4 +120,4 @@
inv_hide_flags = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
siemens_coefficient = 0.9
atom_flags = PHORONGUARD
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
+3 -3
View File
@@ -430,7 +430,7 @@
icon_state = "explorer"
item_state = "explorer"
atom_flags = PHORONGUARD
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
@@ -456,7 +456,7 @@
icon_state = "miner"
atom_flags = PHORONGUARD
worn_render_flags = WORN_RENDER_SLOT_ONE_FOR_ALL
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
@@ -483,7 +483,7 @@
desc = "A billowing garment that seeps a thick, waxy substance. Upon closer inspection this outfit is crafted out of tanned skin, the ritual icons and spells drawn onto it having been tattooed before removal."
icon = 'icons/clothing/suit/antag/heretic.dmi'
icon_state = "eldritcharmor"
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
inv_hide_flags = HIDEHOLSTER
item_state_slots = list(SLOT_ID_RIGHT_HAND = "brown_jacket", SLOT_ID_LEFT_HAND = "brown_jacket")
action_button_name = "Toggle Eldritch Hood"
@@ -286,6 +286,8 @@
var/resist_time = 4 MINUTES
/obj/item/clothing/suit/straight_jacket/can_unequip(mob/M, slot, mob/user, flags)
if(flags & INV_OP_FORCE)
return TRUE
if(flags & INV_OP_DISALLOW_DELAY)
return FALSE
. = ..()
+2 -2
View File
@@ -78,7 +78,7 @@
icon_state = "rad"
desc = "A hood with radiation protective properties. Label: Made with lead, do not eat insulation"
inv_hide_flags = BLOCKHAIR
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
body_cover_flags = HEAD|FACE|EYES
armor_type = /datum/armor/general/radsuit
weight = ITEM_WEIGHT_ARMOR_BIORAD_SUIT_HELMET
@@ -96,5 +96,5 @@
weight = ITEM_WEIGHT_ARMOR_BIORAD_SUIT
armor_type = /datum/armor/general/radsuit
inv_hide_flags = HIDEJUMPSUIT|HIDETAIL|HIDETIE|HIDEHOLSTER
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
encumbrance = ITEM_ENCUMBRANCE_ARMOR_BIORAD_SUIT
+6 -6
View File
@@ -5,7 +5,7 @@
/obj/item/clothing/head/helmet/space/hardsuit
name = "helmet"
atom_flags = PHORONGUARD
clothing_flags = CLOTHING_THICK_MATERIAL | ALLOW_SURVIVALFOOD | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB | ALLOWINTERNALS
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOW_SURVIVALFOOD | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB | ALLOWINTERNALS
inv_hide_flags = HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR
body_cover_flags = HEAD|FACE|EYES
heat_protection = HEAD|FACE|EYES
@@ -48,7 +48,7 @@
/obj/item/clothing/gloves/gauntlets/hardsuit
name = "gauntlets"
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
atom_flags = PHORONGUARD
body_cover_flags = HANDS
heat_protection = HANDS
@@ -131,7 +131,7 @@
//Flags
body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
atom_flags = PHORONGUARD
inv_hide_flags = HIDEJUMPSUIT|HIDETAIL
@@ -229,7 +229,7 @@
/obj/item/clothing/head/lightrig
name = "mask"
clothing_flags = CLOTHING_THICK_MATERIAL | ALLOWINTERNALS | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOWINTERNALS | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
atom_flags = PHORONGUARD
body_cover_flags = HEAD|FACE|EYES
heat_protection = HEAD|FACE|EYES
@@ -239,7 +239,7 @@
name = "suit"
allowed = list(/obj/item/flashlight)
inv_hide_flags = HIDEJUMPSUIT
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
atom_flags = PHORONGUARD
body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
@@ -256,7 +256,7 @@
/obj/item/clothing/gloves/gauntlets/lightrig
name = "gloves"
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
atom_flags = PHORONGUARD
species_restricted = null
body_cover_flags = HANDS
+1 -1
View File
@@ -16,7 +16,7 @@
emp_protection = 10
encumbrance = ITEM_ENCUMBRANCE_LEGACY_RIG_LIGHT
offline_encumbrance = ITEM_ENCUMBRANCE_LEGACY_RIG_LIGHT * 2
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
offline_vision_restriction = 0
chest_type = /obj/item/clothing/suit/space/hardsuit/light
+1 -1
View File
@@ -5,7 +5,7 @@
icon_state = "vox_rig"
armor_type = /datum/armor/hardsuit/vox
atom_flags = PHORONGUARD
clothing_flags = CLOTHING_THICK_MATERIAL
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT
siemens_coefficient = 0.2
allowed = list(
/obj/item/gun,
@@ -25,8 +25,8 @@
desc = "A Roboticist maintains and repairs the station's synthetics, including crew with prosthetic limbs. \
They can also assist the station by producing simple robots and even pilotable exosuits."
alt_titles = list(
"Biomechanical Technician" = /datum/prototype/struct/alt_title/biomech,
"Mechatronic Technician" = /datum/prototype/struct/alt_title/mech_tech,
"Biomechanical Engineer" = /datum/prototype/struct/alt_title/biomech,
"Mechatronic Engineer" = /datum/prototype/struct/alt_title/mech_tech,
"Artificer-Biotechnicist" = /datum/prototype/struct/alt_title/artificer_biotechnicist
)
+3 -3
View File
@@ -34,15 +34,15 @@
access = ACCESS_ENGINEERING_MAIN
cost = 250
p_drain = 0.025
var/datum/nano_module/alarm_monitor/engineering/arscreen
var/datum/tgui_module_old/alarm_monitor/engineering/nif/arscreen
/datum/nifsoft/alarmmonitor/New()
..()
arscreen = new(nif)
/datum/nifsoft/alarmmonitor/Destroy()
QDEL_NULL(arscreen)
return ..()
QDEL_NULL(arscreen)
return ..()
/datum/nifsoft/alarmmonitor/activate()
if((. = ..()))
+2 -25
View File
@@ -975,6 +975,7 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list(
slot_flags = SLOT_BELT
attack_verb = list("whipped", "lashed", "disciplined", "flogged")
stacktype = null
split_type = /obj/item/stack/cable_coil
tool_speed = 0.25
/obj/item/stack/cable_coil/alien/Initialize(mapload, new_amount, merge, param_color)
@@ -994,34 +995,10 @@ GLOBAL_LIST_INIT(possible_cable_coil_colours, list(
return 1
/obj/item/stack/cable_coil/alien/use() //It's endless
return 1
return TRUE
/obj/item/stack/cable_coil/alien/add() //Still endless
return 0
/obj/item/stack/cable_coil/alien/update_wclass()
return 0
/obj/item/stack/cable_coil/alien/split(tamount)
return null // no split
/obj/item/stack/cable_coil/alien/attack_hand(mob/user, list/params)
if (user.get_inactive_held_item() == src)
var/N = input("How many units of wire do you want to take from [src]? You can only take up to [amount] at a time.", "Split stacks", 1) as num|null
if(N && N <= amount)
var/obj/item/stack/cable_coil/CC = new/obj/item/stack/cable_coil(user.loc)
CC.amount = N
CC.update_icon()
to_chat(user,"<font color=#4F49AF>You take [N] units of wire from the [src].</font>")
if (CC)
user.put_in_hands(CC)
src.add_fingerprint(user)
CC.add_fingerprint(user)
spawn(0)
if (src && usr.machine==src)
src.interact(usr)
else
return
else
..()
return
+9 -9
View File
@@ -158,27 +158,27 @@
block_flags |= (I.clothing_flags & (CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT))
// got all coverage, proceed.
var/delay = injection_time
if(block_flags & CLOTHING_THICK_MATERIAL)
if(block_flags & CLOTHING_INJECTION_PORT)
if(isnull(thick_add_time))
user.action_feedback(SPAN_WARNING("[src] is not compatible with injection ports!"), src)
return FALSE
delay += port_add_time
// todo: 'friendly name' so limbs can stay concealed of their true names while under clothing?
inject_message = SPAN_NOTICE("[user] starts to search for an injection port on [target]'s [limb.name].")
else if(block_flags & CLOTHING_THICK_MATERIAL)
if(isnull(thick_add_time))
user.action_feedback(SPAN_WARNING("[src] can't [inject_verb] through something that thick!"), src)
return FALSE
delay += thick_add_time
// todo: 'friendly name' so limbs can stay concealed of their true names while under clothing?
inject_message = SPAN_WARNING("[user] starts to dig [src] up against [target]'s [limb]!")
else if(block_flags & CLOTHING_INJECTION_PORT)
if(isnull(thick_add_time))
user.action_feedback(SPAN_WARNING("[src] is not compatible with injection ports!"), src)
return FALSE
delay += port_add_time
// todo: 'friendly name' so limbs can stay concealed of their true names while under clothing?
inject_message = SPAN_NOTICE("[user] starts to search for an injection port on [target]'s [limb].")
if(target.a_intent != INTENT_HELP)
if(isnull(resist_add_time))
user.action_feedback(SPAN_WARNING("[src] is not capable of aligning while [target] is resisting! (Non-help intent)"), src)
return FALSE
delay += resist_add_time
// todo: 'friendly name' so limbs can stay concealed of their true names while under clothing?
inject_message = SPAN_WARNING("[user] starts to intrusively align [src] up against [target]'s [limb]!")
inject_message = SPAN_WARNING("[user] starts to intrusively align [src] up against [target]'s [limb.name]!")
if(!silent)
user.visible_action_feedback(
target = target,
@@ -100,13 +100,14 @@ export const MaterialRender = (props: MaterialRenderProps, context) => {
<Stack.Item key={id}>
<Stack vertical align="center">
<Stack.Item>
<Sprite
sheet={MATERIAL_SPRITESHEET_NAME}
sizeKey={MATERIAL_SPRITESHEET_SIZEKEY}
style={{ transform: `scale(${scale})` }}
prefix="stack"
sprite={props.materialContext.materials[id].iconKey} />
<Tooltip position="bottom" content={`${toTitleCase(props.materialContext.materials[id].name)}`} />
<Tooltip position="bottom" content={`${toTitleCase(props.materialContext.materials[id].name)}`}>
<Sprite
sheet={MATERIAL_SPRITESHEET_NAME}
sizeKey={MATERIAL_SPRITESHEET_SIZEKEY}
style={{ transform: `scale(${scale})` }}
prefix="stack"
sprite={props.materialContext.materials[id].iconKey} />
</Tooltip>
</Stack.Item>
<Stack.Item>
{renderMaterialAmount(amt)}