Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
83 changes: 44 additions & 39 deletions code/__DEFINES/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,42 +15,48 @@
#define ISDIAGONALDIR(d) (d&(d-1))

//Human Overlays Indexes/////////
#define JOYBRINGER_LAYER 55
#define BLACK_ROT_LAYER 54
#define POTENCE_LAYER 53
#define MUTATIONS_LAYER 52 //mutations. Tk headglows, cold resistance glow, etc
#define CLOAK_BEHIND_LAYER 51
#define HANDS_BEHIND_LAYER 50
#define BELT_BEHIND_LAYER 49
#define BACK_BEHIND_LAYER 48
#define BODY_BEHIND_LAYER 47 //certain mutantrace features (tail when looking south) that must appear behind the body parts
#define BODY_UNDER_LAYER 46 // Things under the bodyparts but above the "behind body" layer
#define BODYPARTS_LAYER 45 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
#define BODY_ADJ_LAYER 44 //certain mutantrace features (snout, body markings) that must appear above the body parts
#define BODY_LAYER 43 //underwear, undershirts, socks, eyes, lips(makeup)
#define FRONT_MUTATIONS_LAYER 42 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
#define DAMAGE_LAYER 41 //damage indicators (cuts and burns)
#define LEG_PART_LAYER 40
#define LEGWEAR_LAYER 39
#define PANTS_LAYER 38
#define LEG_DAMAGE_LAYER 37
#define LEGSLEEVE_LAYER 36
#define SHOES_LAYER 35
#define SHOESLEEVE_LAYER 34
#define SHIRT_LAYER 33
#define WRISTS_LAYER 32
#define ARMOR_LAYER 31
#define TABARD_LAYER 30
#define BELT_LAYER 29 //only when looking south
#define UNDER_CLOAK_LAYER 28
#define HANDS_PART_LAYER 27
#define GLOVES_LAYER 26
#define ARM_DAMAGE_LAYER 25
#define SHIRTSLEEVE_LAYER 24
#define WRISTSLEEVE_LAYER 23
#define ARMORSLEEVE_LAYER 22
#define GLOVESLEEVE_LAYER 21
#define RING_LAYER 20
//Caustic Edit - I give up, I tried to avoid adding new layers for genitals and everything, but I think I have to at this point aaaaaa.
#define JOYBRINGER_LAYER 60
#define BLACK_ROT_LAYER 59
#define POTENCE_LAYER 58
#define MUTATIONS_LAYER 57 //mutations. Tk headglows, cold resistance glow, etc
#define CLOAK_BEHIND_LAYER 56
#define HANDS_BEHIND_LAYER 55
#define BELT_BEHIND_LAYER 54
#define BACK_BEHIND_LAYER 53
#define BODY_BEHIND_LAYER 52 //certain mutantrace features (tail when looking south) that must appear behind the body parts
#define BODY_UNDER_LAYER 51 // Things under the bodyparts but above the "behind body" layer
#define BODYPARTS_LAYER 50 //Initially "AUGMENTS", this was repurposed to be a catch-all bodyparts flag
#define BODY_ADJ_LAYER 49 //certain mutantrace features (snout, body markings) that must appear above the body parts
#define BODY_LAYER 48 //underwear, undershirts, socks, eyes, lips(makeup)
#define FRONT_MUTATIONS_LAYER 47 //mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
#define DAMAGE_LAYER 46 //damage indicators (cuts and burns)
#define LEG_PART_LAYER 45
#define LEGWEAR_LAYER 44
#define PANTS_LAYER 43
#define LEG_DAMAGE_LAYER 42
#define LEGSLEEVE_LAYER 41
#define SHOES_LAYER 40
#define SHOESLEEVE_LAYER 39
#define ASS_LAYER 38 //Caustic Added
#define TESTICLES_LAYER 37 //Caustic Added
#define CROTCH_LAYER 36 //Caustic Added
#define SHIRT_LAYER 35
#define WRISTS_LAYER 34
#define ARMOR_LAYER 33
#define TABARD_LAYER 32
#define BELT_LAYER 31 //only when looking south
#define UNDER_CLOAK_LAYER 30
#define HANDS_PART_LAYER 29
#define GLOVES_LAYER 28
#define ARM_DAMAGE_LAYER 27
#define SHIRTSLEEVE_LAYER 26
#define WRISTSLEEVE_LAYER 25
#define ARMORSLEEVE_LAYER 24
#define GLOVESLEEVE_LAYER 23
#define RING_LAYER 22
#define BELLY_LAYER 21 //Caustic Added
#define BREASTS_LAYER 20 //Caustic Added
#define GLASSES_LAYER 19
#define NECK_LAYER 18
#define CLOAK_LAYER 17 //only when looking north or west/east
Expand All @@ -70,7 +76,8 @@
#define SUNDER_LAYER 3
#define FIRE_LAYER 2 //If you're on fire
#define TURF_LAYER 1 //If you're on fire
#define TOTAL_LAYERS 55 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
#define TOTAL_LAYERS 60 //KEEP THIS UP-TO-DATE OR SHIT WILL BREAK ;_;
//Caustic Edit End

#define BACK_CLOAK_SOUTH_LAYER (BODY_BEHIND_LAYER+1)

Expand All @@ -83,8 +90,6 @@
//AND -1 MEANS "ABOVE", OK?, OK!?!
#define ABOVE_SHOES_LAYER (SHOES_LAYER-1)
//Caustic Cove edit, just puts this on top of all the other new layers. Also defining in seperate file doesn't work, likely because it doesn't see the above in a seperate file.
#define BODY_ASS_LAYER (LEG_PART_LAYER-1)
#define BODY_NOTSOFRONT_LAYER (BODY_FRONT_LAYER+1)
#define BODY_FRONTER_LAYER (BODY_FRONT_LAYER-1) // Makes mini-layers on your layers without having to add any more actual layers! Used for proper organ layers
#define BODY_FRONTEST_LAYER (BODY_FRONT_LAYER-2)
#define ABOVE_BODY_FRONT_LAYER (BODY_FRONT_LAYER-3)
Expand Down
9 changes: 9 additions & 0 deletions code/datums/combat_music.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,15 @@ GLOBAL_LIST_EMPTY(cmode_tracks_by_name)
credits = "T-87 SULFURHEAD - Snicker Snacker (https://www.youtube.com/@T87-Sulfurhead)"
musicpath = list('sound/music/cmode/adventurer/combat_outlander4.ogg')

//Caustic Edit - Added special Archivist music :3
/datum/combat_music/archivist
name = "Archivist"
desc = "May you find your book in this place."
shortname = "Archivist"
credits = "Project Moon - Library of Ruina (Netzach Battle 1 and 2) - Compiled together and uploaded by Sanu (https://www.youtube.com/watch?v=_KFlB_bMNCY)"
musicpath = list('sound/music/cmode/towner/combat_archivist.ogg')
//Caustic Edit End

/datum/combat_music/ascended
name = "Ascended"
desc = "No mortal could ever comprehend the heights to which I've risen."
Expand Down
5 changes: 4 additions & 1 deletion code/modules/admin/admin_verbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,10 @@ GLOBAL_PROTECT(admin_verbs_debug)
/client/proc/set_tod_override,
/client/proc/stresstest_chat,
/client/proc/performance_stress_test, // Uncomment these if you tick the performance stress test .dm file
/client/proc/cleanup_stress_test_mobs
/client/proc/cleanup_stress_test_mobs,
//CC Edit
/client/proc/allow_broser_inspect
//CC Edit End
)
GLOBAL_LIST_INIT(admin_verbs_possess, list(/proc/possess, GLOBAL_PROC_REF(release)))
GLOBAL_PROTECT(admin_verbs_possess)
Expand Down
11 changes: 11 additions & 0 deletions code/modules/admin/verbs/debug.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1509,3 +1509,14 @@ GLOBAL_LIST_EMPTY(loadout_selected_advclasses)
return
if(alert(usr, "Are you absolutely sure you want to reload the configuration from the default path on the disk, wiping any in-round modificatoins?", "Really reset?", "No", "Yes") == "Yes")
config.admin_reload()


//CC Edit: Heck TGUI, seriously, why is this missing!
/client/proc/allow_broser_inspect()
set category = "Debug"
set name = "Allow Browser Inspect"
set desc = ""
if(!check_rights(R_DEBUG))
return
to_chat(src, span_notice("You can now right click to use inspect on browsers."))
winset(src, null, list("browser-options" = "+devtools"))
2 changes: 2 additions & 0 deletions code/modules/clothing/clothing.dm
Original file line number Diff line number Diff line change
Expand Up @@ -602,9 +602,11 @@ BLIND // can't see anything

if(showcrits)
if(!prevent_crits)
str += "<br>"
str += "<text-align: center>"
str += "<b><font color = '#aa2121'>CRIT SUSCEPTIBLE!</font></b>"
else if(prevent_crits == PREVENT_CRITS_ALL)
str += "<br>"
str += "<text-align: center>"
str += "<b><font color = '#6890a7'>PICK RESISTANT</font></b>"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
vice_restrictions = list(/datum/charflaw/unintelligible)
allowed_races = ACCEPTED_RACES
allowed_ages = ALL_AGES_LIST
cmode_music = 'sound/music/cmode/towner/combat_towner3.ogg'
cmode_music = 'sound/music/cmode/towner/combat_archivist.ogg' //Caustic Edit - Added Archivist-unique music!

outfit = /datum/outfit/job/roguetown/archivist
display_order = JDO_ARCHIVIST
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,14 +178,18 @@
if(BODY_FRONT_LAYER)
return "FRONT"
//Caustic Edit
if(BODY_ASS_LAYER)
if(ASS_LAYER) //This one is the only one that is currently correct :<
return "ASS"
if(BODY_NOTSOFRONT_LAYER)
if(TESTICLES_LAYER) //PLEASE PLEASE PLEASE if anyone sees this, and wants to fix the names of the Iconstates in the various DMI files... I would love it. - Jon
return "NSFRONT"
if(BODY_FRONTER_LAYER)
if(BELLY_LAYER) //Fix me :<
return "FRONT"
if(BODY_FRONTEST_LAYER)
if(BREASTS_LAYER) //Me too :<
return "FRONT"
if(CROTCH_LAYER) //aAaaAAAaaa I hate the layering system
return "FRONT"
if(GLASSES_LAYER)
return "ADJ"
//Caustic End
if(BODY_FRONT_FRONT_LAYER)
return "FFRONT"
Expand Down
11 changes: 6 additions & 5 deletions code/modules/mob/dead/new_player/sprite_accessory/genitals.dm
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
/datum/sprite_accessory/penis
icon = 'icons/mob/sprite_accessory/genitals/pintle.dmi'
//Caustic Edit, adds dynamic state changes -- Also upgrade to SPLURTS icons - Jon
//Caustic Edit, adds dynamic state changes -- Also upgrade to SPLURTS icons - Jon
//color_keys = 2
color_key_name = "Member"
color_key_names = "Member" //list("Member", "Skin")
relevant_layers = list(/*BODY_BEHIND_LAYER, */BODY_FRONT_LAYER) //Vrell - Yes I know this is hacky but it works for now
relevant_layers = list(/*BODY_BEHIND_LAYER, */CROTCH_LAYER) //Giving these their own unique layers now. PLEASE PLEASE PLEASE if anyone sees this, and wants to fix the names of the Iconstates in the various DMI files... I would love it. Check _sprite_accessory.dm as well to change what string is appended to the state. I'm leaving it as "FRONT" for now so I don't have to rename them all over AGAIN... - Jon //Vrell - Yes I know this is hacky but it works for now
//Caustic Edit End

/datum/sprite_accessory/penis/adjust_appearance_list(list/appearance_list, obj/item/organ/organ, obj/item/bodypart/bodypart, mob/living/carbon/owner)
generic_gender_feature_adjust(appearance_list, organ, bodypart, owner, OFFSET_BELT, OFFSET_BELT_F)
Expand Down Expand Up @@ -107,7 +108,7 @@
/datum/sprite_accessory/testicles
icon = 'icons/mob/sprite_accessory/genitals/gonads.dmi'
color_key_name = "Sack"
relevant_layers = list(BODY_BEHIND_LAYER, BODY_NOTSOFRONT_LAYER)
relevant_layers = list(BODY_BEHIND_LAYER, TESTICLES_LAYER) //Caustic Edit - Giving these their own unique layers now. PLEASE PLEASE PLEASE if anyone sees this, and wants to fix the names of the Iconstates in the various DMI files... I would love it. Check _sprite_accessory.dm as well to change what string is appended to the state. I'm leaving it as "NSFRONT" for now so I don't have to rename them all over AGAIN... - Jon

/datum/sprite_accessory/testicles/adjust_appearance_list(list/appearance_list, obj/item/organ/organ, obj/item/bodypart/bodypart, mob/living/carbon/owner)
generic_gender_feature_adjust(appearance_list, organ, bodypart, owner, OFFSET_BELT, OFFSET_BELT_F)
Expand Down Expand Up @@ -142,7 +143,7 @@
//color_key_name = "Breasts"
color_keys = 2
color_key_names = list("Breasts", "Nipples")
relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONTEST_LAYER)
relevant_layers = list(BODY_BEHIND_LAYER, BREASTS_LAYER) //Giving these their own unique layers now. PLEASE PLEASE PLEASE if anyone sees this, and wants to fix the names of the Iconstates in the various DMI files... I would love it. Check _sprite_accessory.dm as well to change what string is appended to the state. I'm leaving it as "FRONT" for now so I don't have to rename them all over AGAIN... - Jon
//Caustic Edit end

/datum/sprite_accessory/breasts/get_icon_state(obj/item/organ/organ, obj/item/bodypart/bodypart, mob/living/carbon/owner)
Expand Down Expand Up @@ -175,7 +176,7 @@
/datum/sprite_accessory/vagina
icon = 'icons/mob/sprite_accessory/genitals/nethers.dmi'
color_key_name = "Nethers"
relevant_layers = list(BODY_FRONT_LAYER)
relevant_layers = list(CROTCH_LAYER) //Caustic Edit - Giving these their own unique layers now. PLEASE PLEASE PLEASE if anyone sees this, and wants to fix the names of the Iconstates in the various DMI files... I would love it. Check _sprite_accessory.dm as well to change what string is appended to the state. I'm leaving it as "FRONT" for now so I don't have to rename them all over AGAIN... - Jon

/datum/sprite_accessory/vagina/adjust_appearance_list(list/appearance_list, obj/item/organ/organ, obj/item/bodypart/bodypart, mob/living/carbon/owner)
generic_gender_feature_adjust(appearance_list, organ, bodypart, owner, OFFSET_BELT, OFFSET_BELT_F)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/datum/sprite_accessory/neck_feature
abstract_type = /datum/sprite_accessory/neck_feature
relevant_layers = list(BODY_ADJ_LAYER)
relevant_layers = list(GLASSES_LAYER) //Caustic Edit - Moving layers from BODY_ADJ_LAYER to GLASSES_LAYER, this puts it above breasts and belly but still under neck

/datum/sprite_accessory/neck_feature/adjust_appearance_list(list/appearance_list, obj/item/organ/organ, obj/item/bodypart/bodypart, mob/living/carbon/owner)
generic_gender_feature_adjust(appearance_list, organ, bodypart, owner, OFFSET_NECK, OFFSET_NECK_F)
Expand Down
14 changes: 14 additions & 0 deletions code/modules/mob/living/carbon/human/examine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -593,6 +593,20 @@
//Gets encapsulated with a warning span
var/list/msg = list()

//Caustic Edit - Add in the missing Virgo/Chomp code related examine strings!
var/list/vorestrings = list()
//vorestrings += examine_weight() //Nothing currently modifies this at all so... Just commented out for now until we actually add things for it.
vorestrings += examine_nutrition()
vorestrings += formatted_vore_examine()
vorestrings += examine_pickup_size()
vorestrings += examine_step_size()
vorestrings += examine_body_writing()
for(var/entry in vorestrings)
if(entry == "" || entry == null)
vorestrings -= entry
msg += vorestrings
//Caustic Edit End

var/appears_dead = FALSE
if(stat == DEAD || (HAS_TRAIT(src, TRAIT_FAKEDEATH)))
appears_dead = TRUE
Expand Down
6 changes: 6 additions & 0 deletions code/modules/tgchat/to_chat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@
if(target == world)
target = GLOB.clients

if(islist(target) && !LAZYLEN(target))
return

// Build a message
var/message = list()
if(type) message["type"] = type
Expand Down Expand Up @@ -76,6 +79,9 @@
if(target == world)
target = GLOB.clients

if(islist(target) && !LAZYLEN(target))
return

// Build a message
var/message = list()
if(type) message["type"] = type
Expand Down
10 changes: 5 additions & 5 deletions code/modules/tgui/tgui.dm
Original file line number Diff line number Diff line change
Expand Up @@ -215,11 +215,11 @@
/datum/tgui/proc/send_full_update(custom_data, force)
if(!user.client || !initialized || closing)
return
if(!COOLDOWN_FINISHED(src, refresh_cooldown))
refreshing = TRUE
addtimer(CALLBACK(src, PROC_REF(send_full_update), custom_data, force), COOLDOWN_TIMELEFT(src, refresh_cooldown), TIMER_UNIQUE)
return
refreshing = FALSE
//if(!COOLDOWN_FINISHED(src, refresh_cooldown))
//refreshing = TRUE
//addtimer(CALLBACK(src, PROC_REF(send_full_update), custom_data, force), COOLDOWN_TIMELEFT(src, refresh_cooldown), TIMER_UNIQUE)
//return
//refreshing = FALSE
var/should_update_data = force || status >= UI_UPDATE
window.send_message("update", get_payload(
custom_data,
Expand Down
8 changes: 4 additions & 4 deletions code/modules/tgui_input/text.dm
Original file line number Diff line number Diff line change
Expand Up @@ -76,19 +76,19 @@
/// The title of the TGUI window
var/title
// Whether to use a big modal variant for very large text input
var/bigmodal
//var/bigmodal
/// The TGUI UI state that will be returned in ui_state(). Default: always_state
var/datum/ui_state/state

/datum/tgui_input_text/New(mob/user, message, title, default, max_length, multiline, encode, timeout, ui_state, bigmodal)
/datum/tgui_input_text/New(mob/user, message, title, default, max_length, multiline, encode, timeout, ui_state/*, bigmodal*/)
src.default = default
src.encode = encode
src.max_length = max_length
src.message = message
src.multiline = multiline
src.title = title
src.state = ui_state
src.bigmodal = bigmodal
//src.bigmodal = bigmodal
if (timeout)
src.timeout = timeout
start_time = world.time
Expand Down Expand Up @@ -130,7 +130,7 @@
data["swapped_buttons"] = FALSE // !user.read_preference(/datum/preference/toggle/tgui_swapped_buttons)
data["title"] = title
data["spellcheck"] = FALSE // user.read_preference(/datum/preference/toggle/tgui_use_spellcheck)
data["bigmodal"] = bigmodal
//data["bigmodal"] = bigmodal
return data

/datum/tgui_input_text/ui_data(mob/user)
Expand Down
2 changes: 1 addition & 1 deletion modular_causticcove/code/modules/merporgans/belly.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,4 @@ GLOBAL_LIST_INIT(named_belly_sizes, list(
icon_state = "pair"
name = "Belly"
color_key_defaults = list(KEY_CHEST_COLOR)
relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONTER_LAYER)
relevant_layers = list(BODY_BEHIND_LAYER, BELLY_LAYER) //Giving these their own unique layers now. PLEASE PLEASE PLEASE if anyone sees this, and wants to fix the names of the Iconstates in the various DMI files... I would love it. Check _sprite_accessory.dm as well to change what string is appended to the state. I'm leaving it as "FRONT" for now so I don't have to rename them all over AGAIN... - Jon
2 changes: 1 addition & 1 deletion modular_causticcove/code/modules/merporgans/butt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ GLOBAL_LIST_INIT(named_butt_sizes, list(
/datum/sprite_accessory/butt
icon = 'modular_causticcove/icons/mob/merp_organs/butt.dmi'
color_key_name = "Butt"
relevant_layers = list(BODY_ASS_LAYER/*, BODY_FRONT_LAYER*/)
relevant_layers = list(ASS_LAYER/*, BODY_FRONT_LAYER*/)

/datum/sprite_accessory/butt/adjust_appearance_list(list/appearance_list, obj/item/organ/organ, obj/item/bodypart/bodypart, mob/living/carbon/owner)
if(!isdwarf(owner) && !isgoblinp(owner) && !iskobold(owner) && !isvermin(owner))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
icon_state = "pair"
name = "Belly"
color_key_defaults = list(KEY_CHEST_COLOR)
relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONTER_LAYER)
relevant_layers = list(BODY_BEHIND_LAYER, BELLY_LAYER) //Caustic Edit - Giving these their own unique layers now. PLEASE PLEASE PLEASE if anyone sees this, and wants to fix the names of the Iconstates in the various DMI files... I would love it. Check _sprite_accessory.dm as well to change what string is appended to the state. I'm leaving it as "FRONT" for now so I don't have to rename them all over AGAIN... - Jon

/datum/sprite_accessory/butt
icon = 'modular_causticcove/icons/mob/merp_organs/butt.dmi'
Expand Down
Loading
Loading