Skip to content

Reimplements Daimonion#689

Open
chazzyjazzy wants to merge 21 commits intoDarkPack13:masterfrom
chazzyjazzy:onion
Open

Reimplements Daimonion#689
chazzyjazzy wants to merge 21 commits intoDarkPack13:masterfrom
chazzyjazzy:onion

Conversation

@chazzyjazzy
Copy link
Contributor

@chazzyjazzy chazzyjazzy commented Feb 21, 2026

About The Pull Request

Reimplements Daimonion

Refactors Daimonion 4 and 5 since the objects they used were outdated and Daimonion 5 was using global lists (lol) in order to not curse a victim twice.

Solar said hes gonna redo Daim 2 so dont worry about my comment

Why It's Good For The Game

Baali

Changelog

🆑 chazzyjazzy
add: re-adds Daimonion
/:cl:

@chazzyjazzy
Copy link
Contributor Author

doesnt compile yet btw, still bringing over oldcode and refactoring

@chazzyjazzy chazzyjazzy marked this pull request as ready for review February 22, 2026 03:01
@chazzyjazzy chazzyjazzy requested a review from a team as a code owner February 22, 2026 03:01
Comment on lines +85 to +89
var/datum/splat/vampire/kindred/vampire = iskindred(target)
if(vampire)
switch(vampire.clan.id)
if(VAMPIRE_CLAN_TOREADOR)
to_chat(owner, span_notice("[target] is obsessive to a fault."))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is very little reason for this not to be moved onto the clan datum. Would also avoid any issue of subtypes not being counted e.g, city gangy

Comment on lines +160 to +184
var/datum/vampire_clan/clan = vampire.clan
if(vampire.get_discipline("Quietus") && clan.id != VAMPIRE_CLAN_BANU_HAQIM)
to_chat(owner, span_notice("[target] fears that the fact they stole Banu Haqim's Quietus will be known."))
if(vampire.get_discipline("Protean") && clan.id != VAMPIRE_CLAN_GANGREL)
to_chat(owner, span_notice("[target] fears that the fact they stole Gangrel's Protean will be known."))
if(vampire.get_discipline("Serpentis") && clan.id != VAMPIRE_CLAN_SETITE)
to_chat(owner, span_notice("[target] fears that the fact they stole the Setite's Serpentis will be known."))
if(vampire.get_discipline("Necromancy") && clan.id != VAMPIRE_CLAN_GIOVANNI || vampire.get_discipline("Necromancy") && clan.id != VAMPIRE_CLAN_CAPPADOCIAN)
to_chat(owner, span_notice("[target] fears that the fact they stole Giovanni's Necromancy will be known."))
if(vampire.get_discipline("Obtenebration") && clan.id != VAMPIRE_CLAN_LASOMBRA)
to_chat(owner, span_notice("[target] fears that the fact they stole Lasombra's Obtenebration will be known."))
if(vampire.get_discipline("Dementation") && clan.id != VAMPIRE_CLAN_MALKAVIAN)
to_chat(owner, span_notice("[target] fears that the fact they stole Malkavian's Dementation will be known."))
if(vampire.get_discipline("Vicissitude") && clan.id != VAMPIRE_CLAN_TZIMISCE)
to_chat(owner, span_notice("[target] fears that the fact they stole Tzimisce's Vicissitude will be known."))
if(vampire.get_discipline("Melpominee") && clan.id != VAMPIRE_CLAN_DAUGHTERS_OF_CACOPHONY)
to_chat(owner, span_notice("[target] fears that the fact they stole Daughters of Cacophony's Melpominee will be known."))
if(vampire.get_discipline("Daimonion") && clan.id != VAMPIRE_CLAN_BAALI)
to_chat(owner, span_notice("[target] fears that the fact they stole Baali's Daimonion will be known."))
if(vampire.get_discipline("Temporis") && clan.id != VAMPIRE_CLAN_TRUE_BRUJAH)
to_chat(owner, span_notice("[target] fears that the fact they stole True Brujah's Temporis will be known."))
if(vampire.get_discipline("Valeren") && clan.id != VAMPIRE_CLAN_SALUBRI)
to_chat(owner, span_notice("[target] fears that the fact they stole Salubri's Valeren will be known."))
if(vampire.get_discipline("Mytherceria") && clan.id != VAMPIRE_CLAN_KIASYD)
to_chat(owner, span_notice("[target] fears that the fact they stole Kiasyd's Mytherceria will be known."))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto. This could likely be dont entirely programtily by givin them a "signature disc" var on them or something

to_chat(owner, span_userdanger(span_bold("You feel like a great curse was placed on you!")))

/datum/status_effect/condemnation/physical_weakness
id = STATUS_EFFECT_PHYSICAL_WEAKNESS
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This define is their type path... This is not done for any other status effect... The rest are just strings.


level = 3
check_flags = DISC_CHECK_CONSCIOUS | DISC_CHECK_CAPABLE | DISC_CHECK_IMMOBILE
target_type = TARGET_LIVING
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only can target mobs? that seems weird.

Comment on lines +311 to +318
if(kindred_splat)
switch(kindred_splat.clan.id)
if(VAMPIRE_CLAN_TOREADOR)
target.playsound_local(target, "modular_darkpack/modules/powers/sounds/daimonion_laughs/demonlaugh2.ogg", 50, FALSE)
new /datum/hallucination/fire(target, TRUE)
to_chat(target, span_cult("FLAMES ENGULF MY BEAUTY"))
target.Paralyze(5 SECONDS)
return
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same with others, might want to be made a proc called on the clan, or atleast do type checks?

Comment on lines +400 to +406
switch(source.type)
if(/obj/effect/client_image_holder/baali_demon/spectre)
victim.visible_message(span_warning("[victim] collapses onto the ground"), span_warning("[source.name] touches you with an outstretched hand"))
victim.Paralyze(7 SECONDS)
victim.adjust_stamina_loss(200)
to_chat(victim, span_cult("THE SPIRIT HAS TAKEN SOMETHING FROM ME"))

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another canidite for just being a proc on the object.

Comment on lines +45 to +53
to_chat(owner, span_notice("Victim is not social or influencing."))
if(target.st_get_stat(STAT_PERMANENT_WILLPOWER) <= 2)
to_chat(owner, span_notice("Victim lacks appropiate willpower."))
if(target.st_get_stat(STAT_STRENGTH) <= 2)
to_chat(owner, span_notice("Victim's body is weak and feeble."))
if(target.st_get_stat(STAT_DEXTERITY) <= 2)
to_chat(owner, span_notice("Victim's lacks coordination."))
if(isgarou(target))
to_chat(owner, span_notice("Victim's natural banishment is silver..."))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tho should prob be like real_name or whatever wrapper we use for guestbook rn.

Suggested change
to_chat(owner, span_notice("Victim is not social or influencing."))
if(target.st_get_stat(STAT_PERMANENT_WILLPOWER) <= 2)
to_chat(owner, span_notice("Victim lacks appropiate willpower."))
if(target.st_get_stat(STAT_STRENGTH) <= 2)
to_chat(owner, span_notice("Victim's body is weak and feeble."))
if(target.st_get_stat(STAT_DEXTERITY) <= 2)
to_chat(owner, span_notice("Victim's lacks coordination."))
if(isgarou(target))
to_chat(owner, span_notice("Victim's natural banishment is silver..."))
to_chat(owner, span_notice("Victim is not social or influencing."))
if(target.st_get_stat(STAT_PERMANENT_WILLPOWER) <= 2)
to_chat(owner, span_notice("Victim lacks appropiate willpower."))
if(target.st_get_stat(STAT_STRENGTH) <= 2)
to_chat(owner, span_notice("Victim's body is weak and feeble."))
if(target.st_get_stat(STAT_DEXTERITY) <= 2)
to_chat(owner, span_notice("Victim lacks coordination."))
if(isgarou(target))
to_chat(owner, span_notice("Victim's natural banishment is silver..."))

desc = "Sense the sins and cruelties of your victim."

target_type = TARGET_HUMAN
range = 12
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this so high..? We prob should default to 7 unless the ability specifically calls for it. Espcially with the fact that auspex boosts view range right now.

Suggested change
range = 12
range = 7

Comment on lines +291 to +293
var/datum/splat/werewolf/shifter/garou_splat = isgarou(target)
if(garou_splat)
switch(garou_splat.tribe.name)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also same thing before where it could prob be a proc on the tribe....

Suggested change
var/datum/splat/werewolf/shifter/garou_splat = isgarou(target)
if(garou_splat)
switch(garou_splat.tribe.name)
var/datum/splat/werewolf/shifter/garou_splat = isshifter(target)
if(garou_splat)
switch(garou_splat.tribe.name)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants