Skip to content

Commit

Permalink
Item size tweaks (and bonus medipen resprite) (shiptest-ss13#3509)
Browse files Browse the repository at this point in the history
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
Tweaks various item sizes (basically off of vibes) in order to make them
more reasonable and in line with volumetric storage.


![image](https://github.com/user-attachments/assets/edf28cf6-482e-4390-bd4f-7243d84de677)


Also resprites medipens. They're pretty cool. Design inspired by
infrared_baron.
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Changelog

:cl:
add: Allows hand radios to be held on your neck slot
balance: Adjusted the item size of various guns and misc objects, see pr
shiptest-ss13#3509 for more info
imageadd: Overhauled the look of autoinjectors
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
  • Loading branch information
thgvr authored Dec 3, 2024
1 parent bae2a8b commit 0f1d35c
Show file tree
Hide file tree
Showing 32 changed files with 78 additions and 77 deletions.
2 changes: 1 addition & 1 deletion code/game/objects/items/RCD.dm
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,7 @@ RLD
icon = 'icons/obj/ammunition/ammo.dmi'
icon_state = "rcd"
item_state = "rcdammo"
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_NORMAL
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
custom_materials = list(/datum/material/iron=12000, /datum/material/glass=8000)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/PDA/PDA.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ GLOBAL_LIST_EMPTY(PDAs)
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi'
item_flags = NOBLUDGEON
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT
actions_types = list(/datum/action/item_action/toggle_light)
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
desc = "An all-in-one circuit imprinter, designer, synthesizer, outfitter, creator, and chef. It can be used in place of any generic circuit board during construction."
icon = 'icons/obj/module.dmi'
icon_state = "boris"
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL
custom_materials = list(/datum/material/iron = 50, /datum/material/glass = 300)
var/recharging = FALSE
var/circuits = 5 //How many circuits the pseudocircuit has left
Expand Down
1 change: 1 addition & 0 deletions code/game/objects/items/devices/flashlight.dm
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@
icon_state = "penlight"
item_state = ""
flags_1 = CONDUCT_1
w_class = WEIGHT_CLASS_TINY
light_range = 2
light_color = "#FFDDCC"
light_power = 0.3
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/polycircuit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
desc = "A dense, overdesigned cluster of electronics which attempted to function as a multipurpose circuit electronic. Circuits can be removed from it... if you don't bleed out in the process."
icon_state = "circuit_mess"
item_state = "rods"
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_NORMAL
max_amount = 8
var/circuit_type = /obj/item/electronics/airlock
var/chosen_circuit = "airlock"
Expand Down
66 changes: 43 additions & 23 deletions code/game/objects/items/devices/radio/radio.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,34 +16,54 @@
throw_speed = 3
throw_range = 7
w_class = WEIGHT_CLASS_SMALL
custom_materials = list(/datum/material/iron=75, /datum/material/glass=25)
custom_materials = list(/datum/material/iron = 75, /datum/material/glass = 25)
slot_flags = ITEM_SLOT_NECK //Allows to be worn on neck so it's not eating pocket slots.
obj_flags = USES_TGUI

var/on = TRUE
var/frequency = FREQ_COMMON
var/canhear_range = 3 // The range around the radio in which mobs can hear what it receives.
var/emped = 0 // Tracks the number of EMPs currently stacked.
var/headset = FALSE // It can be used for hotkeys
var/last_chatter_time // The time since we last played a radio chatter sound. (WS edit - Radio Chatter #434)

var/broadcasting = FALSE // Whether the radio will transmit dialogue it hears nearby.
var/listening = FALSE // Whether the radio is currently receiving.
var/prison_radio = FALSE // If true, the transmit wire starts cut.
var/unscrewed = FALSE // Whether wires are accessible. Toggleable by screwdrivering.
var/freerange = FALSE // If true, the radio has access to the full spectrum.
var/subspace_transmission = FALSE // If true, the radio transmits and receives on subspace exclusively.
var/subspace_switchable = FALSE // If true, subspace_transmission can be toggled at will.
var/freqlock = FALSE // Frequency lock to stop the user from untuning specialist radios.
var/use_command = FALSE // If true, broadcasts will be large and BOLD.
var/command = FALSE // If true, use_command can be toggled at will.
var/log = FALSE // If true, the UI will display the voice log for the frequency
var/list/loglist = list() //the voice log

// Encryption key handling
///The range around the radio in which mobs can hear what it receives.
var/canhear_range = 3
///Tracks the number of EMPs currently stacked.
var/emped = 0
///It can be used for hotkeys
var/headset = FALSE
///The time since we last played a radio chatter sound.
var/last_chatter_time

///Whether the radio will transmit dialogue it hears nearby.
var/broadcasting = FALSE
///Whether the radio is currently receiving.
var/listening = FALSE
///If true, the transmit wire starts cut.
var/prison_radio = FALSE
///Whether wires are accessible. Toggleable by screwdrivering.
var/unscrewed = FALSE
///If true, the radio has access to the full spectrum.
var/freerange = FALSE
///If true, the radio transmits and receives on subspace exclusively.
var/subspace_transmission = FALSE
///If true, subspace_transmission can be toggled at will.
var/subspace_switchable = FALSE
///Frequency lock to stop the user from untuning specialist radios.
var/freqlock = FALSE
///If true, broadcasts will be large and BOLD.
var/use_command = FALSE
///If true, use_command can be toggled at will.
var/command = FALSE
///If true, the UI will display the voice log for the frequency
var/log = FALSE
///the voice log
var/list/loglist = list()

///Encryption key handling
var/obj/item/encryptionkey/keyslot
var/translate_binary = FALSE // If true, can hear the special binary channel.
var/independent = FALSE // If true, can say/hear on the special CentCom channel.
var/list/channels = list() // Map from name (see communications.dm) to on/off. First entry is current department (:h)
///If true, can hear the special binary channel.
var/translate_binary = FALSE
///If true, can say/hear on the special CentCom channel.
var/independent = FALSE
///Map from name (see communications.dm) to on/off. First entry is current department (:h)
var/list/channels = list()
var/list/secure_radio_connections

var/const/FREQ_LISTENING = 1
Expand Down
4 changes: 2 additions & 2 deletions code/game/objects/items/devices/scanners.dm
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ GENE SCANNER
item_flags = NOBLUDGEON
slot_flags = ITEM_SLOT_BELT
throwforce = 3
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL
throw_speed = 3
throw_range = 7
custom_materials = list(/datum/material/iron=200)
Expand Down Expand Up @@ -802,7 +802,7 @@ GENE SCANNER
item_flags = NOBLUDGEON
slot_flags = ITEM_SLOT_BELT
throwforce = 3
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL
throw_speed = 3
throw_range = 7
custom_materials = list(/datum/material/iron=200)
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/taperecorder.dm
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@
item_state = "analyzer"
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL
custom_materials = list(/datum/material/iron=20, /datum/material/glass=5)
force = 1
throwforce = 0
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/documents.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
icon_state = "docs_generic"
item_state = "paper"
throwforce = 0
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_NORMAL
throw_range = 1
throw_speed = 1
layer = MOB_LAYER
Expand Down
8 changes: 4 additions & 4 deletions code/game/objects/items/stacks/medical.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
icon = 'icons/obj/stack_objects.dmi'
amount = 6
max_amount = 6
w_class = WEIGHT_CLASS_TINY
full_w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL
full_w_class = WEIGHT_CLASS_SMALL
throw_speed = 3
throw_range = 7
resistance_flags = FLAMMABLE
max_integrity = 40
novariants = FALSE
item_flags = NOBLUDGEON
var/splint_fracture = FALSE //WS Edit- Splints
var/failure_chance //WS Edit - Failure chance
var/splint_fracture = FALSE
var/failure_chance
var/self_delay = 50
var/other_delay = 0
var/repeating = FALSE
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/stacks/sheets/mineral.dm
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \
name = "empty sandbag"
desc = "A bag to be filled with sand."
icon_state = "sandbag"
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL

/obj/item/emptysandbag/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/stack/ore/glass))
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/storage/firstaid.dm
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
return
var/static/items_inside = list(
/obj/item/healthanalyzer = 1,
/obj/item/stack/medical/gauze = 1,
/obj/item/stack/medical/gauze/twelve = 1,
/obj/item/stack/medical/suture = 2,
/obj/item/stack/medical/mesh = 2,
/obj/item/reagent_containers/hypospray/medipen = 1,
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/toys.dm
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@
desc = "Make sure to recyle the box in an autolathe when it gets empty."
icon = 'icons/obj/ammunition/ammo.dmi'
icon_state = "357OLD-7"
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_NORMAL
custom_materials = list(/datum/material/iron=10, /datum/material/glass=10)
var/amount_left = 7

Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/structures/bedsheet_bin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ LINEN BINS
throwforce = 0
throw_speed = 1
throw_range = 2
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL
resistance_flags = FLAMMABLE
dying_key = DYE_REGISTRY_BEDSHEET
greyscale_icon_state = "bedsheet"
Expand Down
1 change: 0 additions & 1 deletion code/game/objects/structures/watercloset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,6 @@
exposed = !exposed
return TRUE


/obj/item/reagent_containers/food/snacks/urinalcake
name = "urinal cake"
desc = "The noble urinal cake, protecting the people's pipes from the people's pee. Edibility is suggested to be low."
Expand Down
2 changes: 1 addition & 1 deletion code/modules/assembly/flash.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi'
throwforce = 0
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL
custom_materials = list(/datum/material/iron = 300, /datum/material/glass = 300)
light_system = MOVABLE_LIGHT //Used as a flash here.
light_range = FLASH_LIGHT_RANGE
Expand Down
5 changes: 2 additions & 3 deletions code/modules/fishing/aquarium/aquarium_kit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
desc = "Autogenerates nutritious fish feed based on sample inside."
icon = 'icons/obj/aquarium.dmi'
icon_state = "fish_feed"
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL

/obj/item/fish_feed/Initialize(mapload)
. = ..()
Expand Down Expand Up @@ -32,13 +32,12 @@
desc = "Everything you need to build your own aquarium. Raw materials sold separately."
icon = 'icons/obj/aquarium.dmi'
icon_state = "construction_kit"
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL

/obj/item/aquarium_kit/attack_self(mob/user)
. = ..()
to_chat(user,span_notice("There's instruction and tools necessary to build aquarium inside. All you need is to start crafting."))


/obj/item/aquarium_prop
name = "generic aquarium prop"
desc = "very boring"
Expand Down
2 changes: 1 addition & 1 deletion code/modules/hydroponics/hydroitemdefines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
item_state = "analyzer"
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL
slot_flags = ITEM_SLOT_BELT
custom_materials = list(/datum/material/iron=30, /datum/material/glass=20)
var/scan_mode = PLANT_SCANMODE_STATS
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mining/equipment/regenerative_core.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
icon = 'icons/obj/chemical/medicine.dmi'
icon_state = "bottle19"
desc = "Inject certain types of monster organs with this stabilizer to preserve their healing powers indefinitely."
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_NORMAL
custom_price = 400

/obj/item/hivelordstabilizer/afterattack(obj/item/organ/M, mob/user, proximity)
Expand Down
1 change: 0 additions & 1 deletion code/modules/mining/machine_vending.dm
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@
icon_state = "mining_voucher"
w_class = WEIGHT_CLASS_TINY


///Conscript kit

/obj/item/storage/backpack/duffelbag/mining_conscript
Expand Down
4 changes: 1 addition & 3 deletions code/modules/projectiles/guns/ballistic/assault.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/obj/item/gun/ballistic/automatic/assault
show_magazine_on_sprite = TRUE
w_class = WEIGHT_CLASS_BULKY

gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO)
default_firemode = FIREMODE_SEMIAUTO
Expand Down Expand Up @@ -40,7 +41,6 @@
show_magazine_on_sprite = TRUE
unique_mag_sprites_for_variants = TRUE
weapon_weight = WEAPON_MEDIUM
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK
manufacturer = MANUFACTURER_IMPORT
default_ammo_type = /obj/item/ammo_box/magazine/skm_762_40
Expand Down Expand Up @@ -109,7 +109,6 @@

fire_select_icon_state_prefix = "swisschesse_"

w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK
default_ammo_type = /obj/item/ammo_box/magazine/swiss
allowed_ammo_types = list(
Expand Down Expand Up @@ -146,7 +145,6 @@
default_firemode = FIREMODE_OTHER

weapon_weight = WEAPON_MEDIUM
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK

show_magazine_on_sprite = TRUE
Expand Down
2 changes: 1 addition & 1 deletion code/modules/projectiles/guns/ballistic/automatic.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

/obj/item/gun/ballistic/automatic
w_class = WEIGHT_CLASS_NORMAL
w_class = WEIGHT_CLASS_BULKY

gun_firemodes = list(FIREMODE_SEMIAUTO)
default_firemode = FIREMODE_SEMIAUTO
Expand Down
1 change: 1 addition & 0 deletions code/modules/projectiles/guns/ballistic/pistol.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/obj/item/gun/ballistic/automatic/pistol
bolt_type = BOLT_TYPE_LOCKING
w_class = WEIGHT_CLASS_NORMAL

vary_fire_sound = FALSE
fire_sound_volume = 90
Expand Down
3 changes: 1 addition & 2 deletions code/modules/projectiles/guns/energy/energy_gun.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
dual_wield_spread = 60
wield_slowdown = LASER_RIFLE_SLOWDOWN
manufacturer = MANUFACTURER_SHARPLITE_NEW
w_class = WEIGHT_CLASS_BULKY

/obj/item/gun/energy/e_gun/empty_cell
spawn_no_ammo = TRUE
Expand Down Expand Up @@ -49,7 +50,6 @@
default_ammo_type = /obj/item/stock_parts/cell/gun/upgraded

weapon_weight = WEAPON_MEDIUM
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK

gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO)
Expand Down Expand Up @@ -240,7 +240,6 @@
icon_state = "iotshotgun"
item_state = "shotgun_combat"
shaded_charge = TRUE
w_class = WEIGHT_CLASS_BULKY
ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter/ultima, /obj/item/ammo_casing/energy/laser/ultima)
var/obj/item/modular_computer/integratedNTOS
var/NTOS_type = /obj/item/modular_computer/internal
Expand Down
4 changes: 1 addition & 3 deletions code/modules/projectiles/guns/energy/laser.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "SL L-204 laser gun"
desc = "A basic energy-based laser gun that fires concentrated beams of light which pass through glass and thin metal."

w_class = WEIGHT_CLASS_NORMAL
w_class = WEIGHT_CLASS_BULKY
custom_materials = list(/datum/material/iron=2000)
ammo_type = list(/obj/item/ammo_casing/energy/lasergun)
ammo_x_offset = 1
Expand Down Expand Up @@ -170,7 +170,6 @@
inhand_y_dimension = 64
icon_state = "iotshotgun"
item_state = "shotgun_combat"
w_class = WEIGHT_CLASS_BULKY
ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter/ultima)
var/obj/item/modular_computer/integratedNTOS
var/NTOS_type = /obj/item/modular_computer/internal
Expand Down Expand Up @@ -263,7 +262,6 @@
shaded_charge = FALSE
ammo_x_offset = 4
charge_sections = 2
w_class = WEIGHT_CLASS_BULKY
slot_flags = 0


Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@
desc = "The HBG-7 is the standard-issue rifle weapon of the PGF. It comes with a special DMR mode that has greater armor piercing for dealing with armored targets."
icon_state = "pgfheavy"
item_state = "pgfheavy"
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK

modifystate = FALSE
Expand Down
Loading

0 comments on commit 0f1d35c

Please sign in to comment.