0 of 0

File information

Last updated

Original upload

Created by

Nixos

Uploaded by

dremor8484

Virus scan

Safe to use

Tags for this mod

Documentation

Readme

View as plain text

mod for game version: Patch 1.5.75 (28 June 2021) [1.5.78.11833_(64bit)_(50884)]

masks 4+4 //5+4
notches 4+8 //3+8

fix missing 1% completion due to lowered base health 4 //5
while equipping joni, you can no longer lose more than 1 health per hit
blue health is now used when only 1 white health is left.
while equipping joni, bluehealth from charms becomes jonibluehealth (part1)

Weaversong spiders give 8 souls when Grubsong is equipped 8 //3
Weaversong spiders give 13 souls when Grubsong and Grubberfly's Elegy is equipped 13 //3

glowing womb spawn soul cost reduced 4 //8
glowing womb always does 9dmg, even if crest charm is equipped 9,9 //9,4
glowing womb extra dmg with flashing fury when 1hp left always 14

nail dmg: 8,12,16,20,24 //5,9,13,17,21
nail art charge time reduced (both default and charm): 0.75,0.15 //1.35, 0.75

grub charm soul on hit boosted: 16,26 //15,25
stalwart charm invulnerability time boosted: 1.75,2.2//1.3,1.75

charm costs: all reduced to 1, except void charm stays 0 cost
hunter's journal: reduced kills needed by 20% if the required amount is 20 or more

Only Sprintmaster increases dash length, and it affects all dashes
Shadow dash cooldown timer is always double the dash cooldown timer, Dashmaster also reduces shadow dash cooldown timer
drain soul (including the two soul charms): 11,5,10 11,5,10 //11,3,8 6,2,6
Carefree shield, fixed 25% dodge rate
Grubberfly's Elegy always activates when using joni, ranged melee attack always on when using joni
Baldur Shell takes damage only when damage absorbed is > 1
Joni now gives a fixed health bonus of 2
while equipping joni, bluehealth from charms becomes jonibluehealth (part2)

boosted soul gain using dreamnail with or without charm: 66,99 //33,66
Extra damage spore(Spore Shroom), dung(Defender's Crest), dung2(Defender's Crest + Spore Shroom): 2,3,4 //1,1,2

Godmaster: nail binding = -3 damage
Godmaster: fix joni shell binding = -loot masks
Godmaster: charm binding overcharmed if > 4 slots used

dnSpy-net-win64 (https://github.com/dnSpy/dnSpy/releases)
.\Hollow Knight_Data\Managed\Assembly-CSharp.dll

Assembly-CSharp
Assembly-CSharp.dll
{} -

###Initial Setup of Health and Sockets when New Game is chosen, also a charm's cost is set to 1
PlayerData
SetupNewPlayerData

***
this.health = 5;
this.maxHealth = 5;
this.maxHealthBase = 5;
into
this.health = 4;
this.maxHealth = 4;
this.maxHealthBase = 4;
***

this.maxHealthCap = 9;
into
this.maxHealthCap = 8;

***

this.nailDamage = 5;
into
this.nailDamage = 8;

***

this.charmSlots = 3;
into
this.charmSlots = 4;

***

this.charmCost_6 = 2;
into (the only charm that can be found before reaching a bench)
this.charmCost_6 = 1;

***

###Gods Glory Game Mode initial setup
PlayerData
AddGGPlayerDataOverrides

***

this.nailDamage = 21;
into
this.nailDamage = 24;

***

this.charmSlots = 11;
into
this.charmSlots = 12;

***

###Fix 1% completion, lost due to 4 starting health instead of 5
PlayerData
CountGameCompletion

***

this.completionPercentage += (float)(this.maxHealthBase - 5);
into
this.completionPercentage += (float)(this.maxHealthBase - 4);

***

###while equipping joni, you can no longer lose more than 1 health per hit
PlayerData
TakeHealth

***

if (amount > 0 && this.health == this.maxHealth && this.health != this.CurrentMaxHealth)
{
this.health = this.CurrentMaxHealth;
}
into
if (amount > 0 && this.equippedCharm_27)
{
amount = 1;
}
if (amount > 0 && this.health == this.maxHealth && this.health != this.CurrentMaxHealth)
{
this.health = this.CurrentMaxHealth;
}

***

###Blue health is now used when only 1 white health is left
PlayerData
TakeHealth

***

if (this.healthBlue > 0)
{
int num = amount - this.healthBlue;
this.damagedBlue = true;
this.healthBlue -= amount;
if (this.healthBlue < 0)
{
this.healthBlue = 0;
}
if (num > 0)
{
this.TakeHealth(num);
return;
}
}
into
if (this.healthBlue > 0 && this.health <= amount)
{
int num = amount - this.healthBlue;
if (this.health > 1)
{
num = this.health - 1;
amount = amount - num;
if (this.healthBlue < amount)
{
num = num + amount - this.healthBlue;
}
}
this.damagedBlue = true;
this.healthBlue -= amount;
if (this.healthBlue < 0)
{
this.healthBlue = 0;
}
if (num > 0)
{
this.TakeHealth(num);
return;
}
}

***

###while equipping joni, bluehealth from charms becomes jonibluehealth
PlayerData
UpdateBlueHealth

public void UpdateBlueHealth()
{
this.healthBlue = 0;
if (this.equippedCharm_8)
{
this.healthBlue += 2;
}
if (this.equippedCharm_9)
{
this.healthBlue += 4;
}
}
into
public void UpdateBlueHealth()
{
this.healthBlue = 0;
if (this.equippedCharm_8 && !this.equippedCharm_27)
{
this.healthBlue += 2;
}
if (this.equippedCharm_9 && !this.equippedCharm_27)
{
this.healthBlue += 4;
}
}

***

###Weaversong spiders give 8 souls when Grubsong is equipped 8 //3
###Weaversong spiders give 13 souls when Grubsong and Grubberfly's Elegy is equipped 13 //3
PlayerData
AddMPCharge

***

bool result = false;
into
bool result = false;
if (this.equippedCharm_3 && this.equippedCharm_39 && amount == 3)
{
amount += 5;
if (this.equippedCharm_35)
{
amount += 5;
}
}

***

###Glowing womb spawn soul cost reduced 4 //8
PlayerData
TakeMP

***

if (amount <= this.MPCharge)
{
this.MPCharge -= amount;
if (this.MPCharge < 0)
{
this.MPCharge = 0;
return;
}
}
else
{
this.MPCharge = 0;
}
into
if (amount == 8)
{
amount = 4;
}
if (amount <= this.MPCharge)
{
this.MPCharge -= amount;
if (this.MPCharge < 0)
{
this.MPCharge = 0;
return;
}
}
else
{
this.MPCharge = 0;
}

***

###Glowing womb always does 9dmg, even if crest charm is equipped. Also compiler fix (modify method)
KnightHatchling
FixedUpdate

***

if (this.damageEnemies)
{
this.damageEnemies.damageDealt = this.details.damage;
}
into
if (this.damageEnemies)
{
this.damageEnemies.damageDealt = 9;
}

***

if (this.details.groundPoint)
{
RaycastHit2D raycastHit2D = Physics2D.Raycast(base.transform.position, Vector2.down, 2f, 256);
if (raycastHit2D.collider != null)
{
Vector2 point = raycastHit2D.point;
Vector2 v = this.details.groundPoint.position - point;
v.x = 0f;
base.transform.position -= v;
}
}
into
if (this.details.groundPoint)
{
RaycastHit2D raycastHit2D = Physics2D.Raycast(base.transform.position, Vector2.down, 2f, 256);
if (raycastHit2D.collider != null)
{
Vector3 point = raycastHit2D.point;
Vector3 v = this.details.groundPoint.position - point;
v.x = 0f;
base.transform.position -= v;
}
}

***

Random -> UnityEngine.Random

***

###Glowing womb extra dmg with flashing fury when 1hp left always 14. Also compiler fix (modify method)
KnightHatchling
OnEnable

***

if (playerData.equippedCharm_6 && playerData.health == 1 && (!playerData.equippedCharm_27 || playerData.healthBlue <= 0))
{
if (this.spriteFlash)
{
this.spriteFlash.FlashingFury();
}
this.details.damage = this.details.damage + 5;
}
into
if (playerData.equippedCharm_6 && playerData.health == 1 && (!playerData.equippedCharm_27 || playerData.healthBlue <= 0))
{
if (this.spriteFlash)
{
this.spriteFlash.FlashingFury();
}
this.details.damage = 14;
}

***

Random -> UnityEngine.Random

***

###Charm Cost and Nail Damage: inject some game rules change, when near bench
RestBench

***

private HeroController heroCtrl;
into
private HeroController heroCtrl;
private PlayerData playerData;

***

private void Start()
{
this.heroCtrl = HeroController.instance;
}
into
private void Start()
{
this.heroCtrl = HeroController.instance;
this.playerData = PlayerData.instance;
}

***

private void OnTriggerEnter2D(Collider2D otherObject)
{
if (otherObject.gameObject.layer == 9)
{
this.heroCtrl.NearBench(true);
}
}
into
private void OnTriggerEnter2D(Collider2D otherObject)
{
if (otherObject.gameObject.layer == 9)
{
this.heroCtrl.NearBench(true);

if (this.playerData.charmCost_6 == 2)
{
this.playerData.maxHealth--;
this.playerData.maxHealthBase--;
this.playerData.maxHealthCap--;
this.playerData.charmSlots++;
this.playerData.charmCost_6 = 1;
}

if (this.playerData.nailDamage == 5)
{
this.playerData.nailDamage = 8;
}
else if (this.playerData.nailDamage == 9)
{
this.playerData.nailDamage = 12;
}
else if (this.playerData.nailDamage == 13)
{
this.playerData.nailDamage = 16;
}
else if (this.playerData.nailDamage == 17)
{
this.playerData.nailDamage = 20;
}
else if (this.playerData.nailDamage == 21)
{
this.playerData.nailDamage = 24;
}

this.heroCtrl.NAIL_CHARGE_TIME_DEFAULT = 0.75f;
this.heroCtrl.NAIL_CHARGE_TIME_CHARM = 0.15f;

this.heroCtrl.GRUB_SOUL_MP = 16;
this.heroCtrl.GRUB_SOUL_MP_COMBO = 26;

this.heroCtrl.INVUL_TIME = 1.45f;
this.heroCtrl.INVUL_TIME_STAL = 2.45f;

this.playerData.charmCost_1 = 1; //1 Gathering Swarm https://hollowknight.fandom.com/wiki/Gathering_Swarm Collects dropped Geo
this.playerData.charmCost_2 = 1; //1 Wayward Compass https://hollowknight.fandom.com/wiki/Wayward_Compass Shows Knight's location on map
this.playerData.charmCost_3 = 1; //1 Grubsong https://hollowknight.fandom.com/wiki/Grubsong Gain 15 SOUL when taking damage
this.playerData.charmCost_4 = 1; //2 Stalwart Shell https://hollowknight.fandom.com/wiki/Stalwart_Shell Increases invincibility duration after being hit by ~35%, Reduces hit recoil (no input time) after being hit by 60%
this.playerData.charmCost_5 = 1; //2 Baldur Shell https://hollowknight.fandom.com/wiki/Baldur_Shell Block up to 4 hits while using Focus.
this.playerData.charmCost_6 = 1; //2 Fury of the Fallen https://hollowknight.fandom.com/wiki/Fury_of_the_Fallen Increases Nail damage by 75% when at 1 Mask, This effect is also applied to Nail Arts
this.playerData.charmCost_7 = 1; //3 Quick Focus https://hollowknight.fandom.com/wiki/Quick_Focus Focus ~33% faster
this.playerData.charmCost_8 = 1; //2 Lifeblood Heart https://hollowknight.fandom.com/wiki/Lifeblood_Heart Adds 2 Lifeblood Masks when resting.
this.playerData.charmCost_9 = 1; //3 Lifeblood Core https://hollowknight.fandom.com/wiki/Lifeblood_Core Adds 4 Lifeblood Masks when resting.
this.playerData.charmCost_10 = 1; //1 Defender's Crest https://hollowknight.fandom.com/wiki/Defender%27s_Crest Spawns toxic clouds that deal 2-4 damage and last 1.1 seconds. A new one spawns at the Knight's location every 0.75 seconds, Unlocks new interactions with certain NPCs
this.playerData.charmCost_11 = 1; //3 Flukenest https://hollowknight.fandom.com/wiki/Flukenest Replaces Vengeful Spirit with 9 flukes, and Shade Soul with 16 flukes, Each fluke does 4 damage, resulting in a total damage of 36 with Vengeful Spirit and 64 with Shade Soul
this.playerData.charmCost_12 = 1; //1 Thorns of Agony https://hollowknight.fandom.com/wiki/Thorns_of_Agony Damages nearby enemies for the base Nail damage when hit
this.playerData.charmCost_13 = 1; //3 Mark of Pride https://hollowknight.fandom.com/wiki/Mark_of_Pride Increases Nail range by 25%
this.playerData.charmCost_14 = 1; //1 Steady Body https://hollowknight.fandom.com/wiki/Steady_Body Removes all knockback/recoil from hitting enemies
this.playerData.charmCost_15 = 1; //2 Heavy Blow https://hollowknight.fandom.com/wiki/Heavy_Blow Increases Nail attack knockback by 75%, Increases Great Slash knockback by 33%, Reduces number of hits needed to stagger a boss by 1
this.playerData.charmCost_16 = 1; //2 Sharp Shadow https://hollowknight.fandom.com/wiki/Sharp_Shadow Damages enemies for 1 x Nail damage when dashing through them, When using Shade Cloak, increases shadow dash length by 40% (does not affect the regular Mothwing Cloak dashes)
this.playerData.charmCost_17 = 1; //1 Spore Shroom https://hollowknight.fandom.com/wiki/Spore_Shroom Focus releases a cloud of spores dealing 25-27 damage. The cloud lasts 4.1 seconds (There is a 4.25 second cooldown before being able to use Spore Shroom again), Able to understand the dialogue of Mister Mushroom, Able to read certain Lore Tablets found in Fungal Wastes and one in Kingdom's Edge
this.playerData.charmCost_18 = 1; //2 Longnail https://hollowknight.fandom.com/wiki/Longnail Increases nail range by 15%
this.playerData.charmCost_19 = 1; //3 Shaman Stone https://hollowknight.fandom.com/wiki/Shaman_Stone Increases Vengeful Spirit/Shade Soul damage by 33%, Increases Desolate Dive damage by 51% and Descending Dark damage by 47%, Increases Howling Wraiths/Abyss Shriek damage by 50%, Increases the size of Vengeful Spirit/Shade Soul
this.playerData.charmCost_20 = 1; //2 Soul Catcher https://hollowknight.fandom.com/wiki/Soul_Catcher Gain +3 additional SOUL with each hit for main Soul Vessel (base: 11), Gain +2 for reserve Soul Vessels (base: 6)
this.playerData.charmCost_21 = 1; //4 Soul Eater https://hollowknight.fandom.com/wiki/Soul_Eater Gain +8 additional SOUL with each hit for main Soul Vessel (base: 11), Gain +6 for reserve Soul Vessels (base: 6)
this.playerData.charmCost_22 = 1; //2 Glowing Womb https://hollowknight.fandom.com/wiki/Glowing_Womb Spawns Hatchlings for 8 SOUL each, that deal 9 damage to enemies on contact, a Hatchling spawns every 4 seconds for a total of 4 Hatchlings at a time
this.playerData.charmCost_23 = 1; //2 Fragile Heart https://hollowknight.fandom.com/wiki/Fragile_Heart Adds two Masks of health, Breaks upon death, Can be given to Divine to turn it Unbreakable
this.playerData.charmCost_24 = 1; //2 Fragile Greed https://hollowknight.fandom.com/wiki/Fragile_Greed Enemies drop 20-100% more Geo, Breaks upon death, Can be given to Divine to make it Unbreakable
this.playerData.charmCost_25 = 1; //3 Fragile Strength https://hollowknight.fandom.com/wiki/Fragile_Strength Increases Nail damage by 50%, Breaks upon death, Can be given to Divine to turn it Unbreakable
this.playerData.charmCost_26 = 1; //1 Nailmaster's Glory https://hollowknight.fandom.com/wiki/Nailmaster%27s_Glory Reduces the charge time of Nail Arts by ~44%
this.playerData.charmCost_27 = 1; //4 Joni's Blessing https://hollowknight.fandom.com/wiki/Joni%27s_Blessing Increase Masks by 40% (rounded up), all Masks become Lifeblood, Causes Lifeseeds to flock to the Knight instead of running away
this.playerData.charmCost_28 = 1; //2 Shape of Unn https://hollowknight.fandom.com/wiki/Shape_of_Unn Allows moving while focusing, and reduces hitbox height
this.playerData.charmCost_29 = 1; //4 Hiveblood https://hollowknight.fandom.com/wiki/Hiveblood Passively heals the last unit of health lost after 10 seconds without taking further damage, Makes the enemies inside the Hive passive
this.playerData.charmCost_30 = 1; //1 Dream Wielder https://hollowknight.fandom.com/wiki/Dream_Wielder Gain +33 additional SOUL when hitting enemies with the Dream Nail (33 to 66), Reduces the time needed to attack with the Dream Nail by 62.5%, Increases the likelihood of receiving Essence when killing enemies by 50%
this.playerData.charmCost_31 = 1; //2 Dashmaster https://hollowknight.fandom.com/wiki/Dashmaster Reduces the Mothwing Cloak cooldown by 33%, Allows dashing downwards by holding DOWN
this.playerData.charmCost_32 = 1; //3 Quick Slash https://hollowknight.fandom.com/wiki/Quick_Slash Decreases Nail attack duration (How long the hitbox is active) by 20%, Decreases Nail attack cooldown (Total time between attacks) by ~39%
this.playerData.charmCost_33 = 1; //2 Spell Twister https://hollowknight.fandom.com/wiki/Spell_Twister Reduces SOUL cost of Spells to 24 from 33
this.playerData.charmCost_34 = 1; //4 Deep Focus https://hollowknight.fandom.com/wiki/Deep_Focus Focus heals 2 Masks of Health while decreasing Focus speed by 65%
this.playerData.charmCost_35 = 1; //3 Grubberfly's Elegy https://hollowknight.fandom.com/wiki/Grubberfly%27s_Elegy When at full Masks, Nail attacks shoot a projectile dealing 50% Nail damage per hit.
this.playerData.charmCost_36 = 1; //5 Kingsoul https://hollowknight.fandom.com/wiki/Kingsoul Slowly generates 4 SOUL every 2 seconds, Opens a secret area within the Abyss
this.playerData.charmCost_37 = 1; //1 Sprintmaster https://hollowknight.fandom.com/wiki/Sprintmaster Increases run speed by ~20%
this.playerData.charmCost_38 = 1; //3 Dreamshield https://hollowknight.fandom.com/wiki/Dreamshield Conjures a shield that slowly rotates around the Knight's position, blocks certain projectiles, and deals 1x Nail damage when colliding with an enemy
this.playerData.charmCost_39 = 1; //2 Weaversong https://hollowknight.fandom.com/wiki/Weaversong Summons 3 small Weaverlings that attack enemies for 3 damage per hit.
this.playerData.charmCost_40 = 1; //2 Grimmchild https://hollowknight.fandom.com/wiki/Grimmchild Marks uncollected flames on the map, Allows access to the Grimmkin, Summons a flying companion that does not deal damage (upgrades to the the Grimmchild cause it to deal 5,8,11 damage)

if (this.playerData.royalCharmState == 4)
{
this.playerData.charmCost_36 = 0; //0 Void Heart https://hollowknight.fandom.com/wiki/Void_Heart Unlocks 4 endings, Prevents the non-Void Heart ending for the save file, Renders the Siblings, Void Tendrils and Shade passive, Allows access to the Godmaster Pantheon of Hallownest
}

if (this.playerData.grimmChildLevel == 5)
{
this.playerData.charmCost_40 = 1; //3 Carefree Melody https://hollowknight.fandom.com/wiki/Carefree_Melody Has a chance to block incoming damage
}

if (this.playerData.killsBuzzer > 45-9)
{
this.playerData.killsBuzzer = 45-9;
}

if (this.playerData.killsZombieRunner > 35-7)
{
this.playerData.killsZombieRunner = 35-7;
}
if (this.playerData.killsZombieHornhead > 35-7)
{
this.playerData.killsZombieHornhead = 35-7;
}
if (this.playerData.killsZombieLeaper > 35-7)
{
this.playerData.killsZombieLeaper = 35-7;
}
if (this.playerData.killsZombieBarger > 35-7)
{
this.playerData.killsZombieBarger = 35-7;
}
if (this.playerData.killsBabyCentipede > 35-7)
{
this.playerData.killsBabyCentipede = 35-7;
}

if (this.playerData.killsClimber > 30-6)
{
this.playerData.killsClimber = 30-6;
}
if (this.playerData.killsHatchling > 30-6)
{
this.playerData.killsHatchling = 30-6;
}
if (this.playerData.killsMossWalker > 30-6)
{
this.playerData.killsMossWalker = 30-6;
}
if (this.playerData.killsFungoonBaby > 30-6)
{
this.playerData.killsFungoonBaby = 30-6;
}
if (this.playerData.killsFlyingSentrySword > 30-6)
{
this.playerData.killsFlyingSentrySword = 30-6;
}
if (this.playerData.killsBeeHatchling > 30-6)
{
this.playerData.killsBeeHatchling = 30-6;
}

if (this.playerData.killsBouncer > 25-5)
{
this.playerData.killsBouncer = 25-5;
}
if (this.playerData.killsHopper > 25-5)
{
this.playerData.killsHopper = 25-5;
}
if (this.playerData.killsMossmanRunner > 25-5)
{
this.playerData.killsMossmanRunner = 25-5;
}
if (this.playerData.killsMossmanShaker > 25-5)
{
this.playerData.killsMossmanShaker = 25-5;
}

if (this.playerData.killsMosquito > 25-5)
{
this.playerData.killsMosquito = 25-5;
}
if (this.playerData.killsMossFlyer > 25-5)
{
this.playerData.killsMossFlyer = 25-5;
}
if (this.playerData.killsMantis > 25-5)
{
this.playerData.killsMantis = 25-5;
}
if (this.playerData.killsMantisFlyerChild > 25-5)
{
this.playerData.killsMantisFlyerChild = 25-5;
}

if (this.playerData.killsRoyalDandy > 25-5)
{
this.playerData.killsRoyalDandy = 25-5;
}
if (this.playerData.killsRoyalCoward > 25-5)
{
this.playerData.killsRoyalCoward = 25-5;
}
if (this.playerData.killsRoyalPlumper > 25-5)
{
this.playerData.killsRoyalPlumper = 25-5;
}
if (this.playerData.killsFlyingSentryJavelin > 25-5)
{
this.playerData.killsFlyingSentryJavelin = 25-5;
}

if (this.playerData.killsSentry > 25-5)
{
this.playerData.killsSentry = 25-5;
}
if (this.playerData.killsMageBlob > 25-5)
{
this.playerData.killsMageBlob = 25-5;
}
if (this.playerData.killsMiniSpider > 25-5)
{
this.playerData.killsMiniSpider = 25-5;
}
if (this.playerData.killsSuperSpitter > 25-5)
{
this.playerData.killsSuperSpitter = 25-5;
}

if (this.playerData.killsSibling > 25-5)
{
this.playerData.killsSibling = 25-5;
}
if (this.playerData.killsColFlyingSentry > 25-5)
{
this.playerData.killsColFlyingSentry = 25-5;
}
if (this.playerData.killsColMiner > 25-5)
{
this.playerData.killsColMiner = 25-5;
}
if (this.playerData.killsColShield > 25-5)
{
this.playerData.killsColShield = 25-5;
}

if (this.playerData.killsSpitter > 20-4)
{
this.playerData.killsSpitter = 20-4;
}
if (this.playerData.killsRoller > 20-4)
{
this.playerData.killsRoller = 20-4;
}
if (this.playerData.killsBlobFlyer > 20-4)
{
this.playerData.killsBlobFlyer = 20-4;
}
if (this.playerData.killsJellyCrawler > 20-4)
{
this.playerData.killsJellyCrawler = 20-4;
}
if (this.playerData.killsMushroomTurret > 20-4)
{
this.playerData.killsMushroomTurret = 20-4;
}
if (this.playerData.killsMushroomRoller > 20-4)
{
this.playerData.killsMushroomRoller = 20-4;
}
if (this.playerData.killsMushroomBaby > 20-4)
{
this.playerData.killsMushroomBaby = 20-4;
}
if (this.playerData.killsFungusFlyer > 20-4)
{
this.playerData.killsFungusFlyer = 20-4;
}

if (this.playerData.killsMage > 20-4)
{
this.playerData.killsMage = 20-4;
}
if (this.playerData.killsSentryFat > 20-4)
{
this.playerData.killsSentryFat = 20-4;
}
if (this.playerData.killsFlipHopper > 20-4)
{
this.playerData.killsFlipHopper = 20-4;
}
if (this.playerData.killsFlukeman > 20-4)
{
this.playerData.killsFlukeman = 20-4;
}
if (this.playerData.killsInflater > 20-4)
{
this.playerData.killsInflater = 20-4;
}
if (this.playerData.killsCrystalFlyer > 20-4)
{
this.playerData.killsCrystalFlyer = 20-4;
}
if (this.playerData.killsZombieMiner > 20-4)
{
this.playerData.killsZombieMiner = 20-4;
}
if (this.playerData.killsShootSpider > 20-4)
{
this.playerData.killsShootSpider = 20-4;
}

if (this.playerData.killsSpiderFlyer > 20-4)
{
this.playerData.killsSpiderFlyer = 20-4;
}
if (this.playerData.killsBlowFly > 20-4)
{
this.playerData.killsBlowFly = 20-4;
}
if (this.playerData.killsDreamGuard > 20-4)
{
this.playerData.killsDreamGuard = 20-4;
}
if (this.playerData.killsAbyssCrawler > 20-4)
{
this.playerData.killsAbyssCrawler = 20-4;
}
if (this.playerData.killsOrangeScuttler > 20-4)
{
this.playerData.killsOrangeScuttler = 20-4;
}
if (this.playerData.killsGardenZombie > 20-4)
{
this.playerData.killsGardenZombie = 20-4;
}
if (this.playerData.killsColRoller > 20-4)
{
this.playerData.killsColRoller = 20-4;
}
if (this.playerData.killsColWorm > 20-4)
{
this.playerData.killsColWorm = 20-4;
}

}
}

***

###Only Sprintmaster increases dash length, and it affects all dashes
HeroController
Dash

***

if (this.playerData.equippedCharm_16 && this.cState.shadowDashing)
{
num = this.DASH_SPEED_SHARP;
}
into
if (this.playerData.equippedCharm_37)
{
num = this.DASH_SPEED * 1.2f;
}

***

###Fix compiler

this.heroInPosition += delegate(bool <p0>)
into
this.heroInPosition += delegate

***

###Shadow dash cooldown timer is always double the dash cooldown timer, Dashmaster also reduces shadow dash cooldown timer
HeroController
HeroDash

***

this.shadowDashTimer = this.SHADOW_DASH_COOLDOWN;
into
this.shadowDashTimer = this.SHADOW_DASH_COOLDOWN;
if (this.playerData.equippedCharm_31)
{
this.shadowDashTimer = this.DASH_COOLDOWN_CH * 2f;
}
else
{
this.shadowDashTimer = this.DASH_COOLDOWN * 2f;
}

***

###Fix compiler

this.heroInPosition += delegate(bool <p0>)
into
this.heroInPosition += delegate

***

###Drain soul (including the two soul charms): 11,5,10 11,5,10 //11,3,8 6,2,6
HeroController
SoulGain

***

if (this.playerData.MPCharge < this.playerData.maxMP)
{
num = 11;
if (this.playerData.equippedCharm_20)
{
num += 3;
}
if (this.playerData.equippedCharm_21)
{
num += 8;
}
}
else
{
num = 6;
if (this.playerData.equippedCharm_20)
{
num += 2;
}
if (this.playerData.equippedCharm_21)
{
num += 6;
}
}
into
if (this.playerData.MPCharge < this.playerData.maxMP)
{
num = 11;
if (this.playerData.equippedCharm_20)
{
num += 5;
}
if (this.playerData.equippedCharm_21)
{
num += 10;
}
}
else
{
num = 11;
if (this.playerData.equippedCharm_20)
{
num += 5;
}
if (this.playerData.equippedCharm_21)
{
num += 10;
}
}

***

###Carefree shield, fixed 25% dodge rate. Grubberfly's Elegy always activates when using joni, ranged melee attack always on when using joni
HeroController
TakeDamage

***

case 1:
if ((float)UnityEngine.Random.Range(1, 100) <= 10f)
{
flag = true;
}
break;
case 2:
if ((float)UnityEngine.Random.Range(1, 100) <= 20f)
{
flag = true;
}
break;
case 3:
if ((float)UnityEngine.Random.Range(1, 100) <= 30f)
{
flag = true;
}
break;
into
case 1:
if ((float)UnityEngine.Random.Range(1, 100) <= 0f)
{
flag = true;
}
break;
case 2:
if ((float)UnityEngine.Random.Range(1, 100) <= 0f)
{
flag = true;
}
break;
case 3:
if ((float)UnityEngine.Random.Range(1, 100) <= 100f)
{
flag = true;
}
break;

***

if (this.joniBeam && damageAmount > 0)
{
this.joniBeam = false;
}
into
if (this.joniBeam && damageAmount > 0)
{
this.joniBeam = true;
}

***

###Baldur Shell takes damage only when damage absorbed is > 1

if (this.playerData.equippedCharm_5 && this.playerData.blockerHits > 0 && hazardType == 1 && this.cState.focusing && !flag)
{
this.proxyFSM.SendEvent("HeroCtrl-TookBlockerHit");
this.audioSource.PlayOneShot(this.blockerImpact, 1f);
spawnDamageEffect = false;
damageAmount = 0;
}
into
if (this.playerData.equippedCharm_5 && this.playerData.blockerHits > 0 && hazardType == 1 && this.cState.focusing && !flag)
{
this.proxyFSM.SendEvent("HeroCtrl-TookBlockerHit");
this.audioSource.PlayOneShot(this.blockerImpact, 1f);
spawnDamageEffect = false;
if (damageAmount <= 1)
{
this.playerData.blockerHits++;
}
damageAmount = 0;
}

***

###Fix compiler

this.heroInPosition += delegate(bool <p0>)
into
this.heroInPosition += delegate

***

###Joni now gives a fixed health bonus of 2
HeroController
CharmUpdate

if (this.playerData.equippedCharm_27)
{
this.playerData.joniHealthBlue = (int)((float)this.playerData.maxHealth * 1.4f);
this.playerData.maxHealth = 1;
this.MaxHealth();
this.joniBeam = true;
}
into
if (this.playerData.equippedCharm_27)
{
this.playerData.joniHealthBlue = (int)((float)this.playerData.maxHealth * 1.4f);
this.playerData.joniHealthBlue = this.playerData.maxHealth + 1;
if (this.playerData.equippedCharm_8)
{
this.playerData.joniHealthBlue += 2;
}
if (this.playerData.equippedCharm_9)
{
this.playerData.joniHealthBlue += 4;
}
this.playerData.maxHealth = 1;
this.MaxHealth();
this.joniBeam = true;
}

***

###Fix compiler

this.heroInPosition += delegate(bool <p0>)
into
this.heroInPosition += delegate

***

###Boosted soul gain using dreamnail with or without charm: 66,99 //33,66
EnemyDreamnailReaction
RecieveDreamImpact

***

int amount = GameManager.instance.playerData.equippedCharm_30 ? 66 : 33;
into
int amount = GameManager.instance.playerData.equippedCharm_30 ? 99 : 66;

***

###Extra damage spore(Spore Shroom), dung(Defender's Crest), dung2(Defender's Crest + Spore Shroom): 2,3,4 //1,1,2
ExtraDamageable
GetDamageOfType

***

if (extraDamageTypes <= ExtraDamageTypes.Dung || extraDamageTypes != ExtraDamageTypes.Dung2)
{
return 1;
}
return 2;
into
if (extraDamageTypes == ExtraDamageTypes.Spore)
{
return 2;
}
if (extraDamageTypes == ExtraDamageTypes.Dung)
{
return 3;
}
if (extraDamageTypes == ExtraDamageTypes.Dung2)
{
return 4;
}
return 2;

***

###Godmaster: nail binding = -3 damage
GetNailDamage
OnEnter

***

if (BossSequenceController.BoundNail)
{
this.storeValue.Value = Mathf.Min(GameManager.instance.playerData.nailDamage, BossSequenceController.BoundNailDamage);
}
else
{
this.storeValue.Value = GameManager.instance.playerData.nailDamage;
}
into
if (BossSequenceController.BoundNail)
{
this.storeValue.Value = Mathf.Min(GameManager.instance.playerData.nailDamage, BossSequenceController.BoundNailDamage);
}
else
{
this.storeValue.Value = GameManager.instance.playerData.nailDamage;
}
this.storeValue.Value = GameManager.instance.playerData.nailDamage - 3;

***

BossSequenceController
BoundNailDamage

***

get
{
int nailDamage = GameManager.instance.playerData.nailDamage;
if (nailDamage <= BossSequenceController.currentSequence.nailDamage)
{
return Mathf.RoundToInt((float)nailDamage * BossSequenceController.currentSequence.lowerNailDamagePercentage);
}
return BossSequenceController.currentSequence.nailDamage;
}
into
get
{
int nailDamage = GameManager.instance.playerData.nailDamage;
if (nailDamage > 7)
{
return GameManager.instance.playerData.nailDamage - 3;
}
if (nailDamage <= BossSequenceController.currentSequence.nailDamage)
{
return Mathf.RoundToInt((float)nailDamage * BossSequenceController.currentSequence.lowerNailDamagePercentage);
}
return BossSequenceController.currentSequence.nailDamage;
}

***

###Godmaster: fix joni shell binding = -loot masks
GGCheckBoundHeart
IsTrue

***

num = (int)((float)this.healthNumber.Value * 0.71428573f) + 1;
into
num = (int)((float)this.healthNumber.Value * 0.71428573f) + 1;
num = this.healthNumber.Value;
if (GameManager.instance.playerData.equippedCharm_27 && GameManager.instance.playerData.equippedCharm_8)
{
num -= 2;
}
if (GameManager.instance.playerData.equippedCharm_27 && GameManager.instance.playerData.equippedCharm_9)
{
num -= 4;
}
***

###Godmaster: charm binding overcharmed if > 4 slots used
BossSequenceController
ApplyBindings

***

if (BossSequenceController.BoundCharms)
{
BossSequenceController.currentData.previousEquippedCharms = GameManager.instance.playerData.equippedCharms.ToArray();
GameManager.instance.playerData.equippedCharms.Clear();
BossSequenceController.currentData.wasOvercharmed = GameManager.instance.playerData.overcharmed;
GameManager.instance.playerData.overcharmed = false;
BossSequenceController.SetCharmsEquipped(false);
EventRegister.SendEvent("SHOW BOUND CHARMS");
}
into
if (BossSequenceController.BoundCharms)
{
BossSequenceController.currentData.previousEquippedCharms = GameManager.instance.playerData.equippedCharms.ToArray();
if (GameManager.instance.playerData.charmSlotsFilled == 0)
{
GameManager.instance.playerData.equippedCharms.Clear();
BossSequenceController.currentData.wasOvercharmed = GameManager.instance.playerData.overcharmed;
GameManager.instance.playerData.overcharmed = false;
BossSequenceController.SetCharmsEquipped(false);
}
if (GameManager.instance.playerData.charmSlotsFilled > 4)
{
GameManager.instance.playerData.overcharmed = true;
}
EventRegister.SendEvent("SHOW BOUND CHARMS");
}

***

USED INFO FOR THE JOURNAL REQUIREMENT REDUCTION:

this.killsBuzzer = 45;

this.killsZombieRunner = 35;
this.killsZombieHornhead = 35;
this.killsZombieLeaper = 35;
this.killsZombieBarger = 35;
this.killsBabyCentipede = 35;

this.killsClimber = 30;
this.killsHatchling = 30;
this.killsMossWalker = 30;
this.killsFungoonBaby = 30;
this.killsFlyingSentrySword = 30;
this.killsBeeHatchling = 30;

this.killsBouncer = 25;
this.killsHopper = 25;
this.killsMossmanRunner = 25;
this.killsMossmanShaker = 25;

this.killsMosquito = 25;
this.killsMossFlyer = 25;
this.killsMantis = 25;
this.killsMantisFlyerChild = 25;

this.killsRoyalDandy = 25;
this.killsRoyalCoward = 25;
this.killsRoyalPlumper = 25;
this.killsFlyingSentryJavelin = 25;

this.killsSentry = 25;
this.killsMageBlob = 25;
this.killsMiniSpider = 25;
this.killsSuperSpitter = 25;

this.killsSibling = 25;
this.killsColFlyingSentry = 25;
this.killsColMiner = 25;
this.killsColShield = 25;

this.killsSpitter = 20;
this.killsRoller = 20;
this.killsBlobFlyer = 20;
this.killsJellyCrawler = 20;
this.killsMushroomTurret = 20;
this.killsMushroomRoller = 20;
this.killsMushroomBaby = 20;
this.killsFungusFlyer = 20;

this.killsMage = 20;
this.killsSentryFat = 20;
this.killsFlipHopper = 20;
this.killsFlukeman = 20;
this.killsInflater = 20;
this.killsCrystalFlyer = 20;
this.killsZombieMiner = 20;
this.killsShootSpider = 20;

this.killsSpiderFlyer = 20;
this.killsBlowFly = 20;
this.killsDreamGuard = 20;
this.killsAbyssCrawler = 20;
this.killsOrangeScuttler = 20;
this.killsGardenZombie = 20;
this.killsColRoller = 20;
this.killsColWorm = 20;

UNUSED INFO

this.killsMantisHeavyFlyer = 16;
this.killsHatcher = 15;
this.killsPlantShooter = 15;
this.killsMossCharger = 15;
this.killsSnapperTrap = 15;
this.killsGrassHopper = 15;
this.killsFungCrawler = 15;
this.killsMageBalloon = 15;
this.killsFlukefly = 15;
this.killsCrystalCrawler = 15;
this.killsLaserBug = 15;
this.killsBeamMiner = 15;
this.killsMinesCrawler = 15;
this.killsAngryBuzzer = 15;
this.killsBurstingBouncer = 15;
this.killsBurstingZombie = 15;
this.killsSpittingZombie = 15;
this.killsCentipedeHatcher = 15;
this.killsSlashSpider = 15;
this.killsSpiderCorpse = 15;
this.killsBeeStinger = 15;
this.killsCeilingDropper = 15;
this.killsPigeon = 15;
this.killsHeavyMantis = 15;
this.killsBlobble = 15;
this.killsColMosquito = 15;
this.killsColHopper = 15;
this.killsJellyfish = 12;
this.killsBigBee = 12;
this.killsWorm = 10;
this.killsZombieShield = 10;
this.killsFungifiedZombie = 10;
this.killsMossKnightFat = 10;
this.killsBlackKnight = 10;
this.killsGreatShieldZombie = 10;
this.killsBigCentipede = 10;
this.killsLesserMawlek = 10;
this.killsGiantHopper = 10;
this.killsMawlekTurret = 10;
this.killsHealthScuttler = 10;
this.killsZombieHive = 10;
this.killsPalaceFly = 10;
this.killsMummy = 10;
this.killsOrangeBalloon = 10;
this.killsAbyssTendril = 10;
this.killsWhiteRoyal = 10;

this.killsMossKnight = 8;
this.killsAcidFlyer = 8;
this.killsAcidWalker = 8;
this.killsMushroomBrawler = 8;
this.killsFatFluke = 8;
this.killsZombieGuard = 6;
this.killsElectricMage = 6;
this.killsGrubMimic = 5;
this.killsEggSac = 5;
this.killsFlameBearerLarge = 5;
this.killsFlameBearerMed = 4;
this.killsBigFly = 3;
this.killsOblobble = 3;
this.killsFlameBearerSmall = 3;
this.killsBigBuzzer = 2;
this.killsPrayerSlug = 2;
this.killsMageKnight = 2;
this.killsMegaBeamMiner = 2;
this.killsHornet = 2;
this.killsRoyalGuard = 2;
this.killsMawlek = 1;
this.killsFalseKnight = 1;
this.killsBlocker = 1;
this.killsMenderBug = 1;
this.killsMegaMossCharger = 1;
this.killsInfectedKnight = 1;
this.killsLazyFlyer = 1;
this.killsZapBug = 1;
this.killsMegaJellyfish = 1;
this.killsMantisLord = 1;
this.killsJarCollector = 1;
this.killsMageLord = 1;
this.killsGorgeousHusk = 1;
this.killsFlukeMother = 1;
this.killsDungDefender = 1;
this.killsMimicSpider = 1;
this.killsHiveKnight = 1;
this.killsTraitorLord = 1;
this.killsZote = 1;
this.killsLobsterLancer = 1;
this.killsGhostAladar = 1;
this.killsGhostXero = 1;
this.killsGhostHu = 1;
this.killsGhostMarmu = 1;
this.killsGhostNoEyes = 1;
this.killsGhostMarkoth = 1;
this.killsGhostGalien = 1;
this.killsWhiteDefender = 1;
this.killsGreyPrince = 1;
this.killsZotelingBalloon = 1;
this.killsZotelingHopper = 1;
this.killsZotelingBuzzer = 1;
this.killsHollowKnight = 1;
this.killsFinalBoss = 1;
this.killsHunterMark = 1;
this.killsGrimm = 1;
this.killsNightmareGrimm = 1;
this.killsBindingSeal = 1;
this.killsPaleLurker = 1;
this.killsNailBros = 1;
this.killsPaintmaster = 1;
this.killsNailsage = 1;
this.killsHollowKnightPrime = 1;
this.killsGodseekerMask = 1;
this.killsVoidIdol_1 = 1;
this.killsVoidIdol_2 = 1;
this.killsVoidIdol_3 = 1;