You are viewing a potentially older version of this package. View all versions.
SeroRonin-Jhin-1.2.1 icon

Jhin

Adds Jhin, a high damage-low attackspeed survivor. Based on the champion of the same name in League of Legends

Date uploaded a year ago
Version 1.2.1
Download link SeroRonin-Jhin-1.2.1.zip
Downloads 51047
Dependency string SeroRonin-Jhin-1.2.1

This mod requires the following mods to function

bbepis-BepInExPack-5.4.2113 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.2113
RiskofThunder-HookGenPatcher-1.2.3 icon
RiskofThunder-HookGenPatcher

MMHOOK generation at runtime.

Preferred version: 1.2.3
tristanmcpherson-R2API-5.0.5 icon
tristanmcpherson-R2API

A modding API for Risk of Rain 2

Preferred version: 5.0.5

README

If you like my mods, consider supporting me!

ko-fi

Patreon

This mod was created under Riot Games' "Legal Jibber Jabber" policy using assets owned by Riot Games. Riot Games does not endorse or sponsor this project.


Jhin

Jhin is a meticulous criminal psychopath who believes murder is art. Once an Ionian prisoner, but freed by shadowy elements within Ionia's ruling council, the serial killer now works as their cabal's assassin. Using his gun gun as his paintbrush, Jhin creates works of artistic brutality, horrifying victims and onlookers. He gains a cruel pleasure from putting on his gruesome theater, making him the ideal choice to send the most powerful of messages: terror.

Jhin as a survivor is meant to deliver a low APM, high damage experience. He has high damage scaling, but lacks sufficient means to deal with large groups of enemies. This is my first mod for a RoR2, so it's likely to be either under or overpowered. If you have any concerns or feedback, please feel free to reach out via a discord channel I made specifically for things like this: https://discord.gg/RSs2kA7yRu

Video Showcase

Since markdown doesn't support embedding youtube videos, the showcase can be found on youtube directly from this link, or by clicking the icon below

[Risk of Rain 2] Jhin Survivor Mod Showcase

Features

  • Unique scaling and ammo system iconic to Jhin's playstyle in League of Legends
  • Animations from League, with custom animations to bridge the difference in game styles
  • SFX based on which skin you use
  • Item Display support up to SOTV
  • Highly configurable, change most values of the mod to your liking!

Planned Features

Features I would like to add, should I have the motivation to continue working on this

  • Custom VFX, with skin-dependancy if possible
  • VO and Emotes built off of LemonLust's designs
  • An alternate ability based off of Captive Audience

Stats

Health Regen Armor Damage Attack Speed
Base 110 1.5 0 12 0.625
Growth 33 0.2 0 2.4 0.019

Skills

Please note that skill values and effects may change over the course of this mod's lifespan, and the images displayed here may not reflect those changes.

Passive

Passive Jhin has a unique interaction with Attack Speed. Unlike other survivors, he gains attack speed with levels, but he CANNOT gain any from other sources. Instead, bonus attack speed increases his base damage, as well as granting Jhin additional movespeed when he lands a critical hit.

Primary

Primary

ammoUIpreview

Whisper has a unique ammo and reload system, utilizing shots represented by the tally marks and a reload timer represented by the ring. Jhin reloads after the 4th shot, or after 10 seconds without firing. Casting any skill will reset the automatic reload timer and interrupt a reload when you have bullets left.

Secondary

Secondary Dancing Grenade functions similarly to Huntress' Glaive, but it prioritizes new enemies over enemies it has already hit.

Utility

Utility

Deadly Flourish is a simple beam attack that stuns every enemy it hits. It triggers Jhin's passive as if he had landed a crit, with double the duration. Additionally, any marked enemies are rooted.

Special

Special

ammoUIpreview2

Curtain Call is a primary skill override, like that of Railgunner's scope. For 10 seconds, it replaces Whisper with 4 shots that deal massive AOE damage. It automatically reloads Whisper as well, so you don't have to worry about reloading after firing all 4 shots.


Skins

Each skin has it's own unique SFX, and if possible, VFX (when implemented). Creating the soundbanks for each is a painfully tedious process, and as such, only a few skins will have unique SFX at launch. Others are not planned, and will be added only if I have the motivation to do so.

Available

  • High Noon
  • Blood Moon
  • SKT T1 [SFX not planned]
  • Project
  • Shan Hai Scrolls [SFX not planned]
  • DWG [SFX not planned]
  • Empyrean [SFX not planned]

Not Available

  • Dark Cosmic [Not Possbile?]

Special Credits and Thanks

  • Riot Games: Jhin
    • Character assets including Models, Textures, SFX, and a majority of Animations
  • TimeSweeper: HenryTutorial
    • Code base from which this mod was built off of
  • Lemonlust: Sett Survivor
    • Referenced this mod a lot to help me learn RoR2 modding
  • EnforcerGang: Rocket Survivor
    • Referenced code for custom missile prefab spawning
  • Violet Chaolan: Shader Help
    • Helped with some shader plugins that allowed me to experiment with VFX

Mod Compatibility

Suggest compatibilities and report compatibility issues under Github Issues, or through my Discord: https://discord.gg/RSs2kA7yRu

Compatible

Built-in functionality support

  • Risk Of Options
  • CustomEmoteAPI

To be considered

No direct functionality support, but also don't break the game. May be added later.

  • None so far

Incompatible

Currently have issues or otherwise break when used with this mod. Will generally need to be fixed in patches.

  • Synergies By Dragonyck: Causes Curtain Call's projectile to explode repeatedly after impact

Known Issues

Bugs can be reported under Github Issues, or through my Discord: https://discord.gg/RSs2kA7yRu

  • [Skill] Ult projectile sometimes passes through enemies due to its speed
  • [Skill] Ult applies execute damage as an additional instance of damage (this is due to explosions not supporting post-hit pre-damage modifications)
  • [Item] Shuriken is triggered very sparsely, rather than on every primary attack. Likely due to custom ammo system?
  • (Unknown, happened once) Skin gets set to default randomly, but SFX stays intact, meaning skin index does not change

To Do

  • Better Movespeed Buff Icon
  • Custom Indicator for Dancing Grenade
  • Make Ult Execute group with base damage
  • Ult rocket jumping?
  • Hopoo-eqsue/RoR2-friendly skin
  • Achievments + Unlockable criteria (other abilties, skins, etc)

See the github page for footnotes that don't properly render here on Thunderstore

CHANGELOG

Delete your config files!

Every time there is an update to configurable numbers, you need to delete your config files so that the game can generate a new one with the right default values and sliders. If there are no new config changes, you do not need to worry about this.

1.2.2

This update includes some wording fixes and some fixes targeted towards the ult, which accidentally had inverted scaling making it LESS strong as the target lost health

Curtain Call

  • [Bugfix] Fixed Curtain Call's execute scaling
  • [Bugfix] Changed Curatin Call's execute description from 300% per 1% of target's missing health to up to 300% based on the target's missing health (damage unchanged, I just typed it incorrectly, the actual ratio is 3:1)
  • [QoL] Added new code that should fix the projectile skipping over enemies

I had accidentally forget to invert a fraction calculation, so the ult was doing max damage on the first shot and less as enemy lost health, which is the opposite of the intended effect. That should be fixed with this update.

Additionally, I added a new component to the missile that checks between the last known position and the current one for any enemies inbetween. This should fix edge-cases where the missile would pass enemies, most notably golems. This is a rather experimental component so please let me know if it has any unintended effects or bugs.

1.2.1

General

  • [Incompatibilty] Syngergies mod causes Ult to rapidly explode after impact

Deadly Flourish

  • [Bugfix] Fixed marks not re-applying to targets that have been rooted

1.2.0

Jhin had unintended damage output because I forgot to account for a bunch of scaling values, like from the executes. As well as that, his passive scaled poorly, so I've increased the scaling on his passive and reduced the damage on his skills. This nerfs Jhin's base effectiveness, but makes it so that he scales MUCH better with attack speed items, increasing his late game effectiveness. The skills may be a bit too high in damage thanks to the new passive scaling, but that will be adjusted in a future update if need be.

Every Moment Matters

  • [Addition] Added config options for passive damage and movespeed scaling
  • [Buff] Changed Attack-Speed-to-Damage scaling from 0.25 to 0.6
  • [Adjustment] Changed buff icon to temporary generic speedboost icon

His passive scaling was very weak, requiring nearly 400% bonus attack speed just to double his damage. This change should increase the effectiveness of Attack Speed items and synergies drastically. The icon was changed as it was originally using the sprite meant for Deadly Flourish's root mark debuff.

Whisper

  • [Addition] Added config option for auto-reload time
  • [Nerf] Whisper's damage from 8 to 6

A simple tuning to balancing out the passive scaling change

Dancing Grenade

  • [Nerf] Changed damage from 6 to 4.44
  • [Nerf] Changed bounce-kill damage from 0.35 to 0.3
  • [Buff] Can now bounce onto targets it has already hit, prioritizing new targets
  • [QoL] Now ignores already dead targets when finding a new target to bounce to

This change should hopefully make bouncing grenade more useful when used against groups of 2-3 monsters. I'd eventually like to make the grenade bounce on the same target multiple times if no other enemies are nearby, but with how the projectile type works makes this a little difficult, and I would probably need to make some entirely new movement code for this specific case

Deadly Flourish

  • [Addition] New Keyword: Captivating. Adds Mark-to-Root mechanic, with configs for mark and root duration
  • [Addition] Now multiplies the duration of the speed buff by 2 when triggered via Deadly Flourish (configurable)
  • [Nerf] Changed cooldown from 4 to 5
  • [Buff] Changed damage from 5 to 8
  • [QoL] Now ignores world geometry

Deadly Flourish was a bit lacking as a utility, so I implemted it's mark-root mechanic. Attacking enemies applies a mark for 4 seconds. Hitting a marked enemy with Deadly Flourish will consume the mark, rooting the enemy in place for 2 seconds. Additionally, the beam now ignores world geometry, so it no longer gets caught on slight hills or tight corners.

Curtain Call

  • [Nerf] Changed Curtain Call's damage from 16 to 9

This ult is just too strong, even with the cooldown nerf. Toning it down a bit more to bring it's potential damage in line with Railgunner's special

To give you a sense of the adjustments, these are the overall scaling changes:

  • Passive Before and After: 3.75% to 9% extra damage % per syringe, now doubles effective damage at ~166% bonus attack speed instead of 400%
  • Dancing Grenade Total Potential Damage: 3980% to ~2750% (Huntress Glaive has a potential of 2372%)
  • Curtain Call Total Potential Damage: 22400% to 11700% (Railgunner's Special has a potential of 12000%)

1.1.1

General

  • [Bugfix] Fixed an issue that caused the mod to malfunction if CustomEmotesAPI was not installed

1.1.0

The range on Jhin's bullet-based abilities was absurd, if you could see it you could hit it. You can still hit things from pretty far away, I reduced it to be a little more reasonable.

General

  • [QoL] Slightly reduced the volume of all SFX

Whisper

  • [Addition] Added a config option to make normal primary shots instant. This does not affect the 4th shot.
  • [Nerf] Changed range from 512 to 256

Dancing Grenade

  • [Buff] Increased targeting range from 25 to 40
  • [QoL] No longer interrupts the empty reload

Deadly Flourish

  • [Addition] Added VFX for Deadly Flourish
  • [Nerf] Changed range from 512 to 256
  • [QoL] No longer stops the player's velocity when cast in the air
  • [QoL] No longer interrupts the empty reload

Curtain Call

  • [Nerf] Changed cooldown from 10s to 20s

1.0.1

General

  • [Bugfix] Fixed damage growth being 0.24 instead of the intended 2.4

1.0.0

  • Initial Release