用户工具

站点工具


数据库:world数据库:smart_scripts

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
数据库:world数据库:smart_scripts [2023/10/03 17:56] – [action_type] admin数据库:world数据库:smart_scripts [2023/10/03 18:06] (当前版本) – [Power Types] admin
行 126: 行 126:
 Values can be added together (bitwise math). Values can be added together (bitwise math).
 ==== event_type ==== ==== event_type ====
- 
-Name Value Param1 Param2 Param3 Param4 Param5 Param6 Comment 
-SMART_EVENT_UPDATE_IC 0 InitialMin InitialMax RepeatMin RepeatMax In combat. 
-SMART_EVENT_UPDATE_OOC 1 InitialMin InitialMax RepeatMin RepeatMax Out of combat. 
-SMART_EVENT_HEALTH_PCT 2 HPMin% HPMax% RepeatMin RepeatMax Health Percentage 
-SMART_EVENT_MANA_PCT 3 ManaMin% ManaMax% RepeatMin RepeatMax Mana Percentage 
-SMART_EVENT_AGGRO 4 On Creature Aggro 
-SMART_EVENT_KILL 5 CooldownMin CooldownMax Player only (0/1) Creature entry (if param3 is 0) On Creature Kill 
-SMART_EVENT_DEATH 6 On Creature Death 
-SMART_EVENT_EVADE 7 On Creature Evade Attack 
-SMART_EVENT_SPELLHIT 8 SpellID School CooldownMin CooldownMax On Creature/Gameobject Spell Hit 
-SMART_EVENT_RANGE 9 InitialMin InitialMax RepeatMin RepeatMax MinDist MaxDist On Victim In Range 
-SMART_EVENT_OOC_LOS 10 NoHostile MaxRange CooldownMin CooldownMax 0/1 Player Only On Target In Distance Out of Combat 
-SMART_EVENT_RESPAWN 11 type (None = 0, Map = 1, Area = 2) MapId ZoneId On Creature/Gameobject Respawn 
-SMART_EVENT_TARGET_HEALTH_PCT 12 HPMin% HPMax% RepeatMin RepeatMax On Target Health Percentage 
-SMART_EVENT_VICTIM_CASTING 13 RepeatMin RepeatMax Spell id (0 any) On Target Casting Spell 
-SMART_EVENT_FRIENDLY_HEALTH 14 HPDeficit Radius RepeatMin RepeatMax On Friendly Health Deficit 
-SMART_EVENT_FRIENDLY_IS_CC 15 Radius RepeatMin RepeatMax  
-SMART_EVENT_FRIENDLY_MISSING_BUFF 16 SpellId Radius RepeatMin RepeatMax onlyInCombat On Friendly Lost Buff 
-SMART_EVENT_SUMMONED_UNIT 17 CretureId (0 all) CooldownMin CooldownMax On Creature/Gameobject Summoned Unit 
-SMART_EVENT_TARGET_MANA_PCT 18 ManaMin% ManaMax% RepeatMin RepeatMax On Target Mana Percentage 
-SMART_EVENT_ACCEPTED_QUEST 19 QuestID (0 any) CooldownMin CooldownMax On Target Accepted Quest 
-SMART_EVENT_REWARD_QUEST 20 QuestID (0 any) CooldownMin CooldownMax On Target Rewarded Quest 
-SMART_EVENT_REACHED_HOME 21 On Creature Reached Home 
-SMART_EVENT_RECEIVE_EMOTE 22 EmoteId CooldownMin CooldownMax On Receive Emote. 
-SMART_EVENT_HAS_AURA 23 SpellID Stacks RepeatMin RepeatMax On Creature Has Aura 
-SMART_EVENT_TARGET_BUFFED 24 SpellID Stacks RepeatMin RepeatMax On Target Buffed With Spell 
-SMART_EVENT_RESET 25 After Combat, On Respawn or Spawn 
-SMART_EVENT_IC_LOS 26 NoHostile MaxRange CooldownMin CooldownMax 0/1 Player Only On Target In Distance In Combat 
-SMART_EVENT_PASSENGER_BOARDED 27 CooldownMin CooldownMax  
-SMART_EVENT_PASSENGER_REMOVED 28 CooldownMin CooldownMax  
-SMART_EVENT_CHARMED 29 onRemove (0 - on apply, 1 - on remove) On Creature Charmed 
-SMART_EVENT_CHARMED_TARGET 30 On Target Charmed 
-SMART_EVENT_SPELLHIT_TARGET 31 SpellId School RepeatMin RepeatMax On Target Spell Hit 
-SMART_EVENT_DAMAGED 32 MinDmg MaxDmg RepeatMin RepeatMax On Creature Damaged 
-SMART_EVENT_DAMAGED_TARGET 33 MinDmg MaxDmg RepeatMin RepeatMax On Target Damaged 
-SMART_EVENT_MOVEMENTINFORM 34 MovementType (0=any) PointID ESCORT_MOTION_TYPE = 17, POINT_MOTION_TYPE = 8 
-SMART_EVENT_SUMMON_DESPAWNED 35 Entry CooldownMin CooldownMax On Summoned Unit Despawned 
-SMART_EVENT_CORPSE_REMOVED 36 On Creature Corpse Removed 
-SMART_EVENT_AI_INIT 37  
-SMART_EVENT_DATA_SET 38 Field Value CooldownMin CooldownMax On Creature/Gameobject Data Set, Can be used with SMART_ACTION_SET_DATA 
-SMART_EVENT_WAYPOINT_START 39 PointId (0 any) pathId (0 any) On Creature Waypoint ID Started 
-SMART_EVENT_WAYPOINT_REACHED 40 PointId (0 any) pathId (0 any) On Creature Waypoint ID Reached 
-SMART_EVENT_AREATRIGGER_ONTRIGGER 46 TriggerId (0 any)  
-SMART_EVENT_TEXT_OVER 52 creature_text.GroupID creature.id (0 any) On TEXT_OVER Event Triggered After SMART_ACTION_TALK 
-SMART_EVENT_RECEIVE_HEAL 53 MinHeal MaxHeal CooldownMin CooldownMax On Creature Received Healing 
-SMART_EVENT_JUST_SUMMONED 54 On Creature Just spawned 
-SMART_EVENT_WAYPOINT_PAUSED 55 PointId (0 any) pathID (0 any) On Creature Paused at Waypoint ID 
-SMART_EVENT_WAYPOINT_RESUMED 56 PointId (0 any) pathID (0 any) On Creature Resumed after Waypoint ID 
-SMART_EVENT_WAYPOINT_STOPPED 57 PointId (0 any) pathID (0 any) On Creature Stopped On Waypoint ID 
-SMART_EVENT_WAYPOINT_ENDED 58 PointId (0 any) pathID (0 any) On Creature Waypoint Path Ended 
-SMART_EVENT_TIMED_EVENT_TRIGGERED 59 Id  
-SMART_EVENT_UPDATE 60 InitialMin InitialMax RepeatMin RepeatMax  
-SMART_EVENT_LINK 61 Used to link together multiple events as a chain of events. 
-SMART_EVENT_GOSSIP_SELECT 62 gossip_menu_option.MenuID gossip_menu_option.OptionID On gossip clicked (gossip_menu_option). 
-SMART_EVENT_JUST_CREATED 63  
-SMART_EVENT_GOSSIP_HELLO 64 On Right-Click Creature/Gameobject that have gossip enabled. 
-SMART_EVENT_FOLLOW_COMPLETED 65  
-SMART_EVENT_EVENT_PHASE_CHANGE 66 event phase mask On event phase mask set 
-SMART_EVENT_IS_BEHIND_TARGET 67 InitialMin InitialMax RepeatMin RepeatMax RangeMin RangeMax On Creature is behind target. 
-SMART_EVENT_GAME_EVENT_START 68 game_event.eventEntry On game_event started. 
-SMART_EVENT_GAME_EVENT_END 69 game_event.eventEntry On game_event ended. 
-SMART_EVENT_GO_STATE_CHANGED 70 State (0 - Active, 1 - Ready, 2 - Active alternative)  
-SMART_EVENT_GO_EVENT_INFORM 71 EventId  
-SMART_EVENT_ACTION_DONE 72 EventId  
-SMART_EVENT_ON_SPELLCLICK 73  
-SMART_EVENT_FRIENDLY_HEALTH_PCT 74 InitialMin InitialMax RepeatMin RepeatMax Hp Percentage Range When a friendly creature within range falls below the HP Percentage 
-SMART_EVENT_DISTANCE_CREATURE 75 database guid database entry distance repeat interval (ms) On creature guid OR any instance of creature entry is within distance. 
-SMART_EVENT_DISTANCE_GAMEOBJECT 76 database guid database entry distance repeat interval (ms) On gameobject guid OR any instance of gameobject entry is within distance. 
-SMART_EVENT_COUNTER_SET 77 counterID value cooldownMin cooldownMax If the value of specified counterID is equal to a specified value 
-SMART_EVENT_SUMMONED_UNIT_DIES 82 CreatureId(0 all) CooldownMin CooldownMax  
-SMART_EVENT_NEAR_PLAYERS 101 minPlayers Range (yards) FirstCheck (ms) RepeatMin (ms) RepeatMax (ms) Event will trigger if there are more or equal than minPlayers in range. 
-SMART_EVENT_NEAR_PLAYERS_NEGATION 102 maxPlayers Range (yards) FirstCheck (ms) RepeatMin (ms) RepeatMax (ms) Event will trigger if there are less than maxPlayers in range. 
-SMART_EVENT_NEAR_UNIT 103 Unit type to check (0: creature 1: gob) Entry (template) Count Range Timer (ms) Will check for >= count of specified entry within range 
-SMART_EVENT_NEAR_UNIT_NEGATION 104 Unit type to check (0: creature 1: gob) Entry (template) Count Range Timer (ms) Will check for < count of specified entry within range 
-SMART_EVENT_AREA_CASTING 105 InitialMin InitialMax RepeatMin RepeatMax RangeMin RangeMax Check threat list for hostiles casting. If none are found, repeat in 1200ms 
-SMART_EVENT_AREA_RANGE 106 InitialMin InitialMax RepeatMin RepeatMax RangeMin RangeMax Check threat list for hostiles in range. If none are found, repeat in 1200ms 
-==== action_type ==== 
  
 ^Name^Value^Value^Param2^Param3^Param4^Param5^Param6^Comment^ ^Name^Value^Value^Param2^Param3^Param4^Param5^Param6^Comment^
行 281: 行 203:
 |SMART_EVENT_AREA_CASTING|105|InitialMin|InitialMax|RepeatMin|RepeatMax|RangeMin|RangeMax|Check threat list for hostiles casting. If none are found, repeat in 1200ms| |SMART_EVENT_AREA_CASTING|105|InitialMin|InitialMax|RepeatMin|RepeatMax|RangeMin|RangeMax|Check threat list for hostiles casting. If none are found, repeat in 1200ms|
 |SMART_EVENT_AREA_RANGE|106|InitialMin|InitialMax|RepeatMin|RepeatMax|RangeMin|RangeMax|Check threat list for hostiles in range. If none are found, repeat in 1200ms| |SMART_EVENT_AREA_RANGE|106|InitialMin|InitialMax|RepeatMin|RepeatMax|RangeMin|RangeMax|Check threat list for hostiles in range. If none are found, repeat in 1200ms|
 +
 +==== action_type ====
 +
 +^Name^Value^Value^Param2^Param3^Param4^Param5^Param6^Comment^
 +|SMART_ACTION_NONE|0| | | | | | |Do nothing|
 +|SMART_ACTION_TALK|1|creature_text.GroupID|Duration to wait before SMART_EVENT_TEXT_OVER is triggered.|0 It will try to trigger talk of the target| | | |Param2 in Milliseconds.|
 +| | | | |1 Set target as talk target (used for $vars in texts and whisper target)| | | | |
 +|SMART_ACTION_SET_FACTION|2|FactionID (or 0 for default)| | | | | |Sets faction to creature.|
 +|SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL|3|creature_template.entry(param1)|creature_template.modelidx(param2)| | | | |Take DisplayID of creature (param1) OR Turn to DisplayID (param2) OR Both = 0 for Demorph|
 +|SMART_ACTION_SOUND|4|SoundId|onlySelf (0/1)|distance| | | |Play Sound; onlySelf = 1 only sends sound to self, onlySelf = 0 sends sound to everyone in visibility range|
 +|SMART_ACTION_PLAY_EMOTE|5|EmoteId| | | | | |Makes the target perform an Emote|
 +|SMART_ACTION_FAIL_QUEST|6|QuestID| | | | | |Fail Quest of Target|
 +|SMART_ACTION_OFFER_QUEST|7|quest_template.id|directAdd (0/1)| | | | |Add Quest to Target|
 +|SMART_ACTION_SET_REACT_STATE|8|ReactState| | | | | |React State. Can be Passive (0), Defensive (1), Aggressive (2).|
 +|SMART_ACTION_ACTIVATE_GOBJECT|9| | | | | | |Activate Object|
 +|SMART_ACTION_RANDOM_EMOTE|10|EmoteId1|EmoteId2|EmoteId3|EmoteId4|EmoteId5|EmoteId6|Play Random Emote|
 +|SMART_ACTION_CAST|11|SpellId|castFlags|triggeredFlags|limitTargets (0 = all)| | |Cast Spell ID at Target(s)|
 +|SMART_ACTION_SUMMON_CREATURE|12|creature_template.entry|Summon type|duration in ms|attackInvoker (0/1/2)|attackScriptOwner (0/1)| |Summon Unit; attackInvoker 1: attack target; attackInvoker 2: attack actual invoker|
 +|SMART_ACTION_THREAT_SINGLE_PCT|13|Threat% inc|Threat% dec| | | | |Change Threat Percentage for Single Target|
 +|SMART_ACTION_THREAT_ALL_PCT|14|Threat% inc|Threat% dec| | | | |Change Threat Percentage for All Enemies|
 +|SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS|15|quest_template.id| | | | | | |
 +|SMART_ACTION_SET_EMOTE_STATE|17|EmoteId| | | | | |Play Emote Continuously|
 +|SMART_ACTION_SET_UNIT_FLAG|18|(may be more than one field OR'd together)|type| | | | |Can set Multi-able flags at once|
 +| | | |If false set creature_template.unit_flags| | | | | |
 +| | | |If true set creature_template.unit_flags2| | | | | |
 +|SMART_ACTION_REMOVE_UNIT_FLAG|19|(may be more than one field OR'd together)|type| | | | |Can Remove Multi-able flags at once|
 +| | | |If false set creature_template.unit_flags| | | | | |
 +| | | |If true set creature_template.unit_flags2| | | | | |
 +|SMART_ACTION_AUTO_ATTACK|20|AllowAttackState (0 = Stop attack, anything else means continue attacking)| | | | | |Stop or Continue Automatic Attack.|
 +|SMART_ACTION_ALLOW_COMBAT_MOVEMENT|21|AllowCombatMovement (0 = Stop combat based movement, anything else continue attacking)| | | | | |Allow or Disable Combat Movement|
 +|SMART_ACTION_SET_EVENT_PHASE|22|event_phase_mask| | | | | |Set event phase 0-12 (the actual values, no bit mask!)|
 +|SMART_ACTION_INC_EVENT_PHASE|23|Increment|Decrement| | | | |Set param1 OR param2 (not both). Value 0 has no effect.|
 +|SMART_ACTION_EVADE|24| | | | | | |Evade Incoming Attack|
 +|SMART_ACTION_FLEE_FOR_ASSIST|25|0/1 (If you want the fleeing NPC to say attempts to flee text on flee, use 1 on param1. For no message use 0.)| | | | | |If you want the fleeing NPC to say '%s attempts to run away in fear' on flee, use 1 on param1. 0 for no message.|
 +|SMART_ACTION_CALL_GROUPEVENTHAPPENS|26|quest_template.id| | | | | | |
 +|SMART_ACTION_COMBAT_STOP|27| | | | | | | |
 +|SMART_ACTION_REMOVEAURASFROMSPELL|28|Spellid (0 removes all auras)|charges (0 removes aura)| | | | | |
 +|SMART_ACTION_FOLLOW|29|Distance (0 = Default value)|Angle (0 = Default value)|End creature_template.entry|credit|creditType (0 monsterkill, 1 event)| |Follow Target. If target type is NONE or SELF, Stop Follow|
 +|SMART_ACTION_RANDOM_PHASE|30|event_phase_mask 1|event_phase_mask 2|event_phase_mask 3|event_phase_mask 4|event_phase_mask 5|event_phase_mask 6| |
 +|SMART_ACTION_RANDOM_PHASE_RANGE|31|event_phase_mask minimum|event_phase_mask maximum| | | | | |
 +|SMART_ACTION_RESET_GOBJECT|32| | | | | | |Reset Gameobject|
 +|SMART_ACTION_CALL_KILLEDMONSTER|33|creature_template.entry| | | | | |This is the ID from quest_template.RequiredNpcOrGo|
 +|SMART_ACTION_SET_INST_DATA|34|Field|Data| |Type (0 = SetData, 1 = SetBossState)| | |Set Instance Data|
 +|SMART_ACTION_SET_INST_DATA64|35|Field| | | | | |Set Instance Data uint64|
 +|SMART_ACTION_UPDATE_TEMPLATE|36|creature_template.entry|Update Level| | | | |Updates creature_template to given entry|
 +|SMART_ACTION_DIE|37|Milliseconds| | | | | |Kill Target, if param1 is set, it will die after param1 milliseconds. 0: no delay, the target will die instantly|
 +|SMART_ACTION_SET_IN_COMBAT_WITH_ZONE|38|Range in yards for all players to be forced into combat with the creature. Only used in the open world. Leave as 0 if used in an instance.| | | | | |Sets the creature in combat with its zone, can be used in instances and open world. Useful for creatures inside instances so all players will be set in combat until the fight ends.|
 +|SMART_ACTION_CALL_FOR_HELP|39|Radius in yards that other creatures must be to acknowledge the cry for help.|0/1 (say calls for help text)| | | | |If you want the NPC to say '%s calls for help!'. Use 1 on param1, 0 for no message.|
 +|SMART_ACTION_SET_SHEATH|40|Sheath (0-unarmed, 1-melee, 2-ranged)| | | | | | |
 +|SMART_ACTION_FORCE_DESPAWN|41|Despawn timer "ms"|Respawn Timer "s"| | | | |Despawn Target after param1 in Milliseconds. Respawn after param2 in seconds.|
 +|SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL|42|flat hp value|percent hp value| | | | |If you use both params, only percent will be used.|
 +|SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL|43|creature_template.entry|creature_template.modelidx| | | | |Mount to Creature Entry (param1) OR Mount to Creature Display (param2) Or both = 0 for Unmount|
 +|SMART_ACTION_SET_INGAME_PHASE_MASK|44|creature.phaseMask| | | | | | |
 +|SMART_ACTION_SET_DATA|45|Field|Data| | | | |Set Data For Target, can be used with SMART_EVENT_DATA_SET|
 +|SMART_ACTION_MOVE_FORWARD|46|distance| | | | | |move self forward for the specified distance (point movement)|
 +|SMART_ACTION_SET_VISIBILITY|47|0/1| | | | | |Makes creature Visible = 1 or Invisible = 0|
 +|SMART_ACTION_SET_ACTIVE|48|0/1| | | | | |If a creature or GO is set active it will stay active even if no player is near. Take care, though, as it needs additional ressources (CPU/RAM) to keep them active (other objects/creatures nearby stay active).|
 +|SMART_ACTION_ATTACK_START|49| | | | | | |Allows basic melee swings to creature.|
 +|SMART_ACTION_SUMMON_GO|50|gameobject_template.entry|De-spawn time in seconds.|targetSummon (0/1)|summonType (0 - after a specified time OR when the summoner dies, 1 - after a specified time)| | |Spawns Gameobject, use target_type to set spawn position; if an entity is specified as target and also coordinates are set (target x,y,z) those coordinates are handled as offset from the target's position; if targetSummon is 1 then the target will summon the GO on the position of the actor|
 +|SMART_ACTION_KILL_UNIT|51| | | | | | |Kills Creature.|
 +|SMART_ACTION_ACTIVATE_TAXI|52|TaxiID| | | | | |Sends player to flight path. You have to be close to Flight Master, which gives Taxi ID you need.|
 +|SMART_ACTION_WP_START|53|0 = walk / 1 = run|waypoints.entry|canRepeat|quest_template.id|despawntime|reactState|Creature starts Waypoint Movement. Use waypoints table to create movement.|
 +|SMART_ACTION_WP_PAUSE|54|time (in ms)| | | | | |Creature pauses its Waypoint Movement for given time.|
 +|SMART_ACTION_WP_STOP|55|despawnTime|quest_template.id|fail (0/1)| | | |Creature stops its Waypoint Movement.|
 +|SMART_ACTION_ADD_ITEM|56|item_template.entry|count| | | | |Adds item(s) to player.|
 +|SMART_ACTION_REMOVE_ITEM|57|item_template.entry|count| | | | |Removes item(s) from player.|
 +|SMART_ACTION_INSTALL_AI_TEMPLATE|58|TemplateID (see Predefined SAI templates below)| | | | | | |
 +|SMART_ACTION_SET_RUN|59|0 = Off / 1 = On| | | | | | |
 +|SMART_ACTION_SET_FLY|60|fly (0/1)|speed|disable gravity (0/1)| | | |Only works for creatures with inhabit air.|
 +|SMART_ACTION_SET_SWIM|61|0 = Off / 1 = On| | | | | | |
 +|SMART_ACTION_TELEPORT|62|MapID| | | | | |Continue this action with the TARGET_TYPE column. Use any target_type (except 0), and use target_x, target_y, target_z, target_o as the coordinates|
 +|SMART_ACTION_SET_COUNTER|63|counterID|value|reset (0/1)| | | |If reset is 0 the counter with the specified ID is increased by the given value; if reset is 1 the counter is set to the value.|
 +|SMART_ACTION_STORE_TARGET_LIST|64|varID| | | | | | |
 +|SMART_ACTION_WP_RESUME|65| | | | | | |Creature continues in its Waypoint Movement.|
 +|SMART_ACTION_SET_ORIENTATION|66|Quick Change|Random orientation? (0/1)|Turning Angle (degrees) - The value will turn the creature counterclockwise. target_type must be NONE| | | |Used to alter the source's orientation. Depends on the script target. If SMART_TARGET_SELF, facing will be the same as in HomePosition, For SMART_TARGET_POSITION you need to set target_o : 0 = North, West = 1.5, South = 3, East = 4.5|
 +|SMART_ACTION_CREATE_TIMED_EVENT|67|id|InitialMin|InitialMax|RepeatMin(only if it repeats)|RepeatMax(only if it repeats)|chance| |
 +|SMART_ACTION_PLAYMOVIE|68|entry| | | | | | |
 +|SMART_ACTION_MOVE_TO_POS|69|PointId|isTransport (0 or 1)|controlled (0 or 1)|ContactDistance| | |PointId is called by SMART_EVENT_MOVEMENTINFORM. Continue this action with the TARGET_TYPE column. Use any target_type, and use target_x, target_y, target_z as the coordinates; if an entity is specified as target and also coordinates are set (target x,y,z) those coordinates are handled as offset from the target's position|
 +|SMART_ACTION_RESPAWN_TARGET|70|Respawntime in seconds| | | | | | |
 +|SMART_ACTION_EQUIP|71|creature_equip_template.ID|Slotmask|Slot1 (item_template.entry)|Slot2 (item_template.entry)|Slot3 (item_template.entry)| |only slots with mask set will be sent to client, bits are 1, 2, 4, leaving mask 0 is defaulted to mask 7 (send all), Slots1-3 are only used if no Param1 is set|
 +|SMART_ACTION_CLOSE_GOSSIP|72| | | | | | |Closes gossip window.|
 +|SMART_ACTION_TRIGGER_TIMED_EVENT|73|id(>1)| | | | | | |
 +|SMART_ACTION_REMOVE_TIMED_EVENT|74|id(>1)| | | | | | |
 +|SMART_ACTION_ADD_AURA|75|SpellId| | | | | |Adds aura to player(s). Use target_type 17 to make AoE aura.|
 +|SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT|76| | | | | | |WARNING: CAN CRASH CORE, do not use if you dont know what you are doing|
 +|SMART_ACTION_RESET_SCRIPT_BASE_OBJECT|77| | | | | | | |
 +|SMART_ACTION_CALL_SCRIPT_RESET|78| | | | | | | |
 +|SMART_ACTION_SET_RANGED_MOVEMENT|79|attackDistance|attackAngle| | | | |Sets movement to follow at a specific range to the target.|
 +|SMART_ACTION_CALL_TIMED_ACTIONLIST|80|EntryOrGuid * 100 (entryorguid with 00 added after the entry, or 01, 02, 03 etc. for multiple action lists)|timer update type(0 OOC, 1 IC, 2 ALWAYS)|allowOverride (0 - Must finish current actionlist, 1 - Allow starting new actionlist during previous actionlist)| | | | |
 +|SMART_ACTION_SET_NPC_FLAG|81|creature_template.npcflag| | | | | | |
 +|SMART_ACTION_ADD_NPC_FLAG|82|creature_template.npcflag| | | | | | |
 +|SMART_ACTION_REMOVE_NPC_FLAG|83|creature_template.npcflag| | | | | | |
 +|SMART_ACTION_SIMPLE_TALK|84|creature_text.GroupID| | | | | |Makes a player say text. SMART_EVENT_TEXT_OVER is not triggered and whispers can not be used.|
 +|SMART_ACTION_SELF_CAST|85|SpellId|castFlags|triggeredFlags|limitTargets (0 = all)| | |Makes the target cast spell on self.|
 +|SMART_ACTION_CROSS_CAST|86|SpellID|castFlags|CasterTargetType (caster is selected here, use it as target_type)|CasterTarget (target_param1)|CasterTarget (target_param2)|CasterTarget (target_param3)|This action is used to make selected caster (in CasterTargetType) to cast spell. Actual target is entered in target_type as normally.|
 +|SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST|87|EntryOrGuid 1 (entryorguid * 100 + n)|EntryOrGuid 2 (entryorguid * 100 + n)|EntryOrGuid 3 (entryorguid * 100 + n)|EntryOrGuid 4 (entryorguid * 100 + n)|EntryOrGuid 5 (entryorguid * 100 + n)|EntryOrGuid 6 (entryorguid * 100 + n)|Will select one entry from the ones provided. 0 is ignored.|
 +|SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST|88|EntryOrGuid 1 (entryorguid * 100 + n)|EntryOrGuid 2 (entryorguid * 100 + n)| | | | |0 is ignored.|
 +|SMART_ACTION_RANDOM_MOVE|89|Radius| | | | | |Creature moves to random position in given radius. If radius is 0, then stop movement|
 +|SMART_ACTION_SET_UNIT_FIELD_BYTES_1|90|Value|Type| | | | | |
 +|SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1|91|Value|Type| | | | | |
 +|SMART_ACTION_INTERRUPT_SPELL|92|With delay (0/1)|SpellId|Instant (0/1)| | | |This action allows you to interrupt the current spell being cast. If you do not set the spellId, the core will find the current spell depending on the withDelay and the withInstant values.|
 +|SMART_ACTION_SEND_GO_CUSTOM_ANIM|93|animprogress (0-255)| | | | | | |
 +|SMART_ACTION_SET_DYNAMIC_FLAG|94|creature_template.dynamicflags| | | | | | |
 +|SMART_ACTION_ADD_DYNAMIC_FLAG|95|creature_template.dynamicflags| | | | | | |
 +|SMART_ACTION_REMOVE_DYNAMIC_FLAG|96|creature_template.dynamicflags| | | | | | |
 +|SMART_ACTION_JUMP_TO_POS|97|Speed XY|Speed Z|selfJump (0/1)| | | |If selfJump is 1 the actor will jump to the target (you can add an offset from the target's position by also specifying target coordinates); if selfJump is 0 the targeted creature will jump to the target position|
 +|SMART_ACTION_SEND_GOSSIP_MENU|98|gossip_menu.entry|gossip_menu.text_id| | | | |Can be used together with 'SMART_EVENT_GOSSIP_HELLO' to set custom gossip.|
 +| | | |(same value as npc_text.ID)| | | | | |
 +|SMART_ACTION_GO_SET_LOOT_STATE|99|LootState (0 - Not ready, 1 - Ready, 2 - Activated, 3 - Just deactivated)| | | | | | |
 +|SMART_ACTION_SEND_TARGET_TO_TARGET|100|Id| | | | | |Send targets previously stored with SMART_ACTION_STORE_TARGET, to another npc/go, the other npc/go can then access them as if it was its own stored list|
 +|SMART_ACTION_SET_HOME_POS|101|0: if the target is a creature, set it's current position as it's new home position; if the target is SMART_TARGET_POSITION, use this position as new home position for the actor| | | | | | |
 +| | |1: if the target is a creature, reset it's home position to the one from the DB; if the target is SMART_TARGET_POSITION, reset the actor's home position to the one from the DB (the actual values of the target position are ignored)| | | | | | |
 +|SMART_ACTION_SET_HEALTH_REGEN|102|0/1| | | | | |Sets the current creatures health regen on or off.|
 +|SMART_ACTION_SET_ROOT|103|0/1| | | | | |Enables or disables creature movement|
 +|SMART_ACTION_SET_GO_FLAG|104|gameobject_template_addon.flags| | | | | |oldFlag = newFlag|
 +|SMART_ACTION_ADD_GO_FLAG|105|gameobject_template_addon.flags| | | | | |oldFlag |= newFlag|
 +|SMART_ACTION_REMOVE_GO_FLAG|106|gameobject_template_addon.flags| | | | | |oldFlag &= ~newFlag|
 +|SMART_ACTION_SUMMON_CREATURE_GROUP|107|creature_summon_groups.groupId|attackInvoker (0/1)|attackScriptOwner (0/1)| | | |Use creature_summon_groups table. SAI target has no effect, use 0|
 +|SMART_ACTION_SET_POWER|108|Power type|New power| | | | | |
 +|SMART_ACTION_ADD_POWER|109|Power type|Power to add| | | | | |
 +|SMART_ACTION_REMOVE_POWER|110|Power type|Power to remove| | | | | |
 +|SMART_ACTION_GAME_EVENT_STOP|111|game_event.eventEntry| | | | | | |
 +|SMART_ACTION_GAME_EVENT_START|112|game_event.eventEntry| | | | | | |
 +|SMART_ACTION_START_CLOSEST_WAYPOINT|113|wp1|wp2|wp3|wp4|wp5|wp6|Make target follow closest waypoint to its location|
 +|SMART_ACTION_RISE_UP|114|distance| | | | | |move up for the specified distance (warning: TC 3.3.5 uses another action here: SMART_ACTION_MOVE_OFFSET)|
 +|SMART_ACTION_RANDOM_SOUND|115|soundId1|soundId2|soundId3|soundId4|onlySelf (0/1)|distance| |
 +|SMART_ACTION_SET_CORPSE_DELAY|116|timer (secs)| | | | | | |
 +|SMART_ACTION_DISABLE_EVADE|117|0/1 (1 = disabled, 0 = enabled)| | | | | | |
 +|SMART_ACTION_GO_SET_GO_STATE|118|state| | | | | | |
 +|SMART_ACTION_SET_SIGHT_DIST|121|SightDistance| | | | | | |
 +|SMART_ACTION_FLEE|122|FleeTime| | | | | | |
 +|SMART_ACTION_ADD_THREAT|123|+threat|-threat| | | | | |
 +|SMART_ACTION_LOAD_EQUIPMENT|124|Id|force| | | | | |
 +|SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT|125|id min range|id max range| | | | | |
 +|SMART_ACTION_REMOVE_ALL_GAMEOBJECTS|126| | | | | | | |
 +|SMART_ACTION_INVOKER_CAST|134|SpellId|CastFlags|TriggerFlags|LimitTargets - 0: all targets| | |Make our action invoker type cast a spell to our target type|
 +|SMART_ACTION_PLAY_CINEMATIC|135|entry| | | | | | |
 +|SMART_ACTION_SET_MOVEMENT_SPEED|136|movementType|speedInteger|speedFraction| | | |MOVE_WALK = 0, MOVE_RUN = 1, MOVE_RUN_BACK = 2, MOVE_SWIM = 3, MOVE_SWIM_BACK= 4, MOVE_TURN_RATE= 5, MOVE_FLIGHT = 6, MOVE_FLIGHT_BACK = 7, MOVE_PITCH_RATE = 8|
 +|SMART_ACTION_SET_HEALTH_PCT|142|percent| | | | | | |
 +|SMART_ACTION_MOVE_TO_POS_TARGET|201|pointId| | | | | | |
 +|SMART_ACTION_EXIT_VEHICLE|203| | | | | | | |
 +|SMART_ACTION_SET_UNIT_MOVEMENT_FLAGS|204|flags| | | | | | |
 +|SMART_ACTION_SET_COMBAT_DISTANCE|205|combatDistance| | | | | | |
 +|SMART_ACTION_SET_CASTER_COMBAT_DIST|206|followDistance|resetToMax| | | | | |
 +|SMART_ACTION_SET_HOVER|207|0/1| | | | | | |
 +|SMART_ACTION_ADD_IMMUNITY|208|type|id|value| | | | |
 +|SMART_ACTION_REMOVE_IMMUNITY|209|type|id|value| | | | |
 +|SMART_ACTION_FALL|210| | | | | | | |
 +|SMART_ACTION_SET_EVENT_FLAG_RESET|211|0/1| | | | | | |
 +|SMART_ACTION_STOP_MOTION|212|stopMoving|movementExpired| | | | | |
 +|SMART_ACTION_NO_ENVIRONMENT_UPDATE|213| | | | | | | |
 +|SMART_ACTION_ZONE_UNDER_ATTACK|214| | | | | | | |
 +|SMART_ACTION_LOAD_GRID|215| | | | | | | |
 +|SMART_ACTION_MUSIC|216|SoundId|onlySelf|type| | | |Plays the specified sound file as music. Type can be one of these values:|
 +| | | | | | | | |0: Play music for the specified target(s)|
 +| | | | | | | | |1: Play music for all players in the entire zone|
 +| | | | | | | | |2: Play music for all players in the area.|
 +|SMART_ACTION_RANDOM_MUSIC|217|SoundId1|SoundId2|SoundId3|SoundId4|onlySelf|type|Plays randomly one of the specified sound files as music. Type can be one of these values:|
 +| | | | | | | | |0: Play music for the specified target(s)|
 +| | | | | | | | |1: Play music for all players in the entire zone|
 +| | | | | | | | |2: Play music for all players in the area.|
 +|SMART_ACTION_CUSTOM_CAST|218|spellId|castFlag|bp0|bp1|bp2| | |
 +|SMART_ACTION_CONE_SUMMON|219|entry|Duration (ms)|Distance between rings (yards)|Distance between each summons in a row (yards)|Length of the cone (yards)|Width of the cone (angle 1掳-360掳)|Allows you to spawn creatures in a cone (As seen in later expansions). Useful for custom cone aoes|
 +| | | |0 = permanent| | | | | |
 +|SMART_ACTION_PLAYER_TALK|220|acore_string.id|yell? (0/1)| | | | |Make the player say something|
 +|SMART_ACTION_VORTEX_SUMMON|221|entry|Duration (ms)|Spiral scaling|Spiral appearance|range max|phi_delta|Allows you to summon creature in a customizable spiral(/vortex). Parameters can be confusing, exmaple parameters for testing: 5000 - summon duration, 5 - Spiral Scaling, 25 - spiral appearance, 60 - range max, 40 - phi delta|
 +| | | |0 = permanent| | | | | |
 +|SMART_ACTION_CU_ENCOUNTER_START|222| | | | | | |Resets all cooldowns and removes exhausted debuffs when action is called|
 +|SMART_ACTION_DO_ACTION|223|ActionId| | | | | |Allows to call for a DoAction in code|
 +|SMART_ACTION_ATTACK_STOP|224| | | | | | |Stop melee, spell casting during combat, chasing the target and facing|
 +|SMART_ACTION_SET_GUID|225|0/1 (0 = Self Guid, 1 = Invoker Guid)|Index| | | | |Allows the target to perform an action similar to DO_ACTION, but allows a guid to be sent|
 +|SMART_ACTION_DISABLE|226|0/1 (0 = Disable, 1 = Enable)| | | | | |Disable the targeted creatures, setting them Invisible and Immune to All|
 +|SMART_ACTION_SET_SCALE|227|scale - this value is the percentage of the new scale the targets will take. 100 = default| | | | | |Sets the scale for the targeted creatures|
 +|SMART_ACTION_SUMMON_RADIAL|228|summonEntry - CreatureID to be summoned|summonDuration - duration in ms which the summons will despawn after, if 0 then despawn on death|repetitions - amount of creatures to be summoned|startAngle - offset in degrees, 0: same as source|stepAngle - how many degrees to turn for each summon|dist - distance offset|Summons a set of creatures in a radial pattern, with orientation change specified in parameters|
 +|SMART_ACTION_PLAY_SPELL_VISUAL|229|visualId - can be found within SpellVisual.dbc| | | | | |Makes the targets play the VisualKit ID specified|
 +|SMART_ACTION_FOLLOW_GROUP|230|Follow State (0: Stop Follow, 1: Start Follow)|Smart Follow Type|Distance from Leader divided by 100 (300 = 3.f yards)| | | |Makes the targets follow the source creature in the specified formation. See Smart Follow Types below|
 +|SMART_ACTION_ORIENTATION_TARGET|231|Type (0: Reset to default, 1: Use target.o parameter, 2: Targets face this unit, 3: Use parameters to target a specific creature)|target_type|target_param1|target_param2|target_param3|target_param4|Makes the targets face a specific orientation. If type = 3, then use the parameters as if it were a smart target and they'll face the newly-selected unit|
  
 ==== Predefined SAI templates ==== ==== Predefined SAI templates ====
  
-Description Name Value (Param1) Param2 Param3 Param4 Param5 Param6 Comment +^Description Name^Value (Param1)^Param2^Param3^Param4^Param5^Param6^Comment^ 
-SMARTAI_TEMPLATE_BASIC 0  +|SMARTAI_TEMPLATE_BASIC|0| | | | | | | 
-SMARTAI_TEMPLATE_CASTER 1 spellid repeatMin repeatMax range manaPCT +JOIN: target_param1 as castFlag +|SMARTAI_TEMPLATE_CASTER|1|spellid|repeatMin|repeatMax|range|manaPCT|+JOIN: target_param1 as castFlag| 
-SMARTAI_TEMPLATE_TURRET 2 spellid repeatMin repeatMax range manaPCT +JOIN: target_param1 as castflag +|SMARTAI_TEMPLATE_TURRET|2|spellid|repeatMin|repeatMax|range|manaPCT|+JOIN: target_param1 as castflag| 
-SMARTAI_TEMPLATE_PASSIVE 3  +|SMARTAI_TEMPLATE_PASSIVE|3| | | | | | | 
-SMARTAI_TEMPLATE_CAGED_GO_PART 4 creatureID give credit at point end (0/1)  +|SMARTAI_TEMPLATE_CAGED_GO_PART|4|creatureID|give credit at point end (0/1)| | | | | 
-SMARTAI_TEMPLATE_CAGED_NPC_PART 5 gameObjectID despawntime run (0/1) dist TextGroupID +|SMARTAI_TEMPLATE_CAGED_NPC_PART|5|gameObjectID|despawntime|run (0/1)|dist|TextGroupID| | 
 ==== target_type ==== ==== target_type ====
  
-Name Value target_param1 target_param2 target_param3 target_param4 target_x target_y target_z target_o Comment +^Name^Value^Value^target_param2^target_param3^target_param4^target_x^target_y^target_z^target_o^Comment
-SMART_TARGET_NONE 0 None. +| | | | | | | | | | | | 
-SMART_TARGET_SELF 1 Self cast. +|SMART_TARGET_NONE|0| | | | | | | | |None.| 
-SMART_TARGET_VICTIM 2 Our current target. (ie: highest aggro) +|SMART_TARGET_SELF|1| | | | | | | | |Self cast.| 
-SMART_TARGET_HOSTILE_SECOND_AGGRO 3 Max Range (0: Unlimited) Player Only (0/1) Power Type + 1 Missing Aura Second highest aggro. +|SMART_TARGET_VICTIM|2| | | | | | | | |Our current target. (ie: highest aggro)| 
-SMART_TARGET_HOSTILE_LAST_AGGRO 4 Max Range (0: Unlimited) Player Only (0/1) Power Type + 1 Missing Aura Dead last on aggro. +|SMART_TARGET_HOSTILE_SECOND_AGGRO|3|Max Range (0: Unlimited)|Player Only (0/1)|Power Type + 1|Missing Aura| | | | |Second highest aggro.| 
-SMART_TARGET_HOSTILE_RANDOM 5 Max Range (0: Unlimited) Player Only (0/1) Power Type + 1 Missing Aura Just any random target on our threat list. +|SMART_TARGET_HOSTILE_LAST_AGGRO|4|Max Range (0: Unlimited)|Player Only (0/1)|Power Type + 1|Missing Aura| | | | |Dead last on aggro.| 
-SMART_TARGET_HOSTILE_RANDOM_NOT_TOP 6 Max Range (0: Unlimited) Player Only (0/1) Power Type + 1 Missing Aura Any random target except top threat. +|SMART_TARGET_HOSTILE_RANDOM|5|Max Range (0: Unlimited)|Player Only (0/1)|Power Type + 1|Missing Aura| | | | |Just any random target on our threat list.| 
-SMART_TARGET_ACTION_INVOKER 7 Unit who caused this Event to occur. +|SMART_TARGET_HOSTILE_RANDOM_NOT_TOP|6|Max Range (0: Unlimited)|Player Only (0/1)|Power Type + 1|Missing Aura| | | | |Any random target except top threat.| 
-SMART_TARGET_POSITION 8 x y z o Use xyz from event params. +|SMART_TARGET_ACTION_INVOKER|7| | | | | | | | |Unit who caused this Event to occur.| 
-SMART_TARGET_CREATURE_RANGE 9 creature_template.entry (0 any) minDist maxDist alive state (1 alive, 2 dead, 0 both) All creatures with the specified ID within the specified range and the specified alive state. +|SMART_TARGET_POSITION|8| | | | |x|y|z|o|Use xyz from event params.| 
-SMART_TARGET_CREATURE_GUID 10 creature.guid creature_template.entry getFromHashMap (0/1, this does not work in instances!) Creature with specified GUID and/or specified creature template ID. +|SMART_TARGET_CREATURE_RANGE|9|creature_template.entry (0 any)|minDist|maxDist|alive state (1 alive, 2 dead, 0 both)| | | | |All creatures with the specified ID within the specified range and the specified alive state.| 
-SMART_TARGET_CREATURE_DISTANCE 11 creature_template.entry (0 any) maxDist alive state (1 alive, 2 dead, 0 both) All creatures with the specified ID within the specified distance and the specified alive state. +|SMART_TARGET_CREATURE_GUID|10|creature.guid|creature_template.entry|getFromHashMap (0/1, this does not work in instances!)| | | | | |Creature with specified GUID and/or specified creature template ID.| 
-SMART_TARGET_STORED 12 id Uses pre-stored target(list) +|SMART_TARGET_CREATURE_DISTANCE|11|creature_template.entry (0 any)|maxDist|alive state (1 alive, 2 dead, 0 both)| | | | | |All creatures with the specified ID within the specified distance and the specified alive state.| 
-SMART_TARGET_GAMEOBJECT_RANGE 13 gameobject_template.entry (0 any) minDist maxDist All game objects with the specified ID within the specified range. +|SMART_TARGET_STORED|12|id| | | | | | | |Uses pre-stored target(list)| 
-SMART_TARGET_GAMEOBJECT_GUID 14 gameobject.guid gameobject_template.entry getFromHashMap (0/1, this does not work in instances!) Object with specified GUID and/or specified game object template ID. +|SMART_TARGET_GAMEOBJECT_RANGE|13|gameobject_template.entry (0 any)|minDist|maxDist| | | | | |All game objects with the specified ID within the specified range.| 
-SMART_TARGET_GAMEOBJECT_DISTANCE 15 gameobject_template.entry (0 any) maxDist All objects with the specified ID within the specified distance. +|SMART_TARGET_GAMEOBJECT_GUID|14|gameobject.guid|gameobject_template.entry|getFromHashMap (0/1, this does not work in instances!)| | | | | |Object with specified GUID and/or specified game object template ID.| 
-SMART_TARGET_INVOKER_PARTY 16 Invoker's party members +|SMART_TARGET_GAMEOBJECT_DISTANCE|15|gameobject_template.entry (0 any)|maxDist| | | | | | |All objects with the specified ID within the specified distance.| 
-SMART_TARGET_PLAYER_RANGE 17 minDist maxDist maxCount When target.o is set and it didnt find any targets in min-max range, it will try all possible targets in max range instead. All players up to maxCount within the specified range. Excluding GMs and Dead. +|SMART_TARGET_INVOKER_PARTY|16| | | | | | | | |Invoker's party members| 
-SMART_TARGET_PLAYER_DISTANCE 18 maxDist All players within the specified distance. +|SMART_TARGET_PLAYER_RANGE|17|minDist|maxDist|maxCount| | | | |When target.o is set and it didnt find any targets in min-max range, it will try all possible targets in max range instead.|All players up to maxCount within the specified range. Excluding GMs and Dead.| 
-SMART_TARGET_CLOSEST_CREATURE 19 creature_template.entry (0 any) maxDist (Can be from 0-100 yards) dead? (0/1) Closest creature with the specified ID within the specified range. +|SMART_TARGET_PLAYER_DISTANCE|18|maxDist| | | | | | | |All players within the specified distance.| 
-SMART_TARGET_CLOSEST_GAMEOBJECT 20 gameobject_template.entry (0 any) maxDist (Can be from 0-100 yards) Closest object with specified ID within specified range. +|SMART_TARGET_CLOSEST_CREATURE|19|creature_template.entry (0 any)|maxDist (Can be from 0-100 yards)|dead? (0/1)| | | | | |Closest creature with the specified ID within the specified range.| 
-SMART_TARGET_CLOSEST_PLAYER 21 maxDist Closest player within specified range. +|SMART_TARGET_CLOSEST_GAMEOBJECT|20|gameobject_template.entry (0 any)|maxDist (Can be from 0-100 yards)| | | | | | |Closest object with specified ID within specified range.| 
-SMART_TARGET_ACTION_INVOKER_VEHICLE 22 Unit's vehicle who caused this Event to occur +|SMART_TARGET_CLOSEST_PLAYER|21|maxDist| | | | | | | |Closest player within specified range.| 
-SMART_TARGET_OWNER_OR_SUMMONER 23 use owner of owner (0/1) Unit's owner or summoner +|SMART_TARGET_ACTION_INVOKER_VEHICLE|22| | | | | | | | |Unit's vehicle who caused this Event to occur| 
-SMART_TARGET_THREAT_LIST 24 maxDist (0 any) All units on creature's threat list within the specified distance if maxDist > 0 +|SMART_TARGET_OWNER_OR_SUMMONER|23|use owner of owner (0/1)| | | | | | | |Unit's owner or summoner| 
-SMART_TARGET_CLOSEST_ENEMY 25 maxDist playerOnly (0/1) Any attackable target (creature or player) within maxDist +|SMART_TARGET_THREAT_LIST|24|maxDist (0 any)| | | | | | | |All units on creature's threat list within the specified distance if maxDist > 0| 
-SMART_TARGET_CLOSEST_FRIENDLY 26 maxDist playerOnly (0/1) Any friendly unit (creature, player or pet) within maxDist +|SMART_TARGET_CLOSEST_ENEMY|25|maxDist|playerOnly (0/1)| | | | | | |Any attackable target (creature or player) within maxDist| 
-SMART_TARGET_LOOT_RECIPIENTS 27 All players that have tagged this creature (for kill credit) +|SMART_TARGET_CLOSEST_FRIENDLY|26|maxDist|playerOnly (0/1)| | | | | | |Any friendly unit (creature, player or pet) within maxDist| 
-SMART_TARGET_FARTHEST 28 maxDist playerOnly (0/1) isInLos (0/1) Farthest unit on the threat list +|SMART_TARGET_LOOT_RECIPIENTS|27| | | | | | | | |All players that have tagged this creature (for kill credit)| 
-SMART_TARGET_VEHICLE_PASSENGER 29 seat number (vehicle can target it's own accessory)  +|SMART_TARGET_FARTHEST|28|maxDist|playerOnly (0/1)|isInLos (0/1)| | | | | |Farthest unit on the threat list| 
-SMART_TARGET_PLAYER_WITH_AURA 201 spellID Negative (0/1) MaxDist MinDist Number to resize the target list Target players with or without aura +|SMART_TARGET_VEHICLE_PASSENGER|29|seat number (vehicle can target it's own accessory)| | | | | | | | | 
-SMART_TARGET_RANDOM_POINT 202 range (yards) amount (for summoning creature) self as middle (0/1) +|SMART_TARGET_PLAYER_WITH_AURA|201|spellID|Negative (0/1)|MaxDist|MinDist| | | |Number to resize the target list|Target players with or without aura| 
-else use xyz This only works with SMART_ACTION_SUMMON_CREATURE, SMART_ACTION_MOVE_TO_POS and SMART_ACTION_JUMP_TO_POS +|SMART_TARGET_RANDOM_POINT|202|range (yards)|amount (for summoning creature)|self as middle (0/1)| | | | | |This only works with SMART_ACTION_SUMMON_CREATURE, SMART_ACTION_MOVE_TO_POS and SMART_ACTION_JUMP_TO_POS| 
-SMART_TARGET_ROLE_SELECTION 203 rangeMax (yards) TargetMask (Tanks (1), Healer (2) Damage (4)) Resize list Target a Tank/Healer/DPS role. Based on the players spec. +| | | | |else use xyz| | | | | | | 
-SMART_TARGET_SUMMONED_CREATURES 204 creature_template.Entry  +|SMART_TARGET_ROLE_SELECTION|203|rangeMax (yards)|TargetMask (Tanks (1), Healer (2) Damage (4))|Resize list| | | | | |Target a Tank/Healer/DPS role. Based on the players spec.| 
-SMART_TARGET_INSTANCE_STORAGE 205 data index Type (creature (1), gameobject (2)) +|SMART_TARGET_SUMMONED_CREATURES|204|creature_template.Entry| | | | | | | | | 
 +|SMART_TARGET_INSTANCE_STORAGE|205|data index|Type (creature (1), gameobject (2))| | | | | | | | 
 ==== comment ==== ==== comment ====
  
行 338: 行 440:
 "Minion of Gurok - On spawn - Set Random Movement" "Minion of Gurok - On spawn - Set Random Movement"
  
-Quick notes:+**Quick notes:**
  
-Always update creature_template,gameobject_template or areatrigger_scripts with:+  * Always update //creature_template,gameobject_template or areatrigger_scripts// with: 
 +<code>
 UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = y; UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = y;
  
 UPDATE `gameobject_template` SET `AIName` = 'SmartGameObjectAI' WHERE `entry` = y; UPDATE `gameobject_template` SET `AIName` = 'SmartGameObjectAI' WHERE `entry` = y;
 +</code>
 INSERT INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES (y, 'SmartTrigger'); INSERT INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES (y, 'SmartTrigger');
-If the creature or GO is inside a dungeon, set event_flags accordingly to the instance difficulty (heroic, 25 man, etc.). +  * If the creature or GO is inside a dungeon, set event_flags accordingly to the instance difficulty (heroic, 25 man, etc.). 
-In case of doubt about an Event, Action_or _Target,_check source code (_src/server/game/AI/SmartScripts files; mainly *SmartScript.cpp) +**In case of doubt about an Event, //Action_or _Target,_check source code (_src/server/game/AI/SmartScripts files; mainly *SmartScript.cpp)// 
 +**
 ==== Cast Flags ==== ==== Cast Flags ====
  
-Name Flag Hex Comment +^Name^Flag^Hex^Comment^ 
-SMARTCAST_INTERRUPT_PREVIOUS 1 0x001 Interrupt any spell casting +|SMARTCAST_INTERRUPT_PREVIOUS|1|0x001|Interrupt any spell casting| 
-SMARTCAST_TRIGGERED 2 0x002 Triggered (this makes spell cost zero mana and have no cast time) +|SMARTCAST_TRIGGERED|2|0x002|Triggered (this makes spell cost zero mana and have no cast time)| 
-SMARTCAST_AURA_NOT_PRESENT 32 0x020 Only casts the spell if the target does not have an aura from the spell +|SMARTCAST_AURA_NOT_PRESENT|32|0x020|Only casts the spell if the target does not have an aura from the spell| 
-SMARTCAST_COMBAT_MOVE 64 0x040 Prevent combat movement on cast, allow on fail range, mana, LOS +|SMARTCAST_COMBAT_MOVE|64|0x040|Prevent combat movement on cast, allow on fail range, mana, LOS| 
-SMARTCAST_THREATLIST_NOT_SINGLE 128 0x080 Only cast if the source's threatlist is higher than one. This includes pets +|SMARTCAST_THREATLIST_NOT_SINGLE|128|0x080|Only cast if the source's threatlist is higher than one. This includes pets| 
-SMARTCAST_TARGET_POWER_MANA 256 0x100 Only cast if the target has power type mana+|SMARTCAST_TARGET_POWER_MANA|256|0x100|Only cast if the target has power type mana
 ==== Triggered Flags ==== ==== Triggered Flags ====
  
-Name Flag Hex Comment +^Name^Flag^Hex^Comment^ 
-TRIGGERED_NONE 0 0x00000000 Not triggered +|TRIGGERED_NONE|0|0x00000000|Not triggered| 
-TRIGGERED_IGNORE_GCD 1 0x00000001 Will ignore GCD +|TRIGGERED_IGNORE_GCD|1|0x00000001|Will ignore GCD| 
-TRIGGERED_IGNORE_SPELL_AND_CATEGORY_CD 2 0x00000002 Will ignore Spell and Category cooldowns +|TRIGGERED_IGNORE_SPELL_AND_CATEGORY_CD|2|0x00000002|Will ignore Spell and Category cooldowns| 
-TRIGGERED_IGNORE_POWER_AND_REAGENT_COST 4 0x00000004 Will ignore power and reagent cost +|TRIGGERED_IGNORE_POWER_AND_REAGENT_COST|4|0x00000004|Will ignore power and reagent cost| 
-TRIGGERED_IGNORE_CAST_ITEM 8 0x00000008 Will not take away cast item or update related achievement criteria +|TRIGGERED_IGNORE_CAST_ITEM|8|0x00000008|Will not take away cast item or update related achievement criteria| 
-RIGGERED_IGNORE_AURA_SCALING 16 0x00000010 Will ignore aura scaling +|RIGGERED_IGNORE_AURA_SCALING|16|0x00000010|Will ignore aura scaling| 
-TRIGGERED_IGNORE_CAST_IN_PROGRESS 32 0x00000020 Will not check if a current cast is in progress +|TRIGGERED_IGNORE_CAST_IN_PROGRESS|32|0x00000020|Will not check if a current cast is in progress| 
-TRIGGERED_IGNORE_COMBO_POINTS 64 0x00000040 Will ignore combo point requirement +|TRIGGERED_IGNORE_COMBO_POINTS|64|0x00000040|Will ignore combo point requirement| 
-TRIGGERED_CAST_DIRECTLY 128 0x00000080 In Spell::prepare, will be cast directly without setting containers for executed spell +|TRIGGERED_CAST_DIRECTLY|128|0x00000080|In Spell::prepare, will be cast directly without setting containers for executed spell| 
-TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS 256 0x00000100 Will ignore interruptible aura's at cast +|TRIGGERED_IGNORE_AURA_INTERRUPT_FLAGS|256|0x00000100|Will ignore interruptible aura's at cast| 
-TRIGGERED_IGNORE_SET_FACING 512 0x00000200 Will not adjust facing to target (if any) +|TRIGGERED_IGNORE_SET_FACING|512|0x00000200|Will not adjust facing to target (if any)| 
-TRIGGERED_IGNORE_SHAPESHIFT 1024 0x00000400 Will ignore shapeshift checks +|TRIGGERED_IGNORE_SHAPESHIFT|1024|0x00000400|Will ignore shapeshift checks| 
-TRIGGERED_IGNORE_CASTER_AURASTATE 2048 0x00000800 Will ignore caster aura states including combat requirements and death state +|TRIGGERED_IGNORE_CASTER_AURASTATE|2048|0x00000800|Will ignore caster aura states including combat requirements and death state| 
-TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE 8192 0x00002000 Will ignore mounted/on vehicle restrictions +|TRIGGERED_IGNORE_CASTER_MOUNTED_OR_ON_VEHICLE|8192|0x00002000|Will ignore mounted/on vehicle restrictions| 
-TRIGGERED_IGNORE_CASTER_AURAS 65536 0x00010000 Will ignore caster aura restrictions or requirements +|TRIGGERED_IGNORE_CASTER_AURAS|65536|0x00010000|Will ignore caster aura restrictions or requirements| 
-TRIGGERED_DISALLOW_PROC_EVENTS 131072 0x00020000 Disallows proc events from triggered spell (default) +|TRIGGERED_DISALLOW_PROC_EVENTS|131072|0x00020000|Disallows proc events from triggered spell (default)| 
-TRIGGERED_DONT_REPORT_CAST_ERROR 262144 0x00040000 Will return SPELL_FAILED_DONT_REPORT in CheckCast functions +|TRIGGERED_DONT_REPORT_CAST_ERROR|262144|0x00040000|Will return SPELL_FAILED_DONT_REPORT in CheckCast functions| 
-TRIGGERED_FULL_MASK 524287 0x0007FFFF All triggered flags +|TRIGGERED_FULL_MASK|524287|0x0007FFFF|All triggered flags| 
-TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT 524288 0x00080000 Will ignore equipped item requirements +|TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT|524288|0x00080000|Will ignore equipped item requirements| 
-TRIGGERED_NO_PERIODIC_RESET 1048576 0x00100000 Periodic aura tick wont be reset on override +|TRIGGERED_NO_PERIODIC_RESET|1048576|0x00100000|Periodic aura tick wont be reset on override| 
-TRIGGERED_FULL_DEBUG_MASK 4294967295 0xFFFFFFFF  +|TRIGGERED_FULL_DEBUG_MASK|4294967295|0xFFFFFFFF| |
-NOTICE: If triggeredFlags = 0, cast will trigger with TRIGGERED_FULL_MASK = 524287.+
  
 +**NOTICE:** If triggeredFlags = 0, cast will trigger with TRIGGERED_FULL_MASK = 524287.
 ==== React States ==== ==== React States ====
  
-Name Value Comment +^Name^Value^Comment^ 
-REACT_PASSIVE 0 Does not defend or attack at all. Does nothing. +|REACT_PASSIVE|0|Does not defend or attack at all. Does nothing.| 
-REACT_DEFENSIVE 1 Only attacks back when attacked. +|REACT_DEFENSIVE|1|Only attacks back when attacked.| 
-REACT_AGGRESSIVE 2 Will attack if on threat list and in threat radius. (default)+|REACT_AGGRESSIVE|2|Will attack if on threat list and in threat radius. (default)
 ==== Summon Types ==== ==== Summon Types ====
  
-Name Value Comment +|TEMPSUMMON_TIMED_OR_DEAD_DESPAWN|1|Despawns after a specified time OR when the creature disappears.| 
-TEMPSUMMON_TIMED_OR_DEAD_DESPAWN 1 Despawns after a specified time OR when the creature disappears. +|TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN|2|Despawns after a specified time OR when the creature dies.| 
-TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN 2 Despawns after a specified time OR when the creature dies. +|TEMPSUMMON_TIMED_DESPAWN|3|Despawns after a specified time.| 
-TEMPSUMMON_TIMED_DESPAWN 3 Despawns after a specified time. +|TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT|4|Despawns after a specified time after the creature is out of combat.| 
-TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT 4 Despawns after a specified time after the creature is out of combat. +|TEMPSUMMON_CORPSE_DESPAWN|5|Despawns instantly after death.| 
-TEMPSUMMON_CORPSE_DESPAWN 5 Despawns instantly after death. +|TEMPSUMMON_CORPSE_TIMED_DESPAWN|6|Despawns after a specified time after death.| 
-TEMPSUMMON_CORPSE_TIMED_DESPAWN 6 Despawns after a specified time after death. +|TEMPSUMMON_DEAD_DESPAWN|7|Despawns when the creature disappears.| 
-TEMPSUMMON_DEAD_DESPAWN 7 Despawns when the creature disappears. +|TEMPSUMMON_MANUAL_DESPAWN|8|Despawns when UnSummon() (or Force Despawn action) is called.
-TEMPSUMMON_MANUAL_DESPAWN 8 Despawns when UnSummon() (or Force Despawn action) is called.+
 ==== Smart Follow Types ==== ==== Smart Follow Types ====
  
-Name Value Comment +^Name^Value^Comment^ 
-FOLLOW_TYPE_CIRCLE 1 360º Degrees around leader. 90º Degrees is the maximum angle. +|FOLLOW_TYPE_CIRCLE|1|360º Degrees around leader. 90º Degrees is the maximum angle.| 
-FOLLOW_TYPE_SEMI_CIRCLE_BEHIND 2 180º Degrees behind leader. +|FOLLOW_TYPE_SEMI_CIRCLE_BEHIND|2|180º Degrees behind leader.| 
-FOLLOW_TYPE_SEMI_CIRCLE_FRONT 3 180º Degrees in front of leader. +|FOLLOW_TYPE_SEMI_CIRCLE_FRONT|3|180º Degrees in front of leader.| 
-FOLLOW_TYPE_LINE 4 Front -> Back -> Front -> Back. +|FOLLOW_TYPE_LINE|4|Front -> Back -> Front -> Back.| 
-FOLLOW_TYPE_COLUMN 5 Left -> Right -> Left -> Right. +|FOLLOW_TYPE_COLUMN|5|Left -> Right -> Left -> Right.| 
-FOLLOW_TYPE_ANGULAR 6 Geese-like formation 135º and 225º degrees behind leader.+|FOLLOW_TYPE_ANGULAR|6|Geese-like formation 135º and 225º degrees behind leader.
 ==== Power Types ==== ==== Power Types ====
  
-Name Value +^Name^Value^ 
-POWER_MANA 0 +|POWER_MANA|0| 
-POWER_RAGE 1 +|POWER_RAGE|1| 
-POWER_FOCUS 2 +|POWER_FOCUS|2| 
-POWER_ENERGY 3+|POWER_ENERGY|3
 ==== Invoker: ==== ==== Invoker: ====
  
数据库/world数据库/smart_scripts.1696326966.txt.gz · 最后更改: 2023/10/03 17:56 由 admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki