Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
128 commits
Select commit Hold shift + click to select a range
98c16b2
Update file permission
TheGreatKitsune Jul 24, 2025
8241c05
Merge pull request #1 from wewman222/main
TheGreatKitsune Jul 25, 2025
a5ee545
Merge pull request #2 from wewman222/main
TheGreatKitsune Jul 25, 2025
5116a87
Merge pull request #5 from wewman222/main
TheGreatKitsune Jul 26, 2025
269b58a
Merge pull request #6 from wewman222/main
TheGreatKitsune Jul 26, 2025
4f9be6b
Merge pull request #7 from wewman222/main
TheGreatKitsune Jul 26, 2025
03d646a
Merge pull request #8 from wewman222/main
TheGreatKitsune Jul 28, 2025
43d70f0
Merge pull request #9 from wewman222/main
TheGreatKitsune Jul 29, 2025
f07ddf5
Merge pull request #10 from wewman222/main
TheGreatKitsune Jul 29, 2025
76567cd
Merge pull request #11 from wewman222/main
TheGreatKitsune Jul 30, 2025
0bd491b
Merge pull request #12 from wewman222/main
TheGreatKitsune Jul 30, 2025
b86884d
Merge pull request #13 from wewman222/main
TheGreatKitsune Aug 1, 2025
448140f
Merge pull request #14 from wewman222/main
TheGreatKitsune Aug 1, 2025
1ed632b
Merge pull request #15 from wewman222/main
TheGreatKitsune Aug 7, 2025
1faeb6e
Merge pull request #16 from wewman222/main
TheGreatKitsune Aug 7, 2025
ebd4c52
Merge pull request #17 from wewman222/main
TheGreatKitsune Aug 9, 2025
614c292
Merge pull request #18 from wewman222/main
TheGreatKitsune Aug 9, 2025
bacdc72
Merge pull request #19 from wewman222/main
TheGreatKitsune Aug 10, 2025
e23b009
Merge pull request #21 from wewman222/main
TheGreatKitsune Aug 12, 2025
cff1027
Merge pull request #22 from wewman222/main
TheGreatKitsune Aug 13, 2025
0f67824
species edits
granodd Aug 14, 2025
685fa3c
Update chainmail.dm
SgtRyder Aug 14, 2025
bf0fe07
Update leather.dm
SgtRyder Aug 14, 2025
596644b
Update plate.dm
SgtRyder Aug 14, 2025
e47e510
Create sewing.dm
SgtRyder Aug 14, 2025
52bbc7a
Delete modular_causticcove/code/modules/roguetown/roguecrafting/weavi…
SgtRyder Aug 14, 2025
92acdb0
Update roguetown.dme
SgtRyder Aug 14, 2025
c797d3b
new classes
granodd Aug 14, 2025
79a59c9
annihilates pq requirements
granodd Aug 14, 2025
7804d11
gives identity
granodd Aug 14, 2025
79c70ce
polishes the taskbar icon
granodd Aug 15, 2025
24fb318
Merge pull request #23 from granodd/character_expansion
TheGreatKitsune Aug 15, 2025
c4f7849
Merge pull request #24 from SgtRyder/main
TheGreatKitsune Aug 15, 2025
c7f8a99
Merge pull request #25 from granodd/new_classes
TheGreatKitsune Aug 15, 2025
4f77a4f
Merge pull request #26 from granodd/total_pq_annihilation
TheGreatKitsune Aug 15, 2025
6a4a05c
Merge pull request #27 from granodd/lobby_art
TheGreatKitsune Aug 15, 2025
ea27328
Merge pull request #28 from wewman222/main
TheGreatKitsune Aug 15, 2025
d9f9e73
add class, fix typo, buff knight cap
granodd Aug 19, 2025
c222c1f
lets combat classes have fun
granodd Aug 19, 2025
661992e
Merge pull request #29 from granodd/unarmored_defense
TheGreatKitsune Aug 19, 2025
9db761c
Update eora.dm
DuskLight9978 Aug 19, 2025
e2887c2
large snake tail
granodd Aug 21, 2025
6a3bacb
Merge pull request #31 from granodd/big_tails
TheGreatKitsune Aug 21, 2025
449b76f
Update guildmaster.dm
0koyote Aug 23, 2025
1ba6d66
Update steward.dm
0koyote Aug 23, 2025
513f095
various updates
granodd Aug 25, 2025
4ba6ebf
loadout expansion
granodd Aug 25, 2025
d716361
Merge pull request #33 from granodd/necras_update
TheGreatKitsune Aug 26, 2025
81d0716
Merge pull request #30 from DuskLight9978/Brings-eora-psycross-search…
TheGreatKitsune Aug 26, 2025
2d7a54c
Merge pull request #32 from 0koyote/main
TheGreatKitsune Aug 26, 2025
27df9a6
Merge pull request #34 from granodd/expanded_loadouts
TheGreatKitsune Aug 26, 2025
a66776a
renames things
granodd Aug 26, 2025
f702ddb
Merge pull request #35 from granodd/renaming
TheGreatKitsune Aug 26, 2025
d977d2a
comments out major stress
granodd Aug 28, 2025
12a9967
Merge pull request #36 from granodd/remove_vibe_killers
TheGreatKitsune Aug 28, 2025
83023bb
Update captain.dm
SadStarfish7 Aug 29, 2025
1bb7177
Update veteran.dm
SadStarfish7 Aug 29, 2025
0f55565
various things
granodd Aug 30, 2025
7a9c8f3
comment out the old
granodd Aug 30, 2025
242e6a4
fixes taur armor
granodd Aug 30, 2025
11d8590
Merge pull request #39 from granodd/assorted_changes
TheGreatKitsune Aug 30, 2025
3f472b4
Map changes
Dhaeleena Sep 1, 2025
2669a34
Merge pull request #40 from Dhaeleena/main
TheGreatKitsune Sep 3, 2025
91d8f28
Merge pull request #38 from SadStarfish7/SadStarfish7-smart-vets
TheGreatKitsune Sep 3, 2025
4d84759
Goldface fix
SadStarfish7 Sep 3, 2025
cfd82af
remove grim endround messages
granodd Sep 3, 2025
2792dfa
Does the ghost thing
Ldip999 Sep 4, 2025
2b69e74
Fixes say from tummy
Ldip999 Sep 4, 2025
54ec52f
drow skeleton head price fix
SadStarfish7 Sep 5, 2025
4865431
Test?
Ldip999 Sep 5, 2025
0151dea
It just works TM
Ldip999 Sep 5, 2025
a54d5a9
Organ Correction
Dinnel Sep 5, 2025
643bb00
Merge pull request #41 from SadStarfish7/main
TheGreatKitsune Sep 5, 2025
11fc4ab
Merge pull request #42 from granodd/remove_endmessage
TheGreatKitsune Sep 5, 2025
4639e93
Merge pull request #43 from loservillage/vore-ghostsies
TheGreatKitsune Sep 5, 2025
484a34b
Merge pull request #44 from loservillage/zlevel-clownery
TheGreatKitsune Sep 5, 2025
7343a8c
Merge pull request #45 from SadStarfish7/drowskeleheadfix
TheGreatKitsune Sep 5, 2025
f80fc22
Merge pull request #46 from Dinnel/CC-2.0-Dinn-Edit
TheGreatKitsune Sep 5, 2025
92a6f70
allows ghosts to use LOOC
granodd Sep 7, 2025
f85325b
Fixes reform portals
Ldip999 Sep 7, 2025
22a94d1
Merge pull request #47 from granodd/ghost_LOOC
TheGreatKitsune Sep 7, 2025
82de21f
Merge pull request #48 from loservillage/ghost-fix
TheGreatKitsune Sep 7, 2025
b512bed
Picking peeps up, and eating them from hand
Ldip999 Sep 7, 2025
8cda9e1
Pref testing
Ldip999 Sep 7, 2025
16b8436
bug fix
Ldip999 Sep 7, 2025
be50d95
Bugfix for double sprites and getting qdeleted when drop-equipping so…
Ldip999 Sep 7, 2025
b44a63a
NPCs resist out of being micro grabbed
Ldip999 Sep 7, 2025
08f3210
Skill check
Ldip999 Sep 7, 2025
7dbec1b
OOC escape
Ldip999 Sep 7, 2025
36fcb29
Size categories
Ldip999 Sep 7, 2025
582e8a3
standardized sprites
Ldip999 Sep 7, 2025
56a1314
Puts it into vore tab
Ldip999 Sep 7, 2025
64ef339
Merge pull request #49 from loservillage/size-interractions
TheGreatKitsune Sep 8, 2025
58965dd
My mistake original gangster
Ldip999 Sep 8, 2025
4cb19e8
Merge pull request #52 from loservillage/size-interractions
TheGreatKitsune Sep 8, 2025
957049d
Merge branch 'main' into Sizecat
Ldip999 Sep 8, 2025
aa75e09
Merge branch 'main' into sprite-normalizing
Ldip999 Sep 8, 2025
b8723e6
More Loadout Stuffs
Sep 8, 2025
1c3f0d8
Update loadout.dm
Sep 8, 2025
3a1f8d9
Merge pull request #50 from loservillage/Sizecat
TheGreatKitsune Sep 8, 2025
7970f89
Merge pull request #53 from UniquaSa/clothesset
TheGreatKitsune Sep 8, 2025
6faa0ff
Merge branch 'main' into sprite-normalizing
Ldip999 Sep 9, 2025
36e2a4a
Merge pull request #51 from loservillage/sprite-normalizing
TheGreatKitsune Sep 9, 2025
602a213
The Great Liquid Fix of '25
SadStarfish7 Sep 9, 2025
5ec1236
Scooping up now toggles rest to standing up before being picked up
Ldip999 Sep 9, 2025
4d29802
Maybe this one better?
Ldip999 Sep 9, 2025
d75bbf2
Maybe this will fix?
Ldip999 Sep 9, 2025
040c5d1
Nat armor
Ldip999 Sep 9, 2025
d72d39c
armor does nothing if you have skin armor
Ldip999 Sep 9, 2025
6dc9c4d
Makes stone hoes repairable
Ldip999 Sep 9, 2025
f97581f
Harpies
Ldip999 Sep 10, 2025
ddf0e3c
Miacraft (#54)
Ldip999 Sep 11, 2025
11af45c
Merge pull request #55 from SadStarfish7/liquidfix
TheGreatKitsune Sep 11, 2025
e5a403e
Merge pull request #56 from loservillage/pickup-laying-fix
TheGreatKitsune Sep 11, 2025
a8d6fcf
Merge pull request #57 from loservillage/nat-armor-for-everynyan
TheGreatKitsune Sep 11, 2025
b140bab
Merge pull request #58 from loservillage/hoe-repair
TheGreatKitsune Sep 11, 2025
9b62333
Merge branch 'main' into harpy
Ldip999 Sep 11, 2025
688fb21
Merge pull request #60 from loservillage/harpy
TheGreatKitsune Sep 11, 2025
e7269a1
Extra quirk
Ldip999 Sep 11, 2025
2828f52
makes platters craft at a time
Ldip999 Sep 11, 2025
e4edbf6
Add Several Antlers, bunny ears and bunny taur, remove color lock (#59)
Sep 12, 2025
ee8dc20
Merge pull request #61 from loservillage/extra-quirk
TheGreatKitsune Sep 12, 2025
5fe064e
Dude I can test without testing
Ldip999 Sep 12, 2025
3ed3d21
Something I also forgot to test
Ldip999 Sep 12, 2025
34a682a
micromacro interractions vol 1.1
Ldip999 Sep 12, 2025
dbbe72d
Merge pull request #63 from loservillage/various-bugfixed
TheGreatKitsune Sep 13, 2025
613d13c
Merge pull request #62 from loservillage/platter-fix
TheGreatKitsune Sep 13, 2025
f8c95f3
Merge pull request #64 from loservillage/micromacro-sametile
TheGreatKitsune Sep 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,493 changes: 1,184 additions & 309 deletions _maps/map_files/dun_world/dun_world.dmm

Large diffs are not rendered by default.

9 changes: 5 additions & 4 deletions code/__DEFINES/DNA.dm
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@
#define EYE_COLOR_LIST list("#865900", "#06b400", "#312f27", "#008e83", "#002d8e", "#c16c00")

#define MIN_PENIS_SIZE 1
#define MAX_PENIS_SIZE 3
#define MAX_PENIS_SIZE 5
#define DEFAULT_PENIS_SIZE 2

#define PENIS_TYPE_PLAIN 1
Expand All @@ -177,14 +177,15 @@

#define ERECT_STATE_NONE 0
#define ERECT_STATE_PARTIAL 1
#define ERECT_STATE_HARD 2
#define ERECT_STATE_STIFF 2
#define ERECT_STATE_HARD 3

#define MIN_TESTICLES_SIZE 1
#define MAX_TESTICLES_SIZE 3
#define MAX_TESTICLES_SIZE 5
#define DEFAULT_TESTICLES_SIZE 2

#define MIN_BREASTS_SIZE 0
#define MAX_BREASTS_SIZE 10
#define MAX_BREASTS_SIZE 16
#define DEFAULT_BREASTS_SIZE 3

#define DEFAULT_BELLY_SIZE 0
Expand Down
4 changes: 3 additions & 1 deletion code/__DEFINES/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,9 @@

//AND -1 MEANS "ABOVE", OK?, OK!?!
#define ABOVE_SHOES_LAYER (SHOES_LAYER-1)
#define ABOVE_BODY_FRONT_LAYER (BODY_FRONT_LAYER-1)
#define ABOVE_BODY_FRONT_LAYER (BODY_FRONT_LAYER-3)
#define BODY_FRONTER_LAYER (BODY_FRONT_LAYER-1) // Put it on top of the top, silly!
#define BODY_FRONTEST_LAYER (BODY_FRONT_LAYER-2)

//Security levels
#define SEC_LEVEL_GREEN 0
Expand Down
7 changes: 7 additions & 0 deletions code/__DEFINES/roguetown.dm
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@
//Antag / Special / Unique armor defines
#define ARMOR_VAMP list("blunt" = 100, "slash" = 100, "stab" = 90, "piercing" = 0, "fire" = 0, "acid" = 0)
#define ARMOR_WWOLF list("blunt" = 100, "slash" = 90, "stab" = 80, "piercing" = 70, "fire" = 40, "acid" = 0)
#define ARMOR_NATURAL list("blunt" = 100, "slash" = 70, "stab" = 60, "piercing" = 40, "fire" = 0, "acid" = 0)
#define ARMOR_DRAGONSCALE list("blunt" = 100, "slash" = 100, "stab" = 100, "fire" = 50, "acid" = 0)
#define ARMOR_ASCENDANT list("blunt" = 50, "slash" = 100, "stab" = 80, "piercing" = 80, "fire" = 0, "acid" = 0)
#define ARMOR_SPELLSINGER list("blunt" = 70, "slash" = 70, "stab" = 50, "piercing" = 30, "fire" = 0, "acid" = 0)
Expand Down Expand Up @@ -213,6 +214,7 @@
/datum/species/akula,\
/datum/species/anthromorph,\
/datum/species/demihuman,\
/datum/species/harpy,\


#define RACES_SHUNNED \
Expand Down Expand Up @@ -255,6 +257,7 @@
/datum/species/kobold,\
/datum/species/goblinp,\
/datum/species/construct/metal,\
/datum/species/harpy,\
)

#define CLOTHED_RACES_TYPES list(\
Expand All @@ -279,6 +282,7 @@
/datum/species/kobold,\
/datum/species/goblinp,\
/datum/species/construct/metal,\
/datum/species/harpy,\
)
// Non-dwarf non-kobold non-goblin mostly
#define NON_DWARVEN_RACE_TYPES list(\
Expand All @@ -299,6 +303,7 @@
/datum/species/demihuman,\
/datum/species/halforc,\
/datum/species/construct/metal,\
/datum/species/harpy,\
)
// Non-elf non-dwarf non-kobold non-goblin mostly
#define HUMANLIKE_RACE_TYPES list(\
Expand All @@ -315,6 +320,7 @@
/datum/species/anthromorph,\
/datum/species/demihuman,\
/datum/species/construct/metal,\
/datum/species/harpy,\
)
#define ALL_CLERIC_PATRONS list(/datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/dendor, /datum/patron/divine/necra, /datum/patron/divine/pestra, /datum/patron/divine/ravox, /datum/patron/divine/malum, /datum/patron/divine/eora) // Currently unused.

Expand Down Expand Up @@ -397,6 +403,7 @@ GLOBAL_LIST_EMPTY(round_join_times)
#define CTAG_PILGRIM "CAT_PILGRIM" // Pilgrim classes
#define CTAG_ADVENTURER "CAT_ADVENTURER" // Adventurer classes
#define CTAG_TOWNER "CAT_TOWNER" // Villager class - Villagers can use it
#define CTAG_SHOPHAND "CAT_SHOPHAND" // Shophand classes
#define CTAG_ANTAG "CAT_ANTAG" // Antag class - results in an antag
#define CTAG_BANDIT "CAT_BANDIT" // Bandit class - Tied to the bandit antag really
#define CTAG_CHALLENGE "CAT_CHALLENGE" // Challenge class - Meant to be free for everyone
Expand Down
6 changes: 6 additions & 0 deletions code/__DEFINES/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@
#define TRAIT_INFINITE_ENERGY "Boundless Energy" //infinite fatigue (blue bar) but not infinite stamina
#define TRAIT_PERMAMUTE "Permanent Mute"
#define TRAIT_HERESIARCH "Forbidden Knowledge" //allows entry to ascendant church
#define TRAIT_FERAL "Feral Natured" //likes being in the woods, hates being in the city
#define TRAIT_NECRAS_ABATEMENT "Necra's Abatement" //keeps deadites from doing much of anything in town


//Hearthstone port (Tracking)
Expand Down Expand Up @@ -164,6 +166,7 @@
#define TRAIT_NECRAS_VOW "Necra's Vow"
// ARMOR / CLOTHING GIVEN TRAITS (GIVEN BY WEARING CLOTHES/ARMOR PIECES)
#define TRAIT_MONK_ROBE "Holy Vestatures"
#define TRAIT_NATURAL_ARMOR "Natural Armor"

GLOBAL_LIST_INIT(roguetraits, list(
TRAIT_LEPROSY = span_necrosis("I'm a disgusting leper..."),
Expand Down Expand Up @@ -296,6 +299,9 @@ GLOBAL_LIST_INIT(roguetraits, list(
TRAIT_PERMAMUTE = span_notice("I am a mute. I cannot speak."),
TRAIT_STRENGTH_UNCAPPED = span_warning("MY STRENGTH IS UNBOUND!"),
TRAIT_MONK_ROBE = span_notice("I feel closer to the gods in my meager robes.. I feel vigorous, empowered by their light!"),
TRAIT_NATURAL_ARMOR = span_notice("My hide is thick and resilient. It will regenerate so long as I keep it fed..."),
TRAIT_FERAL = span_info("The wilds is where I am meant to be. Civilized realms are no place for the likes of me."),
TRAIT_NECRAS_ABATEMENT = span_info("The Undermaiden's gaze lingers upon me, and intensifies as I draw closer to hallowed ground."),
TRAIT_EORAN_CALM = span_notice("Eora has touched me, granting me some calm. She protects me from the peaks of my stress."),
TRAIT_EORAN_SERENE = span_greentext("Eora has blessed me with all-encompassing serenity. I feel no more stress."),
TRAIT_NECRAS_VOW = span_warning("I've pledged myself to Necra. If I fall, I am Hers."),
Expand Down
4 changes: 4 additions & 0 deletions code/__HELPERS/global_lists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@
var/datum/virtue/virtue = new path()
GLOB.virtues[path] = virtue

for (var/path in subtypesof(/datum/sizecat))
var/datum/sizecat/sc = new path()
GLOB.sizecats[path] = sc

// Loadout items
for (var/path in subtypesof(/datum/loadout_item))
var/datum/loadout_item/loadout_item = new path()
Expand Down
6 changes: 3 additions & 3 deletions code/__HELPERS/roundend.dm
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@
log_game("The round has ended.")

to_chat(world, "<BR><BR><BR><span class='reallybig'>So ends this tale on Azure Peak.</span>")
get_end_reason()
//get_end_reason()

var/list/key_list = list()
for(var/client/C in GLOB.clients)
Expand Down Expand Up @@ -214,7 +214,7 @@
ready_for_reboot = TRUE
standard_reboot()

/datum/controller/subsystem/ticker/proc/get_end_reason()
/*/datum/controller/subsystem/ticker/proc/get_end_reason()
var/end_reason

if(!check_for_lord())
Expand All @@ -238,7 +238,7 @@
if(end_reason)
to_chat(world, span_bigbold("[end_reason]."))
else
to_chat(world, span_bigbold("The town has managed to survive another week."))
to_chat(world, span_bigbold("The town has managed to survive another week."))*/

/datum/controller/subsystem/ticker/proc/gamemode_report()
var/list/all_teams = list()
Expand Down
14 changes: 11 additions & 3 deletions code/_globalvars/customization/organ_customization.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ GLOBAL_LIST_INIT(named_breast_sizes, list(
"gargantuan" = 8,
"colossal" = 9,
"ungodly big" = 10,
"gigantic" = 11,
"titanic" = 12,
"obscenely large" = 13,
"over-endowed" = 14,
"unholy" = 15,
"baothan-sized" = 16,
))

GLOBAL_LIST_INIT(named_belly_sizes, list(
Expand Down Expand Up @@ -70,12 +76,13 @@ GLOBAL_LIST_INIT(customizers, build_customizers())
.[type] = new type()
return .

/proc/color_pick_sanitized(mob/user, description, title, default_value, min_tag = 0.07, max_tag = 0.80)
/proc/color_pick_sanitized(mob/user, description, title, default_value)
var/color = input(user, description, title, default_value) as color|null
var/good = TRUE
//var/good = TRUE
if(!color)
return
color = sanitize_hexcolor(color)
/*
var/list/hsl = rgb2hsl(hex2num(copytext(color,1,3)),hex2num(copytext(color,3,5)),hex2num(copytext(color,5,7)))
if(hsl[3] < min_tag)
to_chat(user, span_warning("The picked color is too dark! Raising Luminosity to minimum 20%."))
Expand All @@ -87,6 +94,7 @@ GLOBAL_LIST_INIT(customizers, build_customizers())
good = FALSE
if(!good)
var/list/rgb = hsl2rgb(arglist(hsl))
color = sanitize_hexcolor("[num2hex(rgb[1])][num2hex(rgb[2])][num2hex(rgb[3])]")
color = sanitize_hexcolor("[num2hex(rgb[1])][num2hex(rgb[2])][num2hex(rgb[3])]")
*/

return color
12 changes: 12 additions & 0 deletions code/_globalvars/special_traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,17 @@ GLOBAL_LIST_INIT(special_traits, build_special_traits())
apply_charflaw_equipment(character, player)
apply_prefs_special(character, player)
apply_prefs_virtue(character, player)
apply_prefs_sizecat(character,player)
if(player.prefs.loadout)
character.mind.special_items[player.prefs.loadout::name] += player.prefs.loadout.path
if(player.prefs.loadout2)
character.mind.special_items[player.prefs.loadout2::name] += player.prefs.loadout2.path
if(player.prefs.loadout3)
character.mind.special_items[player.prefs.loadout3::name] += player.prefs.loadout3.path
if(player.prefs.loadout4)
character.mind.special_items[player.prefs.loadout4::name] += player.prefs.loadout4.path
if(player.prefs.loadout5)
character.mind.special_items[player.prefs.loadout5::name] += player.prefs.loadout5.path

/proc/apply_prefs_virtue(mob/living/carbon/human/character, client/player)
if (!player)
Expand All @@ -62,6 +67,7 @@ GLOBAL_LIST_INIT(special_traits, build_special_traits())

var/datum/virtue/virtue_type = player.prefs.virtue
var/datum/virtue/virtuetwo_type = player.prefs.virtuetwo
var/datum/virtue/extravirtue_type = player.prefs.extravirtue
if(virtue_type)
if(virtue_check(virtue_type, heretic))
apply_virtue(character, virtue_type)
Expand All @@ -72,6 +78,12 @@ GLOBAL_LIST_INIT(special_traits, build_special_traits())
apply_virtue(character, virtuetwo_type)
else
to_chat(character, "Incorrect Second Virtue parameters! (Heretic virtue on a non-heretic) It will not be applied.")
if(extravirtue_type)
if(virtue_check(extravirtue_type, heretic))
apply_virtue(character, extravirtue_type)
else
to_chat(character, "Incorrect Second Virtue parameters! (Heretic virtue on a non-heretic) It will not be applied.")


/proc/virtue_check(var/datum/virtue/V, heretic = FALSE)
if(V)
Expand Down
3 changes: 3 additions & 0 deletions code/_globalvars/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,9 @@ GLOBAL_LIST_INIT(traits_by_type, list(
TRAIT_BLACKLEG,
TRAIT_PERMAMUTE,
TRAIT_MONK_ROBE,
TRAIT_NATURAL_ARMOR,
TRAIT_FERAL,
TRAIT_NECRAS_ABATEMENT,
),
/obj/item/bodypart = list(
"TRAIT_PARALYSIS" = TRAIT_PARALYSIS
Expand Down
5 changes: 4 additions & 1 deletion code/_onclick/hud/screen_objects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,10 @@
if(H.craftingthing)
last_craft = world.time
var/datum/component/personal_crafting/C = H.craftingthing
C.roguecraft(location, control, params, H)
if(H.client.legacycraft)
C.roguecraft(location, control, params, H)
else
C.ui_interact(H)
else
testing("what")

Expand Down
8 changes: 4 additions & 4 deletions code/controllers/subsystem/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ SUBSYSTEM_DEF(job)
if(length(job.allowed_patrons) && !(player.client.prefs.selected_patron.type in job.allowed_patrons))
JobDebug("FOC incompatible with patron, Player: [player], Job: [job.title], Race: [player.client.prefs.pref_species.name]")
continue
if(length(job.virtue_restrictions) && ((player.client.prefs.virtue.type in job.virtue_restrictions) || (player.client.prefs.virtuetwo?.type in job.virtue_restrictions)))
if(length(job.virtue_restrictions) && ((player.client.prefs.virtue.type in job.virtue_restrictions) || (player.client.prefs.virtuetwo?.type in job.virtue_restrictions) || (player.client.prefs.extravirtue?.type in job.virtue_restrictions)))
JobDebug("FOC incompatible with virtues, Player: [player], Job: [job.title], Virtue 1: [player.client.prefs.virtue.name]")
continue
if(length(job.vice_restrictions) && (player.client.prefs.charflaw.type in job.vice_restrictions))
Expand Down Expand Up @@ -221,7 +221,7 @@ SUBSYSTEM_DEF(job)
JobDebug("GRJ incompatible with patron, Player: [player], Job: [job.title], Race: [player.client.prefs.pref_species.name]")
continue

if(length(job.virtue_restrictions) && ((player.client.prefs.virtue.type in job.virtue_restrictions) || (player.client.prefs.virtuetwo?.type in job.virtue_restrictions)))
if(length(job.virtue_restrictions) && ((player.client.prefs.virtue.type in job.virtue_restrictions) || (player.client.prefs.virtuetwo?.type in job.virtue_restrictions) || (player.client.prefs.extravirtue?.type in job.virtue_restrictions)))
JobDebug("GRJ incompatible with virtues, Player: [player], Job: [job.title], Virtue 1: [player.client.prefs.virtue.name]")
continue

Expand Down Expand Up @@ -463,7 +463,7 @@ SUBSYSTEM_DEF(job)
JobDebug("DO incompatible with patron, Player: [player], Job: [job.title], Race: [player.client.prefs.pref_species.name]")
continue

if(length(job.virtue_restrictions) && ((player.client.prefs.virtue.type in job.virtue_restrictions) || (player.client.prefs.virtuetwo?.type in job.virtue_restrictions)))
if(length(job.virtue_restrictions) && ((player.client.prefs.virtue.type in job.virtue_restrictions) || (player.client.prefs.virtuetwo?.type in job.virtue_restrictions) || (player.client.prefs.extravirtue?.type in job.virtue_restrictions)))
JobDebug("DO incompatible with virtues, Player: [player], Job: [job.title], Virtue 1: [player.client.prefs.virtue.name]")
continue

Expand Down Expand Up @@ -564,7 +564,7 @@ SUBSYSTEM_DEF(job)
if(length(job.allowed_patrons) && !(player.client.prefs.selected_patron.type in job.allowed_patrons))
continue

if(length(job.virtue_restrictions) && ((player.client.prefs.virtue.type in job.virtue_restrictions) || (player.client.prefs.virtuetwo?.type in job.virtue_restrictions)))
if(length(job.virtue_restrictions) && ((player.client.prefs.virtue.type in job.virtue_restrictions) || (player.client.prefs.virtuetwo?.type in job.virtue_restrictions) || (player.client.prefs.extravirtue?.type in job.virtue_restrictions)))
continue

if(length(job.vice_restrictions) && (player.client.prefs.charflaw.type in job.vice_restrictions))
Expand Down
3 changes: 2 additions & 1 deletion code/datums/components/caltrop.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@

if(ishuman(AM))
var/mob/living/carbon/human/H = AM
if(HAS_TRAIT(H, TRAIT_PIERCEIMMUNE))
var/is_taur = !!H.get_taur_tail()
if(HAS_TRAIT(H, TRAIT_PIERCEIMMUNE) || is_taur)
return

if((flags & CALTROP_IGNORE_WALKERS) && H.m_intent == MOVE_INTENT_WALK)
Expand Down
Loading
Loading