aboutsummaryrefslogtreecommitdiff
path: root/internal/game/cmd_look.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/cmd_look.go')
-rw-r--r--internal/game/cmd_look.go88
1 files changed, 43 insertions, 45 deletions
diff --git a/internal/game/cmd_look.go b/internal/game/cmd_look.go
index 3f31a15..5cdc15d 100644
--- a/internal/game/cmd_look.go
+++ b/internal/game/cmd_look.go
@@ -540,26 +540,26 @@ func (g *Game) doLookTarget(sess *net.Session, input string) {
fmt.Sprintf("%s %s", g.colorize(sess, mobColor, best.Name), levelStr),
)
if best.IdleDescription != "" {
- sess.WriteLine(fmt.Sprintf(" %s", best.IdleDescription))
+ sess.WriteLine(best.IdleDescription)
}
sess.WriteLines(
"",
- fmt.Sprintf(" Attack: %d", best.Attack),
- fmt.Sprintf(" Strength: %d", best.Strength),
- fmt.Sprintf(" Defense: %d", best.Defense),
- fmt.Sprintf(" HP: %d/%d", best.HP, best.MaxHP),
+ fmt.Sprintf("Attack: %d", best.Attack),
+ fmt.Sprintf("Strength: %d", best.Strength),
+ fmt.Sprintf("Defense: %d", best.Defense),
+ fmt.Sprintf("HP: %d/%d", best.HP, best.MaxHP),
)
if best.StabDefense != 0 || best.SlashDefense != 0 || best.CrushDefense != 0 ||
best.ScienceDefense != 0 || best.RangedDefense != 0 {
sess.WriteLines(
"",
- " Defense bonuses:",
- fmt.Sprintf(" Stab: %+d Slash: %+d Crush: %+d", best.StabDefense, best.SlashDefense, best.CrushDefense),
- fmt.Sprintf(" Science: %+d Ranged: %+d", best.ScienceDefense, best.RangedDefense),
+ "Defense bonuses:",
+ fmt.Sprintf(" Stab: %+d Slash: %+d Crush: %+d", best.StabDefense, best.SlashDefense, best.CrushDefense),
+ fmt.Sprintf(" Science: %+d Ranged: %+d", best.ScienceDefense, best.RangedDefense),
)
}
if best.Weakness != "" {
- sess.WriteLine(fmt.Sprintf(" Weakness: %s", best.Weakness))
+ sess.WriteLine(fmt.Sprintf("Weakness: %s", best.Weakness))
}
return
}
@@ -612,12 +612,10 @@ func (g *Game) doLookTarget(sess *net.Session, input string) {
sess.WriteLine("")
if len(instances) > 1 {
sess.WriteLine(fmt.Sprintf("%d %ss:", len(instances), def.Name))
- } else {
- sess.WriteLine(def.Name)
}
if objDescText != "" && !strings.Contains(objDescText, "{quality}") {
- sess.WriteLine(fmt.Sprintf(" %s", objDescText))
+ sess.WriteLine(color.ExpandTags(g.colorMode(sess), objDescText))
}
if def.Safespot != nil {
@@ -635,9 +633,9 @@ func (g *Game) doLookTarget(sess *net.Session, input string) {
if def.Safespot.MaxBlockSize != "" {
blockInfo = fmt.Sprintf("up to %s mobs", def.Safespot.MaxBlockSize)
}
- sess.WriteLine(fmt.Sprintf(" Safespot: %s — blocks %s", levelStr, blockInfo))
+ sess.WriteLine(fmt.Sprintf("Safespot: %s — blocks %s", levelStr, blockInfo))
if len(realSt.SafespotOccupants) > 0 {
- sess.WriteLine(fmt.Sprintf(" Occupied by: %s", strings.Join(realSt.SafespotOccupants, ", ")))
+ sess.WriteLine(fmt.Sprintf("Occupied by: %s", strings.Join(realSt.SafespotOccupants, ", ")))
}
}
}
@@ -646,15 +644,15 @@ func (g *Game) doLookTarget(sess *net.Session, input string) {
for _, ist := range instances {
if ist.Depleted {
if len(instances) > 1 {
- sess.WriteLine(fmt.Sprintf(" %s %d: depleted, respawns in %d ticks.", def.Name, ist.Index+1, int(ist.DepleteTimer)))
+ sess.WriteLine(fmt.Sprintf("%s %d: depleted, respawns in %d ticks.", def.Name, ist.Index+1, int(ist.DepleteTimer)))
} else {
- sess.WriteLine(fmt.Sprintf(" Depleted, respawns in %d ticks.", int(ist.DepleteTimer)))
+ sess.WriteLine(fmt.Sprintf("Depleted, respawns in %d ticks.", int(ist.DepleteTimer)))
}
} else if ist.SharedMax > 0 && float64(ist.SharedTimer) < ist.SharedMax {
if len(instances) > 1 {
- sess.WriteLine(fmt.Sprintf(" %s %d: despawn timer %d/%.0f.", def.Name, ist.Index+1, ist.SharedTimer, ist.SharedMax))
+ sess.WriteLine(fmt.Sprintf("%s %d: despawn timer %d/%.0f.", def.Name, ist.Index+1, ist.SharedTimer, ist.SharedMax))
} else {
- sess.WriteLine(fmt.Sprintf(" Despawn timer: %d/%.0f ticks.", ist.SharedTimer, ist.SharedMax))
+ sess.WriteLine(fmt.Sprintf("Despawn timer: %d/%.0f ticks.", ist.SharedTimer, ist.SharedMax))
}
}
}
@@ -662,7 +660,7 @@ func (g *Game) doLookTarget(sess *net.Session, input string) {
for _, ist := range instances {
if ist.Quality > 0 && strings.Contains(def.Description, "{quality}") {
desc := strings.ReplaceAll(def.Description, "{quality}", fmt.Sprintf("%.0f", ist.Quality))
- sess.WriteLine(fmt.Sprintf(" %s", desc))
+ sess.WriteLine(color.ExpandTags(g.colorMode(sess), desc))
}
}
@@ -682,8 +680,8 @@ func (g *Game) doLookTarget(sess *net.Session, input string) {
sess.WriteLines(
"",
g.itemColorize(sess, def, def.Name),
- fmt.Sprintf(" %s", def.Description),
- fmt.Sprintf(" Value: %d credits", def.Value),
+ color.ExpandTags(g.colorMode(sess), def.Description),
+ fmt.Sprintf("Value: %d credits", def.Value),
)
g.showItemStats(sess, def)
return
@@ -701,11 +699,11 @@ func (g *Game) doLookTarget(sess *net.Session, input string) {
lines := []string{
"",
g.itemColorize(sess, def, def.Name),
- fmt.Sprintf(" %s", def.Description),
- fmt.Sprintf(" Value: %d credits", def.Value),
+ color.ExpandTags(g.colorMode(sess), def.Description),
+ fmt.Sprintf("Value: %d credits", def.Value),
}
if slot.MaxQuality > 0 {
- lines = append(lines, fmt.Sprintf(" Has %d units of butane left.", slot.Quality))
+ lines = append(lines, fmt.Sprintf("Has %d units of butane left.", slot.Quality))
}
sess.WriteLines(lines...)
g.showItemStats(sess, def)
@@ -735,18 +733,18 @@ func showPlayerInfo(g *Game, sess *net.Session, p *player.Player) {
sess.WriteLines(
"",
p.Name,
- fmt.Sprintf(" Combat Level: %s", levelStr),
- fmt.Sprintf(" HP: %d/%d", p.HP, p.MaxHP()),
+ fmt.Sprintf("Combat Level: %s", levelStr),
+ fmt.Sprintf("HP: %d/%d", p.HP, p.MaxHP()),
"",
)
for _, s := range player.AllSkills {
level := p.Level(s)
- sess.WriteLine(fmt.Sprintf(" %-12s Level: %d", s, level))
+ sess.WriteLine(fmt.Sprintf("%-12s Level: %d", s, level))
}
sess.WriteLine("")
- sess.WriteLine(" Equipment:")
+ sess.WriteLine("Equipment:")
for _, slot := range EquipSlots {
itemID, ok := p.Equipment[slot]
if !ok {
@@ -758,12 +756,12 @@ func showPlayerInfo(g *Game, sess *net.Session, p *player.Player) {
name = def.Name
itemDef = def
}
- sess.WriteLine(fmt.Sprintf(" %-12s %s", slot, g.itemColorize(sess, itemDef, name)))
+ sess.WriteLine(fmt.Sprintf(" %-12s %s", slot, g.itemColorize(sess, itemDef, name)))
}
if p.Description != "" {
sess.WriteLine("")
- sess.WriteLine(fmt.Sprintf(" %s", p.Description))
+ sess.WriteLine(p.Description)
}
}
@@ -916,40 +914,40 @@ func (g *Game) showItemStats(sess *net.Session, def *object.ItemDef) {
sess.WriteLine("")
if hasAttack || hasDefense {
- sess.WriteLine(" Attack bonuses: Defense bonuses:")
- sess.WriteLine(fmt.Sprintf(" Stab: %+4d Stab: %+4d", s.StabAttack, s.StabDefense))
- sess.WriteLine(fmt.Sprintf(" Slash: %+4d Slash: %+4d", s.SlashAttack, s.SlashDefense))
- sess.WriteLine(fmt.Sprintf(" Crush: %+4d Crush: %+4d", s.CrushAttack, s.CrushDefense))
- sess.WriteLine(fmt.Sprintf(" Science:%+4d Science:%+4d", s.ScienceAttack, s.ScienceDefense))
- sess.WriteLine(fmt.Sprintf(" Ranged: %+4d Ranged: %+4d", s.RangedAttack, s.RangedDefense))
+ sess.WriteLine("Attack bonuses: Defense bonuses:")
+ sess.WriteLine(fmt.Sprintf(" Stab: %+4d Stab: %+4d", s.StabAttack, s.StabDefense))
+ sess.WriteLine(fmt.Sprintf(" Slash: %+4d Slash: %+4d", s.SlashAttack, s.SlashDefense))
+ sess.WriteLine(fmt.Sprintf(" Crush: %+4d Crush: %+4d", s.CrushAttack, s.CrushDefense))
+ sess.WriteLine(fmt.Sprintf(" Science:%+4d Science:%+4d", s.ScienceAttack, s.ScienceDefense))
+ sess.WriteLine(fmt.Sprintf(" Ranged: %+4d Ranged: %+4d", s.RangedAttack, s.RangedDefense))
}
if hasOther {
sess.WriteLine("")
- sess.WriteLine(" Other bonuses:")
+ sess.WriteLine("Other bonuses:")
if s.StrengthBonus != 0 {
- sess.WriteLine(fmt.Sprintf(" Melee strength: %+d", s.StrengthBonus))
+ sess.WriteLine(fmt.Sprintf(" Melee strength: %+d", s.StrengthBonus))
}
if s.RangedStrength != 0 {
- sess.WriteLine(fmt.Sprintf(" Ranged strength: %+d", s.RangedStrength))
+ sess.WriteLine(fmt.Sprintf(" Ranged strength: %+d", s.RangedStrength))
}
if s.ScienceDamage != 0 {
- sess.WriteLine(fmt.Sprintf(" Science damage: %+d", s.ScienceDamage))
+ sess.WriteLine(fmt.Sprintf(" Science damage: %+d", s.ScienceDamage))
}
if s.TechnologyBonus != 0 {
- sess.WriteLine(fmt.Sprintf(" Technology: %+d", s.TechnologyBonus))
+ sess.WriteLine(fmt.Sprintf(" Technology: %+d", s.TechnologyBonus))
}
}
if def.AttackType != "" {
- sess.WriteLine(fmt.Sprintf(" Attack type: %s", def.AttackType))
+ sess.WriteLine(fmt.Sprintf("Attack type: %s", def.AttackType))
}
if def.Speed > 0 {
- sess.WriteLine(fmt.Sprintf(" Speed: %.0f", def.Speed))
+ sess.WriteLine(fmt.Sprintf("Speed: %.0f", def.Speed))
}
if len(def.Requirements) > 0 {
sess.WriteLine("")
- sess.WriteLine(" Requirements:")
+ sess.WriteLine("Requirements:")
for skill, level := range def.Requirements {
- sess.WriteLine(fmt.Sprintf(" %s: %d", skill, level))
+ sess.WriteLine(fmt.Sprintf(" %s: %d", skill, level))
}
}
}