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

Watch a man lose his sanity in real time: Heretic draft, ported from TG. #27873

Draft
wants to merge 59 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
a130ab1
auugh
Qwertytoforty Jan 3, 2025
dfd1441
every day we stray further from sanity
Qwertytoforty Jan 3, 2025
55289e4
more changes
Qwertytoforty Jan 4, 2025
964aa49
added missing haunted longsword, added 50 errors
Qwertytoforty Jan 5, 2025
af02176
more progress
Qwertytoforty Jan 6, 2025
b709848
Update code/modules/antagonists/heretic/heretic_antag.dm
Qwertytoforty Jan 9, 2025
b0f0787
more changes
Qwertytoforty Jan 10, 2025
7171616
more bullshit, no more sleeping
Qwertytoforty Jan 11, 2025
368550a
more shit
Qwertytoforty Jan 12, 2025
c30fd4d
more stuff before rust gets mergefd
Qwertytoforty Jan 12, 2025
13e82f5
Merge remote-tracking branch 'upstream/master' into heretic.-What-mor…
Qwertytoforty Jan 12, 2025
e3ce69c
rust stuff
Qwertytoforty Jan 12, 2025
287d3de
more shit
Qwertytoforty Jan 12, 2025
fd491b7
auugh
Qwertytoforty Jan 13, 2025
142b8a4
more shit
Qwertytoforty Jan 13, 2025
19f4d33
file not needed
Qwertytoforty Jan 13, 2025
8d5b674
auuguhghghg
Qwertytoforty Jan 15, 2025
844a341
sdfsfsdf
Qwertytoforty Jan 16, 2025
2d40dec
remove this
Qwertytoforty Jan 17, 2025
88f2c85
every day I worry all day
Qwertytoforty Jan 17, 2025
2509d65
below 1500
Qwertytoforty Jan 17, 2025
8521f61
1393 errors
Qwertytoforty Jan 17, 2025
d448cd7
1310
Qwertytoforty Jan 17, 2025
d35a2d3
1191 errors
Qwertytoforty Jan 18, 2025
ccb4707
1129
Qwertytoforty Jan 18, 2025
c86b71b
960
Qwertytoforty Jan 18, 2025
3789475
868
Qwertytoforty Jan 18, 2025
f94e319
701. free my soul
Qwertytoforty Jan 18, 2025
21e4298
31
Qwertytoforty Jan 19, 2025
498c7ab
y2HVdB4QQPw
Qwertytoforty Jan 19, 2025
7cb4a27
spell icon code should be FUCKING SHOT
Qwertytoforty Jan 19, 2025
dbed587
fuck tgui and the hill it lives on and spells and-
Qwertytoforty Jan 19, 2025
1522947
auuguhghughuguhgu
Qwertytoforty Jan 19, 2025
16b4a9b
Merge remote-tracking branch 'upstream/master' into heretic.-What-mor…
Qwertytoforty Jan 19, 2025
a119fce
fixes this
Qwertytoforty Jan 19, 2025
4d4fb1b
TGUI WOOOORKKSK
Qwertytoforty Jan 19, 2025
1a5277e
Update ash_jaunt.dm
Qwertytoforty Jan 19, 2025
fb722bd
Merge remote-tracking branch 'upstream/master' into heretic.-What-mor…
Qwertytoforty Jan 19, 2025
25c65e6
more sht
Qwertytoforty Jan 20, 2025
a435ef8
influences, effects, better spells, sprite fixes
Qwertytoforty Jan 20, 2025
71090d7
more bullshit
Qwertytoforty Jan 20, 2025
95ce765
ifugbuiygbui
Qwertytoforty Jan 21, 2025
c045483
more stuff
Qwertytoforty Jan 21, 2025
4234491
sacrifice map
Qwertytoforty Jan 21, 2025
32c5f2e
2 working ascensions. Pog
Qwertytoforty Jan 22, 2025
3f5c781
MORE SHIT
Qwertytoforty Jan 22, 2025
3a16565
STRIKE
Qwertytoforty Jan 23, 2025
e6c968b
Merge remote-tracking branch 'upstream/master' into heretic.-What-mor…
Qwertytoforty Jan 23, 2025
e619b29
more progress
Qwertytoforty Jan 23, 2025
0b9f342
prrrrrrrrrrrogresssss
Qwertytoforty Jan 23, 2025
ce92813
bundle rebuild
Burzah Jan 23, 2025
6e27772
void pull test
Qwertytoforty Jan 23, 2025
db953dd
test if it's extended
Qwertytoforty Jan 23, 2025
9fd91f3
retesting
Qwertytoforty Jan 23, 2025
40ae935
flashing blades
Qwertytoforty Jan 23, 2025
7050c98
Different turfs for void conduit
DGamerL Jan 24, 2025
ca1d79e
auuugh
Qwertytoforty Jan 24, 2025
b4dd50c
more bullshiot
Qwertytoforty Jan 26, 2025
ce97c3b
lkjfdolkgnmolikdn
Qwertytoforty Jan 27, 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
  •  
  •  
  •  
3,584 changes: 2,032 additions & 1,552 deletions _maps/map_files/generic/centcomm.dmm

Large diffs are not rendered by default.

53 changes: 53 additions & 0 deletions code/__DEFINES/antag_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@

/// The name of the strings file containing data to use for contract fluff texts.
#define CONTRACT_STRINGS_WANTED "syndicate_wanted_messages.json"
/// JSON string file for all of our heretic influence flavors
#define HERETIC_INFLUENCE_FILE "heretic_influences.json"

// UI page numbers.
#define HUB_PAGE_CONTRACTS 1
Expand Down Expand Up @@ -77,6 +79,57 @@ GLOBAL_LIST(contractors)

#define IS_MINDSLAVE(mob) (ishuman(mob) && mob?:mind?:has_antag_datum(/datum/antagonist/mindslave, FALSE))

/**
* Heretic checks
*/

/// Checks if the given mob is a heretic.
#define IS_HERETIC(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic))

/// Check if the given mob is a heretic monster.
#define IS_HERETIC_MONSTER(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic_monster))
/// Check if the given mob is a lunatic
#define IS_LUNATIC(mob) (mob.mind?.has_antag_datum(/datum/antagonist/lunatic))
/// Checks if the given mob is either a heretic, heretic monster or a lunatic.
#define IS_HERETIC_OR_MONSTER(mob) (IS_HERETIC(mob) || IS_HERETIC_MONSTER(mob))
/// CHecks if the given mob is in the mansus realm
#define IS_IN_MANSUS(mob) (istype(get_area(mob), /area/centcom/heretic_sacrifice))


// Heretic path defines.
#define PATH_START "Start Path"
#define PATH_SIDE "Side Path"
#define PATH_ASH "Ash Path"
#define PATH_RUST "Rust Path"
#define PATH_FLESH "Flesh Path"
#define PATH_VOID "Void Path"
#define PATH_BLADE "Blade Path"
#define PATH_COSMIC "Cosmic Path"
#define PATH_LOCK "Lock Path"
#define PATH_MOON "Moon Path"

//Heretic knowledge tree defines
#define HKT_NEXT "next"
#define HKT_BAN "ban"
#define HKT_DEPTH "depth"
#define HKT_ROUTE "route"
#define HKT_UI_BGR "ui_bgr"


/// Defines are used in /proc/has_living_heart() to report if the heretic has no heart period, no living heart, or has a living heart.
#define HERETIC_NO_HEART_ORGAN -1
#define HERETIC_NO_LIVING_HEART 0
#define HERETIC_HAS_LIVING_HEART 1

/// A define used in ritual priority for heretics.
#define MAX_KNOWLEDGE_PRIORITY 100

/// Checks if the passed mob can become a heretic ghoul.
/// - Must be a human (type, not species)
/// - Skeletons cannot be husked (they are snowflaked instead of having a trait)
/// - Monkeys are monkeys, not quite human (balance reasons)
#define IS_VALID_GHOUL_MOB(mob) (ishuman(mob) && !isskeleton(mob) && !ismonkeybasic(mob))

/**
* Objective targeting flags
*/
Expand Down
25 changes: 23 additions & 2 deletions code/__DEFINES/color_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#define COLOR_GRAY "#808080"
#define COLOR_BLACK "#000000"
#define COLOR_HALF_TRANSPARENT_BLACK "#0000007A"
#define COLOR_FULL_TONER_BLACK "#101010"
#define COLOR_NAVY_BLUE "#000080"
#define COLOR_LIGHT_GREEN "#008000"
#define COLOR_DARK_GRAY "#404040"
Expand All @@ -35,6 +36,7 @@
#define COLOR_WARM_YELLOW "#b3863c"
#define COLOR_RED_GRAY "#aa5f61"
#define COLOR_BROWN "#b19664"
#define COLOR_CARGO_BROWN "#B18644"
#define COLOR_GREEN_GRAY "#8daf6a"
#define COLOR_DARK_GREEN_GRAY "#54654c"
#define COLOR_BLUE_GRAY "#6a97b0"
Expand All @@ -43,6 +45,7 @@
#define COLOR_PURPLE_GRAY "#a2819e"
#define COLOR_BLUE_LIGHT "#33ccff"
#define COLOR_RED_LIGHT "#ff3333"
#define COLOR_VIVID_RED "#FF3232"
#define COLOR_BEIGE "#ceb689"
#define COLOR_BABY_BLUE "#89cff0"
#define COLOR_PALE_GREEN_GRAY "#aed18b"
Expand Down Expand Up @@ -86,9 +89,15 @@
#define COLOR_DIAMOND "#d8d4ea"
#define COLOR_ANCIENT_ROCK "#575757"
#define COLOR_COLD_ANCIENT_ROCK "#575764"
#define COLOR_HARD_ROCK "#363636"
#define COLOR_FLOOR_HARD_ROCK "#bdbdbd"
#define COLOR_HARD_ROCK "#363636"
#define COLOR_FLOOR_HARD_ROCK "#bdbdbd"
#define COLOR_HEALING_GREEN "#375637"
#define COLOR_VOID_PURPLE "#53277E"
#define COLOR_VERY_PALE_LIME_GREEN "#DDFFD3"
#define COLOR_HERETIC_GREEN COLOR_VERY_PALE_LIME_GREEN
#define COLOR_RUSTED_GLASS "#917c65"
#define COLOR_SOFT_RED "#FA8282"
#define COLOR_CULT_RED "#960000"

//Color defines used by the assembly detailer.
#define COLOR_ASSEMBLY_BLACK "#545454"
Expand Down Expand Up @@ -157,3 +166,15 @@

/// Color for dead external organs/zombies
#define COLORTONE_DEAD_EXT_ORGAN "#0A3200"

GLOBAL_LIST_INIT(heretic_path_to_color, list(
PATH_START = COLOR_LIME,
PATH_RUST = COLOR_CARGO_BROWN,
PATH_FLESH = COLOR_SOFT_RED,
PATH_ASH = COLOR_VIVID_RED,
PATH_VOID = COLOR_CYAN,
PATH_BLADE = COLOR_SILVER,
PATH_COSMIC = COLOR_PURPLE,
PATH_LOCK = COLOR_YELLOW,
PATH_MOON = COLOR_BLUE_LIGHT,
))
7 changes: 7 additions & 0 deletions code/__DEFINES/cult_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
#define MAX_BLOODCHARGE 4
/// Maximum number of spells without an empowering rune
#define RUNELESS_MAX_BLOODCHARGE 1
/// Maximum number of spells with enhanced magic
#define ENHANCED_BLOODCHARGE 5
#define BLOOD_SPEAR_COST 150
#define BLOOD_BARRAGE_COST 300
#define BLOOD_ORB_COST 50
Expand Down Expand Up @@ -69,3 +71,8 @@

/// Checks that the given element is living an has a cult antag datum
#define IS_CULTIST(mob) (isliving(mob) && mob?:mind?:has_antag_datum(/datum/antagonist/cultist)) // for someone TODO, move all antag checks over to TG's `IS_TRAITOR` defines. Also remove `isliving()` from this call someday

// Used to keep track of items rewarded after a heretic is sacked.
#define CURSED_BLADE_UNLOCKED "Cursed Blade"
#define CRIMSON_MEDALLION_UNLOCKED "Crimson Medallion"
#define PROTEON_ORB_UNLOCKED "Proteon Orb"
15 changes: 15 additions & 0 deletions code/__DEFINES/dcs/heretic_signals.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/// Heretic signals

/// From /datum/spell/touch/mansus_grasp/cast_on_hand_hit : (mob/living/source, mob/living/target)
#define COMSIG_HERETIC_MANSUS_GRASP_ATTACK "mansus_grasp_attack"
/// Default behavior is to use the hand, so return this to blocks the mansus fist from being consumed after use.
#define COMPONENT_BLOCK_HAND_USE (1<<0)
/// From /datum/spell/touch/mansus_grasp/cast_on_secondary_hand_hit : (mob/living/source, atom/target)
#define COMSIG_HERETIC_MANSUS_GRASP_ATTACK_SECONDARY "mansus_grasp_attack_secondary"
/// Default behavior is to continue attack chain and do nothing else, so return this to use up the hand after use.
#define COMPONENT_USE_HAND (1<<0)

/// From /obj/item/melee/sickly_blade/afterattack : (mob/living/source, mob/living/target)
#define COMSIG_HERETIC_BLADE_ATTACK "blade_attack"
/// From /obj/item/melee/sickly_blade/ranged_interact_with_atom (without proximity) : (mob/living/source, mob/living/target)
#define COMSIG_HERETIC_RANGED_BLADE_ATTACK "ranged_blade_attack"
5 changes: 5 additions & 0 deletions code/__DEFINES/dcs/item_signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -116,3 +116,8 @@
#define COMSIG_SPEED_POTION_APPLIED "speed_potion"
#define SPEED_POTION_STOP (1<<0)

// Organ signals
/// Called on the organ when it is implanted into someone (mob/living/carbon/receiver)
#define COMSIG_ORGAN_IMPLANTED "organ_implanted"
/// Called on the organ when it is removed from someone (mob/living/carbon/old_owner)
#define COMSIG_ORGAN_REMOVED "organ_removed"
8 changes: 8 additions & 0 deletions code/__DEFINES/dcs/leash_signals.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/// Called when a /datum/component/leash must forcibly teleport the parent to the owner.
/// Fired on the object with the leash component.
#define COMSIG_LEASH_FORCE_TELEPORT "leash_force_teleport"

/// Called when a /datum/component/leash plans on pathfinding to the target, if out of range.
/// Fired on the object with the leash component.
#define COMSIG_LEASH_PATH_STARTED "leash_path_started"

38 changes: 38 additions & 0 deletions code/__DEFINES/dcs/mob_signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,12 @@
///Called when movement intent is toggled.
#define COMSIG_MOVE_INTENT_TOGGLED "move_intent_toggled"

///from base of obj/allowed(mob/M): (/obj) returns ACCESS_ALLOWED if mob has id access to the obj
#define COMSIG_MOB_TRIED_ACCESS "tried_access"
#define ACCESS_ALLOWED (1<<0)
#define ACCESS_DISALLOWED (1<<1)
#define LOCKED_ATOM_INCOMPATIBLE (1<<2)

// /mob/living

///from base of mob/living/resist() (/mob/living)
Expand Down Expand Up @@ -219,6 +225,38 @@
/// from remove_ventcrawler(): (mob/living/crawler)
#define COMSIG_LIVING_EXIT_VENTCRAWL "living_exit_ventcrawl"


///From living/Life(). (seconds, times_fired)
#define COMSIG_LIVING_LIFE "living_life"
/// Block the Life() proc from proceeding... this should really only be done in some really wacky situations.
#define COMPONENT_LIVING_CANCEL_LIFE_PROCESSING (1<<0)

/// Sent from /datum/action/cooldown/spell/before_cast() to the caster: (datum/action/cooldown/spell/spell, atom/cast_on)
#define COMSIG_MOB_BEFORE_SPELL_CAST "mob_spell_pre_cast"
/// Sent from /datum/action/cooldown/spell/before_cast() to the spell: (atom/cast_on)
#define COMSIG_SPELL_BEFORE_CAST "spell_pre_cast"
/// Return to prevent the spell cast from continuing.
#define SPELL_CANCEL_CAST (1 << 0)
/// Return from before cast signals to prevent the spell from giving off sound or invocation.
#define SPELL_NO_FEEDBACK (1 << 1)
/// Return from before cast signals to prevent the spell from going on cooldown before aftercast.
#define SPELL_NO_IMMEDIATE_COOLDOWN (1 << 2)

#define COMSIG_TOUCH_HANDLESS_CAST "spell_touch_handless_cast"
/// Return this to prevent the hand spawning/unspawning
#define COMPONENT_CAST_HANDLESS (1<<0)

///From /obj/effect/rune/convert/do_sacrifice() : (list/invokers)
#define COMSIG_LIVING_CULT_SACRIFICED "living_cult_sacrificed"
/// Return to stop the sac from occurring
#define STOP_SACRIFICE (1<<0)
/// Don't send a message for sacrificing this thing, we have our own
#define SILENCE_SACRIFICE_MESSAGE (1<<1)
/// Don't send a message for sacrificing this thing UNLESS it's the cult target
#define SILENCE_NONTARGET_SACRIFICE_MESSAGE (1<<2)
/// Dusts the target instead of gibbing them (no soulstone)
#define DUST_SACRIFICE (1<<3)

/// From base of /client/Move(): (new_loc, direction)
#define COMSIG_MOB_CLIENT_PRE_MOVE "mob_client_pre_move"
/// Should always match COMPONENT_MOVABLE_BLOCK_PRE_MOVE as these are interchangeable and used to block movement.
Expand Down
6 changes: 6 additions & 0 deletions code/__DEFINES/dcs/obj_signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,9 @@
/// from /datum/component/shelver/shelf_items()
#define COMSIG_SHELF_ATTEMPT_PICKUP "shelf_attempt_pickup"
#define SHELF_PICKUP_FAILURE (1 << 0)

/// When the lionhunter rifle hits something
#define COMSIG_LIONHUNTER_ON_HIT "lionhunter_on_hit"

/// When the lionhunter shoots so I can unscope
#define COMSIG_LIONHUNTER_FIRE "lionhunter_fire"
2 changes: 2 additions & 0 deletions code/__DEFINES/flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,8 @@
#define NO_LAVA_GEN (1<<1) //Blocks lava rivers being generated on the turf
#define NO_RUINS (1<<2)
#define LAVA_BRIDGE (1<<3) //! This turf has already been reserved for a lavaland bridge placement.
/// Blocks this turf from being rusted
#define NO_RUST (1<<4)

//ORGAN TYPE FLAGS
#define AFFECT_ROBOTIC_ORGAN 1
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/gamemode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@
#define SPECIAL_ROLE_XENOMORPH_LARVA "Xenomorph Larva"
#define SPECIAL_ROLE_ZOMBIE "Zombie"
#define SPECIAL_ROLE_TOURIST "Tourist"
#define SPECIAL_ROLE_HERETIC "Heretic"
#define SPECIAL_ROLE_EVENTMISC "Event Role"

// Constants used by code which checks the status of nuclear blasts during a
Expand Down
5 changes: 5 additions & 0 deletions code/__DEFINES/hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#define GLAND_HUD "23"//Gland indicators for abductors
#define JANI_HUD "24" // Sign overlay over cleanable decals
#define PRESSURE_HUD "25" // Pressure coloring for tiles
#define HERETIC_HUD "26" // Seeing reality smashes and shit

//by default everything in the hud_list of an atom is an image
//a value in hud_list with one of these will change that behavior
Expand Down Expand Up @@ -60,6 +61,10 @@
#define ANTAG_HUD_BLOB 22
#define ANTAG_HUD_ZOMBIE 23
#define ANTAG_HUD_MIND_FLAYER 24
#define DATA_HUD_HERETIC 25
#define ANTAG_HUD_HERETIC 26
#define ANTAG_HUD_HERETIC_BEAST 27


// Notification action types
#define NOTIFY_JUMP "jump"
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/layers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#define FLOOR_LIGHTING_LAMPS_SELFGLOW -3
#define FLOOR_LIGHTING_LAMPS_PLANE -2
#define FLOOR_LIGHTING_LAMPS_RENDER_TARGET "*FLOOR_LIGHTING_LAMPS_RENDER_TARGET"

#define ABOVE_GAME_PLANE -1.5
#define GAME_PLANE -1
#define BLACKNESS_PLANE 0 //To keep from conflicts with SEE_BLACKNESS internals

Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/misc_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -487,6 +487,8 @@
/// Prepares a text to be used for maptext. Use this so it doesn't look hideous.
#define MAPTEXT(text) {"<span class='maptext'>[##text]</span>"}
#define MAPTEXT_CENTER(text) {"<span class='maptext' style='text-align: center'>[##text]</span>"}
/// Small size. (ie: context subtooltips, spell delays) - Size options: 12pt 24pt.
#define MAPTEXT_TINY_UNICODE(text) {"<span style='font-family: \"TinyUnicode\"; font-size: 12pt; line-height: 0.75; -dm-text-outline: 1px black'>[##text]</span>"}

//Fullscreen overlay resolution in tiles.
#define FULLSCREEN_OVERLAY_RESOLUTION_X 15
Expand Down
10 changes: 10 additions & 0 deletions code/__DEFINES/mob_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
#define ORGAN_DISFIGURED (1 << 6)
#define ORGAN_BURNT (1 << 7)
#define ORGAN_SALVED (1 << 8)
/// An organ that is ostensibly dangerous when inside a body
#define ORGAN_HAZARDOUS (1 << 9)

// Organ datum defines. Each one of these represents a slot for organ datums in internal_organ_datums
#define ORGAN_DATUM_HEART "heart"
Expand Down Expand Up @@ -384,6 +386,14 @@
#define BRAIN_DAMAGE_RATIO_SEVERE 8 / 12
#define BRAIN_DAMAGE_RATIO_CRITICAL 10 / 12

//Disgust levels for humans
#define DISGUST_LEVEL_MAXEDOUT 1500
#define DISGUST_LEVEL_VERYDISGUSTED 1000
#define DISGUST_LEVEL_DISGUSTED 750
#define DISGUST_LEVEL_VERYGROSS 500
#define DISGUST_LEVEL_GROSS 250

#define GRAB_PIXEL_SHIFT_PASSIVE 6
#define GRAB_PIXEL_SHIFT_AGGRESSIVE 12
#define GRAB_PIXEL_SHIFT_NECK 16

2 changes: 2 additions & 0 deletions code/__DEFINES/role_preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#define ROLE_TOURIST "Tourist"
#define ROLE_VAMPIRE "vampire"
#define ROLE_MIND_FLAYER "mindflayer"
#define ROLE_HERETIC "heretic"
// Role tags for EVERYONE!
#define ROLE_DEMON "demon"
#define ROLE_SENTIENT "sentient animal"
Expand Down Expand Up @@ -70,6 +71,7 @@ GLOBAL_LIST_INIT(special_roles, list(
ROLE_ALIEN, // Xenomorph
ROLE_WIZARD = /datum/game_mode/wizard, // Wizard
ROLE_MIND_FLAYER,
ROLE_HERETIC,
// UNUSED/BROKEN ANTAGS
// ROLE_HOG_GOD = /datum/game_mode/hand_of_god,
// ROLE_HOG_CULTIST = /datum/game_mode/hand_of_god,
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/sound_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@



#define CREEPY_SOUNDS list('sound/effects/ghost.ogg', 'sound/effects/ghost2.ogg', 'sound/effects/heart_beat.ogg', 'sound/effects/screech.ogg',\
#define CREEPY_SOUNDS list('sound/effects/ghost.ogg', 'sound/effects/ghost2.ogg', 'sound/effects/heartbeat.ogg', 'sound/effects/screech.ogg',\
'sound/hallucinations/behind_you1.ogg', 'sound/hallucinations/behind_you2.ogg', 'sound/hallucinations/far_noise.ogg', 'sound/hallucinations/growl1.ogg', 'sound/hallucinations/growl2.ogg',\
'sound/hallucinations/growl3.ogg', 'sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg', 'sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg',\
'sound/hallucinations/look_up1.ogg', 'sound/hallucinations/look_up2.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg',\
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/spell_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,7 @@
#define SMOKE_HARMLESS 1
#define SMOKE_COUGHING 2
#define SMOKE_SLEEPING 3

#define INVOCATION_NONE "none"
#define INVOCATION_WHISPER "whisper"
#define INVOCATION_SHOUT "shout"
1 change: 1 addition & 0 deletions code/__DEFINES/status_effects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@
#define STATUS_EFFECT_NO_OXY_HEAL /datum/status_effect/transient/no_oxy_heal
#define STATUS_EFFECT_JITTER /datum/status_effect/transient/jittery
#define STATUS_EFFECT_CULT_SLUR /datum/status_effect/transient/cult_slurring
#define STATUS_EFFECT_HERETIC_SLUR /datum/status_effect/transient/heretic_slurring
#define STATUS_EFFECT_STAMMER /datum/status_effect/transient/stammering
#define STATUS_EFFECT_SLURRING /datum/status_effect/transient/slurring
#define STATUS_EFFECT_LOSE_BREATH /datum/status_effect/transient/lose_breath
Expand Down
7 changes: 7 additions & 0 deletions code/__DEFINES/turfs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,10 @@

#define MINERAL_PREVENT_DIG 0 //! A mineral turf should not be changed when mined.
#define MINERAL_ALLOW_DIG 1 //! A mineral turf should be dug out when mined.

// Defines for turfs rust resistance
#define RUST_RESISTANCE_BASIC 1
#define RUST_RESISTANCE_REINFORCED 2
#define RUST_RESISTANCE_TITANIUM 3
#define RUST_RESISTANCE_ORGANIC 4
#define RUST_RESISTANCE_ABSOLUTE 5
3 changes: 3 additions & 0 deletions code/__HELPERS/_logging.dm
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,9 @@ GLOBAL_PROTECT(log_end)
/proc/start_log(log)
rustg_log_write(log, "Starting up. Round ID is [GLOB.round_id ? GLOB.round_id : "NULL"]\n-------------------------[GLOB.log_end]")

/proc/log_heretic_knowledge(log)
rustg_log_write(GLOB.world_game_log, "Heretic knowledge log: [log]")

// Helper procs for building detailed log lines

/proc/datum_info_line(datum/d)
Expand Down
4 changes: 4 additions & 0 deletions code/__HELPERS/cmp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,7 @@

/proc/cmp_changeling_power_category_asc(datum/changeling_power_category/a, datum/changeling_power_category/b)
return initial(a.priority) - initial(b.priority)

/// Orders heretic knowledge by priority
/proc/cmp_heretic_knowledge(datum/heretic_knowledge/knowledge_a, datum/heretic_knowledge/knowledge_b)
return initial(knowledge_b.priority) - initial(knowledge_a.priority)
Loading
Loading