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:
31
game/rip.go
31
game/rip.go
@@ -21,22 +21,6 @@ func (g *RogueGame) myExit() {
|
||||
panic(gameEnd{})
|
||||
}
|
||||
|
||||
var ripArt = []string{
|
||||
" __________",
|
||||
" / \\",
|
||||
" / REST \\",
|
||||
" / IN \\",
|
||||
" / PEACE \\",
|
||||
" / \\",
|
||||
" | |",
|
||||
" | |",
|
||||
" | killed by a |",
|
||||
" | |",
|
||||
" | 1980 |",
|
||||
" *| * * * | *",
|
||||
" ________)/\\\\_//(\\/(/\\)/\\//\\/|_)_______",
|
||||
}
|
||||
|
||||
// death does something really fun when he dies (rip.c death).
|
||||
func (g *RogueGame) death(monst byte) {
|
||||
p := &g.Player
|
||||
@@ -56,7 +40,7 @@ func (g *RogueGame) death(monst byte) {
|
||||
} else {
|
||||
year := time.Now().Year()
|
||||
|
||||
for i, line := range ripArt {
|
||||
for i, line := range g.data.ripArt {
|
||||
g.scr.Std.MvAddStr(8+i, 0, line)
|
||||
}
|
||||
|
||||
@@ -144,7 +128,7 @@ func (g *RogueGame) totalWinner() {
|
||||
case KindArmor:
|
||||
worth = it.Armors[obj.Which].Worth
|
||||
worth += (9 - obj.ArmorClass) * 100
|
||||
worth += 10 * (aClass[obj.Which] - obj.ArmorClass)
|
||||
worth += 10 * (g.data.aClass[obj.Which] - obj.ArmorClass)
|
||||
obj.Flags.Set(Known)
|
||||
case KindScroll:
|
||||
op := &it.Scrolls[obj.Which]
|
||||
@@ -216,15 +200,6 @@ func (g *RogueGame) totalWinner() {
|
||||
g.myExit()
|
||||
}
|
||||
|
||||
// killnameTable is the rip.c nlist[]: special death causes.
|
||||
var killnameTable = []helpEntry{
|
||||
{'a', "arrow", true},
|
||||
{'b', "bolt", true},
|
||||
{'d', "dart", true},
|
||||
{'h', "hypothermia", false},
|
||||
{'s', "starvation", false},
|
||||
}
|
||||
|
||||
// killname converts a code to a monster name (rip.c killname).
|
||||
func (g *RogueGame) killname(monst byte, doart bool) string {
|
||||
var (
|
||||
@@ -239,7 +214,7 @@ func (g *RogueGame) killname(monst byte, doart bool) string {
|
||||
sp = "Wally the Wonder Badger"
|
||||
article = false
|
||||
|
||||
for _, hp := range killnameTable {
|
||||
for _, hp := range g.data.killnameTable {
|
||||
if hp.Ch == monst {
|
||||
sp = hp.Desc
|
||||
article = hp.Print
|
||||
|
||||
Reference in New Issue
Block a user