mirror of
https://github.com/mangosfour/server.git
synced 2025-12-18 01:37:01 +00:00
[10289] Adjust creature models system
This change will: * make it easier to use cached data directly without any modifications * correct issues regarding invisible models * simplify certain aspects of model selection itself and make it somehow easier to control and maintain special cases. Two new fields added to creature_model_info, to store modelid_alternative and modelid_other_team * _alternative holds an alt. model, for cases where gender are the same, or is not male/female. * _other_team is generally used for totem models, but may have future use. This commit will possibly break a few things (visually) and will require DB projects to update their creature_template models data. It is advised to use cache data as-is, and in addition fill creature_model_info for certain models, totems in particular, for expected appearance. Signed-off-by: NoFantasy <nofantasy@nf.no>
This commit is contained in:
parent
3099a99f9a
commit
2ae0badf48
15 changed files with 207 additions and 135 deletions
|
|
@ -55,17 +55,6 @@ void Totem::Summon(Unit* owner)
|
|||
{
|
||||
owner->GetMap()->Add((Creature*)this);
|
||||
|
||||
// select totem model in dependent from owner team
|
||||
CreatureInfo const *cinfo = GetCreatureInfo();
|
||||
if(owner->GetTypeId() == TYPEID_PLAYER && cinfo)
|
||||
{
|
||||
uint32 display_id = sObjectMgr.ChooseDisplayId(((Player*)owner)->GetTeam(), cinfo);
|
||||
CreatureModelInfo const *minfo = sObjectMgr.GetCreatureModelRandomGender(display_id);
|
||||
if (minfo)
|
||||
display_id = minfo->modelid;
|
||||
SetDisplayId(display_id);
|
||||
}
|
||||
|
||||
AIM_Initialize();
|
||||
|
||||
if (owner->GetTypeId() == TYPEID_UNIT && ((Creature*)owner)->AI())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue