package game // armor.c — misc functions for dealing with armor. // wear lets the player put armor on (armor.c wear). func (g *RogueGame) wear() { p := &g.Player obj, ok := g.promptPackItem("wear", KindArmor) if !ok { return } if p.CurArmor != nil { g.addmsgf("you are already wearing some") if !g.Options.Terse { g.addmsgf(". You'll have to take it off first") } g.endmsg() g.After = false return } if obj.Kind != KindArmor { g.msg("you can't wear that") return } g.wasteTime() obj.Flags.Set(Known) sp := g.inventoryName(obj, true) p.CurArmor = obj if !g.Options.Terse { g.addmsgf("you are now ") } g.msg("wearing %s", sp) } // takeOff gets the armor off of the player's back (armor.c take_off). func (g *RogueGame) takeOff() { p := &g.Player obj := p.CurArmor if obj == nil { g.After = false if g.Options.Terse { g.msg("not wearing armor") } else { g.msg("you aren't wearing any armor") } return } if !g.dropCheck(p.CurArmor) { return } p.CurArmor = nil if g.Options.Terse { g.addmsgf("was") } else { g.addmsgf("you used to be") } g.msg(" wearing %c) %s", obj.PackCh, g.inventoryName(obj, true)) } // wasteTime does nothing but let other things happen (armor.c waste_time). func (g *RogueGame) wasteTime() { g.DoDaemons(Before) g.DoFuses(Before) g.DoDaemons(After) g.DoFuses(After) }