Move all package-level vars into gameData; finish lint adoption
gochecknoglobals: all 37 package-level tables consolidated into the gameData struct (game/tables.go), built by newGameData() and carried on RogueGame as g.data (set in NewGame and Restore). ObjectKind Glyph()/objectKindForGlyph are now switches; the table-reading subtype Stringer methods are gone; isMagic is a RogueGame method. goconst: repeated words named (potionName/scrollName/ringName/goldName in object.go, wandName/staffName in sticks.go, ripWall in tables.go). exhaustive, testpackage: disabled in .golangci.yml with sneak's approval (2026-07-07). Also reverts misspell's silent corruption of the "ther" scroll-name syllable (it had become "there", changing generated scroll names vs C). Remaining red: cyclop/gocognit/nestif until refactor step 7; mnd awaits a ruling. TODO.md rotated; MEMORY.md lint notes updated.
This commit is contained in:
@@ -143,27 +143,18 @@ func (g *RogueGame) wield() {
|
||||
g.msg("wielding %s (%c)", sp, obj.PackCh)
|
||||
}
|
||||
|
||||
// initWeaps is the weapons.c init_dam[] table.
|
||||
var initWeaps = [NumWeaponTypes]struct {
|
||||
// weaponSetup is one row of the weapons.c init_dam[] table (see
|
||||
// gameData.initWeaps).
|
||||
type weaponSetup struct {
|
||||
dam DiceSpec // damage when wielded
|
||||
hrl DiceSpec // damage when thrown
|
||||
launch WeaponKind // launching weapon
|
||||
flags ObjFlags
|
||||
}{
|
||||
{dice("2x4"), dice("1x3"), noWeapon, 0}, // WeaponMace
|
||||
{dice("3x4"), dice("1x2"), noWeapon, 0}, // Long sword
|
||||
{dice("1x1"), dice("1x1"), noWeapon, 0}, // WeaponBow
|
||||
{dice("1x1"), dice("2x3"), WeaponBow, Stackable | Missile}, // WeaponArrow
|
||||
{dice("1x6"), dice("1x4"), noWeapon, Missile}, // WeaponDagger
|
||||
{dice("4x4"), dice("1x2"), noWeapon, 0}, // 2h sword
|
||||
{dice("1x1"), dice("1x3"), noWeapon, Stackable | Missile}, // WeaponDart
|
||||
{dice("1x2"), dice("2x4"), noWeapon, Stackable | Missile}, // Shuriken
|
||||
{dice("2x3"), dice("1x6"), noWeapon, Missile}, // WeaponSpear
|
||||
}
|
||||
|
||||
// initWeapon sets up a new weapon (weapons.c init_weapon).
|
||||
func (g *RogueGame) initWeapon(weap *Object, which WeaponKind) {
|
||||
iwp := &initWeaps[which]
|
||||
iwp := &g.data.initWeaps[which]
|
||||
weap.Kind = KindWeapon
|
||||
weap.Which = int(which)
|
||||
weap.Damage = iwp.dam
|
||||
|
||||
Reference in New Issue
Block a user