diff --git a/src/TibiaCharactersCharacter.go b/src/TibiaCharactersCharacter.go
index 984d19e..10aad5a 100644
--- a/src/TibiaCharactersCharacter.go
+++ b/src/TibiaCharactersCharacter.go
@@ -375,7 +375,7 @@ func TibiaCharactersCharacterImpl(BoxContentHTML string, url string) (CharacterR
return true
})
- case "Character Deaths":
+ case "Character Deaths", "Character Deaths (Last 30 Days)":
// Running query over each tr in list
CharacterDivQuery.Find(localDivQueryString).EachWithBreak(func(index int, s *goquery.Selection) bool {
// Storing HTML into CharacterListHTML
diff --git a/src/TibiaCharactersCharacter_test.go b/src/TibiaCharactersCharacter_test.go
index 7c8c004..67d5977 100644
--- a/src/TibiaCharactersCharacter_test.go
+++ b/src/TibiaCharactersCharacter_test.go
@@ -3997,6 +3997,84 @@ func TestNumber16(t *testing.T) {
}
}
+func TestNumber17(t *testing.T) {
+ file, err := static.TestFiles.Open("testdata/characters/Akayev.html")
+ if err != nil {
+ t.Fatalf("file opening error: %s", err)
+ }
+ defer file.Close()
+
+ data, err := io.ReadAll(file)
+ if err != nil {
+ t.Fatalf("File reading error: %s", err)
+ }
+
+ characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ assert := assert.New(t)
+ character := characterJson.Character.CharacterInfo
+
+ assert.Equal("Akayev", character.Name)
+ assert.False(characterJson.Character.DeathsTruncated)
+
+ // validate death data
+ assert.Equal(1, len(characterJson.Character.Deaths))
+ deaths := characterJson.Character.Deaths
+
+ for idx, tc := range []struct {
+ Assists []Killers
+ Killers []Killers
+ Level int
+ Reason string
+ Time string
+ }{
+ {
+ Assists: []Killers{},
+ Killers: []Killers{
+ {Name: "Shooter Scotty", Player: true, Traded: false, Summon: ""},
+ {Name: "Simpkan", Player: true, Traded: false, Summon: ""},
+ {Name: "Spektrozz", Player: true, Traded: false, Summon: ""},
+ {Name: "Toxic Raksoo", Player: true, Traded: false, Summon: ""},
+ {Name: "Delerioo", Player: true, Traded: false, Summon: ""},
+ {Name: "Gugu Lurifax", Player: true, Traded: false, Summon: ""},
+ {Name: "Viniciao Novamente", Player: true, Traded: false, Summon: ""},
+ },
+ Level: 645,
+ Reason: "Slain at Level 645 by Shooter Scotty, Simpkan, Spektrozz, Toxic Raksoo, Delerioo, Gugu Lurifax and Viniciao Novamente.",
+ Time: "2025-03-25T11:08:07Z",
+ },
+ } {
+ assert.True(
+ reflect.DeepEqual(deaths[idx].Assists, tc.Assists),
+ "Wrong assists\nidx: %d\nwant: %#v\n\ngot: %#v",
+ idx, tc.Assists, deaths[idx].Assists,
+ )
+ assert.True(
+ reflect.DeepEqual(deaths[idx].Killers, tc.Killers),
+ "Wrong killers\nidx: %d\nwant: %#v\n\ngot: %#v",
+ idx, tc.Killers, deaths[idx].Killers,
+ )
+ assert.Equal(
+ deaths[idx].Level, tc.Level,
+ "Wrong Level\nidx: %d\nwant: %d\n\ngot: %d",
+ idx, tc.Level, deaths[idx].Level,
+ )
+ assert.Equal(
+ deaths[idx].Reason, tc.Reason,
+ "Wrong Reason\nidx: %d\nwant: %s\n\ngot: %s",
+ idx, tc.Reason, deaths[idx].Reason,
+ )
+ assert.Equal(
+ tc.Time, deaths[idx].Time,
+ "Wrong Time\nidx: %d\nwant: %s\n\ngot: %s",
+ idx, tc.Time, deaths[idx].Time,
+ )
+ }
+}
+
func BenchmarkNumber1(b *testing.B) {
file, err := static.TestFiles.Open("testdata/characters/Darkside Rafa.html")
if err != nil {
diff --git a/src/static/testdata/characters/Akayev.html b/src/static/testdata/characters/Akayev.html
new file mode 100644
index 0000000..82d00ae
--- /dev/null
+++ b/src/static/testdata/characters/Akayev.html
@@ -0,0 +1,837 @@
+
+
+
+
+ Tibia - Free Multiplayer Online Role Playing Game - Community
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
NO - internet explorer
+
NEW - internet explorer
+
OLD - internet explorer
+
+
+
+
+
+
+
+
+

+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
+
+
+
| Name: | Akayev | | Former Names: | Akayev Askara | | Title: | None (31 titles unlocked) | | Sex: | male | | Vocation: | Royal Paladin | | Level: | 652 | | Achievement Points: | 695 | | World: | Antica | | Residence: | Venore | | Last Login: | Apr 01 2025, 08:23:10 CEST | | Account Status: | Premium Account | | |
| There are no achievements set to be displayed for this character. | | |
Character Deaths (Last 30 Days)
| |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+