SAI/Compat

* add changes from TC of the last three years
* reduce redundancy when handling creature text
* reserve more space in target, event, action parameters. Move own parameters further back to avoid confict with future param expansion by TC
This commit is contained in:
Sarjuuk
2020-10-17 12:27:59 +02:00
parent 003ac1c931
commit e2fe765980
12 changed files with 698 additions and 492 deletions

View File

@@ -79,7 +79,7 @@ $lang = array(
'links' => "Links",
'compare' => "Compare",
'view3D' => "View in 3D",
'findUpgrades' => "Find upgrades...",
'findUpgrades' => "Find upgrades",
// misc Tools
'errPageTitle' => "Page not found",
@@ -431,27 +431,27 @@ $lang = array(
'eventUNK' => '[span class=q10]Unknwon event #[b class=q1]%d[/b] in use.[/span]',
'eventTT' => '[b class=q1]EventType %d[/b][br][table][tr][td]PhaseMask[/td][td=header]0x%04X[/td][/tr][tr][td]Chance[/td][td=header]%d%%%%[/td][/tr][tr][td]Flags[/td][td=header]0x%04X[/td][/tr][tr][td]Param1[/td][td=header]%d[/td][/tr][tr][td]Param2[/td][td=header]%d[/td][/tr][tr][td]Param3[/td][td=header]%d[/td][/tr][tr][td]Param4[/td][td=header]%d[/td][/tr][tr][td]Param5[/td][td=header]%d[/td][/tr][/table]',
'events' => array(
SAI_EVENT_UPDATE_IC => ['(%7$d)?:When in combat, ;(%6$s)?After %6$s:Instantly;', 'Repeat every %s'],
SAI_EVENT_UPDATE_OOC => ['(%7$d)?:When out of combat, ;(%6$s)?After %6$s:Instantly;', 'Repeat every %s'],
SAI_EVENT_HEALT_PCT => ['At %6$s%% Health', 'Repeat every %s'],
SAI_EVENT_MANA_PCT => ['At %6$s%% Mana', 'Repeat every %s'],
SAI_EVENT_UPDATE_IC => ['(%12$d)?:When in combat, ;(%11$s)?After %11$s:Instantly;', 'Repeat every %s'],
SAI_EVENT_UPDATE_OOC => ['(%12$d)?:When out of combat, ;(%11$s)?After %11$s:Instantly;', 'Repeat every %s'],
SAI_EVENT_HEALTH_PCT => ['At %11$s%% Health', 'Repeat every %s'],
SAI_EVENT_MANA_PCT => ['At %11$s%% Mana', 'Repeat every %s'],
SAI_EVENT_AGGRO => ['On Aggro', null],
SAI_EVENT_KILL => ['On killing (%3$d)?player:;(%4$d)?[npc=%4$d]:any creature;', 'Cooldown: %s'],
SAI_EVENT_DEATH => ['On death', null],
SAI_EVENT_EVADE => ['When evading', null],
SAI_EVENT_SPELLHIT => ['When hit by (%6$s)?%6$s :;(%1$d)?[spell=%1$d]:Spell;', 'Cooldown: %s'],
SAI_EVENT_RANGE => ['On target at %6$sm', 'Repeat every %s'],
SAI_EVENT_SPELLHIT => ['When hit by (%11$s)?%11$s :;(%1$d)?[spell=%1$d]:Spell;', 'Cooldown: %s'],
SAI_EVENT_RANGE => ['On target at %11$sm', 'Repeat every %s'],
/* 10*/ SAI_EVENT_OOC_LOS => ['While out of combat, (%1$d)?friendly:hostile; (%5$d)?player:unit; enters line of sight within %2$dm', 'Cooldown: %s'],
SAI_EVENT_RESPAWN => ['On respawn', null],
SAI_EVENT_TARGET_HEALTH_PCT => ['On target at %6$s%% health', 'Repeat every %s'],
SAI_EVENT_TARGET_HEALTH_PCT => ['On target at %11$s%% health', 'Repeat every %s'],
SAI_EVENT_VICTIM_CASTING => ['Current target is casting (%3$d)?[spell=%3$d]:any spell;', 'Repeat every %s'],
SAI_EVENT_FRIENDLY_HEALTH => ['Friendly NPC within %2$dm is at %1$d health', 'Repeat every %s'],
SAI_EVENT_FRIENDLY_IS_CC => ['Friendly NPC within %1$dm is crowd controlled', 'Repeat every %s'],
SAI_EVENT_FRIENDLY_MISSING_BUFF => ['Friendly NPC within %2$dm is missing [spell=%1$d]', 'Repeat every %s'],
SAI_EVENT_SUMMONED_UNIT => ['Just summoned (%1$d)?[npc=%1$d]:any creature;', 'Cooldown: %s'],
SAI_EVENT_TARGET_MANA_PCT => ['On target at %6$s%% mana', 'Repeat every %s'],
SAI_EVENT_ACCEPTED_QUEST => ['Giving (%1$d)?[quest=%1$d]:any quest;', null],
/* 20*/ SAI_EVENT_REWARD_QUEST => ['Rewarding (%1$d)?[quest=%1$d]:any quest;', null],
SAI_EVENT_TARGET_MANA_PCT => ['On target at %11$s%% mana', 'Repeat every %s'],
SAI_EVENT_ACCEPTED_QUEST => ['Giving (%1$d)?[quest=%1$d]:any quest;', 'Cooldown: %s'],
/* 20*/ SAI_EVENT_REWARD_QUEST => ['Rewarding (%1$d)?[quest=%1$d]:any quest;', 'Cooldown: %s'],
SAI_EVENT_REACHED_HOME => ['Arriving at home coordinates', null],
SAI_EVENT_RECEIVE_EMOTE => ['Being targeted with [emote=%1$d]', 'Cooldown: %s'],
SAI_EVENT_HAS_AURA => ['(%2$d)?Having %2$d stacks of:Missing aura; [spell=%1$d]', 'Repeat every %s'],
@@ -462,9 +462,9 @@ $lang = array(
SAI_EVENT_PASSENGER_REMOVED => ['A passenger got off', 'Cooldown: %s'],
SAI_EVENT_CHARMED => ['(%1$d)?On being charmed:On charm wearing off;', null],
/* 30*/ SAI_EVENT_CHARMED_TARGET => ['When charming #target#', null],
SAI_EVENT_SPELLHIT_TARGET => ['When #target# gets hit by (%6$s)?%6$s :;(%1$d)?[spell=%1$d]:Spell;', 'Cooldown: %s'],
SAI_EVENT_DAMAGED => ['After taking %6$s points of damage', 'Repeat every %s'],
SAI_EVENT_DAMAGED_TARGET => ['After #target# took %6$s points of damage', 'Repeat every %s'],
SAI_EVENT_SPELLHIT_TARGET => ['When #target# gets hit by (%11$s)?%11$s :;(%1$d)?[spell=%1$d]:Spell;', 'Cooldown: %s'],
SAI_EVENT_DAMAGED => ['After taking %11$s points of damage', 'Repeat every %s'],
SAI_EVENT_DAMAGED_TARGET => ['After #target# took %11$s points of damage', 'Repeat every %s'],
SAI_EVENT_MOVEMENTINFORM => ['Started moving to point #[b]%2$d[/b](%1$d)? using MotionType #[b]%1$d[/b]:;', null],
SAI_EVENT_SUMMON_DESPAWNED => ['Summoned [npc=%1$d] despawned', 'Cooldown: %s'],
SAI_EVENT_CORPSE_REMOVED => ['On corpse despawn', null],
@@ -484,20 +484,20 @@ $lang = array(
/* 50*/ null,
null,
SAI_EVENT_TEXT_OVER => ['(%2$d)?[npc=%2$d]:any creature; is done talking TextGroup #[b]%1$d[/b]', null],
SAI_EVENT_RECEIVE_HEAL => ['Received %6$s points of healing', 'Cooldown: %s'],
SAI_EVENT_RECEIVE_HEAL => ['Received %11$s points of healing', 'Cooldown: %s'],
SAI_EVENT_JUST_SUMMONED => ['On being summoned', null],
SAI_EVENT_WAYPOINT_PAUSED => ['Pausing path on (%1$d)?waypoint #[b]%1$d[/b]:any waypoint;(%2$d)? on path #[b]%2$d[/b]:;', null],
SAI_EVENT_WAYPOINT_RESUMED => ['Resuming path on (%1$d)?waypoint #[b]%1$d[/b]:any waypoint;(%2$d)? on path #[b]%2$d[/b]:;', null],
SAI_EVENT_WAYPOINT_STOPPED => ['Stopping path on (%1$d)?waypoint #[b]%1$d[/b]:any waypoint;(%2$d)? on path #[b]%2$d[/b]:;', null],
SAI_EVENT_WAYPOINT_ENDED => ['Ending current path on (%1$d)?waypoint #[b]%1$d[/b]:any waypoint;(%2$d)? on path #[b]%2$d[/b]:;', null],
SAI_EVENT_TIMED_EVENT_TRIGGERED => ['Timed event #[b]%1$d[/b] is triggered', null],
/* 60*/ SAI_EVENT_UPDATE => ['(%6$s)?After %6$s:Instantly;', 'Repeat every %s'],
SAI_EVENT_LINK => ['After Event %6$s', null],
SAI_EVENT_GOSSIP_SELECT => ['Selecting Gossip Option:[br](%6$s)?[span class=q1]%6$s[/span]:Menu #[b]%1$d[/b] - Option #[b]%2$d[/b];', null],
/* 60*/ SAI_EVENT_UPDATE => ['(%11$s)?After %11$s:Instantly;', 'Repeat every %s'],
SAI_EVENT_LINK => ['After Event %11$s', null],
SAI_EVENT_GOSSIP_SELECT => ['Selecting Gossip Option:[br](%11$s)?[span class=q1]%11$s[/span]:Menu #[b]%1$d[/b] - Option #[b]%2$d[/b];', null],
SAI_EVENT_JUST_CREATED => ['On being spawned for the first time', null],
SAI_EVENT_GOSSIP_HELLO => ['Opening Gossip', null],
SAI_EVENT_GOSSIP_HELLO => ['Opening Gossip', '(%1$d)?onGossipHello:;(%2$d)?onReportUse:;'],
SAI_EVENT_FOLLOW_COMPLETED => ['Finished following', null],
SAI_EVENT_EVENT_PHASE_CHANGE => ['Event Phase changed and matches %6$s', null],
SAI_EVENT_EVENT_PHASE_CHANGE => ['Event Phase changed and matches %11$s', null],
SAI_EVENT_IS_BEHIND_TARGET => ['Facing the backside of #target#', 'Cooldown: %s'],
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] started', null],
SAI_EVENT_GAME_EVENT_END => ['[event=%1$d] ended', null],
@@ -505,9 +505,9 @@ $lang = array(
SAI_EVENT_GO_EVENT_INFORM => ['Taxi path event #[b]%1$d[/b] trigered', null],
SAI_EVENT_ACTION_DONE => ['Executed action #[b]%1$d[/b] requested by script', null],
SAI_EVENT_ON_SPELLCLICK => ['Spellclick triggered', null],
SAI_EVENT_FRIENDLY_HEALTH_PCT => ['Health of #target# is at %6$s%%', 'Repeat every %s'],
SAI_EVENT_DISTANCE_CREATURE => ['[npc=%6$d](%1$d)? with GUID #%1$d:; enters range at or below %2$dm', 'Repeat every %s'],
SAI_EVENT_DISTANCE_GAMEOBJECT => ['[object=%6$d](%1$d)? with GUID #%1$d:; enters range at or below %2$dm', 'Repeat every %s'],
SAI_EVENT_FRIENDLY_HEALTH_PCT => ['Health of #target# is at %12$s%%', 'Repeat every %s'],
SAI_EVENT_DISTANCE_CREATURE => ['[npc=%11$d](%1$d)? with GUID #%1$d:; enters range at or below %2$dm', 'Repeat every %s'],
SAI_EVENT_DISTANCE_GAMEOBJECT => ['[object=%11$d](%1$d)? with GUID #%1$d:; enters range at or below %2$dm', 'Repeat every %s'],
SAI_EVENT_COUNTER_SET => ['Counter #[b]%1$d[/b] is equal to [b]%2$d[/b]', null],
),
'eventFlags' => array(
@@ -525,7 +525,7 @@ $lang = array(
null,
SAI_ACTION_TALK => ['(%3$d)?Say:#target# says; (%7$d)?TextGroup:[span class=q10]unknown text[/span]; #[b]%1$d[/b] to #target#%8$s', 'Duration: %s'],
SAI_ACTION_SET_FACTION => ['(%1$d)?Set faction of #target# to [faction=%7$d]:Reset faction of #target#;.', null],
SAI_ACTION_MORPH_TO_ENTRY_OR_MODEL => ['(%7$d)?Reset apperance.:Take the appearance of;(%1$d)?[npc=%1$d].:;(%2$d)?[model npc=%2$d border=1 float=right][/model]:;', null],
SAI_ACTION_MORPH_TO_ENTRY_OR_MODEL => ['(%7$d)?Reset apperance.:Take the appearance of;(%1$d)? [npc=%1$d].:;(%2$d)?[model npc=%2$d border=1 float=right][/model]:;', null],
SAI_ACTION_SOUND => ['Play sound(%2$d)? to invoking player:;:[div float=right width=270px][sound=%1$d][/div]', 'Played by environment.'],
SAI_ACTION_PLAY_EMOTE => ['Emote [emote=%1$d] to #target#.', null],
SAI_ACTION_FAIL_QUEST => ['Fail [quest=%1$d] for #target#.', null],
@@ -545,20 +545,20 @@ $lang = array(
SAI_ACTION_ALLOW_COMBAT_MOVEMENT => ['(%1$d)?Enable:Disable; combat movement.', null],
SAI_ACTION_SET_EVENT_PHASE => ['Set Event Phase of #target# to [b]%1$d[/b].', null],
SAI_ACTION_INC_EVENT_PHASE => ['(%1$d)?Increment:Decrement; Event Phase of #target#.', null],
SAI_ACTION_EVADE => ['#target# enters Evade Mode.', null],
SAI_ACTION_EVADE => ['#target# evades to (%1$d)?last stored:respawn; position.', null],
SAI_ACTION_FLEE_FOR_ASSIST => ['Flee for assistance.', 'Use default flee emote'],
SAI_ACTION_CALL_GROUPEVENTHAPPENS => ['Satisfy objective of [quest=%1$d] for #target#.', null],
SAI_ACTION_COMBAT_STOP => ['End current combat.', null],
SAI_ACTION_REMOVEAURASFROMSPELL => ['Remove (%1$d)?all auras:auras of [spell=%1$d]; from #target#.', null],
SAI_ACTION_REMOVEAURASFROMSPELL => ['Remove (%1$d)?all auras:auras of [spell=%1$d]; from #target#.', 'Only own auras'],
SAI_ACTION_FOLLOW => ['Follow #target#(%1$d)? at %1$dm distance:;(%3$d)? until reaching [npc=%3$d]:;.', '(%7$d)?Angle: %7$.2f°:;(%8$d)? Some form of Quest Credit is given:;'],
/* 30*/ SAI_ACTION_RANDOM_PHASE => ['Pick random Event Phase from %7$s.', null],
SAI_ACTION_RANDOM_PHASE_RANGE => ['Pick random Event Phase between %1$d and %2$d.', null],
SAI_ACTION_RESET_GOBJECT => ['Reset #target#.', null],
SAI_ACTION_CALL_KILLEDMONSTER => ['A kill of [npc=%1$d] is credited to #target#.', null],
SAI_ACTION_SET_INST_DATA => ['Set Instance (%3$d)?Boss State:Data Field; #[b]%1$d[/b] to [b]%2$d[/b].', null],
null,
null, // SMART_ACTION_SET_INST_DATA64 = 35
SAI_ACTION_UPDATE_TEMPLATE => ['Transform to become [npc=%1$d](%2$d)? with level [b]%2$d[/b]:;.', null],
SAI_ACTION_DIE => ['Die...   painfully.', null],
SAI_ACTION_DIE => ['Die   painfully.', null],
SAI_ACTION_SET_IN_COMBAT_WITH_ZONE => ['Set in combat with units in zone.', null],
SAI_ACTION_CALL_FOR_HELP => ['Call for help.', 'Use default help emote'],
/* 40*/ SAI_ACTION_SET_SHEATH => ['Sheath %7$s weapons.', null],
@@ -567,7 +567,7 @@ $lang = array(
SAI_ACTION_MOUNT_TO_ENTRY_OR_MODEL => ['(%7$d)?Dismount.:Mount ;(%1$d)?[npc=%1$d].:;(%2$d)?[model npc=%2$d border=1 float=right][/model]:;', null],
SAI_ACTION_SET_INGAME_PHASE_MASK => ['Set visibility of #target# to phase %7$s.', null],
SAI_ACTION_SET_DATA => ['[b]%2$d[/b] is stored in data field #[b]%1$d[/b] of #target#.', null],
null,
SAI_ACTION_ATTACK_STOP => ['Stop attacking.', null],
SAI_ACTION_SET_VISIBILITY => ['#target# becomes (%1$d)?visible:invisible;.', null],
SAI_ACTION_SET_ACTIVE => ['#target# becomes Grid (%1$d)?active:inactive;.', null],
SAI_ACTION_ATTACK_START => ['Start attacking #target#.', null],
@@ -606,7 +606,7 @@ $lang = array(
SAI_ACTION_ADD_NPC_FLAG => ['Add %7$s npc flags to #target#.', null],
SAI_ACTION_REMOVE_NPC_FLAG => ['Remove %7$s npc flags from #target#.', null],
SAI_ACTION_SIMPLE_TALK => ['#target# says (%7$s)?TextGroup:[span class=q10]unknown text[/span]; #[b]%1$d[/b] to #target#%7$s', null],
SAI_ACTION_INVOKER_CAST => ['Invoker casts [spell=%1$d] at #target#.', null],
SAI_ACTION_SELF_CAST => ['Self casts [spell=%1$d] at #target#.', null],
SAI_ACTION_CROSS_CAST => ['%7$s casts [spell=%1$d] at #target#.', null],
SAI_ACTION_CALL_RANDOM_TIMED_ACTIONLIST => ['Call Timed Actionlist at random: [html]%7$s[/html]', null],
SAI_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST => ['Call Timed Actionlist at random from range: [html]%7$s[/html]', null],
@@ -648,7 +648,19 @@ $lang = array(
SAI_ACTION_LOAD_EQUIPMENT => ['(%2$d)?Unequip non-standard items:Equip %7$s; from equipment template #[b]%1$d[/b] on #target#.', 'Note: creature items do not necessarily have an item template'],
SAI_ACTION_TRIGGER_RANDOM_TIMED_EVENT => ['Trigger previously defined timed event in id range %7$s.', null],
SAI_ACTION_REMOVE_ALL_GAMEOBJECTS => ['Remove all gameobjects owned by #target#.', null],
SAI_ACTION_STOP_MOTION => ['(%1$d)?Remove motion type #[b]%1$d[/b] from #target#. :;(%2$d)?Stop moving.:;', null],
SAI_ACTION_PAUSE_MOVEMENT => ['Pause movement from slot #[b]%1$d[/b] for %7$s.', 'Forced'],
null, // SAI_ACTION_PLAY_ANIMKIT = 128, // don't use on 3.3.5a
null, // SAI_ACTION_SCENE_PLAY = 129, // don't use on 3.3.5a
/*130*/ null, // SAI_ACTION_SCENE_CANCEL = 130, // don't use on 3.3.5a
SAI_ACTION_SPAWN_SPAWNGROUP => ['Spawn SpawnGroup [b]%7$s[/b] SpawnFlags: %8$s %9$s', 'Cooldown: %s'], // Group ID, min secs, max secs, spawnflags
SAI_ACTION_DESPAWN_SPAWNGROUP => ['Despawn SpawnGroup [b]%7$s[/b] SpawnFlags: %8$s %9$s', 'Cooldown: %s'], // Group ID, min secs, max secs, spawnflags
SAI_ACTION_RESPAWN_BY_SPAWNID => ['Respawn %7$s [small class=q0](GUID: %2$d)[/small]', null], // spawnType, spawnId
SAI_ACTION_INVOKER_CAST => ['Invoker casts [spell=%1$d] at #target#.', null], // spellID, castFlags
SAI_ACTION_PLAY_CINEMATIC => ['Play cinematic #[b]%1$d[/b] for #target#', null], // cinematic
SAI_ACTION_SET_MOVEMENT_SPEED => ['Set speed of MotionType #[b]%1$d[/b] to [b]%7$.2f[/b]', null], // movementType, speedInteger, speedFraction
null, // SAI_ACTION_PLAY_SPELL_VISUAL_KIT', // spellVisualKitId (RESERVED, PENDING CHERRYPICK)
SAI_ACTION_OVERRIDE_LIGHT => ['Change skybox in [zone=%1$d] to #[b]%2$d[/b].', 'Transition: %s'], // zoneId, overrideLightID, transitionMilliseconds
SAI_ACTION_OVERRIDE_WEATHER => ['Change weather in [zone=%1$d] to %7$s at %3$d%% intensity.', null], // zoneId, weatherId, intensity
),
'targetUNK' => '[span class=q10]unknown target #[b class=q1]%d[/b][/span]',
'targetTT' => '[b class=q1]TargetType %d[/b][br][table][tr][td]Param1[/td][td=header]%d[/td][/tr][tr][td]Param2[/td][td=header]%d[/td][/tr][tr][td]Param3[/td][td=header]%d[/td][/tr][tr][td]Param4[/td][td=header]%d[/td][/tr][tr][td]X[/td][td=header]%.2f[/td][/tr][tr][td]Y[/td][td=header]%.2f[/td][/tr][tr][td]Z[/td][td=header]%.2f[/td][/tr][tr][td]O[/td][td=header]%.2f[/td][/tr][/table]',
@@ -662,18 +674,18 @@ $lang = array(
SAI_TARGET_HOSTILE_RANDOM_NOT_TOP => 'random non-tank target',
SAI_TARGET_ACTION_INVOKER => 'Invoker',
SAI_TARGET_POSITION => 'world coordinates',
SAI_TARGET_CREATURE_RANGE => '(%1$d)?random instance of [npc=%1$d]:arbitrary creature; within %4$sm',
/*10*/ SAI_TARGET_CREATURE_GUID => '(%4$d)?[npc=%4$d]:NPC; with GUID #%1$d',
SAI_TARGET_CREATURE_DISTANCE => '(%1$d)?random instance of [npc=%1$d]:arbitrary creature; within %4$sm',
SAI_TARGET_CREATURE_RANGE => '(%1$d)?random instance of [npc=%1$d]:arbitrary creature; within %11$sm(%4$d)? (max. %4$d targets):;',
/*10*/ SAI_TARGET_CREATURE_GUID => '(%11$d)?[npc=%11$d]:NPC; with GUID #%1$d',
SAI_TARGET_CREATURE_DISTANCE => '(%1$d)?random instance of [npc=%1$d]:arbitrary creature; within %11$sm(%3$d)? (max. %3$d targets):;',
SAI_TARGET_STORED => 'previously stored targets',
SAI_TARGET_GAMEOBJECT_RANGE => '(%1$d)?random instance of [object=%1$d]:arbitrary object; within %4$sm',
SAI_TARGET_GAMEOBJECT_GUID => '(%4$d)?[object=%4$d]:gameobject; with GUID #%1$d',
SAI_TARGET_GAMEOBJECT_DISTANCE => '(%1$d)?random instance of [object=%1$d]:arbitrary object; within %4$sm',
SAI_TARGET_GAMEOBJECT_RANGE => '(%1$d)?random instance of [object=%1$d]:arbitrary object; within %11$sm(%4$d)? (max. %4$d targets):;',
SAI_TARGET_GAMEOBJECT_GUID => '(%11$d)?[object=%11$d]:gameobject; with GUID #%1$d',
SAI_TARGET_GAMEOBJECT_DISTANCE => '(%1$d)?random instance of [object=%1$d]:arbitrary object; within %11$sm(%3$d)? (max. %3$d targets):;',
SAI_TARGET_INVOKER_PARTY => 'Invokers party',
SAI_TARGET_PLAYER_RANGE => 'random player within %4$sm',
SAI_TARGET_PLAYER_DISTANCE => 'random player within %4$sm',
SAI_TARGET_CLOSEST_CREATURE => 'closest (%3$d)?dead:alive; (%1$d)?[npc=%1$d]:arbitrary creature; within %4$sm',
/*20*/ SAI_TARGET_CLOSEST_GAMEOBJECT => 'closest (%1$d)?[object=%1$d]:arbitrary gameobject; within %4$sm',
SAI_TARGET_PLAYER_RANGE => 'random player within %11$sm',
SAI_TARGET_PLAYER_DISTANCE => 'random player within %11$sm',
SAI_TARGET_CLOSEST_CREATURE => 'closest (%3$d)?dead:alive; (%1$d)?[npc=%1$d]:arbitrary creature; within %11$sm',
/*20*/ SAI_TARGET_CLOSEST_GAMEOBJECT => 'closest (%1$d)?[object=%1$d]:arbitrary gameobject; within %11$sm',
SAI_TARGET_CLOSEST_PLAYER => 'closest player within %1$dm',
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Invokers vehicle',
SAI_TARGET_OWNER_OR_SUMMONER => 'Invokers owner or summoner',
@@ -682,7 +694,8 @@ $lang = array(
SAI_TARGET_CLOSEST_FRIENDLY => 'closest friendly (%2$d)?player:creature; within %1$dm',
SAI_TARGET_LOOT_RECIPIENTS => 'all players eligible for loot',
SAI_TARGET_FARTHEST => 'furthest engaged (%2$d)?player:creature; within %1$dm(%3$d)? and line of sight:;',
SAI_TARGET_VEHICLE_ACCESSORY => 'accessory in Invokers vehicle in seat %1$d'
SAI_TARGET_VEHICLE_PASSENGER => 'accessory in Invokers vehicle in (%1$d)?seat %11$s:all seats;',
/*30*/ SAI_TARGET_CLOSEST_UNSPAWNED_GO => 'closest unspawned (%1$d)?[object=%1$d]:, arbitrary gameobject; within %11$sm'
),
'castFlags' => array(
SAI_CAST_FLAG_INTERRUPT_PREV => 'Interrupt current cast',
@@ -690,6 +703,11 @@ $lang = array(
SAI_CAST_FLAG_AURA_MISSING => 'Aura missing',
SAI_CAST_FLAG_COMBAT_MOVE => 'Combat movement'
),
'spawnFlags' => array(
SAI_SPAWN_FLAG_IGNORE_RESPAWN => 'Override and reset respawn timer',
SAI_SPAWN_FLAG_FORCE_SPAWN => 'Force spawn if already in world',
SAI_SPAWN_FLAG_NOSAVE_RESPAWN => 'Remove respawn time on despawn'
),
'GOStates' => ['active', 'ready', 'active alternative'],
'summonTypes' => [null, 'Despawn timed or when corpse disappears', 'Despawn timed or when dying', 'Despawn timed', 'Despawn timed out of combat', 'Despawn when dying', 'Despawn timed after death', 'Despawn when corpse disappears', 'Despawn manually'],
'aiTpl' => ['basic AI', 'spell caster', 'turret', 'passive creature', 'cage for creature', 'caged creature'],
@@ -697,14 +715,18 @@ $lang = array(
'sheaths' => ['all', 'melee', 'ranged'],
'saiUpdate' => ['out of combat', 'in combat', 'always'],
'lootStates' => ['Not ready', 'Ready', 'Activated', 'Just Deactivated'],
'weatherStates' => ['Fine', 'Fog', 'Drizzle', 'Light Rain', 'Medium Rain', 'Heavy Rain', 'Light Snow', 'Medium Snow', 'Heavy Snow', 22 => 'Light Sandstorm', 41=> 'Medium Sandstorm', 42 => 'Heavy Sandstorm', 86 => 'Thunders', 90 => 'Black Rain', 106 => 'Black Snow'],
'GOStateUNK' => '[span class=q10]unknown gameobject state #[b class=q1]%d[/b][/span]',
'summonTypeUNK' => '[span class=q10]unknown SummonType #[b class=q1]%d[/b][/span]',
'aiTplUNK' => '[span class=q10]unknown AI-Template #[b class=q1]%d[/b][/span]',
'reactStateUNK' => '[span class=q10]unknown ReactState #[b class=q1]%d[/b][/span]',
'sheathUNK' => '[span class=q10]unknown sheath #[b class=q1]%d[/b][/span]',
'saiUpdateUNK' => '[span class=q10]unknown update condition #[b class=q1]%d[/b][/span]',
'lootStateUNK' => '[span class=q10]unknown loot state #[b class=q1]%d[/b][/span]',
'GOStateUNK' => '[span class=q10]unknown gameobject state #[b class=q1]%d[/b][/span]',
'summonTypeUNK' => '[span class=q10]unknown SummonType #[b class=q1]%d[/b][/span]',
'aiTplUNK' => '[span class=q10]unknown AI-Template #[b class=q1]%d[/b][/span]',
'reactStateUNK' => '[span class=q10]unknown ReactState #[b class=q1]%d[/b][/span]',
'sheathUNK' => '[span class=q10]unknown sheath #[b class=q1]%d[/b][/span]',
'saiUpdateUNK' => '[span class=q10]unknown update condition #[b class=q1]%d[/b][/span]',
'lootStateUNK' => '[span class=q10]unknown loot state #[b class=q1]%d[/b][/span]',
'weatherStateUNK' => '[span class=q10]unknown weather state #[b class=q1]%d[/b][/span]',
'entityUNK' => '[b class=q10]unknown entity[/b]',
'empty' => '[span class=q0]<empty>[/span]'
),