From 0338338c146fa54531f2181a66d608b9ced21862 Mon Sep 17 00:00:00 2001 From: shoopea Date: Sun, 20 Oct 2019 20:28:16 +0800 Subject: [PATCH] update ambush --- def.go | 2 +- msg.go | 11 +++++++++-- workers.go | 20 ++++++++++++-------- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/def.go b/def.go index 395d395..2c1782b 100644 --- a/def.go +++ b/def.go @@ -208,7 +208,7 @@ type ChatWarsMessageQuestResult struct { type ChatWarsMessageQuestResultAmbush struct { Msg *ChatWarsMessage `json:"msg"` Loot []ChatWarsItems `json:"loot"` - Level int `json:"level"` + Level int64 `json:"level"` Armored bool `json:"armored"` Enraged bool `json:"enraged"` SpearResists bool `json:"spear resists"` diff --git a/msg.go b/msg.go index c52be72..0640e32 100644 --- a/msg.go +++ b/msg.go @@ -428,7 +428,7 @@ func parseSubTypeMessageDuelFight(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWa } func parseSubTypeMessageQuestResultAmbush(m *ChatWarsMessage, r *regexp.Regexp) (*ChatWarsMessageQuestResultAmbush, error) { - var level float64 + var lvlSum, qtySum int64 cwm := ChatWarsMessageQuestResultAmbush{} @@ -446,9 +446,16 @@ func parseSubTypeMessageQuestResultAmbush(m *ChatWarsMessage, r *regexp.Regexp) } lvl, _ := strconv.ParseInt(l[4], 10, 64) log.Printf("parseSubTypeMessageQuestResultAmbush : lvl : %d\n", lvl) - level = level + float64(lvl*qty) + + lvlSum = lvlSum + lvl + qtySum = qtySum + qty + } + cwm.Level = lvlSum / qtySum cwm.Msg = m + + log.Printf("parseSubTypeMessageQuestResultAmbush : Level : %d\n", cwm.Level) + return &cwm, nil } diff --git a/workers.go b/workers.go index 5420fe8..0da6757 100644 --- a/workers.go +++ b/workers.go @@ -386,15 +386,19 @@ func SQLIdentifyMsgWorker(id int, objIds <-chan int64) { case objSubTypeMessageQuestResultAmbush: _, err := parseSubTypeMessageQuestResultAmbush(m, rule.re) logOnError(err, "SQLIdentifyMsgWorker["+strconv.Itoa(id)+"] : Parsing objSubTypeMessageQuestResultAmbush.") - if m.Date.Add(3*time.Minute).After(time.Now()) && m.ChatID64 == chtwrsbotID64 { - s := TGCommand{ - Type: commandForwardMsg, - FromUserID64: m.TGUserID64, - FromMsgID64: m.ID64, - FromChatID64: m.ChatID64, - ToChatID64: cfg.Bot.Mainchat, + if m.Date.Add(3 * time.Minute).After(time.Now().UTC()) { + if m.ChatID64 == chtwrsbotID64 { + s := TGCommand{ + Type: commandForwardMsg, + FromUserID64: m.TGUserID64, + FromMsgID64: m.ID64, + FromChatID64: m.ChatID64, + ToChatID64: cfg.Bot.Mainchat, + } + MQTGCmdQueue <- s + } else if m.ChatID64 == cfg.Bot.Mainchat { + } - MQTGCmdQueue <- s } case objSubTypeMessagePillageInc: cwm, err := parseSubTypeMessagePillageInc(m, rule.re)