When a pet is summoned, regardless of the level it's summoned at, it fights at the level it's set at in the spawn record in the database.
For example, if the pet spell summons a pet based on Spawn ID 8350001 and that spawn is level 1 in the database, the pet hits as if it were level 1, even if it's summoned at level 15. Conversely, if the pet is level 85ish in the database, as many of the parsed pets are, when summoned at level 15 it's going to pummel everything as if it were 85.
When a pet is summoned, regardless of the level it's summoned at, it fights at the level it's set at in the spawn record in the database.
For example, if the pet spell summons a pet based on Spawn ID 8350001 and that spawn is level 1 in the database, the pet hits as if it were level 1, even if it's summoned at level 15. Conversely, if the pet is level 85ish in the database, as many of the parsed pets are, when summoned at level 15 it's going to pummel everything as if it were 85.
as long as an effective_level in the info structure is not set they should be using their actual level, which seems to be updated each time a player levels .. SummonPet has this logic:
SummonPet(Player, pet_id, max_level)
// Set the level of the pet to the owners level or max level(if set) if owners level is greater
if (max_level > 0)
pet->SetLevel(spawn->GetLevel() >= max_level ? max_level : spawn->GetLevel());
else
pet->SetLevel(spawn->GetLevel());
// Set the max level this pet can reach
((NPC*)pet)->SetMaxPetLevel(max_level);
SummonDeityPet just inherits the players level.
If the entity/spawn has a weapon it uses the weapons damage, not the level of the entity/spawn (maybe not ideal)
as long as an effective_level in the info structure is not set they should be using their actual level, which seems to be updated each time a player levels .. SummonPet has this logic:
SummonPet(Player, pet_id, max_level)
```
// Set the level of the pet to the owners level or max level(if set) if owners level is greater
if (max_level > 0)
pet->SetLevel(spawn->GetLevel() >= max_level ? max_level : spawn->GetLevel());
else
pet->SetLevel(spawn->GetLevel());
// Set the max level this pet can reach
((NPC*)pet)->SetMaxPetLevel(max_level);
```
SummonDeityPet just inherits the players level.
If the entity/spawn has a weapon it uses the weapons damage, not the level of the entity/spawn (maybe not ideal)
When a pet is summoned, regardless of the level it's summoned at, it fights at the level it's set at in the spawn record in the database.
For example, if the pet spell summons a pet based on Spawn ID 8350001 and that spawn is level 1 in the database, the pet hits as if it were level 1, even if it's summoned at level 15. Conversely, if the pet is level 85ish in the database, as many of the parsed pets are, when summoned at level 15 it's going to pummel everything as if it were 85.
as long as an effective_level in the info structure is not set they should be using their actual level, which seems to be updated each time a player levels .. SummonPet has this logic: SummonPet(Player, pet_id, max_level)
SummonDeityPet just inherits the players level.
If the entity/spawn has a weapon it uses the weapons damage, not the level of the entity/spawn (maybe not ideal)
fixed by
957fa27b5c