make raviente multiplier more accurate

This commit is contained in:
wish
2023-03-09 22:56:21 +11:00
parent ce30c1231d
commit 8df5697dd3
3 changed files with 9 additions and 8 deletions

View File

@@ -36,8 +36,9 @@ func handleMsgSysOperateRegister(s *Session, p mhfpacket.MHFPacket) {
resp.WriteUint32(*ref) resp.WriteUint32(*ref)
} }
} else { } else {
resp.WriteUint32(*ref + data*damageMultiplier) data = uint32(float64(data) * damageMultiplier)
*ref += data * damageMultiplier resp.WriteUint32(*ref + data)
*ref += data
} }
case 13: case 13:
fallthrough fallthrough

View File

@@ -125,19 +125,19 @@ func NewRaviente() *Raviente {
return raviente return raviente
} }
func (r *Raviente) GetRaviMultiplier(s *Server) uint32 { func (r *Raviente) GetRaviMultiplier(s *Server) float64 {
raviSema := getRaviSemaphore(s) raviSema := getRaviSemaphore(s)
if raviSema != nil { if raviSema != nil {
var minPlayers uint32 var minPlayers int
if r.register.maxPlayers > 8 { if r.register.maxPlayers > 8 {
minPlayers = 24 minPlayers = 24
} else { } else {
minPlayers = 4 minPlayers = 4
} }
if uint32(len(raviSema.clients)) > minPlayers { if len(raviSema.clients) > minPlayers {
return 1 return 1
} }
return minPlayers / uint32(len(raviSema.clients)) return float64(minPlayers / len(raviSema.clients))
} }
return 0 return 0
} }

View File

@@ -24,7 +24,7 @@ func getLangStrings(s *Server) map[string]string {
strings["commandRaviNoCommand"] = "ラヴィコマンドが指定されていません" strings["commandRaviNoCommand"] = "ラヴィコマンドが指定されていません"
strings["commandRaviStartSuccess"] = "大討伐を開始します" strings["commandRaviStartSuccess"] = "大討伐を開始します"
strings["commandRaviStartError"] = "大討伐は既に開催されています" strings["commandRaviStartError"] = "大討伐は既に開催されています"
strings["commandRaviMultiplier"] = "ラヴィダメージ倍率:x%d" strings["commandRaviMultiplier"] = "ラヴィダメージ倍率:x%.2f"
strings["commandRaviResSuccess"] = "復活支援を実行します" strings["commandRaviResSuccess"] = "復活支援を実行します"
strings["commandRaviResError"] = "復活支援は実行されませんでした" strings["commandRaviResError"] = "復活支援は実行されませんでした"
strings["commandRaviSedSuccess"] = "鎮静支援を実行します" strings["commandRaviSedSuccess"] = "鎮静支援を実行します"
@@ -72,7 +72,7 @@ func getLangStrings(s *Server) map[string]string {
strings["commandRaviNoCommand"] = "No Raviente command specified!" strings["commandRaviNoCommand"] = "No Raviente command specified!"
strings["commandRaviStartSuccess"] = "The Great Slaying will begin in a moment" strings["commandRaviStartSuccess"] = "The Great Slaying will begin in a moment"
strings["commandRaviStartError"] = "The Great Slaying has already begun!" strings["commandRaviStartError"] = "The Great Slaying has already begun!"
strings["commandRaviMultiplier"] = "Raviente multiplier is currently %dx" strings["commandRaviMultiplier"] = "Raviente multiplier is currently %.2fx"
strings["commandRaviResSuccess"] = "Sending resurrection support!" strings["commandRaviResSuccess"] = "Sending resurrection support!"
strings["commandRaviResError"] = "Resurrection support has not been requested!" strings["commandRaviResError"] = "Resurrection support has not been requested!"
strings["commandRaviSedSuccess"] = "Sending sedation support if requested!" strings["commandRaviSedSuccess"] = "Sending sedation support if requested!"