fix(rust): the title weapon and plant lists, read off the rig's own item list
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
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// ── The named lists behind five title categories (PLAN_REDESIGNS §5.3, D174) ──
|
||||
// ── 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
|
||||
@@ -6,54 +6,98 @@
|
||||
// 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.
|
||||
//
|
||||
// Melee is a list too: the site cannot ask the game whether a prefab is a
|
||||
// `BaseMelee`. A blade is a melee weapon, so every blade is in both.
|
||||
// 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.
|
||||
//
|
||||
// UNVERIFIED: the weapon names below are from knowledge of the game, not yet
|
||||
// read off the rig's own item list (the RgWeapons probe). Replace them with the
|
||||
// probe's output before this ships.
|
||||
// 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', 'crossbow.entity'],
|
||||
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',
|
||||
'mace.entity',
|
||||
'spear_wooden.entity',
|
||||
'spear_stone.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',
|
||||
'stonehatchet.entity',
|
||||
'pickaxe.entity',
|
||||
'stone_pickaxe.entity',
|
||||
'salvaged_axe.entity',
|
||||
'salvaged_hammer.entity',
|
||||
'salvaged_icepick.entity',
|
||||
'rock.entity',
|
||||
'torch.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: ['revolver.entity', 'python.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 that comes with a plant is not the plant.
|
||||
// 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',
|
||||
@@ -63,6 +107,8 @@ const lists = {
|
||||
'yellow.berry',
|
||||
'white.berry',
|
||||
'black.berry',
|
||||
'blueberries',
|
||||
'black.raspberries',
|
||||
'rose',
|
||||
'orchid',
|
||||
'sunflower',
|
||||
|
||||
Reference in New Issue
Block a user