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:
15
game/misc.go
15
game/misc.go
@@ -286,8 +286,8 @@ func (g *RogueGame) checkLevel() {
|
||||
p := &g.Player
|
||||
|
||||
var i int
|
||||
for i = 0; eLevels[i] != 0; i++ {
|
||||
if eLevels[i] > p.Stats.Exp {
|
||||
for i = 0; g.data.eLevels[i] != 0; i++ {
|
||||
if g.data.eLevels[i] > p.Stats.Exp {
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -493,22 +493,17 @@ func (g *RogueGame) callIt(info *ObjInfo) {
|
||||
}
|
||||
}
|
||||
|
||||
// thingList is misc.c rnd_thing()'s static table.
|
||||
var thingList = []byte{
|
||||
Potion, Scroll, Ring, Stick, Food, Weapon, Armor, Stairs, Gold, Amulet,
|
||||
}
|
||||
|
||||
// rndThing picks a random thing appropriate for this level (misc.c
|
||||
// rnd_thing).
|
||||
func (g *RogueGame) rndThing() byte {
|
||||
var i int
|
||||
if g.Depth >= AmuletLevel {
|
||||
i = g.rnd(len(thingList))
|
||||
i = g.rnd(len(g.data.thingList))
|
||||
} else {
|
||||
i = g.rnd(len(thingList) - 1)
|
||||
i = g.rnd(len(g.data.thingList) - 1)
|
||||
}
|
||||
|
||||
return thingList[i]
|
||||
return g.data.thingList[i]
|
||||
}
|
||||
|
||||
// chooseStr picks the first or second string depending on whether the
|
||||
|
||||
Reference in New Issue
Block a user