mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2024-11-18 02:16:23 -05:00
hero save file
This commit is contained in:
parent
60a3e66c95
commit
9c019afd94
21
d2app/app.go
21
d2app/app.go
@ -233,11 +233,12 @@ func (a *App) parseArguments() {
|
||||
loggingShort = 'l'
|
||||
loggingDesc = "Enables verbose logging. Log levels will include those below it. " +
|
||||
"0 disables log messages, " +
|
||||
"1 shows errors, " +
|
||||
"2 shows warnings, " +
|
||||
"3 shows info, " +
|
||||
"4 shows debug" +
|
||||
"5 uses value from config file (default)"
|
||||
"1 shows fatal errors, " +
|
||||
"2 shows errors, " +
|
||||
"3 shows warnings, " +
|
||||
"4 shows info, " +
|
||||
"5 shows debug" +
|
||||
"6 uses value from config file (default)"
|
||||
)
|
||||
|
||||
a.Options.profiler = kingpin.Flag(profilerArg, profilerDesc).String()
|
||||
@ -315,7 +316,7 @@ func (a *App) Run() error {
|
||||
a.gitCommit = "build"
|
||||
}
|
||||
|
||||
fmt.Printf(fmtVersion, a.gitBranch, a.gitCommit)
|
||||
a.Errorf(fmtVersion, a.gitBranch, a.gitCommit)
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
@ -739,7 +740,7 @@ func (a *App) doCaptureFrame(target d2interface.Surface) error {
|
||||
return err
|
||||
}
|
||||
|
||||
a.Info(fmt.Sprintf("saved frame to %s", a.capturePath))
|
||||
a.Infof("saved frame to %s", a.capturePath)
|
||||
|
||||
return nil
|
||||
}
|
||||
@ -799,7 +800,7 @@ func (a *App) convertFramesToGif() error {
|
||||
return err
|
||||
}
|
||||
|
||||
a.Info(fmt.Sprintf("saved animation to %s", a.capturePath))
|
||||
a.Infof("saved animation to %s", a.capturePath)
|
||||
|
||||
return nil
|
||||
}
|
||||
@ -937,7 +938,7 @@ func (a *App) ToCreateGame(filePath string, connType d2clientconnectiontype.Clie
|
||||
|
||||
if err = gameClient.Open(host, filePath); err != nil {
|
||||
errorMessage := fmt.Sprintf("can not connect to the host: %s", host)
|
||||
fmt.Println(errorMessage)
|
||||
a.Error(errorMessage)
|
||||
a.ToMainMenu(errorMessage)
|
||||
} else {
|
||||
game, err := d2gamescreen.CreateGame(
|
||||
@ -956,7 +957,7 @@ func (a *App) ToCharacterSelect(connType d2clientconnectiontype.ClientConnection
|
||||
characterSelect, err := d2gamescreen.CreateCharacterSelect(a, a.asset, a.renderer, a.inputManager,
|
||||
a.audio, a.ui, connType, a.config.LogLevel, connHost)
|
||||
if err != nil {
|
||||
fmt.Printf("unable to create character select screen: %s", err)
|
||||
a.Errorf("unable to create character select screen: %s", err)
|
||||
}
|
||||
|
||||
a.screen.SetNextScreen(characterSelect)
|
||||
|
@ -10,28 +10,23 @@ type HeroStatsState struct {
|
||||
Level int `json:"level"`
|
||||
Experience int `json:"experience"`
|
||||
|
||||
Vitality int `json:"vitality"`
|
||||
Energy int `json:"energy"`
|
||||
Strength int `json:"strength"`
|
||||
Energy int `json:"energy"`
|
||||
Dexterity int `json:"dexterity"`
|
||||
Vitality int `json:"vitality"`
|
||||
// there are stats and skills points remaining to add.
|
||||
StatPoints int `json:"statPoints"`
|
||||
SkillPoints int `json:"skillPoints"`
|
||||
|
||||
AttackRating int `json:"attackRating"`
|
||||
DefenseRating int `json:"defenseRating"`
|
||||
|
||||
MaxStamina int `json:"maxStamina"`
|
||||
Health int `json:"health"`
|
||||
MaxHealth int `json:"maxHealth"`
|
||||
Mana int `json:"mana"`
|
||||
MaxMana int `json:"maxMana"`
|
||||
|
||||
FireResistance int `json:"fireResistance"`
|
||||
ColdResistance int `json:"coldResistance"`
|
||||
LightningResistance int `json:"lightningResistance"`
|
||||
PoisonResistance int `json:"poisonResistance"`
|
||||
Health int `json:"health"`
|
||||
MaxHealth int `json:"maxHealth"`
|
||||
Mana int `json:"mana"`
|
||||
MaxMana int `json:"maxMana"`
|
||||
Stamina float64 `json:"-"` // only MaxStamina is saved, Stamina gets reset on entering world
|
||||
MaxStamina int `json:"maxStamina"`
|
||||
|
||||
// values which are not saved/loaded(computed)
|
||||
Stamina float64 `json:"-"` // only MaxStamina is saved, Stamina gets reset on entering world
|
||||
NextLevelExp int `json:"-"`
|
||||
NextLevelExp int `json:"-"`
|
||||
}
|
||||
|
||||
// CreateHeroStatsState generates a running state from a hero stats.
|
||||
@ -44,6 +39,8 @@ func (f *HeroStateFactory) CreateHeroStatsState(heroClass d2enum.Hero, classStat
|
||||
Dexterity: classStats.InitDex,
|
||||
Vitality: classStats.InitVit,
|
||||
Energy: classStats.InitEne,
|
||||
StatPoints: 0,
|
||||
SkillPoints: 0,
|
||||
|
||||
MaxHealth: classStats.InitVit * classStats.LifePerVit,
|
||||
MaxMana: classStats.InitEne * classStats.ManaPerEne,
|
||||
|
Loading…
Reference in New Issue
Block a user