mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 22:37:03 +00:00
[9198] Replace targeted movegen by 2 new: chase/follow movegens.
NOTE: this is mostly just formal adding 2 movegens with very limited cleanups. Real result from adding 2 new movegens possible after apply more deep cleanups/fixes in UNIT_STAT_CHASE/UNIT_STAT_FOLLOW set. But this will need more cereful changes because we have currently sometime strange dependences and places for set for this flags. Similar cleanups required for other movegen related flags. Infact i have related patches but need more testing before apply step by step.
This commit is contained in:
parent
2e9bf5ad6a
commit
8a03785470
17 changed files with 232 additions and 138 deletions
|
|
@ -5571,26 +5571,37 @@ bool ChatHandler::HandleMovegensCommand(const char* /*args*/)
|
|||
case WAYPOINT_MOTION_TYPE: SendSysMessage(LANG_MOVEGENS_WAYPOINT); break;
|
||||
case ANIMAL_RANDOM_MOTION_TYPE: SendSysMessage(LANG_MOVEGENS_ANIMAL_RANDOM); break;
|
||||
case CONFUSED_MOTION_TYPE: SendSysMessage(LANG_MOVEGENS_CONFUSED); break;
|
||||
case TARGETED_MOTION_TYPE:
|
||||
|
||||
case CHASE_MOTION_TYPE:
|
||||
{
|
||||
Unit* target = NULL;
|
||||
if(unit->GetTypeId()==TYPEID_PLAYER)
|
||||
{
|
||||
TargetedMovementGenerator<Player> const* mgen = static_cast<TargetedMovementGenerator<Player> const*>(*itr);
|
||||
Unit* target = mgen->GetTarget();
|
||||
if(target)
|
||||
PSendSysMessage(LANG_MOVEGENS_TARGETED_PLAYER,target->GetName(),target->GetGUIDLow());
|
||||
else
|
||||
SendSysMessage(LANG_MOVEGENS_TARGETED_NULL);
|
||||
}
|
||||
target = static_cast<ChaseMovementGenerator<Player> const*>(*itr)->GetTarget();
|
||||
else
|
||||
{
|
||||
TargetedMovementGenerator<Creature> const* mgen = static_cast<TargetedMovementGenerator<Creature> const*>(*itr);
|
||||
Unit* target = mgen->GetTarget();
|
||||
if(target)
|
||||
PSendSysMessage(LANG_MOVEGENS_TARGETED_CREATURE,target->GetName(),target->GetGUIDLow());
|
||||
else
|
||||
SendSysMessage(LANG_MOVEGENS_TARGETED_NULL);
|
||||
}
|
||||
target = static_cast<ChaseMovementGenerator<Creature> const*>(*itr)->GetTarget();
|
||||
|
||||
if (!target)
|
||||
SendSysMessage(LANG_MOVEGENS_CHASE_NULL);
|
||||
else if (target->GetTypeId()==TYPEID_PLAYER)
|
||||
PSendSysMessage(LANG_MOVEGENS_CHASE_PLAYER,target->GetName(),target->GetGUIDLow());
|
||||
else
|
||||
PSendSysMessage(LANG_MOVEGENS_CHASE_CREATURE,target->GetName(),target->GetGUIDLow());
|
||||
break;
|
||||
}
|
||||
case FOLLOW_MOTION_TYPE:
|
||||
{
|
||||
Unit* target = NULL;
|
||||
if(unit->GetTypeId()==TYPEID_PLAYER)
|
||||
target = static_cast<FollowMovementGenerator<Player> const*>(*itr)->GetTarget();
|
||||
else
|
||||
target = static_cast<FollowMovementGenerator<Creature> const*>(*itr)->GetTarget();
|
||||
|
||||
if (!target)
|
||||
SendSysMessage(LANG_MOVEGENS_FOLLOW_NULL);
|
||||
else if (target->GetTypeId()==TYPEID_PLAYER)
|
||||
PSendSysMessage(LANG_MOVEGENS_FOLLOW_PLAYER,target->GetName(),target->GetGUIDLow());
|
||||
else
|
||||
PSendSysMessage(LANG_MOVEGENS_FOLLOW_CREATURE,target->GetName(),target->GetGUIDLow());
|
||||
break;
|
||||
}
|
||||
case HOME_MOTION_TYPE:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue