From ad69563d11391fa20f1ed7f5d6fca8a54d468745 Mon Sep 17 00:00:00 2001 From: DerFlammenwerfer <7h3ph4nt0m@gmail.com> Date: Tue, 2 Sep 2025 20:23:04 -0400 Subject: [PATCH] red, yellow, and tundra grass fixes Hoes and ploughs can now till the new grass variants. Shovels will treat them the same as regular grass for feedback purposes. Seeds can now form soil piles on them. Players can now leave tracks on the new variants, and tracks will now linger for twice as long. --- code/modules/farming/plough.dm | 2 +- code/modules/farming/tools.dm | 2 +- .../roguetown/roguejobs/gravedigger/tools.dm | 2 +- .../code/game/objects/effects/track.dm | 17 +++++++++++++---- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/code/modules/farming/plough.dm b/code/modules/farming/plough.dm index 74927292676..6f79105af80 100644 --- a/code/modules/farming/plough.dm +++ b/code/modules/farming/plough.dm @@ -16,7 +16,7 @@ user_tries_tilling(pulledby, get_turf(src)) /obj/structure/plough/proc/user_tries_tilling(mob/living/user, turf/location) - if(istype(location, /turf/open/floor/rogue/grass)) + if(istype(location, /turf/open/floor/rogue/grass) || istype(location, /turf/open/floor/rogue/grassred) || istype(location, /turf/open/floor/rogue/grassyel) || istype(location, /turf/open/floor/rogue/grasscold)) apply_farming_fatigue(user, 10) playsound(location,'sound/items/dig_shovel.ogg', 100, TRUE) location.ChangeTurf(/turf/open/floor/rogue/dirt, flags = CHANGETURF_INHERIT_AIR) diff --git a/code/modules/farming/tools.dm b/code/modules/farming/tools.dm index c7d23fb1fbe..2b87d29ff5e 100644 --- a/code/modules/farming/tools.dm +++ b/code/modules/farming/tools.dm @@ -220,7 +220,7 @@ /obj/item/rogueweapon/hoe/attack_turf(turf/T, mob/living/user) if(user.used_intent.type == /datum/intent/till) user.changeNext_move(CLICK_CD_MELEE) - if(istype(T, /turf/open/floor/rogue/grass)) + if(istype(T, /turf/open/floor/rogue/grass) || istype(T, /turf/open/floor/rogue/grassyel) || istype(T, /turf/open/floor/rogue/grassred) || istype(T, /turf/open/floor/rogue/grasscold)) playsound(T,'sound/items/dig_shovel.ogg', 100, TRUE) if (do_after(user, 3 SECONDS, target = src)) apply_farming_fatigue(user, 10) diff --git a/code/modules/roguetown/roguejobs/gravedigger/tools.dm b/code/modules/roguetown/roguejobs/gravedigger/tools.dm index 00082f5ca9e..efb41672996 100644 --- a/code/modules/roguetown/roguejobs/gravedigger/tools.dm +++ b/code/modules/roguetown/roguejobs/gravedigger/tools.dm @@ -97,7 +97,7 @@ playsound(T,'sound/items/empty_shovel.ogg', 100, TRUE) update_icon() return - if(istype(T, /turf/open/floor/rogue/grass)) + if(istype(T, /turf/open/floor/rogue/grass) || istype(T, /turf/open/floor/rogue/grassyel) || istype(T, /turf/open/floor/rogue/grassred) || istype(T, /turf/open/floor/rogue/grasscold)) to_chat(user, span_warning("There is grass in the way.")) return return diff --git a/modular_hearthstone/code/game/objects/effects/track.dm b/modular_hearthstone/code/game/objects/effects/track.dm index 9cc2f75f858..1756297ca27 100644 --- a/modular_hearthstone/code/game/objects/effects/track.dm +++ b/modular_hearthstone/code/game/objects/effects/track.dm @@ -9,6 +9,15 @@ /turf/open/floor/rogue/grass track_prob = 1 + +/turf/open/floor/rogue/grassred + track_prob = 1 + +/turf/open/floor/rogue/grassyel + track_prob = 1 + +/turf/open/floor/rogue/grasscold + track_prob = 1 //Probabilities end (albeit mud is handled seperately). //Analysis levels depending on skillcheck during reveal. @@ -88,7 +97,7 @@ if(!HAS_TRAIT(user, TRAIT_PERFECT_TRACKER)) var/diff = 11 //Base Tracking Difficulty diff += tracking_modifier - diff += round((world.time - creation_time) / (60 SECONDS), 1) //Gets more difficult to spot the older. + diff += round((world.time - creation_time) / (120 SECONDS), 1) //Gets more difficult to spot the older. diff += rand(0, 5) //Entropy. var/competence = user.STAPER @@ -112,7 +121,7 @@ if(!HAS_TRAIT(user, TRAIT_PERFECT_TRACKER)) var/diff = 11 diff += tracking_modifier - diff += round((world.time - creation_time) / (60 SECONDS), 1) + diff += round((world.time - creation_time) / (120 SECONDS), 1) var/competence = user.STAPER / 2 if(user.mind) competence += 5 * user.mind.get_skill_level(/datum/skill/misc/tracking) //Skill is much more relevant for analysis. @@ -159,7 +168,7 @@ if(SOUTHEAST) facing = "southeast" real_image = image(icon, src, real_icon_state, ABOVE_OPEN_TURF_LAYER, track_source.dir) //Recreate image with correct dir. - deletion_timer = addtimer(CALLBACK(src, PROC_REF(track_expire)), 15 MINUTES, TIMER_STOPPABLE) //Tracks naturally expire after 15 minutes (although at that point their DC is pretty high anyways.) + deletion_timer = addtimer(CALLBACK(src, PROC_REF(track_expire)), 30 MINUTES, TIMER_STOPPABLE) //Tracks naturally expire after 30 minutes (although at that point their DC is pretty high anyways.) ///Adds a new person to the list of people who can see this track. /obj/effect/track/proc/add_knower(mob/living/tracker, competence = 1) @@ -266,7 +275,7 @@ return //Guh? if(!(movement_type & GROUND) || (movement_type & (FLOATING|FLYING))) //For some reason some mobs have both ground and flying at once. return - var/probability = round(track_creation_prob(new_turf), 0.1) + var/probability = round(track_creation_prob(new_turf), 0.1) if(!probability) return if(!prob(probability))