mirror of
https://github.com/Mezeporta/Erupe.git
synced 2025-12-14 07:55:33 +01:00
fix: Fixed issue with seasons not properly displaying on client
This commit is contained in:
10
config.json
10
config.json
@@ -17,8 +17,8 @@
|
|||||||
"AutoCreateAccount": true,
|
"AutoCreateAccount": true,
|
||||||
"CleanDB": false,
|
"CleanDB": false,
|
||||||
"MaxLauncherHR": false,
|
"MaxLauncherHR": false,
|
||||||
"LogInboundMessages": true,
|
"LogInboundMessages": false,
|
||||||
"LogOutboundMessages": true,
|
"LogOutboundMessages": false,
|
||||||
"MaxHexdumpLength": 256,
|
"MaxHexdumpLength": 256,
|
||||||
"DivaEvent": 0,
|
"DivaEvent": 0,
|
||||||
"FestaEvent": -1,
|
"FestaEvent": -1,
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
"EnableHiganjimaEvent": false,
|
"EnableHiganjimaEvent": false,
|
||||||
"EnableNierEvent": false,
|
"EnableNierEvent": false,
|
||||||
"DisableRoad": false,
|
"DisableRoad": false,
|
||||||
"SeasonOverride": false
|
"SeasonOverride": true
|
||||||
},
|
},
|
||||||
"Discord": {
|
"Discord": {
|
||||||
"Enabled": false,
|
"Enabled": false,
|
||||||
@@ -120,9 +120,9 @@
|
|||||||
],
|
],
|
||||||
"Database": {
|
"Database": {
|
||||||
"Host": "localhost",
|
"Host": "localhost",
|
||||||
"Port": 5432,
|
"Port": 5433,
|
||||||
"User": "postgres",
|
"User": "postgres",
|
||||||
"Password": "",
|
"Password": "admin",
|
||||||
"Database": "erupe"
|
"Database": "erupe"
|
||||||
},
|
},
|
||||||
"Sign": {
|
"Sign": {
|
||||||
|
|||||||
@@ -51,8 +51,16 @@ func handleMsgSysGetFile(s *Session, p mhfpacket.MHFPacket) {
|
|||||||
pkt.Filename = seasonConversion(s, pkt.Filename)
|
pkt.Filename = seasonConversion(s, pkt.Filename)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// custom quests expect there to be only a d0 for quests, rewrite quests to try for d0 if the quest file doesn't exist
|
||||||
|
if _, err := os.Stat(filepath.Join(s.server.erupeConfig.BinPath, fmt.Sprintf("quests/%s.bin", pkt.Filename))); err != nil {
|
||||||
|
pkt.Filename = fmt.Sprintf("%s%s", pkt.Filename[:5], "d0")
|
||||||
|
}
|
||||||
|
|
||||||
|
s.logger.Info("Sent " + pkt.Filename)
|
||||||
|
|
||||||
data, err := os.ReadFile(filepath.Join(s.server.erupeConfig.BinPath, fmt.Sprintf("quests/%s.bin", pkt.Filename)))
|
data, err := os.ReadFile(filepath.Join(s.server.erupeConfig.BinPath, fmt.Sprintf("quests/%s.bin", pkt.Filename)))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
||||||
s.logger.Error(fmt.Sprintf("Failed to open file: %s/quests/%s.bin", s.server.erupeConfig.BinPath, pkt.Filename))
|
s.logger.Error(fmt.Sprintf("Failed to open file: %s/quests/%s.bin", s.server.erupeConfig.BinPath, pkt.Filename))
|
||||||
// This will crash the game.
|
// This will crash the game.
|
||||||
doAckBufSucceed(s, pkt.AckHandle, data)
|
doAckBufSucceed(s, pkt.AckHandle, data)
|
||||||
@@ -77,10 +85,15 @@ func seasonConversion(s *Session, questFile string) string {
|
|||||||
filename := fmt.Sprintf("%s%s", questFile[:5], questSuffix(s))
|
filename := fmt.Sprintf("%s%s", questFile[:5], questSuffix(s))
|
||||||
|
|
||||||
// Return original file if file doesn't exist
|
// Return original file if file doesn't exist
|
||||||
if _, err := os.Stat(filename); err == nil {
|
if _, err := os.Stat(filepath.Join(s.server.erupeConfig.BinPath, fmt.Sprintf("quests/%s.bin", filename))); err == nil {
|
||||||
return filename
|
return filename
|
||||||
} else {
|
} else {
|
||||||
return questFile
|
// Load d0 if the regular quest file doesn't exist (Fixes custom quests)
|
||||||
|
if _, err := os.Stat(filepath.Join(s.server.erupeConfig.BinPath, fmt.Sprintf("quests/%s.bin", questFile))); err == nil {
|
||||||
|
return questFile
|
||||||
|
}
|
||||||
|
|
||||||
|
return fmt.Sprintf("%s%s", questFile[:5], "d0")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user