fixed responses
This commit is contained in:
@@ -159,6 +159,13 @@ func (p *DemoParser) parseWorker() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tAttacker := p.getMatchPlayerBySteamID(tStats, e.Attacker.SteamID64)
|
||||||
|
if e.Attacker.Team == e.Player.Team {
|
||||||
|
tAttacker.DmgTeam += uint(e.HealthDamageTaken)
|
||||||
|
} else {
|
||||||
|
tAttacker.DmgEnemy += uint(e.HealthDamageTaken)
|
||||||
|
}
|
||||||
|
|
||||||
if _, ok := eqMap[e.Attacker.SteamID64]; !ok {
|
if _, ok := eqMap[e.Attacker.SteamID64]; !ok {
|
||||||
eqMap[e.Attacker.SteamID64] = make([]*struct {
|
eqMap[e.Attacker.SteamID64] = make([]*struct {
|
||||||
Eq int
|
Eq int
|
||||||
@@ -311,6 +318,22 @@ func (p *DemoParser) parseWorker() {
|
|||||||
SetUdFlash(tMatchPlayer.UdFlash).
|
SetUdFlash(tMatchPlayer.UdFlash).
|
||||||
SetUdSmoke(tMatchPlayer.UdSmoke).
|
SetUdSmoke(tMatchPlayer.UdSmoke).
|
||||||
SetUdFlames(tMatchPlayer.UdFlames).
|
SetUdFlames(tMatchPlayer.UdFlames).
|
||||||
|
SetMk2(tMatchPlayer.Mk2).
|
||||||
|
SetMk3(tMatchPlayer.Mk3).
|
||||||
|
SetMk4(tMatchPlayer.Mk4).
|
||||||
|
SetMk5(tMatchPlayer.Mk5).
|
||||||
|
SetRankOld(tMatchPlayer.RankOld).
|
||||||
|
SetRankNew(tMatchPlayer.RankNew).
|
||||||
|
SetColor(tMatchPlayer.Color).
|
||||||
|
SetCrosshair(tMatchPlayer.Crosshair).
|
||||||
|
SetFlashDurationTeam(tMatchPlayer.FlashDurationTeam).
|
||||||
|
SetFlashDurationSelf(tMatchPlayer.FlashDurationSelf).
|
||||||
|
SetFlashDurationEnemy(tMatchPlayer.FlashDurationEnemy).
|
||||||
|
SetFlashTotalEnemy(tMatchPlayer.FlashTotalEnemy).
|
||||||
|
SetFlashTotalSelf(tMatchPlayer.FlashTotalSelf).
|
||||||
|
SetFlashTotalTeam(tMatchPlayer.FlashTotalTeam).
|
||||||
|
SetDmgTeam(tMatchPlayer.DmgTeam).
|
||||||
|
SetDmgEnemy(tMatchPlayer.DmgEnemy).
|
||||||
Save(context.Background())
|
Save(context.Background())
|
||||||
p.lock.Unlock()
|
p.lock.Unlock()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
16
main.go
16
main.go
@@ -121,7 +121,7 @@ type StatsResponse struct {
|
|||||||
Enemy uint `json:"enemy,omitempty"`
|
Enemy uint `json:"enemy,omitempty"`
|
||||||
Self uint `json:"self,omitempty"`
|
Self uint `json:"self,omitempty"`
|
||||||
} `json:"total,omitempty"`
|
} `json:"total,omitempty"`
|
||||||
} `json:"extended,omitempty"`
|
} `json:"flash,omitempty"`
|
||||||
Crosshair string `json:"crosshair,omitempty"`
|
Crosshair string `json:"crosshair,omitempty"`
|
||||||
Color string `json:"color,omitempty"`
|
Color string `json:"color,omitempty"`
|
||||||
KAST int `json:"kast,omitempty"`
|
KAST int `json:"kast,omitempty"`
|
||||||
@@ -221,12 +221,15 @@ func getPlayer(w http.ResponseWriter, r *http.Request) {
|
|||||||
Name: tPlayer.Name,
|
Name: tPlayer.Name,
|
||||||
Avatar: tPlayer.AvatarURL,
|
Avatar: tPlayer.AvatarURL,
|
||||||
VAC: tPlayer.Vac,
|
VAC: tPlayer.Vac,
|
||||||
VACDate: tPlayer.VacDate,
|
|
||||||
VanityURL: tPlayer.VanityURLReal,
|
VanityURL: tPlayer.VanityURLReal,
|
||||||
Tracked: tPlayer.AuthCode != "",
|
Tracked: tPlayer.AuthCode != "",
|
||||||
Matches: []*MatchResponse{},
|
Matches: []*MatchResponse{},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !tPlayer.VacDate.IsZero() {
|
||||||
|
response.VACDate = tPlayer.VacDate
|
||||||
|
}
|
||||||
|
|
||||||
db.Lock.RLock()
|
db.Lock.RLock()
|
||||||
tMatches, err := tPlayer.QueryMatches().Order(ent.Desc(match.FieldDate)).Limit(10).All(context.Background())
|
tMatches, err := tPlayer.QueryMatches().Order(ent.Desc(match.FieldDate)).Limit(10).All(context.Background())
|
||||||
db.Lock.RUnlock()
|
db.Lock.RUnlock()
|
||||||
@@ -289,7 +292,7 @@ func getPlayer(w http.ResponseWriter, r *http.Request) {
|
|||||||
tStats, err := iMatch.QueryStats().Modify(func(s *sql.Selector) {
|
tStats, err := iMatch.QueryStats().Modify(func(s *sql.Selector) {
|
||||||
s.Select(stats.FieldTeamID, stats.FieldKills, stats.FieldDeaths, stats.FieldAssists, stats.FieldHeadshot,
|
s.Select(stats.FieldTeamID, stats.FieldKills, stats.FieldDeaths, stats.FieldAssists, stats.FieldHeadshot,
|
||||||
stats.FieldMvp, stats.FieldScore, stats.FieldMk2, stats.FieldMk3, stats.FieldMk4, stats.FieldMk5,
|
stats.FieldMvp, stats.FieldScore, stats.FieldMk2, stats.FieldMk3, stats.FieldMk4, stats.FieldMk5,
|
||||||
stats.FieldRankOld, stats.FieldRankNew)
|
stats.FieldRankOld, stats.FieldRankNew, stats.FieldDmgTeam, stats.FieldDmgEnemy)
|
||||||
s.Where(sql.EQ(s.C(stats.PlayersColumn), tPlayer.ID))
|
s.Where(sql.EQ(s.C(stats.PlayersColumn), tPlayer.ID))
|
||||||
}).Only(context.Background())
|
}).Only(context.Background())
|
||||||
db.Lock.RUnlock()
|
db.Lock.RUnlock()
|
||||||
@@ -316,6 +319,9 @@ func getPlayer(w http.ResponseWriter, r *http.Request) {
|
|||||||
sResponse.Rank.Old = tStats.RankOld
|
sResponse.Rank.Old = tStats.RankOld
|
||||||
sResponse.Rank.New = tStats.RankNew
|
sResponse.Rank.New = tStats.RankNew
|
||||||
|
|
||||||
|
sResponse.Dmg.Enemy = tStats.DmgEnemy
|
||||||
|
sResponse.Dmg.Team = tStats.DmgTeam
|
||||||
|
|
||||||
mResponse.Stats = sResponse
|
mResponse.Stats = sResponse
|
||||||
response.Matches = append(response.Matches, mResponse)
|
response.Matches = append(response.Matches, mResponse)
|
||||||
}
|
}
|
||||||
@@ -497,6 +503,10 @@ func getMatch(w http.ResponseWriter, r *http.Request) {
|
|||||||
sResponse.Flash.Duration.Enemy = iStats.FlashDurationEnemy
|
sResponse.Flash.Duration.Enemy = iStats.FlashDurationEnemy
|
||||||
sResponse.Flash.Duration.Team = iStats.FlashDurationTeam
|
sResponse.Flash.Duration.Team = iStats.FlashDurationTeam
|
||||||
sResponse.Flash.Duration.Self = iStats.FlashDurationSelf
|
sResponse.Flash.Duration.Self = iStats.FlashDurationSelf
|
||||||
|
sResponse.MultiKills.Duo = iStats.Mk2
|
||||||
|
sResponse.MultiKills.Triple = iStats.Mk3
|
||||||
|
sResponse.MultiKills.Quad = iStats.Mk4
|
||||||
|
sResponse.MultiKills.Pent = iStats.Mk5
|
||||||
|
|
||||||
if !iStats.Edges.Players.VacDate.IsZero() {
|
if !iStats.Edges.Players.VacDate.IsZero() {
|
||||||
switch s := sResponse.Player.(type) {
|
switch s := sResponse.Player.(type) {
|
||||||
|
Reference in New Issue
Block a user