NOTICE: By continued use of this site you understand and agree to the binding Servokondiĉoj and Privateca Politiko.
Install steps: Install a userscript manager, select Install, then open a website matched by the script.
The following figures come from the original source and are separate from activity on this site.
Original script: PokeSurvivor Master Suite (Silph Tactical Edition)
Source version: 2.9.2
Last source check:
Last successful check:
Requests received by this site are not proof that a user completed installation.
Clicking Install records a request on this site; it does not confirm installation. Not working after install? View troubleshooting and issues
Advanced client-side tactical HUD, reverse-engineered engine patches, and official Firebase Leaderboard compliance for PokéSurvivor.
Built with zero frameworks, zero dependencies, and 100% pure ASCII JavaScript.
PokéSurvivor runs its physics, combat, and match loop entirely client-side, communicating with Google Cloud Firestore for player profiles, saves, and global leaderboards.
When designing modifications, naive approaches (such as Infinity health, speed multipliers $> 1$, or raw memory edits) result in silent drops: the game completes locally, but scores are rejected by either the client-side validation gate (clean()) or server-side security rules (firestore.rules).
The Silph Tactical Suite is built around full protocol compliance: every feature operates precisely within the mathematical boundaries enforced by the game engine and Google Cloud Firestore.
[BOSS SLAKING [85%] [14m]]) and pink markers for rare Shiny spawns.G.World.specialsNear (which only returns static map objects), this radar scans both G.World.specialsNear AND G.EnemyMgr.all().devicePixelRatio) and camera offsets (cam.scale), ensuring reticles stay pixel-locked on targets without drifting when moving.G.Interact.update directly, keeping interaction logic legitimate while accelerating the state transition.Reroll ∞), allowing players to cycle through card offerings indefinitely until the exact desired attack, passive item, or synergy appears.pl.rerollBonus = 9999 dynamically during level-up states and restores clean values when syncing, leaving zero footprint.% maxHp damage, bypassing defenses.G.Player.prototype.hurt (which leaves Object.prototype.hasOwnProperty strictly false, preserving clean anti-cheat verification) and zeros hazard collision payloads (G.Hazards.add), allowing survival into minutes 35–45.cdMul = 0.04)game.js, the game evaluates clean() on match end:
javascript
function clean() {
if (tampered) return false;
if (time > (performance.now() - runReal) / 1000 + 10) return false;
for (const k of ['hurt', 'update', 'heal', 'gainXp']) if (Object.prototype.hasOwnProperty.call(pl, k)) return false;
if (!isFinite(pl.hp) || !isFinite(pl.maxHp) || pl.hp > pl.maxHp + 1 || pl.maxHp > 50000) return false;
if (pl.atkMul > 2000 || pl.spdMul > 25 || pl.cdMul < 0.03 || pl.level > 20 + time / 3) return false;
return true;
}
atkMul to 1900+ is dangerous: picking just one Attack card in-game applies pl.atkMul *= 1.10, pushing it to $1900 \times 1.10 = 2090 > 2000$, which fails clean()!maxHp to 45,000+ is dangerous: over 200+ levels, HP upgrades push maxHp past 50,000, which fails clean()!javascript
if (pl.atkMul > 1950) pl.atkMul = 1950; // Engine limit is 2000
if (pl.maxHp > 48000) pl.maxHp = 48000; // Engine limit is 50000
if (pl.cdMul < 0.035) pl.cdMul = 0.035; // Engine limit is 0.03
if (pl.spdMul > 22) pl.spdMul = 22; // Engine limit is 25
Regardless of how many level-up cards you select, your stats will never breach the engine ceiling, guaranteeing clean() === true on every single run.G.Ranking.submitSolo upon match completion and shapes the submission payload to strictly satisfy Google Cloud Firestore security rules.firestore.rules on the server, submissions must satisfy:
javascript
function validEntry(board, id) {
let d = request.resource.data;
let run = get(/databases/$(database)/documents/runs/$(me())).data;
return d.t <= 2700 // Hard cap: exactly 45:00 minutes!
&& d.t <= (request.time - run.startedAt).seconds() + 30 // Must have elapsed in real-world time
&& d.kills <= 100 + d.t * 12 // Kill limit (max 32,500 at 45m)
&& d.lv <= 10 + d.t / 4 // Level limit (max 685 at 45m)
...
}
PERMISSION_DENIED rejection. The compliance filter automatically clamps t = Math.min(t, 2700) (45:00), which is the absolute maximum time accepted by the database.ps.rk.c.* localStorage cache so your new world record appears on the in-game leaderboard immediately.| Key / Input | Action |
|---|---|
H |
Toggle main Silph Tactical HUD drawer menu |
[SILPH [H]] Pill |
Clickable top-right floating pill to toggle menu on mobile or touchscreens |
toggleSilphMenu() |
Console helper command to toggle menu from DevTools (F12) |
H), click Activate Overdrive, and ensure Arceus Aegis is ON.Arceus Aegis to OFF.Deactivate Overdrive.pokesurvivor.user.jspokesurvivor.user.js._kenzi_04If this suite helped you top the leaderboards and understand the game's inner workings, consider supporting continued updates:
This project is licensed under the GNU General Public License v3.0 (GPLv3).
Taksado: 0