Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Your local-first Tibia progression, hunt-analysis, and objective-planning companion.
Tibia spreads a character's progression across the Cyclopedia, Quest Log, achievements, titles, the Task Board, and hunting analytics. Bestie brings those systems into one character record, learns realistic kill rates from the player's own Hunt Analyzer sessions, and turns the combined information into practical estimates and plans.
It is not an automatic Tibia profile mirror. The player owns and records the progress; the application preserves it, connects it, and helps answer:查看完整 README ↗Your local-first Tibia progression, hunt-analysis, and objective-planning companion.
Tibia spreads a character's progression across the Cyclopedia, Quest Log, achievements, titles, the Task Board, and hunting analytics. Bestie brings those systems into one character record, learns realistic kill rates from the player's own Hunt Analyzer sessions, and turns the combined information into practical estimates and plans.
It is not an automatic Tibia profile mirror. The player owns and records the progress; the application preserves it, connects it, and helps answer:
The application keeps three kinds of information separate:
| Layer | Meaning | Examples |
|---|---|---|
| Character progress | Persistent truth about one character | Achievements, Bestiary kills, Bosstiary stages, unlocked charms, discovered areas, quests, titles |
| Hunt evidence | Performance measured from one copied Hunt Analyzer | Duration, creatures killed, kill rate, respawn mode, date, route notes |
| Decision support | Calculations built from progress and evidence | Completion estimates, Opportunities, session comparison, Charm Points Plan, task estimates |
This separation is important. A Hunt Analyzer measures how quickly a creature was killed; it does not replace the character's Bestiary total. A Bestiary total entered once is shared by every session, Opportunity, comparison, and plan for that character.
The Dashboard summarizes the current character record using the same calculations as the individual trackers. It provides direct entry points to Achievements, Bestiary, Bosstiary, Charms, Measuring Tibia, Quests, and Titles.
Purpose: Tracks completed achievements and achievement-point progression.
The tracker covers 570 achievements with:
Earned count and achievement points are reported separately. Achievements in the Removed category remain searchable but are excluded from obtainable totals. Achievements awarded by completing Measuring Tibia areas are derived automatically instead of being recorded twice.
Purpose: Tracks the character's Bestiary progress and charm points across creatures. This is the current progression state used by Bestiary analysis, Opportunities, comparison, and planning.
The tracker currently covers 833 creatures and records:
?, 0/3, 1/3, 2/3, or complete;An exact kill count takes precedence over a stage. When only a stage is known, the application uses the minimum kill count implied by that stage and labels resulting estimates as bounds rather than pretending the exact total is known.
Tibia awards the normal Bestiary charm-point reward when the third detail stage is completed. Echo Warden rewards are tracked separately in the Bestiary totals while still contributing to the character's available charm-point budget.
Purpose: Tracks the character's Bosstiary progress across bosses.
The tracker covers 316 bosses and follows Tibia's three Bosstiary progress levels:
Bosses retain their Bane, Archfoe, or Nemesis category, because those categories determine the kill thresholds. The tracker records kills, current and next level, kills remaining, boss points earned, and bookmarks. Boss points are awarded at each reached progress level, so partial Bosstiary completion can already contribute points.
Purpose: Tracks the progression of unlocking Major and Minor charms using the currencies connected to Bestiary progression, while keeping charm effects and costs available for reference.
The tracker covers 25 charms, each with three unlock or upgrade stages:
For every charm, the application shows its type, current stage, effect, amount spent, next-stage cost, total cost, status, and bookmark. It keeps the two currencies separate and compares recorded Major Charm spending with the charm points earned in the Bestiary tracker.
Purpose: Tracks Measuring Tibia Quest and Cyclopedia Map area progression, including the subareas required to complete each area.
The tracker covers 20 areas and 171 subareas. It records discovered subareas, groups them by area, shows how many Bestiary creatures are associated with each subarea, and derives:
Since Tibia's 2026 discovery update, subareas are active automatically and fully discovered areas also contribute to the character's area speed bonus. The application tracks the discovery completion state; it does not simulate point-of-interest locations.
Purpose: Tracks quest completion states for the character and keeps questlog group and reward information searchable.
The current dataset contains 237 quests, with 93 named questlogs and 104 ungrouped quests. The tracker records whether each quest is completed, not completed, or not yet reviewed, plus bookmarks. It also shows the related questlog and reward information.
Current boundary: Tibia's Quest Log can expose individual missions inside a questline, but this application currently tracks completion at the quest level; it does not yet model arbitrary mission-by-mission progress.
Purpose: Tracks character titles and whether they are currently unlocked.
The tracker covers 113 titles and records earned state and bookmarks. It also shows each title's requirement and whether the title is permanent or can be lost when its condition is no longer met. This distinction matters because Tibia awards and removes some titles dynamically when the character logs in.
All seven trackers use the same progress framework:
Cmd+Z or Ctrl+Z.Record progress (/) searches every tracker and updates one value without making the player navigate away from the current task.
The detailed manual-entry contract is documented in Tracker Data Entry UX.
Hunt Analysis reads experience, raw experience, hourly rates, loot, supplies, profit/loss, damage, healing, creature kills and looted items from the shared Hunt Analyzer archive. Missing measurements remain unavailable. Rates and balance are calculated only from valid source totals and identified as calculated. Performance comparisons use the same respawn mode.
Results use the last successfully processed text. Editing a draft, navigating or reloading does not change that evidence; invalid reprocessing keeps the previous result. Older saved sessions need one explicit reprocess to add full measurements.
Purpose: Converts one copied Hunt Analyzer into a Bestiary completion estimate using the active character's actual progress.
Processing a session:
Killed Monsters: and Looted Items:;Each session also stores a name, hunt date, notes, selected creatures, and whether it was measured under Regular or Rapid Respawn conditions.
Purpose: Presents the Bestiary estimates from all processed sessions in one workspace.
If the same creature appears in several sessions, it remains one candidate per session because each hunt may have a different measured rate. Every candidate reads the same character-wide Bestiary progress. The player selects which session should represent an objective so the same completion reward is not intentionally planned twice.
For the combined summary, creatures inside one session progress simultaneously, while separate sessions consume time sequentially.
Purpose: Helps players plan and optimize Bestiary progression using current Bestiary progress, measured Hunt Analyzer rates, charm-point rewards, available time, and current spawn conditions.
The plan accepts time such as 90 min, 1.5 h, 2h 30min, or 2:30. It then:
Regular or Rapid Respawn mode;Partial progress is never discarded. It simply does not produce the immediate charm-point reward until the Bestiary entry is completed.
Purpose: Identifies unfinished Bestiary progression opportunities and surfaces creatures and locations that remain useful candidates for future hunting.
Opportunities crosses the entire Bestiary dataset with character progress and the fastest measured rate for each creature. It provides four complementary views:
This is intentionally broader than session analysis: creatures that have never appeared in a saved Hunt Analyzer can still be valuable opportunities.
Purpose: Preserves measured Hunt Analyzer sessions for later reference, comparison, correction, and planning.
Session History stores every session's:
The history can be searched across session names, notes, and creatures; filtered by respawn mode; sorted by any displayed measurement; reopened; renamed; edited; or deleted.
Compare Sessions ranks analyzed Bestiary sessions using the same summaries shown inside those sessions:
Weapon Proficiency is a dedicated page in Planning & Sessions. It reuses the active character's Hunt Analyzer sessions, the canonical Bestiary creature difficulty and the canonical Bosstiary boss category to calculate weapon Proficiency XP, XP/h, kills, duration, and sortable per-row contributions. Regular creatures are rewarded by difficulty (Harmless 1 through Challenging 240) and bosses by category (Bane 500, Archfoe 5,000, Nemesis 15,000); a session may contain both, and every row contributes to the same total. Normal character/creature experience, boss points and Bestiary completion do not enter the formula.
Session History exposes total proficiency, proficiency rate and kills; Proficiency opens a session's complete breakdown. Compare Sessions includes a separate proficiency ranking with the best complete measured rate highlighted, independently of charm rate.
Players can maintain multiple named weapon plans per character with current XP and manual target XP. Remaining XP, estimated time, equivalent sessions and optional single-creature kills are derived from the selected session. Official weapon milestone thresholds are not bundled; the app does not invent them. XP is not automatically credited to a weapon because the Hunt Analyzer does not identify which weapon received each kill.
Unknown creatures, unknown bosses, missing difficulty or boss category and invalid kill data produce an explicitly partial result. Invalid/zero duration leaves the hourly estimate unavailable. Partial results cannot win the ranking or drive session-based weapon projections. See Weapon Proficiency architecture for data boundaries, compatibility and verification.
Purpose: Organizes and estimates creature-kill objectives—particularly Bounty Tasks and Weekly Kill Tasks—using performance measured from corresponding Hunt Analyzer sessions.
The task flow is separate from Bestiary thresholds and charm calculations. For each session, the player chooses one observed creature and enters the desired kill target. The application reports:
This applies to creature-kill objectives. Tibia's Weekly Delivery Tasks are not kill-rate estimates and are therefore outside this feature.
kill rate per minute = session kills / session duration
kills remaining = max(0, unlock target - character total kills)
time remaining = kills remaining / kill rate per minute
charm rate per hour = charm-point reward / time remaining × 60
The per-creature rate is annualised to one hour without capping it at the reward. For example, completing a 15-point entry in 30 minutes is correctly reported as 30 charm points/h.
session charm points = sum of rewards for selected, incomplete entries
session time = longest remaining time among those entries
session charm rate = session charm points / session time × 60
The longest time is used because creatures killed in the same spawn advance together.
combined time = sum of each participating session's longest time
combined charm rate = selected charm points / combined time × 60
kill rate per hour = session creature kills / session duration × 60
kills remaining = max(0, target kills - session creature kills)
remaining time = kills remaining / measured kill rate
All projections assume the measured rate can be sustained. Competition, route changes, party composition, boosts, fatigue, and respawn conditions can change the real result.
| Information | Owner | Persistence |
|---|---|---|
| Tracker progress | Character record | Browser local storage |
| Bestiary exact kills/stages | Character | Shared by every session and plan for that character |
| Hunt Analyzer text and measured rate | Session | Session History |
| Session name, date, notes, and respawn mode | Session | Session History |
| Bestiary creature selection | Session | Browser local storage |
| Task creature and target | Session | Browser local storage |
| Available play time and plan eligibility | Character record | Browser local storage |
| Sort, search, filters, paging, open panels | View state | Intentionally temporary |
The application is static and requires no account or backend. Data is stored in browser localStorage, so it survives tab closure and browser restarts but remains local to that browser profile.
Whole-workspace JSON export includes every character. Restore validates the file, previews record counts, and downloads a recovery backup before replacement. Unsupported backup versions and malformed files are rejected. Storage failures are reported, and corrupt saved JSON is preserved rather than overwritten.
Individual trackers support CSV export and reviewed CSV import. Exports preserve confirmed zero/no answers with a Reviewed column; older CSV files remain importable. Malformed counts, boolean values, duplicate entries, and broken quoting are rejected before review. Bestiary and Bosstiary also accept TibiaDraptor JSON progress imports. Hunt sessions and planning state persist automatically in the current browser profile.
The application does not request Tibia credentials or connect to a Tibia account.
This is a dependency-free static application.
python3 -m http.server 4173 --bind 127.0.0.1
Open:
http://127.0.0.1:4173/src/
Python's basic server can leave JavaScript modules cached. After source changes, use a hard reload (Cmd+Shift+R or Ctrl+Shift+R) or use the no-cache server documented in CONTRIBUTING.md.
With Node.js 22 or newer (no package installation required):
npm test
npm run lint
npm run build
lint checks JavaScript syntax, module paths, JSON, HTML IDs and local assets. build stages the static entry points in ignored dist/; production remains the unchanged GitHub Pages static deployment. This JavaScript repository has no TypeScript typecheck configuration.
Session: 01:30h
Killed Monsters:
250x Rotworm
500x Cyclops
Looted Items:
The parser currently expects Session: HH:MMh and creature lines formatted as <count>x <name> between the killed-monster and looted-item headings.
src/
├── app/
│ ├── features/ # parser, Bestiary analysis, comparison, opportunities, plans, tasks
│ ├── services/ # read-only dataset repositories
│ ├── state/ # character records, sessions, progress, persistence, transfer, undo
│ ├── trackers/ # tracker-specific rules, controls, totals, and transfer formats
│ ├── ui/ # shared and feature-specific renderers
│ └── main.js # application state orchestration and browser events
├── data/ # bundled Tibia metadata snapshots
├── styles/ # design tokens and application styles
└── index.html # application entry point
The important boundaries are:
See Repository Structure, Product Journey, and UX Journey System for deeper implementation and product context.
| Dataset | Snapshot contents | Application source |
|---|---|---|
| Achievements | 570 achievements | TibiaDraptor |
| Bestiary | 833 creatures | TibiaDraptor |
| Bosstiary | 316 bosses | TibiaDraptor |
| Charms | 25 Major and Minor charms | TibiaDraptor |
| Measuring Tibia | 20 areas and 171 subareas | Tibiopedia.pl |
| Quests | 237 quests, with 93 named questlogs and 104 ungrouped quests | TibiaDraptor |
| Titles | 113 titles | TibiaDraptor |
Imported progress never replaces canonical thresholds, rewards, costs, categories, or other bundled game metadata.
The product language and rules in this README were checked against CipSoft's documentation and announcements:
The original Bestie repository defined a broader character-focused Tibia product direction. That direction is preserved here rather than being overwritten by the migrated application's current scope.
Everything in the Feature reference describes the implemented application. The capabilities below are planned unless that feature reference says otherwise.
Bestie is intended to organize the character experience into six connected areas:
A future repository configuration may identify one Tibia character. Bestie can then use TibiaData to resolve public character information and the character's World while keeping personal progress and imported Hunt Analyzer sessions browser-local.
The Dashboard is planned to bring together:
The Dashboard should remain a presentation layer over owned data rather than creating a competing source of truth.
Use current Charms, available Charm Points, Bestiary progression, creature information, and hunting context to help decide which Charms to unlock, prioritize, and use.
Implemented in Hunt Analysis, using the shared session archive. Supported measurements when present include:
Implemented in Tools → Hunt Planner. Filter by level, vocation, party and hunting context, then compare raw XP/h or profit/h. Reference observations and explicitly linked local sessions are ranked separately; measured rates are weighted by duration and separated by respawn mode.
Hunt Grounds performance should remain separate from Bestiary and Task calculations: hunting-place XP/h is not a substitute for the measured creature kill rates those estimates require.
Automatically build a history for the configured character using TibiaData, potentially including:
This information can be presented through charts, tables, timelines, and summary statistics without requiring manual entry.
The bundled Hunt Grounds snapshot includes 880 current TibiaPal vocation/hunt entries with source level minima, combat context, raw XP/h, market-based profit and available video links. Missing rates and unspecified team composition remain explicit. Source/import contract.
Hunt Grounds can support Hunt Planner while remaining independent from Bestiary progress and Task kill-rate estimates.
Allow players to select Tibia Market items to monitor for the configured character's World. TibiaData can resolve the World and TibiaMarket.top can supply the selected item data. Market values may also support features such as Imbuement cost calculations.
The implemented Session History remains the browser-local evidence archive for pasted or imported Hunt Analyzer sessions. Future analysis features should consume that same history rather than introducing separate session stores.
Implemented in Tools → Elemental Damage. Calculates mixed attack components using bundled creature HP and damage-received percentages. Missing resistances stay unknown; armor, mitigation and other combat mechanics are explicitly excluded.
Calculate material requirements, costs, duration, and value. Monitored Market data may provide current material prices for the configured character's World.
Implemented in Tools → Minimap Markers. Manage marker files locally, including:
minimapmarkers.bin data with community markers;minimapmarkers.bin and supported structured formats such as JSON;Implemented in Tools → Morning Tibia. Parse copied World Board and Guide dialogue for an explicitly observed World and date. Partial evidence remains unknown, unverified wording stays tentative, and manual corrections remain labelled. Invalid drafts preserve the previous processed observation. All text stays in the current character’s browser-local workspace.
Implemented in Tools → Stamina. Projects usage, remaining hunting time, the 39:00/42:00 recovery thresholds, and a ready time after a planned hunt with an explicit remaining logout delay.
Implemented in Tools → XP & Level. Supports exact current XP or a level-start approximation, target requirements, partial level progress, and time from an observed XP/h rate. Tool inputs stay with the current character and are included in backups. Formula and source contracts are in calculator-sources.md.
Bestie is planned to provide explicit controls to:
Automatically maintained repository data—such as Character History and refreshed Market information—should remain separate from browser-local Data Management.
Repository configuration
Character name
|
v
Automatic updates
TibiaData
-> Character information
-> Character World
-> Character History
TibiaMarket.top
-> Selected Market items
-> World-specific Market data
Curated reference data
Multiple hunting sources
-> Hunt Grounds
Browser-local data
Tracking
Session History
|
v
Data Management
-> Export
-> Import
-> Clear
All relevant data
|
v
Analysis + Dashboard
Additional sources can be incorporated when they improve coverage and data quality. Tracking progress and imported Hunt Analyzer sessions should remain in the player's browser unless the player explicitly exports them.
main.Released under the terms of the LICENSE.