Skip to content

Conversation

@XeonMations
Copy link
Collaborator

@XeonMations XeonMations commented Nov 24, 2025

About The Pull Request

Credit to Minzeyes (minzeyes) on discord for the zulo sprites!

Implements Vicissitude with more v20 lore friendly features

Why It's Good For The Game

another discipline down the list done

Changelog

🆑 minzeyes, XeonMations
add: Reimplements Vicissitude
/:cl:

@github-actions github-actions bot added the Sound label Nov 28, 2025
@XeonMations XeonMations marked this pull request as ready for review December 20, 2025 23:10
@XeonMations XeonMations requested review from a team as code owners December 20, 2025 23:10
@XeonMations XeonMations marked this pull request as draft December 20, 2025 23:10
Copy link
Contributor

@chazzyjazzy chazzyjazzy left a comment

Choose a reason for hiding this comment

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

ill do some testing rn

as far as I can tell my method for obfuscate 3 is more fitting for its purpose than whats done here? (granting them a shapeshifting action)

Comment on lines +290 to +305
if((target_type & TARGET_OBJ) && istype(target, /obj))
return TRUE

if ((target_type & TARGET_OBJ) && istype(target, /obj))
if((target_type & TARGET_GHOST) && istype(target, /mob/dead))
return TRUE

if ((target_type & TARGET_GHOST) && istype(target, /mob/dead))
if((target_type & TARGET_TURF) && istype(target, /turf))
return TRUE

if ((target_type & TARGET_TURF) && istype(target, /turf))
return TRUE
//check if distance is in range
if(!IN_GIVEN_RANGE(owner, target, range))
if(alert)
to_chat(owner, span_warning("[target] is out of range!"))
return FALSE

//target doesn't match any targeted types, so can't activate on them
if (alert)
to_chat(owner, span_warning("You cannot cast [src] on [target]!"))
return FALSE
return TRUE
Copy link
Contributor

Choose a reason for hiding this comment

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

so if my target is an object a ghost or a turf i can just have infinite range bc of the early return?

this results in edge cases, as in, its not game breaking, but this would affect Necromancy 3 feeding from ghosts allowing you to feed from them anywhere, and Lure of Flames 5 (though that has its own range capping due to it needing a second roll.

it may also affect Quietus 4 I think allowing you to poison weapons from very far away

Comment on lines +17 to +19
icon = 'modular_darkpack/modules/deprecated/icons/obj/stack_objects.dmi'
icon_state = "human"
ONFLOOR_ICON_HELPER('modular_darkpack/modules/deprecated/icons/onfloor.dmi')
Copy link
Contributor

Choose a reason for hiding this comment

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

ideally we want to remove as much as we can from the deprecated module, unless ofc youd like these to be replaced in the future?


/obj/item/ground_heir
name = "bag of ground"
desc = "Boghatyrskaya sila taitsa zdies'..."
Copy link
Contributor

Choose a reason for hiding this comment

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

this is russian if youd like to change it, it says something like "Heroic strength is forged here..."

desc = "Just blood and guts..."
icon_state = "guts"
icon = 'modular_darkpack/modules/powers/icons/flesh_items.dmi'
ONFLOOR_ICON_HELPER('modular_darkpack/modules/deprecated/icons/onfloor.dmi')
Copy link
Contributor

@chazzyjazzy chazzyjazzy Dec 21, 2025

Choose a reason for hiding this comment

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

more deprecated sprites here, relates to my other comment

Comment on lines +134 to +137
/datum/action/cooldown/mob_cooldown/shapeshift/proc/change_eyes(mob/living/carbon/human/target)
var/new_eye_color = input(owner, "Choose a eye color", "Eye Color", target.eye_color_left) as color|null
if(!new_eye_color)
return TRUE
Copy link
Contributor

Choose a reason for hiding this comment

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

if new eye color is not selected return true?

Comment on lines 31 to 35
target.name = newname
if(target.dna)
target.dna.real_name = newname
if(target.mind)
target.mind.name = newname
Copy link
Contributor

Choose a reason for hiding this comment

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

same thing here with the 'name' var and the guestbook

Comment on lines +1 to +6
// Level 1: Shapeshift Self
// Level 2: Shapeshift Other
// Level 3: Damage others and self.
// Level 4: Shapeshift into a Horrid Form
// Level 5: Slimegirl tzimisce

Copy link
Contributor

Choose a reason for hiding this comment

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

intended to keep these here or are these just for the draft so u can plan?

either way im down for keeping it just figured you mightve forgotten these were here

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Just for planning

level = 3
check_flags = DISC_CHECK_CONSCIOUS | DISC_CHECK_CAPABLE | DISC_CHECK_IMMOBILE | DISC_CHECK_FREE_HAND
check_flags = DISC_CHECK_CONSCIOUS | DISC_CHECK_CAPABLE | DISC_CHECK_FREE_HAND | DISC_CHECK_IMMOBILE
target_type = TARGET_MOB
Copy link
Contributor

Choose a reason for hiding this comment

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

can see a runtime here since the target type is target mob - vicissitude + necromancy ghost vision can use vicissitude 3 against an observer ghost.

else
target.emote("scream")
target.apply_damage(60, BRUTE, BODY_ZONE_CHEST)
target.apply_damage(roll * 30, BRUTE, BODY_ZONE_CHEST)
Copy link
Contributor

Choose a reason for hiding this comment

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

150 damage on 5 successes instatorpors stamina 1-2

then again, that assumes they have at least 5 dice. i mean if they have Potence theyd have alot of Strength dice.

just something to consider, we can let a salt pr take care of it if its too absurd

Comment on lines +12 to +14
/mob/living/basic/zulo
name = "unknown creature"
desc = "What the hell is that thing!?"
Copy link
Contributor

Choose a reason for hiding this comment

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

Masquerade violating? I dont see any vars or traits

Copy link
Contributor

@chazzyjazzy chazzyjazzy Dec 22, 2025

Choose a reason for hiding this comment

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

in testing i wouldve appreciated being able to shapeshift back and i cant seem to attack people, the speed can be bumped up too, also looks like the alt sprites still need to be implemented?

@chazzyjazzy
Copy link
Contributor

chazzyjazzy commented Dec 22, 2025

also fix yo muthafuckin linters also lol, how does this compile? this isnt updated with the stats pr but the methods to get the stats still pass?

@github-actions
Copy link
Contributor

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added the Stale label Dec 30, 2025
@github-actions github-actions bot closed this Jan 6, 2026
@XeonMations XeonMations reopened this Jan 22, 2026
@XeonMations XeonMations removed the Stale label Jan 22, 2026
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