mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-09-29 22:56:07 -04:00
character select screen's hero descriptions & hero stat panel
This commit is contained in:
parent
b2a9477816
commit
5a6f0c2dcb
@ -291,6 +291,30 @@ func (am *AssetManager) TranslateString(key string) string {
|
||||
return key
|
||||
}
|
||||
|
||||
func (am *AssetManager) TranslateHeroClass(h d2enum.Hero) string {
|
||||
switch h {
|
||||
case 1:
|
||||
return am.TranslateString("Barbarian")
|
||||
case 2:
|
||||
return am.TranslateString("Necromancer")
|
||||
case 3:
|
||||
return am.TranslateString("Paladin")
|
||||
case 4:
|
||||
return am.TranslateString("Assassin")
|
||||
case 5:
|
||||
return am.TranslateString("Sorceress")
|
||||
case 6:
|
||||
return am.TranslateString("Amazon")
|
||||
case 7:
|
||||
return am.TranslateString("Druid")
|
||||
default:
|
||||
am.Error("Unknown Hero Class")
|
||||
}
|
||||
|
||||
// should not be reached
|
||||
return "---"
|
||||
}
|
||||
|
||||
// LoadPaletteTransform loads a palette transform file
|
||||
func (am *AssetManager) LoadPaletteTransform(path string) (*d2pl2.PL2, error) {
|
||||
if pl2, found := am.transforms.Retrieve(path); found {
|
||||
|
@ -333,7 +333,7 @@ func (v *CharacterSelect) onScrollUpdate() {
|
||||
}
|
||||
|
||||
func (v *CharacterSelect) updateCharacterBoxes() {
|
||||
expText := "EXPANSION CHARACTER"
|
||||
expText := v.asset.TranslateString("#803")
|
||||
|
||||
for i := 0; i < 8; i++ {
|
||||
idx := i + (v.charScrollbar.GetCurrentOffset() * 2)
|
||||
@ -348,7 +348,7 @@ func (v *CharacterSelect) updateCharacterBoxes() {
|
||||
}
|
||||
|
||||
heroName := v.gameStates[idx].HeroName
|
||||
heroInfo := "Level " + strconv.FormatInt(int64(v.gameStates[idx].Stats.Level), 10) + " " + v.gameStates[idx].HeroType.String()
|
||||
heroInfo := v.asset.TranslateString("level") + " " + strconv.FormatInt(int64(v.gameStates[idx].Stats.Level), 10) + " " + v.asset.TranslateHeroClass(v.gameStates[idx].HeroType)
|
||||
|
||||
v.characterNameLabel[i].SetText(d2ui.ColorTokenize(heroName, d2ui.ColorTokenGold))
|
||||
v.characterStatsLabel[i].SetText(d2ui.ColorTokenize(heroInfo, d2ui.ColorTokenWhite))
|
||||
|
@ -27,14 +27,14 @@ const (
|
||||
labelLevelX, labelLevelY = 110, 100
|
||||
|
||||
labelHeroNameX, labelHeroNameY = 165, 72
|
||||
labelHeroClassX, labelHeroClassY = 330, 72
|
||||
labelHeroClassX, labelHeroClassY = 330, 74
|
||||
|
||||
labelExperienceX, labelExperienceY = 200, 100
|
||||
labelNextLevelX, labelNextLevelY = 330, 100
|
||||
|
||||
labelStrengthX, labelStrengthY = 100, 150
|
||||
labelDexterityX, labelDexterityY = 100, 213
|
||||
labelVitalityX, labelVitalityY = 100, 300
|
||||
labelVitalityX, labelVitalityY = 95, 300
|
||||
labelEnergyX, labelEnergyY = 100, 360
|
||||
|
||||
labelDefenseX, labelDefenseY = 280, 260
|
||||
@ -249,19 +249,19 @@ func (s *HeroStatsPanel) renderStaticLabels(target d2interface.Surface) {
|
||||
centerAlign bool
|
||||
}{
|
||||
{labelHeroNameX, labelHeroNameY, s.heroName, d2resource.Font16, true},
|
||||
{labelHeroClassX, labelHeroClassY, s.heroClass.String(), d2resource.Font16, true},
|
||||
{labelHeroClassX, labelHeroClassY, s.asset.TranslateHeroClass(s.heroClass), d2resource.Font16, true},
|
||||
|
||||
{labelLevelX, labelLevelY, "Level", d2resource.Font6, true},
|
||||
{labelExperienceX, labelExperienceY, "Experience", d2resource.Font6, true},
|
||||
{labelNextLevelX, labelNextLevelY, "Next Level", d2resource.Font6, true},
|
||||
{labelStrengthX, labelStrengthY, "Strength", d2resource.Font6, false},
|
||||
{labelDexterityX, labelDexterityY, "Dexterity", d2resource.Font6, false},
|
||||
{labelVitalityX, labelVitalityY, "Vitality", d2resource.Font6, false},
|
||||
{labelEnergyX, labelEnergyY, "Energy", d2resource.Font6, false},
|
||||
{labelDefenseX, labelDefenseY, "Defense", d2resource.Font6, false},
|
||||
{labelStaminaX, labelStaminaY, "Stamina", d2resource.Font6, true},
|
||||
{labelLifeX, labelLifeY, "Life", d2resource.Font6, true},
|
||||
{labelManaX, labelManaY, "Mana", d2resource.Font6, true},
|
||||
{labelLevelX, labelLevelY, s.asset.TranslateString("strchrlvl"), d2resource.Font6, true},
|
||||
{labelExperienceX, labelExperienceY, s.asset.TranslateString("strchrexp"), d2resource.Font6, true},
|
||||
{labelNextLevelX, labelNextLevelY, s.asset.TranslateString("strchrnxtlvl"), d2resource.Font6, true},
|
||||
{labelStrengthX, labelStrengthY, s.asset.TranslateString("strchrstr"), d2resource.Font6, false},
|
||||
{labelDexterityX, labelDexterityY, s.asset.TranslateString("strchrdex"), d2resource.Font6, false},
|
||||
{labelVitalityX, labelVitalityY, s.asset.TranslateString("strchrvit"), d2resource.Font6, false},
|
||||
{labelEnergyX, labelEnergyY, s.asset.TranslateString("strchreng"), d2resource.Font6, false},
|
||||
{labelDefenseX, labelDefenseY, s.asset.TranslateString("strchrdef"), d2resource.Font6, false},
|
||||
{labelStaminaX, labelStaminaY, s.asset.TranslateString("strchrstm"), d2resource.Font6, true},
|
||||
{labelLifeX, labelLifeY, s.asset.TranslateString("strchrlif"), d2resource.Font6, true},
|
||||
{labelManaX, labelManaY, s.asset.TranslateString("strchrman"), d2resource.Font6, true},
|
||||
|
||||
// can't use "Fire\nResistance" because line spacing is too big and breaks the layout
|
||||
{labelResFireLine1X, labelResFireLine1Y, "Fire", d2resource.Font6, true},
|
||||
|
Loading…
Reference in New Issue
Block a user