diff --git a/code/__DEFINES/~darkpack/traits/macros.dm b/code/__DEFINES/~darkpack/traits/macros.dm index e69de29bb2d1..864a9e0b1ae6 100644 --- a/code/__DEFINES/~darkpack/traits/macros.dm +++ b/code/__DEFINES/~darkpack/traits/macros.dm @@ -0,0 +1,2 @@ +/// Trait applied by element +#define DISCIPLINE_TRAIT(source) "discipline_trait_[source]" diff --git a/code/__DEFINES/~darkpack/traits/sources.dm b/code/__DEFINES/~darkpack/traits/sources.dm index 6402f89925de..a440d2ae7ea7 100644 --- a/code/__DEFINES/~darkpack/traits/sources.dm +++ b/code/__DEFINES/~darkpack/traits/sources.dm @@ -2,7 +2,6 @@ /// Trait given by a vampire's Clan #define CLAN_TRAIT "clan" -#define DISCIPLINE_TRAIT "discipline" #define STAKE_TRAIT "stake" #define DAMAGE_TRAIT "damage" diff --git a/modular_darkpack/modules/deprecated/icons/UI/actions.dmi b/modular_darkpack/modules/deprecated/icons/UI/actions.dmi index e767f06b944a..a89e8088cc58 100644 Binary files a/modular_darkpack/modules/deprecated/icons/UI/actions.dmi and b/modular_darkpack/modules/deprecated/icons/UI/actions.dmi differ diff --git a/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm b/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm index 48a88e37241c..08873bd00d17 100644 --- a/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm +++ b/modular_darkpack/modules/powers/code/discipline/auspex/auspex.dm @@ -48,18 +48,18 @@ if(SENSE_VISION in output_senses) owner.client?.view_size?.setTo(2) // This increases the view size of the player by 2 tiles in each direction. I dont know why it's called Set if it Adds. - ADD_TRAIT(owner, TRAIT_REFLECTIVE_EYES, DISCIPLINE_TRAIT) + ADD_TRAIT(owner, TRAIT_REFLECTIVE_EYES, DISCIPLINE_TRAIT(type)) var/obj/item/organ/eyes/kindred_eyes = owner.get_organ_slot(ORGAN_SLOT_EYES) if(kindred_eyes) kindred_eyes.flash_protect = max(kindred_eyes.flash_protect += -2, FLASH_PROTECTION_HYPER_SENSITIVE) if(SENSE_HEARING in output_senses) - ADD_TRAIT(owner, TRAIT_GOOD_HEARING, DISCIPLINE_TRAIT) + ADD_TRAIT(owner, TRAIT_GOOD_HEARING, DISCIPLINE_TRAIT(type)) var/obj/item/organ/ears/kindred_ears = owner.get_organ_slot(ORGAN_SLOT_EARS) kindred_ears.damage_multiplier = kindred_ears.damage_multiplier + 1 if(SENSE_SMELL in output_senses) - owner.dna?.add_mutation(/datum/mutation/olfaction, DISCIPLINE_TRAIT) + owner.dna?.add_mutation(/datum/mutation/olfaction, DISCIPLINE_TRAIT(type)) if(SENSE_TASTE in output_senses) - ADD_TRAIT(owner, TRAIT_REAGENT_SCANNER, DISCIPLINE_TRAIT) + ADD_TRAIT(owner, TRAIT_REAGENT_SCANNER, DISCIPLINE_TRAIT(type)) if(SENSE_TOUCH in output_senses) RegisterSignals(owner, list(COMSIG_CARBON_HELP_ACT, COMSIG_ON_CARBON_SLIP, COMSIG_LIVING_DISARM_HIT, COMSIG_LIVING_TRYING_TO_PULL), PROC_REF(on_touch)) owner.AddComponent(/datum/component/heartbeat_sensing, color_path = /datum/client_colour/psyker) @@ -73,17 +73,17 @@ if(mutation) owner.dna?.remove_mutation(mutation, mutation.sources) // Hearing - REMOVE_TRAIT(owner, TRAIT_GOOD_HEARING, DISCIPLINE_TRAIT) + REMOVE_TRAIT(owner, TRAIT_GOOD_HEARING, DISCIPLINE_TRAIT(type)) var/obj/item/organ/ears/kindred_ears = owner.get_organ_slot(ORGAN_SLOT_EARS) kindred_ears.damage_multiplier = initial(kindred_ears.damage_multiplier) // Vision owner.client?.view_size?.resetToDefault() - REMOVE_TRAIT(owner, TRAIT_REFLECTIVE_EYES, DISCIPLINE_TRAIT) + REMOVE_TRAIT(owner, TRAIT_REFLECTIVE_EYES, DISCIPLINE_TRAIT(type)) var/obj/item/organ/eyes/kindred_eyes = owner.get_organ_slot(ORGAN_SLOT_EYES) if(kindred_eyes) kindred_eyes.flash_protect = max(kindred_eyes.flash_protect += 2, FLASH_PROTECTION_NONE) // Taste - REMOVE_TRAIT(owner, TRAIT_REAGENT_SCANNER, DISCIPLINE_TRAIT) + REMOVE_TRAIT(owner, TRAIT_REAGENT_SCANNER, DISCIPLINE_TRAIT(type)) // Touch UnregisterSignal(owner, list(COMSIG_CARBON_HELP_ACT, COMSIG_ON_CARBON_SLIP, COMSIG_LIVING_DISARM_HIT, COMSIG_LIVING_TRYING_TO_PULL)) qdel(owner.GetComponent(/datum/component/heartbeat_sensing)) diff --git a/modular_darkpack/modules/powers/code/discipline/healer_valeren.dm b/modular_darkpack/modules/powers/code/discipline/healer_valeren.dm deleted file mode 100644 index e87e80955ba0..000000000000 --- a/modular_darkpack/modules/powers/code/discipline/healer_valeren.dm +++ /dev/null @@ -1,154 +0,0 @@ -/datum/discipline/valeren - name = "Healer Valeren" - desc = "Use your third eye in healing or protecting needs." - icon_state = "valeren" - clan_restricted = TRUE - power_type = /datum/discipline_power/valeren - -/datum/discipline_power/valeren - name = "Valeren power name" - desc = "Valeren power description" - - activate_sound = 'modular_darkpack/modules/deprecated/sounds/valeren.ogg' - -//SENSE VITALITY -/datum/discipline_power/valeren/sense_vitality - name = "Sense Vitality" - desc = "Discipline power description" - - level = 1 - check_flags = DISC_CHECK_CONSCIOUS | DISC_CHECK_CAPABLE | DISC_CHECK_IMMOBILE | DISC_CHECK_FREE_HAND - target_type = TARGET_MOB - range = 1 - - cooldown_length = 5 SECONDS - -/datum/discipline_power/valeren/sense_vitality/activate(mob/living/target) - . = ..() - healthscan(owner, target, 1, FALSE) - chemscan(owner, target) - to_chat(owner, "[target] has [num2text(target.bloodpool)]/[target.maxbloodpool] blood points.") - to_chat(owner, "[target] has a rating of [target.humanity] on their path.") - -//ANESTHETIC TOUCH -/datum/discipline_power/valeren/anesthetic_touch - name = "Anesthetic Touch" - desc = "Soothe your patient's pain, or put them to peaceful sleep." - - level = 2 - check_flags = DISC_CHECK_CONSCIOUS | DISC_CHECK_CAPABLE | DISC_CHECK_LYING | DISC_CHECK_FREE_HAND - target_type = TARGET_LIVING - range = 1 - - aggravating = TRUE - hostile = TRUE - - cooldown_length = 20 SECONDS - -/datum/discipline_power/valeren/anesthetic_touch/activate(mob/living/target) - . = ..() - //I'm not a fan of how punishing this is towards human players, but not my job to rework it - if (ismundane(target)) - target.SetSleeping(15 SECONDS) - else - target.add_confusion(5) - target.drowsyness += 4 - -//CORPORE SANO -/datum/discipline_power/valeren/corpore_sano - name = "Corpore Sano" - desc = "Lay hands on your patient and heal their wounds." - - level = 3 - check_flags = DISC_CHECK_CONSCIOUS | DISC_CHECK_CAPABLE | DISC_CHECK_FREE_HAND | DISC_CHECK_IMMOBILE - target_type = TARGET_LIVING - range = 1 - - violates_masquerade = TRUE - - cooldown_length = 5 SECONDS - -/datum/discipline_power/valeren/corpore_sano/activate(mob/living/target) - . = ..() - owner.Beam(target, icon_state="sm_arc", time = 5 SECONDS, maxdistance = 9, beam_type = /obj/effect/ebeam/medical) - - target.heal_ordered_damage(60, list(BRUTE, TOX, BURN, AGGRAVATED, OXY, BRAIN)) - if(ishuman(target)) - var/mob/living/carbon/human/human_target = target - if(length(human_target.all_wounds)) - var/datum/wound/wound = pick(human_target.all_wounds) - wound.remove_wound() - - target.update_damage_overlays() - target.update_health_hud() - -//SHEPHERD'S WATCH -/datum/discipline_power/valeren/shepherds_watch - name = "Shepherd's Watch" - desc = "Create a supernatural barrier to protect yourself from harm." - - level = 4 - - cooldown_length = 40 SECONDS - -/datum/discipline_power/valeren/shepherds_watch/activate() - . = ..() - for (var/turf/turf in orange(1, get_turf(owner))) - new /obj/effect/forcefield/wizard(turf, owner) - -//UNBURDEN THE BESTIAL SOUL -/datum/discipline_power/valeren/unburden_the_bestial_soul - name = "Unburden The Bestial Soul" - desc = "Draw out a Kindred's soul and heal it of impurities." - - level = 5 - check_flags = DISC_CHECK_CONSCIOUS | DISC_CHECK_CAPABLE | DISC_CHECK_IMMOBILE | DISC_CHECK_FREE_HAND - target_type = TARGET_LIVING - range = 1 - - cooldown_length = 5 SECONDS - - var/points_can_restore = 3 - -/datum/discipline_power/valeren/unburden_the_bestial_soul/can_activate_untargeted(alert) - . = ..() - - if (points_can_restore <= 0) - if (alert) - to_chat(owner, span_warning("You've exhausted yourself too much to cleanse more souls.")) - return FALSE - - return . - -/datum/discipline_power/valeren/unburden_the_bestial_soul/can_activate(mob/living/target, alert) - . = ..() - - if (!iskindred(target)) - if (alert) - to_chat(owner, span_warning("[src] can only be used on Kindred.")) - return FALSE - - if (!target.client) - if (alert) - to_chat(owner, span_warning("[target] does not have a soul to cleanse!")) - return FALSE - - if (target.humanity >= 10 && !target.client?.prefs?.enlightenment) - if (alert) - to_chat(owner, span_warning("[target]'s soul is already completely pure.")) - return FALSE - - return . - -/datum/discipline_power/valeren/unburden_the_bestial_soul/pre_activation_checks(mob/living/carbon/human/target) - to_chat(owner, span_warning("You begin cleansing [target]'s soul...")) - if (do_mob(owner, target, 10 SECONDS)) - return TRUE - -/datum/discipline_power/valeren/unburden_the_bestial_soul/activate(mob/living/carbon/human/target) - . = ..() - to_chat(owner, span_notice("You have healed [target]'s soul slightly.")) - SEND_SIGNAL(owner, COMSIG_PATH_HIT, 1, 10, FALSE) - points_can_restore-- - - diff --git a/modular_darkpack/modules/powers/code/discipline/necromancy.dm b/modular_darkpack/modules/powers/code/discipline/necromancy.dm index 6001934b793f..e4da9a6f6749 100644 --- a/modular_darkpack/modules/powers/code/discipline/necromancy.dm +++ b/modular_darkpack/modules/powers/code/discipline/necromancy.dm @@ -12,7 +12,7 @@ owner.add_faction(VAMPIRE_CLAN_GIOVANNI) var/datum/action/ritual_drawing/necromancy/ritualist = new() - ADD_TRAIT(owner, TRAIT_NECROMANCY_KNOWLEDGE, DISCIPLINE_TRAIT) + ADD_TRAIT(owner, TRAIT_NECROMANCY_KNOWLEDGE, DISCIPLINE_TRAIT(type)) ritualist.Grant(owner) ritualist.level = level diff --git a/modular_darkpack/modules/powers/code/discipline/obeah.dm b/modular_darkpack/modules/powers/code/discipline/obeah.dm new file mode 100644 index 000000000000..4d6615d48ce3 --- /dev/null +++ b/modular_darkpack/modules/powers/code/discipline/obeah.dm @@ -0,0 +1,139 @@ +/datum/discipline/obeah + name = "Obeah" + desc = "Use your third eye in healing or protecting needs." + icon_state = "obeah" + clan_restricted = TRUE + power_type = /datum/discipline_power/obeah + +/datum/discipline_power/obeah + name = "Valeren power name" + desc = "Valeren power description" + + activate_sound = 'modular_darkpack/modules/powers/sounds/obeah.ogg' + +//SENSE VITALITY +/datum/discipline_power/obeah/sense_vitality + name = "Sense Vitality" + desc = "Focus your senses to read the vitality of a target." + + level = 1 + check_flags = DISC_CHECK_CONSCIOUS | DISC_CHECK_CAPABLE | DISC_CHECK_FREE_HAND + target_type = TARGET_MOB | TARGET_SELF + range = 1 + vitae_cost = 0 + cooldown_length = 1 TURNS + +// perception + empathy at diff 7 +// 1 success = splat +// 2 success = splat + vitals +// 3 success = splat + vital + current bloodpool +/datum/discipline_power/obeah/sense_vitality/activate(mob/living/target) + . = ..() + var/datum/storyteller_roll/sense_vitality_roll = new() + sense_vitality_roll.applicable_stats = list(STAT_PERCEPTION, STAT_EMPATHY) + sense_vitality_roll.difficulty = 7 + sense_vitality_roll.numerical = TRUE + sense_vitality_roll.roll_output_type = ROLL_PRIVATE_ADMIN + var/roll_result = sense_vitality_roll.st_roll(owner) + + var/list/render_list = list() + render_list = do_roll_results(target, roll_result) + to_chat(owner, custom_boxed_message("blue_box", jointext(render_list, "")), type = MESSAGE_TYPE_INFO) + +/datum/discipline_power/obeah/sense_vitality/proc/do_roll_results(mob/living/target, roll_result) + var/list/render_list = list() + if(roll_result < 1) + render_list += span_danger("You fail to sense anything.\n") + return render_list + + // One Success. + var/datum/splat/sensed_splat = LAZYACCESS(target.splats, 1) + render_list += span_notice("You identify them to be a [sensed_splat ? sensed_splat.name : "Human"].\n") + + if(roll_result < 2) + return render_list + // Two Successes. + render_list += custom_boxed_message("blue_box", healthscan(user = owner, target = target, mode = SCANNER_VERBOSE, advanced = TRUE, tochat = FALSE)) + + if(roll_result < 3) + return render_list + // Three Successes. + var/mob/living/carbon/human/target_human = target + var/bloodpool = target_human?.bloodpool + render_list += span_notice("You sense they have [bloodpool ? bloodpool : "no"] Vitae remaining.\n") + return render_list + +////////////////////////////////////////////////////////////////////////////////////////////////////////// + +//ANESTHETIC TOUCH +/datum/discipline_power/obeah/anesthetic_touch + name = "Anesthetic Touch" + desc = "Soothe your patient's pain, or put them to peaceful sleep." + + level = 2 + check_flags = DISC_CHECK_CONSCIOUS | DISC_CHECK_CAPABLE | DISC_CHECK_FREE_HAND + target_type = TARGET_LIVING + range = 1 + cooldown_length = 1 TURNS + +// TO DO, make this use two mouse buttons instead of radial menu. +// LMB: Block someone's pain +// RMB: Put mortal to sleep. +/datum/discipline_power/obeah/anesthetic_touch/activate(mob/living/target) + . = ..() + var/chosen_option = show_radial_menu(owner, target, list("Soothe Pain", "Put To Sleep"), radius = 38, require_near = TRUE) + switch(chosen_option) + if("Soothe Pain") + ADD_TRAIT(target, TRAIT_IGNORESLOWDOWN, DISCIPLINE_TRAIT(type)) + addtimer(CALLBACK(src, PROC_REF(end_soothe_pain), target), 1 SCENES) + if("Put To Sleep") + if(iskindred(target)) + to_chat(owner, span_warning("You can't put a Kindred to sleep with this power!")) + return TRUE + target.SetSleeping(10 SCENES) // 30 minutes if left alone + target.adjust_blood_pool(1) // Mortal regains a blood point. + return TRUE + +/datum/discipline_power/obeah/anesthetic_touch/proc/end_soothe_pain(mob/living/target) + REMOVE_TRAIT(target, TRAIT_IGNORESLOWDOWN, DISCIPLINE_TRAIT(type)) + +////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/* +//CORPORE SANO +/datum/discipline_power/obeah/corpore_sano + name = "Corpore Sano" + desc = "Lay hands on your patient and heal their wounds." + + level = 3 + check_flags = DISC_CHECK_CONSCIOUS | DISC_CHECK_CAPABLE | DISC_CHECK_FREE_HAND | DISC_CHECK_IMMOBILE + target_type = TARGET_LIVING + range = 1 + + violates_masquerade = TRUE + + cooldown_length = 5 SECONDS + + +//SHEPHERD'S WATCH +/datum/discipline_power/obeah/shepherds_watch + name = "Shepherd's Watch" + desc = "Create a supernatural barrier to protect yourself from harm." + + level = 4 + + cooldown_length = 40 SECONDS + +//UNBURDEN THE BESTIAL SOUL +/datum/discipline_power/obeah/unburden_the_bestial_soul + name = "Unburden The Bestial Soul" + desc = "Draw out a Kindred's soul and heal it of impurities." + + level = 5 + check_flags = DISC_CHECK_CONSCIOUS | DISC_CHECK_CAPABLE | DISC_CHECK_IMMOBILE | DISC_CHECK_FREE_HAND + target_type = TARGET_LIVING + range = 1 + + cooldown_length = 5 SECONDS + +*/ diff --git a/modular_darkpack/modules/powers/code/discipline/obtenebration.dm b/modular_darkpack/modules/powers/code/discipline/obtenebration.dm index 30572b4a214f..24b77c7a9071 100644 --- a/modular_darkpack/modules/powers/code/discipline/obtenebration.dm +++ b/modular_darkpack/modules/powers/code/discipline/obtenebration.dm @@ -10,7 +10,7 @@ var/datum/action/ritual_drawing/mysticism/mystic = new() mystic.Grant(owner) mystic.level = level - ADD_TRAIT(owner, TRAIT_MYSTICISM_KNOWLEDGE, DISCIPLINE_TRAIT) + ADD_TRAIT(owner, TRAIT_MYSTICISM_KNOWLEDGE, DISCIPLINE_TRAIT(type)) /datum/discipline_power/obtenebration diff --git a/modular_darkpack/modules/powers/code/discipline/quietus/fields/silence_of_death_aoe.dm b/modular_darkpack/modules/powers/code/discipline/quietus/fields/silence_of_death_aoe.dm index 5864674617d7..de258b8f4431 100644 --- a/modular_darkpack/modules/powers/code/discipline/quietus/fields/silence_of_death_aoe.dm +++ b/modular_darkpack/modules/powers/code/discipline/quietus/fields/silence_of_death_aoe.dm @@ -9,13 +9,13 @@ . = ..() silenced_mobs = list() if(ishuman(_host)) - ADD_TRAIT(_host, TRAIT_SILENCED, DISCIPLINE_TRAIT) + ADD_TRAIT(_host, TRAIT_SILENCED, DISCIPLINE_TRAIT(type)) silenced_mobs |= _host /datum/proximity_monitor/advanced/silence_of_death/Destroy() for(var/mob/living/carbon/human/H in silenced_mobs) - REMOVE_TRAIT(H, TRAIT_SILENCED, DISCIPLINE_TRAIT) - REMOVE_TRAIT(H, TRAIT_MUTE, DISCIPLINE_TRAIT) + REMOVE_TRAIT(H, TRAIT_SILENCED, DISCIPLINE_TRAIT(type)) + REMOVE_TRAIT(H, TRAIT_MUTE, DISCIPLINE_TRAIT(type)) silenced_mobs = null return ..() @@ -29,10 +29,10 @@ return var/mob/living/carbon/human/H = entered - ADD_TRAIT(H, TRAIT_SILENCED, DISCIPLINE_TRAIT) + ADD_TRAIT(H, TRAIT_SILENCED, DISCIPLINE_TRAIT(type)) if(H != host) - ADD_TRAIT(H, TRAIT_MUTE, DISCIPLINE_TRAIT) + ADD_TRAIT(H, TRAIT_MUTE, DISCIPLINE_TRAIT(type)) H.adjust_confusion_up_to(15 SECONDS, 15 SECONDS) @@ -50,16 +50,16 @@ return var/mob/living/carbon/human/H = gone - REMOVE_TRAIT(H, TRAIT_SILENCED, DISCIPLINE_TRAIT) - REMOVE_TRAIT(H, TRAIT_MUTE, DISCIPLINE_TRAIT) + REMOVE_TRAIT(H, TRAIT_SILENCED, DISCIPLINE_TRAIT(type)) + REMOVE_TRAIT(H, TRAIT_MUTE, DISCIPLINE_TRAIT(type)) silenced_mobs -= H /datum/proximity_monitor/advanced/silence_of_death/on_z_change() if(QDELETED(src)) return for(var/mob/living/carbon/human/H in silenced_mobs) - REMOVE_TRAIT(H, TRAIT_SILENCED, DISCIPLINE_TRAIT) - REMOVE_TRAIT(H, TRAIT_MUTE, DISCIPLINE_TRAIT) + REMOVE_TRAIT(H, TRAIT_SILENCED, DISCIPLINE_TRAIT(type)) + REMOVE_TRAIT(H, TRAIT_MUTE, DISCIPLINE_TRAIT(type)) silenced_mobs.Cut() /datum/proximity_monitor/advanced/silence_of_death/cleanup_field_turf(turf/target) @@ -67,6 +67,6 @@ return for(var/mob/living/carbon/human/H in target.contents) if((H in silenced_mobs) && H != host) - REMOVE_TRAIT(H, TRAIT_SILENCED, DISCIPLINE_TRAIT) - REMOVE_TRAIT(H, TRAIT_MUTE, DISCIPLINE_TRAIT) + REMOVE_TRAIT(H, TRAIT_SILENCED, DISCIPLINE_TRAIT(type)) + REMOVE_TRAIT(H, TRAIT_MUTE, DISCIPLINE_TRAIT(type)) silenced_mobs -= H diff --git a/modular_darkpack/modules/powers/code/discipline/serpentis.dm b/modular_darkpack/modules/powers/code/discipline/serpentis.dm index ae576f3aec15..1384f25c69d9 100644 --- a/modular_darkpack/modules/powers/code/discipline/serpentis.dm +++ b/modular_darkpack/modules/powers/code/discipline/serpentis.dm @@ -117,10 +117,10 @@ if(choice == "Obvious") owner.st_add_stat_mod(STAT_INTIMIDATION, 2, "Serpentis") // 'reduce intimidation difficulties by two' placeholder owner.st_add_stat_mod(STAT_STAMINA, 3, "Serpentis") // 'reduces all soak difficulty to 5' placeholder - ADD_TRAIT(owner, TRAIT_MASQUERADE_VIOLATING_FACE, DISCIPLINE_TRAIT) + ADD_TRAIT(owner, TRAIT_MASQUERADE_VIOLATING_FACE, DISCIPLINE_TRAIT(type)) else owner.st_add_stat_mod(STAT_STAMINA, 2, "Serpentis") // permanently on with no downsides according to dav20. its staying at fort one bro - ADD_TRAIT(owner, TRAIT_SERPENTIS_SKIN, DISCIPLINE_TRAIT) //ideally this would either be blatantly obvious or not so much depending on the choice. I guess masq violating face trait will work for obvious. + ADD_TRAIT(owner, TRAIT_SERPENTIS_SKIN, DISCIPLINE_TRAIT(type)) //ideally this would either be blatantly obvious or not so much depending on the choice. I guess masq violating face trait will work for obvious. owner.st_add_stat_mod(STAT_APPEARANCE, -(owner.st_get_stat(STAT_APPEARANCE) - 1), "Serpentis") /* owner.Stun(duration_length) @@ -132,10 +132,10 @@ if(choice == "Obvious") owner.st_remove_stat_mod(STAT_INTIMIDATION, 2, "Serpentis") owner.st_remove_stat_mod(STAT_STAMINA, 3, "Serpentis") - REMOVE_TRAIT(owner, TRAIT_MASQUERADE_VIOLATING_FACE, DISCIPLINE_TRAIT) + REMOVE_TRAIT(owner, TRAIT_MASQUERADE_VIOLATING_FACE, DISCIPLINE_TRAIT(type)) else owner.st_remove_stat_mod(STAT_STAMINA, 2, "Serpentis") - REMOVE_TRAIT(owner, TRAIT_SERPENTIS_SKIN, DISCIPLINE_TRAIT) + REMOVE_TRAIT(owner, TRAIT_SERPENTIS_SKIN, DISCIPLINE_TRAIT(type)) owner.st_remove_stat_mod(STAT_APPEARANCE, "Serpentis") @@ -246,7 +246,7 @@ owner.dna.species.inherent_traits |= TRAIT_STUNIMMUNE owner.dna.species.inherent_traits |= TRAIT_SLEEPIMMUNE owner.dna.species.inherent_traits |= TRAIT_NOSOFTCRIT - ADD_TRAIT(owner, TRAIT_STAKE_IMMUNE, DISCIPLINE_TRAIT) + ADD_TRAIT(owner, TRAIT_STAKE_IMMUNE, DISCIPLINE_TRAIT(type)) urn = new(owner.loc) urn.own = owner //var/obj/item/organ/heart/heart = owner.get_organ_slot(ORGAN_SLOT_HEART) DARKPACK TODO - Vampire Organs need to be made useless @@ -256,7 +256,7 @@ owner.dna.species.inherent_traits -= TRAIT_STUNIMMUNE owner.dna.species.inherent_traits -= TRAIT_SLEEPIMMUNE owner.dna.species.inherent_traits -= TRAIT_NOSOFTCRIT - REMOVE_TRAIT(owner, TRAIT_STAKE_IMMUNE, DISCIPLINE_TRAIT) + REMOVE_TRAIT(owner, TRAIT_STAKE_IMMUNE, DISCIPLINE_TRAIT(type)) //for(var/obj/item/organ/heart/heart in urn) //heart.forceMove(owner) //heart.Insert(owner) diff --git a/modular_darkpack/modules/powers/code/discipline/temporis/temporis.dm b/modular_darkpack/modules/powers/code/discipline/temporis/temporis.dm index 839b6e4bb325..a811e90c4688 100644 --- a/modular_darkpack/modules/powers/code/discipline/temporis/temporis.dm +++ b/modular_darkpack/modules/powers/code/discipline/temporis/temporis.dm @@ -13,7 +13,7 @@ /datum/discipline_power/temporis/activate() . = ..() - ADD_TRAIT(owner, TRAIT_TIMEWARPER, DISCIPLINE_TRAIT) + ADD_TRAIT(owner, TRAIT_TIMEWARPER, DISCIPLINE_TRAIT(type)) /datum/discipline_power/temporis/proc/celerity_explode(datum/source, datum/discipline_power/power, atom/target) SIGNAL_HANDLER diff --git a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm index 172e5df29b76..ff211930d1da 100644 --- a/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm +++ b/modular_darkpack/modules/powers/code/discipline/thaumaturgy/path_of_blood.dm @@ -11,7 +11,7 @@ var/datum/action/ritual_drawing/thaumaturgy/thaumaturgy = new() thaumaturgy.Grant(owner) thaumaturgy.level = level - ADD_TRAIT(owner, TRAIT_THAUMATURGY_KNOWLEDGE, DISCIPLINE_TRAIT) + ADD_TRAIT(owner, TRAIT_THAUMATURGY_KNOWLEDGE, DISCIPLINE_TRAIT(type)) add_verb(owner, /mob/living/carbon/human/proc/check_research_points) /datum/discipline_power/thaumaturgy diff --git a/modular_darkpack/modules/powers/code/discipline/vicissitude/vicissitude.dm b/modular_darkpack/modules/powers/code/discipline/vicissitude/vicissitude.dm index 6054c713b9a6..1e89c00a33be 100644 --- a/modular_darkpack/modules/powers/code/discipline/vicissitude/vicissitude.dm +++ b/modular_darkpack/modules/powers/code/discipline/vicissitude/vicissitude.dm @@ -8,7 +8,7 @@ /datum/discipline/vicissitude/post_gain() . = ..() owner.faction |= VAMPIRE_CLAN_TZIMISCE - ADD_TRAIT(owner, TRAIT_VICISSITUDE_KNOWLEDGE, DISCIPLINE_TRAIT) + ADD_TRAIT(owner, TRAIT_VICISSITUDE_KNOWLEDGE, DISCIPLINE_TRAIT(type)) /datum/discipline_power/vicissitude name = "Vicissitude power name" diff --git a/modular_darkpack/modules/deprecated/sounds/valeren.ogg b/modular_darkpack/modules/powers/sounds/obeah.ogg similarity index 100% rename from modular_darkpack/modules/deprecated/sounds/valeren.ogg rename to modular_darkpack/modules/powers/sounds/obeah.ogg diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/blood_power.dm b/modular_darkpack/modules/vampire_the_masquerade/code/blood_power.dm index b49b8a0ad234..4f845727c2b0 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/blood_power.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/blood_power.dm @@ -60,7 +60,7 @@ human_owner.adjust_blood_pool(-current_bp_cost(human_owner)) - ADD_TRAIT(human_owner, TRAIT_IGNORESLOWDOWN, MAGIC_TRAIT) + ADD_TRAIT(human_owner, TRAIT_IGNORESLOWDOWN, DISCIPLINE_TRAIT(type)) addtimer(CALLBACK(src, PROC_REF(end_bloodpower)), cooldown_time) @@ -84,7 +84,7 @@ human_owner.st_remove_stat_mod(STAT_DEXTERITY, "blood_power") human_owner.st_remove_stat_mod(STAT_STAMINA, "blood_power") - REMOVE_TRAIT(human_owner, TRAIT_IGNORESLOWDOWN, MAGIC_TRAIT) + REMOVE_TRAIT(human_owner, TRAIT_IGNORESLOWDOWN, DISCIPLINE_TRAIT(type)) /datum/action/cooldown/blood_power/proc/set_usage() var/turns = tgui_input_number(owner, "Set turns ([1 TURNS / 10] seconds per turn) to use blood for.", "Set Bloodpower Turns", turns_activated, TURNS_PER_SCENE, 1) diff --git a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/salubri.dm b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/salubri.dm index afb4b00d3df6..297650e159cb 100644 --- a/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/salubri.dm +++ b/modular_darkpack/modules/vampire_the_masquerade/code/vampire_clan/clans/salubri.dm @@ -7,7 +7,7 @@ clan_disciplines = list( /datum/discipline/auspex, /datum/discipline/fortitude, - // /datum/discipline/valeren + /datum/discipline/obeah ) clan_traits = list( TRAIT_CONSENSUAL_FEEDING_ONLY, diff --git a/tgstation.dme b/tgstation.dme index e857ed933c51..6889da0c5742 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7386,6 +7386,7 @@ #include "modular_darkpack\modules\powers\code\discipline\animalism.dm" #include "modular_darkpack\modules\powers\code\discipline\dementation.dm" #include "modular_darkpack\modules\powers\code\discipline\necromancy.dm" +#include "modular_darkpack\modules\powers\code\discipline\obeah.dm" #include "modular_darkpack\modules\powers\code\discipline\obtenebration.dm" #include "modular_darkpack\modules\powers\code\discipline\serpentis.dm" #include "modular_darkpack\modules\powers\code\discipline\torpor.dm"