diff --git a/_maps/map_files/Vampire/generic/forest.dmm b/_maps/map_files/Vampire/generic/forest.dmm index 2356f496c88e..7fb497b4e6fb 100644 --- a/_maps/map_files/Vampire/generic/forest.dmm +++ b/_maps/map_files/Vampire/generic/forest.dmm @@ -237,7 +237,7 @@ light_on = 1; start_on = 14 }, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/floor/plating/rough, /area/vtm/interior/forest/cave) "by" = ( @@ -1668,7 +1668,7 @@ /obj/effect/turf_decal/darkpack/cave{ dir = 8 }, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/water/river, /area/vtm/interior/forest/cave) "mD" = ( @@ -1841,7 +1841,7 @@ /area/vtm/interior/forest) "nZ" = ( /obj/structure/glowshroom/single, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/floor/plating/rough, /area/vtm/interior/forest/cave) "ob" = ( @@ -2264,7 +2264,7 @@ /obj/effect/turf_decal/darkpack/rough{ dir = 1 }, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/water/river, /area/vtm/interior/forest/cave) "qY" = ( @@ -2332,7 +2332,9 @@ /obj/effect/turf_decal/darkpack/rough{ dir = 4 }, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest{ + opacity = 1 + }, /turf/open/water/river, /area/vtm/interior/forest/cave) "rp" = ( @@ -2604,6 +2606,12 @@ /obj/machinery/hydroponics/soil/rich, /turf/open/misc/dirt, /area/vtm/outside/forest/sept) +"tr" = ( +/obj/effect/realistic_fog/bawn/forest{ + opacity = 1 + }, +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/forest/cave) "tt" = ( /obj/effect/turf_decal/darkpack/grass/corner{ dir = 1 @@ -2794,7 +2802,7 @@ /area/vtm/planetgeneration) "ux" = ( /obj/effect/turf_decal/darkpack/cave/corner, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/water/river, /area/vtm/interior/forest/cave) "uz" = ( @@ -2868,7 +2876,7 @@ /area/vtm/interior/forest/cave) "uT" = ( /obj/structure/flora/rock/darkpack, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/floor/plating/rough/cave, /area/vtm/interior/forest/cave) "uZ" = ( @@ -3058,6 +3066,10 @@ }, /turf/open/misc/grass, /area/vtm/interior/forest/cave) +"wi" = ( +/obj/effect/realistic_fog/bawn/forest, +/turf/open/floor/plating/rough, +/area/vtm/interior/forest/cave) "wl" = ( /obj/effect/turf_decal/darkpack/sand{ dir = 4 @@ -3667,6 +3679,10 @@ }, /turf/open/misc/dirt, /area/vtm/outside/forest/sept) +"Bo" = ( +/obj/effect/realistic_fog/bawn/forest, +/turf/open/floor/plating/rough/cave, +/area/vtm/interior/forest/cave) "Bq" = ( /obj/effect/turf_decal/darkpack/rough{ dir = 5 @@ -3840,7 +3856,7 @@ /obj/effect/turf_decal/darkpack/rough/corner{ dir = 1 }, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/water/river, /area/vtm/interior/forest/cave) "Cq" = ( @@ -3961,7 +3977,7 @@ "CZ" = ( /obj/effect/turf_decal/darkpack/cave, /obj/effect/turf_decal/darkpack/rough/corner, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/water/river, /area/vtm/interior/forest/cave) "Db" = ( @@ -4505,7 +4521,9 @@ /obj/effect/turf_decal/darkpack/cave{ dir = 10 }, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest{ + opacity = 1 + }, /turf/open/water/river, /area/vtm/interior/forest/cave) "Hz" = ( @@ -4962,6 +4980,10 @@ /obj/structure/stone_tile/surrounding/cracked, /turf/open/floor/wood/smooth/old, /area/vtm/interior/forest/cave) +"Li" = ( +/obj/effect/realistic_fog/bawn/forest, +/turf/open/water/river, +/area/vtm/interior/forest/cave) "Lq" = ( /obj/effect/decal/pallet, /obj/structure/table/wood, @@ -4990,7 +5012,7 @@ dir = 4 }, /obj/effect/turf_decal/darkpack/cave/corner, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/water/river, /area/vtm/interior/forest/cave) "LA" = ( @@ -5021,6 +5043,13 @@ dir = 8 }, /area/vtm/interior/forest) +"LN" = ( +/obj/effect/turf_decal/darkpack/cave{ + dir = 9 + }, +/obj/effect/realistic_fog/bawn/forest, +/turf/open/water/river, +/area/vtm/interior/forest/cave) "LO" = ( /obj/effect/turf_decal/darkpack/grass/corner{ dir = 1 @@ -5361,6 +5390,12 @@ }, /turf/open/misc/grass/random/grass, /area/vtm/outside/forest/sept) +"Oi" = ( +/obj/effect/realistic_fog/bawn/forest{ + opacity = 1 + }, +/turf/open/water/river, +/area/vtm/interior/forest/cave) "Oj" = ( /obj/effect/turf_decal/darkpack/cave/corner, /turf/open/water/river, @@ -5839,7 +5874,7 @@ dir = 4 }, /obj/effect/turf_decal/darkpack/rough/corner, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/water/river, /area/vtm/interior/forest/cave) "RG" = ( @@ -5851,7 +5886,7 @@ /area/vtm/interior/forest/cave) "RJ" = ( /obj/structure/glowshroom, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/floor/plating/rough/cave, /area/vtm/interior/forest/cave) "RO" = ( @@ -5952,7 +5987,7 @@ /obj/effect/turf_decal/darkpack/rough{ dir = 5 }, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/water/river, /area/vtm/interior/forest/cave) "Sz" = ( @@ -6405,7 +6440,7 @@ /obj/effect/turf_decal/darkpack/cave/corner{ dir = 8 }, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/water/river, /area/vtm/interior/forest/cave) "Wc" = ( @@ -6678,7 +6713,9 @@ /turf/open/misc/beach/vamp, /area/vtm/outside/forest) "Ys" = ( -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest{ + opacity = 1 + }, /turf/open/floor/plating/rough, /area/vtm/interior/forest/cave) "Yu" = ( @@ -6738,7 +6775,7 @@ /area/vtm/interior/forest/cave) "YL" = ( /obj/structure/flora/rock/darkpack_big, -/obj/effect/realistic_fog/dense, +/obj/effect/realistic_fog/bawn/forest, /turf/open/floor/plating/rough, /area/vtm/interior/forest/cave) "YN" = ( @@ -15684,9 +15721,9 @@ FK FK FK FK -ZF +Li Bx -Wf +Bo aU EH EH @@ -15881,11 +15918,11 @@ EH iw iw Sb -ZF +Li FK Wa yh -Wf +tr Nr RJ hl @@ -16080,14 +16117,14 @@ HD ye Sr Sb -ZF +Li FK Wa tF Hv aU -Wf -jF +Bo +LN Lz Fz Nr @@ -16275,13 +16312,13 @@ EH EH EH Rh -Ys +wi ye qV FK -ZF +Li FK -ZF +Oi Hm mB tF @@ -16472,18 +16509,18 @@ EH EH EH EH -Ys +wi HD -Ys +wi CO Cp FK -ZF +Oi FK -ZF +Li FK ZF -FK +Li Wa EH EH @@ -16673,15 +16710,15 @@ EH EH bv ye -Ys +wi CO rn Sb -ZF +Li FK -ZF +Li FK -ZF +Li EH EH EH @@ -16876,7 +16913,7 @@ Ys ye Sr Sb -ZF +Li FK EH EH diff --git a/code/__DEFINES/~darkpack/traits/declarations.dm b/code/__DEFINES/~darkpack/traits/declarations.dm index d91f50270980..4f4afce00b8e 100644 --- a/code/__DEFINES/~darkpack/traits/declarations.dm +++ b/code/__DEFINES/~darkpack/traits/declarations.dm @@ -159,6 +159,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_JAMMING_WEAPONS "jamming_weapons" #define TRAIT_NATURAL "natural" #define TRAIT_AURA_OF_CONFIDENCE "aura_of_confidence" +/// Allowed to enter through the forest bawn. +#define TRAIT_ALLOWED_FOREST_BAWN "allowed_forest_bawn" /// Mob has had atleast one tooth yanked out while having no method of regenerating it. #define TRAIT_TOOTH_PULLED "tooth_pulled" diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index bee13c2114d2..f13dd46da1b6 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -680,6 +680,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_BRAIN_TRAUMA_IMMUNITY" = TRAIT_BRAIN_TRAUMA_IMMUNITY, "TRAIT_NECROPOLIS_WORSHIP" = TRAIT_NECROPOLIS_WORSHIP, "TRAIT_ACUTE_HEARING" = TRAIT_ACUTE_HEARING, // DARKPACK EDIT ADD - MERITS_FLAWS - ACUTE SENSE + "TRAIT_ALLOWED_FOREST_BAWN" = TRAIT_ALLOWED_FOREST_BAWN, // DARKPACK EDIT ADD - WEREWOLF "TRAIT_ANIMAL_MUSK" = TRAIT_ANIMAL_MUSK, // DARKPACK EDIT ADD - MERITS_FLAWS "TRAIT_AURA_OF_CONFIDENCE" = TRAIT_AURA_OF_CONFIDENCE, // DARKPACK EDIT ADD - WEREWOLF "TRAIT_BETRAYERS_MARK" = TRAIT_BETRAYERS_MARK, // DARKPACK EDIT ADD - MERITS_FLAWS - (Tremere) diff --git a/code/_globalvars/traits/admin_tooling.dm b/code/_globalvars/traits/admin_tooling.dm index 8803705df590..2d8b98daacbf 100644 --- a/code/_globalvars/traits/admin_tooling.dm +++ b/code/_globalvars/traits/admin_tooling.dm @@ -364,6 +364,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_RIGHT_EYE_SCAR" = TRAIT_RIGHT_EYE_SCAR, "TRAIT_CARPOTOXIN_IMMUNE" = TRAIT_CARPOTOXIN_IMMUNE, "TRAIT_ACUTE_HEARING" = TRAIT_ACUTE_HEARING, // DARKPACK EDIT ADD - MERITS_FLAWS - ACUTE SENSE + "TRAIT_ALLOWED_FOREST_BAWN" = TRAIT_ALLOWED_FOREST_BAWN, // DARKPACK EDIT ADD - WEREWOLF "TRAIT_ANIMAL_MUSK" = TRAIT_ANIMAL_MUSK, // DARKPACK EDIT ADD - MERITS_FLAWS "TRAIT_AURA_OF_CONFIDENCE" = TRAIT_AURA_OF_CONFIDENCE, // DARKPACK EDIT ADD - WEREWOLF "TRAIT_BLOODY_LOVER" = TRAIT_BLOODY_LOVER, // DARKPACK EDIT ADD diff --git a/modular_darkpack/modules/weather/code/effects.dm b/modular_darkpack/modules/weather/code/effects.dm index e4d9b90174cf..762fcc8b8516 100644 --- a/modular_darkpack/modules/weather/code/effects.dm +++ b/modular_darkpack/modules/weather/code/effects.dm @@ -4,6 +4,7 @@ GLOBAL_LIST_EMPTY(snow_list) /obj/effect/realistic_fog // Smaller sprite so you can use it in mapping without it sucking + name = "fog" icon = 'modular_darkpack/modules/weather/icons/fog.dmi' icon_state = MAP_SWITCH("fog", "helper") alpha = 0 @@ -18,6 +19,7 @@ GLOBAL_LIST_EMPTY(snow_list) var/alpha_upper = 21 /obj/effect/realistic_fog/dense + name = "dense fog" alpha_lower = 10 alpha_upper = 40 diff --git a/modular_darkpack/modules/werewolf_the_apocalypse/code/caern.dm b/modular_darkpack/modules/werewolf_the_apocalypse/code/caern.dm new file mode 100644 index 000000000000..9577d598e4dc --- /dev/null +++ b/modular_darkpack/modules/werewolf_the_apocalypse/code/caern.dm @@ -0,0 +1,39 @@ +// A bawn is the border around a caern. +/obj/effect/realistic_fog/bawn + name = "dizzying fog" + density = TRUE + alpha_lower = 20 + alpha_upper = 80 + var/liked_trait + var/liked_tribes + +/obj/effect/realistic_fog/bawn/CanAllowThrough(atom/movable/mover, border_dir) + . = ..() + if(!isliving(mover)) + return . + + if(is_friend_of_caern(mover)) + return TRUE + + for(var/mob/living/friend in range(3, mover)) + if(is_friend_of_caern(friend)) + return TRUE + + return FALSE + +/obj/effect/realistic_fog/bawn/proc/is_friend_of_caern(mob/living/potential_friend) + if(liked_trait && HAS_TRAIT(potential_friend, liked_trait)) + return TRUE + + if(liked_tribes) + var/datum/splat/werewolf/friends_splat = get_werewolf_splat(potential_friend) + if(!friends_splat) + return FALSE + if(!(friends_splat.tribe.name in liked_tribes)) + return FALSE + + return TRUE + +/obj/effect/realistic_fog/bawn/forest + liked_trait = TRAIT_ALLOWED_FOREST_BAWN + liked_tribes = TRIBE_LIST_GAIA diff --git a/tgstation.dme b/tgstation.dme index bd9685e2cd9b..9d78930a474f 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -8063,6 +8063,7 @@ #include "modular_darkpack\modules\weapons\code\sheath.dm" #include "modular_darkpack\modules\weapons\code\stake.dm" #include "modular_darkpack\modules\weather\code\effects.dm" +#include "modular_darkpack\modules\werewolf_the_apocalypse\code\caern.dm" #include "modular_darkpack\modules\werewolf_the_apocalypse\code\delirium.dm" #include "modular_darkpack\modules\werewolf_the_apocalypse\code\emotes.dm" #include "modular_darkpack\modules\werewolf_the_apocalypse\code\garou_languages.dm"