#506 Pet's don't fight at level they are summoned at, but at level in database spawn record

已關閉
LordPazuzu1 年之前創建 · 2 條評論

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.
image 評論 1 年之前'
協同者

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)
image 評論 1 年之前'
協同者

fixed by 957fa27b5c

fixed by https://git.eq2emu.com/devn00b/EQ2EMu/commit/957fa27b5cf9a6b4fbbc5a5324794499a7d3d8f1
image1 年之前 關閉
登入 才能加入這對話。
正在加載...
取消
保存
尚未有任何內容