fix request time tracking, exp calc

This commit is contained in:
Sky Johnson 2025-08-21 12:04:17 -05:00
parent e5e9167854
commit c362475bae
5 changed files with 205 additions and 81 deletions

View File

@ -252,77 +252,23 @@
{
"id": 5,
"user_id": 1,
"monster_id": 2,
"monster_hp": 0,
"monster_max_hp": 6,
"monster_id": 5,
"monster_hp": 10,
"monster_max_hp": 10,
"monster_sleep": 0,
"monster_immune": 0,
"monster_immune": 1,
"uber_damage": 0,
"uber_defense": 0,
"first_strike": true,
"turn": 6,
"turn": 1,
"ran_away": false,
"victory": true,
"won": true,
"reward_gold": 1,
"reward_exp": 2,
"actions": [
{
"t": 1,
"d": 1
},
{
"t": 8,
"d": 1,
"n": "Red Slime"
},
{
"t": 1,
"d": 1
},
{
"t": 8,
"d": 1,
"n": "Red Slime"
},
{
"t": 1,
"d": 1
},
{
"t": 8,
"d": 1,
"n": "Red Slime"
},
{
"t": 1,
"d": 1
},
{
"t": 8,
"d": 1,
"n": "Red Slime"
},
{
"t": 1,
"d": 1
},
{
"t": 8,
"d": 1,
"n": "Red Slime"
},
{
"t": 1,
"d": 1
},
{
"t": 11,
"n": "Red Slime"
}
],
"created": 1755270995,
"updated": 1755271001
"victory": false,
"won": false,
"reward_gold": 0,
"reward_exp": 0,
"actions": [],
"created": 1755608716,
"updated": 1755608716
},
{
"id": 6,
@ -829,24 +775,192 @@
"updated": 1755222893
},
{
"id": 5,
"id": 14,
"user_id": 1,
"monster_id": 6,
"monster_hp": 0,
"monster_max_hp": 11,
"monster_sleep": 0,
"monster_immune": 0,
"uber_damage": 0,
"uber_defense": 0,
"first_strike": false,
"turn": 6,
"ran_away": false,
"victory": true,
"won": true,
"reward_gold": 2,
"reward_exp": 6,
"actions": [
{
"t": 1,
"d": 2
},
{
"t": 8,
"d": 1,
"n": "Drake"
},
{
"t": 1,
"d": 2
},
{
"t": 8,
"d": 1,
"n": "Drake"
},
{
"t": 1,
"d": 2
},
{
"t": 8,
"d": 2,
"n": "Drake"
},
{
"t": 1,
"d": 1
},
{
"t": 8,
"d": 2,
"n": "Drake"
},
{
"t": 1,
"d": 2
},
{
"t": 8,
"d": 1,
"n": "Drake"
},
{
"t": 1,
"d": 2
},
{
"t": 11,
"n": "Drake"
}
],
"created": 1755788992,
"updated": 1755788999
},
{
"id": 15,
"user_id": 1,
"monster_id": 5,
"monster_hp": 10,
"monster_hp": 0,
"monster_max_hp": 10,
"monster_sleep": 0,
"monster_immune": 1,
"uber_damage": 0,
"uber_defense": 0,
"first_strike": true,
"turn": 1,
"first_strike": false,
"turn": 6,
"ran_away": false,
"victory": false,
"won": false,
"victory": true,
"won": true,
"reward_gold": 1,
"reward_exp": 5,
"actions": [
{
"t": 1,
"d": 2
},
{
"t": 8,
"d": 1,
"n": "Shadow"
},
{
"t": 1,
"d": 1
},
{
"t": 8,
"d": 1,
"n": "Shadow"
},
{
"t": 1,
"d": 2
},
{
"t": 8,
"d": 1,
"n": "Shadow"
},
{
"t": 1,
"d": 2
},
{
"t": 8,
"d": 1,
"n": "Shadow"
},
{
"t": 1,
"d": 2
},
{
"t": 8,
"d": 1,
"n": "Shadow"
},
{
"t": 1,
"d": 2
},
{
"t": 11,
"n": "Shadow"
}
],
"created": 1755789058,
"updated": 1755789064
},
{
"id": 16,
"user_id": 1,
"monster_id": 1,
"monster_hp": 0,
"monster_max_hp": 4,
"monster_sleep": 0,
"monster_immune": 0,
"uber_damage": 0,
"uber_defense": 0,
"first_strike": true,
"turn": 2,
"ran_away": false,
"victory": true,
"won": true,
"reward_gold": 0,
"reward_exp": 0,
"actions": [],
"created": 1755608716,
"updated": 1755608716
"reward_exp": 1,
"actions": [
{
"t": 1,
"d": 3
},
{
"t": 8,
"d": 1,
"n": "Blue Slime"
},
{
"t": 1,
"d": 3
},
{
"t": 11,
"n": "Blue Slime"
}
],
"created": 1755789095,
"updated": 1755789098
}
]

2
go.mod
View File

@ -4,7 +4,7 @@ go 1.25.0
require (
git.sharkk.net/Sharkk/Nigiri v1.0.0
git.sharkk.net/Sharkk/Sushi v1.1.0
git.sharkk.net/Sharkk/Sushi v1.1.1
github.com/valyala/fasthttp v1.65.0
)

4
go.sum
View File

@ -1,7 +1,7 @@
git.sharkk.net/Sharkk/Nigiri v1.0.0 h1:N0MvWOoX54iXjR8D1LqGIFrtMAPdaoj/32n13Ou/p90=
git.sharkk.net/Sharkk/Nigiri v1.0.0/go.mod h1:HWpMtXaodPXE7dZXQ6tbZNL0DRV9PT65D0DOV0NAwsM=
git.sharkk.net/Sharkk/Sushi v1.1.0 h1:mOcQlcLEl941ozjbOzHOnBAmsOcZ7Q5BkFowILwxNow=
git.sharkk.net/Sharkk/Sushi v1.1.0/go.mod h1:S84ACGkuZ+BKzBO4lb5WQnm5aw9+l7VSO2T1bjzxL3o=
git.sharkk.net/Sharkk/Sushi v1.1.1 h1:ynU16l6vAhY/JUwHlI4zMQiPuL9lcs88W/mAGZsL4Rw=
git.sharkk.net/Sharkk/Sushi v1.1.1/go.mod h1:S84ACGkuZ+BKzBO4lb5WQnm5aw9+l7VSO2T1bjzxL3o=
github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwToPjQ=
github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY=
github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=

View File

@ -10,6 +10,7 @@ import (
sushi "git.sharkk.net/Sharkk/Sushi"
"git.sharkk.net/Sharkk/Sushi/csrf"
"git.sharkk.net/Sharkk/Sushi/timing"
)
// RenderPage renders a page using the layout template with common data and additional custom data
@ -28,11 +29,19 @@ func RenderPage(ctx sushi.Ctx, title, tmplPath string, additionalData map[string
sess := ctx.GetCurrentSession()
seconds := timing.GetRequestDuration(ctx).Seconds()
var totalTime string
if seconds < 0.001 {
totalTime = fmt.Sprintf("%.0f", seconds)
} else {
totalTime = fmt.Sprintf("%.3f", seconds)
}
data := map[string]any{
"_title": PageTitle(title),
"authenticated": ctx.IsAuthenticated(),
"csrf": csrf.HiddenField(ctx),
"_totaltime": ctx.UserValue("request_time"),
"_totaltime": totalTime,
"_version": "1.0.0",
"_build": "dev",
"user": ctx.GetCurrentUser(),

View File

@ -348,7 +348,8 @@ func (u *User) SetPosition(x, y int) {
}
func (u *User) ExpNeededForNextLevel() int {
return u.Level * u.Level * u.Level
level := u.Level + 1
return level * level * level
}
func (u *User) GrantExp(expAmount int) {