diff options
| author | historia <[not public]> | 2026-06-25 04:46:40 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-06-25 04:46:40 -0400 |
| commit | 2725e2927a1595c7b100d942d1f14146252adeb7 (patch) | |
| tree | e8bc2292634a2d686c751981ddb3097517cccc6a /internal/game/cmd_look.go | |
| parent | 94a06fbbe682701ca4d4bd2a70cd74d8df29c932 (diff) | |
| download | thehouseoficarus-2725e2927a1595c7b100d942d1f14146252adeb7.tar.gz | |
feat: who, global chat, removed redundant YAML IDs
Diffstat (limited to 'internal/game/cmd_look.go')
| -rw-r--r-- | internal/game/cmd_look.go | 88 |
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)) } } } |
