mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-20 03:30:01 +01:00
some primitive changes (#26730)
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
#define ishemophage(A) (is_species(A, /datum/species/hemophage))
|
||||
#define issnail(A) (is_species(A, /datum/species/snail))
|
||||
#define isluminescent(A) (is_species(A, /datum/species/jelly/luminescent))
|
||||
#define isprimitivedemihuman(A) (is_species(A, /datum/species/human/felinid/primitive))
|
||||
//Antags
|
||||
#define ishorrorling(A) (istype(A, /mob/living/simple_animal/hostile/true_changeling))
|
||||
#define iscorticalborer(A) (istype(A, /mob/living/basic/cortical_borer))
|
||||
|
||||
@@ -66,6 +66,25 @@
|
||||
/obj/item/cursed_dagger,
|
||||
)
|
||||
|
||||
/datum/ash_ritual/summon_cursed_carver
|
||||
name = "Summon Cursed Ash Carver"
|
||||
desc = "Summons a weapon that mimics the invader's tools, allowing us to collect trophies from the hunt."
|
||||
required_components = list(
|
||||
"north" = /obj/item/organ/internal/monster_core/regenerative_core,
|
||||
"south" = /obj/item/cursed_dagger,
|
||||
"east" = /obj/item/stack/sheet/bone,
|
||||
"west" = /obj/item/stack/sheet/sinew,
|
||||
)
|
||||
consumed_components = list(
|
||||
/obj/item/organ/internal/monster_core/regenerative_core,
|
||||
/obj/item/cursed_dagger,
|
||||
/obj/item/stack/sheet/bone,
|
||||
/obj/item/stack/sheet/sinew,
|
||||
)
|
||||
ritual_success_items = list(
|
||||
/obj/item/kinetic_crusher/cursed,
|
||||
)
|
||||
|
||||
/datum/ash_ritual/summon_tendril_seed
|
||||
name = "Summon Tendril Seed"
|
||||
desc = "Summons a seed that, when used in the hand, will cause a tendril to come through at your location."
|
||||
@@ -166,7 +185,6 @@
|
||||
consumed_components = list(
|
||||
/obj/item/organ/internal/monster_core/regenerative_core,
|
||||
/mob/living/basic/mining/ice_whelp,
|
||||
/obj/item/stack/ore/bluespace_crystal,
|
||||
)
|
||||
|
||||
/datum/ash_ritual/summon_lavaland_creature/ritual_success(obj/effect/ash_rune/success_rune)
|
||||
@@ -192,7 +210,6 @@
|
||||
consumed_components = list(
|
||||
/obj/item/organ/internal/monster_core/regenerative_core,
|
||||
/obj/item/food/grown/surik,
|
||||
/obj/item/stack/ore/bluespace_crystal,
|
||||
)
|
||||
|
||||
/datum/ash_ritual/summon_icemoon_creature/ritual_success(obj/effect/ash_rune/success_rune)
|
||||
@@ -216,7 +233,6 @@
|
||||
"west" = /obj/item/xenoarch/useless_relic,
|
||||
)
|
||||
consumed_components = list(
|
||||
/obj/item/stack/ore/bluespace_crystal,
|
||||
/obj/item/stack/sheet/animalhide/goliath_hide,
|
||||
/obj/item/xenoarch/useless_relic,
|
||||
)
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
desc = "A small cup that allows a person to slowly spin out liquids they do not desire."
|
||||
icon = 'modular_skyrat/modules/ashwalkers/icons/misc_tools.dmi'
|
||||
icon_state = "primitive_centrifuge"
|
||||
volume = 100
|
||||
material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_GREYSCALE | MATERIAL_COLOR
|
||||
|
||||
/obj/item/reagent_containers/cup/primitive_centrifuge/examine()
|
||||
|
||||
@@ -88,3 +88,18 @@
|
||||
/datum/crafting_recipe/ash_recipe/ash_hemostat
|
||||
name = "Ash Hemostat"
|
||||
result = /obj/item/hemostat/ashwalker
|
||||
|
||||
/obj/item/bonesetter/ashwalker
|
||||
name = "primitive bonesetter"
|
||||
icon = 'modular_skyrat/modules/ashwalkers/icons/ashwalker_tools.dmi'
|
||||
icon_state = "bonesetter"
|
||||
|
||||
greyscale_colors = null
|
||||
greyscale_config = null
|
||||
greyscale_config_inhand_left = null
|
||||
greyscale_config_inhand_right = null
|
||||
greyscale_config_worn = null
|
||||
|
||||
/datum/crafting_recipe/ash_recipe/ash_bonesetter
|
||||
name = "Ash Bonesetter"
|
||||
result = /obj/item/bonesetter/ashwalker
|
||||
|
||||
@@ -27,3 +27,8 @@
|
||||
)
|
||||
always_available = FALSE
|
||||
category = CAT_WEAPON_MELEE
|
||||
|
||||
/obj/item/kinetic_crusher/cursed
|
||||
name = "cursed ash carver"
|
||||
desc = "A horrible, alive-looking weapon that pulses every so often. The tendril created this monstrosity to mimic and compete with those who invade the land."
|
||||
icon = 'modular_skyrat/modules/ashwalkers/icons/ashwalker_tools.dmi'
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
icon_state = "staffofanimation"
|
||||
inhand_icon_state = "staffofanimation"
|
||||
|
||||
///If the world.time is above this, it wont work. Charging requires whacking the necropolis nest
|
||||
var/staff_time = 0
|
||||
|
||||
/obj/item/ash_staff/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
if(!proximity_flag)
|
||||
return ..()
|
||||
|
||||
if(!user.mind.has_antag_datum(/datum/antagonist/ashwalker))
|
||||
return ..()
|
||||
|
||||
if(istype(target, /obj/structure/lavaland/ash_walker))
|
||||
return
|
||||
|
||||
if(isopenturf(target))
|
||||
var/turf/target_turf = target
|
||||
if(istype(target, /turf/open/misc/asteroid/basalt/lava_land_surface))
|
||||
@@ -26,26 +26,18 @@
|
||||
if(!do_after(user, 4 SECONDS, target = target_turf))
|
||||
to_chat(user, span_warning("[src] had their casting cut short!"))
|
||||
return
|
||||
|
||||
target_turf.ChangeTurf(/turf/open/lava/smooth/lava_land_surface)
|
||||
to_chat(user, span_notice("[src] sparks, corrupting the area too far!"))
|
||||
return
|
||||
if(world.time > staff_time)
|
||||
to_chat(user, span_warning("[src] has had its permission expire from the necropolis!"))
|
||||
return
|
||||
|
||||
if(!do_after(user, 2 SECONDS, target = target_turf))
|
||||
to_chat(user, span_warning("[src] had their casting cut short!"))
|
||||
return
|
||||
|
||||
target_turf.ChangeTurf(/turf/open/misc/asteroid/basalt/lava_land_surface)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/structure/lavaland/ash_walker/attackby(obj/item/I, mob/living/user, params)
|
||||
if(istype(I, /obj/item/ash_staff) && user.mind.has_antag_datum(/datum/antagonist/ashwalker))
|
||||
var/obj/item/ash_staff/target_staff = I
|
||||
target_staff.staff_time = world.time + 5 MINUTES
|
||||
playsound(src, 'sound/magic/demon_consume.ogg', 50, TRUE)
|
||||
to_chat(user, span_notice("The tendril permits you to have more time to corrupt the world with ashes."))
|
||||
return
|
||||
return ..()
|
||||
|
||||
//generic ash item recipe
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 5.1 KiB |
@@ -0,0 +1,63 @@
|
||||
#define RESKIN_LINEN "Linen"
|
||||
|
||||
/obj/item/storage/bag/plants
|
||||
uses_advanced_reskins = TRUE
|
||||
unique_reskin = list(
|
||||
"Original" = list(
|
||||
RESKIN_ICON = 'icons/obj/service/hydroponics/equipment.dmi',
|
||||
RESKIN_ICON_STATE = "plantbag",
|
||||
RESKIN_WORN_ICON = 'icons/mob/clothing/belt.dmi',
|
||||
RESKIN_WORN_ICON_STATE = "plantbag",
|
||||
),
|
||||
RESKIN_LINEN = list(
|
||||
RESKIN_ICON = 'modular_skyrat/modules/primitive_cooking_additions/icons/plant_bag.dmi',
|
||||
RESKIN_ICON_STATE = "plantbag_primitive",
|
||||
RESKIN_WORN_ICON = 'modular_skyrat/modules/primitive_cooking_additions/icons/plant_bag_worn.dmi',
|
||||
RESKIN_WORN_ICON_STATE = "plantbag_primitive",
|
||||
),
|
||||
)
|
||||
|
||||
// This is so the linen reskin shows properly in the suit storage.
|
||||
/obj/item/storage/bag/plants/build_worn_icon(default_layer, default_icon_file, isinhands, female_uniform, override_state, override_file, use_height_offset, mutant_styles)
|
||||
if(default_layer == SUIT_STORE_LAYER && current_skin == RESKIN_LINEN)
|
||||
override_file = 'modular_skyrat/modules/primitive_cooking_additions/icons/plant_bag_worn_mirror.dmi'
|
||||
|
||||
return ..()
|
||||
|
||||
/// Simple helper to reskin this item into its primitive variant.
|
||||
/obj/item/storage/bag/plants/proc/make_primitive()
|
||||
current_skin = RESKIN_LINEN
|
||||
|
||||
icon = unique_reskin[current_skin][RESKIN_ICON]
|
||||
icon_state = unique_reskin[current_skin][RESKIN_ICON_STATE]
|
||||
worn_icon = unique_reskin[current_skin][RESKIN_WORN_ICON]
|
||||
worn_icon_state = unique_reskin[current_skin][RESKIN_WORN_ICON_STATE]
|
||||
|
||||
update_appearance()
|
||||
|
||||
/// A helper for the primitive variant, for mappers.
|
||||
/obj/item/storage/bag/plants/primitive
|
||||
current_skin = RESKIN_LINEN // Just so it displays properly when in suit storage
|
||||
uses_advanced_reskins = FALSE
|
||||
unique_reskin = null
|
||||
icon = 'modular_skyrat/modules/primitive_cooking_additions/icons/plant_bag.dmi'
|
||||
icon_state = "plantbag_primitive"
|
||||
worn_icon = 'modular_skyrat/modules/primitive_cooking_additions/icons/plant_bag_worn.dmi'
|
||||
worn_icon_state = "plantbag_primitive"
|
||||
|
||||
/obj/item/stack/sheet/cloth/on_item_crafted(mob/builder, atom/created)
|
||||
if(!istype(created, /obj/item/storage/bag/plants))
|
||||
return
|
||||
|
||||
if(!isprimitivedemihuman(builder) && !isashwalker(builder))
|
||||
return
|
||||
|
||||
var/obj/item/storage/bag/plants/bag = created
|
||||
|
||||
bag.make_primitive()
|
||||
|
||||
/obj/item/storage/bag/plants/portaseeder
|
||||
uses_advanced_reskins = FALSE
|
||||
unique_reskin = null
|
||||
|
||||
#undef RESKIN_LINEN
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 417 B |
Binary file not shown.
|
After Width: | Height: | Size: 432 B |
Binary file not shown.
|
After Width: | Height: | Size: 435 B |
@@ -8030,6 +8030,7 @@
|
||||
#include "modular_skyrat\modules\primitive_cooking_additions\code\cookware.dm"
|
||||
#include "modular_skyrat\modules\primitive_cooking_additions\code\cutting_board.dm"
|
||||
#include "modular_skyrat\modules\primitive_cooking_additions\code\millstone.dm"
|
||||
#include "modular_skyrat\modules\primitive_cooking_additions\code\plant_bag.dm"
|
||||
#include "modular_skyrat\modules\primitive_cooking_additions\code\stone_griddle.dm"
|
||||
#include "modular_skyrat\modules\primitive_cooking_additions\code\stone_oven.dm"
|
||||
#include "modular_skyrat\modules\primitive_cooking_additions\code\stone_stove.dm"
|
||||
|
||||
Reference in New Issue
Block a user