some primitive changes (#26730)

Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
This commit is contained in:
jjpark-kb
2024-04-18 17:31:46 +02:00
committed by GitHub
co-authored by Useroth
parent d62c929550
commit b2a97d82de
12 changed files with 111 additions and 17 deletions
@@ -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

+1
View File
@@ -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"