mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 07:37:01 +00:00
[9890] Add TYPEMASK_WORLDOBJECT to enum TypeMask
Check typemask and replace a few dynamic_cast with more simple casts. Signed-off-by: NoFantasy <nofantasy@nf.no>
This commit is contained in:
parent
31ec245b68
commit
5a72466935
3 changed files with 14 additions and 13 deletions
|
|
@ -2860,14 +2860,13 @@ void Map::ScriptsProcess()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
WorldObject* pSource = dynamic_cast<WorldObject*>(source);
|
if (!source->isType(TYPEMASK_WORLDOBJECT))
|
||||||
|
|
||||||
if (!pSource)
|
|
||||||
{
|
{
|
||||||
sLog.outError("SCRIPT_COMMAND_TALK (script id %u) call for unsupported non-worldobject (TypeId: %u), skipping.", step.script->id, source->GetTypeId());
|
sLog.outError("SCRIPT_COMMAND_TALK (script id %u) call for unsupported non-worldobject (TypeId: %u), skipping.", step.script->id, source->GetTypeId());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WorldObject* pSource = (WorldObject*)source;
|
||||||
Creature* pBuddy = NULL;
|
Creature* pBuddy = NULL;
|
||||||
|
|
||||||
// flag_target_player_as_source 0x01
|
// flag_target_player_as_source 0x01
|
||||||
|
|
@ -3091,14 +3090,14 @@ void Map::ScriptsProcess()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
WorldObject* summoner = dynamic_cast<WorldObject*>(source);
|
if (!source->isType(TYPEMASK_WORLDOBJECT))
|
||||||
|
|
||||||
if (!summoner)
|
|
||||||
{
|
{
|
||||||
sLog.outError("SCRIPT_COMMAND_TEMP_SUMMON_CREATURE (script id %u) call for non-WorldObject (TypeId: %u), skipping.", step.script->id, source->GetTypeId());
|
sLog.outError("SCRIPT_COMMAND_TEMP_SUMMON_CREATURE (script id %u) call for non-WorldObject (TypeId: %u), skipping.", step.script->id, source->GetTypeId());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WorldObject* summoner = (WorldObject*)source;
|
||||||
|
|
||||||
float x = step.script->x;
|
float x = step.script->x;
|
||||||
float y = step.script->y;
|
float y = step.script->y;
|
||||||
float z = step.script->z;
|
float z = step.script->z;
|
||||||
|
|
@ -3127,14 +3126,14 @@ void Map::ScriptsProcess()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
WorldObject* summoner = dynamic_cast<WorldObject*>(source);
|
if (!source->isType(TYPEMASK_WORLDOBJECT))
|
||||||
|
|
||||||
if (!summoner)
|
|
||||||
{
|
{
|
||||||
sLog.outError("SCRIPT_COMMAND_RESPAWN_GAMEOBJECT (script id %u) call for non-WorldObject (TypeId: %u), skipping.", step.script->id, source->GetTypeId());
|
sLog.outError("SCRIPT_COMMAND_RESPAWN_GAMEOBJECT (script id %u) call for non-WorldObject (TypeId: %u), skipping.", step.script->id, source->GetTypeId());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WorldObject* summoner = (WorldObject*)source;
|
||||||
|
|
||||||
GameObject *go = NULL;
|
GameObject *go = NULL;
|
||||||
int32 time_to_despawn = step.script->datalong2<5 ? 5 : (int32)step.script->datalong2;
|
int32 time_to_despawn = step.script->datalong2<5 ? 5 : (int32)step.script->datalong2;
|
||||||
|
|
||||||
|
|
@ -3428,14 +3427,14 @@ void Map::ScriptsProcess()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
WorldObject* pSource = dynamic_cast<WorldObject*>(source);
|
if (!source->isType(TYPEMASK_WORLDOBJECT))
|
||||||
|
|
||||||
if (!pSource)
|
|
||||||
{
|
{
|
||||||
sLog.outError("SCRIPT_COMMAND_PLAY_SOUND (script id %u) call for non-world object (TypeId: %u), skipping.", step.script->id, source->GetTypeId());
|
sLog.outError("SCRIPT_COMMAND_PLAY_SOUND (script id %u) call for non-world object (TypeId: %u), skipping.", step.script->id, source->GetTypeId());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WorldObject* pSource = (WorldObject*)source;
|
||||||
|
|
||||||
// bitmask: 0/1=anyone/target, 0/2=with distance dependent
|
// bitmask: 0/1=anyone/target, 0/2=with distance dependent
|
||||||
Player* pTarget = NULL;
|
Player* pTarget = NULL;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,8 @@ enum TypeMask
|
||||||
TYPEMASK_CREATURE_OR_GAMEOBJECT = TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT,
|
TYPEMASK_CREATURE_OR_GAMEOBJECT = TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT,
|
||||||
TYPEMASK_CREATURE_GAMEOBJECT_OR_ITEM = TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT | TYPEMASK_ITEM,
|
TYPEMASK_CREATURE_GAMEOBJECT_OR_ITEM = TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT | TYPEMASK_ITEM,
|
||||||
TYPEMASK_CREATURE_GAMEOBJECT_PLAYER_OR_ITEM = TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT | TYPEMASK_ITEM | TYPEMASK_PLAYER,
|
TYPEMASK_CREATURE_GAMEOBJECT_PLAYER_OR_ITEM = TYPEMASK_UNIT | TYPEMASK_GAMEOBJECT | TYPEMASK_ITEM | TYPEMASK_PLAYER,
|
||||||
|
|
||||||
|
TYPEMASK_WORLDOBJECT = TYPEMASK_UNIT | TYPEMASK_PLAYER | TYPEMASK_GAMEOBJECT | TYPEMASK_DYNAMICOBJECT | TYPEMASK_CORPSE,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum HighGuid
|
enum HighGuid
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "9889"
|
#define REVISION_NR "9890"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue