Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kaizoku, The Sanctuary Beyond the Storm {1/3} #1254

Closed
wants to merge 43 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
77870d7
Unfinished first touches.
Catalaria Jun 15, 2024
4966257
Req Changes
Catalaria Jun 17, 2024
7915b84
Merge pull request #1 from Catalaria/KaizokuExperimental
Catalaria Jun 17, 2024
dd90db5
Quick Insertion
Catalaria Aug 28, 2024
3b91c9b
update2
Catalaria Aug 29, 2024
17097f4
update for the sake of easeness
Catalaria Oct 8, 2024
1ab78b0
Merge branch 'main' of https://github.com/Catalaria/OpenKeep
Catalaria Oct 8, 2024
36bf185
tt
Catalaria Oct 17, 2024
695d1ac
Update. Again
Catalaria Oct 25, 2024
0b69421
ttttt
Catalaria Oct 27, 2024
a92bd26
Merge branch 'main' into Kaizoku-2.0
Catalaria Oct 31, 2024
ee80888
Merge pull request #3 from Catalaria/Kaizoku-2.0
Catalaria Nov 3, 2024
bbe3be4
Final part of Stage 1
Monochrome9090 Dec 18, 2024
7fdcec2
Merge branch 'main' of https://github.com/Catalaria/OpenKeep
Monochrome9090 Dec 18, 2024
ea03e7d
Merge remote-tracking branch 'upstream/main'
Catalaria Dec 18, 2024
b5570bc
Test
Catalaria Dec 18, 2024
e79c116
Update code/modules/jobs/job_types/roguetown/temple/acolyte.dm
ThePainkiller Dec 18, 2024
9c05d82
Update code/modules/surgery/organs/tongue.dm
ThePainkiller Dec 18, 2024
95456c4
Merge remote-tracking branch 'upstream/main'
Catalaria Dec 19, 2024
d3d25b9
Hopefully last fixings
Catalaria Dec 19, 2024
84cbe38
Delete sexcon.dm
Catalaria Dec 19, 2024
935d92e
Fixes requested by the beloved people.
Catalaria Dec 19, 2024
2bd0c3a
Hopefully it is now fixed.
Catalaria Dec 19, 2024
5dc10e6
Merge branch 'main' into main
NPC1314 Dec 19, 2024
b5ec939
Hopefully this will fix the issue
Catalaria Dec 20, 2024
d62c16f
Merge branch 'main' into main
ThePainkiller Dec 22, 2024
87196ff
Linter fixes
ThePainkiller Dec 22, 2024
ebd4ad8
Include Kaizoku files properly
ThePainkiller Dec 22, 2024
6d40bf5
Fixes compile issues from bad paths
ThePainkiller Dec 22, 2024
6ed39f5
Fixes nonexistant armor issue
ThePainkiller Dec 23, 2024
fb6aa45
Merge branch 'main' into main
ThePainkiller Dec 30, 2024
78dcc8f
New Fixes.
Catalaria Dec 31, 2024
a0d94cc
Merge branch 'main' of https://github.com/Catalaria/OpenKeep
Catalaria Dec 31, 2024
09bcf0a
Last Update for part 1
Catalaria Jan 4, 2025
b21ac2a
Now its FINISHED. PROPERLY. ACTUALLY. (I FORGOT SOME THINGS.)
Catalaria Jan 4, 2025
4fd6e97
THE MERGING UPDATE!!!
Catalaria Jan 5, 2025
ab813cb
Name fix.
Catalaria Jan 7, 2025
7802547
Update code/modules/mob/living/carbon/human/npc/raider.dm
ThePainkiller Jan 12, 2025
ab8a9aa
Merge branch 'main' into main
ThePainkiller Jan 12, 2025
ddf04bb
Fix
Catalaria Jan 12, 2025
2c825f4
Merge branch 'main' into main
ThePainkiller Jan 20, 2025
6361994
Last update (for real this time)
Catalaria Jan 20, 2025
891ad6e
Mapping compile errors
ThePainkiller Jan 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 10 additions & 0 deletions code/__DEFINES/colors.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,16 @@
#define RANDOM_PEASANT_DYES pick(CLOTHING_BARK_BROWN , CLOTHING_PEASANT_BROWN, CLOTHING_MUD_BROWN , CLOTHING_BOG_GREEN , CLOTHING_SPRING_GREEN , CLOTHING_PEAR_YELLOW )
#define RANDOM_NOBLE_DYES pick( CLOTHING_DARK_INK, CLOTHING_PLUM_PURPLE, CLOTHING_SALMON, CLOTHING_RED_OCHRE, CLOTHING_YELLOW_OCHRE, CLOTHING_MAROON, CLOTHING_RUSSET, CLOTHING_MUSTARD_YELLOW, CLOTHING_FOREST_GREEN, CLOTHING_SKY_BLUE)

#define CLOTHING_RONIN "#861e1e"
#define CLOTHING_EIDOLON "#613a3f"
#define CLOTHING_TOWERYAKKO "#804d97"
#define CLOTHING_KABUKIMONO "#9b874f"

#define CLOTHING_THUNDER "#be8b48"
#define CLOTHING_STORM "#1a2677"
#define CLOTHING_OCEAN "#56928a"
#define CLOTHING_ISLAND "#bd3541"

#define CLOTHING_COLOR_NAMES list("Ash Grey","Chalk White","Cream","White","Dark Ink","Plum Purple","Salmon","Blood Red", "Maroon","Red Ochre","Russet","Chestnut","Mustard Yellow","Yellow Ochre","Forest Green","Sky Blue","Teal", "Royal Black","Soot Black","Winestain Red","Royal Red","Royal Majenta","Fyritius Orange","Bark Brown","Peasant Brown","Mud Brown","Pear Yellow","Spring Green","Bog Green","Royal Teal","Berry Blue", "Royal Blue", "Royal Purple","Dunked in Water" )

/proc/clothing_color2hex(input)
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/combat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@
#define POLEARM_BASH /datum/intent/polearm/bash
#define POLEARM_SWING /datum/intent/polearm/bash/swing
#define SPEAR_CUT /datum/intent/polearm/cut
#define MANCATCHER /datum/intent/polearm/thrust/mancatcher

#define POLEARM_THRUST /datum/intent/polearm/thrust
#define SPEAR_POKE /datum/intent/polearm/thrust/poke
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/inventory.dm
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@
#define FACE (MOUTH | NOSE | EYES)
#define FULL_HEAD (HEAD | MOUTH | NOSE | EYES | EARS | HAIR)
#define HEAD_EXCEPT_MOUTH (HEAD | NOSE | EYES | EARS | HAIR)
#define HEAD_EXCEPT_EYES (HEAD | MOUTH | NOSE | EARS | HAIR)
#define HEAD_NECK (HEAD | MOUTH | NOSE | EYES | EARS | HAIR | NECK)
#define BELOW_HEAD (CHEST | GROIN | VITALS | ARMS | HANDS | LEGS | FEET)
#define BELOW_CHEST (GROIN | VITALS | LEGS | FEET) //for water
Expand Down
6 changes: 6 additions & 0 deletions code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@ GLOBAL_LIST_INIT(our_forest_sex, typecacheof(list(
#define ishalfelf(A) (is_species(A, /datum/species/human/halfelf))
#define istiefling(A) (is_species(A, /datum/species/tieberian))

//RT Kaizoku Species
#define isabyssariad(A) (is_species(A, /datum/species/abyssariad))
Catalaria marked this conversation as resolved.
Show resolved Hide resolved
#define ischangeling(A) (is_species(A, /datum/species/abyssariad/changeling))
#define isogrun(A) (is_species(A, /datum/species/abyssariad/ogrun))
#define isdenmorian(A) (is_species(A, /datum/species/abyssariad/denmorian))

//more carbon mobs
#define ismonkey(A) (istype(A, /mob/living/carbon/monkey))

Expand Down
39 changes: 39 additions & 0 deletions code/__DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
#define MOB_EPIC 1 << 7 //megafauna
#define MOB_REPTILE 1 << 8
#define MOB_SPIRIT 1 << 9
#define MOB_APOTHEOSIS 1 << 10 //Because someone made a load of Goblin IDs, so I required this.

//Organ defines for carbon mobs
#define ORGAN_ORGANIC 1
Expand Down Expand Up @@ -466,3 +467,41 @@

//SPECIAL SKIN TONES
#define SKIN_COLOR_ROT "878f79"

//DEFAULT ABYSSARIAD SKIN TONES
#define SKIN_COLOR_OATHBOUND_MUQIAN "ffe0d1"
#define SKIN_COLOR_OATHBOUND_KAIZOKU "fcccb3"
#define SKIN_COLOR_OATHBOUND_SHUHEN "edc6b3"
#define SKIN_COLOR_OATHBOUND_LINYOU "e2b9a3"
#define SKIN_COLOR_OATHBOUND_DUSTWALKER "d9a284"
#define SKIN_COLOR_WARPCASTER_MUQIAN "c9a893"
#define SKIN_COLOR_WARPCASTER_KAIZOKU "ba9882"
#define SKIN_COLOR_WARPCASTER_SHUHEN "99745d"
#define SKIN_COLOR_WARPCASTER_LINYOU "745441"
#define SKIN_COLOR_WARPCASTER_DUSTWALKER "302017"

//DENMORIAN UNIQUE SKIN TONE
#define SKIN_COLOR_PEPPERSBLOW "771111"

//OGRE SKIN TONES
#define SKIN_COLOR_DEFIANCE "bb5155" //RED DEFAULT
#define SKIN_COLOR_DEFIANCE_SANGUINE "771111"
#define SKIN_COLOR_STABILITY "6a9479"
#define SKIN_COLOR_STABILITY_INTELLECT "286940"
#define SKIN_COLOR_SERENITY "65a9ad"
#define SKIN_COLOR_SERENITY_PEACE "5958a3"
#define SKIN_COLOR_AUDACY "aa8e3a"
#define SKIN_COLOR_AUDACY_MYSTERY "635834"
#define SKIN_COLOR_BLANK_PURIFICATED "d8e1e2"


//UNDINE SKIN TONES
#define SKIN_COLOR_SWAMPCLAN "728400" //GREEN DEFAULT
#define SKIN_COLOR_JUNGLECLAN "7a5e1b"
#define SKIN_COLOR_LEAFCLAN "5ea889"
#define SKIN_COLOR_BOGCLAN "1b7a5e"
#define SKIN_COLOR_FORESTCLAN "5FB098"
#define SKIN_COLOR_SHADOWCLAN "60609e"
#define SKIN_COLOR_FIREBLOOMCLAN "E26846"
#define SKIN_COLOR_ABYSSALCLAN "a198b8"

4 changes: 2 additions & 2 deletions code/__DEFINES/roguetown.dm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//used in various places
#define ALL_RACES_LIST list("human", "dwarf", "elf", "tiefling", "aasimar", "orc", "zizombie")
#define ALL_RACES_LIST list("human", "dwarf", "elf", "tiefling", "aasimar", "orc", "zizombie", "abyssariad")

#define ALL_PLAYER_RACES_BY_NAME list("Humen", "Half-Elf", "Dark Elf", "Elf", "Dwarf","Tiefling", "Aasimar")
#define ALL_PLAYER_RACES_BY_NAME list("Humen", "Half-Elf", "Dark Elf", "Elf", "Dwarf", "Tiefling", "Aasimar", "Changeling", "Denmorian", "Ogrun", "Undine")

#define ALL_TEMPLE_PATRONS list(/datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/eora, /datum/patron/divine/pestra, /datum/patron/divine/malum)
#define ALL_CLERIC_PATRONS list(/datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/eora, /datum/patron/divine/necra, /datum/patron/divine/pestra, /datum/patron/divine/dendor, /datum/patron/divine/malum)
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/say.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
#define SPAN_DELF "delf"
#define SPAN_HELL "hellspeak"
#define SPAN_BEAST "beast"
#define SPAN_ABYSSAL "abyssal"

//bitflag #defines for return value of the radio() proc.
#define ITALICS 1
Expand Down
4 changes: 3 additions & 1 deletion code/__DEFINES/traits.dm
Catalaria marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
#define TRAIT_SHOCKIMMUNE "Shock Immunity"
#define TRAIT_LONGSTRIDER "Longstrider"
#define TRAIT_MOB_FIRE_IMMUNE "Fire Immune" // Not actual full immunity but reduces effect of fire_act()
#define TRAIT_KAIZOKU "Foglander Cultured"

#define TRAIT_BASHDOORS "bashdoors"
#define TRAIT_NOMOOD "no_mood"
Expand Down Expand Up @@ -111,7 +112,8 @@ GLOBAL_LIST_INIT(roguetraits, list(
TRAIT_SHOCKIMMUNE = "I am immune to electrical shocks.",
TRAIT_INTRAINING = "I'm going to be a knight someday! I can use training dummies more effectively than others.",
TRAIT_MALUMFIRE = "My hands are blessed by Malum to forge items of superb quality.",
TRAIT_MOB_FIRE_IMMUNE = span_info("I am not easily burned by flames."),
TRAIT_KAIZOKU = "Whether by birth or by learning, I've inherited the Islander ways instead of Imperial culture.",
TRAIT_MOB_FIRE_IMMUNE = span_info("I am not easily burned by flames.")
))

// trait accessor defines
Expand Down
3 changes: 2 additions & 1 deletion code/_globalvars/bitfields.dm
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,8 @@ GLOBAL_LIST_INIT(bitfields, list(
"MOB_BEAST" = MOB_BEAST,
"MOB_EPIC" = MOB_EPIC,
"MOB_REPTILE" = MOB_REPTILE,
"MOB_SPIRIT" = MOB_SPIRIT
"MOB_SPIRIT" = MOB_SPIRIT,
"MOB_APOTHEOSIS" = MOB_APOTHEOSIS
),
"fovangle" = list (
"FOV_DEFAULT" = FOV_DEFAULT,
Expand Down
3 changes: 3 additions & 0 deletions code/controllers/subsystem/mapping.dm
Original file line number Diff line number Diff line change
Expand Up @@ -271,11 +271,14 @@ SUBSYSTEM_DEF(mapping)
++space_levels_so_far
add_new_zlevel("Empty Area [space_levels_so_far]", ZTRAITS_SPACE)

/* // Deprecated tg code, we don't have lavaland, thus we don't load it.
// load mining
if(config.minetype == "lavaland")
LoadGroup(FailedZs, "Lavaland", "map_files/Mining", "Lavaland.dmm", default_traits = ZTRAITS_LAVALAND)
else if (!isnull(config.minetype))
INIT_ANNOUNCE("WARNING: An unknown minetype '[config.minetype]' was set! This is being ignored! Update the maploader code!")
*/

#endif

if(LAZYLEN(FailedZs)) //but seriously, unless the server's filesystem is messed up this will never happen
Expand Down
13 changes: 13 additions & 0 deletions code/controllers/subsystem/rogue/devotion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -160,3 +160,16 @@
to_chat(src, "<font color='purple'>I gained [prayersesh] devotion!</font>")
return
to_chat(src, "<font color='purple'>I gained [prayersesh] devotion!</font>")

/datum/devotion/cleric_holder/proc/grant_spells_sohei(mob/living/carbon/human/H)
if(!H || !H.mind)
return

var/datum/patron/A = H.patron
var/list/spelllist = list(/obj/effect/proc_holder/spell/invoked/icebind, A.t0)
for(var/spell_type in spelllist)
if(!spell_type || H.mind.has_spell(spell_type))
continue
H.mind.AddSpell(new spell_type)
level = CLERIC_T0
max_devotion = 150
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@
"Dwarf",
"Tiefling",
"Dark Elf",
"Aasimar"
"Aasimar",
"Changeling",
"Denmorian",
"Ogrun",
"Undine"
)
maximum_possible_slots = 0

Expand Down
8 changes: 8 additions & 0 deletions code/datums/components/crafting/crafting.dm
Catalaria marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,14 @@
if(M.density)
to_chat(user, "<span class='warning'>Something in the way.</span>")
return
if(R.req_kaizoku) //Requires Fog-island/Heartfell culture.
if(HAS_TRAIT(user, TRAIT_KAIZOKU))
to_chat(user, "<span class='warning'>I literally cannot fathom how imperials do this. Case hardening? Riveting? Fullering? Fluting? What is that?</span>")
return //If abyssariad of someone from Heartfell, you can't make imperial crafts. Hopefully this will be brought over to Smithing too.
if(R.req_antikaizoku) //Requires Imperial or 'else' culture.
if(!HAS_TRAIT(user, TRAIT_KAIZOKU))
to_chat(user, "<span class='warning'>I literally cannot fathom how islanders do this. Differential hardening? Steel folding? Lost-wax casting? Tatami? What is that?</span>")
return //If not Abyssariad or someone from Heartfell, you can't make islander crafts. Hopefully this will be brought over to Smithing too.
if(R.req_table)
if(!(locate(/obj/structure/table) in T))
to_chat(user, "<span class='warning'>I need to make this on a table.</span>")
Expand Down
2 changes: 2 additions & 0 deletions code/datums/components/crafting/recipes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
var/wallcraft = FALSE
var/craftdiff = 1
var/sellprice = 0
var/req_kaizoku = FALSE
var/req_antikaizoku = FALSE
//crafting diff, every diff removes 25% chance to craft
/*
/datum/crafting_recipe/example
Expand Down
11 changes: 11 additions & 0 deletions code/datums/gods/faiths/abyssanctum.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/* Experimental for later.
/datum/faith/goodabyssanctum //non-antagonistic
name = "Abyssanctum" //Reformulated abyssanctum, considered 'the true' abyssanctum since it is the one settled by the heavenly emperor to be so.
desc = "The faith that bridges Fog Island and Heartfelt. May Abyssor's boudless depth cleanse our souls, the one whom hold shred of Weeper's divinity, the key of the world, the tears."
godhead = /datum/patron/goodabyssanctum/abyssor

/datum/faith/evilabyssanctum //Antagonistic
name = "Traditional Abyssanctum"
desc = "The faith of wild raiders of the oceans, fractured abyssariads whom believes no god is worthy of worship but Abyssor and the Weeper. May Abyssor's eternal gaze shield the souls of the fallen kin."
godhead = /datum/patron/evilabyssanctum/abyssor
*/
48 changes: 48 additions & 0 deletions code/datums/gods/patrons/abyssanctum.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/* Experimental for later.
/datum/patron/goodabyssanctum
name = null
associated_faith = /datum/faith/goodabyssanctum
t0 = /obj/effect/proc_holder/spell/invoked/lesser_heal/abyssal

/datum/patron/evilabyssanctum
name = null
associated_faith = /datum/faith/evilabyssanctum
t0 = /obj/effect/proc_holder/spell/invoked/lesser_heal/abyssal

/datum/patron/goodabyssanctum/abyssor
name = "Abyssanctum"
domain = "Force of Seas and Storms"
desc = "The World-Whale, the sovereign of the seas and storms."
flaws= "Reckless, Stubborn, Destructive"
worshippers = "Sailors of the Sea and Sky, Horrid Sea-Creachers, Fog Islanders"
sins = "Fear, Hubris, Trying to Tame the Seas"
t0 = /obj/effect/proc_holder/spell/invoked/lesser_heal/abyssal
t1 = /obj/effect/proc_holder/spell/invoked/projectile/purify //Unfinished
t2 = /obj/effect/proc_holder/spell/invoked/icebind //Unfinished
t3 = null
// t3 = /obj/effect/proc_holder/spell/invoked/elemental //Not finished.
confess_lines = list(
"THIS SUFFERING IS WITHOUT PURPOSE! I AM ONE OF YOU! HALT YOUR WRATH!",
"I AM NO FOE! RELEASE ME FROM THIS TORMENT!",
"YOU THINK THE WEEPER AND ABYSSOR IS NOT WATCHING YOUR FAIL?! I'M ONE OF YOU!",
"THIS STRIKE BETRAYS OUR SHARED PATH! THIS PAIN IS A SACRILEGE, I AM OF YOUR CREED!",
)

/datum/patron/evilabyssanctum/abyssor
name = "Traditional Abyssanctum"
domain = "Force of Seas and Storms"
desc = "The World-Whale, the sovereign of the seas and storms."
flaws= "Reckless, Stubborn, Destructive"
worshippers = "Sailors of the Sea and Sky, Horrid Sea-Creachers, Fog Islanders"
sins = "Fear, Hubris, Trying to Tame the Seas"
t0 = /obj/effect/proc_holder/spell/invoked/lesser_heal/abyssal
t1 = /obj/effect/proc_holder/spell/invoked/projectile/purify //Unfinished
t2 = /obj/effect/proc_holder/spell/invoked/icebind //Unfinished
t3 = null
// t3 = /obj/effect/proc_holder/spell/invoked/elemental //Not finished.
confess_lines = list(
"YOU PRAISE GODS OF THIEVING, THE DIVINE THRONE WAS STOLEN!",
"YOU DARE TURN AGAINST THE SACRED? DIE A WHALER'S DEATH!",
"HERETIC! YOU'LL PAY FOR YOUR BLASPHEMY WITH BLOOD! BE CAST INTO THE WAVES!",
)
*/
5 changes: 5 additions & 0 deletions code/datums/gods/patrons/divine_pantheon.dm
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@
flaws= "Reckless, Stubborn, Destructive"
worshippers = "Sailors of the Sea and Sky, Horrid Sea-Creachers, Fog Islanders"
sins = "Fear, Hubris, Trying to Tame the Seas"
t0 = /obj/effect/proc_holder/spell/invoked/lesser_heal/abyssal
t1 = /obj/effect/proc_holder/spell/invoked/projectile/purify
t2 = /obj/effect/proc_holder/spell/invoked/icebind
t3 = null
// t3 = /obj/effect/proc_holder/spell/invoked/elemental //Not finished.

/datum/patron/divine/necra
name = "Necra"
Expand Down
90 changes: 90 additions & 0 deletions code/datums/status_effects/rogue/debuff.dm
Original file line number Diff line number Diff line change
Expand Up @@ -405,3 +405,93 @@
name = "Chilled"
desc = "I can barely feel my limbs!"
icon_state = "chilled"


//////////////////////Kaizoku stuff//////////////////

//frozentomb

/datum/status_effect/abyssaltomb //Abyssor-followers should instantly break away from this coffin.
id = "abyssor_frozen"
status_type = STATUS_EFFECT_UNIQUE
duration = -1
examine_text = "You've been frozen within an abyssal tomb."
alert_type = /atom/movable/screen/alert/status_effect/frozen
var/obj/structure/abyssaltomb/tomb
var/attempts = 0 // special feature that increases difficulty with each failed struggle attempt against the ice coffin. Or that's what I intended for it to be.

/atom/movable/screen/alert/status_effect/frozen
name = "Abyssal Submission"
desc = "Imprisoned by frozen tides, beneath the deep blue."
icon_state = "intomb"
icon = 'icons/roguetown/kaizoku/misc/screen_alert.dmi'

//Normal Freeze

/atom/movable/screen/alert/status_effect/debuff/freezing //the abyss is cold.
name = "Abyssal Frostnip"
desc = "<span class='boldwarning'>Frost-bitten and touched by the ancient god, seeping through time and existence. The god feels, spreads and carves your skin.</span>\n" //that's abyssor.
icon_state = "freezing"
icon = 'icons/roguetown/kaizoku/misc/screen_alert.dmi'

/atom/movable/screen/alert/status_effect/debuff/freezing/severe //the abyss is VERY cold.
name = "Abyssal Frostbite"
desc = "<span class='boldwarning'>It carries his touch, the cold for those who trespassed his domain. Ice crystals carves patterns upon where he gazes, the stare is on you.</span>\n" //that's abyssor.
icon_state = "freezing_severe"
icon = 'icons/roguetown/kaizoku/misc/screen_alert.dmi'

/datum/status_effect/debuff/freezing
id = "freezing"
alert_type = /atom/movable/screen/alert/status_effect/debuff/freezing
duration = 30 SECONDS
effectedstats = list("speed" = -3, "endurance" = -2)

/datum/status_effect/debuff/freezing/tick()
if(iscarbon(owner))
var/mob/living/carbon/C = owner
C.adjustOxyLoss(-6, 0) //it will actually allow you to breath underwater.
if(prob(50))
C.adjustFireLoss(2)
C.Jitter(3)

/datum/status_effect/debuff/freezing/on_apply()
if(iscarbon(owner))
var/mob/living/carbon/C = owner
to_chat(C, "<span class='info'>The frigid spike manifests supernatural cold within me.</span>")

/datum/status_effect/debuff/freezing/on_remove()
if(iscarbon(owner))
var/mob/living/carbon/C = owner
C.remove_status_effect(/datum/status_effect/debuff/freezing)
to_chat(C, "<span class='info'>I feel the suffocating cold vanishing, as body warmth returns to me.</span>")
// severe freezing

/datum/status_effect/debuff/freezing
id = "freezing"
alert_type = /atom/movable/screen/alert/status_effect/debuff/freezing/severe
duration = 30 SECONDS
effectedstats = list("speed" = -5, "endurance" = -4, "strength" = -2)

/datum/status_effect/debuff/freezing/severe/on_apply()
if(iscarbon(owner))
var/mob/living/carbon/C = owner
if(C.has_status_effect(/datum/status_effect/debuff/freezing))
C.remove_status_effect(/datum/status_effect/debuff/freezing)
to_chat(C, "<span class='info'>The biting cold intensified. Cold, abyssal tendrils roams and invades the surface of my skin.</span>")
else
to_chat(C, "<span class='info'>Torturous, carving frost upon my core! It reaches down into my spine in soul-rending agony!</span>")
return ..()

/datum/status_effect/debuff/freezing/severe/on_remove()
if(iscarbon(owner))
var/mob/living/carbon/C = owner
C.apply_status_effect(/datum/status_effect/debuff/freezing)// Allows transition from severe freezing to normal freezing. Your body is warming up.
to_chat(C, "<span class='info'>The excruciating icy tendrils retreats, leaving behind a bone-chilling cold weighting upon my muscles.</span>")

/datum/status_effect/debuff/freezing/severe/tick()
if(iscarbon(owner))
var/mob/living/carbon/C = owner
C.adjustOxyLoss(-6, 0) // Same underwater breathing
if(prob(50))
C.adjustFireLoss(4)
C.Jitter(3)
10 changes: 10 additions & 0 deletions code/datums/stress/negative_events.dm
Original file line number Diff line number Diff line change
Expand Up @@ -288,3 +288,13 @@
timer = 60 MINUTES
stressadd = 1
desc = "<span class='red'>I feel useless...</span>"

/datum/stressevent/raider
timer = 1 MINUTES
stressadd = 1
desc = "<span class='red'>Vicious sea raider, they prey on fellow men.</span>"

/datum/stressevent/whaler
timer = 1 MINUTES
stressadd = 1
desc = "<span class='red'>Filthy corrupted whaler. Never forget the Storm Lord.</span>"
Loading
Loading