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
1 change: 1 addition & 0 deletions code/datums/character_flaw/_character_flaw.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ GLOBAL_LIST_INIT(character_flaws, list(
//Caustic edit
"Bottomless"=/datum/charflaw/bottomless,
"Asundered Mind"=/datum/charflaw/mind_broken,
"Combat Adverse"=/datum/charflaw/combat_adverse,
//Caustic edit end
"Hunted"=/datum/charflaw/hunted,
/datum/charflaw/mind_broken::name = /datum/charflaw/mind_broken,
Expand Down
33 changes: 33 additions & 0 deletions code/game/objects/structures/crates_lockers/roguetown.dm
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,39 @@
var/I = pickweight(loot)
new I(src)

//Caustic Edit
/obj/structure/closet/crate/chest/gravechest

/obj/structure/closet/crate/chest/gravechest/PopulateContents()
var/list/loot = list(/obj/item/rogueweapon/huntingknife/idagger/steel=10,
/obj/item/rogueweapon/mace/steel=10,
/obj/item/rogueweapon/pick=20,
/obj/item/rogueweapon/shovel=20,
/obj/item/clothing/suit/roguetown/armor/gambeson=15,
/obj/item/clothing/suit/roguetown/armor/leather=15,
/obj/item/ingot/iron=20,
/obj/item/ingot/gold=5,
/obj/item/ingot/silver=3,
/obj/item/riddleofsteel=1,
/obj/item/roguegem/ruby=2,
/obj/item/roguegem/blue=3,
/obj/item/roguegem/violet=4,
/obj/item/roguegem/green=6,
/obj/item/roguegem/yellow=10,
/obj/item/roguecoin/silver/pile=2,
/obj/item/roguecoin/gold/pile=6,
/obj/item/storage/belt/rogue/pouch/coins/mid=8,
/obj/item/storage/belt/rogue/pouch/coins/rich=8,
/obj/item/storage/backpack/rogue/satchel/otavan=30,
/obj/item/roguestatue/gold/loot=1,
/obj/item/clothing/neck/roguetown/talkstone=2)

var/i
for(i=0, i<3, i++)
var/I = pickweight(loot)
new I(src)
//Caustic Edit End

/obj/structure/closet/crate/roguecloset
name = "closet"
desc = "A simple wooden closet, used to store whatever it is you would like out of sight."
Expand Down
6 changes: 3 additions & 3 deletions code/modules/client/preferences_toggles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,16 @@
else
to_chat(src, "Screen shake disabled.")

/client/verb/masked_examine()
/client/verb/masked_examine() //Caustic Edit - Just... fixing this up everywhere it's used to be consistent. And not stupidly inversed? If this is true, it's ALLOWING the info.
set category = "Options"
set name = "Toggle Masked Examine"
if(prefs)
prefs.masked_examine = !prefs.masked_examine
prefs.save_preferences()
if(!prefs.masked_examine)
if(prefs.masked_examine)
to_chat(src, "Your character information will be viewable when masked.")
else
to_chat(src, "Your character information will no longer be viewable when masked.")
to_chat(src, "Your character information will no longer be viewable when masked.") //Caustic Edit End

/client/verb/mute_animal_emotes()
set category = "Options"
Expand Down
4 changes: 4 additions & 0 deletions code/modules/mob/living/carbon/human/human_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -195,3 +195,7 @@
var/can_do_sex = TRUE

fovangle = FOV_DEFAULT

//Caustic Edit
var/time_of_last_move = 0
//Caustic Edit End
4 changes: 2 additions & 2 deletions code/modules/mob/living/carbon/human/human_topic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ GLOBAL_VAR_INIT(year_integer, text2num(year)) // = 2013???
// NEXT ROW
dat += "<tr>"
dat += "<td style='width:16%;text-align:left;vertical-align: text-top'>"
if(intellectual && (!obscured_name || !H.client?.prefs.masked_examine))
if(intellectual && (!obscured_name || H.client?.prefs.masked_examine))
dat += "<b>STATS:</b><br><br>"
if(!is_guarded)
dat +=("STR: \Roman [H.STASTR]<br>")
Expand Down Expand Up @@ -366,7 +366,7 @@ GLOBAL_VAR_INIT(year_integer, text2num(year)) // = 2013???
dat += "</td>"

dat += "<td style='width:40%;text-align:center;vertical-align: text-top'>"
if(!is_guarded && !is_stupid && (!obscured_name || !H.client?.prefs.masked_examine)) //We don't see Guarded people's skills at all.
if(!is_guarded && !is_stupid && (!obscured_name || H.client?.prefs.masked_examine)) //We don't see Guarded people's skills at all.
dat += "<b>SKILLS:</b><br><br>"
var/list/wornstuff = list(H.backr, H.backl, H.beltl, H.beltr)
if(!is_normal && !is_smart) //At minimum we get to see the skills of the weapons the person is holding, if we have them.
Expand Down
3 changes: 3 additions & 0 deletions code/modules/mob/living/carbon/human/life.dm
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,9 @@
//Caustic Edit - Adding an on_moved call for flaws!
/mob/living/carbon/human/Moved(atom/OldLoc, Dir)
. = ..()
if(mind)
time_of_last_move = world.time //This keeps track of the tick count since the human mob last moved, to be referenced later at any time! Only bothering to track it if the mob has a mind, IE a player (for stopping hunger and thirst loss currently!)

if(charflaw && !charflaw.ephemeral && mind)
charflaw.flaw_on_moved(src, OldLoc, Dir)
//Caustic Edit End
Expand Down
6 changes: 4 additions & 2 deletions code/modules/mob/living/carbon/human/species.dm
Original file line number Diff line number Diff line change
Expand Up @@ -976,7 +976,8 @@ GLOBAL_LIST_EMPTY(roundstart_races)
H.Jitter(5)
hunger_rate = 10 * HUNGER_FACTOR*/
// hunger_rate *= H.physiology.hunger_mod
H.adjust_nutrition(-hunger_rate)
if(!H.mind || world.time < H.time_of_last_move + 10 MINUTES)
H.adjust_nutrition(-hunger_rate)

var/obj/item/organ/breasts/breasts = H.has_breasts()
if(breasts)
Expand All @@ -994,7 +995,8 @@ GLOBAL_LIST_EMPTY(roundstart_races)
// THEY HUNGER
var/hunger_rate = HUNGER_FACTOR
// hunger_rate *= H.physiology.hunger_mod
H.adjust_hydration(-hunger_rate)
if(!H.mind || world.time < H.time_of_last_move + 10 MINUTES)
H.adjust_hydration(-hunger_rate)


if (H.nutrition > NUTRITION_LEVEL_FULL)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,11 @@ GLOBAL_LIST_INIT(animal_to_undead, list(
/datum/component/deadite_animal_reanimation
var/reanimation_timer
var/undead_to_spawn
var/attempt_later_reanimate //Caustic Edit - Var to only attempt a loop of the timer this many times

/datum/component/deadite_animal_reanimation/Initialize()
attempt_later_reanimate = 3 //Caustic Edit - Init the loop counter

if(!istype(parent, /mob/living/simple_animal))
return COMPONENT_INCOMPATIBLE

Expand All @@ -59,6 +62,21 @@ GLOBAL_LIST_INIT(animal_to_undead, list(

/datum/component/deadite_animal_reanimation/proc/reanimate()
var/mob/living/simple_animal/mob = parent

//Caustic Edit - Add a prevention and loop the timer if someone living is nearby
if(attempt_later_reanimate > 0)
var/client_mobs = get_hearers_in_range(6, mob, SPATIAL_GRID_CONTENTS_TYPE_CLIENTS)
if(length(client_mobs))
for(var/mob/living/player_mob as anything in client_mobs)
if(player_mob.stat == CONSCIOUS)
attempt_later_reanimate--
if(attempt_later_reanimate >= 0)
reanimation_timer = addtimer(CALLBACK(src, PROC_REF(reanimate)), 1.5 MINUTES, TIMER_STOPPABLE)
else
UnregisterFromParent()
return
//Caustic Edit End

if(!prob(get_reanimation_chance()) || QDELETED(mob) || mob.stat != DEAD)
UnregisterFromParent()
return
Expand Down
Loading
Loading