add customisable tune values

This commit is contained in:
wish
2023-05-17 22:18:18 +10:00
parent 2a7454d0ad
commit d243a8c598
3 changed files with 36 additions and 67 deletions

View File

@@ -44,6 +44,9 @@
"MezfesSoloTickets": 10,
"MezfesGroupTickets": 4,
"GUrgentRate": 10,
"GRPMultiplier": 1.00,
"GSRPMultiplier": 1.00,
"GZennyMultiplier": 1.00,
"EnableHiganjimaEvent": false,
"EnableNierEvent": false
},

View File

@@ -61,20 +61,23 @@ type SaveDumpOptions struct {
// GameplayOptions has various gameplay modifiers
type GameplayOptions struct {
FeaturedWeapons int // Number of Active Feature weapons to generate daily
MaximumNP int // Maximum number of NP held by a player
MaximumRP uint16 // Maximum number of RP held by a player
DisableLoginBoost bool // Disables the Login Boost system
DisableBoostTime bool // Disables the daily NetCafe Boost Time
BoostTimeDuration int // The number of minutes NetCafe Boost Time lasts for
GuildMealDuration int // The number of minutes a Guild Meal can be activated for after cooking
BonusQuestAllowance uint32 // Number of Bonus Point Quests to allow daily
DailyQuestAllowance uint32 // Number of Daily Quests to allow daily
MezfesSoloTickets uint32 // Number of solo tickets given weekly
MezfesGroupTickets uint32 // Number of group tickets given weekly
GUrgentRate uint16 // Adjusts the rate of G Urgent quests spawning
EnableHiganjimaEvent bool // Enables the Higanjima event in the Rasta Bar
EnableNierEvent bool // Enables the Nier event in the Rasta Bar
FeaturedWeapons int // Number of Active Feature weapons to generate daily
MaximumNP int // Maximum number of NP held by a player
MaximumRP uint16 // Maximum number of RP held by a player
DisableLoginBoost bool // Disables the Login Boost system
DisableBoostTime bool // Disables the daily NetCafe Boost Time
BoostTimeDuration int // The number of minutes NetCafe Boost Time lasts for
GuildMealDuration int // The number of minutes a Guild Meal can be activated for after cooking
BonusQuestAllowance uint32 // Number of Bonus Point Quests to allow daily
DailyQuestAllowance uint32 // Number of Daily Quests to allow daily
MezfesSoloTickets uint32 // Number of solo tickets given weekly
MezfesGroupTickets uint32 // Number of group tickets given weekly
GUrgentRate uint16 // Adjusts the rate of G Urgent quests spawning
GRPMultiplier float32 // Adjusts the multiplier of G Rank Points rewarded for quest completion
GSRPMultiplier float32 // Adjusts the multiplier of G Skill Rank Points rewarded for quest completion
GZennyMultiplier float32 // Adjusts the multiplier of G Zenny rewarded for quest completion
EnableHiganjimaEvent bool // Enables the Higanjima event in the Rasta Bar
EnableNierEvent bool // Enables the Nier event in the Rasta Bar
}
// Discord holds the discord integration config.

View File

@@ -240,58 +240,6 @@ func handleMsgMhfEnumerateQuest(s *Session, p mhfpacket.MHFPacket) {
{ID: 3023, Value: 100},
{ID: 3024, Value: 100},
{ID: 3025, Value: 100},
{ID: 3026, Value: 100},
{ID: 3027, Value: 100},
{ID: 3028, Value: 100},
{ID: 3029, Value: 100},
{ID: 3030, Value: 100},
{ID: 3031, Value: 100},
{ID: 3032, Value: 100},
{ID: 3033, Value: 100},
{ID: 3034, Value: 100},
{ID: 3035, Value: 100},
{ID: 3036, Value: 100},
{ID: 3037, Value: 100},
{ID: 3038, Value: 100},
{ID: 3039, Value: 100},
{ID: 3040, Value: 100},
{ID: 3041, Value: 100},
{ID: 3042, Value: 100},
{ID: 3043, Value: 100},
{ID: 3044, Value: 100},
{ID: 3045, Value: 100},
{ID: 3046, Value: 100},
{ID: 3047, Value: 100},
{ID: 3048, Value: 100},
{ID: 3049, Value: 100},
{ID: 3050, Value: 100},
{ID: 3051, Value: 100},
{ID: 3052, Value: 100},
{ID: 3053, Value: 100},
{ID: 3054, Value: 100},
{ID: 3055, Value: 100},
{ID: 3056, Value: 100},
{ID: 3057, Value: 100},
{ID: 3058, Value: 100},
{ID: 3059, Value: 100},
{ID: 3060, Value: 100},
{ID: 3061, Value: 100},
{ID: 3062, Value: 100},
{ID: 3063, Value: 100},
{ID: 3064, Value: 100},
{ID: 3078, Value: 100},
{ID: 3079, Value: 100},
{ID: 3080, Value: 100},
{ID: 3081, Value: 100},
{ID: 3082, Value: 100},
{ID: 3083, Value: 100},
{ID: 3084, Value: 100},
{ID: 3085, Value: 100},
{ID: 3086, Value: 100},
{ID: 3087, Value: 100},
{ID: 3088, Value: 100},
{ID: 3089, Value: 100},
{ID: 3090, Value: 100},
{ID: 3104, Value: 100},
{ID: 3105, Value: 100},
{ID: 3106, Value: 100},
@@ -594,13 +542,28 @@ func handleMsgMhfEnumerateQuest(s *Session, p mhfpacket.MHFPacket) {
tuneValues = append(tuneValues, tuneValue{1153, 0})
}
for i := uint16(0); i < 13; i++ {
tuneValues = append(tuneValues, tuneValue{i + 3026, uint16(s.server.erupeConfig.GameplayOptions.GRPMultiplier * 100)})
}
for i := uint16(0); i < 13; i++ {
tuneValues = append(tuneValues, tuneValue{i + 3039, uint16(s.server.erupeConfig.GameplayOptions.GSRPMultiplier * 100)})
}
for i := uint16(0); i < 13; i++ {
tuneValues = append(tuneValues, tuneValue{i + 3052, uint16(s.server.erupeConfig.GameplayOptions.GZennyMultiplier * 100)})
}
for i := uint16(0); i < 13; i++ {
tuneValues = append(tuneValues, tuneValue{i + 3078, uint16(s.server.erupeConfig.GameplayOptions.GZennyMultiplier * 100)})
}
offset := uint16(time.Now().Unix())
bf.WriteUint16(offset)
bf.WriteUint16(uint16(len(tuneValues)))
for i := range tuneValues {
bf.WriteUint16(tuneValues[i].ID ^ offset)
bf.WriteUint16(offset)
bf.WriteUint32(0xD4D4D400)
bf.WriteBytes(make([]byte, 4))
bf.WriteUint16(tuneValues[i].Value ^ offset)
}