by Keros · v0.1.10 · 273 downloads
New Game++: Alpha to Omega tiers for every Going Commando weapon, bought then levelled, and enemies that toughen with each challenge mode.
Needs the dev build of the launcher. It uses parts of the mod interface the released launcher does not have yet. Each system in the download panel has a DEV link.
New Game++ for Going Commando: eight more tiers for every Going Commando weapon, past its last version, for OpenRAC's native port (NTSC-U, PAL and NTSC-U v2.00 discs). The game keeps its own versions: NG++ adds its tiers on top of each weapon's last one and keeps its own level per weapon, so the game still sees its last row.
With the mod off, the game is the PlayStation 2 game.
Install it from the launcher's Mods tab (Add from a link:
https://github.com/OpenRAC/openrac-mods), switch it on and play.
Buy, then level, as the game's own Mega purchase is followed by V4 by experience: once a weapon is at its last version, the vendor sells its next tier; once that tier is levelled with experience, the vendor sells the next.
| Level | Name | How | Price | Experience | Damage | Most ammo | Vendor's text | rac2.text.by_id (func_00288FB8): "Mega" under the tier's icon (text 0x325F, while rac2.vendor.draw_list draws its row) and the Mega's name in the dialog and preview become the tier's, written into the port's text slots; optional |
| Tint |
|---|---|---|---|---|---|---|---|
| V5 | Alpha | bought | Mega x1.5 | | x1.25 | x1.10 | lime |
| V6 | Beta | experience | | 8,000 | x1.50 | x1.20 | cyan |
| V7 | Gamma | bought | Mega x2.5 | | x1.75 | x1.30 | emerald |
| V8 | Delta | experience | | 12,000 | x2.00 | x1.40 | teal |
| V9 | Epsilon | bought | Mega x4 | | x2.40 | x1.50 | violet |
| V10 | Zeta | experience | | 16,000 | x2.80 | x1.60 | magenta |
| V11 | Eta | bought | Mega x6 | | x3.30 | x1.80 | crimson |
| V12 | Omega | experience | | 24,000 | x4.00 | x2.00 | prismatic (cycles through all the tints) |
The damage and the most ammo are times the weapon's last real version's. The experience is the game's own weapon experience (what the quick select's bar counts), from the last tier on; the first time the mod sees a weapon at its last version it sets that count back to 0, so what a save had with it before (from before the mod, or past games) never takes a tier at once. The weapon's experience bar (the weapons screen and the quick select) fills toward the next tier's experience, or toward the 6,000 a bought version needs before the next purchase; it shows full only when the next tier is for sale already or none is left.
The prices follow each weapon's own Mega price (its Mega row's, 150,000 to 1,500,000; at least 150,000, so the Bomb Glove's 1,000 Mega counts as 150,000), times 1.5, 2.5, 4 and 6, rounded to two and a half digits (562,500 is 565,000), each above the one before and above the Mega. A weapon with no Mega (the Clank Zapper, the Sheepinator) starts from 1,500,000: 2,250,000, 3,750,000, 6,000,000 and 9,000,000. Lancer and Chopper (Mega 150,000): 225,000, 375,000, 600,000, 900,000; Gravity Bomb (1,500,000): 2,250,000, 3,750,000, 6,000,000, 9,000,000.
The tier takes the place of the version in the weapon's name: "Alpha Lancer", "Beta Lancer", ... ("Heavy RYNO II", "Ultima RYNO II", "Alpha RYNO II" for the RYNO II), with the game's name of the weapon's first version. A tier reached by experience comes with the game's own level-up popup and line (as for a weapon levelled out of hand: func_00288508), naming the weapon at its new tier; a bought one with the vendor's own purchase feedback. The name shows at the top of the screen when you take a tiered weapon in hand, and everywhere the game prints the weapon's name: the ammo pickup's message, the weapons menu, the quick select and the vendor. A name text two items share is left as the game has it.
In the vendor's list, the next tier's entry carries that tier's tint, and the weapon's own entry carries the tint of the tier it has.
The tiers make weapons far stronger, so the enemies keep up across challenge mode's new games. The game itself counts its challenge modes (its save's counter, +1 at each new game in challenge mode) but only tests whether one is on: it doubles ammo pickups and nanotech orbs' health there, and its bolt multiplier grows with kills; it never scales enemy health or damage by the count. From the second challenge mode on, the mod does:
| New game | Challenge mode | Enemy health | Damage they deal | The tier expected by then |
|---|---|---|---|---|
| 1 | - | x1 | x1 | V1 to V3 |
| 2 | 1st | x1 | x1 | V4 (the game's own balance) |
| 3 | 2nd | x1.5 | x1.25 | Beta (x1.5) |
| 4 | 3rd | x2 | x1.5 | Delta (x2) |
| 5 | 4th | x2.8 | x1.75 | Zeta (x2.8) |
| 6 | 5th | x4 | x2 | Omega (x4) |
| 7 on | 6th on | +1 each | +0.25 each |
The health follows the expected tier's damage, so a weapon at that tier takes about as long to kill an enemy as V4 did in the first challenge mode. How much tougher scales what the curve adds (0.5: x1.25 health at the second challenge mode instead of x1.5).
| Setting | Default | |
|---|---|---|
| Tier names on screen | on | That line at the top of the screen |
| Tougher enemies each new game | on | The curve above |
| How much tougher | 1 | Times what the curve adds, 0 to 3 |
With the difficulty mod: both apply and multiply. Its "damage dealt" and "damage taken" sliders scale the same hits as this mod's curve and tiers (the difficulty mod's on the hit an enemy reads and on Ratchet's hit, this mod's where the hit is posted and on Ratchet's hit), so with damage dealt x0.5 and a Beta weapon in the second challenge mode a hit is x0.5 x 1.5 / 1.5. Switch Tougher enemies each new game off to leave the enemies to the difficulty mod alone.
The tiers are kept with each save: the mod's data folder has a tiers.txt with the tiers at each
save the game made (by the save's own clock), and each new tier is written there at once, so a
restart or a new version of the mod loses nothing. The game stamps its clock again as a loaded
save's level starts, sometimes before the mod has seen the save's own; a clock the book does not
have, right after the title screen, takes the record written last. A record with tiers is never
written over with none. Nothing is written to the memory card or its folder.
The launcher's save editor shows each weapon's tier for the save opened while the mod is on (the
manifest's save_data), and saves a change into that file; close the game first.
It works with the item randomizer (they take none of the same hook points) and with the difficulty mod (its prices and max ammo are the base the tiers multiply). In a multiplayer party everyone plays with the host's tiers.
Through OpenRAC's rac2 hook points of SDK 1.14.6 (the addresses are NTSC-U v1.01's):
| Where | |
|---|---|
| For sale | rac2.vendor.build_list (func_002F6608): an upgrade entry for each weapon whose next tier is for sale, right after that weapon's own entry and built as the game builds its Mega entry; rac2.vendor.price (func_002F6510) prices it; rac2.item.upgrade (func_002887B0), which the vendor's purchase calls once it is paid, takes the tier instead of the game's Mega step |
| Experience | each tick, a weapon at its last version whose experience (which the game keeps adding up there) reaches the tier's takes it; its experience starts again from 0, as the game's own Mega purchase does |
| Experience bar | the last version's row (+0x6C, the experience to the next version, which the game leaves at 0 there: a full bar) set each tick to the next tier's goal, and back to the game's when none is left; the game's own level check skips every last version, so it never acts on it |
| Damage | rac2.combat.post_hit (func_002A8E20): a hit posted to anyone but Ratchet while he holds a tiered weapon has its damage scaled for that call |
| Most ammo | the last version's row (+0x8E) in the item table, rewritten each tick from what the game (or another mod) has there; a tier fills the ammo |
| Enemies | the save's challenge mode counter (+0x12 of its block); their health as the damage they take in rac2.combat.post_hit divided by the curve, the damage they deal in rac2.player.take_damage (func_L00_002A4EF8) times it, a fraction of a point carried to the next hit |
| Tint | rac2.item.colors (func_00336F20): the quick select's and the weapons screen's icons and names; rac2.vendor.draw_list (func_002F9C80) and rac2.item.version_color (func_00336EF8): the tier for sale's icon in the vendor's list (an OpenRAC without these two keeps the game's gold there) |
Not yet:
rac2.text.by_id; the label under the icon only on NTSC-U v1.01 (the one disc with
rac2.vendor.draw_list), and the RYNO II's and the Zodiac's titles stay the game's (the game has
no Mega row to name them by).ng-plus-plusNothing: it works on its own.
Built by the build workflow from 7adb39d1ed0780e08be2fc2e66670a30b473d3fd, against the OpenRAC mod SDK 1.14.6.
Install: paste this repository's address in the OpenRAC launcher's Mods tab, or add a .zip there.
Built by the build workflow from 963a4b8c5da8e07be8d915162b026a1ccea4ad11, against the OpenRAC mod SDK 1.14.6.
Install: paste this repository's address in the OpenRAC launcher's Mods tab, or add a .zip there.
Built by the build workflow from eeb1fdc294ba2ae29f30e18d7b61646db7750afb, against the OpenRAC mod SDK 1.14.6.
Install: paste this repository's address in the OpenRAC launcher's Mods tab, or add a .zip there.
Built by the build workflow from 436fd62fc3463e48115451196b1a32d6e5b4d7c7, against the OpenRAC mod SDK 1.14.6.
Install: paste this repository's address in the OpenRAC launcher's Mods tab, or add a .zip there.
NG++ · v0.1.10 · ⚠