diff options
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScriptMgr.h | 6 | ||||
-rw-r--r-- | src/server/game/Conditions/ConditionMgr.h | 118 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/Language.h | 4 |
3 files changed, 70 insertions, 58 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h index 9e1b4846d64..700fb8638dc 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -597,8 +597,10 @@ enum SMART_ACTION SMART_ACTION_SET_UNINTERACTIBLE = 146, // 0/1 SMART_ACTION_ACTIVATE_GAMEOBJECT = 147, // GameObjectActions SMART_ACTION_ADD_TO_STORED_TARGET_LIST = 148, // varID - - SMART_ACTION_END = 149 + SMART_ACTION_BECOME_PERSONAL_CLONE_FOR_PLAYER = 149, // don't use on 3.3.5a + SMART_ACTION_TRIGGER_GAME_EVENT = 150, // eventId, useSaiTargetAsGameEventSource (RESERVED, PENDING CHERRYPICK) + SMART_ACTION_DO_ACTION = 151, // actionId (RESERVED, PENDING CHERRYPICK) + SMART_ACTION_END = 152 }; enum class SmartActionSummonCreatureFlags diff --git a/src/server/game/Conditions/ConditionMgr.h b/src/server/game/Conditions/ConditionMgr.h index 3fe3b7a83c8..b31ebb9f4bb 100644 --- a/src/server/game/Conditions/ConditionMgr.h +++ b/src/server/game/Conditions/ConditionMgr.h @@ -34,60 +34,64 @@ class LootTemplate; struct Condition; enum ConditionTypes -{ // value1 value2 value3 - CONDITION_NONE = 0, // 0 0 0 always true - CONDITION_AURA = 1, // spell_id effindex use target? true if player (or target, if value3) has aura of spell_id with effect effindex - CONDITION_ITEM = 2, // item_id count bank true if has #count of item_ids (if 'bank' is set it searches in bank slots too) - CONDITION_ITEM_EQUIPPED = 3, // item_id 0 0 true if has item_id equipped - CONDITION_ZONEID = 4, // zone_id 0 0 true if in zone_id - CONDITION_REPUTATION_RANK = 5, // faction_id rankMask 0 true if has min_rank for faction_id - CONDITION_TEAM = 6, // player_team 0, 0 469 - Alliance, 67 - Horde) - CONDITION_SKILL = 7, // skill_id skill_value 0 true if has skill_value for skill_id - CONDITION_QUESTREWARDED = 8, // quest_id 0 0 true if quest_id was rewarded before - CONDITION_QUESTTAKEN = 9, // quest_id 0, 0 true while quest active - CONDITION_DRUNKENSTATE = 10, // DrunkenState 0, 0 true if player is drunk enough - CONDITION_WORLD_STATE = 11, // index value 0 true if world has the value for the index - CONDITION_ACTIVE_EVENT = 12, // event_id 0 0 true if event is active - CONDITION_INSTANCE_INFO = 13, // entry data type true if the instance info defined by type (enum InstanceInfo) equals data. - CONDITION_QUEST_NONE = 14, // quest_id 0 0 true if doesn't have quest saved - CONDITION_CLASS = 15, // class 0 0 true if player's class is equal to class - CONDITION_RACE = 16, // race 0 0 true if player's race is equal to race - CONDITION_ACHIEVEMENT = 17, // achievement_id 0 0 true if achievement is complete - CONDITION_TITLE = 18, // title id 0 0 true if player has title - CONDITION_SPAWNMASK = 19, // spawnMask 0 0 true if in spawnMask - CONDITION_GENDER = 20, // gender 0 0 true if player's gender is equal to gender - CONDITION_UNIT_STATE = 21, // unitState 0 0 true if unit has unitState - CONDITION_MAPID = 22, // map_id 0 0 true if in map_id - CONDITION_AREAID = 23, // area_id 0 0 true if in area_id - CONDITION_CREATURE_TYPE = 24, // cinfo.type 0 0 true if creature_template.type = value1 - CONDITION_SPELL = 25, // spell_id 0 0 true if player has learned spell - CONDITION_PHASEMASK = 26, // phasemask 0 0 true if object is in phasemask - CONDITION_LEVEL = 27, // level ComparisonType 0 true if unit's level is equal to param1 (param2 can modify the statement) - CONDITION_QUEST_COMPLETE = 28, // quest_id 0 0 true if player has quest_id with all objectives complete, but not yet rewarded - CONDITION_NEAR_CREATURE = 29, // creature entry distance dead (0/1) true if there is a creature of entry in range - CONDITION_NEAR_GAMEOBJECT = 30, // gameobject entry distance 0 true if there is a gameobject of entry in range - CONDITION_OBJECT_ENTRY_GUID = 31, // TypeID entry guid true if object is type TypeID and the entry is 0 or matches entry of the object or matches guid of the object - CONDITION_TYPE_MASK = 32, // TypeMask 0 0 true if object is type object's TypeMask matches provided TypeMask - CONDITION_RELATION_TO = 33, // ConditionTarget RelationType 0 true if object is in given relation with object specified by ConditionTarget - CONDITION_REACTION_TO = 34, // ConditionTarget rankMask 0 true if object's reaction matches rankMask object specified by ConditionTarget - CONDITION_DISTANCE_TO = 35, // ConditionTarget distance ComparisonType true if object and ConditionTarget are within distance given by parameters - CONDITION_ALIVE = 36, // 0 0 0 true if unit is alive - CONDITION_HP_VAL = 37, // hpVal ComparisonType 0 true if unit's hp matches given value - CONDITION_HP_PCT = 38, // hpPct ComparisonType 0 true if unit's hp matches given pct - CONDITION_REALM_ACHIEVEMENT = 39, // achievement_id 0 0 true if realm achievement is complete - CONDITION_IN_WATER = 40, // 0 0 0 true if unit in water - CONDITION_TERRAIN_SWAP = 41, // only for master branch - CONDITION_STAND_STATE = 42, // stateType state 0 true if unit matches specified sitstate (0,x: has exactly state x; 1,0: any standing state; 1,1: any sitting state;) - CONDITION_DAILY_QUEST_DONE = 43, // quest id 0 0 true if daily quest has been completed for the day - CONDITION_CHARMED = 44, // 0 0 0 true if unit is currently charmed - CONDITION_PET_TYPE = 45, // mask 0 0 true if player has a pet of given type(s) - CONDITION_TAXI = 46, // 0 0 0 true if player is on taxi - CONDITION_QUESTSTATE = 47, // quest_id state_mask 0 true if player is in any of the provided quest states for the quest (1 = not taken, 2 = completed, 8 = in progress, 32 = failed, 64 = rewarded) - CONDITION_QUEST_OBJECTIVE_PROGRESS = 48, // quest_id objectiveIndex objectiveCount true if player has reached the specified objectiveCount quest progress for the objectiveIndex for the specified quest - CONDITION_DIFFICULTY_ID = 49, // Difficulty 0 0 true is map has difficulty id - CONDITION_GAMEMASTER = 50, // canBeGM 0 0 true if player is gamemaster (or can be gamemaster) - CONDITION_OBJECT_ENTRY_GUID_MASTER = 51, // TypeID entry guid true if object is type TypeID and the entry is 0 or matches entry of the object or matches guid of the object using master branch TypeID - CONDITION_TYPE_MASK_MASTER = 52, // TypeMask 0 0 true if object is type object's TypeMask matches provided TypeMask using master branch TypeMask +{ // value1 value2 value3 + CONDITION_NONE = 0, // 0 0 0 always true + CONDITION_AURA = 1, // spell_id effindex use target? true if player (or target, if value3) has aura of spell_id with effect effindex + CONDITION_ITEM = 2, // item_id count bank true if has #count of item_ids (if 'bank' is set it searches in bank slots too) + CONDITION_ITEM_EQUIPPED = 3, // item_id 0 0 true if has item_id equipped + CONDITION_ZONEID = 4, // zone_id 0 0 true if in zone_id + CONDITION_REPUTATION_RANK = 5, // faction_id rankMask 0 true if has min_rank for faction_id + CONDITION_TEAM = 6, // player_team 0, 0 469 - Alliance, 67 - Horde) + CONDITION_SKILL = 7, // skill_id skill_value 0 true if has skill_value for skill_id + CONDITION_QUESTREWARDED = 8, // quest_id 0 0 true if quest_id was rewarded before + CONDITION_QUESTTAKEN = 9, // quest_id 0, 0 true while quest active + CONDITION_DRUNKENSTATE = 10, // DrunkenState 0, 0 true if player is drunk enough + CONDITION_WORLD_STATE = 11, // index value 0 true if world has the value for the index + CONDITION_ACTIVE_EVENT = 12, // event_id 0 0 true if event is active + CONDITION_INSTANCE_INFO = 13, // entry data type true if the instance info defined by type (enum InstanceInfo) equals data. + CONDITION_QUEST_NONE = 14, // quest_id 0 0 true if doesn't have quest saved + CONDITION_CLASS = 15, // class 0 0 true if player's class is equal to class + CONDITION_RACE = 16, // race 0 0 true if player's race is equal to race + CONDITION_ACHIEVEMENT = 17, // achievement_id 0 0 true if achievement is complete + CONDITION_TITLE = 18, // title id 0 0 true if player has title + CONDITION_SPAWNMASK = 19, // spawnMask 0 0 true if in spawnMask + CONDITION_GENDER = 20, // gender 0 0 true if player's gender is equal to gender + CONDITION_UNIT_STATE = 21, // unitState 0 0 true if unit has unitState + CONDITION_MAPID = 22, // map_id 0 0 true if in map_id + CONDITION_AREAID = 23, // area_id 0 0 true if in area_id + CONDITION_CREATURE_TYPE = 24, // cinfo.type 0 0 true if creature_template.type = value1 + CONDITION_SPELL = 25, // spell_id 0 0 true if player has learned spell + CONDITION_PHASEMASK = 26, // phasemask 0 0 true if object is in phasemask + CONDITION_LEVEL = 27, // level ComparisonType 0 true if unit's level is equal to param1 (param2 can modify the statement) + CONDITION_QUEST_COMPLETE = 28, // quest_id 0 0 true if player has quest_id with all objectives complete, but not yet rewarded + CONDITION_NEAR_CREATURE = 29, // creature entry distance dead (0/1) true if there is a creature of entry in range + CONDITION_NEAR_GAMEOBJECT = 30, // gameobject entry distance 0 true if there is a gameobject of entry in range + CONDITION_OBJECT_ENTRY_GUID = 31, // TypeID entry guid true if object is type TypeID and the entry is 0 or matches entry of the object or matches guid of the object + CONDITION_TYPE_MASK = 32, // TypeMask 0 0 true if object is type object's TypeMask matches provided TypeMask + CONDITION_RELATION_TO = 33, // ConditionTarget RelationType 0 true if object is in given relation with object specified by ConditionTarget + CONDITION_REACTION_TO = 34, // ConditionTarget rankMask 0 true if object's reaction matches rankMask object specified by ConditionTarget + CONDITION_DISTANCE_TO = 35, // ConditionTarget distance ComparisonType true if object and ConditionTarget are within distance given by parameters + CONDITION_ALIVE = 36, // 0 0 0 true if unit is alive + CONDITION_HP_VAL = 37, // hpVal ComparisonType 0 true if unit's hp matches given value + CONDITION_HP_PCT = 38, // hpPct ComparisonType 0 true if unit's hp matches given pct + CONDITION_REALM_ACHIEVEMENT = 39, // achievement_id 0 0 true if realm achievement is complete + CONDITION_IN_WATER = 40, // 0 0 0 true if unit in water + CONDITION_TERRAIN_SWAP = 41, // only for master branch + CONDITION_STAND_STATE = 42, // stateType state 0 true if unit matches specified sitstate (0,x: has exactly state x; 1,0: any standing state; 1,1: any sitting state;) + CONDITION_DAILY_QUEST_DONE = 43, // quest id 0 0 true if daily quest has been completed for the day + CONDITION_CHARMED = 44, // 0 0 0 true if unit is currently charmed + CONDITION_PET_TYPE = 45, // mask 0 0 true if player has a pet of given type(s) + CONDITION_TAXI = 46, // 0 0 0 true if player is on taxi + CONDITION_QUESTSTATE = 47, // quest_id state_mask 0 true if player is in any of the provided quest states for the quest (1 = not taken, 2 = completed, 8 = in progress, 32 = failed, 64 = rewarded) + CONDITION_QUEST_OBJECTIVE_PROGRESS = 48, // quest_id objectiveIndex objectiveCount true if player has reached the specified objectiveCount quest progress for the objectiveIndex for the specified quest + CONDITION_DIFFICULTY_ID = 49, // Difficulty 0 0 true is map has difficulty id + CONDITION_GAMEMASTER = 50, // canBeGM 0 0 true if player is gamemaster (or can be gamemaster) + CONDITION_OBJECT_ENTRY_GUID_MASTER = 51, // TypeID entry guid true if object is type TypeID and the entry is 0 or matches entry of the object or matches guid of the object using master branch TypeID + CONDITION_TYPE_MASK_MASTER = 52, // TypeMask 0 0 true if object is type object's TypeMask matches provided TypeMask using master branch TypeMask + CONDITION_BATTLE_PET_COUNT = 53, // SpecieId count ComparisonType true if player has `count` of battle pet species + CONDITION_SCENARIO_STEP = 54, // ScenarioStepId 0 0 true if player is at scenario with current step equal to ScenarioStepID + CONDITION_SCENE_IN_PROGRESS = 55, // SceneScriptPackageId 0 0 true if player is playing a scene with ScriptPackageId equal to given value + CONDITION_PLAYER_CONDITION = 56, // PlayerConditionId 0 0 true if player satisfies PlayerCondition CONDITION_MAX }; @@ -150,7 +154,11 @@ enum ConditionSourceType CONDITION_SOURCE_TYPE_GRAVEYARD = 27, // only master CONDITION_SOURCE_TYPE_AREATRIGGER = 28, // only master (this refers to dynamically spawned areatriggers, not the ones from AreaTrigger.dbc/db2) CONDITION_SOURCE_TYPE_CONVERSATION_LINE = 29, // only master - CONDITION_SOURCE_TYPE_MAX = 30 // MAX + CONDITION_SOURCE_TYPE_AREATRIGGER_CLIENT_TRIGGERED = 30, // only master (TODO: cherry-pick) + CONDITION_SOURCE_TYPE_TRAINER_SPELL = 31, // only master (TODO: cherry-pick) + CONDITION_SOURCE_TYPE_OBJECT_ID_VISIBILITY = 32, // only master (TODO: cherry-pick) + CONDITION_SOURCE_TYPE_SPAWN_GROUP = 33, // only master (TODO: cherry-pick) + CONDITION_SOURCE_TYPE_MAX = 34 // MAX }; enum RelationType diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h index b7941e69f98..3f1f5018951 100644 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -826,7 +826,8 @@ enum TrinityStrings LANG_RBAC_EMAIL_REQUIRED = 881, // = 882, LANG_PINFO_CHR_MAP_WITH_AREA LANG_ACCOUNT = 883, - // Room for in-game strings 884-999 not used + LANG_COMMAND_QUEST_OBJECTIVE_NOTFOUND = 884, // master branch ONLY + // Room for in-game strings 885-999 not used // Level 4 (CLI only commands) LANG_COMMAND_EXIT = 1000, @@ -1010,6 +1011,7 @@ enum TrinityStrings LANG_CMDPARSER_SPELL_NO_EXIST = 1514, LANG_CMDPARSER_EXACT_SEQ_MISMATCH = 1515, LANG_CMDPARSER_CURRENCY_NO_EXIST = 1516, // master branch ONLY + LANG_CMDPARSER_QUEST_NO_EXIST = 1517, // RESERVED future cherry-pick // 1516-1998 - free LANG_DEBUG_AREATRIGGER_LEFT = 1999, // master branch ONLY |