A read-only probe walked ItemManager.itemList on rust-oxide (2026-09-29). Revolvers are pistol_revolver, python and hc_revolver; bows add the legacy bow, the mini crossbow and the bowless crossbow and leave out the speargun; melee is every BaseMelee except the pies; blades add the obsidian, sunken and skinning knives and the chainsword; plants add wheat and the two wild berries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
119 lines
3.4 KiB
JavaScript
119 lines
3.4 KiB
JavaScript
// ── The named lists behind seven title categories (PLAN_REDESIGNS §5.3, D174) ──
|
|
//
|
|
// "In one place, so a Rust update adds a weapon by editing a list." The plugin
|
|
// sends every credited kill by weapon SHORT PREFAB NAME — the name the killfeed
|
|
// already shows (`bow_hunting.entity`) — and every gathered resource by item
|
|
// shortname (`sulfur.ore`). These lists are applied when a title is READ, so
|
|
// editing one corrects the whole wipe and no plugin release is needed.
|
|
//
|
|
// Read off a live server's own item list on 2026-09-29 (a read-only probe that
|
|
// walked `ItemManager.itemList` and named each held entity's prefab and class),
|
|
// not written from memory. To refresh after a Rust update, do the same.
|
|
//
|
|
// bow every `BowWeapon`, `CrossbowWeapon` and `MiniCrossbow` — except the
|
|
// speargun, which is a crossbow underneath and not a bow to a player
|
|
// melee every `BaseMelee`, except the pies (`Food` is a `BaseMelee` too,
|
|
// because eating is a swing)
|
|
// blade the machete, the swords, the knives and the cleaver, as §4.6 names
|
|
// them; every blade is in melee as well
|
|
// revolver the revolver, the python and the high-caliber revolver
|
|
|
|
const BLADES = [
|
|
'machete.weapon',
|
|
'salvaged_sword.entity',
|
|
'longsword.entity',
|
|
'krieg_chainsword.entity',
|
|
'salvaged_cleaver.entity',
|
|
'knife_bone.entity',
|
|
'bone.knife.obsidian.entity',
|
|
'knife.combat.entity',
|
|
'sunken.knife.combat.entity',
|
|
'butcherknife.entity',
|
|
'skinningknife.entity',
|
|
]
|
|
|
|
const lists = {
|
|
bow: [
|
|
'bow_hunting.entity',
|
|
'compound_bow.entity',
|
|
'legacybow.entity',
|
|
'crossbow.entity',
|
|
'crossbow_bowless.entity',
|
|
'mini_crossbow.entity',
|
|
],
|
|
blade: BLADES,
|
|
melee: [
|
|
...BLADES,
|
|
'axe_salvaged.entity',
|
|
'bone_club.entity',
|
|
'boomerang.entity',
|
|
'cake.entity',
|
|
'candy_cane.entity',
|
|
'chainsaw.entity',
|
|
'cny_spear.entity',
|
|
'concrete_hatchet.entity',
|
|
'concrete_pickaxe.entity',
|
|
'diver_hatchet.entity',
|
|
'diver_pickaxe.entity',
|
|
'diver_torch.entity',
|
|
'flashlight.entity',
|
|
'frontier_hatchet.entity',
|
|
'hammer.entity',
|
|
'hammer_salvaged.entity',
|
|
'handcuffs.entity',
|
|
'hatchet.entity',
|
|
'icepick_salvaged.entity',
|
|
'industrial_torch.entity',
|
|
'jackhammer.entity',
|
|
'lumberjack_axe.entity',
|
|
'lumberjack_pick.entity',
|
|
'mace.baseballbat',
|
|
'mace.entity',
|
|
'paddle.entity',
|
|
'pickaxe.entity',
|
|
'pitchfork.entity',
|
|
'rock.a.jungle.entity',
|
|
'rock.entity',
|
|
'shovel.entity',
|
|
'sickle.entity',
|
|
'skull.entity',
|
|
'skulltorch.entity',
|
|
'snowball.entity',
|
|
'spear_stone.entity',
|
|
'spear_wooden.entity',
|
|
'stone_pickaxe.entity',
|
|
'stonehatchet.entity',
|
|
'toolgun.entity',
|
|
'torch.entity',
|
|
'vampirestake.entity',
|
|
],
|
|
revolver: ['pistol_revolver.entity', 'python.entity', 'hc_revolver.entity'],
|
|
|
|
// Gathering (D159: all three sources, already in `rust_gather_totals`).
|
|
wood: ['wood'],
|
|
ore: ['metal.ore', 'sulfur.ore', 'hq.metal.ore'],
|
|
// Hemp picks up as cloth. A seed or a clone that comes with a plant is not
|
|
// the plant, and neither is anything cooked from one.
|
|
plants: [
|
|
'cloth',
|
|
'corn',
|
|
'wheat',
|
|
'pumpkin',
|
|
'potato',
|
|
'mushroom',
|
|
'red.berry',
|
|
'blue.berry',
|
|
'green.berry',
|
|
'yellow.berry',
|
|
'white.berry',
|
|
'black.berry',
|
|
'blueberries',
|
|
'black.raspberries',
|
|
'rose',
|
|
'orchid',
|
|
'sunflower',
|
|
],
|
|
}
|
|
|
|
module.exports = lists
|