mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 13:38:41 +01:00
moves abstract_type up to datum, spawners wont spawn them (#92909)
## About The Pull Request moves all implementations (im aware of) for "Im a parent type dont spawn me please" to the datum layer to standardized behavior adds a standerized proc for filtering out "bad" items that we dont want spawning. applies to it the subtype vendor, gifts, and a new spawner and mystery box for a random gun (neither playerfacing) "port" of https://github.com/shiptest-ss13/Shiptest/pull/4621 https://github.com/user-attachments/assets/22f6f0b2-b44e-411a-b3dc-6b97dc0287aa small warning: I dont have EVERY abstract type defined right now but, ive done a good enough job for now. Im tired of data entry rn ## Why It's Good For The Game standardizing behavior. Might be a micro hit to performance however having this lets us not rely on icon state to determine whether something is a parent type and makes it much easier to tell something is a parent type (could be applied further to things like admin spawning menus and things like that). need feedback on if this is actually good for the game. ## Changelog 🆑 add: Soda cans show up in the silver slime drink table. add: Examine tag for items that are not mean to show up ingame. refactor: Standardizes how gifts rule out abstract types. fix: gifts no longer check if something has an inhand, massively expanding the list of potential items. /🆑
This commit is contained in:
@@ -11,10 +11,11 @@
|
||||
|
||||
// Base type. Subtypes are found in /grown dir. Lavaland-based subtypes can be found in mining/ash_flora.dm
|
||||
/obj/item/food/grown
|
||||
name = "fresh produce" // so recipe text doesn't say 'snack'
|
||||
icon = 'icons/obj/service/hydroponics/harvest.dmi'
|
||||
icon_state = "berrypile"
|
||||
worn_icon = 'icons/mob/clothing/head/hydroponics.dmi'
|
||||
name = "fresh produce" // so recipe text doesn't say 'snack'
|
||||
abstract_type = /obj/item/food/grown
|
||||
max_volume = PLANT_REAGENT_VOLUME
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
resistance_flags = FLAMMABLE
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
// Citrus - base type
|
||||
/obj/item/food/grown/citrus
|
||||
seed = /obj/item/seeds/lime
|
||||
name = "citrus"
|
||||
desc = "It's so sour, your face will twist."
|
||||
icon_state = "lime"
|
||||
abstract_type = /obj/item/food/grown/citrus
|
||||
foodtypes = FRUIT
|
||||
wine_power = 30
|
||||
seed = /obj/item/seeds/lime
|
||||
|
||||
// Lime
|
||||
/obj/item/seeds/lime
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/obj/item/food/grown/mushroom
|
||||
name = "mushroom"
|
||||
abstract_type = /obj/item/food/grown/mushroom
|
||||
// This is a prototype that should never be spawned
|
||||
// but we'll default it to SOME seed if it does end up spawning just so we don't runtime horribly
|
||||
seed = /obj/item/seeds/chanter
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
name = "grown_weapon"
|
||||
icon = 'icons/obj/service/hydroponics/harvest.dmi'
|
||||
worn_icon = 'icons/mob/clothing/head/hydroponics.dmi'
|
||||
abstract_type = /obj/item/grown
|
||||
resistance_flags = FLAMMABLE
|
||||
var/obj/item/seeds/seed = null // type path, gets converted to item on New(). It's safe to assume it's always a seed item.
|
||||
/// Should we pixel offset ourselves at init? for mapping
|
||||
@@ -13,7 +14,7 @@
|
||||
/// The reagent this plant distill to. If NULL, it uses a generic fruit_wine reagent and adjusts its variables.
|
||||
var/distill_reagent
|
||||
|
||||
// This may look like it's doing nothing but it's necessary, we do this to have kwargs work in New (for passing into Initialize)
|
||||
// This may look like it's doing nothing but it's necessary, we do this to have kwargs work in New (for passing into Initialize)
|
||||
/obj/item/grown/New(loc, obj/item/seeds/new_seed)
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon = 'icons/obj/service/hydroponics/seeds.dmi'
|
||||
icon_state = "seed" // Unknown plant seed - these shouldn't exist in-game.
|
||||
worn_icon_state = "seed"
|
||||
abstract_type = /obj/item/seeds
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
resistance_flags = FLAMMABLE
|
||||
/// Name of plant when planted.
|
||||
|
||||
Reference in New Issue
Block a user