CM vs CF — code-level parity report

A code diff of the donor (Claw Master, decompiled dump.cs + 27 extracted JSON files) against our Claw Fight Unity source (657 .cs files, ~109k LOC, branch main). Produced by a multi-agent workflow: each system was compared by one agent, then a second agent tried to refute the verdict against actual file:line evidence (all 8 synthesised verdicts held on verification). 9 of 10 systems covered; skills/abilities did not complete.

Bottom line: CF is a genuine, working clone of CM's player-facing loop — but rebuilt from observation, not source. Every shared system reproduces CM's behaviour through a flatter architecture, and the implementations diverge wherever rebuilding was cheaper than copying. The real gap is the meta / retention / monetisation layer: no Relics, no FeatureUnlocker, no HuntPass / Dungeon / LuckyBall / StarTrail, IAP is a FakeStore that grants purchases free, and enemy difficulty is baked into ~136 duplicate configs instead of CM's runtime formula.

Parity matrix

SystemVerdictConf.Evidence note
Combat Math and Damagedivergent0.86Same shape (base+flat+percent then crit, no enemy armor) but CF crit-multiplier is the stat value itself, lifesteal heals %MaxHP on death not per-hit, CF adds player armor curve + SpikedArmor, dodge gates all ammo. FACT: file:line on both sides.
Enemies & Mob Scalingadapted0.9CM scales at runtime (base x level x singleton 0.14 HP linear / 1.18 dmg exp (live)); CF bakes stats into ~136 duplicate per-level configs + secondary cycle/endless multiplier. Bosses are typed enemies in both. FACT.
Projectiles, Ammo & Clawadapted0.88Behaviour copied (claw grab-only, container refill, bottom-reach bonus) via flat MonoBehaviours; CF has 5 ammo (adds Heart) vs CM 4, flat-vs-incremental special-ammo conversion, non-upgradeable bonus refill, random bandolier insert. FACT.
Heroes, Roster & Levellingdivergent0.925 heroes + single active hero match; CF uses 2-entry cycling delta + bracketed cost + 2 milestones/hero vs CM's 100-row table + 10 distinct milestones; CM heroes are mechanically identical. FACT.
Economy: Shop, IAP, Currencies, Vendorpartial0.92IAP layout + several Gem amounts byte-identical, in-run vendor (InWaveShop) exists and is tiered-priced; but FakeStore grants free, no DailyShop/RelicShop/subscriptions/bundles/Gem-conversion, fewer currencies. FACT.
Progression & Account Meta (ranks, relics, feature-gating, grades)partial0.9Meta-upgrade FORM + first 3-4 tier prices match; CF has 3 tiers + infinite AutoTier vs CM 20 named ranks; relics entirely absent; feature-gating is inline ints not FeatureUnlockerConfig; CF Grades = per-weapon stars not account meta. FACT.
LiveOps & Retention (daily login, AFK/patrol, HuntPass, Dungeon, LuckyBall, StarTrail)partial0.92CF rebuilds only daily-login + patrol (+ ProgressRewards/BuyEnergy); 8h cap and 1/3 ad/buy limits copied; HuntPass/Dungeon/LuckyBall/SeasonPass/StarTrail absent; AFK reward not level-multiplied. FACT.
Quests & Achievementsdivergent0.92CM 30 quests / 17 polymorphic types / live timed refresh / escalating achievements; CF 18 real quests / flat QuestInfo / reset built+tested but disabled / one-shot achievements. FACT.
Waves, Levels & Auto-levellingadapted0.9CF 4 authored + 2 auto levels + Endless/cycle loop; CM 16 fixed biomes. Waves 10/15/10/10 confirmed.
Skills / Abilities & in-run upgradesunknownNot completed (agent failed twice). See InWaveShop notes under Economy.

adapted = same intent, rebuilt differently · partial = core present, depth/extras missing · divergent = materially different approach · identical_copied = byte/logic copy.

Recommended engineering sequence

  1. Wire a real IStore behind the existing FakeStore (User.cs:178, FakeStore.cs) - product layout + InAppIds already exist; highest-value lowest-risk fix, without it there is no revenue.
  2. Add the Relics system (CM RelicsListConfig/RelicInventoryItemConfig/RelicLevelSettings/RelicBox factories + RelicKey currency) - largest missing depth/meta system; new currency + box-draw + per-rarity cost model.
  3. Replace baked enemy configs with CM runtime scaling (base EnemyConfig x per-spawn level x EnemyMultipliersConfig 0.14 HP / 1.18 dmg (live)); collapse ~136 duplicate assets to a small model set + level index.
  4. Re-enable and finish quest daily/weekly reset (uncomment QuestsUI.TimerCoroutine; logic+tests already exist), expand the 18-quest subset toward CM's 30, add escalating achievement tiers (ArithmeticProgression).
  5. Build out the meta shop: DailyShop rotation + Free Gem/day, subscriptions/patches, multi-tier bundles, Gem->currency conversion (CM ShopConfig 6 tabs).
  6. Add at least one major retention loop, HuntPass first (clearest CM blueprint: DailyChallenge, 30-step points ladder, free+paid tiers); then evaluate Dungeon/LuckyBall/StarTrail by ROI.
  7. Replace inline LobbyUI int gating with a data-driven FeatureUnlocker (CM FeatureUnlockerConfig composite conditions) for configurable feature rollout.
  8. Extend hero levelling from 2-entry cycling delta + 2 milestones toward CM's per-level table + 10 milestone bonuses only if hero differentiation becomes a goal (low priority - CM heroes are mechanically identical anyway).
  9. Polish combat fidelity (low priority): add ammo-type dodge-ignore for special ammo, reconcile lifesteal (CF %MaxHP on death vs CM per-hit) if faithful feel is required.

Full synthesis

1. Executive read

FACT CF is a genuine, working clone of CM built by observation, not by source reuse: every system that exists in CF reproduces CM's *player-facing behaviour* but through a completely different, flatter architecture (CM = DI-managed Ability components + online ScriptableObjects; CF = plain MonoBehaviours + a StatsData/Resource service). FACT The clone is faithful in the *core combat loop and the in-run object* (combat math shape, claw grab + container refill + bottom-reach bonus, ammo semantics, in-run vendor, single-hero model) and in several *byte-identical economy constants* (Diamond Gem packs 80/480/1200/2600/6800/14400, SpecialOffer = SparklingTreasure, 8h AFK cap 28800s, ad/buy limits 1/3, first 3–4 meta-rank prices 10/350/500/700 and reward coins 250/850/1750). FACT The real gap is the *meta/retention/depth layer*: CF entirely lacks Relics, the data-driven FeatureUnlocker, HuntPass/SeasonPass, Dungeon, LuckyBall, and StarTrail; its IAP is a FakeStore that grants purchases free; its enemy difficulty curve is *baked into ~136 duplicate per-level configs* rather than CM's runtime base×level×multiplier formula; its quest engine is a thin non-polymorphic subset (18 real quests vs 30) with daily/weekly reset built-and-tested but switched off; and its hero levelling is a short cycling-delta list with 2 milestones/hero vs CM's 100-row table with 10 distinct milestone bonuses. INFER CF is a vertical-slice / soft-launch-grade reproduction of CM's *gameplay*, with the long-tail monetisation and retention systems either stubbed, simplified, or absent.

2. Parity matrix

See structured parity_matrix field. Verdicts use corrected_parity from verification (all 8 verdicts held).

3. Archive corrections (consolidated, deduped)

Each item below is a place where prior CM-vs-CF archive/compare claims are contradicted or imprecise per the code. FACT unless tagged.

Combat

Enemies / scaling

Ammo / claw

Heroes

Economy

Progression / meta

Quests / LiveOps

4. Verified gaps and verified parity

Verified gaps in CF (missing/absent, strong code evidence) — FACT

Verified parity / faithfully reproduced — FACT

5. Recommended engineering sequence to close the gap

INFER Ordered by monetisation/retention impact vs build cost. Each step cites the CM reference to rebuild against.

1. Wire a real IStore behind the existing FakeStore (User.cs:178, FakeStore.cs). Product layout + InAppIds already exist; this is the highest-value, lowest-architecture-risk fix — without it there is no revenue.

2. Add the Relics system (CM RelicsListConfig/RelicInventoryItemConfig/RelicLevelSettings/RelicBox factories, RelicKey currency). Largest missing depth/meta system and a core CM progression driver; requires a new currency + box-draw + per-rarity cost model.

3. Replace baked enemy configs with CM's runtime scaling (base EnemyConfig × per-spawn level × EnemyMultipliersConfig 0.14 HP / 1.18 dmg (live)) to make the difficulty curve maintainable; collapse the ~136 duplicate assets to a small model set + level index.

4. Re-enable and finish the quest daily/weekly reset (uncomment QuestsUI.TimerCoroutine, the logic + tests already exist) and expand the curated quest subset toward CM's 30; add escalating achievement tiers (ArithmeticProgression) for the achievement category.

5. Build out the meta shop: DailyShop rotation + Free Gem/day, subscriptions/patches, multi-tier bundles, Gem→currency conversion (CM ShopConfig 6 tabs).

6. Add at least one major retention liveops loop (HuntPass first — it has the clearest CM blueprint: DailyChallenge, 30-step points ladder, free+paid tiers), then evaluate Dungeon / LuckyBall / StarTrail by ROI.

7. Replace inline LobbyUI gating with a data-driven FeatureUnlocker (CM FeatureUnlockerConfig composite conditions) so feature rollout is configurable, not code-bound.

8. Hero levelling depth: extend from the 2-entry cycling delta + 2 milestones toward CM's per-level table and 10 distinct milestone bonuses if hero differentiation becomes a design goal (lower priority — currently CM heroes are mechanically identical anyway).

9. Polish combat fidelity (lower priority): add ammo-type dodge-ignore for special ammo, and reconcile lifesteal (CF heals %MaxHP on death vs CM per-hit) if a faithful feel is required.

UNKNOWN Per-hero _statsLevelUps numbers for CF heroes 2-5 were not diffed (only Scout verified); exact distinct enemy-model count in CF is not enumerated; whether disabled quest reset is intended to ship enabled is a product decision, not code-determinable.