VeryBalancedRoundsMod
Sixty-eight aggressively unbalanced cards, Legendary tier included: Icon of Sin, Atomic Bomb, Black Hole, Tree, Railgun, Xane's Wire Management, Go Blue, Claude's Choice and more. Very balanced. No notes.Changelog
0.16.0
A Legendary tier, using RarityLib's built-in one (yellow border, a quarter as common as Rare). RarityLib is now a dependency.
Moved to Legendary: Touch the Wall, Killdozer, Tree, Hollow Purple, Chris's Side Project, The Block Build Special, Atomic Bomb, Icon of Sin, Mahoraga.
New Legendary cards, all with art:
- Legendary Artifact: -40% damage taken.
- Daedalus Stormbow: bullets fall from the top of the map toward your cursor, a little to one side at random, and go through walls.
- Patience: other players can't shoot for the first 3 seconds of each point.
Other:
- Touch the Wall now offers Legendary cards (the rarest tier you can still be offered).
- Icon of Sin can block again.
0.15.1
- Infinity: frozen bullets stay visible. A standard bullet is drawn only as a 0.03-second trail, which collapsed to nothing the moment the bullet stopped, slow bullets first. The trail is now kept while frozen, very short streaks get a small tail drawn in, and the bullet's 15-second despawn timer no longer runs down while it is frozen. The freeze itself is unchanged.
- The Flavorful Garlic is a little stronger, and is now Uncommon.
- The Lorax is now Rare.
0.15.0
New cards, all with art:
- ASU Frat Leader: bullets hit much harder against smaller players and softer against bigger ones, scaling with the size difference.
- The Flavorful Garlic: yumby.
- Projectile Dysfunction: your bullets fly in random, constantly changing directions, +100% damage. Every player sees the same path.
- Rare Artifact: -20% damage taken, from everything.
0.14.1
- C-Ram stacks: each copy squares your attack speed again.
0.14.0
New cards, all with art:
- Drone Strike: jump in midair; picking it also gives you Homing and Explosive Bullet.
- C-Ram: attack speed squared, +2s reload.
- The Island: lose 2 random cards when picked, -75% block cooldown.
- The Lorax: a Tree holder can move freely, Onceler can't instantly kill you, -40% health.
- Super Shotgun: +12 bullets, +9 ammo, -40% attack speed, Buckshot's range limit stretched about 10%.
- 500 Cigarettes: +150% damage, toxic clouds heal you instead of hurting you, lose 5% of max health per second.
- Atomic Bomb: bullets per shot equal your max ammo, +50% damage, +10s reload.
Balance:
- Ihateblockbuild leaks 25% of a blocked bullet's damage (was 10%).
- Chris's Side Project: no block cooldown again, and the deadline is 7 seconds (was 20).
- The Kirk Special explodes for 2.5x bullet damage (was 2x).
Other:
- Tree's rooting is checked live instead of being baked into its stats, so The Lorax can lift it. Rooted players' jumps are now refused outright rather than shrunk, so jump effects don't fire either.
- Xane's Wire Management never draws The Island or Drone Strike.
0.13.3
Card wording only:
- The Kirk Special: "Bullets kirk hit players".
- Mahoraga: "Adapt to these hands". Its damage-taken row stays.
- Onceler: "+inf% damage against trees", with "Unless." under it.
- Shulker no longer gives the exact launch height.
- The Last Breath is much shorter and no longer lists which stats it buffs.
- Conner's Pride no longer says it does nothing outside June.
0.13.2
- Icon of Sin's description line is back: "The longer the icon of sin remains on earth, the stronger he will become." Its rules follow on the next line.
0.13.1
Card text only; no gameplay changes.
- Cards whose effect is a rule rather than a stat change now explain that rule in a plain sentence, with no stat rows (Go Blue, The Kirk Special, Banana, and others).
- Stat rows are only stat changes. Rules that were squeezed into rows, like "Resets every point", moved to the description.
- Removed the joke descriptions, except on Hitscan, Onceler and MTG Player.
- Fixed stat rows that showed the wrong word for players with card stat numbers turned off. AK's bullet gravity read "A bunch more", and Giga Drum Mag's 20x reload read "A lot lower". Rows a word can't describe, like "+5% per second", now always show the number.
0.13.0
A bug-hunting release. Most of these only showed up online.
Fixes:
- Xane's Wire Management could stop the next round from starting. With no other card of its rarity available, it swapped itself for itself, which started another reshuffle, forever, reviving the holder every other frame so the point could never end. It now never draws itself, drops its own slot, and can't run twice at once.
- The Kirk Special is back to 2x your bullet damage per explosion, one per bullet hit, stacking with shotguns and spray. Explosions no longer set off more explosions (each explosion was being mistaken for a bullet hit).
- Touch the Wall never worked alongside CardChoiceSpawnUniqueCardPatch, which most modded lobbies run: the draw it hooked is never used there. Both draw paths are covered now. It offers Rare (pink) cards or rarer, only uses up a pick in phases where you actually picked, and can no longer force a hand the game rejects over and over.
- The Block Build Special made you unhittable online. Each shot was sent to the other players as a real block with a shield. It now fires block effects the way the vanilla Empower card does, with no shield. Portal Gun works with it.
- Bullet damage bonuses (Railgun, Ronald McDonald, Random Crits and every damage multiplier) are added to the final damage number instead of written onto the bullet. Writing onto the bullet threw away vanilla bounce damage, and made poison and on-hit explosions use a different damage on each player's machine.
- Damage multipliers (Inevitable, Icon of Sin, Card Counter, Lowe's Worker, Conner Hack Special, The Last Breath) apply to explosions and other non-bullet damage again, worked out once by the attacker so every machine agrees.
- Death timers (Chris's Side Project, The Last Breath) could be dodged by blocking at the right moment. They can't any more.
- Mahoraga is worked out where each hit is sent, so every machine agrees on your health, and a hit spread out by Decay counts once.
- Border Hop recognises map-edge damage exactly, including when Decay spreads it out.
- Phoenix respawns no longer reset Icon of Sin's ramp or restart Chris's Side Project's 20 seconds.
- Icon of Sin, Particle Accelerator and The Last Breath no longer write movement speed, reload time or bullet speed into your stats and try to undo it later. Other mods' temporary buffs could leave those stats permanently wrong.
- Prestige only wipes your deck when you pick it, not every time any mod rebuilds your deck. Touch the Wall no longer refills when that happens either.
- Iloveblockbuild no longer heals several times during a single Shield Charge.
- Ihateblockbuild leaks the same amount on every machine.
- Bullets have a minimum hit radius, so stacked Dense Bullets can't shrink bullets to nothing.
- Per-point cleanup now reaches players who are dead at the time, and ramping bonuses are capped so a very long fight can't overflow into broken numbers.
0.12.0
- New cards: The Block Build Special, Killdozer, Shulker. All have art.
- PlayerPhysics gained an impulse launch that reproduces the game's own jump formula.
0.11.2
- Hollow Purple: the attack cooldown penalty is +60% (multiplicative) instead of a flat +2s, so it scales with other cooldown cards.
0.11.1
- Hollow Purple: +2s flat attack cooldown, +4s reload time.
0.11.0
- New cards: Hollow Purple, Dense Bullets. Both have art.
0.10.1
- Conner Hack Special now scales on a cubic curve: 3.5x at point blank, about 1.4x at 20 units, crossing 1x near 27, down to 0.5x across the map.
- The Kirk Special explosion is 25% of the victim's max health (was 40%).
- Art for the nine cards added in 0.10.0. Every card has art.
0.10.0
Balance:
- The Kirk Special explodes once per bullet hit for 40% of the victim's max health, and borrows Supernova's explosion if the game has one.
- Sword: +777% damage, +75% movement speed, slightly longer reach.
- Density: +70% health.
- Leg Day: +100% jump (was +200%), -0.5s block cooldown.
- Chris's Side Project: block cooldown is exactly one second.
- Black Hole: wider and stronger.
- Mahoraga was already reducing percentage-of-max-health damage; no change needed.
New cards: Conner Hack Special, Onceler, Banana, Xane's Wire Management, Border Hop, Ronald McDonald, Hitscan, Railgun, Discord Mod. None have art yet.
0.9.1
- Art for Down. Every card has art again.
0.9.0
- New cards: AK, Go Blue, Claude's Choice, Up, Down.
- Go Blue holds a dying player as "alive" in the game's team-alive checks for a short window, so simultaneous deaths resolve in the holder's favour instead of by processing order.
- Claude's Choice is deliberately undocumented.
- Art for all of the above except Down, which has none yet.
0.8.1
- Fixed Portal Gun never triggering, and Iloveblockbuild's heal along with it. Both hung off Block.DoBlockAtPosition, whose only caller in the entire game is one Empower hit effect. Ordinary blocks go straight to Block.RPCA_DoBlock, which is where both now live.
- Portal Gun now computes its destination the same way GeneralInput does.
- Replacement art for Card Counter; it no longer shares an image with Gremlin.
0.8.0
- Art for the twelve cards added in 0.7.0. Every card now has art.
0.7.0
Balance, from playtesting:
- Inevitable and Rev Up ramp at 5%/s instead of 2%/s.
- McDonalds: +400% health (was +100%).
- Card Counter: +15% damage per card (was +5%).
- Mahoraga no longer tracks attackers separately; every hit taken compounds a 10% reduction.
- Iloveblockbuild now heals 25% of max health per block; the old re-fire effect overlapped a vanilla card.
- Infinity rewritten: enemy bullets now freeze in place near the holder rather than slowing.
New cards: Icon of Sin, Particle Accelerator, Density, MTG Player, Black Hole, Invisible Bullets, Tree, Chris's Side Project, The Kirk Special, Portal Gun, Lowe's Worker, Leg Day.
Internals:
- FightScoped base for components that ramp live stats during a point, with capture on fight start and restore on fight end so card re-application never sees modified values.
- IPointReset interface; the plugin resets every implementing component on point start.
- PlayerPhysics reaches into PlayerVelocity for forces, stops and teleports.
- Explosions borrows the game's own explosion prefab from the card pool.
0.6.0
- Every card now has art; all 23 images are embedded in the DLL.
- Fully opaque alpha channels are dropped at build time, which halved the embedded art from 1.4 MB to 780 KB.
0.5.0
- Card art for McDonalds, Inevitable, Ihateblockbuild, Iloveblockbuild, Conner's Pride, Mahoraga, Bird Killer and Random Crits.
- Art is embedded in the DLL and built into a UI object at runtime, so the mod is still a single file with no AssetBundle.
- Source images that arrived as WebP were converted; Unity's Texture2D.LoadImage only decodes PNG and JPG.
0.4.0
- Added Random Crits, Infinity, Sword, Conner's Pride, The Last Breath, Fraud, Prestige, Touch the Wall, Whipped and Super Quick Reload.
- New dependency on ModdingUtils, required only by Prestige for safe card removal.
- Added patches on ProjectileHit.RPCA_DoHit, MoveTransform.Update and CardChoice.GetRanomCard.
- Cards are now registered in a shared PlayerRegistry so patches can find players without scanning the scene every frame.
0.3.0
- Added Rev Up, Giga Drum Mag and Card Counter.
- Removed Glass Cannon; vanilla ROUNDS already has a card by that name, and a duplicate title would have made the runtime card lookups count the wrong cards.
- Replaced InevitableRamp with a shared PointTimer component, now used by both Inevitable and Rev Up.
- Added a Gun.usedCooldown patch so attack speed can change during a fight.
- Credits link now points at the Thunderstore page instead of a placeholder.
0.2.0
- Added McDonalds, Gremlin, Bird Killer, Inevitable, Ihateblockbuild, Iloveblockbuild, Eight Handled Sword Divine General Mahoraga, Titan Killer, Glasser Cannon and Balanced.
- Added a shared VeryBalancedCard base class so each card file is just its own behaviour.
- Added Harmony patches on HealthHandler.DoDamage, Block.blocked and Block.DoBlockAtPosition.
- Per-point state for Inevitable and Mahoraga resets on GameModeHooks.HookPointStart.
0.1.0
- Initial scaffold.
- Adds the Glass Cannon card (double damage, half health).
