Skip to content
Draft
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/__DEFINES/atom_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
#define DATA_HUD_MALF_APC 10
#define DATA_HUD_BLOOD 11
#define DATA_HUD_AUSPEX_AURAS 12 // DARKPACK EDIT ADD
#define DATA_HUD_FAE_SIGHT 13 // DARKPACK EDIT ADD

/// cooldown for being shown the images for any particular data hud
#define ADD_HUD_TO_COOLDOWN 20
Expand Down
62 changes: 62 additions & 0 deletions code/__DEFINES/~darkpack/auras.dm
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,65 @@ GLOBAL_LIST_INIT(aura_list, sort_list(list(
"Confused" = AURA_CONFUSED,
"Daydreaming" = AURA_DAYDREAMING,
"Psychotic" = AURA_PSYCHOTIC)))

// MYTHERCERIA AURAS START HERE // DARKPACK TODO: replace everything commented "placeholder" with real icons. Some will be base_icon_states (i.e. crinos, mage, fae)
#define FAESIGHT_GENERIC "generic" // everything not below
// Splat detectors
// <fera>
#define FAESIGHT_GAROU "brown" // Werewolves // Replace this and other fera with grabbing the mob's breed form (or crinos if in breed form) sprite
#define FAESIGHT_CORAX "black" // Corax // Placeholder - modular_darkpack/modules/npc/icons/corvid.dmi
#define FAESIGHT_KITSUNE "fox" // Kitsune // Placeholder - icons/mob/simple/pets.dmi
#define FAESIGHT_BASTET "cat" // Bastet // Placeholder - icons/mob/simple/pets.dmi
#define FAESIGHT_NUWISHA "bullterrier" // Coyotes // Placeholder - icons/mob/simple/pets.dmi
#define FAESIGHT_GURAHL "bear" // Bears // Placeholder - modular_darkpack/modules/npc/icons/bear.dmi
#define FAESIGHT_MOKOLE "raptor" // Lizards of ALMOST all kinds // Placeholder - icons/mob/simple/lavaland/raptor_big.dmi
#define FAESIGHT_ROKEA "blahaj" // Sharks // Placeholder - icons/obj/toys/plushes.dmi
#define FAESIGHT_ANANASI "tank" // Spoder // Placeholder - icons/mob/simple/arachnoid.dmi
#define FAESIGHT_CAMAZOTZ "bat" // Bats // Placeholder - icons/mob/simple/animal.dmi
#define FAESIGHT_LEPIX "rabbit_white" // Rabbits. Joke fera. // Placeholder - icons/mob/simple/rabbit.dmi
#define FAESIGHT_NAGAH "snake" // Super secret snakes // Placeholder - icons/mob/simple/animal.dmi
#define FAESIGHT_AJABA "pug" // Hyenas // Placeholder - icons/mob/simple/pets.dmi
#define FAESIGHT_RATKIN "regalrat" // Terrorism rats // Placeholder - icons/mob/simple/animal.dmi
#define FAESIGHT_APIS "cow" // Hyper-extinct cows. Useful for spirits maybe. // Placeholder - icons/mob/simple/cows.dmi
#define FAESIGHT_GRONDR "pig" // Hyper-extinct pigs // Placeholder - icons/mob/simple/animal.dmi
#define FAESIGHT_ANURANA "frog" // Mockery frogs // Placeholder - icons/mob/simple/animal.dmi
#define FAESIGHT_KERASI "unicorn" // Mockery rhinos // Placeholder - icons/obj/toys/plushes.dmi
#define FAESIGHT_SAMSA "cockroach" // Mockery roaches <3 <3 <3 // Placeholder - icons/mob/simple/animal.dmi
#define FAESIGHT_WARWOLVES "beast_crinos" // Mockery Garou, like the crinos_beast basic mob - modular_darkpack/modules/npc/icons/werewolf.dmi
#define FAESIGHT_YEREN "monkey" // Mockery apes // Placeholder - icons/mob/human/human.dmi
// </fera>

#define FAESIGHT_MAGE "nim" // mages and some sorcerers - if we ever get mages, replace this with their chosen Avatar // Placeholder - icons/mob/simple/mob.dmi
#define FAESIGHT_FAE "god" // all things fairy (not inculding ourselves) // Placeholder - icons/mob/simple/mob.dmi
#define FAESIGHT_DEMON "slaughter_demon" // DEMON!!! // Placeholder - icons/mob/simple/demon.dmi
#define FAESIGHT_TRUEFAITH "god" // may not need to exist. but whatever. // Placeholder - icons/mob/simple/mob.dmi
#define FAESIGHT_UMBRA "ghost1" // spirits, banes, etc. Replace with actual spirit sprites one day // Placeholder - icons/mob/simple/mob.dmi

GLOBAL_LIST_INIT(fae_sight_auras, sort_list(list(
"Lupine" = FAESIGHT_GAROU,
"Avian" = FAESIGHT_CORAX,
"Vulpine" = FAESIGHT_KITSUNE,
"Feline" = FAESIGHT_BASTET,
"Latran" = FAESIGHT_NUWISHA,
"Ursine" = FAESIGHT_GURAHL,
"Reptilian" = FAESIGHT_MOKOLE,
"Selachian" = FAESIGHT_ROKEA,
"Arachnid" = FAESIGHT_ANANASI,
"Chiropteran" = FAESIGHT_CAMAZOTZ,
"Lagomorph" = FAESIGHT_LEPIX,
"Serpent" = FAESIGHT_NAGAH,
"Hyena" = FAESIGHT_AJABA,
"Rodent" = FAESIGHT_RATKIN,
"Bovine" = FAESIGHT_APIS,
"Porcine" = FAESIGHT_GRONDR,
"Ranine" = FAESIGHT_ANURANA,
"Rhino" = FAESIGHT_KERASI,
"Roach" = FAESIGHT_SAMSA,
"Feral Lupine" = FAESIGHT_WARWOLVES,
"Monkey" = FAESIGHT_YEREN,
"Mage" = FAESIGHT_MAGE,
"Fae" = FAESIGHT_FAE,
"Believer" = FAESIGHT_TRUEFAITH,
"Spiritual" = FAESIGHT_UMBRA,
"Magic" = FAESIGHT_GENERIC,
)))
5 changes: 5 additions & 0 deletions modular_darkpack/master_files/code/game/atom/_atom.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/atom
// DARKPACK Module - discipline - Used by Mytherceria 3 to determine who scanned us.
var/mob/aura_scanner
// What our scanner rolled, and what we must beat. DARKPACK TODO: Make Auspex 3 tabletop accurate so this isn't a binary
var/aura_difficulty = 0
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,18 @@
UnregisterSignal(owner, COMSIG_MOB_EXAMINING)

/datum/discipline_power/auspex/the_spirits_touch/proc/scan(mob/user, atom/scanned_atom, list/examine_strings)
if(scanned_atom.aura_scanner != user && !isnull(scanned_atom.aura_scanner))
var/our_power = SSroll.storyteller_roll(owner.st_get_stat(STAT_EMPATHY) + owner.st_get_stat(STAT_PERCEPTION), 6, user, scanned_atom, numerical = TRUE)
to_chat(user, span_warning("The energy coming from this object is faint... you begin trying to focus on it."))
if(!do_after(user, max((2 TURNS - our_power SECONDS), 1 SECONDS), scanned_atom, max_interact_count = 1))
to_chat(user, span_warning("You find it hard to focus on [scanned_atom]."))
return
if(scanned_atom.aura_difficulty > our_power)
to_chat(user, span_warning("You find it hard to focus on [scanned_atom]... like the thoughts are slipping through your mind."))
return
else
to_chat(user, span_nicegreen("[scanned_atom]'s secrets are revealed to you."))

// Can scan items we hold and store
if(!(scanned_atom in user.get_all_contents()))
// Can remotely scan objects and mobs.
Expand Down
Loading
Loading