mirror of
https://github.com/Sarjuuk/aowow.git
synced 2025-11-29 15:58:16 +08:00
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:
@@ -1313,7 +1313,7 @@ define('SAI_EVENT_FLAG_WHILE_CHARMED', 0x0200);
|
|||||||
|
|
||||||
define('SAI_EVENT_UPDATE_IC', 0); // In combat.
|
define('SAI_EVENT_UPDATE_IC', 0); // In combat.
|
||||||
define('SAI_EVENT_UPDATE_OOC', 1); // Out of combat.
|
define('SAI_EVENT_UPDATE_OOC', 1); // Out of combat.
|
||||||
define('SAI_EVENT_HEALT_PCT', 2); // Health Percentage
|
define('SAI_EVENT_HEALTH_PCT', 2); // Health Percentage
|
||||||
define('SAI_EVENT_MANA_PCT', 3); // Mana Percentage
|
define('SAI_EVENT_MANA_PCT', 3); // Mana Percentage
|
||||||
define('SAI_EVENT_AGGRO', 4); // On Creature Aggro
|
define('SAI_EVENT_AGGRO', 4); // On Creature Aggro
|
||||||
define('SAI_EVENT_KILL', 5); // On Creature Kill
|
define('SAI_EVENT_KILL', 5); // On Creature Kill
|
||||||
@@ -1389,6 +1389,11 @@ define('SAI_EVENT_FRIENDLY_HEALTH_PCT', 74); //
|
|||||||
define('SAI_EVENT_DISTANCE_CREATURE', 75); // On creature guid OR any instance of creature entry is within distance.
|
define('SAI_EVENT_DISTANCE_CREATURE', 75); // On creature guid OR any instance of creature entry is within distance.
|
||||||
define('SAI_EVENT_DISTANCE_GAMEOBJECT', 76); // On gameobject guid OR any instance of gameobject entry is within distance.
|
define('SAI_EVENT_DISTANCE_GAMEOBJECT', 76); // On gameobject guid OR any instance of gameobject entry is within distance.
|
||||||
define('SAI_EVENT_COUNTER_SET', 77); // If the value of specified counterID is equal to a specified value
|
define('SAI_EVENT_COUNTER_SET', 77); // If the value of specified counterID is equal to a specified value
|
||||||
|
// define('SAI_EVENT_SCENE_START', 78); // don't use on 3.3.5a
|
||||||
|
// define('SAI_EVENT_SCENE_TRIGGER', 79); // don't use on 3.3.5a
|
||||||
|
// define('SAI_EVENT_SCENE_CANCEL', 80); // don't use on 3.3.5a
|
||||||
|
// define('SAI_EVENT_SCENE_COMPLETE', 81); // don't use on 3.3.5a
|
||||||
|
define('SAI_EVENT_SUMMONED_UNIT_DIES', 82); // CreatureId(0 all), CooldownMin, CooldownMax
|
||||||
|
|
||||||
define('SAI_ACTION_NONE', 0); // Do nothing
|
define('SAI_ACTION_NONE', 0); // Do nothing
|
||||||
define('SAI_ACTION_TALK', 1); // Param2 in Milliseconds.
|
define('SAI_ACTION_TALK', 1); // Param2 in Milliseconds.
|
||||||
@@ -1436,7 +1441,7 @@ define('SAI_ACTION_SET_INVINCIBILITY_HP_LEVEL', 42); // If you use bot
|
|||||||
define('SAI_ACTION_MOUNT_TO_ENTRY_OR_MODEL', 43); // Mount to Creature Entry (param1) OR Mount to Creature Display (param2) Or both = 0 for Unmount
|
define('SAI_ACTION_MOUNT_TO_ENTRY_OR_MODEL', 43); // Mount to Creature Entry (param1) OR Mount to Creature Display (param2) Or both = 0 for Unmount
|
||||||
define('SAI_ACTION_SET_INGAME_PHASE_MASK', 44); //
|
define('SAI_ACTION_SET_INGAME_PHASE_MASK', 44); //
|
||||||
define('SAI_ACTION_SET_DATA', 45); // Set Data For Target, can be used with SMART_EVENT_DATA_SET
|
define('SAI_ACTION_SET_DATA', 45); // Set Data For Target, can be used with SMART_EVENT_DATA_SET
|
||||||
// define('SAI_ACTION_UNUSED_46', 46); //
|
define('SAI_ACTION_ATTACK_STOP', 46); //
|
||||||
define('SAI_ACTION_SET_VISIBILITY', 47); // Makes creature Visible = 1 or Invisible = 0
|
define('SAI_ACTION_SET_VISIBILITY', 47); // Makes creature Visible = 1 or Invisible = 0
|
||||||
define('SAI_ACTION_SET_ACTIVE', 48); //
|
define('SAI_ACTION_SET_ACTIVE', 48); //
|
||||||
define('SAI_ACTION_ATTACK_START', 49); // Allows basic melee swings to creature.
|
define('SAI_ACTION_ATTACK_START', 49); // Allows basic melee swings to creature.
|
||||||
@@ -1460,7 +1465,7 @@ define('SAI_ACTION_SET_ORIENTATION', 66); //
|
|||||||
define('SAI_ACTION_CREATE_TIMED_EVENT', 67); //
|
define('SAI_ACTION_CREATE_TIMED_EVENT', 67); //
|
||||||
define('SAI_ACTION_PLAYMOVIE', 68); //
|
define('SAI_ACTION_PLAYMOVIE', 68); //
|
||||||
define('SAI_ACTION_MOVE_TO_POS', 69); // 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, target_o as the coordinates
|
define('SAI_ACTION_MOVE_TO_POS', 69); // 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, target_o as the coordinates
|
||||||
define('SAI_ACTION_ENABLE_TEMP_GOBJ', 70); // Always action_param1>0 For npcs use action_type=133
|
define('SAI_ACTION_ENABLE_TEMP_GOBJ', 70); // param1 = duration
|
||||||
define('SAI_ACTION_EQUIP', 71); // 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
|
define('SAI_ACTION_EQUIP', 71); // 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
|
||||||
define('SAI_ACTION_CLOSE_GOSSIP', 72); // Closes gossip window.
|
define('SAI_ACTION_CLOSE_GOSSIP', 72); // Closes gossip window.
|
||||||
define('SAI_ACTION_TRIGGER_TIMED_EVENT', 73); //
|
define('SAI_ACTION_TRIGGER_TIMED_EVENT', 73); //
|
||||||
@@ -1475,7 +1480,7 @@ define('SAI_ACTION_SET_NPC_FLAG', 81); //
|
|||||||
define('SAI_ACTION_ADD_NPC_FLAG', 82); //
|
define('SAI_ACTION_ADD_NPC_FLAG', 82); //
|
||||||
define('SAI_ACTION_REMOVE_NPC_FLAG', 83); //
|
define('SAI_ACTION_REMOVE_NPC_FLAG', 83); //
|
||||||
define('SAI_ACTION_SIMPLE_TALK', 84); // Makes a player say text. SMART_EVENT_TEXT_OVER is not triggered and whispers can not be used.
|
define('SAI_ACTION_SIMPLE_TALK', 84); // Makes a player say text. SMART_EVENT_TEXT_OVER is not triggered and whispers can not be used.
|
||||||
define('SAI_ACTION_INVOKER_CAST', 85); // if avaliable, last used invoker will cast spellId with castFlags on targets
|
define('SAI_ACTION_SELF_CAST', 85); // spellID, castFlags
|
||||||
define('SAI_ACTION_CROSS_CAST', 86); // This action is used to make selected caster (in CasterTargetType) to cast spell. Actual target is entered in target_type as normally.
|
define('SAI_ACTION_CROSS_CAST', 86); // This action is used to make selected caster (in CasterTargetType) to cast spell. Actual target is entered in target_type as normally.
|
||||||
define('SAI_ACTION_CALL_RANDOM_TIMED_ACTIONLIST', 87); // Will select one entry from the ones provided. 0 is ignored.
|
define('SAI_ACTION_CALL_RANDOM_TIMED_ACTIONLIST', 87); // Will select one entry from the ones provided. 0 is ignored.
|
||||||
define('SAI_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST', 88); // 0 is ignored.
|
define('SAI_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST', 88); // 0 is ignored.
|
||||||
@@ -1517,19 +1522,25 @@ define('SAI_ACTION_ADD_THREAT', 123); //
|
|||||||
define('SAI_ACTION_LOAD_EQUIPMENT', 124); //
|
define('SAI_ACTION_LOAD_EQUIPMENT', 124); //
|
||||||
define('SAI_ACTION_TRIGGER_RANDOM_TIMED_EVENT', 125); //
|
define('SAI_ACTION_TRIGGER_RANDOM_TIMED_EVENT', 125); //
|
||||||
define('SAI_ACTION_REMOVE_ALL_GAMEOBJECTS', 126); //
|
define('SAI_ACTION_REMOVE_ALL_GAMEOBJECTS', 126); //
|
||||||
define('SAI_ACTION_STOP_MOTION', 127); //
|
define('SAI_ACTION_PAUSE_MOVEMENT', 127); // MovementSlot (default = 0, active = 1, controlled = 2), PauseTime (ms), Force
|
||||||
// define('SAI_ACTION_PLAY_ANIMKIT', 128); // // don't use on 3.3.5a
|
// define('SAI_ACTION_PLAY_ANIMKIT', 128); // don't use on 3.3.5a
|
||||||
// define('SAI_ACTION_SCENE_PLAY', 129); // // don't use on 3.3.5a
|
// define('SAI_ACTION_SCENE_PLAY', 129); // don't use on 3.3.5a
|
||||||
// define('SAI_ACTION_SCENE_CANCEL', 130); // // don't use on 3.3.5a
|
// define('SAI_ACTION_SCENE_CANCEL', 130); // don't use on 3.3.5a
|
||||||
define('SAI_ACTION_SPAWN_SPAWNGROUP', 131); //
|
define('SAI_ACTION_SPAWN_SPAWNGROUP', 131); //
|
||||||
define('SAI_ACTION_DESPAWN_SPAWNGROUP', 132); //
|
define('SAI_ACTION_DESPAWN_SPAWNGROUP', 132); //
|
||||||
define('SAI_ACTION_RESPAWN_BY_SPAWNID', 133); // Use to respawn npcs and gobs, the target in this case is always=1 and only a single unit could be a target via the spawnId (action_param1, action_param2)
|
define('SAI_ACTION_RESPAWN_BY_SPAWNID', 133); // type, typeGuid - Use to respawn npcs and gobs, the target in this case is always=1 and only a single unit could be a target via the spawnId (action_param1, action_param2)
|
||||||
|
define('SAI_ACTION_INVOKER_CAST', 134); // spellID, castFlags
|
||||||
|
define('SAI_ACTION_PLAY_CINEMATIC', 135); // cinematic
|
||||||
|
define('SAI_ACTION_SET_MOVEMENT_SPEED', 136); // movementType, speedInteger, speedFraction
|
||||||
|
define('SAI_ACTION_PLAY_SPELL_VISUAL_KIT', 137); // spellVisualKitId (RESERVED, PENDING CHERRYPICK)
|
||||||
|
define('SAI_ACTION_OVERRIDE_LIGHT', 138); // zoneId, areaLightId, overrideLightID, transitionMilliseconds
|
||||||
|
define('SAI_ACTION_OVERRIDE_WEATHER', 139); // zoneId, weatherId, intensity
|
||||||
|
|
||||||
define('SAI_CAST_FLAG_INTERRUPT_PREV', 0x01);
|
define('SAI_CAST_FLAG_INTERRUPT_PREV', 0x01);
|
||||||
define('SAI_CAST_FLAG_TRIGGERED', 0x02);
|
define('SAI_CAST_FLAG_TRIGGERED', 0x02);
|
||||||
// define('SAI_CAST_FORCE_CAST', 0x04); // Forces cast even if creature is out of mana or out of range
|
// define('SAI_CAST_FORCE_CAST', 0x04); // Forces cast even if creature is out of mana or out of range
|
||||||
// define('SAI_CAST_NO_MELEE_IF_OOM', 0x08); // Prevents creature from entering melee if out of mana or out of range
|
// define('SAI_CAST_NO_MELEE_IF_OOM', 0x08); // Prevents creature from entering melee if out of mana or out of range
|
||||||
// define('SAI_CAST_FORCE_TARGET_SELF', 0x10); // the target to cast this spell on itself
|
// define('SAI_CAST_FORCE_TARGET_SELF', 0x10); // the target to cast this spell on itself
|
||||||
define('SAI_CAST_FLAG_AURA_MISSING', 0x20);
|
define('SAI_CAST_FLAG_AURA_MISSING', 0x20);
|
||||||
define('SAI_CAST_FLAG_COMBAT_MOVE', 0x40);
|
define('SAI_CAST_FLAG_COMBAT_MOVE', 0x40);
|
||||||
|
|
||||||
@@ -1577,6 +1588,7 @@ define('SAI_TARGET_CLOSEST_FRIENDLY', 26); // Any friendly uni
|
|||||||
define('SAI_TARGET_LOOT_RECIPIENTS', 27); // All tagging players
|
define('SAI_TARGET_LOOT_RECIPIENTS', 27); // All tagging players
|
||||||
define('SAI_TARGET_FARTHEST', 28); // Farthest unit on the threat list
|
define('SAI_TARGET_FARTHEST', 28); // Farthest unit on the threat list
|
||||||
define('SAI_TARGET_VEHICLE_ACCESSORY', 29); // Vehicle can target unit in given seat
|
define('SAI_TARGET_VEHICLE_ACCESSORY', 29); // Vehicle can target unit in given seat
|
||||||
|
define('SAI_TARGET_CLOSEST_UNSPAWNED_GO', 30); // entry(0any), maxDist
|
||||||
|
|
||||||
define('SAI_TEMPLATE_BASIC', 0); //
|
define('SAI_TEMPLATE_BASIC', 0); //
|
||||||
define('SAI_TEMPLATE_CASTER', 1); // +JOIN: target_param1 as castFlag
|
define('SAI_TEMPLATE_CASTER', 1); // +JOIN: target_param1 as castFlag
|
||||||
@@ -1585,6 +1597,11 @@ define('SAI_TEMPLATE_PASSIVE', 3); //
|
|||||||
define('SAI_TEMPLATE_CAGED_GO_PART', 4); //
|
define('SAI_TEMPLATE_CAGED_GO_PART', 4); //
|
||||||
define('SAI_TEMPLATE_CAGED_NPC_PART', 5); //
|
define('SAI_TEMPLATE_CAGED_NPC_PART', 5); //
|
||||||
|
|
||||||
|
define('SAI_SPAWN_FLAG_NONE', 0x00);
|
||||||
|
define('SAI_SPAWN_FLAG_IGNORE_RESPAWN', 0x01); // onSpawnIn - ignore & reset respawn timer
|
||||||
|
define('SAI_SPAWN_FLAG_FORCE_SPAWN', 0x02); // onSpawnIn - force additional spawn if already in world
|
||||||
|
define('SAI_SPAWN_FLAG_NOSAVE_RESPAWN', 0x04); // onDespawn - remove respawn time
|
||||||
|
|
||||||
// profiler queue interactions
|
// profiler queue interactions
|
||||||
define('PR_QUEUE_STATUS_ENDED', 0);
|
define('PR_QUEUE_STATUS_ENDED', 0);
|
||||||
define('PR_QUEUE_STATUS_WAITING', 1);
|
define('PR_QUEUE_STATUS_WAITING', 1);
|
||||||
|
|||||||
@@ -272,6 +272,105 @@ class Game
|
|||||||
|
|
||||||
return $points;
|
return $points;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getQuotesForCreature(int $creatureId, bool $asHTML = false, string $talkSource = '') : array
|
||||||
|
{
|
||||||
|
$nQuotes = 0;
|
||||||
|
$quotes = [];
|
||||||
|
$soundIds = [];
|
||||||
|
|
||||||
|
$quoteSrc = DB::World()->select('
|
||||||
|
SELECT
|
||||||
|
ct.GroupID AS ARRAY_KEY, ct.ID as ARRAY_KEY2,
|
||||||
|
ct.`Type` AS `talkType`,
|
||||||
|
ct.TextRange AS `range`,
|
||||||
|
IFNULL(bct.`LanguageID`, ct.`Language`) AS lang,
|
||||||
|
IFNULL(NULLIF(bct.Text, ""), IFNULL(NULLIF(bct.Text1, ""), IFNULL(ct.`Text`, ""))) AS text_loc0,
|
||||||
|
{IFNULL(NULLIF(bctl.Text, ""), IFNULL(NULLIF(bctl.Text1, ""), IFNULL(ctl.Text, ""))) AS text_loc?d,}
|
||||||
|
IF(bct.SoundEntriesID > 0, bct.SoundEntriesID, ct.Sound) AS soundId
|
||||||
|
FROM
|
||||||
|
creature_text ct
|
||||||
|
{LEFT JOIN
|
||||||
|
creature_text_locale ctl ON ct.CreatureID = ctl.CreatureID AND ct.GroupID = ctl.GroupID AND ct.ID = ctl.ID AND ctl.Locale = ?}
|
||||||
|
LEFT JOIN
|
||||||
|
broadcast_text bct ON ct.BroadcastTextId = bct.ID
|
||||||
|
{LEFT JOIN
|
||||||
|
broadcast_text_locale bctl ON ct.BroadcastTextId = bctl.ID AND bctl.locale = ?}
|
||||||
|
WHERE
|
||||||
|
ct.CreatureID = ?d',
|
||||||
|
User::$localeId ?: DBSIMPLE_SKIP,
|
||||||
|
User::$localeId ? Util::$localeStrings[User::$localeId] : DBSIMPLE_SKIP,
|
||||||
|
User::$localeId ? Util::$localeStrings[User::$localeId] : DBSIMPLE_SKIP,
|
||||||
|
$creatureId
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach ($quoteSrc as $grp => $text)
|
||||||
|
{
|
||||||
|
$group = [];
|
||||||
|
foreach ($text as $t)
|
||||||
|
{
|
||||||
|
if ($t['soundId'])
|
||||||
|
$soundIds[] = $t['soundId'];
|
||||||
|
|
||||||
|
$msg = Util::localizedString($t, 'text');
|
||||||
|
if (!$msg)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// fixup .. either set %s for emotes or dont >.<
|
||||||
|
if (in_array($t['talkType'], [2, 16]) && strpos($msg, '%s') === false)
|
||||||
|
$msg = '%s '.$msg;
|
||||||
|
|
||||||
|
// fixup: bad case-insensivity
|
||||||
|
$msg = Util::parseHtmlText(str_replace('%S', '%s', htmlentities($msg)), !$asHTML);
|
||||||
|
|
||||||
|
if ($talkSource)
|
||||||
|
$msg = sprintf($msg, $talkSource);
|
||||||
|
|
||||||
|
// make type css compatible
|
||||||
|
switch ($t['talkType'])
|
||||||
|
{
|
||||||
|
case 1: // yell:
|
||||||
|
case 14: $t['talkType'] = 1; break; // - dark red
|
||||||
|
case 2: // emote:
|
||||||
|
case 16: // "
|
||||||
|
case 3: // boss emote:
|
||||||
|
case 41: $t['talkType'] = 4; break; // - orange
|
||||||
|
case 4: // whisper:
|
||||||
|
case 15: // "
|
||||||
|
case 5: // boss whisper:
|
||||||
|
case 42: $t['talkType'] = 3; break; // - pink-ish
|
||||||
|
default: $t['talkType'] = 2; // [type: 0, 12] say: yellow-ish
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// prefix
|
||||||
|
$pre = '';
|
||||||
|
if ($t['talkType'] != 4)
|
||||||
|
$pre = ($talkSource ?: '%s').' '.Lang::npc('textTypes', $t['talkType']).Lang::main('colon').($t['lang'] ? '['.Lang::game('languages', $t['lang']).'] ' : null);
|
||||||
|
|
||||||
|
if ($asHTML)
|
||||||
|
$msg = '<div><span class="s'.$t['talkType'].'">%s'.($t['range'] ? sprintf(Util::$dfnString, Lang::npc('textRanges', $t['range']), $msg) : $msg).'</span></div>';
|
||||||
|
else
|
||||||
|
$msg = '[div][span class=s'.$t['talkType'].']%s'.html_entity_decode($msg).'[/span][/div]';
|
||||||
|
|
||||||
|
$line = array(
|
||||||
|
'range' => $t['range'],
|
||||||
|
'text' => $msg,
|
||||||
|
'prefix' => $pre
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
$nQuotes++;
|
||||||
|
$group[] = $line;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($group)
|
||||||
|
$quotes[$grp] = $group;
|
||||||
|
}
|
||||||
|
|
||||||
|
return [$quotes, $nQuotes, $soundIds];
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ class SmartAI
|
|||||||
$this->entry = $entry;
|
$this->entry = $entry;
|
||||||
$this->miscData = $miscData;
|
$this->miscData = $miscData;
|
||||||
|
|
||||||
$raw = DB::World()->select('SELECT id, link, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, target_type, target_param1, target_param2, target_param3, target_param4, target_x, target_y, target_z, target_o FROM smart_scripts WHERE entryorguid = ?d AND source_type = ?d ORDER BY id ASC', $this->entry, $this->srcType);
|
$raw = DB::World()->select('SELECT id, link, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, event_param5, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, target_type, target_param1, target_param2, target_param3, target_param4, target_x, target_y, target_z, target_o FROM smart_scripts WHERE entryorguid = ?d AND source_type = ?d ORDER BY id ASC', $this->entry, $this->srcType);
|
||||||
foreach ($raw as $r)
|
foreach ($raw as $r)
|
||||||
{
|
{
|
||||||
$this->rawData[$r['id']] = array(
|
$this->rawData[$r['id']] = array(
|
||||||
@@ -36,7 +36,7 @@ class SmartAI
|
|||||||
'phases' => Util::mask2bits($r['event_phase_mask'], 1) ?: [0],
|
'phases' => Util::mask2bits($r['event_phase_mask'], 1) ?: [0],
|
||||||
'chance' => $r['event_chance'],
|
'chance' => $r['event_chance'],
|
||||||
'flags' => $r['event_flags'],
|
'flags' => $r['event_flags'],
|
||||||
'param' => [$r['event_param1'], $r['event_param2'], $r['event_param3'], $r['event_param4'], 0]
|
'param' => [$r['event_param1'], $r['event_param2'], $r['event_param3'], $r['event_param4'], $r['event_param5']]
|
||||||
),
|
),
|
||||||
'action' => array(
|
'action' => array(
|
||||||
'type' => $r['action_type'],
|
'type' => $r['action_type'],
|
||||||
@@ -204,72 +204,15 @@ class SmartAI
|
|||||||
if (isset($this->quotes[$creatureId]))
|
if (isset($this->quotes[$creatureId]))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$quoteSrc = DB::World()->select('
|
[$quotes, , ] = Game::getQuotesForCreature($creatureId);
|
||||||
SELECT
|
|
||||||
ct.CreatureID, ct.GroupID, ct.ID, ct.`Type`,
|
|
||||||
ct.TextRange AS `range`,
|
|
||||||
IFNULL(bct.`LanguageID`, ct.`Language`) AS lang,
|
|
||||||
IFNULL(NULLIF(bct.Text, ""), IFNULL(NULLIF(bct.Text1, ""), IFNULL(ct.`Text`, ""))) AS text_loc0,
|
|
||||||
{IFNULL(NULLIF(bctl.Text, ""), IFNULL(NULLIF(bctl.Text1, ""), IFNULL(ctl.Text, ""))) AS text_loc?d,}
|
|
||||||
IF(bct.SoundEntriesID > 0, bct.SoundEntriesID, ct.Sound) AS soundId
|
|
||||||
FROM
|
|
||||||
creature_text ct
|
|
||||||
{LEFT JOIN
|
|
||||||
creature_text_locale ctl ON ct.CreatureID = ctl.CreatureID AND ct.GroupID = ctl.GroupID AND ct.ID = ctl.ID AND ctl.Locale = ?}
|
|
||||||
LEFT JOIN
|
|
||||||
broadcast_text bct ON ct.BroadcastTextId = bct.ID
|
|
||||||
{LEFT JOIN
|
|
||||||
broadcast_text_locale bctl ON ct.BroadcastTextId = bctl.ID AND bctl.locale = ?}
|
|
||||||
WHERE
|
|
||||||
ct.CreatureID = ?d',
|
|
||||||
User::$localeId ?: DBSIMPLE_SKIP,
|
|
||||||
User::$localeId ? Util::$localeStrings[User::$localeId] : DBSIMPLE_SKIP,
|
|
||||||
User::$localeId ? Util::$localeStrings[User::$localeId] : DBSIMPLE_SKIP,
|
|
||||||
$creatureId
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach ($quoteSrc as $text)
|
$this->quotes[$creatureId] = $quotes;
|
||||||
{
|
|
||||||
$msg = Util::localizedString($text, 'text');
|
|
||||||
if (!$msg)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// fixup .. either set %s for emotes or dont >.<
|
if (!empty($this->quotes[$creatureId]))
|
||||||
if (in_array($text['Type'], [2, 16]) && strpos($msg, '%s') === false)
|
$this->quotes[$creatureId]['src'] = Util::jsEscape(CreatureList::getName($creatureId));
|
||||||
$msg = '%s '.$msg;
|
|
||||||
|
|
||||||
// fixup: bad case-insensivity
|
|
||||||
$msg = str_replace('%S', '%s', $msg);
|
|
||||||
|
|
||||||
$line = array(
|
|
||||||
'range' => $text['range'],
|
|
||||||
'type' => 2, // [type: 0, 12] say: yellow-ish
|
|
||||||
'lang' => !empty($text['lang']) ? Lang::game('languages', $text['lang']) : null,
|
|
||||||
'text' => Util::parseHtmlText(htmlentities($msg), true)
|
|
||||||
);
|
|
||||||
|
|
||||||
switch ($text['Type'])
|
|
||||||
{
|
|
||||||
case 1: // yell:
|
|
||||||
case 14: $line['type'] = 1; break; // - dark red
|
|
||||||
case 2: // emote:
|
|
||||||
case 16: // "
|
|
||||||
case 3: // boss emote:
|
|
||||||
case 41: $line['type'] = 4; break; // - orange
|
|
||||||
case 4: // whisper:
|
|
||||||
case 15: // "
|
|
||||||
case 5: // boss whisper:
|
|
||||||
case 42: $line['type'] = 3; break; // - pink-ish
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->quotes[$text['CreatureID']][$text['GroupID']][] = $line;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($this->quotes[$text['CreatureID']]))
|
|
||||||
$this->quotes[$text['CreatureID']]['src'] = Util::jsEscape(CreatureList::getName($text['CreatureID']));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getTalkSource() : int
|
private function getTalkSource(bool &$emptySource = false) : int
|
||||||
{
|
{
|
||||||
if ($this->itr['action']['type'] != SAI_ACTION_TALK &&
|
if ($this->itr['action']['type'] != SAI_ACTION_TALK &&
|
||||||
$this->itr['action']['type'] != SAI_ACTION_SIMPLE_TALK)
|
$this->itr['action']['type'] != SAI_ACTION_SIMPLE_TALK)
|
||||||
@@ -286,9 +229,10 @@ class SmartAI
|
|||||||
case SAI_TARGET_CREATURE_DISTANCE:
|
case SAI_TARGET_CREATURE_DISTANCE:
|
||||||
case SAI_TARGET_CLOSEST_CREATURE:
|
case SAI_TARGET_CLOSEST_CREATURE:
|
||||||
return $this->itr['target']['param'][0];
|
return $this->itr['target']['param'][0];
|
||||||
|
case SAI_TARGET_CLOSEST_PLAYER:
|
||||||
|
$emptySource = true;
|
||||||
case SAI_TARGET_SELF:
|
case SAI_TARGET_SELF:
|
||||||
case SAI_TARGET_ACTION_INVOKER:
|
case SAI_TARGET_ACTION_INVOKER:
|
||||||
case SAI_TARGET_CLOSEST_PLAYER:
|
|
||||||
case SAI_TARGET_CLOSEST_FRIENDLY: // unsure about this
|
case SAI_TARGET_CLOSEST_FRIENDLY: // unsure about this
|
||||||
default:
|
default:
|
||||||
return empty($this->miscData['baseEntry']) ? $this->entry : $this->miscData['baseEntry'];
|
return empty($this->miscData['baseEntry']) ? $this->entry : $this->miscData['baseEntry'];
|
||||||
@@ -405,6 +349,17 @@ class SmartAI
|
|||||||
return Lang::concat($gf ?: [Lang::smartAI('empty')]);
|
return Lang::concat($gf ?: [Lang::smartAI('empty')]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function spawnFlags(string $f, int $n) : string
|
||||||
|
{
|
||||||
|
$sf = [];
|
||||||
|
for ($i = 1; $i <= SAI_SPAWN_FLAG_NOSAVE_RESPAWN; $i <<= 1)
|
||||||
|
if ($this->itr[$f]['param'][$n] & $i)
|
||||||
|
if ($x = Lang::smartAI('spawnFlags', $i))
|
||||||
|
$sf[] = $x;
|
||||||
|
|
||||||
|
return Lang::concat($sf ?: [Lang::smartAI('empty')]);
|
||||||
|
}
|
||||||
|
|
||||||
private function aiTemplate(int $aiNum) : string
|
private function aiTemplate(int $aiNum) : string
|
||||||
{
|
{
|
||||||
if ($standState = Lang::smartAI('aiTpl', $aiNum))
|
if ($standState = Lang::smartAI('aiTpl', $aiNum))
|
||||||
@@ -430,6 +385,9 @@ class SmartAI
|
|||||||
$getDist = function ($min, $max) { return ($min && $max) ? min($min, $max).' – '.max($min, $max) : max($min, $max); };
|
$getDist = function ($min, $max) { return ($min && $max) ? min($min, $max).' – '.max($min, $max) : max($min, $max); };
|
||||||
$tooltip = '[tooltip name=t-'.$this->rowKey.']'.Lang::smartAI('targetTT', array_merge([$t['type']], $t['param'], $t['pos'])).'[/tooltip][span class=tip tooltip=t-'.$this->rowKey.']%s[/span]';
|
$tooltip = '[tooltip name=t-'.$this->rowKey.']'.Lang::smartAI('targetTT', array_merge([$t['type']], $t['param'], $t['pos'])).'[/tooltip][span class=tip tooltip=t-'.$this->rowKey.']%s[/span]';
|
||||||
|
|
||||||
|
// additional parameters
|
||||||
|
$t['param'] = array_pad($t['param'], 15, '');
|
||||||
|
|
||||||
switch ($t['type'])
|
switch ($t['type'])
|
||||||
{
|
{
|
||||||
// direct param use
|
// direct param use
|
||||||
@@ -451,51 +409,55 @@ class SmartAI
|
|||||||
case SAI_TARGET_CLOSEST_FRIENDLY: // 26
|
case SAI_TARGET_CLOSEST_FRIENDLY: // 26
|
||||||
case SAI_TARGET_LOOT_RECIPIENTS: // 27
|
case SAI_TARGET_LOOT_RECIPIENTS: // 27
|
||||||
case SAI_TARGET_FARTHEST: // 28
|
case SAI_TARGET_FARTHEST: // 28
|
||||||
case SAI_TARGET_VEHICLE_ACCESSORY: // 29
|
break;
|
||||||
|
case SAI_TARGET_VEHICLE_PASSENGER: // 29
|
||||||
|
if ($t['param'][0])
|
||||||
|
$t['param'][10] = Lang::concat(Util::mask2bits($t['param'][0]));
|
||||||
break;
|
break;
|
||||||
// distance
|
// distance
|
||||||
case SAI_TARGET_PLAYER_RANGE: // 17
|
case SAI_TARGET_PLAYER_RANGE: // 17
|
||||||
$t['param'][3] = $getDist($t['param'][0], $t['param'][1]);
|
$t['param'][10] = $getDist($t['param'][0], $t['param'][1]);
|
||||||
break;
|
break;
|
||||||
case SAI_TARGET_PLAYER_DISTANCE: // 18
|
case SAI_TARGET_PLAYER_DISTANCE: // 18
|
||||||
$t['param'][3] = $getDist(0, $t['param'][0]);
|
$t['param'][10] = $getDist(0, $t['param'][0]);
|
||||||
break;
|
break;
|
||||||
// creature link
|
// creature link
|
||||||
case SAI_TARGET_CREATURE_RANGE: // 9
|
case SAI_TARGET_CREATURE_RANGE: // 9
|
||||||
if ($t['param'][0])
|
if ($t['param'][0])
|
||||||
$this->jsGlobals[TYPE_NPC][] = $t['param'][0];
|
$this->jsGlobals[TYPE_NPC][] = $t['param'][0];
|
||||||
|
|
||||||
$t['param'][3] = $getDist($t['param'][1], $t['param'][2]);
|
$t['param'][10] = $getDist($t['param'][1], $t['param'][2]);
|
||||||
break;
|
break;
|
||||||
case SAI_TARGET_CREATURE_GUID: // 10
|
case SAI_TARGET_CREATURE_GUID: // 10
|
||||||
if ($t['param'][3] = DB::World()->selectCell('SELECT id FROM creature WHERE guid = ?d', $t['param'][0]))
|
if ($t['param'][10] = DB::World()->selectCell('SELECT id FROM creature WHERE guid = ?d', $t['param'][0]))
|
||||||
$this->jsGlobals[TYPE_NPC][] = $t['param'][3];
|
$this->jsGlobals[TYPE_NPC][] = $t['param'][10];
|
||||||
else
|
else
|
||||||
trigger_error('SmartAI::resloveTarget - creature with guid '.$t['param'][0].' not in DB');
|
trigger_error('SmartAI::resloveTarget - creature with guid '.$t['param'][0].' not in DB');
|
||||||
break;
|
break;
|
||||||
case SAI_TARGET_CREATURE_DISTANCE: // 11
|
case SAI_TARGET_CREATURE_DISTANCE: // 11
|
||||||
case SAI_TARGET_CLOSEST_CREATURE: // 19
|
case SAI_TARGET_CLOSEST_CREATURE: // 19
|
||||||
$t['param'][3] = $getDist(0, $t['param'][1]);
|
$t['param'][10] = $getDist(0, $t['param'][1]);
|
||||||
|
|
||||||
if ($t['param'][0])
|
if ($t['param'][0])
|
||||||
$this->jsGlobals[TYPE_NPC][] = $t['param'][0];
|
$this->jsGlobals[TYPE_NPC][] = $t['param'][0];
|
||||||
break;
|
break;
|
||||||
// gameobject link
|
// gameobject link
|
||||||
case SAI_TARGET_GAMEOBJECT_GUID: // 14
|
case SAI_TARGET_GAMEOBJECT_GUID: // 14
|
||||||
if ($t['param'][3] = DB::World()->selectCell('SELECT id FROM gameobject WHERE guid = ?d', $t['param'][0]))
|
if ($t['param'][10] = DB::World()->selectCell('SELECT id FROM gameobject WHERE guid = ?d', $t['param'][0]))
|
||||||
$this->jsGlobals[TYPE_OBJECT][] = $t['param'][3];
|
$this->jsGlobals[TYPE_OBJECT][] = $t['param'][10];
|
||||||
else
|
else
|
||||||
trigger_error('SmartAI::resloveTarget - gameobject with guid '.$t['param'][0].' not in DB');
|
trigger_error('SmartAI::resloveTarget - gameobject with guid '.$t['param'][0].' not in DB');
|
||||||
break;
|
break;
|
||||||
case SAI_TARGET_GAMEOBJECT_RANGE: // 13
|
case SAI_TARGET_GAMEOBJECT_RANGE: // 13
|
||||||
$t['param'][3] = $getDist($t['param'][1], $t['param'][2]);
|
$t['param'][10] = $getDist($t['param'][1], $t['param'][2]);
|
||||||
|
|
||||||
if ($t['param'][0])
|
if ($t['param'][0])
|
||||||
$this->jsGlobals[TYPE_OBJECT][] = $t['param'][0];
|
$this->jsGlobals[TYPE_OBJECT][] = $t['param'][0];
|
||||||
break;
|
break;
|
||||||
case SAI_TARGET_GAMEOBJECT_DISTANCE: // 15
|
case SAI_TARGET_GAMEOBJECT_DISTANCE: // 15
|
||||||
case SAI_TARGET_CLOSEST_GAMEOBJECT: // 20
|
case SAI_TARGET_CLOSEST_GAMEOBJECT: // 20
|
||||||
$t['param'][3] = $getDist(0, $t['param'][1]);
|
case SAI_TARGET_CLOSEST_UNSPAWNED_GO: // 30
|
||||||
|
$t['param'][10] = $getDist(0, $t['param'][1]);
|
||||||
|
|
||||||
if ($t['param'][0])
|
if ($t['param'][0])
|
||||||
$this->jsGlobals[TYPE_OBJECT][] = $t['param'][0];
|
$this->jsGlobals[TYPE_OBJECT][] = $t['param'][0];
|
||||||
@@ -524,8 +486,7 @@ class SmartAI
|
|||||||
$tooltip = '[tooltip name=e-'.$this->rowKey.']'.Lang::smartAI('eventTT', array_merge([$e['type'], $e['phases'], $e['chance'], $e['flags']], $e['param'])).'[/tooltip][span tooltip=e-'.$this->rowKey.']%s[/span]';
|
$tooltip = '[tooltip name=e-'.$this->rowKey.']'.Lang::smartAI('eventTT', array_merge([$e['type'], $e['phases'], $e['chance'], $e['flags']], $e['param'])).'[/tooltip][span tooltip=e-'.$this->rowKey.']%s[/span]';
|
||||||
|
|
||||||
// additional parameters
|
// additional parameters
|
||||||
$e['param'][5] = '';
|
$e['param'] = array_pad($e['param'], 15, '');
|
||||||
$e['param'][6] = '';
|
|
||||||
|
|
||||||
switch ($e['type'])
|
switch ($e['type'])
|
||||||
{
|
{
|
||||||
@@ -551,7 +512,6 @@ class SmartAI
|
|||||||
case SAI_EVENT_WAYPOINT_ENDED: // 58 - On Creature Waypoint Path Ended
|
case SAI_EVENT_WAYPOINT_ENDED: // 58 - On Creature Waypoint Path Ended
|
||||||
case SAI_EVENT_TIMED_EVENT_TRIGGERED: // 59 -
|
case SAI_EVENT_TIMED_EVENT_TRIGGERED: // 59 -
|
||||||
case SAI_EVENT_JUST_CREATED: // 63 -
|
case SAI_EVENT_JUST_CREATED: // 63 -
|
||||||
case SAI_EVENT_GOSSIP_HELLO: // 64 - On Right-Click Creature/Gameobject that have gossip enabled.
|
|
||||||
case SAI_EVENT_FOLLOW_COMPLETED: // 65 -
|
case SAI_EVENT_FOLLOW_COMPLETED: // 65 -
|
||||||
case SAI_EVENT_GO_STATE_CHANGED: // 70 -
|
case SAI_EVENT_GO_STATE_CHANGED: // 70 -
|
||||||
case SAI_EVENT_GO_EVENT_INFORM: // 71 -
|
case SAI_EVENT_GO_EVENT_INFORM: // 71 -
|
||||||
@@ -560,7 +520,7 @@ class SmartAI
|
|||||||
case SAI_EVENT_COUNTER_SET: // 77 - If the value of specified counterID is equal to a specified value
|
case SAI_EVENT_COUNTER_SET: // 77 - If the value of specified counterID is equal to a specified value
|
||||||
break;
|
break;
|
||||||
// num range [+ time footer]
|
// num range [+ time footer]
|
||||||
case SAI_EVENT_HEALT_PCT: // 2 - Health Percentage
|
case SAI_EVENT_HEALTH_PCT: // 2 - Health Percentage
|
||||||
case SAI_EVENT_MANA_PCT: // 3 - Mana Percentage
|
case SAI_EVENT_MANA_PCT: // 3 - Mana Percentage
|
||||||
case SAI_EVENT_RANGE: // 9 - On Target In Range
|
case SAI_EVENT_RANGE: // 9 - On Target In Range
|
||||||
case SAI_EVENT_TARGET_HEALTH_PCT: // 12 - On Target Health Percentage
|
case SAI_EVENT_TARGET_HEALTH_PCT: // 12 - On Target Health Percentage
|
||||||
@@ -569,7 +529,7 @@ class SmartAI
|
|||||||
case SAI_EVENT_DAMAGED_TARGET: // 33 - On Target Damaged
|
case SAI_EVENT_DAMAGED_TARGET: // 33 - On Target Damaged
|
||||||
case SAI_EVENT_RECEIVE_HEAL: // 53 - On Creature Received Healing
|
case SAI_EVENT_RECEIVE_HEAL: // 53 - On Creature Received Healing
|
||||||
case SAI_EVENT_FRIENDLY_HEALTH_PCT: // 74 -
|
case SAI_EVENT_FRIENDLY_HEALTH_PCT: // 74 -
|
||||||
$e['param'][5] = $this->numRange('event', 0);
|
$e['param'][10] = $this->numRange('event', 0);
|
||||||
// do not break;
|
// do not break;
|
||||||
case SAI_EVENT_OOC_LOS: // 10 - On Target In Distance Out of Combat
|
case SAI_EVENT_OOC_LOS: // 10 - On Target In Distance Out of Combat
|
||||||
case SAI_EVENT_FRIENDLY_HEALTH: // 14 - On Friendly Health Deficit
|
case SAI_EVENT_FRIENDLY_HEALTH: // 14 - On Friendly Health Deficit
|
||||||
@@ -583,13 +543,20 @@ class SmartAI
|
|||||||
case SAI_EVENT_UPDATE_IC: // 0 - In combat.
|
case SAI_EVENT_UPDATE_IC: // 0 - In combat.
|
||||||
case SAI_EVENT_UPDATE_OOC: // 1 - Out of combat.
|
case SAI_EVENT_UPDATE_OOC: // 1 - Out of combat.
|
||||||
if ($this->srcType == SAI_SRC_TYPE_ACTIONLIST)
|
if ($this->srcType == SAI_SRC_TYPE_ACTIONLIST)
|
||||||
$e['param'][6] = 1;
|
$e['param'][11] = 1;
|
||||||
// do not break;
|
// do not break;
|
||||||
case SAI_EVENT_UPDATE: // 60 -
|
case SAI_EVENT_UPDATE: // 60 -
|
||||||
$e['param'][5] = $this->numRange('event', 0, true);
|
$e['param'][10] = $this->numRange('event', 0, true);
|
||||||
if ($time = $this->numRange('event', 2, true))
|
if ($time = $this->numRange('event', 2, true))
|
||||||
$footer = $time;
|
$footer = $time;
|
||||||
break;
|
break;
|
||||||
|
case SAI_EVENT_GOSSIP_HELLO: // 64 - On Right-Click Creature/Gameobject that have gossip enabled.
|
||||||
|
if ($this->srcType == SAI_SRC_TYPE_OBJECT)
|
||||||
|
$footer = array(
|
||||||
|
$e['param'][0] == 1,
|
||||||
|
$e['param'][0] == 2,
|
||||||
|
);
|
||||||
|
break;
|
||||||
case SAI_EVENT_KILL: // 5 - On Creature Kill
|
case SAI_EVENT_KILL: // 5 - On Creature Kill
|
||||||
if ($time = $this->numRange('event', 0, true))
|
if ($time = $this->numRange('event', 0, true))
|
||||||
$footer = $time;
|
$footer = $time;
|
||||||
@@ -605,7 +572,7 @@ class SmartAI
|
|||||||
$footer = $time;
|
$footer = $time;
|
||||||
|
|
||||||
if ($e['param'][1])
|
if ($e['param'][1])
|
||||||
$e['param'][5] = Lang::getMagicSchools($e['param'][1]);
|
$e['param'][10] = Lang::getMagicSchools($e['param'][1]);
|
||||||
|
|
||||||
if ($e['param'][0])
|
if ($e['param'][0])
|
||||||
$this->jsGlobals[TYPE_SPELL][] = $e['param'][0];
|
$this->jsGlobals[TYPE_SPELL][] = $e['param'][0];
|
||||||
@@ -621,6 +588,7 @@ class SmartAI
|
|||||||
$footer = $time;
|
$footer = $time;
|
||||||
break;
|
break;
|
||||||
case SAI_EVENT_SUMMONED_UNIT: // 17 - On Creature/Gameobject Summoned Unit
|
case SAI_EVENT_SUMMONED_UNIT: // 17 - On Creature/Gameobject Summoned Unit
|
||||||
|
case SAI_EVENT_SUMMONED_UNIT_DIES: // 82 - On Summoned Unit Dies
|
||||||
if ($e['param'][0])
|
if ($e['param'][0])
|
||||||
$this->jsGlobals[TYPE_NPC][] = $e['param'][0];
|
$this->jsGlobals[TYPE_NPC][] = $e['param'][0];
|
||||||
// do not break;
|
// do not break;
|
||||||
@@ -633,6 +601,8 @@ class SmartAI
|
|||||||
case SAI_EVENT_REWARD_QUEST: // 20 - On Target Rewarded Quest
|
case SAI_EVENT_REWARD_QUEST: // 20 - On Target Rewarded Quest
|
||||||
if ($e['param'][0])
|
if ($e['param'][0])
|
||||||
$this->jsGlobals[TYPE_QUEST][] = $e['param'][0];
|
$this->jsGlobals[TYPE_QUEST][] = $e['param'][0];
|
||||||
|
if ($time = $this->numRange('event', 1, true))
|
||||||
|
$footer = $time;
|
||||||
break;
|
break;
|
||||||
case SAI_EVENT_RECEIVE_EMOTE: // 22 - On Receive Emote.
|
case SAI_EVENT_RECEIVE_EMOTE: // 22 - On Receive Emote.
|
||||||
$this->jsGlobals[TYPE_EMOTE][] = $e['param'][0];
|
$this->jsGlobals[TYPE_EMOTE][] = $e['param'][0];
|
||||||
@@ -645,7 +615,7 @@ class SmartAI
|
|||||||
$this->jsGlobals[TYPE_NPC][] = $e['param'][1];
|
$this->jsGlobals[TYPE_NPC][] = $e['param'][1];
|
||||||
break;
|
break;
|
||||||
case SAI_EVENT_LINK: // 61 - Used to link together multiple events as a chain of events.
|
case SAI_EVENT_LINK: // 61 - Used to link together multiple events as a chain of events.
|
||||||
$e['param'][5] = LANG::concat(DB::World()->selectCol('SELECT CONCAT("#[b]", id, "[/b]") FROM smart_scripts WHERE link = ?d AND entryorguid = ?d AND source_type = ?d', $this->itr['id'], $this->entry, $this->srcType), false);
|
$e['param'][10] = LANG::concat(DB::World()->selectCol('SELECT CONCAT("#[b]", id, "[/b]") FROM smart_scripts WHERE link = ?d AND entryorguid = ?d AND source_type = ?d', $this->itr['id'], $this->entry, $this->srcType), false);
|
||||||
break;
|
break;
|
||||||
case SAI_EVENT_GOSSIP_SELECT: // 62 - On gossip clicked (gossip_menu_option335).
|
case SAI_EVENT_GOSSIP_SELECT: // 62 - On gossip clicked (gossip_menu_option335).
|
||||||
$gmo = DB::World()->selectRow('SELECT gmo.OptionText AS text_loc0 {, gmol.OptionText AS text_loc?d}
|
$gmo = DB::World()->selectRow('SELECT gmo.OptionText AS text_loc0 {, gmol.OptionText AS text_loc?d}
|
||||||
@@ -658,7 +628,7 @@ class SmartAI
|
|||||||
);
|
);
|
||||||
|
|
||||||
if ($gmo)
|
if ($gmo)
|
||||||
$e['param'][5] = Util::localizedString($gmo, 'text');
|
$e['param'][10] = Util::localizedString($gmo, 'text');
|
||||||
else
|
else
|
||||||
trigger_error('SmartAI::event - could not find gossip menu option for event #'.$e['type']);
|
trigger_error('SmartAI::event - could not find gossip menu option for event #'.$e['type']);
|
||||||
break;
|
break;
|
||||||
@@ -668,24 +638,24 @@ class SmartAI
|
|||||||
break;
|
break;
|
||||||
case SAI_EVENT_DISTANCE_CREATURE: // 75 - On creature guid OR any instance of creature entry is within distance.
|
case SAI_EVENT_DISTANCE_CREATURE: // 75 - On creature guid OR any instance of creature entry is within distance.
|
||||||
if ($e['param'][0])
|
if ($e['param'][0])
|
||||||
$e['param'][5] = DB::World()->selectCell('SELECT id FROM creature WHERE guid = ?d', $e['param'][0]);
|
$e['param'][10] = DB::World()->selectCell('SELECT id FROM creature WHERE guid = ?d', $e['param'][0]);
|
||||||
// do not break;
|
// do not break;
|
||||||
case SAI_EVENT_DISTANCE_GAMEOBJECT: // 76 - On gameobject guid OR any instance of gameobject entry is within distance.
|
case SAI_EVENT_DISTANCE_GAMEOBJECT: // 76 - On gameobject guid OR any instance of gameobject entry is within distance.
|
||||||
if ($e['param'][0] && !$e['param'][5])
|
if ($e['param'][0] && !$e['param'][10])
|
||||||
$e['param'][5] = DB::World()->selectCell('SELECT id FROM gameobject WHERE guid = ?d', $e['param'][0]);
|
$e['param'][10] = DB::World()->selectCell('SELECT id FROM gameobject WHERE guid = ?d', $e['param'][0]);
|
||||||
else if ($e['param'][1])
|
else if ($e['param'][1])
|
||||||
$e['param'][5] = $e['param'][1];
|
$e['param'][10] = $e['param'][1];
|
||||||
else if (!$e['param'][5])
|
else if (!$e['param'][10])
|
||||||
trigger_error('SmartAI::event - entity for event #'.$e['type'].' not defined');
|
trigger_error('SmartAI::event - entity for event #'.$e['type'].' not defined');
|
||||||
|
|
||||||
if ($e['param'][5])
|
if ($e['param'][10])
|
||||||
$this->jsGlobals[TYPE_NPC][] = $e['param'][5];
|
$this->jsGlobals[TYPE_NPC][] = $e['param'][10];
|
||||||
|
|
||||||
if ($e['param'][3])
|
if ($e['param'][3])
|
||||||
$footer = Util::formatTime($e['param'][3], true);
|
$footer = Util::formatTime($e['param'][3], true);
|
||||||
break;
|
break;
|
||||||
case SAI_EVENT_EVENT_PHASE_CHANGE: // 66 - On event phase mask set
|
case SAI_EVENT_EVENT_PHASE_CHANGE: // 66 - On event phase mask set
|
||||||
$e['param'][5] = Lang::concat(Util::mask2bits($a['param'][0]), false);
|
$e['param'][10] = Lang::concat(Util::mask2bits($a['param'][0]), false);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
$body = '[span class=q10]Unhandled Event[/span] #'.$e['type'];
|
$body = '[span class=q10]Unhandled Event[/span] #'.$e['type'];
|
||||||
@@ -714,7 +684,7 @@ class SmartAI
|
|||||||
$tooltip = '[tooltip name=a-'.$this->rowKey.']'.Lang::smartAI('actionTT', array_merge([$a['type']], $a['param'])).'[/tooltip][span tooltip=a-'.$this->rowKey.']%s[/span]';
|
$tooltip = '[tooltip name=a-'.$this->rowKey.']'.Lang::smartAI('actionTT', array_merge([$a['type']], $a['param'])).'[/tooltip][span tooltip=a-'.$this->rowKey.']%s[/span]';
|
||||||
|
|
||||||
// init additional parameters
|
// init additional parameters
|
||||||
$a['param'] = array_pad($a['param'], 10, '');
|
$a['param'] = array_pad($a['param'], 15, '');
|
||||||
|
|
||||||
switch ($a['type'])
|
switch ($a['type'])
|
||||||
{
|
{
|
||||||
@@ -733,6 +703,7 @@ class SmartAI
|
|||||||
case SAI_ACTION_SET_IN_COMBAT_WITH_ZONE: // 38 -> self
|
case SAI_ACTION_SET_IN_COMBAT_WITH_ZONE: // 38 -> self
|
||||||
case SAI_ACTION_SET_INVINCIBILITY_HP_LEVEL: // 42 -> self
|
case SAI_ACTION_SET_INVINCIBILITY_HP_LEVEL: // 42 -> self
|
||||||
case SAI_ACTION_SET_DATA: // 45 -> any target
|
case SAI_ACTION_SET_DATA: // 45 -> any target
|
||||||
|
case SAI_ACTION_ATTACK_STOP: // 46 -> self
|
||||||
case SAI_ACTION_SET_VISIBILITY: // 47 -> any target
|
case SAI_ACTION_SET_VISIBILITY: // 47 -> any target
|
||||||
case SAI_ACTION_SET_ACTIVE: // 48 -> any target
|
case SAI_ACTION_SET_ACTIVE: // 48 -> any target
|
||||||
case SAI_ACTION_ATTACK_START: // 49 -> any target
|
case SAI_ACTION_ATTACK_START: // 49 -> any target
|
||||||
@@ -761,7 +732,12 @@ class SmartAI
|
|||||||
case SAI_ACTION_SET_CAN_FLY: // 119 -> self
|
case SAI_ACTION_SET_CAN_FLY: // 119 -> self
|
||||||
case SAI_ACTION_SET_SIGHT_DIST: // 121 -> any target
|
case SAI_ACTION_SET_SIGHT_DIST: // 121 -> any target
|
||||||
case SAI_ACTION_REMOVE_ALL_GAMEOBJECTS: // 126 -> any target
|
case SAI_ACTION_REMOVE_ALL_GAMEOBJECTS: // 126 -> any target
|
||||||
case SAI_ACTION_STOP_MOTION: // 127 -> any target [ye, not gonna resolve this nonsense]
|
case SAI_ACTION_PLAY_CINEMATIC: // 135 -> player target
|
||||||
|
break;
|
||||||
|
case SAI_ACTION_PAUSE_MOVEMENT: // 127 -> any target [ye, not gonna resolve this nonsense]
|
||||||
|
$a['param'][6] = Util::formatTime($a['param'][1], true);
|
||||||
|
if ($a['param'][2])
|
||||||
|
$footer = true;
|
||||||
break;
|
break;
|
||||||
// simple type as param[0]
|
// simple type as param[0]
|
||||||
case SAI_ACTION_PLAY_EMOTE: // 5 -> any target
|
case SAI_ACTION_PLAY_EMOTE: // 5 -> any target
|
||||||
@@ -777,6 +753,8 @@ class SmartAI
|
|||||||
$this->jsGlobals[TYPE_QUEST][] = $a['param'][0];
|
$this->jsGlobals[TYPE_QUEST][] = $a['param'][0];
|
||||||
break;
|
break;
|
||||||
case SAI_ACTION_REMOVEAURASFROMSPELL: // 28 -> any target
|
case SAI_ACTION_REMOVEAURASFROMSPELL: // 28 -> any target
|
||||||
|
if ($a['param'][2])
|
||||||
|
$footer = true;
|
||||||
case SAI_ACTION_ADD_AURA: // 75 -> any target
|
case SAI_ACTION_ADD_AURA: // 75 -> any target
|
||||||
if ($a['param'][0])
|
if ($a['param'][0])
|
||||||
$this->jsGlobals[TYPE_SPELL][] = $a['param'][0];
|
$this->jsGlobals[TYPE_SPELL][] = $a['param'][0];
|
||||||
@@ -826,19 +804,20 @@ class SmartAI
|
|||||||
break;
|
break;
|
||||||
// misc
|
// misc
|
||||||
case SAI_ACTION_TALK: // 1 -> any target
|
case SAI_ACTION_TALK: // 1 -> any target
|
||||||
if ($src = $this->getTalkSource())
|
$noSrc = false;
|
||||||
|
if ($src = $this->getTalkSource($noSrc))
|
||||||
{
|
{
|
||||||
if ($a['param'][6] = isset($this->quotes[$src][$a['param'][0]]))
|
if ($a['param'][6] = isset($this->quotes[$src][$a['param'][0]]))
|
||||||
{
|
{
|
||||||
$quotes = $this->quotes[$src][$a['param'][0]];
|
$quotes = $this->quotes[$src][$a['param'][0]];
|
||||||
foreach ($quotes as $key => $q)
|
foreach ($quotes as $quote)
|
||||||
{
|
{
|
||||||
$_ = ($q['type'] != 4 ? $this->quotes[$src]['src'].' '.Lang::npc('textTypes', $q['type']).Lang::main('colon').($q['lang'] ? '['.$q['lang'].'] ' : null) : null).html_entity_decode($q['text']);
|
$a['param'][7] .= sprintf($quote['text'], $noSrc ? '' : sprintf($quote['prefix'], $this->quotes[$src]['src']), $this->quotes[$src]['src']);
|
||||||
$a['param'][7] .= '[div][span class=s'.$q['type'].']'.sprintf($_, $this->quotes[$src]['src']).'[/span][/div]';
|
|
||||||
|
|
||||||
if ($a['param'][1])
|
if ($a['param'][1])
|
||||||
$footer = [Util::formatTime($a['param'][1], true)];
|
$footer = [Util::formatTime($a['param'][1], true)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// todo (low): undestand what action_param2 does
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1084,16 +1063,14 @@ class SmartAI
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
case SAI_ACTION_SIMPLE_TALK: // 84 -> any target
|
case SAI_ACTION_SIMPLE_TALK: // 84 -> any target
|
||||||
if ($src = $this->getTalkSource())
|
$noSrc = false;
|
||||||
|
if ($src = $this->getTalkSource($noSrc))
|
||||||
{
|
{
|
||||||
if (isset($this->quotes[$src][$a['param'][0]]))
|
if (isset($this->quotes[$src][$a['param'][0]]))
|
||||||
{
|
{
|
||||||
$quotes = $this->quotes[$src][$a['param'][0]];
|
$quotes = $this->quotes[$src][$a['param'][0]];
|
||||||
foreach ($quotes as $key => $q)
|
foreach ($quotes as $quote)
|
||||||
{
|
$a['param'][6] .= sprintf($quote['text'], $noSrc ? '' : sprintf($quote['prefix'], $this->quotes[$src]['src']), $this->quotes[$src]['src']);
|
||||||
$_ = ($q['type'] != 4 ? $this->quotes[$src]['src'].' '.Lang::npc('textTypes', $q['type']).Lang::main('colon').($q['lang'] ? '['.$q['lang'].'] ' : null) : null).html_entity_decode($q['text']);
|
|
||||||
$a['param'][6] .= '[div][span class=s'.$q['type'].']'.sprintf($_, $this->quotes[$src]['src']).'[/span][/div]';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1103,11 +1080,12 @@ class SmartAI
|
|||||||
case SAI_ACTION_CROSS_CAST: // 86 -> entity by TargetingBlock(param3, param4, param5, param6) cross cast spell <param1> at any target
|
case SAI_ACTION_CROSS_CAST: // 86 -> entity by TargetingBlock(param3, param4, param5, param6) cross cast spell <param1> at any target
|
||||||
$a['param'][6] = $this->target(array(
|
$a['param'][6] = $this->target(array(
|
||||||
'type' => $a['param'][2],
|
'type' => $a['param'][2],
|
||||||
'param' => [$a['param'][3], $a['param'][4], $a['param'][5]],
|
'param' => [$a['param'][3], $a['param'][4], $a['param'][5], 0],
|
||||||
'pos' => [0, 0, 0, 0]
|
'pos' => [0, 0, 0, 0]
|
||||||
));
|
));
|
||||||
// do not break;
|
// do not break;
|
||||||
case SAI_ACTION_INVOKER_CAST: // 85 -> any target
|
case SAI_ACTION_SELF_CAST: // 85 -> self
|
||||||
|
case SAI_ACTION_INVOKER_CAST: // 134 -> any target
|
||||||
$this->jsGlobals[TYPE_SPELL][] = $a['param'][0];
|
$this->jsGlobals[TYPE_SPELL][] = $a['param'][0];
|
||||||
if ($_ = $this->castFlags('action', 1))
|
if ($_ = $this->castFlags('action', 1))
|
||||||
$footer = $_;
|
$footer = $_;
|
||||||
@@ -1270,10 +1248,62 @@ class SmartAI
|
|||||||
case SAI_ACTION_TRIGGER_RANDOM_TIMED_EVENT: // 125 -> self
|
case SAI_ACTION_TRIGGER_RANDOM_TIMED_EVENT: // 125 -> self
|
||||||
$a['param'][6] = $this->numRange('action', 0);
|
$a['param'][6] = $this->numRange('action', 0);
|
||||||
break;
|
break;
|
||||||
// todo (med): i know these exist, but have no info how they operate
|
|
||||||
case SAI_ACTION_SPAWN_SPAWNGROUP: // 131
|
case SAI_ACTION_SPAWN_SPAWNGROUP: // 131
|
||||||
case SAI_ACTION_DESPAWN_SPAWNGROUP: // 132
|
case SAI_ACTION_DESPAWN_SPAWNGROUP: // 132
|
||||||
|
$a['param'][6] = DB::World()->selectCell('SELECT `GroupName` FROM spawn_group_template WHERE `groupId` = ?d', $a['param'][0]);
|
||||||
|
$entities = DB::World()->select('SELECT `spawnType` AS "0", `spawnId` AS "1" FROM spawn_group WHERE `groupId` = ?d', $a['param'][0]);
|
||||||
|
|
||||||
|
$n = 5;
|
||||||
|
foreach ($entities as [$spawnType, $guid])
|
||||||
|
{
|
||||||
|
$type = TYPE_NPC;
|
||||||
|
if ($spawnType == 1)
|
||||||
|
$type == TYPE_GAMEOBJECT;
|
||||||
|
|
||||||
|
$a['param'][7] = $this->spawnFlags('action', 3);
|
||||||
|
|
||||||
|
if ($_ = DB::Aowow()->selectCell('SELECT `typeId` FROM ?_spawns WHERE `type` = ?d AND `guid` = ?d', $type, $guid))
|
||||||
|
{
|
||||||
|
$this->jsGlobals[$type][] = $_;
|
||||||
|
$a['param'][8] .= '[li]['.Util::$typeStrings[$type].'='.$_.'][small class=q0] (GUID: '.$guid.')[/small][/li]';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$a['param'][8] .= '[li]'.Lang::smartAI('entityUNK').'[small class=q0] (GUID: '.$guid.')[/small][/li]';
|
||||||
|
|
||||||
|
if (!--$n)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($entities) > 5)
|
||||||
|
$a['param'][8] .= '[li]+'.(count($entities) - 5).'…[/li]';
|
||||||
|
|
||||||
|
$a['param'][8] = '[ul]'.$a['param'][8].'[/ul]';
|
||||||
|
|
||||||
|
if ($time = $this->numRange('action', 1, true))
|
||||||
|
$footer = [$time];
|
||||||
|
break;
|
||||||
case SAI_ACTION_RESPAWN_BY_SPAWNID: // 133
|
case SAI_ACTION_RESPAWN_BY_SPAWNID: // 133
|
||||||
|
$type = TYPE_NPC;
|
||||||
|
if ($a['param'][0] == 1)
|
||||||
|
$type == TYPE_GAMEOBJECT;
|
||||||
|
|
||||||
|
if ($_ = DB::Aowow()->selectCell('SELECT `typeId` FROM ?_spawns WHERE `type` = ?d AND `guid` = ?d', $type, $a['param'][1]))
|
||||||
|
$a['param'][6] = '['.Util::$typeStrings[$type].'='.$_.']';
|
||||||
|
else
|
||||||
|
$a['param'][6] = Lang::smartAI('entityUNK');
|
||||||
|
break;
|
||||||
|
case SAI_ACTION_SET_MOVEMENT_SPEED: // 136
|
||||||
|
$a['param'][6] = $a['param'][1] + $a['param'][2] / pow(10, floor(log10($a['param'][2] ?: 1.0) + 1)); // i know string concatenation is a thing. don't @ me!
|
||||||
|
break;
|
||||||
|
case SAI_ACTION_OVERRIDE_LIGHT: // 138
|
||||||
|
$this->jsGlobals[TYPE_ZONE][] = $a['param'][0];
|
||||||
|
$footer = [Util::formatTime($a['param'][2], true)];
|
||||||
|
break;
|
||||||
|
case SAI_ACTION_OVERRIDE_WEATHER: // 139
|
||||||
|
$this->jsGlobals[TYPE_ZONE][] = $a['param'][0];
|
||||||
|
if (!($a['param'][6] = Lang::smartAI('weatherStates', $a['param'][1])))
|
||||||
|
$a['param'][6] = Lang::smartAI('weatherStateUNK', [$a['param'][1]]);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
$body = Lang::smartAI('actionUNK', [$a['type']]);
|
$body = Lang::smartAI('actionUNK', [$a['type']]);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ $lang = array(
|
|||||||
'links' => "Links",
|
'links' => "Links",
|
||||||
'compare' => "Vergleichen",
|
'compare' => "Vergleichen",
|
||||||
'view3D' => "3D-Ansicht",
|
'view3D' => "3D-Ansicht",
|
||||||
'findUpgrades' => "Bessere Gegenstände finden...",
|
'findUpgrades' => "Bessere Gegenstände finden…",
|
||||||
|
|
||||||
// miscTools
|
// miscTools
|
||||||
'errPageTitle' => "Seite nicht gefunden",
|
'errPageTitle' => "Seite nicht gefunden",
|
||||||
@@ -431,27 +431,27 @@ $lang = array(
|
|||||||
'eventUNK' => '[span class=q10]Unbenkanntes Event #[b class=q1]%d[/b] in Benutzung.[/span]',
|
'eventUNK' => '[span class=q10]Unbenkanntes Event #[b class=q1]%d[/b] in Benutzung.[/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]',
|
'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(
|
'events' => array(
|
||||||
SAI_EVENT_UPDATE_IC => ['(%7$d)?:Im Kampf, ;(%6$s)?Nach %6$s:Sofort;', 'Wiederhole alle %s'],
|
SAI_EVENT_UPDATE_IC => ['(%12$d)?:Im Kampf, ;(%11$s)?Nach %11$s:Sofort;', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_UPDATE_OOC => ['(%7$d)?:Nicht im Kampf, ;(%6$s)?Nach %6$s:Sofort;', 'Wiederhole alle %s'],
|
SAI_EVENT_UPDATE_OOC => ['(%12$d)?:Nicht im Kampf, ;(%11$s)?Nach %11$s:Sofort;', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_HEALT_PCT => ['Ab %6$s%% Gesundheit', 'Wiederhole alle %s'],
|
SAI_EVENT_HEALTH_PCT => ['Ab %11$s%% Gesundheit', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_MANA_PCT => ['Ab %6$s%% Mana', 'Wiederhole alle %s'],
|
SAI_EVENT_MANA_PCT => ['Ab %11$s%% Mana', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_AGGRO => ['Bei Aggro', null],
|
SAI_EVENT_AGGRO => ['Bei Aggro', null],
|
||||||
SAI_EVENT_KILL => ['Beim Töten von (%3$d)?einem Spieler:;(%4$d)?[npc=%4$d]:einer Kreatur;', 'Abklingzeit: %s'],
|
SAI_EVENT_KILL => ['Beim Töten von (%3$d)?einem Spieler:;(%4$d)?[npc=%4$d]:einer Kreatur;', 'Abklingzeit: %s'],
|
||||||
SAI_EVENT_DEATH => ['Im Tod', null],
|
SAI_EVENT_DEATH => ['Im Tod', null],
|
||||||
SAI_EVENT_EVADE => ['Beim Entkommen', null],
|
SAI_EVENT_EVADE => ['Beim Entkommen', null],
|
||||||
SAI_EVENT_SPELLHIT => ['Von (%6$s)?%6$s-:;(%1$d)?[spell=%1$d]:Zauber; getroffen', 'Abklingzeit: %s'],
|
SAI_EVENT_SPELLHIT => ['Von (%11$s)?%11$s-:;(%1$d)?[spell=%1$d]:Zauber; getroffen', 'Abklingzeit: %s'],
|
||||||
SAI_EVENT_RANGE => ['Ziel innerhalb von %6$sm', 'Wiederhole alle %s'],
|
SAI_EVENT_RANGE => ['Ziel innerhalb von %11$sm', 'Wiederhole alle %s'],
|
||||||
/* 10*/ SAI_EVENT_OOC_LOS => ['(%1$d)?Freundlicher:Feindlicher; (%5$d)?Spieler:NPC; kommt ausserhalb des Kampfes innerhalb von %2$dm ins Sichtfeld', 'Abklingzeit: %s'],
|
/* 10*/ SAI_EVENT_OOC_LOS => ['(%1$d)?Freundlicher:Feindlicher; (%5$d)?Spieler:NPC; kommt ausserhalb des Kampfes innerhalb von %2$dm ins Sichtfeld', 'Abklingzeit: %s'],
|
||||||
SAI_EVENT_RESPAWN => ['Beim Wiedereinstieg', null],
|
SAI_EVENT_RESPAWN => ['Beim Wiedereinstieg', null],
|
||||||
SAI_EVENT_TARGET_HEALTH_PCT => ['Ziel hat %6$s%% Gesundheit', 'Wiederhole alle %s'],
|
SAI_EVENT_TARGET_HEALTH_PCT => ['Ziel hat %11$s%% Gesundheit', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_VICTIM_CASTING => ['Aktuelles Ziel wirkt (%3$d)?[spell=%3$d]:beliebigen Zauber;', 'Wiederhole alle %s'],
|
SAI_EVENT_VICTIM_CASTING => ['Aktuelles Ziel wirkt (%3$d)?[spell=%3$d]:beliebigen Zauber;', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_FRIENDLY_HEALTH => ['Freundlicher NPC innerhalb von %2$dm hat %1$d Gesundheit', 'Wiederhole alle %s'],
|
SAI_EVENT_FRIENDLY_HEALTH => ['Freundlicher NPC innerhalb von %2$dm hat %1$d Gesundheit', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_FRIENDLY_IS_CC => ['Freundlicher NPC innerhalb von %1$dm ist beeinflusst von \'Crowd Control\'', 'Wiederhole alle %s'],
|
SAI_EVENT_FRIENDLY_IS_CC => ['Freundlicher NPC innerhalb von %1$dm ist beeinflusst von \'Crowd Control\'', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_FRIENDLY_MISSING_BUFF => ['Freundlichem NPC innerhalb von %2$dm fehlt [spell=%1$d]', 'Wiederhole alle %s'],
|
SAI_EVENT_FRIENDLY_MISSING_BUFF => ['Freundlichem NPC innerhalb von %2$dm fehlt [spell=%1$d]', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_SUMMONED_UNIT => ['(%1$d)?[npc=%1$d]:Beliebige Kreatur; wurde gerade beschworen', 'Abklingzeit: %s'],
|
SAI_EVENT_SUMMONED_UNIT => ['(%1$d)?[npc=%1$d]:Beliebige Kreatur; wurde gerade beschworen', 'Abklingzeit: %s'],
|
||||||
SAI_EVENT_TARGET_MANA_PCT => ['Ziel hat %6$s%% Mana', 'Wiederhole alle %s'],
|
SAI_EVENT_TARGET_MANA_PCT => ['Ziel hat %11$s%% Mana', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_ACCEPTED_QUEST => ['Gebe (%1$d)?[quest=%1$d]:beliebiges Quest;', null],
|
SAI_EVENT_ACCEPTED_QUEST => ['Gebe (%1$d)?[quest=%1$d]:beliebiges Quest;', 'Abklingzeit: %s'],
|
||||||
/* 20*/ SAI_EVENT_REWARD_QUEST => ['Belohne (%1$d)?[quest=%1$d]:beliebiges Quest;', null],
|
/* 20*/ SAI_EVENT_REWARD_QUEST => ['Belohne (%1$d)?[quest=%1$d]:beliebiges Quest;', 'Abklingzeit: %s'],
|
||||||
SAI_EVENT_REACHED_HOME => ['Erreiche \'Heimat\'-Koordinaten', null],
|
SAI_EVENT_REACHED_HOME => ['Erreiche \'Heimat\'-Koordinaten', null],
|
||||||
SAI_EVENT_RECEIVE_EMOTE => ['Das Ziel von [emote=%1$d] seiend', 'Abklingzeit: %s'],
|
SAI_EVENT_RECEIVE_EMOTE => ['Das Ziel von [emote=%1$d] seiend', 'Abklingzeit: %s'],
|
||||||
SAI_EVENT_HAS_AURA => ['(%2$d)?Habe %2$d Aufladungen von [spell=%1$d]:Aura von [spell=%1$d] fehlt; ', 'Wiederhole alle %s'],
|
SAI_EVENT_HAS_AURA => ['(%2$d)?Habe %2$d Aufladungen von [spell=%1$d]:Aura von [spell=%1$d] fehlt; ', 'Wiederhole alle %s'],
|
||||||
@@ -462,9 +462,9 @@ $lang = array(
|
|||||||
SAI_EVENT_PASSENGER_REMOVED => ['Ein Passagier steigt ab', 'Abklingzeit: %s'],
|
SAI_EVENT_PASSENGER_REMOVED => ['Ein Passagier steigt ab', 'Abklingzeit: %s'],
|
||||||
SAI_EVENT_CHARMED => ['(%1$d)?Bezaubert werden:Bezauberung läuft ab;', null],
|
SAI_EVENT_CHARMED => ['(%1$d)?Bezaubert werden:Bezauberung läuft ab;', null],
|
||||||
/* 30*/ SAI_EVENT_CHARMED_TARGET => ['Beim Bezaubern von #target#', null],
|
/* 30*/ SAI_EVENT_CHARMED_TARGET => ['Beim Bezaubern von #target#', null],
|
||||||
SAI_EVENT_SPELLHIT_TARGET => ['#target# wird von (%6$s)?%6$s :;(%1$d)?[spell=%1$d]:Zauber; getroffen', 'Abklingzeit: %s'],
|
SAI_EVENT_SPELLHIT_TARGET => ['#target# wird von (%11$s)?%11$s :;(%1$d)?[spell=%1$d]:Zauber; getroffen', 'Abklingzeit: %s'],
|
||||||
SAI_EVENT_DAMAGED => ['Nehme %6$s Punkte Schaden', 'Wiederhole alle %s'],
|
SAI_EVENT_DAMAGED => ['Nehme %11$s Punkte Schaden', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_DAMAGED_TARGET => ['#target# nahm %6$s Punkte Schaden', 'Wiederhole alle %s'],
|
SAI_EVENT_DAMAGED_TARGET => ['#target# nahm %11$s Punkte Schaden', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_MOVEMENTINFORM => ['Beginne Bewegung zu Punkt #[b]%2$d[/b](%1$d)? mit MotionType #[b]%1$d[/b]:;', null],
|
SAI_EVENT_MOVEMENTINFORM => ['Beginne Bewegung zu Punkt #[b]%2$d[/b](%1$d)? mit MotionType #[b]%1$d[/b]:;', null],
|
||||||
SAI_EVENT_SUMMON_DESPAWNED => ['Beschworener NPC [npc=%1$d] verschwindet', 'Abklingzeit: %s'],
|
SAI_EVENT_SUMMON_DESPAWNED => ['Beschworener NPC [npc=%1$d] verschwindet', 'Abklingzeit: %s'],
|
||||||
SAI_EVENT_CORPSE_REMOVED => ['Leiche verschwindet', null],
|
SAI_EVENT_CORPSE_REMOVED => ['Leiche verschwindet', null],
|
||||||
@@ -484,20 +484,20 @@ $lang = array(
|
|||||||
/* 50*/ null,
|
/* 50*/ null,
|
||||||
null,
|
null,
|
||||||
SAI_EVENT_TEXT_OVER => ['(%2$d)?[npc=%2$d]:Beliebige Kreatur; ist fertig mit der Wiedergabe von Textgruppe #[b]%1$d[/b]', null],
|
SAI_EVENT_TEXT_OVER => ['(%2$d)?[npc=%2$d]:Beliebige Kreatur; ist fertig mit der Wiedergabe von Textgruppe #[b]%1$d[/b]', null],
|
||||||
SAI_EVENT_RECEIVE_HEAL => ['Erhalte %6$s Punkte Heilung', 'Abklingzeit: %s'],
|
SAI_EVENT_RECEIVE_HEAL => ['Erhalte %11$s Punkte Heilung', 'Abklingzeit: %s'],
|
||||||
SAI_EVENT_JUST_SUMMONED => ['Wurde gerade beschworen', null],
|
SAI_EVENT_JUST_SUMMONED => ['Wurde gerade beschworen', null],
|
||||||
SAI_EVENT_WAYPOINT_PAUSED => ['Pausiere Pfad(%2$d)? #[b]%2$d[/b]:; an (%1$d)?Wegpunkt #[b]%1$d[/b]:beliebigem Wegpunkt;', null],
|
SAI_EVENT_WAYPOINT_PAUSED => ['Pausiere Pfad(%2$d)? #[b]%2$d[/b]:; an (%1$d)?Wegpunkt #[b]%1$d[/b]:beliebigem Wegpunkt;', null],
|
||||||
SAI_EVENT_WAYPOINT_RESUMED => ['Setze Pfad(%2$d)? #[b]%2$d[/b]:; an (%1$d)?Wegpunkt #[b]%1$d[/b]:beliebigem Wegpunkt; fort', null],
|
SAI_EVENT_WAYPOINT_RESUMED => ['Setze Pfad(%2$d)? #[b]%2$d[/b]:; an (%1$d)?Wegpunkt #[b]%1$d[/b]:beliebigem Wegpunkt; fort', null],
|
||||||
SAI_EVENT_WAYPOINT_STOPPED => ['Halte Pfad(%2$d)? #[b]%2$d[/b]:; an (%1$d)?Waypoint #[b]%1$d[/b]:beliebigem Wegpunkt; an', null],
|
SAI_EVENT_WAYPOINT_STOPPED => ['Halte Pfad(%2$d)? #[b]%2$d[/b]:; an (%1$d)?Waypoint #[b]%1$d[/b]:beliebigem Wegpunkt; an', null],
|
||||||
SAI_EVENT_WAYPOINT_ENDED => ['Beende aktuellen Pfad(%2$d)? #[b]%2$d[/b]:; an (%1$d)?Waypoint #[b]%1$d[/b]:beliebigem Wegpunkt;', null],
|
SAI_EVENT_WAYPOINT_ENDED => ['Beende aktuellen Pfad(%2$d)? #[b]%2$d[/b]:; an (%1$d)?Waypoint #[b]%1$d[/b]:beliebigem Wegpunkt;', null],
|
||||||
SAI_EVENT_TIMED_EVENT_TRIGGERED => ['Geplanted Ereignis #[b]%1$d[/b] löst aus', null],
|
SAI_EVENT_TIMED_EVENT_TRIGGERED => ['Geplanted Ereignis #[b]%1$d[/b] löst aus', null],
|
||||||
/* 60*/ SAI_EVENT_UPDATE => ['(%6$s)?Nach %6$s:Sofort;', 'Wiederhole alle %s'],
|
/* 60*/ SAI_EVENT_UPDATE => ['(%11$s)?Nach %11$s:Sofort;', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_LINK => ['Nach Ereignis %6$s', null],
|
SAI_EVENT_LINK => ['Nach Ereignis %11$s', null],
|
||||||
SAI_EVENT_GOSSIP_SELECT => ['Wähle Gossip:[br](%6$s)?[span class=q1]%6$s[/span]:Menü #[b]%1$d[/b] - Option #[b]%2$d[/b];', null],
|
SAI_EVENT_GOSSIP_SELECT => ['Wähle Gossip:[br](%11$s)?[span class=q1]%11$s[/span]:Menü #[b]%1$d[/b] - Option #[b]%2$d[/b];', null],
|
||||||
SAI_EVENT_JUST_CREATED => ['Beim ersten Erscheinen in der Welt', null],
|
SAI_EVENT_JUST_CREATED => ['Beim ersten Erscheinen in der Welt', null],
|
||||||
SAI_EVENT_GOSSIP_HELLO => ['Öffne Gossip', null],
|
SAI_EVENT_GOSSIP_HELLO => ['Öffne Gossip', '(%1$d)?onGossipHello:;(%2$d)?onReportUse:;'],
|
||||||
SAI_EVENT_FOLLOW_COMPLETED => ['Ist fertig mit folgen', null],
|
SAI_EVENT_FOLLOW_COMPLETED => ['Ist fertig mit folgen', null],
|
||||||
SAI_EVENT_EVENT_PHASE_CHANGE => ['Ereignisphase wurde geändert und passt auf %6$s', null],
|
SAI_EVENT_EVENT_PHASE_CHANGE => ['Ereignisphase wurde geändert und passt auf %11$s', null],
|
||||||
SAI_EVENT_IS_BEHIND_TARGET => ['Stehe hinter #target#', 'Abklingzeit: %s'],
|
SAI_EVENT_IS_BEHIND_TARGET => ['Stehe hinter #target#', 'Abklingzeit: %s'],
|
||||||
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] beginnt', null],
|
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] beginnt', null],
|
||||||
SAI_EVENT_GAME_EVENT_END => ['[event=%1$d] endet', null],
|
SAI_EVENT_GAME_EVENT_END => ['[event=%1$d] endet', null],
|
||||||
@@ -505,9 +505,9 @@ $lang = array(
|
|||||||
SAI_EVENT_GO_EVENT_INFORM => ['Taxi-Pfad Ereignis #[b]%1$d[/b] wurde ausgelöst', null],
|
SAI_EVENT_GO_EVENT_INFORM => ['Taxi-Pfad Ereignis #[b]%1$d[/b] wurde ausgelöst', null],
|
||||||
SAI_EVENT_ACTION_DONE => ['Script-Aktion #[b]%1$d[/b] ausgeführt', null],
|
SAI_EVENT_ACTION_DONE => ['Script-Aktion #[b]%1$d[/b] ausgeführt', null],
|
||||||
SAI_EVENT_ON_SPELLCLICK => ['Zauber-Klick wurde ausgelöst', null],
|
SAI_EVENT_ON_SPELLCLICK => ['Zauber-Klick wurde ausgelöst', null],
|
||||||
SAI_EVENT_FRIENDLY_HEALTH_PCT => ['Gesundheit von #target# ist %6$s%%', 'Wiederhole alle %s'],
|
SAI_EVENT_FRIENDLY_HEALTH_PCT => ['Gesundheit von #target# ist %11$s%%', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_DISTANCE_CREATURE => ['[npc=%6$d](%1$d)? mit GUID #%1$d:; nähert sich auf %2$dm', 'Wiederhole alle %s'],
|
SAI_EVENT_DISTANCE_CREATURE => ['[npc=%11$d](%1$d)? mit GUID #%1$d:; nähert sich auf %2$dm', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_DISTANCE_GAMEOBJECT => ['[object=%6$d](%1$d)? mit GUID #%1$d:; nähert sich auf %2$dm', 'Wiederhole alle %s'],
|
SAI_EVENT_DISTANCE_GAMEOBJECT => ['[object=%11$d](%1$d)? mit GUID #%1$d:; nähert sich auf %2$dm', 'Wiederhole alle %s'],
|
||||||
SAI_EVENT_COUNTER_SET => ['Zähler #[b]%1$d[/b] ist gleich [b]%2$d[/b]', null],
|
SAI_EVENT_COUNTER_SET => ['Zähler #[b]%1$d[/b] ist gleich [b]%2$d[/b]', null],
|
||||||
),
|
),
|
||||||
'eventFlags' => array(
|
'eventFlags' => array(
|
||||||
@@ -545,18 +545,18 @@ $lang = array(
|
|||||||
SAI_ACTION_ALLOW_COMBAT_MOVEMENT => ['(%1$d)?Erlaube:Verbiete; Bewegung im Kampf.', null],
|
SAI_ACTION_ALLOW_COMBAT_MOVEMENT => ['(%1$d)?Erlaube:Verbiete; Bewegung im Kampf.', null],
|
||||||
SAI_ACTION_SET_EVENT_PHASE => ['Setze Ereignisphase von #target# auf [b]%1$d[/b].', null],
|
SAI_ACTION_SET_EVENT_PHASE => ['Setze Ereignisphase von #target# auf [b]%1$d[/b].', null],
|
||||||
SAI_ACTION_INC_EVENT_PHASE => ['(%1$d)?Inkrementiere:Dekrementiere; Ereignisphase von #target#.', null],
|
SAI_ACTION_INC_EVENT_PHASE => ['(%1$d)?Inkrementiere:Dekrementiere; Ereignisphase von #target#.', null],
|
||||||
SAI_ACTION_EVADE => ['#target# entkommt.', null],
|
SAI_ACTION_EVADE => ['#target# entkommt (%1$d)?zu letzten gespeicherten Position:zum Respawnpunkt;.', null],
|
||||||
SAI_ACTION_FLEE_FOR_ASSIST => ['Fliehe nach Hilfe.', 'Benutze Standard Flucht-Emote'],
|
SAI_ACTION_FLEE_FOR_ASSIST => ['Fliehe nach Hilfe.', 'Benutze Standard Flucht-Emote'],
|
||||||
SAI_ACTION_CALL_GROUPEVENTHAPPENS => ['Erfülle Ziel von [quest=%1$d] für #target#.', null],
|
SAI_ACTION_CALL_GROUPEVENTHAPPENS => ['Erfülle Ziel von [quest=%1$d] für #target#.', null],
|
||||||
SAI_ACTION_COMBAT_STOP => ['Beende aktuellen Kampf.', null],
|
SAI_ACTION_COMBAT_STOP => ['Beende aktuellen Kampf.', null],
|
||||||
SAI_ACTION_REMOVEAURASFROMSPELL => ['Entferne (%1$d)?alle Auren:Aura [spell=%1$d]; von #target#.', null],
|
SAI_ACTION_REMOVEAURASFROMSPELL => ['Entferne (%1$d)?alle Auren:Aura [spell=%1$d]; von #target#.', 'Nur eigene Auren'],
|
||||||
SAI_ACTION_FOLLOW => ['Folge #target#(%1$d)? mit %1$dm Abstand:;(%3$d)? bis zum Erreichen von [npc=%3$d]:;.', '(%7$d)?Winkel: %7$.2f°:;(%8$d)? Eine Form von Questziel wird erfüllt:;'],
|
SAI_ACTION_FOLLOW => ['Folge #target#(%1$d)? mit %1$dm Abstand:;(%3$d)? bis zum Erreichen von [npc=%3$d]:;.', '(%7$d)?Winkel: %7$.2f°:;(%8$d)? Eine Form von Questziel wird erfüllt:;'],
|
||||||
/* 30*/ SAI_ACTION_RANDOM_PHASE => ['Wähle zufällige Ereignisphase aus %7$s.', null],
|
/* 30*/ SAI_ACTION_RANDOM_PHASE => ['Wähle zufällige Ereignisphase aus %7$s.', null],
|
||||||
SAI_ACTION_RANDOM_PHASE_RANGE => ['Wähle zufällige Ereignisphase zwischen %1$d und %2$d.', null],
|
SAI_ACTION_RANDOM_PHASE_RANGE => ['Wähle zufällige Ereignisphase zwischen %1$d und %2$d.', null],
|
||||||
SAI_ACTION_RESET_GOBJECT => ['Setze #target# zurück.', null],
|
SAI_ACTION_RESET_GOBJECT => ['Setze #target# zurück.', null],
|
||||||
SAI_ACTION_CALL_KILLEDMONSTER => ['Ein Tod von [npc=%1$d] wird #target# zugeschrieben.', null],
|
SAI_ACTION_CALL_KILLEDMONSTER => ['Ein Tod von [npc=%1$d] wird #target# zugeschrieben.', null],
|
||||||
SAI_ACTION_SET_INST_DATA => ['Setze Instanz (%3$d)?Boss State:Datenfeld; #[b]%1$d[/b] auf [b]%2$d[/b].', null],
|
SAI_ACTION_SET_INST_DATA => ['Setze Instanz (%3$d)?Boss State:Datenfeld; #[b]%1$d[/b] auf [b]%2$d[/b].', null],
|
||||||
null,
|
null, // SMART_ACTION_SET_INST_DATA64 = 35
|
||||||
SAI_ACTION_UPDATE_TEMPLATE => ['Transformiere zu [npc=%1$d](%2$d)? mit Stufe [b]%2$d[/b]:;.', null],
|
SAI_ACTION_UPDATE_TEMPLATE => ['Transformiere zu [npc=%1$d](%2$d)? mit Stufe [b]%2$d[/b]:;.', null],
|
||||||
SAI_ACTION_DIE => ['Stirb!', null],
|
SAI_ACTION_DIE => ['Stirb!', null],
|
||||||
SAI_ACTION_SET_IN_COMBAT_WITH_ZONE => ['Beginne Kampf mit allen Einheiten in der Zone.', null],
|
SAI_ACTION_SET_IN_COMBAT_WITH_ZONE => ['Beginne Kampf mit allen Einheiten in der Zone.', null],
|
||||||
@@ -567,7 +567,7 @@ $lang = array(
|
|||||||
SAI_ACTION_MOUNT_TO_ENTRY_OR_MODEL => ['Sitze (%7$d)?auf:ab; (%1$d)?[npc=%1$d].:;(%2$d)?[model npc=%2$d border=1 float=right][/model]:;', null],
|
SAI_ACTION_MOUNT_TO_ENTRY_OR_MODEL => ['Sitze (%7$d)?auf:ab; (%1$d)?[npc=%1$d].:;(%2$d)?[model npc=%2$d border=1 float=right][/model]:;', null],
|
||||||
SAI_ACTION_SET_INGAME_PHASE_MASK => ['Setze Sichtbarkeit von #target# auf Phase %7$s.', null],
|
SAI_ACTION_SET_INGAME_PHASE_MASK => ['Setze Sichtbarkeit von #target# auf Phase %7$s.', null],
|
||||||
SAI_ACTION_SET_DATA => ['[b]%2$d[/b] wird in Datenfeld #[b]%1$d[/b] von #target# abgelegt.', null],
|
SAI_ACTION_SET_DATA => ['[b]%2$d[/b] wird in Datenfeld #[b]%1$d[/b] von #target# abgelegt.', null],
|
||||||
null,
|
SAI_ACTION_ATTACK_STOP => ['Beende Angriff.', null],
|
||||||
SAI_ACTION_SET_VISIBILITY => ['#target# wird (%1$d)?sichtbar:unsichtbar;.', null],
|
SAI_ACTION_SET_VISIBILITY => ['#target# wird (%1$d)?sichtbar:unsichtbar;.', null],
|
||||||
SAI_ACTION_SET_ACTIVE => ['#target# kann(%1$d)?: keine; Grids aktivieren.', null],
|
SAI_ACTION_SET_ACTIVE => ['#target# kann(%1$d)?: keine; Grids aktivieren.', null],
|
||||||
SAI_ACTION_ATTACK_START => ['Greife #target# an.', null],
|
SAI_ACTION_ATTACK_START => ['Greife #target# an.', null],
|
||||||
@@ -606,7 +606,7 @@ $lang = array(
|
|||||||
SAI_ACTION_ADD_NPC_FLAG => ['Füge NpcFlags %7$s #target# hinzu.', null],
|
SAI_ACTION_ADD_NPC_FLAG => ['Füge NpcFlags %7$s #target# hinzu.', null],
|
||||||
SAI_ACTION_REMOVE_NPC_FLAG => ['Entferne NpcFlags %7$s von #target#.', null],
|
SAI_ACTION_REMOVE_NPC_FLAG => ['Entferne NpcFlags %7$s von #target#.', null],
|
||||||
SAI_ACTION_SIMPLE_TALK => ['#target# gibt (%7$s)?TextGroup:[span class=q10]unbekannten Text[/span]; #[b]%1$d[/b] für #target# wieder%7$s', null],
|
SAI_ACTION_SIMPLE_TALK => ['#target# gibt (%7$s)?TextGroup:[span class=q10]unbekannten Text[/span]; #[b]%1$d[/b] für #target# wieder%7$s', null],
|
||||||
SAI_ACTION_INVOKER_CAST => ['Auslöser wirkt [spell=%1$d] auf #target#.', null],
|
SAI_ACTION_SELF_CAST => ['Selbst wirkt [spell=%1$d] auf #target#.', null],
|
||||||
SAI_ACTION_CROSS_CAST => ['%7$s wirkt [spell=%1$d] auf #target#.', null],
|
SAI_ACTION_CROSS_CAST => ['%7$s wirkt [spell=%1$d] auf #target#.', null],
|
||||||
SAI_ACTION_CALL_RANDOM_TIMED_ACTIONLIST => ['Rufe zufällige Timed Actionlist auf: [html]%7$s[/html]', null],
|
SAI_ACTION_CALL_RANDOM_TIMED_ACTIONLIST => ['Rufe zufällige Timed Actionlist auf: [html]%7$s[/html]', null],
|
||||||
SAI_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST => ['Rufe zufällige Timed Actionlist aus Zahlenbreich auf: [html]%7$s[/html]', null],
|
SAI_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST => ['Rufe zufällige Timed Actionlist aus Zahlenbreich auf: [html]%7$s[/html]', null],
|
||||||
@@ -649,6 +649,19 @@ $lang = array(
|
|||||||
SAI_ACTION_TRIGGER_RANDOM_TIMED_EVENT => ['Löse definiertes verzögertes Ereignis innerhalb von %7$s aus.', null],
|
SAI_ACTION_TRIGGER_RANDOM_TIMED_EVENT => ['Löse definiertes verzögertes Ereignis innerhalb von %7$s aus.', null],
|
||||||
SAI_ACTION_REMOVE_ALL_GAMEOBJECTS => ['Entferne alle Gameobjects von #target#.', null],
|
SAI_ACTION_REMOVE_ALL_GAMEOBJECTS => ['Entferne alle Gameobjects von #target#.', null],
|
||||||
SAI_ACTION_STOP_MOTION => ['(%1$d)?Entferne motion type #[b]%1$d[/b] von #target#. :;(%2$d)?Beende Bewegung.:;', null],
|
SAI_ACTION_STOP_MOTION => ['(%1$d)?Entferne motion type #[b]%1$d[/b] von #target#. :;(%2$d)?Beende Bewegung.:;', null],
|
||||||
|
SAI_ACTION_PAUSE_MOVEMENT => ['Pausiere Bewegung aus Slot #[b]%1$d[/b] für %7$s.', 'Erzwungen'],
|
||||||
|
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 => ['Spawne SpawnGroup [b]%7$s[/b] SpawnFlags: %8$s %9$s', 'Abklingzeit: %s'], // Group ID, min secs, max secs, spawnflags
|
||||||
|
SAI_ACTION_DESPAWN_SPAWNGROUP => ['Despawne SpawnGroup [b]%7$s[/b] SpawnFlags: %8$s %9$s', 'Abklingzeit: %s'], // Group ID, min secs, max secs, spawnflags
|
||||||
|
SAI_ACTION_RESPAWN_BY_SPAWNID => ['Respawne %7$s [small class=q0](GUID: %2$d)[/small]', null], // spawnType, spawnId
|
||||||
|
SAI_ACTION_INVOKER_CAST => ['Auslöser wirkt [spell=%1$d] auf #target#.', null], // spellID, castFlags
|
||||||
|
SAI_ACTION_PLAY_CINEMATIC => ['Gebe Film #[b]%1$d[/b] für #target# wieder.', null], // cinematic
|
||||||
|
SAI_ACTION_SET_MOVEMENT_SPEED => ['Setze Geschwindigkeit von MotionType #[b]%1$d[/b] auf [b]%7$.2f[/b]', null], // movementType, speedInteger, speedFraction
|
||||||
|
null, // SAI_ACTION_PLAY_SPELL_VISUAL_KIT', // spellVisualKitId (RESERVED, PENDING CHERRYPICK)
|
||||||
|
SAI_ACTION_OVERRIDE_LIGHT => ['Ändere Skybox in [zone=%1$d] auf #[b]%2$d[/b].', 'Übergang: %s'], // zoneId, overrideLightID, transitionMilliseconds
|
||||||
|
SAI_ACTION_OVERRIDE_WEATHER => ['Ändere Wetter in [zone=%1$d] zu %7$s mit %3$d%% Stärke.', null] // zoneId, weatherId, intensity
|
||||||
),
|
),
|
||||||
'targetUNK' => '[span class=q10]unbekanntes Ziel#[b class=q1]%d[/b][/span]',
|
'targetUNK' => '[span class=q10]unbekanntes Ziel#[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]',
|
'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 +675,18 @@ $lang = array(
|
|||||||
SAI_TARGET_HOSTILE_RANDOM_NOT_TOP => 'zufälliges nicht-Tank Ziel',
|
SAI_TARGET_HOSTILE_RANDOM_NOT_TOP => 'zufälliges nicht-Tank Ziel',
|
||||||
SAI_TARGET_ACTION_INVOKER => 'Auslöser',
|
SAI_TARGET_ACTION_INVOKER => 'Auslöser',
|
||||||
SAI_TARGET_POSITION => 'Weltkoordinaten',
|
SAI_TARGET_POSITION => 'Weltkoordinaten',
|
||||||
SAI_TARGET_CREATURE_RANGE => '(%1$d)?zufällige Instanz von [npc=%1$d]:beliebige Kreatur; innerhalb von %4$sm',
|
SAI_TARGET_CREATURE_RANGE => '(%1$d)?zufällige Instanz von [npc=%1$d]:beliebige Kreatur; innerhalb von %11$sm(%4$d)? (max. %4$d Ziele):;',
|
||||||
/*10*/ SAI_TARGET_CREATURE_GUID => '(%4$d)?[npc=%4$d]:NPC; mit GUID #%1$d',
|
/*10*/ SAI_TARGET_CREATURE_GUID => '(%11$d)?[npc=%11$d]:NPC; mit GUID #%1$d',
|
||||||
SAI_TARGET_CREATURE_DISTANCE => '(%1$d)?zufällige Instanz von [npc=%1$d]:beliebige Kreatur; innerhalb von %4$sm',
|
SAI_TARGET_CREATURE_DISTANCE => '(%1$d)?zufällige Instanz von [npc=%1$d]:beliebige Kreatur; innerhalb von %11$sm(%3$d)? (max. %3$d Ziele):;',
|
||||||
SAI_TARGET_STORED => 'vorher gespeichertes Ziel',
|
SAI_TARGET_STORED => 'vorher gespeichertes Ziel',
|
||||||
SAI_TARGET_GAMEOBJECT_RANGE => '(%1$d)?zufällige Instanz von [object=%1$d]:beliebiges Objekt; innerhalb von %4$sm',
|
SAI_TARGET_GAMEOBJECT_RANGE => '(%1$d)?zufällige Instanz von [object=%1$d]:beliebiges Objekt; innerhalb von %11$sm(%4$d)? (max. %4$d Ziele):;',
|
||||||
SAI_TARGET_GAMEOBJECT_GUID => '(%4$d)?[object=%4$d]:Gameobject; mit GUID #%1$d',
|
SAI_TARGET_GAMEOBJECT_GUID => '(%11$d)?[object=%11$d]:Gameobject; mit GUID #%1$d',
|
||||||
SAI_TARGET_GAMEOBJECT_DISTANCE => '(%1$d)?zufällige Instanz von [object=%1$d]:beliebiges Objekt; innerhalb von %4$sm',
|
SAI_TARGET_GAMEOBJECT_DISTANCE => '(%1$d)?zufällige Instanz von [object=%1$d]:beliebiges Objekt; innerhalb von %11$sm(%3$d)? (max. %3$d Ziele):;',
|
||||||
SAI_TARGET_INVOKER_PARTY => 'Gruppe des Auslösenden',
|
SAI_TARGET_INVOKER_PARTY => 'Gruppe des Auslösenden',
|
||||||
SAI_TARGET_PLAYER_RANGE => 'zufälliger Spieler innerhalb von %4$sm',
|
SAI_TARGET_PLAYER_RANGE => 'zufälliger Spieler innerhalb von %11$sm',
|
||||||
SAI_TARGET_PLAYER_DISTANCE => 'zufälliger Spieler innerhalb von %4$sm',
|
SAI_TARGET_PLAYER_DISTANCE => 'zufälliger Spieler innerhalb von %11$sm',
|
||||||
SAI_TARGET_CLOSEST_CREATURE => 'nächste (%3$d)?tote:lebendige; (%1$d)?[npc=%1$d]:beliebige Kreatur; innerhalb von %4$sm',
|
SAI_TARGET_CLOSEST_CREATURE => 'nächste (%3$d)?tote:lebendige; (%1$d)?[npc=%1$d]:beliebige Kreatur; innerhalb von %11$sm',
|
||||||
/*20*/ SAI_TARGET_CLOSEST_GAMEOBJECT => 'nächstes (%1$d)?[object=%1$d]:beliebiges Gameobject; innerhalb von %4$sm',
|
/*20*/ SAI_TARGET_CLOSEST_GAMEOBJECT => 'nächstes (%1$d)?[object=%1$d]:beliebiges Gameobject; innerhalb von %11$sm',
|
||||||
SAI_TARGET_CLOSEST_PLAYER => 'nächster Spieler innerhalb von %1$dm',
|
SAI_TARGET_CLOSEST_PLAYER => 'nächster Spieler innerhalb von %1$dm',
|
||||||
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Fahrzeug des Auslösenden',
|
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Fahrzeug des Auslösenden',
|
||||||
SAI_TARGET_OWNER_OR_SUMMONER => 'Besitzer oder Beschwörer des Auslösenden',
|
SAI_TARGET_OWNER_OR_SUMMONER => 'Besitzer oder Beschwörer des Auslösenden',
|
||||||
@@ -682,14 +695,20 @@ $lang = array(
|
|||||||
SAI_TARGET_CLOSEST_FRIENDLY => 'nächster (%2$d)?freundlicher Spieler:freundliche Kreatur; innerhalb von %1$dm',
|
SAI_TARGET_CLOSEST_FRIENDLY => 'nächster (%2$d)?freundlicher Spieler:freundliche Kreatur; innerhalb von %1$dm',
|
||||||
SAI_TARGET_LOOT_RECIPIENTS => 'alle Spieler mit Lootberechtigung',
|
SAI_TARGET_LOOT_RECIPIENTS => 'alle Spieler mit Lootberechtigung',
|
||||||
SAI_TARGET_FARTHEST => 'am weitesten (%2$d)?entferter, kämpfender Spieler:entferte, kämpfende Kreatur; innerhalb von %1$dm(%3$d)? und im Sichtfeld:;',
|
SAI_TARGET_FARTHEST => 'am weitesten (%2$d)?entferter, kämpfender Spieler:entferte, kämpfende Kreatur; innerhalb von %1$dm(%3$d)? und im Sichtfeld:;',
|
||||||
SAI_TARGET_VEHICLE_ACCESSORY => 'Zusatz im Sitz %1$d des Fahrzeug des Auslösenden'
|
SAI_TARGET_VEHICLE_PASSENGER => 'Zusatz in (%1$d)?Sitz %11$s:allen Sitzen; des Fahrzeug des Auslösenden',
|
||||||
),
|
/*30*/ SAI_TARGET_CLOSEST_UNSPAWNED_GO => '(%1$d)?zufällige, ungespawnte Instanz von [object=%1$d]:beliebiges, ungespawntes Objekt; innerhalb von %11$sm(%3$d)'
|
||||||
|
),
|
||||||
'castFlags' => array(
|
'castFlags' => array(
|
||||||
SAI_CAST_FLAG_INTERRUPT_PREV => 'Unterbreche aktives wirken',
|
SAI_CAST_FLAG_INTERRUPT_PREV => 'Unterbreche aktives wirken',
|
||||||
SAI_CAST_FLAG_TRIGGERED => 'Ausgelöst',
|
SAI_CAST_FLAG_TRIGGERED => 'Ausgelöst',
|
||||||
SAI_CAST_FLAG_AURA_MISSING => 'Aura fehlt',
|
SAI_CAST_FLAG_AURA_MISSING => 'Aura fehlt',
|
||||||
SAI_CAST_FLAG_COMBAT_MOVE => 'Bewegung im Kampf'
|
SAI_CAST_FLAG_COMBAT_MOVE => 'Bewegung im Kampf'
|
||||||
),
|
),
|
||||||
|
'spawnFlags' => array(
|
||||||
|
SAI_SPAWN_FLAG_IGNORE_RESPAWN => 'Überschreibe und resette Respawnzeit',
|
||||||
|
SAI_SPAWN_FLAG_FORCE_SPAWN => 'Erzwinge spawn, wenn bereits gespawnt',
|
||||||
|
SAI_SPAWN_FLAG_NOSAVE_RESPAWN => 'Lösche Respawnzeit bei Despawn'
|
||||||
|
),
|
||||||
'GOStates' => ['aktiv', 'bereit', 'alternativ aktiv'],
|
'GOStates' => ['aktiv', 'bereit', 'alternativ aktiv'],
|
||||||
'summonTypes' => [null, 'Despawn nach Zeit oder wenn Leiche verschwindet', 'Despawn nach Zeit oder beim Sterben', 'Despawn nach Zeit', 'Despawn nach Zeit ausserhalb des Kampfes', 'Despawn beim Sterben', 'Despawn nach Zeit nach dem Tod', 'Despawn wenn Leiche verschwindet', 'Manueller despawn'],
|
'summonTypes' => [null, 'Despawn nach Zeit oder wenn Leiche verschwindet', 'Despawn nach Zeit oder beim Sterben', 'Despawn nach Zeit', 'Despawn nach Zeit ausserhalb des Kampfes', 'Despawn beim Sterben', 'Despawn nach Zeit nach dem Tod', 'Despawn wenn Leiche verschwindet', 'Manueller despawn'],
|
||||||
'aiTpl' => ['einfache KI', 'Zauberer', 'Geschütz', 'passive Kreatur', 'Käfig für Kreatur', 'Kreatur im Käfig'],
|
'aiTpl' => ['einfache KI', 'Zauberer', 'Geschütz', 'passive Kreatur', 'Käfig für Kreatur', 'Kreatur im Käfig'],
|
||||||
@@ -697,14 +716,17 @@ $lang = array(
|
|||||||
'sheaths' => ['alle', 'Nahkampf', 'Fernkampf'],
|
'sheaths' => ['alle', 'Nahkampf', 'Fernkampf'],
|
||||||
'saiUpdate' => ['ausserhalb des Kampfes', 'im Kampf', 'immer'],
|
'saiUpdate' => ['ausserhalb des Kampfes', 'im Kampf', 'immer'],
|
||||||
'lootStates' => ['Nicht bereit', 'Bereit', 'Aktiviert', 'Gerade deaktiviert'],
|
'lootStates' => ['Nicht bereit', 'Bereit', 'Aktiviert', 'Gerade deaktiviert'],
|
||||||
|
'weatherStates' => ['Schön', 'Nebel', 'Niesel', 'leichter Regen', 'Regen', 'starker Rain', 'leichter Schneefall', 'Schneefall', 'starker Schneefall', 22 => 'leichter Sandsturm', 41=> 'Sandsturm', 42 => 'starker Sandsturm', 86 => 'Gewitter', 90 => 'schwarzer Regen', 106 => 'schwarzer Schneefall'],
|
||||||
|
|
||||||
|
'GOStateUNK' => '[span class=q10]unbekannter Gameobject-Status #[b class=q1]%d[/b][/span]',
|
||||||
|
'summonTypeUNK' => '[span class=q10]unbekannter SummonType #[b class=q1]%d[/b][/span]',
|
||||||
|
'aiTplUNK' => '[span class=q10]unbekanntes AI-Template #[b class=q1]%d[/b][/span]',
|
||||||
|
'reactStateUNK' => '[span class=q10]unbekannter ReactState #[b class=q1]%d[/b][/span]',
|
||||||
|
'sheathUNK' => '[span class=q10]unbekannter sheath #[b class=q1]%d[/b][/span]',
|
||||||
|
'saiUpdateUNK' => '[span class=q10]unbekannte Updatebedingung #[b class=q1]%d[/b][/span]',
|
||||||
|
'lootStateUNK' => '[span class=q10]unbekannter Plündern-Status #[b class=q1]%d[/b][/span]',
|
||||||
|
'weatherStateUNK' => '[span class=q10]unbekannter Wetter-Zustand #[b class=q1]%d[/b][/span]',
|
||||||
|
|
||||||
'GOStateUNK' => '[span class=q10]unbekannter Gameobject-Status #[b class=q1]%d[/b][/span]',
|
|
||||||
'summonTypeUNK' => '[span class=q10]unbekannter SummonType #[b class=q1]%d[/b][/span]',
|
|
||||||
'aiTplUNK' => '[span class=q10]unbekanntes AI-Template #[b class=q1]%d[/b][/span]',
|
|
||||||
'reactStateUNK' => '[span class=q10]unbekannter ReactState #[b class=q1]%d[/b][/span]',
|
|
||||||
'sheathUNK' => '[span class=q10]unbekannter sheath #[b class=q1]%d[/b][/span]',
|
|
||||||
'saiUpdateUNK' => '[span class=q10]unbekannte Updatebedingung #[b class=q1]%d[/b][/span]',
|
|
||||||
'lootStateUNK' => '[span class=q10]unbekannter Plündern-Status #[b class=q1]%d[/b][/span]',
|
|
||||||
|
|
||||||
'empty' => '[span class=q0]<leer>[/span]'
|
'empty' => '[span class=q0]<leer>[/span]'
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ $lang = array(
|
|||||||
'links' => "Links",
|
'links' => "Links",
|
||||||
'compare' => "Compare",
|
'compare' => "Compare",
|
||||||
'view3D' => "View in 3D",
|
'view3D' => "View in 3D",
|
||||||
'findUpgrades' => "Find upgrades...",
|
'findUpgrades' => "Find upgrades…",
|
||||||
|
|
||||||
// misc Tools
|
// misc Tools
|
||||||
'errPageTitle' => "Page not found",
|
'errPageTitle' => "Page not found",
|
||||||
@@ -431,27 +431,27 @@ $lang = array(
|
|||||||
'eventUNK' => '[span class=q10]Unknwon event #[b class=q1]%d[/b] in use.[/span]',
|
'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]',
|
'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(
|
'events' => array(
|
||||||
SAI_EVENT_UPDATE_IC => ['(%7$d)?:When in combat, ;(%6$s)?After %6$s:Instantly;', '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 => ['(%7$d)?:When out of combat, ;(%6$s)?After %6$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_HEALT_PCT => ['At %6$s%% Health', 'Repeat every %s'],
|
SAI_EVENT_HEALTH_PCT => ['At %11$s%% Health', 'Repeat every %s'],
|
||||||
SAI_EVENT_MANA_PCT => ['At %6$s%% Mana', 'Repeat every %s'],
|
SAI_EVENT_MANA_PCT => ['At %11$s%% Mana', 'Repeat every %s'],
|
||||||
SAI_EVENT_AGGRO => ['On Aggro', null],
|
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_KILL => ['On killing (%3$d)?player:;(%4$d)?[npc=%4$d]:any creature;', 'Cooldown: %s'],
|
||||||
SAI_EVENT_DEATH => ['On death', null],
|
SAI_EVENT_DEATH => ['On death', null],
|
||||||
SAI_EVENT_EVADE => ['When evading', 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_SPELLHIT => ['When hit by (%11$s)?%11$s :;(%1$d)?[spell=%1$d]:Spell;', 'Cooldown: %s'],
|
||||||
SAI_EVENT_RANGE => ['On target at %6$sm', 'Repeat every %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'],
|
/* 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_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_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_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_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_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_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_TARGET_MANA_PCT => ['On target at %11$s%% mana', 'Repeat every %s'],
|
||||||
SAI_EVENT_ACCEPTED_QUEST => ['Giving (%1$d)?[quest=%1$d]:any quest;', null],
|
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;', null],
|
/* 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_REACHED_HOME => ['Arriving at home coordinates', null],
|
||||||
SAI_EVENT_RECEIVE_EMOTE => ['Being targeted with [emote=%1$d]', 'Cooldown: %s'],
|
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'],
|
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_PASSENGER_REMOVED => ['A passenger got off', 'Cooldown: %s'],
|
||||||
SAI_EVENT_CHARMED => ['(%1$d)?On being charmed:On charm wearing off;', null],
|
SAI_EVENT_CHARMED => ['(%1$d)?On being charmed:On charm wearing off;', null],
|
||||||
/* 30*/ SAI_EVENT_CHARMED_TARGET => ['When charming #target#', 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_SPELLHIT_TARGET => ['When #target# gets hit by (%11$s)?%11$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 => ['After taking %11$s points of damage', 'Repeat every %s'],
|
||||||
SAI_EVENT_DAMAGED_TARGET => ['After #target# took %6$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_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_SUMMON_DESPAWNED => ['Summoned [npc=%1$d] despawned', 'Cooldown: %s'],
|
||||||
SAI_EVENT_CORPSE_REMOVED => ['On corpse despawn', null],
|
SAI_EVENT_CORPSE_REMOVED => ['On corpse despawn', null],
|
||||||
@@ -484,20 +484,20 @@ $lang = array(
|
|||||||
/* 50*/ null,
|
/* 50*/ null,
|
||||||
null,
|
null,
|
||||||
SAI_EVENT_TEXT_OVER => ['(%2$d)?[npc=%2$d]:any creature; is done talking TextGroup #[b]%1$d[/b]', 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_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_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_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_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_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],
|
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'],
|
/* 60*/ SAI_EVENT_UPDATE => ['(%11$s)?After %11$s:Instantly;', 'Repeat every %s'],
|
||||||
SAI_EVENT_LINK => ['After Event %6$s', null],
|
SAI_EVENT_LINK => ['After Event %11$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],
|
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_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_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_IS_BEHIND_TARGET => ['Facing the backside of #target#', 'Cooldown: %s'],
|
||||||
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] started', null],
|
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] started', null],
|
||||||
SAI_EVENT_GAME_EVENT_END => ['[event=%1$d] ended', 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_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_ACTION_DONE => ['Executed action #[b]%1$d[/b] requested by script', null],
|
||||||
SAI_EVENT_ON_SPELLCLICK => ['Spellclick triggered', 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_FRIENDLY_HEALTH_PCT => ['Health of #target# is at %12$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_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=%6$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],
|
SAI_EVENT_COUNTER_SET => ['Counter #[b]%1$d[/b] is equal to [b]%2$d[/b]', null],
|
||||||
),
|
),
|
||||||
'eventFlags' => array(
|
'eventFlags' => array(
|
||||||
@@ -525,7 +525,7 @@ $lang = array(
|
|||||||
null,
|
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_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_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_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_PLAY_EMOTE => ['Emote [emote=%1$d] to #target#.', null],
|
||||||
SAI_ACTION_FAIL_QUEST => ['Fail [quest=%1$d] for #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_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_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_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_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_CALL_GROUPEVENTHAPPENS => ['Satisfy objective of [quest=%1$d] for #target#.', null],
|
||||||
SAI_ACTION_COMBAT_STOP => ['End current combat.', 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:;'],
|
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],
|
/* 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_RANDOM_PHASE_RANGE => ['Pick random Event Phase between %1$d and %2$d.', null],
|
||||||
SAI_ACTION_RESET_GOBJECT => ['Reset #target#.', 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_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],
|
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_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_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'],
|
SAI_ACTION_CALL_FOR_HELP => ['Call for help.', 'Use default help emote'],
|
||||||
/* 40*/ SAI_ACTION_SET_SHEATH => ['Sheath %7$s weapons.', null],
|
/* 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_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_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],
|
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_VISIBILITY => ['#target# becomes (%1$d)?visible:invisible;.', null],
|
||||||
SAI_ACTION_SET_ACTIVE => ['#target# becomes Grid (%1$d)?active:inactive;.', null],
|
SAI_ACTION_SET_ACTIVE => ['#target# becomes Grid (%1$d)?active:inactive;.', null],
|
||||||
SAI_ACTION_ATTACK_START => ['Start attacking #target#.', 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_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_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_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_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_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],
|
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_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_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_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]',
|
'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]',
|
'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_HOSTILE_RANDOM_NOT_TOP => 'random non-tank target',
|
||||||
SAI_TARGET_ACTION_INVOKER => 'Invoker',
|
SAI_TARGET_ACTION_INVOKER => 'Invoker',
|
||||||
SAI_TARGET_POSITION => 'world coordinates',
|
SAI_TARGET_POSITION => 'world coordinates',
|
||||||
SAI_TARGET_CREATURE_RANGE => '(%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 => '(%4$d)?[npc=%4$d]:NPC; with GUID #%1$d',
|
/*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 %4$sm',
|
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_STORED => 'previously stored targets',
|
||||||
SAI_TARGET_GAMEOBJECT_RANGE => '(%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 => '(%4$d)?[object=%4$d]:gameobject; with GUID #%1$d',
|
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 %4$sm',
|
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_INVOKER_PARTY => 'Invokers party',
|
||||||
SAI_TARGET_PLAYER_RANGE => 'random player within %4$sm',
|
SAI_TARGET_PLAYER_RANGE => 'random player within %11$sm',
|
||||||
SAI_TARGET_PLAYER_DISTANCE => 'random player within %4$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 %4$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 %4$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_CLOSEST_PLAYER => 'closest player within %1$dm',
|
||||||
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Invokers vehicle',
|
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Invokers vehicle',
|
||||||
SAI_TARGET_OWNER_OR_SUMMONER => 'Invokers owner or summoner',
|
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_CLOSEST_FRIENDLY => 'closest friendly (%2$d)?player:creature; within %1$dm',
|
||||||
SAI_TARGET_LOOT_RECIPIENTS => 'all players eligible for loot',
|
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_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(
|
'castFlags' => array(
|
||||||
SAI_CAST_FLAG_INTERRUPT_PREV => 'Interrupt current cast',
|
SAI_CAST_FLAG_INTERRUPT_PREV => 'Interrupt current cast',
|
||||||
@@ -690,6 +703,11 @@ $lang = array(
|
|||||||
SAI_CAST_FLAG_AURA_MISSING => 'Aura missing',
|
SAI_CAST_FLAG_AURA_MISSING => 'Aura missing',
|
||||||
SAI_CAST_FLAG_COMBAT_MOVE => 'Combat movement'
|
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'],
|
'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'],
|
'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'],
|
'aiTpl' => ['basic AI', 'spell caster', 'turret', 'passive creature', 'cage for creature', 'caged creature'],
|
||||||
@@ -697,14 +715,18 @@ $lang = array(
|
|||||||
'sheaths' => ['all', 'melee', 'ranged'],
|
'sheaths' => ['all', 'melee', 'ranged'],
|
||||||
'saiUpdate' => ['out of combat', 'in combat', 'always'],
|
'saiUpdate' => ['out of combat', 'in combat', 'always'],
|
||||||
'lootStates' => ['Not ready', 'Ready', 'Activated', 'Just Deactivated'],
|
'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]',
|
'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]',
|
'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]',
|
'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]',
|
'reactStateUNK' => '[span class=q10]unknown ReactState #[b class=q1]%d[/b][/span]',
|
||||||
'sheathUNK' => '[span class=q10]unknown sheath #[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]',
|
'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]',
|
'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]'
|
'empty' => '[span class=q0]<empty>[/span]'
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ $lang = array(
|
|||||||
'links' => "Enlaces",
|
'links' => "Enlaces",
|
||||||
'compare' => "Comparar",
|
'compare' => "Comparar",
|
||||||
'view3D' => "Ver en 3D",
|
'view3D' => "Ver en 3D",
|
||||||
'findUpgrades' => "Buscar mejoras...",
|
'findUpgrades' => "Buscar mejoras…",
|
||||||
|
|
||||||
// misc Tools
|
// misc Tools
|
||||||
'errPageTitle' => "Página no encontrada",
|
'errPageTitle' => "Página no encontrada",
|
||||||
@@ -431,27 +431,27 @@ $lang = array(
|
|||||||
'eventUNK' => '[span class=q10]Unknwon event #[b class=q1]%d[/b] in use.[/span]',
|
'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]',
|
'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(
|
'events' => array(
|
||||||
SAI_EVENT_UPDATE_IC => ['(%7$d)?:When in combat, ;(%6$s)?After %6$s:Instantly;', '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 => ['(%7$d)?:When out of combat, ;(%6$s)?After %6$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_HEALT_PCT => ['At %6$s%% Health', 'Repeat every %s'],
|
SAI_EVENT_HEALTH_PCT => ['At %11$s%% Health', 'Repeat every %s'],
|
||||||
SAI_EVENT_MANA_PCT => ['At %6$s%% Mana', 'Repeat every %s'],
|
SAI_EVENT_MANA_PCT => ['At %11$s%% Mana', 'Repeat every %s'],
|
||||||
SAI_EVENT_AGGRO => ['On Aggro', null],
|
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_KILL => ['On killing (%3$d)?player:;(%4$d)?[npc=%4$d]:any creature;', 'Cooldown: %s'],
|
||||||
SAI_EVENT_DEATH => ['On death', null],
|
SAI_EVENT_DEATH => ['On death', null],
|
||||||
SAI_EVENT_EVADE => ['When evading', 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_SPELLHIT => ['When hit by (%11$s)?%11$s :;(%1$d)?[spell=%1$d]:Spell;', 'Cooldown: %s'],
|
||||||
SAI_EVENT_RANGE => ['On target at %6$sm', 'Repeat every %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'],
|
/* 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_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_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_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_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_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_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_TARGET_MANA_PCT => ['On target at %11$s%% mana', 'Repeat every %s'],
|
||||||
SAI_EVENT_ACCEPTED_QUEST => ['Giving (%1$d)?[quest=%1$d]:any quest;', null],
|
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;', null],
|
/* 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_REACHED_HOME => ['Arriving at home coordinates', null],
|
||||||
SAI_EVENT_RECEIVE_EMOTE => ['Being targeted with [emote=%1$d]', 'Cooldown: %s'],
|
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'],
|
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_PASSENGER_REMOVED => ['A passenger got off', 'Cooldown: %s'],
|
||||||
SAI_EVENT_CHARMED => ['(%1$d)?On being charmed:On charm wearing off;', null],
|
SAI_EVENT_CHARMED => ['(%1$d)?On being charmed:On charm wearing off;', null],
|
||||||
/* 30*/ SAI_EVENT_CHARMED_TARGET => ['When charming #target#', 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_SPELLHIT_TARGET => ['When #target# gets hit by (%11$s)?%11$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 => ['After taking %11$s points of damage', 'Repeat every %s'],
|
||||||
SAI_EVENT_DAMAGED_TARGET => ['After #target# took %6$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_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_SUMMON_DESPAWNED => ['Summoned [npc=%1$d] despawned', 'Cooldown: %s'],
|
||||||
SAI_EVENT_CORPSE_REMOVED => ['On corpse despawn', null],
|
SAI_EVENT_CORPSE_REMOVED => ['On corpse despawn', null],
|
||||||
@@ -484,20 +484,20 @@ $lang = array(
|
|||||||
/* 50*/ null,
|
/* 50*/ null,
|
||||||
null,
|
null,
|
||||||
SAI_EVENT_TEXT_OVER => ['(%2$d)?[npc=%2$d]:any creature; is done talking TextGroup #[b]%1$d[/b]', 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_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_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_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_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_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],
|
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'],
|
/* 60*/ SAI_EVENT_UPDATE => ['(%11$s)?After %11$s:Instantly;', 'Repeat every %s'],
|
||||||
SAI_EVENT_LINK => ['After Event %6$s', null],
|
SAI_EVENT_LINK => ['After Event %11$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],
|
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_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_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_IS_BEHIND_TARGET => ['Facing the backside of #target#', 'Cooldown: %s'],
|
||||||
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] started', null],
|
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] started', null],
|
||||||
SAI_EVENT_GAME_EVENT_END => ['[event=%1$d] ended', 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_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_ACTION_DONE => ['Executed action #[b]%1$d[/b] requested by script', null],
|
||||||
SAI_EVENT_ON_SPELLCLICK => ['Spellclick triggered', 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_FRIENDLY_HEALTH_PCT => ['Health of #target# is at %12$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_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=%6$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],
|
SAI_EVENT_COUNTER_SET => ['Counter #[b]%1$d[/b] is equal to [b]%2$d[/b]', null],
|
||||||
),
|
),
|
||||||
'eventFlags' => array(
|
'eventFlags' => array(
|
||||||
@@ -525,7 +525,7 @@ $lang = array(
|
|||||||
null,
|
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_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_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_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_PLAY_EMOTE => ['Emote [emote=%1$d] to #target#.', null],
|
||||||
SAI_ACTION_FAIL_QUEST => ['Fail [quest=%1$d] for #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_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_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_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_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_CALL_GROUPEVENTHAPPENS => ['Satisfy objective of [quest=%1$d] for #target#.', null],
|
||||||
SAI_ACTION_COMBAT_STOP => ['End current combat.', 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:;'],
|
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],
|
/* 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_RANDOM_PHASE_RANGE => ['Pick random Event Phase between %1$d and %2$d.', null],
|
||||||
SAI_ACTION_RESET_GOBJECT => ['Reset #target#.', 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_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],
|
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_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_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'],
|
SAI_ACTION_CALL_FOR_HELP => ['Call for help.', 'Use default help emote'],
|
||||||
/* 40*/ SAI_ACTION_SET_SHEATH => ['Sheath %7$s weapons.', null],
|
/* 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_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_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],
|
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_VISIBILITY => ['#target# becomes (%1$d)?visible:invisible;.', null],
|
||||||
SAI_ACTION_SET_ACTIVE => ['#target# becomes Grid (%1$d)?active:inactive;.', null],
|
SAI_ACTION_SET_ACTIVE => ['#target# becomes Grid (%1$d)?active:inactive;.', null],
|
||||||
SAI_ACTION_ATTACK_START => ['Start attacking #target#.', 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_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_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_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_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_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],
|
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_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_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_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]',
|
'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]',
|
'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_HOSTILE_RANDOM_NOT_TOP => 'random non-tank target',
|
||||||
SAI_TARGET_ACTION_INVOKER => 'Invoker',
|
SAI_TARGET_ACTION_INVOKER => 'Invoker',
|
||||||
SAI_TARGET_POSITION => 'world coordinates',
|
SAI_TARGET_POSITION => 'world coordinates',
|
||||||
SAI_TARGET_CREATURE_RANGE => '(%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 => '(%4$d)?[npc=%4$d]:NPC; with GUID #%1$d',
|
/*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 %4$sm',
|
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_STORED => 'previously stored targets',
|
||||||
SAI_TARGET_GAMEOBJECT_RANGE => '(%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 => '(%4$d)?[object=%4$d]:gameobject; with GUID #%1$d',
|
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 %4$sm',
|
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_INVOKER_PARTY => 'Invokers party',
|
||||||
SAI_TARGET_PLAYER_RANGE => 'random player within %4$sm',
|
SAI_TARGET_PLAYER_RANGE => 'random player within %11$sm',
|
||||||
SAI_TARGET_PLAYER_DISTANCE => 'random player within %4$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 %4$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 %4$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_CLOSEST_PLAYER => 'closest player within %1$dm',
|
||||||
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Invokers vehicle',
|
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Invokers vehicle',
|
||||||
SAI_TARGET_OWNER_OR_SUMMONER => 'Invokers owner or summoner',
|
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_CLOSEST_FRIENDLY => 'closest friendly (%2$d)?player:creature; within %1$dm',
|
||||||
SAI_TARGET_LOOT_RECIPIENTS => 'all players eligible for loot',
|
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_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(
|
'castFlags' => array(
|
||||||
SAI_CAST_FLAG_INTERRUPT_PREV => 'Interrupt current cast',
|
SAI_CAST_FLAG_INTERRUPT_PREV => 'Interrupt current cast',
|
||||||
@@ -690,6 +703,11 @@ $lang = array(
|
|||||||
SAI_CAST_FLAG_AURA_MISSING => 'Aura missing',
|
SAI_CAST_FLAG_AURA_MISSING => 'Aura missing',
|
||||||
SAI_CAST_FLAG_COMBAT_MOVE => 'Combat movement'
|
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'],
|
'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'],
|
'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'],
|
'aiTpl' => ['basic AI', 'spell caster', 'turret', 'passive creature', 'cage for creature', 'caged creature'],
|
||||||
@@ -697,14 +715,18 @@ $lang = array(
|
|||||||
'sheaths' => ['all', 'melee', 'ranged'],
|
'sheaths' => ['all', 'melee', 'ranged'],
|
||||||
'saiUpdate' => ['out of combat', 'in combat', 'always'],
|
'saiUpdate' => ['out of combat', 'in combat', 'always'],
|
||||||
'lootStates' => ['Not ready', 'Ready', 'Activated', 'Just Deactivated'],
|
'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]',
|
'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]',
|
'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]',
|
'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]',
|
'reactStateUNK' => '[span class=q10]unknown ReactState #[b class=q1]%d[/b][/span]',
|
||||||
'sheathUNK' => '[span class=q10]unknown sheath #[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]',
|
'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]',
|
'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]'
|
'empty' => '[span class=q0]<empty>[/span]'
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ $lang = array(
|
|||||||
'links' => "Liens",
|
'links' => "Liens",
|
||||||
'compare' => "Comparer",
|
'compare' => "Comparer",
|
||||||
'view3D' => "Voir en 3D",
|
'view3D' => "Voir en 3D",
|
||||||
'findUpgrades' => "Trouver des améliorations...",
|
'findUpgrades' => "Trouver des améliorations…",
|
||||||
|
|
||||||
// misc Tools
|
// misc Tools
|
||||||
'errPageTitle' => "Page non trouvée",
|
'errPageTitle' => "Page non trouvée",
|
||||||
@@ -431,27 +431,27 @@ $lang = array(
|
|||||||
'eventUNK' => '[span class=q10]Unknwon event #[b class=q1]%d[/b] in use.[/span]',
|
'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]',
|
'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(
|
'events' => array(
|
||||||
SAI_EVENT_UPDATE_IC => ['(%7$d)?:When in combat, ;(%6$s)?After %6$s:Instantly;', '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 => ['(%7$d)?:When out of combat, ;(%6$s)?After %6$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_HEALT_PCT => ['At %6$s%% Health', 'Repeat every %s'],
|
SAI_EVENT_HEALTH_PCT => ['At %11$s%% Health', 'Repeat every %s'],
|
||||||
SAI_EVENT_MANA_PCT => ['At %6$s%% Mana', 'Repeat every %s'],
|
SAI_EVENT_MANA_PCT => ['At %11$s%% Mana', 'Repeat every %s'],
|
||||||
SAI_EVENT_AGGRO => ['On Aggro', null],
|
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_KILL => ['On killing (%3$d)?player:;(%4$d)?[npc=%4$d]:any creature;', 'Cooldown: %s'],
|
||||||
SAI_EVENT_DEATH => ['On death', null],
|
SAI_EVENT_DEATH => ['On death', null],
|
||||||
SAI_EVENT_EVADE => ['When evading', 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_SPELLHIT => ['When hit by (%11$s)?%11$s :;(%1$d)?[spell=%1$d]:Spell;', 'Cooldown: %s'],
|
||||||
SAI_EVENT_RANGE => ['On target at %6$sm', 'Repeat every %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'],
|
/* 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_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_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_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_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_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_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_TARGET_MANA_PCT => ['On target at %11$s%% mana', 'Repeat every %s'],
|
||||||
SAI_EVENT_ACCEPTED_QUEST => ['Giving (%1$d)?[quest=%1$d]:any quest;', null],
|
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;', null],
|
/* 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_REACHED_HOME => ['Arriving at home coordinates', null],
|
||||||
SAI_EVENT_RECEIVE_EMOTE => ['Being targeted with [emote=%1$d]', 'Cooldown: %s'],
|
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'],
|
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_PASSENGER_REMOVED => ['A passenger got off', 'Cooldown: %s'],
|
||||||
SAI_EVENT_CHARMED => ['(%1$d)?On being charmed:On charm wearing off;', null],
|
SAI_EVENT_CHARMED => ['(%1$d)?On being charmed:On charm wearing off;', null],
|
||||||
/* 30*/ SAI_EVENT_CHARMED_TARGET => ['When charming #target#', 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_SPELLHIT_TARGET => ['When #target# gets hit by (%11$s)?%11$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 => ['After taking %11$s points of damage', 'Repeat every %s'],
|
||||||
SAI_EVENT_DAMAGED_TARGET => ['After #target# took %6$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_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_SUMMON_DESPAWNED => ['Summoned [npc=%1$d] despawned', 'Cooldown: %s'],
|
||||||
SAI_EVENT_CORPSE_REMOVED => ['On corpse despawn', null],
|
SAI_EVENT_CORPSE_REMOVED => ['On corpse despawn', null],
|
||||||
@@ -484,20 +484,20 @@ $lang = array(
|
|||||||
/* 50*/ null,
|
/* 50*/ null,
|
||||||
null,
|
null,
|
||||||
SAI_EVENT_TEXT_OVER => ['(%2$d)?[npc=%2$d]:any creature; is done talking TextGroup #[b]%1$d[/b]', 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_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_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_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_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_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],
|
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'],
|
/* 60*/ SAI_EVENT_UPDATE => ['(%11$s)?After %11$s:Instantly;', 'Repeat every %s'],
|
||||||
SAI_EVENT_LINK => ['After Event %6$s', null],
|
SAI_EVENT_LINK => ['After Event %11$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],
|
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_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_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_IS_BEHIND_TARGET => ['Facing the backside of #target#', 'Cooldown: %s'],
|
||||||
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] started', null],
|
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] started', null],
|
||||||
SAI_EVENT_GAME_EVENT_END => ['[event=%1$d] ended', 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_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_ACTION_DONE => ['Executed action #[b]%1$d[/b] requested by script', null],
|
||||||
SAI_EVENT_ON_SPELLCLICK => ['Spellclick triggered', 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_FRIENDLY_HEALTH_PCT => ['Health of #target# is at %12$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_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=%6$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],
|
SAI_EVENT_COUNTER_SET => ['Counter #[b]%1$d[/b] is equal to [b]%2$d[/b]', null],
|
||||||
),
|
),
|
||||||
'eventFlags' => array(
|
'eventFlags' => array(
|
||||||
@@ -525,7 +525,7 @@ $lang = array(
|
|||||||
null,
|
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_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_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_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_PLAY_EMOTE => ['Emote [emote=%1$d] to #target#.', null],
|
||||||
SAI_ACTION_FAIL_QUEST => ['Fail [quest=%1$d] for #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_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_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_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_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_CALL_GROUPEVENTHAPPENS => ['Satisfy objective of [quest=%1$d] for #target#.', null],
|
||||||
SAI_ACTION_COMBAT_STOP => ['End current combat.', 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:;'],
|
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],
|
/* 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_RANDOM_PHASE_RANGE => ['Pick random Event Phase between %1$d and %2$d.', null],
|
||||||
SAI_ACTION_RESET_GOBJECT => ['Reset #target#.', 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_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],
|
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_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_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'],
|
SAI_ACTION_CALL_FOR_HELP => ['Call for help.', 'Use default help emote'],
|
||||||
/* 40*/ SAI_ACTION_SET_SHEATH => ['Sheath %7$s weapons.', null],
|
/* 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_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_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],
|
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_VISIBILITY => ['#target# becomes (%1$d)?visible:invisible;.', null],
|
||||||
SAI_ACTION_SET_ACTIVE => ['#target# becomes Grid (%1$d)?active:inactive;.', null],
|
SAI_ACTION_SET_ACTIVE => ['#target# becomes Grid (%1$d)?active:inactive;.', null],
|
||||||
SAI_ACTION_ATTACK_START => ['Start attacking #target#.', 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_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_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_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_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_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],
|
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_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_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_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]',
|
'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]',
|
'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_HOSTILE_RANDOM_NOT_TOP => 'random non-tank target',
|
||||||
SAI_TARGET_ACTION_INVOKER => 'Invoker',
|
SAI_TARGET_ACTION_INVOKER => 'Invoker',
|
||||||
SAI_TARGET_POSITION => 'world coordinates',
|
SAI_TARGET_POSITION => 'world coordinates',
|
||||||
SAI_TARGET_CREATURE_RANGE => '(%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 => '(%4$d)?[npc=%4$d]:NPC; with GUID #%1$d',
|
/*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 %4$sm',
|
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_STORED => 'previously stored targets',
|
||||||
SAI_TARGET_GAMEOBJECT_RANGE => '(%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 => '(%4$d)?[object=%4$d]:gameobject; with GUID #%1$d',
|
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 %4$sm',
|
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_INVOKER_PARTY => 'Invokers party',
|
||||||
SAI_TARGET_PLAYER_RANGE => 'random player within %4$sm',
|
SAI_TARGET_PLAYER_RANGE => 'random player within %11$sm',
|
||||||
SAI_TARGET_PLAYER_DISTANCE => 'random player within %4$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 %4$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 %4$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_CLOSEST_PLAYER => 'closest player within %1$dm',
|
||||||
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Invokers vehicle',
|
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Invokers vehicle',
|
||||||
SAI_TARGET_OWNER_OR_SUMMONER => 'Invokers owner or summoner',
|
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_CLOSEST_FRIENDLY => 'closest friendly (%2$d)?player:creature; within %1$dm',
|
||||||
SAI_TARGET_LOOT_RECIPIENTS => 'all players eligible for loot',
|
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_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(
|
'castFlags' => array(
|
||||||
SAI_CAST_FLAG_INTERRUPT_PREV => 'Interrupt current cast',
|
SAI_CAST_FLAG_INTERRUPT_PREV => 'Interrupt current cast',
|
||||||
@@ -690,6 +703,11 @@ $lang = array(
|
|||||||
SAI_CAST_FLAG_AURA_MISSING => 'Aura missing',
|
SAI_CAST_FLAG_AURA_MISSING => 'Aura missing',
|
||||||
SAI_CAST_FLAG_COMBAT_MOVE => 'Combat movement'
|
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'],
|
'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'],
|
'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'],
|
'aiTpl' => ['basic AI', 'spell caster', 'turret', 'passive creature', 'cage for creature', 'caged creature'],
|
||||||
@@ -697,14 +715,18 @@ $lang = array(
|
|||||||
'sheaths' => ['all', 'melee', 'ranged'],
|
'sheaths' => ['all', 'melee', 'ranged'],
|
||||||
'saiUpdate' => ['out of combat', 'in combat', 'always'],
|
'saiUpdate' => ['out of combat', 'in combat', 'always'],
|
||||||
'lootStates' => ['Not ready', 'Ready', 'Activated', 'Just Deactivated'],
|
'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]',
|
'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]',
|
'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]',
|
'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]',
|
'reactStateUNK' => '[span class=q10]unknown ReactState #[b class=q1]%d[/b][/span]',
|
||||||
'sheathUNK' => '[span class=q10]unknown sheath #[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]',
|
'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]',
|
'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]'
|
'empty' => '[span class=q0]<empty>[/span]'
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ $lang = array(
|
|||||||
'links' => "Ссылки",
|
'links' => "Ссылки",
|
||||||
'compare' => "Сравнить",
|
'compare' => "Сравнить",
|
||||||
'view3D' => "Посмотреть в 3D",
|
'view3D' => "Посмотреть в 3D",
|
||||||
'findUpgrades' => "Найти лучше...",
|
'findUpgrades' => "Найти лучше…",
|
||||||
|
|
||||||
// misc Tools
|
// misc Tools
|
||||||
'errPageTitle' => "Страница не найдена",
|
'errPageTitle' => "Страница не найдена",
|
||||||
@@ -431,27 +431,27 @@ $lang = array(
|
|||||||
'eventUNK' => '[span class=q10]Unknwon event #[b class=q1]%d[/b] in use.[/span]',
|
'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]',
|
'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(
|
'events' => array(
|
||||||
SAI_EVENT_UPDATE_IC => ['(%7$d)?:When in combat, ;(%6$s)?After %6$s:Instantly;', '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 => ['(%7$d)?:When out of combat, ;(%6$s)?After %6$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_HEALT_PCT => ['At %6$s%% Health', 'Repeat every %s'],
|
SAI_EVENT_HEALTH_PCT => ['At %11$s%% Health', 'Repeat every %s'],
|
||||||
SAI_EVENT_MANA_PCT => ['At %6$s%% Mana', 'Repeat every %s'],
|
SAI_EVENT_MANA_PCT => ['At %11$s%% Mana', 'Repeat every %s'],
|
||||||
SAI_EVENT_AGGRO => ['On Aggro', null],
|
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_KILL => ['On killing (%3$d)?player:;(%4$d)?[npc=%4$d]:any creature;', 'Cooldown: %s'],
|
||||||
SAI_EVENT_DEATH => ['On death', null],
|
SAI_EVENT_DEATH => ['On death', null],
|
||||||
SAI_EVENT_EVADE => ['When evading', 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_SPELLHIT => ['When hit by (%11$s)?%11$s :;(%1$d)?[spell=%1$d]:Spell;', 'Cooldown: %s'],
|
||||||
SAI_EVENT_RANGE => ['On target at %6$sm', 'Repeat every %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'],
|
/* 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_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_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_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_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_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_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_TARGET_MANA_PCT => ['On target at %11$s%% mana', 'Repeat every %s'],
|
||||||
SAI_EVENT_ACCEPTED_QUEST => ['Giving (%1$d)?[quest=%1$d]:any quest;', null],
|
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;', null],
|
/* 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_REACHED_HOME => ['Arriving at home coordinates', null],
|
||||||
SAI_EVENT_RECEIVE_EMOTE => ['Being targeted with [emote=%1$d]', 'Cooldown: %s'],
|
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'],
|
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_PASSENGER_REMOVED => ['A passenger got off', 'Cooldown: %s'],
|
||||||
SAI_EVENT_CHARMED => ['(%1$d)?On being charmed:On charm wearing off;', null],
|
SAI_EVENT_CHARMED => ['(%1$d)?On being charmed:On charm wearing off;', null],
|
||||||
/* 30*/ SAI_EVENT_CHARMED_TARGET => ['When charming #target#', 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_SPELLHIT_TARGET => ['When #target# gets hit by (%11$s)?%11$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 => ['After taking %11$s points of damage', 'Repeat every %s'],
|
||||||
SAI_EVENT_DAMAGED_TARGET => ['After #target# took %6$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_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_SUMMON_DESPAWNED => ['Summoned [npc=%1$d] despawned', 'Cooldown: %s'],
|
||||||
SAI_EVENT_CORPSE_REMOVED => ['On corpse despawn', null],
|
SAI_EVENT_CORPSE_REMOVED => ['On corpse despawn', null],
|
||||||
@@ -484,20 +484,20 @@ $lang = array(
|
|||||||
/* 50*/ null,
|
/* 50*/ null,
|
||||||
null,
|
null,
|
||||||
SAI_EVENT_TEXT_OVER => ['(%2$d)?[npc=%2$d]:any creature; is done talking TextGroup #[b]%1$d[/b]', 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_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_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_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_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_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],
|
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'],
|
/* 60*/ SAI_EVENT_UPDATE => ['(%11$s)?After %11$s:Instantly;', 'Repeat every %s'],
|
||||||
SAI_EVENT_LINK => ['After Event %6$s', null],
|
SAI_EVENT_LINK => ['After Event %11$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],
|
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_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_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_IS_BEHIND_TARGET => ['Facing the backside of #target#', 'Cooldown: %s'],
|
||||||
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] started', null],
|
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] started', null],
|
||||||
SAI_EVENT_GAME_EVENT_END => ['[event=%1$d] ended', 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_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_ACTION_DONE => ['Executed action #[b]%1$d[/b] requested by script', null],
|
||||||
SAI_EVENT_ON_SPELLCLICK => ['Spellclick triggered', 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_FRIENDLY_HEALTH_PCT => ['Health of #target# is at %12$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_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=%6$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],
|
SAI_EVENT_COUNTER_SET => ['Counter #[b]%1$d[/b] is equal to [b]%2$d[/b]', null],
|
||||||
),
|
),
|
||||||
'eventFlags' => array(
|
'eventFlags' => array(
|
||||||
@@ -525,7 +525,7 @@ $lang = array(
|
|||||||
null,
|
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_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_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_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_PLAY_EMOTE => ['Emote [emote=%1$d] to #target#.', null],
|
||||||
SAI_ACTION_FAIL_QUEST => ['Fail [quest=%1$d] for #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_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_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_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_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_CALL_GROUPEVENTHAPPENS => ['Satisfy objective of [quest=%1$d] for #target#.', null],
|
||||||
SAI_ACTION_COMBAT_STOP => ['End current combat.', 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:;'],
|
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],
|
/* 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_RANDOM_PHASE_RANGE => ['Pick random Event Phase between %1$d and %2$d.', null],
|
||||||
SAI_ACTION_RESET_GOBJECT => ['Reset #target#.', 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_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],
|
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_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_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'],
|
SAI_ACTION_CALL_FOR_HELP => ['Call for help.', 'Use default help emote'],
|
||||||
/* 40*/ SAI_ACTION_SET_SHEATH => ['Sheath %7$s weapons.', null],
|
/* 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_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_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],
|
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_VISIBILITY => ['#target# becomes (%1$d)?visible:invisible;.', null],
|
||||||
SAI_ACTION_SET_ACTIVE => ['#target# becomes Grid (%1$d)?active:inactive;.', null],
|
SAI_ACTION_SET_ACTIVE => ['#target# becomes Grid (%1$d)?active:inactive;.', null],
|
||||||
SAI_ACTION_ATTACK_START => ['Start attacking #target#.', 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_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_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_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_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_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],
|
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_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_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_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]',
|
'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]',
|
'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_HOSTILE_RANDOM_NOT_TOP => 'random non-tank target',
|
||||||
SAI_TARGET_ACTION_INVOKER => 'Invoker',
|
SAI_TARGET_ACTION_INVOKER => 'Invoker',
|
||||||
SAI_TARGET_POSITION => 'world coordinates',
|
SAI_TARGET_POSITION => 'world coordinates',
|
||||||
SAI_TARGET_CREATURE_RANGE => '(%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 => '(%4$d)?[npc=%4$d]:NPC; with GUID #%1$d',
|
/*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 %4$sm',
|
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_STORED => 'previously stored targets',
|
||||||
SAI_TARGET_GAMEOBJECT_RANGE => '(%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 => '(%4$d)?[object=%4$d]:gameobject; with GUID #%1$d',
|
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 %4$sm',
|
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_INVOKER_PARTY => 'Invokers party',
|
||||||
SAI_TARGET_PLAYER_RANGE => 'random player within %4$sm',
|
SAI_TARGET_PLAYER_RANGE => 'random player within %11$sm',
|
||||||
SAI_TARGET_PLAYER_DISTANCE => 'random player within %4$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 %4$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 %4$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_CLOSEST_PLAYER => 'closest player within %1$dm',
|
||||||
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Invokers vehicle',
|
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Invokers vehicle',
|
||||||
SAI_TARGET_OWNER_OR_SUMMONER => 'Invokers owner or summoner',
|
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_CLOSEST_FRIENDLY => 'closest friendly (%2$d)?player:creature; within %1$dm',
|
||||||
SAI_TARGET_LOOT_RECIPIENTS => 'all players eligible for loot',
|
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_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(
|
'castFlags' => array(
|
||||||
SAI_CAST_FLAG_INTERRUPT_PREV => 'Interrupt current cast',
|
SAI_CAST_FLAG_INTERRUPT_PREV => 'Interrupt current cast',
|
||||||
@@ -690,6 +703,11 @@ $lang = array(
|
|||||||
SAI_CAST_FLAG_AURA_MISSING => 'Aura missing',
|
SAI_CAST_FLAG_AURA_MISSING => 'Aura missing',
|
||||||
SAI_CAST_FLAG_COMBAT_MOVE => 'Combat movement'
|
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'],
|
'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'],
|
'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'],
|
'aiTpl' => ['basic AI', 'spell caster', 'turret', 'passive creature', 'cage for creature', 'caged creature'],
|
||||||
@@ -697,14 +715,18 @@ $lang = array(
|
|||||||
'sheaths' => ['all', 'melee', 'ranged'],
|
'sheaths' => ['all', 'melee', 'ranged'],
|
||||||
'saiUpdate' => ['out of combat', 'in combat', 'always'],
|
'saiUpdate' => ['out of combat', 'in combat', 'always'],
|
||||||
'lootStates' => ['Not ready', 'Ready', 'Activated', 'Just Deactivated'],
|
'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]',
|
'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]',
|
'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]',
|
'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]',
|
'reactStateUNK' => '[span class=q10]unknown ReactState #[b class=q1]%d[/b][/span]',
|
||||||
'sheathUNK' => '[span class=q10]unknown sheath #[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]',
|
'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]',
|
'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]'
|
'empty' => '[span class=q0]<empty>[/span]'
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -431,27 +431,27 @@ $lang = array(
|
|||||||
'eventUNK' => '[span class=q10]Unknwon event #[b class=q1]%d[/b] in use.[/span]',
|
'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]',
|
'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(
|
'events' => array(
|
||||||
SAI_EVENT_UPDATE_IC => ['(%7$d)?:When in combat, ;(%6$s)?After %6$s:Instantly;', '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 => ['(%7$d)?:When out of combat, ;(%6$s)?After %6$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_HEALT_PCT => ['At %6$s%% Health', 'Repeat every %s'],
|
SAI_EVENT_HEALTH_PCT => ['At %11$s%% Health', 'Repeat every %s'],
|
||||||
SAI_EVENT_MANA_PCT => ['At %6$s%% Mana', 'Repeat every %s'],
|
SAI_EVENT_MANA_PCT => ['At %11$s%% Mana', 'Repeat every %s'],
|
||||||
SAI_EVENT_AGGRO => ['On Aggro', null],
|
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_KILL => ['On killing (%3$d)?player:;(%4$d)?[npc=%4$d]:any creature;', 'Cooldown: %s'],
|
||||||
SAI_EVENT_DEATH => ['On death', null],
|
SAI_EVENT_DEATH => ['On death', null],
|
||||||
SAI_EVENT_EVADE => ['When evading', 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_SPELLHIT => ['When hit by (%11$s)?%11$s :;(%1$d)?[spell=%1$d]:Spell;', 'Cooldown: %s'],
|
||||||
SAI_EVENT_RANGE => ['On target at %6$sm', 'Repeat every %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'],
|
/* 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_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_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_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_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_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_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_TARGET_MANA_PCT => ['On target at %11$s%% mana', 'Repeat every %s'],
|
||||||
SAI_EVENT_ACCEPTED_QUEST => ['Giving (%1$d)?[quest=%1$d]:any quest;', null],
|
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;', null],
|
/* 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_REACHED_HOME => ['Arriving at home coordinates', null],
|
||||||
SAI_EVENT_RECEIVE_EMOTE => ['Being targeted with [emote=%1$d]', 'Cooldown: %s'],
|
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'],
|
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_PASSENGER_REMOVED => ['A passenger got off', 'Cooldown: %s'],
|
||||||
SAI_EVENT_CHARMED => ['(%1$d)?On being charmed:On charm wearing off;', null],
|
SAI_EVENT_CHARMED => ['(%1$d)?On being charmed:On charm wearing off;', null],
|
||||||
/* 30*/ SAI_EVENT_CHARMED_TARGET => ['When charming #target#', 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_SPELLHIT_TARGET => ['When #target# gets hit by (%11$s)?%11$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 => ['After taking %11$s points of damage', 'Repeat every %s'],
|
||||||
SAI_EVENT_DAMAGED_TARGET => ['After #target# took %6$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_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_SUMMON_DESPAWNED => ['Summoned [npc=%1$d] despawned', 'Cooldown: %s'],
|
||||||
SAI_EVENT_CORPSE_REMOVED => ['On corpse despawn', null],
|
SAI_EVENT_CORPSE_REMOVED => ['On corpse despawn', null],
|
||||||
@@ -484,20 +484,20 @@ $lang = array(
|
|||||||
/* 50*/ null,
|
/* 50*/ null,
|
||||||
null,
|
null,
|
||||||
SAI_EVENT_TEXT_OVER => ['(%2$d)?[npc=%2$d]:any creature; is done talking TextGroup #[b]%1$d[/b]', 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_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_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_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_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_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],
|
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'],
|
/* 60*/ SAI_EVENT_UPDATE => ['(%11$s)?After %11$s:Instantly;', 'Repeat every %s'],
|
||||||
SAI_EVENT_LINK => ['After Event %6$s', null],
|
SAI_EVENT_LINK => ['After Event %11$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],
|
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_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_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_IS_BEHIND_TARGET => ['Facing the backside of #target#', 'Cooldown: %s'],
|
||||||
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] started', null],
|
SAI_EVENT_GAME_EVENT_START => ['[event=%1$d] started', null],
|
||||||
SAI_EVENT_GAME_EVENT_END => ['[event=%1$d] ended', 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_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_ACTION_DONE => ['Executed action #[b]%1$d[/b] requested by script', null],
|
||||||
SAI_EVENT_ON_SPELLCLICK => ['Spellclick triggered', 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_FRIENDLY_HEALTH_PCT => ['Health of #target# is at %12$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_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=%6$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],
|
SAI_EVENT_COUNTER_SET => ['Counter #[b]%1$d[/b] is equal to [b]%2$d[/b]', null],
|
||||||
),
|
),
|
||||||
'eventFlags' => array(
|
'eventFlags' => array(
|
||||||
@@ -525,7 +525,7 @@ $lang = array(
|
|||||||
null,
|
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_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_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_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_PLAY_EMOTE => ['Emote [emote=%1$d] to #target#.', null],
|
||||||
SAI_ACTION_FAIL_QUEST => ['Fail [quest=%1$d] for #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_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_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_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_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_CALL_GROUPEVENTHAPPENS => ['Satisfy objective of [quest=%1$d] for #target#.', null],
|
||||||
SAI_ACTION_COMBAT_STOP => ['End current combat.', 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:;'],
|
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],
|
/* 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_RANDOM_PHASE_RANGE => ['Pick random Event Phase between %1$d and %2$d.', null],
|
||||||
SAI_ACTION_RESET_GOBJECT => ['Reset #target#.', 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_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],
|
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_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_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'],
|
SAI_ACTION_CALL_FOR_HELP => ['Call for help.', 'Use default help emote'],
|
||||||
/* 40*/ SAI_ACTION_SET_SHEATH => ['Sheath %7$s weapons.', null],
|
/* 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_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_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],
|
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_VISIBILITY => ['#target# becomes (%1$d)?visible:invisible;.', null],
|
||||||
SAI_ACTION_SET_ACTIVE => ['#target# becomes Grid (%1$d)?active:inactive;.', null],
|
SAI_ACTION_SET_ACTIVE => ['#target# becomes Grid (%1$d)?active:inactive;.', null],
|
||||||
SAI_ACTION_ATTACK_START => ['Start attacking #target#.', 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_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_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_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_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_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],
|
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_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_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_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]',
|
'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]',
|
'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_HOSTILE_RANDOM_NOT_TOP => 'random non-tank target',
|
||||||
SAI_TARGET_ACTION_INVOKER => 'Invoker',
|
SAI_TARGET_ACTION_INVOKER => 'Invoker',
|
||||||
SAI_TARGET_POSITION => 'world coordinates',
|
SAI_TARGET_POSITION => 'world coordinates',
|
||||||
SAI_TARGET_CREATURE_RANGE => '(%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 => '(%4$d)?[npc=%4$d]:NPC; with GUID #%1$d',
|
/*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 %4$sm',
|
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_STORED => 'previously stored targets',
|
||||||
SAI_TARGET_GAMEOBJECT_RANGE => '(%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 => '(%4$d)?[object=%4$d]:gameobject; with GUID #%1$d',
|
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 %4$sm',
|
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_INVOKER_PARTY => 'Invokers party',
|
||||||
SAI_TARGET_PLAYER_RANGE => 'random player within %4$sm',
|
SAI_TARGET_PLAYER_RANGE => 'random player within %11$sm',
|
||||||
SAI_TARGET_PLAYER_DISTANCE => 'random player within %4$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 %4$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 %4$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_CLOSEST_PLAYER => 'closest player within %1$dm',
|
||||||
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Invokers vehicle',
|
SAI_TARGET_ACTION_INVOKER_VEHICLE => 'Invokers vehicle',
|
||||||
SAI_TARGET_OWNER_OR_SUMMONER => 'Invokers owner or summoner',
|
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_CLOSEST_FRIENDLY => 'closest friendly (%2$d)?player:creature; within %1$dm',
|
||||||
SAI_TARGET_LOOT_RECIPIENTS => 'all players eligible for loot',
|
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_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(
|
'castFlags' => array(
|
||||||
SAI_CAST_FLAG_INTERRUPT_PREV => 'Interrupt current cast',
|
SAI_CAST_FLAG_INTERRUPT_PREV => 'Interrupt current cast',
|
||||||
@@ -690,6 +703,11 @@ $lang = array(
|
|||||||
SAI_CAST_FLAG_AURA_MISSING => 'Aura missing',
|
SAI_CAST_FLAG_AURA_MISSING => 'Aura missing',
|
||||||
SAI_CAST_FLAG_COMBAT_MOVE => 'Combat movement'
|
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'],
|
'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'],
|
'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'],
|
'aiTpl' => ['basic AI', 'spell caster', 'turret', 'passive creature', 'cage for creature', 'caged creature'],
|
||||||
@@ -697,14 +715,18 @@ $lang = array(
|
|||||||
'sheaths' => ['all', 'melee', 'ranged'],
|
'sheaths' => ['all', 'melee', 'ranged'],
|
||||||
'saiUpdate' => ['out of combat', 'in combat', 'always'],
|
'saiUpdate' => ['out of combat', 'in combat', 'always'],
|
||||||
'lootStates' => ['Not ready', 'Ready', 'Activated', 'Just Deactivated'],
|
'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]',
|
'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]',
|
'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]',
|
'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]',
|
'reactStateUNK' => '[span class=q10]unknown ReactState #[b class=q1]%d[/b][/span]',
|
||||||
'sheathUNK' => '[span class=q10]unknown sheath #[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]',
|
'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]',
|
'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]'
|
'empty' => '[span class=q0]<empty>[/span]'
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -961,79 +961,10 @@ class NpcPage extends GenericPage
|
|||||||
|
|
||||||
private function getQuotes()
|
private function getQuotes()
|
||||||
{
|
{
|
||||||
$nQuotes = 0;
|
[$quotes, $nQuotes, $soundIds] = Game::getQuotesForCreature($this->typeId, true, $this->subject->getField('name', true));
|
||||||
$quotes = [];
|
|
||||||
$quoteSrc = DB::World()->select('
|
|
||||||
SELECT
|
|
||||||
ct.GroupID AS ARRAY_KEY, ct.ID as ARRAY_KEY2, ct.`Type`,
|
|
||||||
ct.TextRange AS `range`,
|
|
||||||
IFNULL(bct.`LanguageID`, ct.`Language`) AS lang,
|
|
||||||
IFNULL(NULLIF(bct.Text, ""), IFNULL(NULLIF(bct.Text1, ""), IFNULL(ct.`Text`, ""))) AS text_loc0,
|
|
||||||
{IFNULL(NULLIF(bctl.Text, ""), IFNULL(NULLIF(bctl.Text1, ""), IFNULL(ctl.Text, ""))) AS text_loc?d,}
|
|
||||||
IF(bct.SoundEntriesID > 0, bct.SoundEntriesID, ct.Sound) AS soundId
|
|
||||||
FROM
|
|
||||||
creature_text ct
|
|
||||||
{LEFT JOIN
|
|
||||||
creature_text_locale ctl ON ct.CreatureID = ctl.CreatureID AND ct.GroupID = ctl.GroupID AND ct.ID = ctl.ID AND ctl.Locale = ?}
|
|
||||||
LEFT JOIN
|
|
||||||
broadcast_text bct ON ct.BroadcastTextId = bct.ID
|
|
||||||
{LEFT JOIN
|
|
||||||
broadcast_text_locale bctl ON ct.BroadcastTextId = bctl.ID AND bctl.locale = ?}
|
|
||||||
WHERE
|
|
||||||
ct.CreatureID = ?d',
|
|
||||||
User::$localeId ?: DBSIMPLE_SKIP,
|
|
||||||
User::$localeId ? Util::$localeStrings[User::$localeId] : DBSIMPLE_SKIP,
|
|
||||||
User::$localeId ? Util::$localeStrings[User::$localeId] : DBSIMPLE_SKIP,
|
|
||||||
$this->typeId
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach ($quoteSrc as $grp => $text)
|
if ($soundIds)
|
||||||
{
|
$this->soundIds = array_merge($this->soundIds, $soundIds);
|
||||||
$group = [];
|
|
||||||
foreach ($text as $t)
|
|
||||||
{
|
|
||||||
if ($t['soundId'])
|
|
||||||
$this->soundIds[] = $t['soundId'];
|
|
||||||
|
|
||||||
$msg = Util::localizedString($t, 'text');
|
|
||||||
if (!$msg)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// fixup .. either set %s for emotes or dont >.<
|
|
||||||
if (in_array($t['Type'], [2, 16]) && strpos($msg, '%s') === false)
|
|
||||||
$msg = '%s '.$msg;
|
|
||||||
|
|
||||||
// fixup: bad case-insensivity
|
|
||||||
$msg = str_replace('%S', '%s', $msg);
|
|
||||||
|
|
||||||
$line = array(
|
|
||||||
'range' => $t['range'],
|
|
||||||
'type' => 2, // [type: 0, 12] say: yellow-ish
|
|
||||||
'lang' => !empty($t['lang']) ? Lang::game('languages', $t['lang']) : null,
|
|
||||||
'text' => sprintf(Util::parseHtmlText(htmlentities($msg)), $this->subject->getField('name', true)),
|
|
||||||
);
|
|
||||||
|
|
||||||
switch ($t['Type'])
|
|
||||||
{
|
|
||||||
case 1: // yell:
|
|
||||||
case 14: $line['type'] = 1; break; // - dark red
|
|
||||||
case 2: // emote:
|
|
||||||
case 16: // "
|
|
||||||
case 3: // boss emote:
|
|
||||||
case 41: $line['type'] = 4; break; // - orange
|
|
||||||
case 4: // whisper:
|
|
||||||
case 15: // "
|
|
||||||
case 5: // boss whisper:
|
|
||||||
case 42: $line['type'] = 3; break; // - pink-ish
|
|
||||||
}
|
|
||||||
|
|
||||||
$nQuotes++;
|
|
||||||
$group[] = $line;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($group)
|
|
||||||
$quotes[$grp] = $group;
|
|
||||||
}
|
|
||||||
|
|
||||||
return [$quotes, $nQuotes];
|
return [$quotes, $nQuotes];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2238,19 +2238,18 @@ class SpellPage extends GenericPage
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$ids = [];
|
$ids = [];
|
||||||
if ($smartS = DB::World()->selectCol('SELECT entryOrGUID AS ARRAY_KEY, source_type FROM smart_scripts WHERE entryorguid > 0 AND source_type IN (?d, 9) AND action_type IN (11, 75, 85, 86) AND action_param1 = ?d', $type, $this->typeId))
|
if ($smartS = DB::World()->selectCol('SELECT entryOrGUID AS ARRAY_KEY, source_type FROM smart_scripts WHERE entryorguid > 0 AND source_type IN (?d, 9) AND action_type IN (11, 75, 85, 86) AND action_param1 = ?d', $src, $this->typeId))
|
||||||
{
|
{
|
||||||
// filter for timed action list
|
// filter for timed action list
|
||||||
if ($tal = array_filter($smartS, function($x) {return $x == 9;}))
|
if ($tal = array_filter($smartS, function($x) {return $x == 9;}))
|
||||||
{
|
{
|
||||||
if ($talIds = DB::World()->selectCol('SELECT entryOrGUID FROM smart_scripts WHERE entryorguid > 0 AND source_type = ?d AND action_type IN (80, 87, 88) AND (action_param1 IN (?a) OR action_param2 IN (?a) OR action_param3 IN (?a) OR action_param4 IN (?a) OR action_param5 IN (?a) OR action_param6 IN (?a))', $type, array_keys($tal), array_keys($tal), array_keys($tal), array_keys($tal), array_keys($tal), array_keys($tal)))
|
if ($talIds = DB::World()->selectCol('SELECT entryOrGUID FROM smart_scripts WHERE entryorguid > 0 AND source_type = ?d AND action_type IN (80, 87, 88) AND (action_param1 IN (?a) OR action_param2 IN (?a) OR action_param3 IN (?a) OR action_param4 IN (?a) OR action_param5 IN (?a) OR action_param6 IN (?a))', $type, array_keys($tal), array_keys($tal), array_keys($tal), array_keys($tal), array_keys($tal), array_keys($tal)))
|
||||||
$conditions[] = ['id', $talIds];
|
$ids[] = ['id', $talIds];
|
||||||
|
|
||||||
$smartS = array_diff($smartS, $tal);
|
$smartS = array_diff($smartS, $tal);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($smartS);
|
if ($smartS);
|
||||||
$ids = $smartS;
|
$ids = array_merge($ids, $smartS);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $ids;
|
return $ids;
|
||||||
|
|||||||
@@ -51,9 +51,7 @@ if ($this->quotes[0]):
|
|||||||
|
|
||||||
$last = end($group);
|
$last = end($group);
|
||||||
foreach ($group as $itr):
|
foreach ($group as $itr):
|
||||||
$_ = ($itr['type'] != 4 ? $this->name.' '.Lang::npc('textTypes', $itr['type']).Lang::main('colon').($itr['lang'] ? '['.$itr['lang'].'] ' : null) : null).$itr['text'];
|
echo sprintf(sprintf($itr['text'], $itr['prefix']), $this->name);
|
||||||
|
|
||||||
echo '<div><span class="s'.$itr['type'].'">'.($itr['range'] ? sprintf(Util::$dfnString, Lang::npc('textRanges', $itr['range']), $_) : $_).'</span></div>';
|
|
||||||
echo ($itr == $last) ? null : "</li>\n<li>";
|
echo ($itr == $last) ? null : "</li>\n<li>";
|
||||||
endforeach;
|
endforeach;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user