diff options
Diffstat (limited to 'src/server/scripts/Commands')
| -rw-r--r-- | src/server/scripts/Commands/cs_npc.cpp | 25 | 
1 files changed, 25 insertions, 0 deletions
| diff --git a/src/server/scripts/Commands/cs_npc.cpp b/src/server/scripts/Commands/cs_npc.cpp index 28d49fe11aa..9cf8c041883 100644 --- a/src/server/scripts/Commands/cs_npc.cpp +++ b/src/server/scripts/Commands/cs_npc.cpp @@ -43,6 +43,7 @@ struct EnumName  #define CREATE_NAMED_ENUM(VALUE) { VALUE, STRINGIZE(VALUE) }  #define NPCFLAG_COUNT   24 +#define FLAGS_EXTRA_COUNT 16  EnumName<NPCFlags, int32> const npcFlagTexts[NPCFLAG_COUNT] =  { @@ -144,6 +145,26 @@ EnumName<UnitFlags> const unitFlags[MAX_UNIT_FLAGS] =      CREATE_NAMED_ENUM(UNIT_FLAG_UNK_31)  }; +EnumName<CreatureFlagsExtra> const flagsExtra[FLAGS_EXTRA_COUNT] = +{ +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_INSTANCE_BIND), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_CIVILIAN), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_NO_PARRY), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_NO_BLOCK), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_NO_CRUSH), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_NO_XP_AT_KILL), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_TRIGGER), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_NO_TAUNT), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_WORLDEVENT), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_GUARD), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_NO_CRIT), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_NO_SKILLGAIN), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_TAUNT_DIMINISH), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_ALL_DIMINISH), +    CREATE_NAMED_ENUM(CREATURE_FLAG_EXTRA_DUNGEON_BOSS) +}; +  class npc_commandscript : public CommandScript  {  public: @@ -730,6 +751,10 @@ public:          handler->PSendSysMessage(LANG_NPCINFO_ARMOR, target->GetArmor());          handler->PSendSysMessage(LANG_NPCINFO_POSITION, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ());          handler->PSendSysMessage(LANG_NPCINFO_AIINFO, target->GetAIName().c_str(), target->GetScriptName().c_str()); +        handler->PSendSysMessage(LANG_NPCINFO_FLAGS_EXTRA, cInfo->flags_extra); +        for (uint8 i = 0; i < FLAGS_EXTRA_COUNT; ++i) +            if (cInfo->flags_extra & flagsExtra[i].Value) +                handler->PSendSysMessage("%s (0x%X)", flagsExtra[i].Name, flagsExtra[i].Value);          for (uint8 i = 0; i < NPCFLAG_COUNT; i++)              if (npcflags & npcFlagTexts[i].Value) | 
