Files
Ghom 0b0c5ea91e Unit test material checks are now performed on all crafting recipes by default. All stack recipes now transfer mats to the results (#92620)
## About The Pull Request
Extends the part of the crafting unit test that ensures consistency
between the total mats of the components of a recipe (or rather, the
result of said recipe) and a generic instance of the same type as its
result, previously only implemented on food recipes.

## Why It's Good For The Game
This ensures a degree of consistency with the material composition of
various objects in the game. I couldn't do it in the original PR as that
one was too big already and it took months to get it merged, and have
the relative bugs fixed.

Currently a WIP as I slowly deal with the unit test reports.

## Changelog

🆑
refactor: Follow-up to the crafting/material refactor from months ago.
All objects crafted with stacks now inherit their mat composition (not
necessarily the effects and color) by default, while previously only a
few things like chair, sinks and toilets did. Report any object looking
or behaving weirdly as a result.
fix: The material composition of ammo boxes is no longer a 1/10 of what
it's supposed to be. It was a shitty hack to make it harder to recycle
empty ammo boxes. Instead, they lose materials as they're emptied now.
/🆑
2025-12-02 18:29:01 -05:00

33 lines
1.2 KiB
Plaintext

/mob/living/basic/bot/vibebot
name = "\improper Vibebot"
desc = "A little robot. It's just vibing, doing its thing."
icon = 'icons/mob/silicon/aibots.dmi'
icon_state = "vibebot1"
base_icon_state = "vibebot"
pass_flags = PASSMOB | PASSFLAPS
light_system = OVERLAY_LIGHT
light_range = 6
ai_controller = /datum/ai_controller/basic_controller/bot/vibebot
light_power = 2
custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 0.8, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 4)
hackables = "vibing scanners"
radio_key = /obj/item/encryptionkey/headset_service
radio_channel = RADIO_CHANNEL_SERVICE
bot_type = VIBE_BOT
data_hud_type = TRAIT_DIAGNOSTIC_HUD
path_image_color = "#2cac12"
possessed_message = "You are a vibebot! Maintain the station's vibes to the best of your ability!"
/mob/living/basic/bot/vibebot/Initialize(mapload)
. = ..()
var/static/list/innate_actions = list(
/datum/action/cooldown/mob_cooldown/bot/vibe = BB_VIBEBOT_PARTY_ABILITY,
)
grant_actions_by_list(innate_actions)
var/obj/item/instrument/piano_synth/piano = new(src)
ai_controller.set_blackboard_key(BB_SONG_INSTRUMENT, piano)
update_appearance(UPDATE_ICON)