Skip to content

Commit b821f5f

Browse files
Fix issue parsing summon mana cost (#175)
* Fix issue parsing summon mana cost * adding testdata for creatures Co-authored-by: Tobias Lindberg <tobias.ehlert@gmail.com>
1 parent dabb95b commit b821f5f

File tree

5 files changed

+2535
-0
lines changed

5 files changed

+2535
-0
lines changed

src/TibiaCreaturesCreatureV3.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@ func TibiaCreaturesCreatureV3Impl(race string, BoxContentHTML string) CreatureRe
130130
CreatureSummonedMana = TibiaDataStringToIntegerV3(subma24[0][1])
131131
CreatureBeConvinced = true
132132
CreatureConvincedMana = TibiaDataStringToIntegerV3(subma24[0][1])
133+
} else if strings.Contains(subma2402, "summon these creatures but they cannot be") {
134+
CreatureBeSummoned = true
135+
CreatureSummonedMana = TibiaDataStringToIntegerV3(subma24[0][1])
133136
}
134137
}
135138

src/TibiaCreaturesCreatureV3_test.go

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,3 +95,60 @@ func TestQuaraPredatorFeatured(t *testing.T) {
9595

9696
assert.True(quaraPredatorJson.Creature.Featured)
9797
}
98+
99+
func TestCentipede(t *testing.T) {
100+
data, err := os.ReadFile("../testdata/creatures/creature/centipede.html")
101+
if err != nil {
102+
t.Errorf("File reading error: %s", err)
103+
return
104+
}
105+
106+
centipedeJson := TibiaCreaturesCreatureV3Impl("Centipede", string(data))
107+
assert := assert.New(t)
108+
109+
assert.Equal("Centipedes", centipedeJson.Creature.Name)
110+
assert.Equal("Centipede", centipedeJson.Creature.Race)
111+
112+
assert.True(centipedeJson.Creature.BeSummoned)
113+
assert.Equal(335, centipedeJson.Creature.SummonMana)
114+
assert.False(centipedeJson.Creature.BeConvinced)
115+
assert.Equal(0, centipedeJson.Creature.ConvincedMana)
116+
}
117+
118+
func TestHunter(t *testing.T) {
119+
data, err := os.ReadFile("../testdata/creatures/creature/hunter.html")
120+
if err != nil {
121+
t.Errorf("File reading error: %s", err)
122+
return
123+
}
124+
125+
hunterJson := TibiaCreaturesCreatureV3Impl("Hunter", string(data))
126+
assert := assert.New(t)
127+
128+
assert.Equal("Hunters", hunterJson.Creature.Name)
129+
assert.Equal("Hunter", hunterJson.Creature.Race)
130+
131+
assert.False(hunterJson.Creature.BeSummoned)
132+
assert.Equal(0, hunterJson.Creature.SummonMana)
133+
assert.True(hunterJson.Creature.BeConvinced)
134+
assert.Equal(530, hunterJson.Creature.ConvincedMana)
135+
}
136+
137+
func TestSkunk(t *testing.T) {
138+
data, err := os.ReadFile("../testdata/creatures/creature/skunk.html")
139+
if err != nil {
140+
t.Errorf("File reading error: %s", err)
141+
return
142+
}
143+
144+
skunkJson := TibiaCreaturesCreatureV3Impl("Skunk", string(data))
145+
assert := assert.New(t)
146+
147+
assert.Equal("Skunks", skunkJson.Creature.Name)
148+
assert.Equal("Skunk", skunkJson.Creature.Race)
149+
150+
assert.True(skunkJson.Creature.BeSummoned)
151+
assert.Equal(200, skunkJson.Creature.SummonMana)
152+
assert.True(skunkJson.Creature.BeConvinced)
153+
assert.Equal(200, skunkJson.Creature.ConvincedMana)
154+
}

0 commit comments

Comments
 (0)