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.2 |
Download link | SeroRonin-Jhin-1.2.2.zip |
Downloads | 127938 |
Dependency string | SeroRonin-Jhin-1.2.2 |
This mod requires the following mods to function
KingEnderBrine-LobbySkinsFix
Fixes issues with switching to modded skin and back to vanilla in lobby
Preferred version: 1.2.1bbepis-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.2117README
If you like my mods, consider supporting me!
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
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
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
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
Dancing Grenade functions similarly to Huntress' Glaive, but it prioritizes new enemies over enemies it has already hit.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
**
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.
**The wording on the execute is wrong, and has since been fixed (up to 300% bonus damage based on missing health, or 3% per 1%)
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. This is not something I can fix on my end.
Known Issues
Bugs can be reported under Github Issues, or through my Discord: https://discord.gg/RSs2kA7yRu
- [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.4.1
Updated changelog on Thunderstore
1.4.0
This major update notably cuts down file size, adds in the Soul Fighter skin, SFX for rest of the skins, and some code changes including some more VFX!
The biggest thing is compressed audio, which brings the mod down to 1/3rd the filesize of the previous patch, even with all the new audio added (the file size doubled before I compressed everything :skull:) If you notice any issues with the audio because of this, please let me know! The currently implemeted VFX changes include Project Jhin's mask and ult overlay, as well as DWG's wngs (with animations). The current plan for other VFX is to create a set of particles for the base skin, then use thoses to create color swaps for all the other skins, until I bother to create unique VFX for each.
The next update will likely be centered around fixing some multiplayer bugs
CONFIG CHANGE: Delete your config to get new options and updated values!
General
- [QoL] Converted/Compressed all audio from WAV to OGG
- [Addition] Added the Soul Fighter skin
- [Addition] Added Unique SFX for the remaining implemented skins: SKTT1, Shan Hai Scrolls, DWG, Empyrean, Soul Fighter
- [Addition] Added some model VFX ( Project mask, Soul Fighter flames)
- [Addition] Added Lobby Select SFX
- [Bugfix] Fixed missing VFX config option
- [Adjustment] Renamed SFX/VFX Choice to SFX/VFX Override, and renamed "SkinDependant" option to "Dynamic"
- [Adjustment] Added Dynamic Bones to cloak for CustomEmoteAPI Emotes
Dynamic bones are only active when emoting, and should alleviate a lot of clipping when using custom emotes
Whisper
- [Bugfix] Fixed Shuriken interaction
- [Buff] Proc Coefficient now scales with bonus attack speed
Whisper's Proc coefficient now benefits from attack speed bonuses, +100% attack speed is converted into +100% proc coefficient. Whisper should also now trigger Shuriken each time you attack. It's still not the best item for jhin's attackspeed, but hey at least it works properly!
Dancing Grenade
- [Bugfix] Fixed grenade not bouncing off of targets who died before arrival
Curtain Call
- [Addition] Added model VFX for the following skins: Project, DWG
- [Adjustment] Curtain Call now has an exit time
The model VFX are only for visuals that appear during the ult, not for the ult shots yet. The exit time is a necessary feature added to support blending out VFX as well as certain animations, but it's a very short time so it should barely be noticeable
1.3.0
Updates the mod to work with Seekers of the Storm, as well as small changes and some WiP VFX for the Project skin. Because of the nature of SotS's bug severity, please let me know if there are any new bugs I missed. CONFIG CHANGE: Delete your config to get new options and updated values!
General
- [Bugfix] Fixed issues caused by SotS that made the mod not work properly
- [Addition] Implementation of skin-based VFX systems, with some VFX for the Project skin
This does NOT fix any issues caused by the FPS-related issues from SotS. I do not see a need to make workaround changes when this bug should be fixed by Gearbox themselves soon. VFX has an override option like the SFX, allowing you to use any available VFX set on any skin if you would like
Curtain Call
- [QoL] Added the ability to cancel Curtain Call by using the skill again
- [Nerf] Reduced explosion radius by about half
The ult was way too good at clearing enemies, this change intends to reduce its effectiveness at doing so
1.2.2
This update includes some wording fixes and some fixes targeted towards the special, which accidentally had inverted scaling making it LESS strong as the target lost health. I had accidentally forget to invert a fraction calculation, so the special 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.
Curtain Call
- [Bugfix] Fixed Curtain Call's execute scaling
- [Bugfix] Changed Curtain Call's execute description from
300% per 1% of target's missing health
toup 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
1.2.1
General
- [Incompatibilty] Syngergies mod causes Special 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
to0.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
to6
A simple tuning to balancing out the passive scaling change
Dancing Grenade
- [Nerf] Changed damage from
6
to4.44
- [Nerf] Changed bounce-kill damage from
0.35
to0.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
to5
- [Buff] Changed damage from
5
to8
- [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
to9
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%
to9%
extra damage % per syringe, now doubles effective damage at~166%
bonus attack speed instead of400%
- Dancing Grenade Total Potential Damage:
3980%
to ~2750%
(Huntress Glaive has a potential of2372%
) - Curtain Call Total Potential Damage:
22400%
to11700%
(Railgunner's Special has a potential of12000%
)
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
to256
Dancing Grenade
- [Buff] Increased targeting range from
25
to40
- [QoL] No longer interrupts the empty reload
Deadly Flourish
- [Addition] Added VFX for Deadly Flourish
- [Nerf] Changed range from
512
to256
- [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
to20s
1.0.1
General
- [Bugfix] Fixed damage growth being
0.24
instead of the intended2.4
1.0.0
- Initial Release