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

software: https://github.com/0xd4d/dnSpy
download: dnSpy-netcore-win64.zip
file, open, c:\GOG Games\Cuphead\Cuphead_Data\Managed\Assembly-CSharp.dll

damage +50%
invulnerability time +50%
p. sugar gives parry dash
miss chalice jumps as high as the other characters
cursed/divine relic each tier unlocks a new effect that works at 100% efficiency (Healer's Ring, Whetstone, Coffee, Smoke Dash, Hearts)

Peashooter + Mega Blast:
WeaponProperties
LevelWeaponPeashot
Basic
***
public static readonly float damage = 4f;
into
public static readonly float damage = 6f;
***
WeaponProperties
LevelWeaponPeashot
Ex
***
public static readonly float damage = 8.334f;
public static readonly float maxDamage = 25f;

into

public static readonly float damage = 11.112f;
public static readonly float maxDamage = 37.5f;
***

Chaser + Chaos Orbit:
WeaponProperties
LevelWeaponHoming
Basic
***
public static readonly float damage = 2.85f;
into
public static readonly float damage = 4.275f;
***

WeaponProperties
LevelWeaponHoming
Ex
***
public static readonly float damage = 7f;
public static readonly float spread = 90f;
public static readonly int bulletCount = 4;
public static readonly float swirlDistance = 100f;

into

public static readonly float damage = 7f;
public static readonly float spread = 60f;
public static readonly int bulletCount = 6;
public static readonly float swirlDistance = 200;
***

Spread + Eight Way
WeaponProperties
LevelWeaponSpreadshot
Basic
***(5 projectiles)
public static readonly float damage = 1.24f;
into
public static readonly float damage = 1.86f;
***

WeaponProperties
LevelWeaponSpreadshot
Ex
***
public static readonly float damage = 4.3f;
into
public static readonly float damage = 6.45f;
***

Lobber + Kablooey
WeaponProperties
LevelWeaponBouncer
Basic
***
public static readonly float bounceRatio = 1.3f;
public static readonly float bounceSpeedDampening = 800f;
public static readonly float damage = 11.6f;
public static readonly int numBounces = 2;

into

public static readonly float bounceRatio = 1.4f;
public static readonly float bounceSpeedDampening = 400f;
public static readonly float damage = 17.4f;
public static readonly int numBounces = 3;
***

WeaponProperties
LevelWeaponBouncer
Ex
***
public static readonly float damage = 28f;
public static readonly float explodeDelay = 2f;

into

public static readonly float damage = 42f;
public static readonly float explodeDelay = 3f;
***

Roundabout + Jumbo Rebound
WeaponProperties
LevelWeaponBoomerang
Basic
***
public static readonly float damage = 8.5f;
into
public static readonly float damage = 12.75f;
***

WeaponProperties
LevelWeaponBoomerang
Ex
***(8 hits, as long as you dodge it when it returns to you)
public static readonly float speed = 1000f;
public static readonly float damage = 5f;
public static readonly float maxDamage = 35f;
public static readonly float hitFreezeTime = 0.1f;

into

public static readonly float speed = 750f;
public static readonly float damage = 7.5f;
public static readonly float maxDamage = 52.5f;
public static readonly float hitFreezeTime = 0.2f;
***

Charge + Radial Barrage
WeaponProperties
LevelWeaponCharge
Basic
***
public static readonly float baseDamage = 6f;
public static readonly float damageStateTwo = 20f;
public static readonly float timeStateThree = 1f;
public static readonly float damageStateThree = 46f;

into

public static readonly float baseDamage = 9f;
public static readonly float damageStateTwo = 30f;
public static readonly float timeStateThree = 0.5f;
public static readonly float damageStateThree = 69f;
***

WeaponProperties
LevelWeaponCharge
Ex
***
public static readonly float damage = 26f;
into
public static readonly float damage = 39f;
***

Super Art I Energy Beam
WeaponProperties
LevelSuperBeam
***(5 hits)
public static readonly float damage = 14.5f;
into
public static readonly float damage = 21.75f;
***

Super Art II Invincibility
WeaponProperties
LevelSuperInvincibility
***
public static readonly float durationInvincible = 4.85f;
public static readonly float durationFX = 4.55f;

into

public static readonly float durationInvincible = 7.275f;
public static readonly float durationFX = 6.825f;
***

Super Art III Giant Ghost (lock aim to move only the ghost, rb)
WeaponProperties
LevelSuperGhost
***
public static readonly float initialSpeed = 700f;
public static readonly float maxSpeed = 1250f;
public static readonly float initialSpeedTime = 1.8f;
public static readonly float maxSpeedTime = 3.8f;
public static readonly float damage = 5.1f;
public static readonly float turnaroundEaseMultiplier = 4f;

into

public static readonly float initialSpeed = 700f;
public static readonly float maxSpeed = 0f;
public static readonly float initialSpeedTime = 0.1f;
public static readonly float maxSpeedTime = 5.5f;
public static readonly float damage = 7.65f;
public static readonly float turnaroundEaseMultiplier = 4f;
***

Aeroplane Shrink Fire
AbstractPlaneWeapon
***
protected float shrunkDamageMultiplier = 0.5f;
into
protected float shrunkDamageMultiplier = 0.75f;
***

Aeroplane Peashooter + Chomper Missile
WeaponProperties
PlaneWeaponPeashot
Basic
***
public static readonly float damage = 4f;
into
public static readonly float damage = 6f;
***

WeaponProperties
PlaneWeaponPeashot
Ex
***
public static readonly float damage = 15f;
into
public static readonly float damage = 22.5f;
***

Aeroplane Mini-Bomb + Mirv
WeaponProperties
PlaneWeaponBomb
Basic
***
public static readonly float damage = 11.5f;
into
public static readonly float damage = 17.25f;
***

WeaponProperties
PlaneWeaponBomb
Ex
***
public static readonly float damage = 6f;
into
public static readonly float damage = 9f;
***

Aeroplane Super Bomb Morph
WeaponProperties
PlaneSuperBomb
***
public static readonly float damage = 38f;
into
public static readonly float damage = 57f;
***

P. Sugar (adds parry dash)
LevelPlayerMotor
HandleDash
***
if (base.player.stats.isChalice && !this.ChaliceDuckDashed)
{
this.ChaliceDashParry();
}

into

if (this.dashManager.IsDashing && base.player.stats.Loadout.charm == Charm.charm_parry_plus && !Level.IsChessBoss && !this.hardExitParry)
{
this.ForceParry();
this.hardExitParry = true;
}
if (base.player.stats.isChalice && !this.ChaliceDuckDashed)
{
this.ChaliceDashParry();
}
***
###fix recompile issue
***
return this.transform.position + new Vector2(this.boxCollider.offset.x, this.Motor.GravityReversalMultiplier * this.boxCollider.offset.y);
into
return (Vector2)this.transform.position + new Vector2(this.boxCollider.offset.x, this.Motor.GravityReversalMultiplier * this.boxCollider.offset.y);
***

Whetstone (your first parry move doubles as a damaging axe attack)
WeaponProperties
CharmParryAttack
***
public static readonly float damage = 16f;
into
public static readonly float damage = 24f;
***

Coffee (super meter continuously fills, in addition to what you earn, default is 1 card every 25s)
WeaponProperties
CharmSuperBuilder
***(change to 1 card every 12,5s)
public static readonly float amount = 0.4f;
into
public static readonly float amount = 0.6f;
***

DELICIOUS LAST COURSE DLC

Improve Ms. Chalice Jumps
LevelPlayerMotor
Properties
***
public float chaliceFirstJumpPower = -0.63f;
public float chaliceSecondJumpPower = -0.55f;
into
public float chaliceFirstJumpPower = -0.755f;
public float chaliceSecondJumpPower = -0.755f;
***
###fix recompile issue
***
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
into
//[DebuggerBrowsable(DebuggerBrowsableState.Never)]
***

return this.transform.position + new Vector2(this.boxCollider.offset.x, this.Motor.GravityReversalMultiplier * this.boxCollider.offset.y);
into
return (Vector2)this.transform.position + new Vector2(this.boxCollider.offset.x, this.Motor.GravityReversalMultiplier * this.boxCollider.offset.y);
***

Crackshot + P. Turret
WeaponProperties
LevelWeaponCrackshot
Basic
***
public static readonly float initialDamage = 10.56f;
public static readonly float crackedDamage = 6.7f;
into
public static readonly float initialDamage = 15.84f;
public static readonly float crackedDamage = 10.05f;
***

WeaponProperties
LevelWeaponCrackshot
Ex
***
public static readonly float bulletDamage = 3.5f;
public static readonly float collideDamage = 12f;
public static readonly int shotNumber = 5;
public static readonly float shootDelay = 1f;
public static readonly float parryBulletDamage = 14f;

into (modded single bullet damage = unmodded single bullet damage * 1.5[extra_dmg] * 5[unmodded_shots] / 6[modded_shots])

public static readonly float bulletDamage = 4.375f;
public static readonly float collideDamage = 18f;
public static readonly int shotNumber = 6;
public static readonly float shootDelay = 1f;
public static readonly float parryBulletDamage = 21f;
***

Converge + Electro-Bolt
WeaponProperties
LevelWeaponWideShot
Basic
***
public static readonly float damage = 2.67f;
public static readonly float closingAngleSpeed = 1.1f;
public static readonly float openingAngleSpeed = 1.8f;

into

public static readonly float damage = 4.005f;
public static readonly float closingAngleSpeed = 0.55f;
public static readonly float openingAngleSpeed = 1.8f;
***

WeaponProperties
LevelWeaponWideShot
Ex
***
public static readonly float exDamage = 21f;
into
public static readonly float exDamage = 31.5f;
***

Twist-Up + Cyclone Spiral
WeaponProperties
LevelWeaponUpshot
Basic
***
public static readonly float damage = 2.33f;
into
public static readonly float damage = 3.495f;
***

WeaponProperties
LevelWeaponUpshot
Ex
***
public static readonly float minRotationSpeed = 375f;
public static readonly float maxRotationSpeed = 185f;
public static readonly float rotationRampTime = 1.8f;
public static readonly float minRadiusSpeed = 195f;
public static readonly float maxRadiusSpeed = 365f;
public static readonly float radiusRampTime = 1.8f;
public static readonly float damage = 8f;
public static readonly float maxDamage = 37f;
public static readonly float freezeTime = 0.1f;

into

public static readonly float minRotationSpeed = 74f;
public static readonly float maxRotationSpeed = 150f;
public static readonly float rotationRampTime = 1.8f;
public static readonly float minRadiusSpeed = 146f;
public static readonly float maxRadiusSpeed = 78f;
public static readonly float radiusRampTime = 1.8f;
public static readonly float damage = 12f;
public static readonly float maxDamage = 55.5f;
public static readonly float freezeTime = 0.2f;
***

Super Art I Spiral Pillar (Miss Chalice)
WeaponProperties
LevelSuperChaliceVertBeam
***(5 hits)
public static readonly float damage = 21.5f;
into
public static readonly float damage = 32.25f;
***

Super Art II Shield Pal (Miss Chalice)
WeaponProperties
LevelSuperChaliceShield
***
no change
***

Super Art III Ghostly Barrage (Miss Chalice)
WeaponProperties
LevelSuperChaliceIII
***
public static readonly float superDuration = 6.5f;
into
public static readonly float superDuration = 9.75f;
***

Aeroplane Peashooter + Chomper Missile (Miss Chalice)
WeaponProperties
PlaneWeaponChaliceWay
Basic
***
public static readonly float damage = 3.65f;
into
public static readonly float damage = 5.475f;
***

WeaponProperties
PlaneWeaponChaliceWay
Ex
***
public static readonly float damageBeforeLaunch = 2.4f;
public static readonly float damageAfterLaunch = 17f;
into
public static readonly float damageBeforeLaunch = 3.6f;
public static readonly float damageAfterLaunch = 25.5f;
***

Aeroplane Mini-Bomb + Mirv (Miss Chalice)
WeaponProperties
PlaneWeaponChaliceBomb
Basic
***
public static readonly float damage = 6.6f;
public static readonly float damageExplosion = 2.5f;
into
public static readonly float damage = 9.9f;
public static readonly float damageExplosion = 3.75f;
***

WeaponProperties
PlaneWeaponChaliceBomb
Ex
***
public static readonly float damage = 15.5f;
into
public static readonly float damage = 23.25f;
***

Aeroplane Super Bomb Morph (Miss Chalice)
WeaponProperties
PlaneSuperChaliceSuperBomb
***
public static readonly float damage = 25.5f;
into
public static readonly float damage = 38.25f;
***

Cursed Relic (every 4 boss defeated, from a list of 34, the charm gains an improved form)
###fix recompile issue
CharmCurse
GetSmokeDashInterval
***
return WeaponProperties.CharmCurse.smokeDashInterval[charmLevel];
into
return WeaponProperties.CharmCurse.smokeDashInterval[charmLevel] - 1;
***

###fix recompile issue
CharmCurse
GetWhetstoneInterval
***
return WeaponProperties.CharmCurse.whetstoneInterval[charmLevel];
into
return WeaponProperties.CharmCurse.whetstoneInterval[charmLevel] - 1;
***

WeaponProperties
CharmCurse
***
public static readonly int[] healthModifierValues = new int[]
{
-2,
-2,
-2,
-2,
0
};
into
public static readonly int[] healthModifierValues = new int[]
{
-2,
-2,
-2,
-2,
0
};
***(super meter build up)
public static readonly float[] superMeterAmount = new float[]
{
0f,
0.13f,
0.26f,
0.39f,
0.52f
};
into
public static readonly float[] superMeterAmount = new float[]
{
0f,
0f,
0.60f,
0.60f,
0.60f
};
***
public static readonly int[] smokeDashInterval = new int[]
{
7,
4,
2,
1,
0
};
into
public static readonly int[] smokeDashInterval = new int[]
{
1000000,
1000000,
1000000,
1,
1
};
***
public static readonly int[] whetstoneInterval = new int[]
{
7,
4,
2,
1,
0
};
into
public static readonly int[] whetstoneInterval = new int[]
{
1000000,
1,
1,
1,
1
};
***
public static readonly string[] healerInterval = new string[]
{
"3,3,4",
"2,3,4",
"1,3,4",
"1,2,4",
"1,2,3"
};
into
public static readonly string[] healerInterval = new string[]
{
"1,2,3",
"1,2,3",
"1,2,3",
"1,2,3",
"1,2,3"
};
***

DISCARDED:

max health 4 //3
PlayerStatsManager
CalculateHealthMax
***
this.HealthMax = 3;
into
this.HealthMax = 4;
***

to compile remove these: (or add //)
***
[global::System.Diagnostics.DebuggerBrowsable(global::System.Diagnostics.DebuggerBrowsableState.Never)]

[global::System.Diagnostics.DebuggerBrowsable(global::System.Diagnostics.DebuggerBrowsableState.Never)]

[global::System.Diagnostics.DebuggerBrowsable(global::System.Diagnostics.DebuggerBrowsableState.Never)]

[global::System.Diagnostics.DebuggerBrowsable(global::System.Diagnostics.DebuggerBrowsableState.Never)]

[global::System.Diagnostics.DebuggerBrowsable(global::System.Diagnostics.DebuggerBrowsableState.Never)]

[global::System.Diagnostics.DebuggerBrowsable(global::System.Diagnostics.DebuggerBrowsableState.Never)]

[global::System.Diagnostics.DebuggerBrowsable(global::System.Diagnostics.DebuggerBrowsableState.Never)]
***

PlayerStatsManager
TakeDamage
***(doesn't prevent ignoring extra health lost which should lower end level score, but it doesn't)
if (this.Health < 3)
into
if (this.Health < 4)
***