diff --git a/includes/defines.php b/includes/defines.php index b6ad89e4..c60a2d95 100644 --- a/includes/defines.php +++ b/includes/defines.php @@ -1444,295 +1444,269 @@ define('SPELL_TRIGGER_LEARN', 6); // learn trigger spells on items - 483: learn recipe; 55884: learn mount/pet define('LEARN_SPELLS', [483, 55884]); -// Spell Attributes definitions -define('SPELL_ATTR0_CU_ENCHANT_PROC', 0x00000001); // -define('SPELL_ATTR0_CU_CONE_BACK', 0x00000002); // -define('SPELL_ATTR0_CU_CONE_LINE', 0x00000004); // -define('SPELL_ATTR0_CU_SHARE_DAMAGE', 0x00000008); // -define('SPELL_ATTR0_CU_NO_INITIAL_THREAT', 0x00000010); // -define('SPELL_ATTR0_CU_AURA_CC', 0x00000020); // -define('SPELL_ATTR0_CU_DONT_BREAK_STEALTH', 0x00000040); // -define('SPELL_ATTR0_CU_CAN_CRIT', 0x00000080); // -define('SPELL_ATTR0_CU_DIRECT_DAMAGE', 0x00000100); // -define('SPELL_ATTR0_CU_CHARGE', 0x00000200); // -define('SPELL_ATTR0_CU_PICKPOCKET', 0x00000400); // -define('SPELL_ATTR0_CU_ROLLING_PERIODIC', 0x00000800); // -define('SPELL_ATTR0_CU_NEGATIVE_EFF0', 0x00001000); // -define('SPELL_ATTR0_CU_NEGATIVE_EFF1', 0x00002000); // -define('SPELL_ATTR0_CU_NEGATIVE_EFF2', 0x00004000); // -define('SPELL_ATTR0_CU_IGNORE_ARMOR', 0x00008000); // -define('SPELL_ATTR0_CU_REQ_TARGET_FACING_CASTER', 0x00010000); // -define('SPELL_ATTR0_CU_REQ_CASTER_BEHIND_TARGET', 0x00020000); // -define('SPELL_ATTR0_CU_ALLOW_INFLIGHT_TARGET', 0x00040000); // -define('SPELL_ATTR0_CU_NEEDS_AMMO_DATA', 0x00080000); // -define('SPELL_ATTR0_CU_BINARY_SPELL', 0x00100000); // -define('SPELL_ATTR0_CU_SCHOOLMASK_NORMAL_WITH_MAGIC', 0x00200000); // -define('SPELL_ATTR0_CU_LIQUID_AURA', 0x00400000); // -define('SPELL_ATTR0_CU_NEGATIVE', SPELL_ATTR0_CU_NEGATIVE_EFF0 | SPELL_ATTR0_CU_NEGATIVE_EFF1 | SPELL_ATTR0_CU_NEGATIVE_EFF2); // +define('SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE', 0x00000001); // [WoWDev Wiki] The spell will consume a charge that is natural or procced even if it fails to apply it's effect. +define('SPELL_ATTR0_REQ_AMMO', 0x00000002); // Treat as ranged attack DESCRIPTION Use ammo, ranged attack range modifiers, ranged haste, etc. +define('SPELL_ATTR0_ON_NEXT_SWING', 0x00000004); // On next melee (type 1) DESCRIPTION Both "on next swing" attributes have identical handling in server & client +define('SPELL_ATTR0_IS_REPLENISHMENT', 0x00000008); // Replenishment (client only) +define('SPELL_ATTR0_ABILITY', 0x00000010); // Treat as ability DESCRIPTION Cannot be reflected, not affected by cast speed modifiers, etc. +define('SPELL_ATTR0_TRADESPELL', 0x00000020); // Trade skill recipe DESCRIPTION Displayed in recipe list, not affected by cast speed modifiers +define('SPELL_ATTR0_PASSIVE', 0x00000040); // Passive spell DESCRIPTION Spell is automatically cast on self by core +define('SPELL_ATTR0_HIDDEN_CLIENTSIDE', 0x00000080); // Hidden in UI (client only) DESCRIPTION Not visible in spellbook or aura bar +define('SPELL_ATTR0_HIDE_IN_COMBAT_LOG', 0x00000100); // Hidden in combat log (client only) DESCRIPTION Spell will not appear in combat logs +define('SPELL_ATTR0_TARGET_MAINHAND_ITEM', 0x00000200); // Auto-target mainhand item (client only) DESCRIPTION Client will automatically select main-hand item as cast target +define('SPELL_ATTR0_ON_NEXT_SWING_2', 0x00000400); // On next melee (type 2) DESCRIPTION Both "on next swing" attributes have identical handling in server & client +define('SPELL_ATTR0_WEARER_CASTS_PROC_TRIGGER', 0x00000800); // [WoWDev Wiki] Marker attribute to show auras that trigger another spell (either directly or with a script). +define('SPELL_ATTR0_DAYTIME_ONLY', 0x00001000); // Only usable during daytime (unused) +define('SPELL_ATTR0_NIGHT_ONLY', 0x00002000); // Only usable during nighttime (unused) +define('SPELL_ATTR0_INDOORS_ONLY', 0x00004000); // Only usable indoors +define('SPELL_ATTR0_OUTDOORS_ONLY', 0x00008000); // Only usable outdoors +define('SPELL_ATTR0_NOT_SHAPESHIFT', 0x00010000); // Not usable while shapeshifted +define('SPELL_ATTR0_ONLY_STEALTHED', 0x00020000); // Only usable in stealth +define('SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE', 0x00040000); // Don't shealthe weapons (client only) +define('SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION', 0x00080000); // Scale with caster level DESCRIPTION For non-player casts, scale impact and power cost with caster's level +define('SPELL_ATTR0_STOP_ATTACK_TARGET', 0x00100000); // Stop attacking after cast DESCRIPTION After casting this, the current auto-attack will be interrupted +define('SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK', 0x00200000); // Prevent physical avoidance DESCRIPTION Spell cannot be dodged, parried or blocked +define('SPELL_ATTR0_CAST_TRACK_TARGET', 0x00400000); // Automatically face target during cast (client only) +define('SPELL_ATTR0_CASTABLE_WHILE_DEAD', 0x00800000); // Can be cast while dead DESCRIPTION Spells without this flag cannot be cast by dead units in non-triggered contexts +define('SPELL_ATTR0_CASTABLE_WHILE_MOUNTED', 0x01000000); // Can be cast while mounted +define('SPELL_ATTR0_DISABLED_WHILE_ACTIVE', 0x02000000); // Cooldown starts on expiry DESCRIPTION Spell is unusable while already active, and cooldown does not begin until the effects have worn off +define('SPELL_ATTR0_NEGATIVE_1', 0x04000000); // Is negative spell DESCRIPTION Forces the spell to be treated as a negative spell. Ex. Aura is shown in the debuff bar. +define('SPELL_ATTR0_CASTABLE_WHILE_SITTING', 0x08000000); // Can be cast while sitting +define('SPELL_ATTR0_CANT_USED_IN_COMBAT', 0x10000000); // Cannot be used in combat +define('SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY', 0x20000000); // Pierce invulnerability DESCRIPTION Allows spell to pierce invulnerability, unless the invulnerability spell also has this attribute +define('SPELL_ATTR0_HEARTBEAT_RESIST_CHECK', 0x40000000); // Periodic resistance checks DESCRIPTION Periodically re-rolls against resistance to potentially expire aura early +define('SPELL_ATTR0_CANT_CANCEL', 0x80000000); // Aura cannot be cancelled DESCRIPTION Prevents the player from voluntarily canceling a positive aura -define('SPELL_ATTR0_UNK0', 0x00000001); // Unknown attribute 0@Attr0 -define('SPELL_ATTR0_REQ_AMMO', 0x00000002); // Treat as ranged attack DESCRIPTION Use ammo, ranged attack range modifiers, ranged haste, etc. -define('SPELL_ATTR0_ON_NEXT_SWING', 0x00000004); // On next melee (type 1) DESCRIPTION Both "on next swing" attributes have identical handling in server & client -define('SPELL_ATTR0_IS_REPLENISHMENT', 0x00000008); // Replenishment (client only) -define('SPELL_ATTR0_ABILITY', 0x00000010); // Treat as ability DESCRIPTION Cannot be reflected, not affected by cast speed modifiers, etc. -define('SPELL_ATTR0_TRADESPELL', 0x00000020); // Trade skill recipe DESCRIPTION Displayed in recipe list, not affected by cast speed modifiers -define('SPELL_ATTR0_PASSIVE', 0x00000040); // Passive spell DESCRIPTION Spell is automatically cast on self by core -define('SPELL_ATTR0_HIDDEN_CLIENTSIDE', 0x00000080); // Hidden in UI (client only) DESCRIPTION Not visible in spellbook or aura bar -define('SPELL_ATTR0_HIDE_IN_COMBAT_LOG', 0x00000100); // Hidden in combat log (client only) DESCRIPTION Spell will not appear in combat logs -define('SPELL_ATTR0_TARGET_MAINHAND_ITEM', 0x00000200); // Auto-target mainhand item (client only) DESCRIPTION Client will automatically select main-hand item as cast target -define('SPELL_ATTR0_ON_NEXT_SWING_2', 0x00000400); // On next melee (type 2) DESCRIPTION Both "on next swing" attributes have identical handling in server & client -define('SPELL_ATTR0_UNK11', 0x00000800); // Unknown attribute 11@Attr0 -define('SPELL_ATTR0_DAYTIME_ONLY', 0x00001000); // Only usable during daytime (unused) -define('SPELL_ATTR0_NIGHT_ONLY', 0x00002000); // Only usable during nighttime (unused) -define('SPELL_ATTR0_INDOORS_ONLY', 0x00004000); // Only usable indoors -define('SPELL_ATTR0_OUTDOORS_ONLY', 0x00008000); // Only usable outdoors -define('SPELL_ATTR0_NOT_SHAPESHIFT', 0x00010000); // Not usable while shapeshifted -define('SPELL_ATTR0_ONLY_STEALTHED', 0x00020000); // Only usable in stealth -define('SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE', 0x00040000); // Don't shealthe weapons (client only) -define('SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION', 0x00080000); // Scale with caster level DESCRIPTION For non-player casts, scale impact and power cost with caster's level -define('SPELL_ATTR0_STOP_ATTACK_TARGET', 0x00100000); // Stop attacking after cast DESCRIPTION After casting this, the current auto-attack will be interrupted -define('SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK', 0x00200000); // Prevent physical avoidance DESCRIPTION Spell cannot be dodged, parried or blocked -define('SPELL_ATTR0_CAST_TRACK_TARGET', 0x00400000); // Automatically face target during cast (client only) -define('SPELL_ATTR0_CASTABLE_WHILE_DEAD', 0x00800000); // Can be cast while dead DESCRIPTION Spells without this flag cannot be cast by dead units in non-triggered contexts -define('SPELL_ATTR0_CASTABLE_WHILE_MOUNTED', 0x01000000); // Can be cast while mounted -define('SPELL_ATTR0_DISABLED_WHILE_ACTIVE', 0x02000000); // Cooldown starts on expiry DESCRIPTION Spell is unusable while already active, and cooldown does not begin until the effects have worn off -define('SPELL_ATTR0_NEGATIVE_1', 0x04000000); // Is negative spell DESCRIPTION Forces the spell to be treated as a negative spell -define('SPELL_ATTR0_CASTABLE_WHILE_SITTING', 0x08000000); // Can be cast while sitting -define('SPELL_ATTR0_CANT_USED_IN_COMBAT', 0x10000000); // Cannot be used in combat -define('SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY', 0x20000000); // Pierce invulnerability DESCRIPTION Allows spell to pierce invulnerability, unless the invulnerability spell also has this attribute -define('SPELL_ATTR0_HEARTBEAT_RESIST_CHECK', 0x40000000); // Periodic resistance checks DESCRIPTION Periodically re-rolls against resistance to potentially expire aura early -define('SPELL_ATTR0_CANT_CANCEL', 0x80000000); // Aura cannot be cancelled DESCRIPTION Prevents the player from voluntarily canceling a positive aura +define('SPELL_ATTR1_DISMISS_PET', 0x00000001); // Dismiss Pet on cast DESCRIPTION Without this attribute, summoning spells will fail if caster already has a pet +define('SPELL_ATTR1_DRAIN_ALL_POWER', 0x00000002); // Drain all power DESCRIPTION Ignores listed power cost and drains entire pool instead +define('SPELL_ATTR1_CHANNELED_1', 0x00000004); // Channeled (type 1) DESCRIPTION Both "channeled" attributes have identical handling in server & client +define('SPELL_ATTR1_CANT_BE_REDIRECTED', 0x00000008); // Ignore redirection effects DESCRIPTION Spell will not be attracted by SPELL_MAGNET auras (Grounding Totem) - NOTE! WH interprets this flag as NO_REFLECTION +define('SPELL_ATTR1_NO_SKILL_INCREASE', 0x00000010); // [WoWDev Wiki] Does not give a skill up point. +define('SPELL_ATTR1_NOT_BREAK_STEALTH', 0x00000020); // Does not break stealth +define('SPELL_ATTR1_CHANNELED_2', 0x00000040); // Channeled (type 2) DESCRIPTION Both "channeled" attributes have identical handling in server & client +define('SPELL_ATTR1_CANT_BE_REFLECTED', 0x00000080); // Ignore reflection effects DESCRIPTION Spell will pierce through Spell Reflection and similar - NOTE! WH interprets this flag as ALL_EFFECTS_NEGATIVE +define('SPELL_ATTR1_CANT_TARGET_IN_COMBAT', 0x00000100); // Target cannot be in combat +define('SPELL_ATTR1_MELEE_COMBAT_START', 0x00000200); // Starts auto-attack (client only) DESCRIPTION Caster will begin auto-attacking the target on cast +define('SPELL_ATTR1_NO_THREAT', 0x00000400); // Does not generate threat DESCRIPTION Also does not cause target to engage +define('SPELL_ATTR1_DONT_REFRESH_DURATION_ON_RECAST', 0x00000800); // [WoWDev Wiki] Aura will not refresh it's duration when recast +define('SPELL_ATTR1_IS_PICKPOCKET', 0x00001000); // Pickpocket (client only) +define('SPELL_ATTR1_FARSIGHT', 0x00002000); // Farsight aura (client only) +define('SPELL_ATTR1_CHANNEL_TRACK_TARGET', 0x00004000); // Track target while channeling DESCRIPTION While channeling, adjust facing to face target +define('SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY', 0x00008000); // Immunity cancels preapplied auras DESCRIPTION For immunity spells, cancel all auras that this spell would make you immune to when the spell is applied +define('SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE', 0x00010000); // Unaffected by school immunities DESCRIPTION Will not pierce Divine Shield, Ice Block and other full invulnerabilities +define('SPELL_ATTR1_UNAUTOCASTABLE_BY_PET', 0x00020000); // Cannot be autocast by pet +define('SPELL_ATTR1_PREVENTS_ANIM', 0x00040000); // [WoWDev Wiki] Stun, Polymorph, Daze, Hex, etc. Auras apply "UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT". +define('SPELL_ATTR1_CANT_TARGET_SELF', 0x00080000); // Cannot be self-cast +define('SPELL_ATTR1_FINISHING_MOVE_DAMAGE', 0x00100000); // Requires combo points (type 1) - modifies effect amount +define('SPELL_ATTR1_THREAT_ONLY_ON_MISS', 0x00200000); // [WoWDev Wiki] Untested if this implies all functions listed under SpellMissInfo aside from Miss such as Parry, Dodge, Resist, etc. +define('SPELL_ATTR1_FINISHING_MOVE_DURATION', 0x00400000); // Requires combo points (type 2) - modifies effect duration +define('SPELL_ATTR1_IGNORE_OWNERS_DEATH', 0x00800000); // [WoWDev Wiki] Unaffected by death of owner. Possibly works with temporary summons as well? +define('SPELL_ATTR1_IS_FISHING', 0x01000000); // Fishing (client only) +define('SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT', 0x02000000); // [WoWDev Wiki] +define('SPELL_ATTR1_REQUIRE_ALL_TARGETS', 0x04000000); // [WoWDev Wiki] Related to [target=focus] and [target=mouseover] macros? Used in many vehicle type spells. +define('SPELL_ATTR1_DISCOUNT_POWER_ON_MISS', 0x08000000); // [WoWDev Wiki] This attribute is almost exclusive with spells that consume combo-point-like secondary resources. +define('SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR', 0x10000000); // Hide in aura bar (client only) +define('SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME', 0x20000000); // Show spell name during channel (client only) +define('SPELL_ATTR1_ENABLE_AT_DODGE', 0x40000000); // Enable at dodge +define('SPELL_ATTR1_CAST_WHEN_LEARNED', 0x80000000); // [WoWDev Wiki] Cast the spell when learned. -define('SPELL_ATTR1_DISMISS_PET', 0x00000001); // Dismiss Pet on cast DESCRIPTION Without this attribute, summoning spells will fail if caster already has a pet -define('SPELL_ATTR1_DRAIN_ALL_POWER', 0x00000002); // Drain all power DESCRIPTION Ignores listed power cost and drains entire pool instead -define('SPELL_ATTR1_CHANNELED_1', 0x00000004); // Channeled (type 1) DESCRIPTION Both "channeled" attributes have identical handling in server & client -define('SPELL_ATTR1_CANT_BE_REDIRECTED', 0x00000008); // Ignore redirection effects DESCRIPTION Spell will not be attracted by SPELL_MAGNET auras (Grounding Totem) -define('SPELL_ATTR1_UNK4', 0x00000010); // Unknown attribute 4@Attr1 -define('SPELL_ATTR1_NOT_BREAK_STEALTH', 0x00000020); // Does not break stealth -define('SPELL_ATTR1_CHANNELED_2', 0x00000040); // Channeled (type 2) DESCRIPTION Both "channeled" attributes have identical handling in server & client -define('SPELL_ATTR1_CANT_BE_REFLECTED', 0x00000080); // Ignore reflection effects DESCRIPTION Spell will pierce through Spell Reflection and similar -define('SPELL_ATTR1_CANT_TARGET_IN_COMBAT', 0x00000100); // Target cannot be in combat -define('SPELL_ATTR1_MELEE_COMBAT_START', 0x00000200); // Starts auto-attack (client only) DESCRIPTION Caster will begin auto-attacking the target on cast -define('SPELL_ATTR1_NO_THREAT', 0x00000400); // Does not generate threat DESCRIPTION Also does not cause target to engage -define('SPELL_ATTR1_UNK11', 0x00000800); // Unknown attribute 11@Attr1 DESCRIPTION Aura? -define('SPELL_ATTR1_IS_PICKPOCKET', 0x00001000); // Pickpocket (client only) -define('SPELL_ATTR1_FARSIGHT', 0x00002000); // Farsight aura (client only) -define('SPELL_ATTR1_CHANNEL_TRACK_TARGET', 0x00004000); // Track target while channeling DESCRIPTION While channeling, adjust facing to face target -define('SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY', 0x00008000); // Immunity cancels preapplied auras DESCRIPTION For immunity spells, cancel all auras that this spell would make you immune to when the spell is applied -define('SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE', 0x00010000); // Unaffected by school immunities DESCRIPTION Will not pierce Divine Shield, Ice Block and other full invulnerabilities -define('SPELL_ATTR1_UNAUTOCASTABLE_BY_PET', 0x00020000); // Cannot be autocast by pet -define('SPELL_ATTR1_UNK18', 0x00040000); // Unknown attribute 18@Attr1 DESCRIPTION Stun, Polymorph, Daze, Hex - CC? -define('SPELL_ATTR1_CANT_TARGET_SELF', 0x00080000); // Cannot be self-cast -define('SPELL_ATTR1_REQ_COMBO_POINTS1', 0x00100000); // Requires combo points (type 1) -define('SPELL_ATTR1_UNK21', 0x00200000); // Unknown attribute 21@Attr1 -define('SPELL_ATTR1_REQ_COMBO_POINTS2', 0x00400000); // Requires combo points (type 2) -define('SPELL_ATTR1_UNK23', 0x00800000); // Unknwon attribute 23@Attr1 -define('SPELL_ATTR1_IS_FISHING', 0x01000000); // Fishing (client only) -define('SPELL_ATTR1_UNK25', 0x02000000); // Unknown attribute 25@Attr1 -define('SPELL_ATTR1_UNK26', 0x04000000); // Unknown attribute 26@Attr1 DESCRIPTION Related to [target=focus] and [target=mouseover] macros? -define('SPELL_ATTR1_UNK27', 0x08000000); // Unknown attribute 27@Attr1 DESCRIPTION Melee spell? -define('SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR', 0x10000000); // Hide in aura bar (client only) -define('SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME', 0x20000000); // Show spell name during channel (client only) -define('SPELL_ATTR1_ENABLE_AT_DODGE', 0x40000000); // Enable at dodge -define('SPELL_ATTR1_UNK31', 0x80000000); // Unknown attribute 31@Attr1 +define('SPELL_ATTR2_CAN_TARGET_DEAD', 0x00000001); // Can target dead players or corpses +define('SPELL_ATTR2_NO_SHAPESHIFT_UI', 0x00000002); // [WoWDev Wiki] No shapeshift UI such as Stealth, Shadowform, Druid shapeshifts, etc. Also certain custom scripted ones for quests or other various gameplay. +define('SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS', 0x00000004); // Ignore Line of Sight +define('SPELL_ATTR2_ALLOW_LOW_LEVEL_BUFF', 0x00000008); // Allow Low Level Buff +define('SPELL_ATTR2_DISPLAY_IN_STANCE_BAR', 0x00000010); // Show in stance bar (client only) +define('SPELL_ATTR2_AUTOREPEAT_FLAG', 0x00000020); // Ranged auto-attack spell +define('SPELL_ATTR2_CANT_TARGET_TAPPED', 0x00000040); // Cannot target others' tapped units DESCRIPTION Can only target untapped units, or those tapped by caster +define('SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE', 0x00000080); // [WoWDev Wiki] Do not report spell failure. Combat log or error string related. +define('SPELL_ATTR2_INCLUDE_IN_ADVANCED_COMBAT_LOG', 0x00000100); // [WoWDev Wiki] Determines whether to include this aura in list of auras in SMSG_ENCOUNTER_START. +define('SPELL_ATTR2_ALWAYS_CAST_AS_UNIT', 0x00000200); // [WoWDev Wiki] Unclear what the differences of casting a spell in this way would do. +define('SPELL_ATTR2_SPECIAL_TAMING_FLAG', 0x00000400); // [WoWDev Wiki] +define('SPELL_ATTR2_HEALTH_FUNNEL', 0x00000800); // Health Funnel - NOTE! WH and leak data declare this attribute NO_TARGET_PER_SECOND_COSTS, but the per sec cost shows in tooltip and all associated spells have a per sec cost. +define('SPELL_ATTR2_CHAIN_FROM_CASTER', 0x00001000); // [WoWDev Wiki] Effectively a point blank AoE with the source as the caster but seems to only apply to melee abilities (Ex. Cleave, Heart Strike) +define('SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA', 0x00002000); // Enchant persists when entering arena - NOTE! is ENCHANT_OWN_ITEM_ONLY in Attributes leak. Both names describe mostly the same thing. +define('SPELL_ATTR2_ALLOW_WHILE_INVISIBLE', 0x00004000); // [WoWDev Wiki] Allow spell to be used while invisible and the many different types of invisibility as well. - NOTE! Judging by flagged spells this makes no sense for 335. +define('SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST', 0x00008000); // [WoWDev Wiki] unused +define('SPELL_ATTR2_TAME_BEAST', 0x00010000); // Tame Beast - NOTE! NO_ACTIVE_PET in modern client, but descriptor is close enough +define('SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS', 0x00020000); // Don't reset swing timer DESCRIPTION Does not reset melee/ranged autoattack timer on cast +define('SPELL_ATTR2_REQ_DEAD_PET', 0x00040000); // Requires dead pet - NOTE! both WH and leak data declare this attribute NO_JUMP_WHILE_CAST_PENDING .. whatever that means +define('SPELL_ATTR2_NOT_NEED_SHAPESHIFT', 0x00080000); // Also allow outside shapeshift DESCRIPTION Even if Stances are nonzero, allow spell to be cast outside of shapeshift (though not in a different shapeshift) +define('SPELL_ATTR2_INITIATE_COMBAT_POST_CAST_ENABLES_AUTO_ATTACK', 0x00100000); // [WoWDev Wiki] Enable auto-attacks after the first spell is cast when in combat. +define('SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE', 0x00200000); // Fail on all targets immune DESCRIPTION Causes BG flags to be dropped if combined with ATTR1_DISPEL_AURAS_ON_IMMUNITY +define('SPELL_ATTR2_NO_INITIAL_THREAT', 0x00400000); // [WoWDev Wiki] Can be found on several spells that deal damage and break stealth or are affected by a particular aura. +define('SPELL_ATTR2_IS_ARCANE_CONCENTRATION', 0x00800000); // Arcane Concentration - NOTE! both WH and leak data declare this attribute PROC_COOLDOWN_ON_FAILURE, but it only affects Arcane Concentration as set by TC +define('SPELL_ATTR2_ITEM_CAST_WITH_OWNER_SKILL', 0x01000000); // [WoWDev Wiki] +define('SPELL_ATTR2_DONT_BLOCK_MANA_REGEN', 0x02000000); // [WoWDev Wiki] Mana regeneration is not affected. +define('SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE', 0x04000000); // Pierce aura application immunities DESCRIPTION Allow aura to be applied despite target being immune to new aura applications +define('SPELL_ATTR2_IGNORE_WEAPONSKILL', 0x08000000); // [WoWDev Wiki] Ignore skill level of a weapon. +define('SPELL_ATTR2_NOT_AN_ACTION', 0x10000000); // [WoWDev Wiki] Unsure if anything besides spells and object interactions constitute an "action". +define('SPELL_ATTR2_CANT_CRIT', 0x20000000); // Cannot critically strike +define('SPELL_ATTR2_ACTIVE_THREAT', 0x40000000); // Active Threat +define('SPELL_ATTR2_FOOD_BUFF', 0x80000000); // Food buff (client only) - NOTE! both WH and leak data declare this attribute RETAIN_ITEM_CAST .. unknown what that means -define('SPELL_ATTR2_CAN_TARGET_DEAD', 0x00000001); // Can target dead players or corpses -define('SPELL_ATTR2_UNK1', 0x00000002); // Unknown attribute 1@Attr2 -define('SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS', 0x00000004); // Ignore Line of Sight -define('SPELL_ATTR2_UNK3', 0x00000008); // Ignore aura scaling -define('SPELL_ATTR2_DISPLAY_IN_STANCE_BAR', 0x00000010); // Show in stance bar (client only) -define('SPELL_ATTR2_AUTOREPEAT_FLAG', 0x00000020); // Ranged auto-attack spell -define('SPELL_ATTR2_CANT_TARGET_TAPPED', 0x00000040); // Cannot target others' tapped units DESCRIPTION Can only target untapped units, or those tapped by caster -define('SPELL_ATTR2_UNK7', 0x00000080); // Unknown attribute 7@Attr2 -define('SPELL_ATTR2_UNK8', 0x00000100); // Unknown attribute 8@Attr2 -define('SPELL_ATTR2_UNK9', 0x00000200); // Unknown attribute 9@Attr2 -define('SPELL_ATTR2_UNK10', 0x00000400); // Unknown attribute 10@Attr2 DESCRIPTION Related to taming? -define('SPELL_ATTR2_HEALTH_FUNNEL', 0x00000800); // Health Funnel -define('SPELL_ATTR2_UNK12', 0x00001000); // Unknown attribute 12@Attr2 -define('SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA', 0x00002000); // Enchant persists when entering arena -define('SPELL_ATTR2_UNK14', 0x00004000); // Unknown attribute 14@Attr2 -define('SPELL_ATTR2_UNK15', 0x00008000); // Unknown attribute 15@Attr2 -define('SPELL_ATTR2_TAME_BEAST', 0x00010000); // Tame Beast -define('SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS', 0x00020000); // Don't reset swing timer DESCRIPTION Does not reset melee/ranged autoattack timer on cast -define('SPELL_ATTR2_REQ_DEAD_PET', 0x00040000); // Requires dead pet -define('SPELL_ATTR2_NOT_NEED_SHAPESHIFT', 0x00080000); // Also allow outside shapeshift DESCRIPTION Even if Stances are nonzero, allow spell to be cast outside of shapeshift (though not in a different shapeshift) -define('SPELL_ATTR2_UNK20', 0x00100000); // Unknown attribute 20@Attr2 -define('SPELL_ATTR2_DAMAGE_REDUCED_SHIELD', 0x00200000); // Damage reduction ability DESCRIPTION Causes BG flags to be dropped if combined with ATTR1_DISPEL_AURAS_ON_IMMUNITY -define('SPELL_ATTR2_UNK22', 0x00400000); // Unknown attribute 22@Attr2 -define('SPELL_ATTR2_IS_ARCANE_CONCENTRATION', 0x00800000); // Arcane Concentration -define('SPELL_ATTR2_UNK24', 0x01000000); // Unknown attribute 24@Attr2 -define('SPELL_ATTR2_UNK25', 0x02000000); // Unknown attribute 25@Attr2 -define('SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE', 0x04000000); // Pierce aura application immunities DESCRIPTION Allow aura to be applied despite target being immune to new aura applications -define('SPELL_ATTR2_UNK27', 0x08000000); // Unknown attribute 27@Attr2 -define('SPELL_ATTR2_UNK28', 0x10000000); // Unknown attribute 28@Attr2 -define('SPELL_ATTR2_CANT_CRIT', 0x20000000); // Cannot critically strike -define('SPELL_ATTR2_TRIGGERED_CAN_TRIGGER_PROC', 0x40000000); // Allow triggered spell to trigger (type 1) DESCRIPTION Without this attribute, any triggered spell will be unable to trigger other auras' procs -define('SPELL_ATTR2_FOOD_BUFF', 0x80000000); // Food buff (client only) +define('SPELL_ATTR3_PVP_ENABLING', 0x00000001); // [WoWDev Wiki] Enables the PvP state when cast. +define('SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK', 0x00000002); // Ignores subclass mask check when checking proc +define('SPELL_ATTR3_NO_CASTING_BAR_TEXT', 0x00000004); // [WoWDev Wiki] No casting bar text. +define('SPELL_ATTR3_COMPLETELY_BLOCKED', 0x00000008); // Blockable spell +define('SPELL_ATTR3_IGNORE_RESURRECTION_TIMER', 0x00000010); // Ignore resurrection timer +define('SPELL_ATTR3_NO_DURABILTIY_LOSS', 0x00000020); // [WoWDev Wiki] +define('SPELL_ATTR3_NO_AVOIDANCE', 0x00000040); // [WoWDev Wiki] Self descriptive. No AoE reduction modifiers will be calculated. +define('SPELL_ATTR3_STACK_FOR_DIFF_CASTERS', 0x00000080); // Stack separately for each caster +define('SPELL_ATTR3_ONLY_TARGET_PLAYERS', 0x00000100); // Can only target players +define('SPELL_ATTR3_NOT_A_PROC', 0x00000200); // Not a Proc DESCRIPTION Without this attribute, any triggered spell will be unable to trigger other auras' procs +define('SPELL_ATTR3_MAIN_HAND', 0x00000400); // Require main hand weapon +define('SPELL_ATTR3_BATTLEGROUND', 0x00000800); // Can only be cast in battleground +define('SPELL_ATTR3_ONLY_TARGET_GHOSTS', 0x00001000); // Can only target ghost players +define('SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR', 0x00002000); // Do not display channel bar (client only) +define('SPELL_ATTR3_IS_HONORLESS_TARGET', 0x00004000); // Honorless Target - NOTE! HIDE_IN_RAID_FILTER in modern client. Attribute only present on Honorless Target buff. +define('SPELL_ATTR3_NORMAL_RANGED_ATTACK', 0x00008000); // [WoWDev Wiki] Auto Shoot, Shoot, Throw (Autoshot flag). +define('SPELL_ATTR3_CANT_TRIGGER_PROC', 0x00010000); // Cannot trigger procs +define('SPELL_ATTR3_NO_INITIAL_AGGRO', 0x00020000); // No initial aggro - [WoWDev Wiki] SPELL_ATTR3_SUPPRESS_TARGET_PROCS: This will suppress any procs the target could trigger from this spell. Similar to SPELL_ATTR3_SUPPRESS_CASTER_PROCS (0x00010000) +define('SPELL_ATTR3_IGNORE_HIT_RESULT', 0x00040000); // Ignore hit result DESCRIPTION Spell cannot miss, or be dodged/parried/blocked +define('SPELL_ATTR3_DISABLE_PROC', 0x00080000); // Cannot trigger spells during aura proc - NOTE! both WH and the leak data name this INSTANT_TARGET_PROCS .. sooo the opposite? why..? +define('SPELL_ATTR3_DEATH_PERSISTENT', 0x00100000); // Persists through death +define('SPELL_ATTR3_ONLY_PROC_OUTDOORS', 0x00200000); // [WoWDev Wiki] unused +define('SPELL_ATTR3_REQ_WAND', 0x00400000); // Requires equipped Wand +define('SPELL_ATTR3_NO_DAMAGE_HISTORY', 0x00800000); // [WoWDev Wiki] Possible combat log or scripting relation. +define('SPELL_ATTR3_REQ_OFFHAND', 0x01000000); // Requires offhand weapon +define('SPELL_ATTR3_TREAT_AS_PERIODIC', 0x02000000); // Treat as periodic effect +define('SPELL_ATTR3_CAN_PROC_FROM_PROCS', 0x04000000); // Can Proc From Procs +define('SPELL_ATTR3_DRAIN_SOUL', 0x08000000); // Drain Soul +define('SPELL_ATTR3_IGNORE_CASTER_AND_TARGET_RESTRICTIONS', 0x10000000); // [WoWDev Wiki] Ignore caster and target restrictions. - NOTE! WH handles this attribute as 'does not appear in log' like SPELL_ATTR0_HIDE_IN_COMBAT_LOG which it handles as 'Cast time is hidden' +define('SPELL_ATTR3_NO_DONE_BONUS', 0x20000000); // Damage dealt is unaffected by modifiers +define('SPELL_ATTR3_DONT_DISPLAY_RANGE', 0x40000000); // Do not show range in tooltip (client only) +define('SPELL_ATTR3_NOT_ON_AOE_IMMUNE', 0x80000000); // [WoWDev Wiki] A descriptor for spells that implement Area of Effect Immunity and can serve as a handler for scripts that call for this. -define('SPELL_ATTR3_UNK0', 0x00000001); // Unknown attribute 0@Attr3 -define('SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK', 0x00000002); // 1 Ignores subclass mask check when checking proc -define('SPELL_ATTR3_UNK2', 0x00000004); // Unknown attribute 2@Attr3 -define('SPELL_ATTR3_BLOCKABLE_SPELL', 0x00000008); // Blockable spell -define('SPELL_ATTR3_IGNORE_RESURRECTION_TIMER', 0x00000010); // Ignore resurrection timer -define('SPELL_ATTR3_UNK5', 0x00000020); // Unknown attribute 5@Attr3 -define('SPELL_ATTR3_UNK6', 0x00000040); // Unknown attribute 6@Attr3 -define('SPELL_ATTR3_STACK_FOR_DIFF_CASTERS', 0x00000080); // Stack separately for each caster -define('SPELL_ATTR3_ONLY_TARGET_PLAYERS', 0x00000100); // Can only target players -define('SPELL_ATTR3_TRIGGERED_CAN_TRIGGER_PROC_2', 0x00000200); // Allow triggered spell to trigger (type 2) DESCRIPTION Without this attribute, any triggered spell will be unable to trigger other auras' procs -define('SPELL_ATTR3_MAIN_HAND', 0x00000400); // Require main hand weapon -define('SPELL_ATTR3_BATTLEGROUND', 0x00000800); // Can only be cast in battleground -define('SPELL_ATTR3_ONLY_TARGET_GHOSTS', 0x00001000); // Can only target ghost players -define('SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR', 0x00002000); // Do not display channel bar (client only) -define('SPELL_ATTR3_IS_HONORLESS_TARGET', 0x00004000); // Honorless Target -define('SPELL_ATTR3_UNK15', 0x00008000); // Unknown attribute 15@Attr3 DESCRIPTION Auto Shoot, Shoot, Throw - ranged normal attack attribute? -define('SPELL_ATTR3_CANT_TRIGGER_PROC', 0x00010000); // Cannot trigger procs -define('SPELL_ATTR3_NO_INITIAL_AGGRO', 0x00020000); // No initial aggro -define('SPELL_ATTR3_IGNORE_HIT_RESULT', 0x00040000); // Ignore hit result DESCRIPTION Spell cannot miss, or be dodged/parried/blocked -define('SPELL_ATTR3_DISABLE_PROC', 0x00080000); // Cannot trigger spells during aura proc -define('SPELL_ATTR3_DEATH_PERSISTENT', 0x00100000); // Persists through death -define('SPELL_ATTR3_UNK21', 0x00200000); // Unknown attribute 21@Attr3 -define('SPELL_ATTR3_REQ_WAND', 0x00400000); // Requires equipped Wand -define('SPELL_ATTR3_UNK23', 0x00800000); // Unknown attribute 23@Attr3 -define('SPELL_ATTR3_REQ_OFFHAND', 0x01000000); // Requires offhand weapon -define('SPELL_ATTR3_TREAT_AS_PERIODIC', 0x02000000); // Treat as periodic effect -define('SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED', 0x04000000); // Can trigger from triggered spells -define('SPELL_ATTR3_DRAIN_SOUL', 0x08000000); // Drain Soul -define('SPELL_ATTR3_UNK28', 0x10000000); // Unknown attribute 28@Attr3 -define('SPELL_ATTR3_NO_DONE_BONUS', 0x20000000); // Damage dealt is unaffected by modifiers -define('SPELL_ATTR3_DONT_DISPLAY_RANGE', 0x40000000); // Do not show range in tooltip (client only) -define('SPELL_ATTR3_UNK31', 0x80000000); // Unknown attribute 31@Attr3 +define('SPELL_ATTR4_IGNORE_RESISTANCES', 0x00000001); // Cannot be resisted - NOTE! WH correctly handles this as NO_CAST_LOG and spells with this attribute do not show an "[Entity] casts [spell] at [target]" message n combat log +define('SPELL_ATTR4_PROC_ONLY_ON_CASTER', 0x00000002); // Only proc on self-cast - NOTE! also named CLASS_TRIGGER_ONLY_ON_TARGET +define('SPELL_ATTR4_FADES_WHILE_LOGGED_OUT', 0x00000004); // Buff expires while offline DESCRIPTION Debuffs (except Resurrection Sickness) will automatically do this +define('SPELL_ATTR4_NO_HELPFUL_THREAT', 0x00000008); // [WoWDev Wiki] +define('SPELL_ATTR4_NO_HARMFUL_THREAT', 0x00000010); // [WoWDev Wiki] May influence certain situations in towns with guard aggro in respect to PvP. +define('SPELL_ATTR4_ALLOW_CLIENT_TARGETING', 0x00000020); // [WoWDev Wiki] Allow client targeting. Applies only to pet spells, if this is not applied then opcode CMSG_PET_ACTION is sent instead of CMSG_PET_CAST_SPELL. +define('SPELL_ATTR4_NOT_STEALABLE', 0x00000040); // Aura cannot be stolen +define('SPELL_ATTR4_CAN_CAST_WHILE_CASTING', 0x00000080); // Can be cast while casting DESCRIPTION Ignores already in-progress cast and still casts +define('SPELL_ATTR4_FIXED_DAMAGE', 0x00000100); // Deals fixed damage +define('SPELL_ATTR4_TRIGGER_ACTIVATE', 0x00000200); // Spell is initially disabled (client only) +define('SPELL_ATTR4_SPELL_VS_EXTEND_COST', 0x00000400); // Attack speed modifies cost DESCRIPTION Adds 10 to power cost for each 1s of weapon speed +define('SPELL_ATTR4_NO_PARTIAL_IMMUNITY', 0x00000800); // [WoWDev Wiki] +define('SPELL_ATTR4_AURA_IS_BUFF', 0x00001000); // [WoWDev Wiki] Mostly applied to spells that would result in such spell showing as a debuff. +define('SPELL_ATTR4_DO_NOT_LOG_CASTER', 0x00002000); // [WoWDev Wiki] No caster object is sent to client combat log. +define('SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS', 0x00004000); // Damage does not break auras - NOTE! also named REACTIVE_DAMAGE_PROC +define('SPELL_ATTR4_NOT_IN_SPELLBOOK', 0x00008000); // [WoWDev Wiki] +define('SPELL_ATTR4_NOT_USABLE_IN_ARENA', 0x00010000); // Not usable in arena DESCRIPTION Makes spell unusable despite CD <= 10min +define('SPELL_ATTR4_USABLE_IN_ARENA', 0x00020000); // Usable in arena DESCRIPTION Makes spell usable despite CD > 10min +define('SPELL_ATTR4_AREA_TARGET_CHAIN', 0x00040000); // Chain area targets DESCRIPTION [NYI] Hits area targets over time instead of all at once +define('SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING', 0x00080000); // [WoWDev Wiki] +define('SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER', 0x00100000); // Allow self-cast to override stronger aura (client only) - NOTE! modern name AURA_NEVER_BOUNCES (similar meaning) +define('SPELL_ATTR4_DONT_REMOVE_IN_ARENA', 0x00200000); // Keep when entering arena +define('SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM', 0x00400000); // [WoWDev Wiki] Disables client side weapon swing animation. +define('SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS', 0x00800000); // Cannot trigger item spells +define('SPELL_ATTR4_AUTO_RANGED_COMBAT', 0x01000000); // [WoWDev Wiki] +define('SPELL_ATTR4_IS_PET_SCALING', 0x02000000); // Pet Scaling aura +define('SPELL_ATTR4_CAST_ONLY_IN_OUTLAND', 0x04000000); // Only in Outland/Northrend - NOTE! modern client name is ONLY_FLYING_AREAS (similar, more correct), WH is "Allow Equip While Casting", (wtf, seriously) +define('SPELL_ATTR4_FORCE_DISPLAY_CASTBAR', 0x08000000); // +define('SPELL_ATTR4_IGNORE_COMBAT_TIMER', 0x10000000); // [WoWDev Wiki] +define('SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL', 0x20000000); // [WoWDev Wiki] +define('SPELL_ATTR4_OBSOLETE', 0x40000000); // [WoWDev Wiki] Deprecates the spell making it greyed out and gives "You can't use that here" error. Still usable with the triggered flag command though. +define('SPELL_ATTR4_USE_FACING_FROM_SPELL', 0x80000000); // [WoWDev Wiki] Affects orientation. The value used is likely related to FacingCasterFlags in Spell.dbc for 3.3.5. -define('SPELL_ATTR4_IGNORE_RESISTANCES', 0x00000001); // Cannot be resisted -define('SPELL_ATTR4_PROC_ONLY_ON_CASTER', 0x00000002); // Only proc on self-cast -define('SPELL_ATTR4_FADES_WHILE_LOGGED_OUT', 0x00000004); // Buff expires while offline DESCRIPTION Debuffs (except Resurrection Sickness) will automatically do this -define('SPELL_ATTR4_UNK3', 0x00000008); // Unknown attribute 3@Attr4 -define('SPELL_ATTR4_UNK4', 0x00000010); // Treat as delayed spell -define('SPELL_ATTR4_UNK5', 0x00000020); // Unknown attribute 5@Attr4 -define('SPELL_ATTR4_NOT_STEALABLE', 0x00000040); // Aura cannot be stolen -define('SPELL_ATTR4_CAN_CAST_WHILE_CASTING', 0x00000080); // Can be cast while casting DESCRIPTION Ignores already in-progress cast and still casts -define('SPELL_ATTR4_FIXED_DAMAGE', 0x00000100); // Deals fixed damage -define('SPELL_ATTR4_TRIGGER_ACTIVATE', 0x00000200); // Spell is initially disabled (client only) -define('SPELL_ATTR4_SPELL_VS_EXTEND_COST', 0x00000400); // Attack speed modifies cost DESCRIPTION Adds 10 to power cost for each 1s of weapon speed -define('SPELL_ATTR4_UNK11', 0x00000800); // Unknown attribute 11@Attr4 -define('SPELL_ATTR4_UNK12', 0x00001000); // Unknown attribute 12@Attr4 -define('SPELL_ATTR4_UNK13', 0x00002000); // Unknown attribute 13@Attr4 -define('SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS', 0x00004000); // Damage does not break auras -define('SPELL_ATTR4_UNK15', 0x00008000); // Unknown attribute 15@Attr4 -define('SPELL_ATTR4_NOT_USABLE_IN_ARENA', 0x00010000); // Not usable in arena DESCRIPTION Makes spell unusable despite CD <= 10min -define('SPELL_ATTR4_USABLE_IN_ARENA', 0x00020000); // Usable in arena DESCRIPTION Makes spell usable despite CD > 10min -define('SPELL_ATTR4_AREA_TARGET_CHAIN', 0x00040000); // Chain area targets DESCRIPTION [NYI] Hits area targets over time instead of all at once -define('SPELL_ATTR4_UNK19', 0x00080000); // Unknown attribute 19@Attr4 -define('SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER', 0x00100000); // Allow self-cast to override stronger aura (client only) -define('SPELL_ATTR4_UNK21', 0x00200000); // Keep when entering arena -define('SPELL_ATTR4_UNK22', 0x00400000); // Unknown attribute 22@Attr4 -define('SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS', 0x00800000); // Cannot trigger item spells -define('SPELL_ATTR4_UNK24', 0x01000000); // Unknown attribute 24@Attr4 DESCRIPTION Shoot-type spell? -define('SPELL_ATTR4_IS_PET_SCALING', 0x02000000); // Pet Scaling aura -define('SPELL_ATTR4_CAST_ONLY_IN_OUTLAND', 0x04000000); // Only in Outland/Northrend -define('SPELL_ATTR4_INHERIT_CRIT_FROM_AURA', 0x08000000); // Inherit critical chance from triggering aura -define('SPELL_ATTR4_UNK28', 0x10000000); // Unknown attribute 28@Attr4 -define('SPELL_ATTR4_UNK29', 0x20000000); // Unknown attribute 29@Attr4 -define('SPELL_ATTR4_UNK30', 0x40000000); // Unknown attribute 30@Attr4 -define('SPELL_ATTR4_UNK31', 0x80000000); // Unknown attribute 31@Attr4 +define('SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING', 0x00000001); // Can be channeled while moving +define('SPELL_ATTR5_NO_REAGENT_WHILE_PREP', 0x00000002); // No reagents during arena preparation +define('SPELL_ATTR5_REMOVE_ON_ARENA_ENTER', 0x00000004); // Remove when entering arena DESCRIPTION Force this aura to be removed on entering arena, regardless of other properties +define('SPELL_ATTR5_USABLE_WHILE_STUNNED', 0x00000008); // Usable while stunned +define('SPELL_ATTR5_TRIGGERS_CHANNELING', 0x00000010); // [WoWDev Wiki] Likely more script oriented. +define('SPELL_ATTR5_SINGLE_TARGET_SPELL', 0x00000020); // Single-target aura DESCRIPTION Remove previous application to another unit if applied +define('SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK', 0x00000040); // [WoWDev Wiki] Possible world PvP flag for objectives such as Spirit Towers? +define('SPELL_ATTR5_NOT_ON_PLAYER', 0x00000080); // [WoWDev Wiki] Opposite of SPELL_ATTR3_ONLY_TARGET_PLAYERS +define('SPELL_ATTR5_CANT_TARGET_PLAYER_CONTROLLED', 0x00000100); // Cannot target player controlled units but can target players +define('SPELL_ATTR5_START_PERIODIC_AT_APPLY', 0x00000200); // Immediately do periodic tick on apply +define('SPELL_ATTR5_HIDE_DURATION', 0x00000400); // Do not send aura duration to client +define('SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET', 0x00000800); // Auto-target target of target (client only) +define('SPELL_ATTR5_MELEE_CHAIN_TARGETING', 0x00001000); // [WoWDev Wiki] Cleave related? +define('SPELL_ATTR5_HASTE_AFFECT_DURATION', 0x00002000); // Duration scales with Haste Rating +define('SPELL_ATTR5_NOT_USABLE_WHILE_CHARMED', 0x00004000); // Charmed units cannot cast this spell +define('SPELL_ATTR5_TREAT_AS_AREA_EFFECT', 0x00008000); // [WoWDev Wiki] Related to multi-target spells? +define('SPELL_ATTR5_AURA_AFFECTS_NOT_JUST_REQ_EQUIPPED_ITEM', 0x00010000); // [WoWDev Wiki] +define('SPELL_ATTR5_USABLE_WHILE_FEARED', 0x00020000); // Usable while feared +define('SPELL_ATTR5_USABLE_WHILE_CONFUSED', 0x00040000); // Usable while confused +define('SPELL_ATTR5_DONT_TURN_DURING_CAST', 0x00080000); // Do not auto-turn while casting +define('SPELL_ATTR5_DO_NOT_ATTEMPT_A_PET_RESUMMON_WHEN_DISMOUNTING', 0x00100000); // [WoWDev Wiki] +define('SPELL_ATTR5_IGNORE_TARGET_REQUIREMENTS', 0x00200000); // [WoWDev Wiki] +define('SPELL_ATTR5_NOT_ON_TRIVIAL', 0x00400000); // [WoWDev Wiki] +define('SPELL_ATTR5_NO_PARTIAL_RESISTS', 0x00800000); // [WoWDev Wiki] Spell will either be fully resisted or deal the full amount of damage. +define('SPELL_ATTR5_IGNORE_CASTER_REQUIREMENTS', 0x01000000); // [WoWDev Wiki] +define('SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT', 0x02000000); // [WoWDev Wiki] Constant line of sight required for spell duration. +define('SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK', 0x04000000); // Ignore line of sight checks +define('SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST', 0x08000000); // Don't show aura if self-cast (client only) +define('SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST', 0x10000000); // Don't show aura unless self-cast (client only) +define('SPELL_ATTR5_AURA_UNIQUE_PER_CASTER', 0x20000000); // [WoWDev Wiki] Could be used for debuff grouping. +define('SPELL_ATTR5_ALWAYS_SHOW_GROUND_TEXTURE', 0x40000000); // [WoWDev Wiki] Likely refers to the Projected Texture setting and will cause this spell to ignore its value. +define('SPELL_ATTR5_ADD_MELEE_HIT_RATING', 0x80000000); // [WoWDev Wiki] (Forces nearby enemies to attack caster?) -define('SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING', 0x00000001); // Can be channeled while moving -define('SPELL_ATTR5_NO_REAGENT_WHILE_PREP', 0x00000002); // No reagents during arena preparation -define('SPELL_ATTR5_REMOVE_ON_ARENA_ENTER', 0x00000004); // Remove when entering arena DESCRIPTION Force this aura to be removed on entering arena, regardless of other properties -define('SPELL_ATTR5_USABLE_WHILE_STUNNED', 0x00000008); // Usable while stunned -define('SPELL_ATTR5_UNK4', 0x00000010); // Unknown attribute 4@Attr5 -define('SPELL_ATTR5_SINGLE_TARGET_SPELL', 0x00000020); // Single-target aura DESCRIPTION Remove previous application to another unit if applied -define('SPELL_ATTR5_UNK6', 0x00000040); // Unknown attribute 6@Attr5 -define('SPELL_ATTR5_UNK7', 0x00000080); // Unknown attribute 7@Attr5 -define('SPELL_ATTR5_UNK8', 0x00000100); // Unknown attribute 8@Attr5 -define('SPELL_ATTR5_START_PERIODIC_AT_APPLY', 0x00000200); // Immediately do periodic tick on apply -define('SPELL_ATTR5_HIDE_DURATION', 0x00000400); // Do not send aura duration to client -define('SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET', 0x00000800); // Auto-target target of target (client only) -define('SPELL_ATTR5_UNK12', 0x00001000); // Unknown attribute 12@Attr5 DESCRIPTION Cleave related? -define('SPELL_ATTR5_HASTE_AFFECT_DURATION', 0x00002000); // Duration scales with Haste Rating -define('SPELL_ATTR5_UNK14', 0x00004000); // Unknown attribute 14@Attr5 -define('SPELL_ATTR5_UNK15', 0x00008000); // Unknown attribute 15@Attr5 DESCRIPTION Related to multi-target spells? -define('SPELL_ATTR5_UNK16', 0x00010000); // Unknown attribute 16@Attr5 -define('SPELL_ATTR5_USABLE_WHILE_FEARED', 0x00020000); // Usable while feared -define('SPELL_ATTR5_USABLE_WHILE_CONFUSED', 0x00040000); // Usable while confused -define('SPELL_ATTR5_DONT_TURN_DURING_CAST', 0x00080000); // Do not auto-turn while casting -define('SPELL_ATTR5_UNK20', 0x00100000); // Unknown attribute 20@Attr5 -define('SPELL_ATTR5_UNK21', 0x00200000); // Unknown attribute 21@Attr5 -define('SPELL_ATTR5_UNK22', 0x00400000); // Unknown attribute 22@Attr5 -define('SPELL_ATTR5_UNK23', 0x00800000); // Unknown attribute 23@Attr5 -define('SPELL_ATTR5_UNK24', 0x01000000); // Unknown attribute 24@Attr5 -define('SPELL_ATTR5_UNK25', 0x02000000); // Unknown attribute 25@Attr5 -define('SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK', 0x04000000); // Ignore line of sight checks -define('SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST', 0x08000000); // Don't show aura if self-cast (client only) -define('SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST', 0x10000000); // Don't show aura unless self-cast (client only) -define('SPELL_ATTR5_UNK29', 0x20000000); // Unknown attribute 29@Attr5 -define('SPELL_ATTR5_UNK30', 0x40000000); // Unknown attribute 30@Attr5 -define('SPELL_ATTR5_UNK31', 0x80000000); // Unknown attribute 31@Attr5 DESCRIPTION Forces nearby enemies to attack caster? +define('SPELL_ATTR6_DONT_DISPLAY_COOLDOWN', 0x00000001); // Don't display cooldown (client only) +define('SPELL_ATTR6_ONLY_IN_ARENA', 0x00000002); // Only usable in arena +define('SPELL_ATTR6_IGNORE_CASTER_AURAS', 0x00000004); // Ignore all preventing caster auras - NOTE! leak Data and WH name this NOT_AN_ATTACK +define('SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG', 0x00000008); // Ignore immunity flags when assisting +define('SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE', 0x00000010); // [WoWDev Wiki] +define('SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES', 0x00000020); // Don't consume proc charges +define('SPELL_ATTR6_USE_SPELL_CAST_EVENT', 0x00000040); // Generate spell_cast event instead of aura_start (client only) - NOTE! FLOATING_COMBAT_TEXT_ON_CAST in modern client, but visual UI procs are not in 335 +define('SPELL_ATTR6_AURA_IS_WEAPON_PROC', 0x00000080); // [WoWDev Wiki] +define('SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED', 0x00000100); // Do not implicitly target in CC DESCRIPTION Implicit targeting (chaining and area targeting) will not impact crowd controlled targets +define('SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS', 0x00000200); // [WoWDev Wiki] +define('SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS', 0x00000400); // Can target possessed friends DESCRIPTION [NYI] - NOTE! leak data and WH name this NO_AURA_LOG and it really prevents aura apply/remove messages in combat log +define('SPELL_ATTR6_NOT_IN_RAID_INSTANCE', 0x00000800); // Unusable in raid instances +define('SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE', 0x00001000); // Castable while caster is on vehicle +define('SPELL_ATTR6_CAN_TARGET_INVISIBLE', 0x00002000); // Can target invisible units +define('SPELL_ATTR6_AI_PRIMARY_RANGED_ATTACK', 0x00004000); // [WoWDev Wiki] Related to Shoot? Needs description. +define('SPELL_ATTR6_NO_PUSHBACK', 0x00008000); // [WoWDev Wiki] +define('SPELL_ATTR6_NO_JUMP_PATHING', 0x00010000); // [WoWDev Wiki] +define('SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING', 0x00020000); // [WoWDev Wiki] Mount related? +define('SPELL_ATTR6_CAST_BY_CHARMER', 0x00040000); // Spell is cast by charmer DESCRIPTION Client will prevent casting if not possessed, charmer will be caster for all intents and purposes +define('SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST', 0x00080000); // [WoWDev Wiki] +define('SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER', 0x00100000); // Only visible to caster (client only) +define('SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS', 0x00200000); // Client UI target effects (client only) - NOTE! SHOW_MECHANIC_AS_COMBAT_TEXT in modern client .. neither descriptor seems to be true +define('SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE', 0x00400000); // [WoWDev Wiki] +define('SPELL_ATTR6_TAPS_IMMEDIATELY', 0x00800000); // [WoWDev Wiki] +define('SPELL_ATTR6_CAN_TARGET_UNTARGETABLE', 0x01000000); // Can target untargetable units +define('SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT', 0x02000000); // Do not reset swing timer if cast time is instant +define('SPELL_ATTR6_VEHICLE_IMMUNITY_CATEGORY', 0x04000000); // [WoWDev Wiki] immunity to some buffs for some vehicles. +define('SPELL_ATTR6_LIMIT_PCT_HEALING_MODS', 0x08000000); // Limit applicable %healing modifiers DESCRIPTION This prevents certain healing modifiers from applying - see implementation if you really care about details +define('SPELL_ATTR6_DO_NOT_AUTO_SELECT_TARGET_WITH_INITIATES_COMBAT', 0x10000000); // [WoWDev Wiki] Death grip? +define('SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS', 0x20000000); // Limit applicable %damage modifiers DESCRIPTION This prevents certain damage modifiers from applying - see implementation if you really care about details +define('SPELL_ATTR6_DISABLE_TIED_EFFECT_POINTS', 0x40000000); // [WoWDev Wiki] The value used is likely from the SpellEffect column EffectBasePoints +define('SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS', 0x80000000); // Ignore cooldown modifiers for category cooldown -define('SPELL_ATTR6_DONT_DISPLAY_COOLDOWN', 0x00000001); // Don't display cooldown (client only) -define('SPELL_ATTR6_ONLY_IN_ARENA', 0x00000002); // Only usable in arena -define('SPELL_ATTR6_IGNORE_CASTER_AURAS', 0x00000004); // Ignore all preventing caster auras -define('SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG', 0x00000008); // Ignore immunity flags when assisting -define('SPELL_ATTR6_UNK4', 0x00000010); // Unknown attribute 4@Attr6 -define('SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES', 0x00000020); // Don't consume proc charges -define('SPELL_ATTR6_USE_SPELL_CAST_EVENT', 0x00000040); // Generate spell_cast event instead of aura_start (client only) -define('SPELL_ATTR6_UNK7', 0x00000080); // Unknown attribute 7@Attr6 -define('SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED', 0x00000100); // Do not implicitly target in CC DESCRIPTION Implicit targeting (chaining and area targeting) will not impact crowd controlled targets -define('SPELL_ATTR6_UNK9', 0x00000200); // Unknown attribute 9@Attr6 -define('SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS', 0x00000400); // Can target possessed friends DESCRIPTION [NYI] -define('SPELL_ATTR6_NOT_IN_RAID_INSTANCE', 0x00000800); // Unusable in raid instances -define('SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE', 0x00001000); // Castable while caster is on vehicle -define('SPELL_ATTR6_CAN_TARGET_INVISIBLE', 0x00002000); // Can target invisible units -define('SPELL_ATTR6_UNK14', 0x00004000); // Unknown attribute 14@Attr6 -define('SPELL_ATTR6_UNK15', 0x00008000); // Unknown attribute 15@Attr6 -define('SPELL_ATTR6_UNK16', 0x00010000); // Unknown attribute 16@Attr6 -define('SPELL_ATTR6_UNK17', 0x00020000); // Unknown attribute 17@Attr6 DESCRIPTION Mount related? -define('SPELL_ATTR6_CAST_BY_CHARMER', 0x00040000); // Spell is cast by charmer DESCRIPTION Client will prevent casting if not possessed, charmer will be caster for all intents and purposes -define('SPELL_ATTR6_UNK19', 0x00080000); // Unknown attribute 19@Attr6 -define('SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER', 0x00100000); // Only visible to caster (client only) -define('SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS', 0x00200000); // Client UI target effects (client only) -define('SPELL_ATTR6_UNK22', 0x00400000); // Unknown attribute 22@Attr6 -define('SPELL_ATTR6_UNK23', 0x00800000); // Unknown attribute 23@Attr6 -define('SPELL_ATTR6_CAN_TARGET_UNTARGETABLE', 0x01000000); // Can target untargetable units -define('SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT', 0x02000000); // Do not reset swing timer if cast time is instant -define('SPELL_ATTR6_UNK26', 0x04000000); // Unknown attribute 26@Attr6 DESCRIPTION Player castable buff? -define('SPELL_ATTR6_LIMIT_PCT_HEALING_MODS', 0x08000000); // Limit applicable %healing modifiers DESCRIPTION This prevents certain healing modifiers from applying - see implementation if you really care about details -define('SPELL_ATTR6_UNK28', 0x10000000); // Unknown attribute 28@Attr6 DESCRIPTION Death grip? -define('SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS', 0x20000000); // Limit applicable %damage modifiers DESCRIPTION This prevents certain damage modifiers from applying - see implementation if you really care about details -define('SPELL_ATTR6_UNK30', 0x40000000); // Unknown attribute 30@Attr6 -define('SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS', 0x80000000); // Ignore cooldown modifiers for category cooldown - -define('SPELL_ATTR7_UNK0', 0x00000001); // Unknown attribute 0@Attr7 -define('SPELL_ATTR7_IGNORE_DURATION_MODS', 0x00000002); // Ignore duration modifiers -define('SPELL_ATTR7_REACTIVATE_AT_RESURRECT', 0x00000004); // Reactivate at resurrect (client only) -define('SPELL_ATTR7_IS_CHEAT_SPELL', 0x00000008); // Is cheat spell DESCRIPTION Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS -define('SPELL_ATTR7_UNK4', 0x00000010); // Unknown attribute 4@Attr7 DESCRIPTION Soulstone related? -define('SPELL_ATTR7_SUMMON_PLAYER_TOTEM', 0x00000020); // Summons player-owned totem -define('SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE', 0x00000040); // Damage dealt by this does not cause spell pushback -define('SPELL_ATTR7_UNK7', 0x00000080); // Unknown attribute 7@Attr7 -define('SPELL_ATTR7_HORDE_ONLY', 0x00000100); // Horde only -define('SPELL_ATTR7_ALLIANCE_ONLY', 0x00000200); // Alliance only -define('SPELL_ATTR7_DISPEL_CHARGES', 0x00000400); // Dispel/Spellsteal remove individual charges -define('SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER', 0x00000800); // Only interrupt non-player casting -define('SPELL_ATTR7_UNK12', 0x00001000); // Unknown attribute 12@Attr7 -define('SPELL_ATTR7_UNK13', 0x00002000); // Unknown attribute 13@Attr7 -define('SPELL_ATTR7_UNK14', 0x00004000); // Unknown attribute 14@Attr7 -define('SPELL_ATTR7_UNK15', 0x00008000); // Unknown attribute 15@Attr7 DESCRIPTION Exorcism - guaranteed crit vs families? -define('SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER', 0x00010000); // Can restore secondary power DESCRIPTION Only spells with this attribute can replenish a non-active power type -define('SPELL_ATTR7_UNK17', 0x00020000); // Unknown attribute 17@Attr7 -define('SPELL_ATTR7_HAS_CHARGE_EFFECT', 0x00040000); // Has charge effect -define('SPELL_ATTR7_ZONE_TELEPORT', 0x00080000); // Is zone teleport -define('SPELL_ATTR7_UNK20', 0x00100000); // Unknown attribute 20@Attr7 DESCRIPTION Invulnerability related? -define('SPELL_ATTR7_UNK21', 0x00200000); // Unknown attribute 21@Attr7 -define('SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING', 0x00400000); // Ignore cold weather flying restriction DESCRIPTION Set for loaner mounts, allows them to be used despite lacking required flight skill -define('SPELL_ATTR7_UNK23', 0x00800000); // Unknown attribute 23@Attr7 -define('SPELL_ATTR7_UNK24', 0x01000000); // Unknown attribute 24@Attr7 -define('SPELL_ATTR7_UNK25', 0x02000000); // Unknown attribute 25@Attr7 -define('SPELL_ATTR7_UNK26', 0x04000000); // Unknown attribute 26@Attr7 -define('SPELL_ATTR7_UNK27', 0x08000000); // Unknown attribute 27@Attr7 -define('SPELL_ATTR7_CONSOLIDATED_RAID_BUFF', 0x10000000); // Consolidate in raid buff frame (client only) -define('SPELL_ATTR7_UNK29', 0x20000000); // Unknown attribute 29@Attr7 -define('SPELL_ATTR7_UNK30', 0x40000000); // Unknown attribute 30@Attr7 -define('SPELL_ATTR7_CLIENT_INDICATOR', 0x80000000); // Client indicator (client only) +define('SPELL_ATTR7_ALLOW_SPELL_REFLECTION', 0x00000001); // [WoWDev Wiki] Allow spell to be reflected. Will likely interfere if used with SPELL_ATTR1_CANT_BE_REFLECTED. +define('SPELL_ATTR7_IGNORE_DURATION_MODS', 0x00000002); // Ignore duration modifiers +define('SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD', 0x00000004); // Reactivate at resurrect (client only) +define('SPELL_ATTR7_IS_CHEAT_SPELL', 0x00000008); // Is cheat spell DESCRIPTION Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS +define('SPELL_ATTR7_TREAT_AS_RAID_BUFF', 0x00000010); // [WoWDev Wiki] Spell assumes certain properties that would classify it as a "raid buff". (This is only a guess.) +define('SPELL_ATTR7_SUMMON_PLAYER_TOTEM', 0x00000020); // Summons player-owned totem +define('SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE', 0x00000040); // Damage dealt by this does not cause spell pushback +define('SPELL_ATTR7_PREPARE_FOR_VEHICLE_CONTROL_END', 0x00000080); // [WoWDev Wiki] Attribute is most likely server side only. +define('SPELL_ATTR7_HORDE_ONLY', 0x00000100); // Horde only +define('SPELL_ATTR7_ALLIANCE_ONLY', 0x00000200); // Alliance only +define('SPELL_ATTR7_DISPEL_CHARGES', 0x00000400); // Dispel/Spellsteal remove individual charges +define('SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER', 0x00000800); // Only interrupt non-player casting +define('SPELL_ATTR7_CAN_CAUSE_SILENCE', 0x00001000); // [WoWDev Wiki] Will only Silence NPCs/creatures. (Not confirmed.) +define('SPELL_ATTR7_NO_UI_NOT_INTERRUPTIBLE', 0x00002000); // [WoWDev Wiki] Can always be interrupted, even if caster is immune. +define('SPELL_ATTR7_RECAST_ON_RESUMMON', 0x00004000); // [WoWDev Wiki] only on 52150 Raise Dead. +define('SPELL_ATTR7_RESET_SWING_TIMER_AT_SPELL_START', 0x00008000); // [WoWDev Wiki] (Exorcism - guaranteed crit vs families?) +define('SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER', 0x00010000); // Can restore secondary power DESCRIPTION Only spells with this attribute can replenish a non-active power type - NOTE! replaed with ONLY_IN_SPELLBOOK_UNTIL_LEARNED in modern client +define('SPELL_ATTR7_DO_NOT_LOG_PVP_KILL', 0x00020000); // [WoWDev Wiki] +define('SPELL_ATTR7_HAS_CHARGE_EFFECT', 0x00040000); // Has charge effect +define('SPELL_ATTR7_ZONE_TELEPORT', 0x00080000); // Is zone teleport - NOTE! REPORT_SPELL_FAILURE_TO_UNIT_TARGET in modern client, but may still serve the same purpose as teleport spell ofter use custom error messages +define('SPELL_ATTR7_NO_CLIENT_FAIL_WHILE_STUNNED_FLEEING_CONFUSED', 0x00100000); // [WoWDev Wiki] Client will skip or bypass checking for stunned, fleeing, and confused states. +define('SPELL_ATTR7_RETAIN_COOLDOWN_THROUGH_LOAD', 0x00200000); // [WoWDev Wiki] +define('SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING', 0x00400000); // Ignore cold weather flying restriction DESCRIPTION Set for loaner mounts, allows them to be used despite lacking required flight skill +define('SPELL_ATTR7_CANT_DODGE', 0x00800000); // Spell cannot be dodged +define('SPELL_ATTR7_CANT_PARRY', 0x01000000); // Spell cannot be parried +define('SPELL_ATTR7_CANT_MISS', 0x02000000); // Spell cannot be missed +define('SPELL_ATTR7_TREAT_AS_NPC_AOE', 0x04000000); // [WoWDev Wiki] +define('SPELL_ATTR7_BYPASS_NO_RESURRECT_AURA', 0x08000000); // Bypasses the prevent resurrection aura +define('SPELL_ATTR7_CONSOLIDATED_RAID_BUFF', 0x10000000); // Consolidate in raid buff frame (client only) +define('SPELL_ATTR7_REFLECTION_ONLY_DEFENDS', 0x20000000); // [WoWDev Wiki] This possibly allows for a spell to be reflected but not damage the target and instead act more as a deflect. +define('SPELL_ATTR7_CAN_PROC_FROM_SUPPRESSED_TARGET_PROCS', 0x40000000); // [WoWDev Wiki] +define('SPELL_ATTR7_CLIENT_INDICATOR', 0x80000000); // Client indicator (client only) // (some) Skill ids diff --git a/includes/types/spell.class.php b/includes/types/spell.class.php index 9395f633..54dcb4f6 100644 --- a/includes/types/spell.class.php +++ b/includes/types/spell.class.php @@ -614,6 +614,9 @@ class SpellList extends BaseType if (!$this->curTpl['rangeMaxHostile']) return ''; + if ($this->curTpl['attributes3'] & SPELL_ATTR3_DONT_DISPLAY_RANGE) + return ''; + // minRange exists; show as range if ($this->curTpl['rangeMinHostile']) return sprintf(Lang::spell('range'), $this->curTpl['rangeMinHostile'].' - '.$this->curTpl['rangeMaxHostile']); @@ -691,12 +694,14 @@ class SpellList extends BaseType private function createCooldownForCurrent() : string { - if ($this->curTpl['recoveryTime']) + if ($this->curTpl['attributes6'] & SPELL_ATTR6_DONT_DISPLAY_COOLDOWN) + return ''; + else if ($this->curTpl['recoveryTime']) return Lang::formatTime($this->curTpl['recoveryTime'], 'spell', 'cooldown'); else if ($this->curTpl['recoveryCategory']) return Lang::formatTime($this->curTpl['recoveryCategory'], 'spell', 'cooldown'); - else - return ''; + + return ''; } // formulae base from TC @@ -1800,7 +1805,7 @@ class SpellList extends BaseType $x .= $btt[0].'
'; // duration - if ($this->curTpl['duration'] > 0) + if ($this->curTpl['duration'] > 0 && !($this->curTpl['attributes5'] & SPELL_ATTR5_HIDE_DURATION)) $x .= ''.Lang::formatTime($this->curTpl['duration'], 'spell', 'timeRemaining').''; $x .= ''; @@ -2275,6 +2280,85 @@ class SpellListFilter extends Filter const MAX_SPELL_EFFECT = 167; const MAX_SPELL_AURA = 316; + public static array $attributesFilter = array( // attrFieldId => [attrBit => cr, ...]; if cr < 0 ? filter is negated + 0 => array( + SPELL_ATTR0_REQ_AMMO => 48, + SPELL_ATTR0_ON_NEXT_SWING => 49, + SPELL_ATTR0_PASSIVE => 50, + SPELL_ATTR0_HIDDEN_CLIENTSIDE => 51, + SPELL_ATTR0_HIDE_IN_COMBAT_LOG => 84, + SPELL_ATTR0_ON_NEXT_SWING_2 => 52, + SPELL_ATTR0_DAYTIME_ONLY => 53, + SPELL_ATTR0_NIGHT_ONLY => 54, + SPELL_ATTR0_INDOORS_ONLY => 55, + SPELL_ATTR0_OUTDOORS_ONLY => 56, + SPELL_ATTR0_NOT_SHAPESHIFT => -31, + SPELL_ATTR0_ONLY_STEALTHED => 38, + SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION => 58, + SPELL_ATTR0_STOP_ATTACK_TARGET => 59, + SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK => 60, + SPELL_ATTR0_CASTABLE_WHILE_DEAD => 61, + SPELL_ATTR0_CASTABLE_WHILE_MOUNTED => 62, + SPELL_ATTR0_DISABLED_WHILE_ACTIVE => 63, + SPELL_ATTR0_NEGATIVE_1 => 69, + SPELL_ATTR0_CASTABLE_WHILE_SITTING => 64, + SPELL_ATTR0_CANT_USED_IN_COMBAT => -33, + SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY => 46, + SPELL_ATTR0_CANT_CANCEL => 57 + ), + 1 => array( + SPELL_ATTR1_DRAIN_ALL_POWER => 65, + SPELL_ATTR1_CHANNELED_1 => 27, // general filter + SPELL_ATTR1_NOT_BREAK_STEALTH => 68, + SPELL_ATTR1_CHANNELED_2 => 66, // attributes filter + SPELL_ATTR1_CANT_BE_REFLECTED => 67, // WH - 69: all effects are harmful points here + SPELL_ATTR1_CANT_TARGET_IN_COMBAT => 70, + SPELL_ATTR1_NO_THREAT => 71, + SPELL_ATTR1_IS_PICKPOCKET => 72, + SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY => 73, + SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE => 47, + SPELL_ATTR1_IS_FISHING => 74 + ), + 2 => array( + SPELL_ATTR2_CANT_TARGET_TAPPED => 75, + SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA => 76, + SPELL_ATTR2_NOT_NEED_SHAPESHIFT => 77, + SPELL_ATTR2_CANT_CRIT => -34, + SPELL_ATTR2_FOOD_BUFF => 78 + ), + 3 => array( + SPELL_ATTR3_ONLY_TARGET_PLAYERS => 79, + SPELL_ATTR3_MAIN_HAND => 80, + SPELL_ATTR3_BATTLEGROUND => 43, + SPELL_ATTR3_NO_INITIAL_AGGRO => 81, + SPELL_ATTR3_DEATH_PERSISTENT => 36, + SPELL_ATTR3_IGNORE_HIT_RESULT => -35, + SPELL_ATTR3_REQ_WAND => 82, // unused attribute + SPELL_ATTR3_REQ_OFFHAND => 83 + ), + 4 => array( + SPELL_ATTR4_FADES_WHILE_LOGGED_OUT => 85, + SPELL_ATTR4_NOT_STEALABLE => -39, + SPELL_ATTR4_NOT_USABLE_IN_ARENA => -44, + SPELL_ATTR4_USABLE_IN_ARENA => 44 + ), + 5 => array( + SPELL_ATTR5_USABLE_WHILE_STUNNED => 42, + SPELL_ATTR5_SINGLE_TARGET_SPELL => 86, + SPELL_ATTR5_START_PERIODIC_AT_APPLY => 87, + SPELL_ATTR5_USABLE_WHILE_FEARED => 89, + SPELL_ATTR5_USABLE_WHILE_CONFUSED => 88 + ), + 6 => array( + SPELL_ATTR6_ONLY_IN_ARENA => 90, // unused attribute + SPELL_ATTR6_NOT_IN_RAID_INSTANCE => 91 + ), + 7 => array( + SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD => 92, // aka Paladin Aura + SPELL_ATTR7_SUMMON_PLAYER_TOTEM => 93 + ) + ); + protected $enums = array( 9 => array( // sources index 1 => true, // Any @@ -2287,6 +2371,13 @@ class SpellListFilter extends Filter 9 => 7, // Discovery 10 => 9 // Talent ), + 22 => array( + 1 => true, // Weapons + 2 => true, // Armor + 3 => true, // Armor Proficiencies + 4 => true, // Armor Specializations + 5 => true // Languages + ), 40 => array( // damage class index 1 => 0, // none 2 => 1, // magic @@ -2335,26 +2426,26 @@ class SpellListFilter extends Filter 17 => [parent::CR_FLAG, 'cuFlags', CUSTOM_HAS_VIDEO ], // hasvideos 19 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION ], // scaling 20 => [parent::CR_CALLBACK, 'cbReagents', ], // has Reagents [yn] - // 22 => [parent::CR_NYI_PH, null, null, null ], // proficiencytype [proficiencytype] pointless + 22 => [parent::CR_CALLBACK, 'cbProficiency', null, null ], // proficiencytype [proficiencytype] 25 => [parent::CR_BOOLEAN, 'skillLevelYellow' ], // rewardsskillups 27 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_CHANNELED_1, true ], // channeled [yn] 28 => [parent::CR_NUMERIC, 'castTime', NUM_CAST_FLOAT ], // casttime [num] 29 => [parent::CR_CALLBACK, 'cbAuraNames', ], // appliesaura [effectauranames] - // 31 => [parent::CR_NYI_PH, null, null, null ], // usablewhenshapeshifted [yn] pointless + 31 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_NOT_SHAPESHIFT ], // usablewhenshapeshifted [yn] 33 => [parent::CR_CALLBACK, 'cbInverseFlag', 'attributes0', SPELL_ATTR0_CANT_USED_IN_COMBAT], // combatcastable [yn] 34 => [parent::CR_CALLBACK, 'cbInverseFlag', 'attributes2', SPELL_ATTR2_CANT_CRIT ], // chancetocrit [yn] 35 => [parent::CR_CALLBACK, 'cbInverseFlag', 'attributes3', SPELL_ATTR3_IGNORE_HIT_RESULT ], // chancetomiss [yn] 36 => [parent::CR_FLAG, 'attributes3', SPELL_ATTR3_DEATH_PERSISTENT ], // persiststhroughdeath [yn] 38 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_ONLY_STEALTHED ], // requiresstealth [yn] - 39 => [parent::CR_CALLBACK, 'cbSpellstealable', 'attributes4', SPELL_ATTR4_NOT_STEALABLE ], // spellstealable [yn] + 39 => [parent::CR_FLAG, 'attributes4', SPELL_ATTR4_NOT_STEALABLE ], // spellstealable [yn] 40 => [parent::CR_ENUM, 'damageClass' ], // damagetype [damagetype] 41 => [parent::CR_FLAG, 'stanceMask', (1 << (22 - 1)) ], // requiresmetamorphosis [yn] 42 => [parent::CR_FLAG, 'attributes5', SPELL_ATTR5_USABLE_WHILE_STUNNED ], // usablewhenstunned [yn] - 44 => [parent::CR_CALLBACK, 'cbUsableInArena' ], // usableinarenas [yn] + 44 => [parent::CR_FLAG, 'attributes4', SPELL_ATTR4_USABLE_IN_ARENA ], // usableinarenas [yn] 45 => [parent::CR_ENUM, 'powerType' ], // resourcetype [resourcetype] - // 46 => [parent::CR_NYI_PH, null, null, null ], // disregardimmunity [yn] + 46 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY ], // disregardimmunity [yn] 47 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE ], // disregardschoolimmunity [yn] - 48 => [parent::CR_CALLBACK, 'cbEquippedWeapon', 0x0004000C, false ], // reqrangedweapon [yn] + 48 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_REQ_AMMO ], // reqrangedweapon [yn] 49 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_ON_NEXT_SWING ], // onnextswingplayers [yn] 50 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_PASSIVE ], // passivespell [yn] 51 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR ], // hiddenaura [yn] @@ -2372,34 +2463,35 @@ class SpellListFilter extends Filter 63 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_DISABLED_WHILE_ACTIVE ], // delayedrecoverystarttime [yn] 64 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_CASTABLE_WHILE_SITTING ], // usablesitting [yn] 65 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_DRAIN_ALL_POWER ], // usesallpower [yn] - 66 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_CHANNELED_2, true ], // channeled [yn] + 66 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_CHANNELED_2 ], // channeled [yn] 67 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_CANT_BE_REFLECTED ], // cannotreflect [yn] 68 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_NOT_BREAK_STEALTH ], // usablestealthed [yn] - 69 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_NEGATIVE_1 ], // harmful [yn] + 69 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_NEGATIVE_1 ], // harmful [yn] - WH interprets attributes1 0x80 as "all effects are harmful", but it really is CANT_BE_REFLECTED. So here is an approximation. 70 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_CANT_TARGET_IN_COMBAT ], // targetnotincombat [yn] 71 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_NO_THREAT ], // nothreat [yn] 72 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_IS_PICKPOCKET ], // pickpocket [yn] 73 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY ], // dispelauraonimmunity [yn] - 74 => [parent::CR_CALLBACK, 'cbEquippedWeapon', 0x00100000, false ], // reqfishingpole [yn] + 74 => [parent::CR_FLAG, 'attributes1', SPELL_ATTR1_IS_FISHING ], // reqfishingpole [yn] 75 => [parent::CR_FLAG, 'attributes2', SPELL_ATTR2_CANT_TARGET_TAPPED ], // requntappedtarget [yn] - // 76 => [parent::CR_NYI_PH, null, null, null ], // targetownitem [yn] // the flag for this has to be somewhere.... + 76 => [parent::CR_FLAG, 'attributes2', SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA ], // targetownitem [yn 77 => [parent::CR_FLAG, 'attributes2', SPELL_ATTR2_NOT_NEED_SHAPESHIFT ], // doesntreqshapeshift [yn] 78 => [parent::CR_FLAG, 'attributes2', SPELL_ATTR2_FOOD_BUFF ], // foodbuff [yn] 79 => [parent::CR_FLAG, 'attributes3', SPELL_ATTR3_ONLY_TARGET_PLAYERS ], // targetonlyplayer [yn] - 80 => [parent::CR_CALLBACK, 'cbEquippedWeapon', 1 << INVTYPE_WEAPONMAINHAND, true ], // reqmainhand [yn] + 80 => [parent::CR_FLAG, 'attributes3', SPELL_ATTR3_MAIN_HAND ], // reqmainhand [yn] 81 => [parent::CR_FLAG, 'attributes3', SPELL_ATTR3_NO_INITIAL_AGGRO ], // doesntengagetarget [yn] - 82 => [parent::CR_CALLBACK, 'cbEquippedWeapon', 0x00080000, false ], // reqwand [yn] - 83 => [parent::CR_CALLBACK, 'cbEquippedWeapon', 1 << INVTYPE_WEAPONOFFHAND, true ], // reqoffhand [yn] + 82 => [parent::CR_FLAG, 'attributes3', SPELL_ATTR3_REQ_WAND ], // reqwand [yn] + 83 => [parent::CR_FLAG, 'attributes3', SPELL_ATTR3_REQ_OFFHAND ], // reqoffhand [yn] 84 => [parent::CR_FLAG, 'attributes0', SPELL_ATTR0_HIDE_IN_COMBAT_LOG ], // nolog [yn] 85 => [parent::CR_FLAG, 'attributes4', SPELL_ATTR4_FADES_WHILE_LOGGED_OUT ], // auratickswhileloggedout [yn] + 86 => [parent::CR_FLAG, 'attributes5', SPELL_ATTR5_SINGLE_TARGET_SPELL ], // onlyaffectsonetarget [yn] 87 => [parent::CR_FLAG, 'attributes5', SPELL_ATTR5_START_PERIODIC_AT_APPLY ], // startstickingatapplication [yn] 88 => [parent::CR_FLAG, 'attributes5', SPELL_ATTR5_USABLE_WHILE_CONFUSED ], // usableconfused [yn] 89 => [parent::CR_FLAG, 'attributes5', SPELL_ATTR5_USABLE_WHILE_FEARED ], // usablefeared [yn] 90 => [parent::CR_FLAG, 'attributes6', SPELL_ATTR6_ONLY_IN_ARENA ], // onlyarena [yn] 91 => [parent::CR_FLAG, 'attributes6', SPELL_ATTR6_NOT_IN_RAID_INSTANCE ], // notinraid [yn] - 92 => [parent::CR_FLAG, 'attributes7', SPELL_ATTR7_REACTIVATE_AT_RESURRECT ], // paladinaura [yn] + 92 => [parent::CR_FLAG, 'attributes7', SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD ], // paladinaura [yn] 93 => [parent::CR_FLAG, 'attributes7', SPELL_ATTR7_SUMMON_PLAYER_TOTEM ], // totemspell [yn] - 95 => [parent::CR_CALLBACK, 'cbBandageSpell' ], // bandagespell [yn] ...don't ask + 95 => [parent::CR_CALLBACK, 'cbBandageSpell' ], // bandagespell [yn] - was that an attribute at one point? 96 => [parent::CR_STAFFFLAG, 'attributes0' ], // flags1 [flags] 97 => [parent::CR_STAFFFLAG, 'attributes1' ], // flags2 [flags] 98 => [parent::CR_STAFFFLAG, 'attributes2' ], // flags3 [flags] @@ -2421,22 +2513,22 @@ class SpellListFilter extends Filter ); protected $inputFields = array( - 'cr' => [parent::V_RANGE, [1, 116], true ], // criteria ids + 'cr' => [parent::V_RANGE, [1, 116], true ], // criteria ids 'crs' => [parent::V_LIST, [parent::ENUM_NONE, parent::ENUM_ANY, [0, 99999]], true ], // criteria operators - 'crv' => [parent::V_REGEX, parent::PATTERN_CRV, true ], // criteria values - only printable chars, no delimiters - 'na' => [parent::V_REGEX, parent::PATTERN_NAME, false], // name / text - only printable chars, no delimiter - 'ex' => [parent::V_EQUAL, 'on', false], // extended name search - 'ma' => [parent::V_EQUAL, 1, false], // match any / all filter - 'minle' => [parent::V_RANGE, [1, 99], false], // spell level min - 'maxle' => [parent::V_RANGE, [1, 99], false], // spell level max - 'minrs' => [parent::V_RANGE, [1, 999], false], // required skill level min - 'maxrs' => [parent::V_RANGE, [1, 999], false], // required skill level max - 'ra' => [parent::V_LIST, [[1, 8], 10, 11], false], // races - 'cl' => [parent::V_CALLBACK, 'cbClasses', true ], // classes - 'gl' => [parent::V_CALLBACK, 'cbGlyphs', true ], // glyph type - 'sc' => [parent::V_RANGE, [0, 6], true ], // magic schools - 'dt' => [parent::V_LIST, [[1, 6], 9], false], // dispel types - 'me' => [parent::V_RANGE, [1, 31], false] // mechanics + 'crv' => [parent::V_REGEX, parent::PATTERN_CRV, true ], // criteria values - only printable chars, no delimiters + 'na' => [parent::V_REGEX, parent::PATTERN_NAME, false], // name / text - only printable chars, no delimiter + 'ex' => [parent::V_EQUAL, 'on', false], // extended name search + 'ma' => [parent::V_EQUAL, 1, false], // match any / all filter + 'minle' => [parent::V_RANGE, [1, 99], false], // spell level min + 'maxle' => [parent::V_RANGE, [1, 99], false], // spell level max + 'minrs' => [parent::V_RANGE, [1, 999], false], // required skill level min + 'maxrs' => [parent::V_RANGE, [1, 999], false], // required skill level max + 'ra' => [parent::V_LIST, [[1, 8], 10, 11], false], // races + 'cl' => [parent::V_CALLBACK, 'cbClasses', true ], // classes + 'gl' => [parent::V_CALLBACK, 'cbGlyphs', true ], // glyph type + 'sc' => [parent::V_RANGE, [0, 6], true ], // magic schools + 'dt' => [parent::V_LIST, [[1, 6], 9], false], // dispel types + 'me' => [parent::V_RANGE, [1, 31], false] // mechanics ); protected function createSQLForValues() @@ -2500,11 +2592,6 @@ class SpellListFilter extends Filter return $parts; } - public function getGenericFilter(int $cr) : array // access required by SpellDetailPage's SpellAttributes list - { - return $this->genericFilter[$cr] ?? []; - } - protected function cbClasses(string &$val) : bool { if (!$this->parentCats || !in_array($this->parentCats[0], [-13, -2, 7])) @@ -2634,6 +2721,7 @@ class SpellListFilter extends Filter }; } + /* unused - for reference: attribute flag or item class mask */ protected function cbEquippedWeapon(int $cr, int $crs, string $crv, int $mask, bool $useInvType) : ?array { if (!$this->int2Bool($crs)) @@ -2647,6 +2735,7 @@ class SpellListFilter extends Filter return ['OR', ['equippedItemClass', ITEM_CLASS_WEAPON, '!'], [[$field, $mask, '&'], 0]]; } + /* unused - for reference: attribute flag or cooldown time constraint */ protected function cbUsableInArena(int $cr, int $crs, string $crv) : ?array { if (!$this->int2Bool($crs)) @@ -2669,11 +2758,47 @@ class SpellListFilter extends Filter if (!$this->int2Bool($crs)) return null; - if ($crs) // match exact, not as flag + if ($crs) // match exact, not as flag return ['AND', ['attributes1', SPELL_ATTR1_CHANNELED_1 | SPELL_ATTR1_CHANNELED_2 | SPELL_ATTR1_CHANNEL_TRACK_TARGET], ['effect1ImplicitTargetA', 21]]; else return ['OR', ['attributes1', SPELL_ATTR1_CHANNELED_1 | SPELL_ATTR1_CHANNELED_2 | SPELL_ATTR1_CHANNEL_TRACK_TARGET, '!'], ['effect1ImplicitTargetA', 21, '!']]; } + + protected function cbProficiency(int $cr, int $crs, string $crv) : ?array + { + if (!isset($this->enums[$cr][$crs])) + return null; + + $skill1Ids = []; + $skill2Mask = 0x0; + + switch($crs) + { + case 1: // Weapons + foreach (Game::$skillLineMask[-3] as $bit => $_) + $skill2Mask |= (1 << $bit); + $skill1Ids = DB::Aowow()->selectCol('SELECT `id` FROM ?_skillline WHERE `typeCat` = 6'); + break; + case 2: // Armor (Proficiencies + Specializations: so for us it's the same) + case 3: // Armor Proficiencies + $skill1Ids = DB::Aowow()->selectCol('SELECT `id` FROM ?_skillline WHERE `typeCat` = 8'); + break; + case 4: // Armor Specializations + return [0]; // 4.x+ feature where using purely one type of armor increases your primary stat + case 5: // Languages + $skill1Ids = DB::Aowow()->selectCol('SELECT `id` FROM ?_skillline WHERE `typeCat` = 10'); + break; + } + + if (!$skill1Ids) + return [0]; + + $cnd = ['skillLine1', $skill1Ids]; + if ($skill2Mask) + $cnd = ['OR', $cnd, ['AND', ['skillLine1', -3], ['skillLine2OrMask', $skill2Mask, '&']]]; + + return $cnd; + } } ?> diff --git a/includes/utilities.php b/includes/utilities.php index 4b0e5d70..a7dab46a 100644 --- a/includes/utilities.php +++ b/includes/utilities.php @@ -424,7 +424,7 @@ abstract class Util return Lang::unescapeUISequences($text, $markdown ? Lang::FMT_MARKUP : Lang::FMT_HTML); } - public static function asHex($val) : string + public static function asHex(int $val) : string { $_ = decHex($val); while (fMod(strLen($_), 4)) // in 4-blocks @@ -433,13 +433,13 @@ abstract class Util return '0x'.strToUpper($_); } - public static function asBin($val) : string + public static function asBin(int $val) : string { $_ = decBin($val); while (fMod(strLen($_), 4)) // in 4-blocks $_ = '0'.$_; - return 'b'.strToUpper($_); + return 'b'.$_; } public static function htmlEscape($data) diff --git a/localization/locale_dede.php b/localization/locale_dede.php index da918d53..fb3b43af 100644 --- a/localization/locale_dede.php +++ b/localization/locale_dede.php @@ -1649,65 +1649,6 @@ $lang = array( ), 'stealthType' => ["Allgemein", "Falle"], 'invisibilityType' => ["Allgemein", "UNK-1", "UNK-2", "Falle", "UNK-4", "UNK-5", "Trunkenheit", "UNK-7", "UNK-8", "UNK-9", "UNK-10", "UNK-11"], - 'attributes' => array( // index defined by filters - 69 => "Alle Zaubereffekte sind schädlich", - 57 => "Aura kann nicht entfernt werden", - 51 => "Aura ist versteckt", - 95 => "Verbandszauber", - 61 => "Kann tot verwendet werden", - 62 => "Kann verwendet werden, während Ihr auf einem Reittier sitzt", - 64 => "Kann im Sitzen benutzt werden", - 53 => "Kann nur tagsüber benutzt werden", - 54 => "Kann nur nachts verwendet werden", - 55 => "Kann nur drinnen verwendet werden", - 56 => "Kann nur draußen verwendet werden", - 79 => "Kann nur einen Spieler zum Ziel haben", - 60 => "Kann nicht ausgewichen, pariert oder geblockt werden", - 67 => "Kann nicht reflektiert werden", - 91 => "Kann nicht im Schlachtzug verwendet werden", - 33 => "Kann im Kampf gewirkt werden", - 34 => "Chance, kritisch zu treffen", - 35 => "Chance to verfehlen", - 27 => "Kanalisiert", - 66 => "Kanalisiert 2", - 85 => "Dauert an, während Ihr ausgeloggt seid", - 84 => "Erscheint nicht im Log", - 68 => "Beendet Verstohlenheitsmodus nicht", - 81 => "Verwickelt das Ziel nicht in einen Kampf", - 77 => "Erfordert keine Gestaltwandlung", - // 46 => "Ignoriert Unverwundbarkeit", - 47 => "Ignoriert Unverwundbarkeit gegen Magieart", - 78 => "Essens-/Getränk-Buff", - 71 => "Generiert keine Bedrohung", - 52 => "Mit dem nächsten Schwung (NSCs)", - 49 => "Mit dem nächsten Schwung (Spieler)", - 90 => "Nur in der Arena benutzbar", - 92 => "Paladin Aura", - 50 => "Passiver Zauber", - 36 => "Hält über Tod hinaus an", - 72 => "Taschendiebstahl-Zauber", - 73 => "Entfernt Auren auf Immunität", - 48 => "Benötigt eine Fernkampfwaffe", - 82 => "Benötigt einen Zauberstab", - 83 => "Benötigt eine Schildhandwaffe", - 74 => "Erfordert Angelrute", - 41 => "Benötigt Metamorphose", - 80 => "Benötigt eine Haupthandwaffe", - 38 => "Benötigt Verstohlenheit", - 75 => "Setzt ein unmarkiertes Ziel voraus", - 58 => "Zauberschaden ist abhängig von der Stufe des Zauberers", - 39 => "Zauber kann geraubt werden", - 63 => "Abklingzeit beginnt, nachdem die Aura schwindet", - 87 => "Beginnt zu ticken, sobald die Aura angewendet wird", - 59 => "Stoppt Autoangriff", - // 76 => "Das Ziel muss ein eigener Gegenstand sein", - 70 => "Das Ziel darf sich nicht im Kampf befinden", - 93 => "Totem", - 42 => "Benutzbar in Betäubung", - 88 => "Verwendbar, während Ihr verwirrt seid", - 89 => "Verwendbar, während Ihr verängstigt seid", - 65 => "Braucht alle Ressourcen auf" - ), 'summonControl' => ["Ungesteuert", "Wächter", "Begleiter", "Bezaubert", "Gesteuertes Fahrzeug", "Ungesteuertes Fahrzeug"], 'summonSlot' => ["Begleiter", "Feuertotem", "Erdtotem", "Wassertotem", "Lufttotem", "Haustier", "Quest"], 'unkEffect' => 'Unknown Effect (%1$d)', @@ -1807,6 +1748,278 @@ $lang = array( 'Mod Minimum Speed %', null, 'Heal Absorb Test', 'Mod Critical Strike Chance for Caster',null, 'Mod Pet AoE Damage Avoidance', null, null, null, 'Prevent Ressurection', /* -316*/ 'Underwater Walking', 'Periodic Haste' + ), + 'attributes0' => array( + SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE => 'Proc-Fehlschlag verbraucht Aufladung', + SPELL_ATTR0_REQ_AMMO => 'Benötigt eine Fernkampfwaffe', + SPELL_ATTR0_ON_NEXT_SWING => 'Mit dem nächsten Schwung (Spieler)', + SPELL_ATTR0_IS_REPLENISHMENT => 'Verfehlen durch Immunität nicht loggen', + SPELL_ATTR0_ABILITY => 'Ist Fähigkeit', + SPELL_ATTR0_TRADESPELL => 'Handwerksrezept', + SPELL_ATTR0_PASSIVE => 'Passiver Zauber', + SPELL_ATTR0_HIDDEN_CLIENTSIDE => 'Aura ist versteckt', + SPELL_ATTR0_HIDE_IN_COMBAT_LOG => 'Erscheint nicht im Log', + SPELL_ATTR0_TARGET_MAINHAND_ITEM => 'Nur angelegte Gegenstände', + SPELL_ATTR0_ON_NEXT_SWING_2 => 'Mit dem nächsten Schwung (NSCs)', + SPELL_ATTR0_WEARER_CASTS_PROC_TRIGGER => 'Träger wirkt Proc-Auslöser', + SPELL_ATTR0_DAYTIME_ONLY => 'Kann nur tagsüber benutzt werden', + SPELL_ATTR0_NIGHT_ONLY => 'Kann nur nachts verwendet werden', + SPELL_ATTR0_INDOORS_ONLY => 'Kann nur drinnen verwendet werden', + SPELL_ATTR0_OUTDOORS_ONLY => 'Kann nur draußen verwendet werden', + SPELL_ATTR0_NOT_SHAPESHIFT => 'Kann nicht verwendet werden, während Ihr gestaltverwandelt seid', + SPELL_ATTR0_ONLY_STEALTHED => 'Muss in Verstohlenheit sein', + SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE => 'Waffe nicht wegstecken', + SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION => 'Zauberschaden ist abhängig von der Stufe des Zauberers', + SPELL_ATTR0_STOP_ATTACK_TARGET => 'Stoppt Autoangriff', + SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK => 'Kann nicht ausgewichen, pariert oder geblockt werden', + SPELL_ATTR0_CAST_TRACK_TARGET => 'Ziel bei Wirken verfolgen (nur Spieler)', + SPELL_ATTR0_CASTABLE_WHILE_DEAD => 'Kann tot verwendet werden', + SPELL_ATTR0_CASTABLE_WHILE_MOUNTED => 'Kann verwendet werden, während Ihr auf einem Reittier sitzt', + SPELL_ATTR0_DISABLED_WHILE_ACTIVE => 'Abklingzeit beginnt, nachdem die Aura schwindet', + SPELL_ATTR0_NEGATIVE_1 => 'Aura ist Schwächungszauber', + SPELL_ATTR0_CASTABLE_WHILE_SITTING => 'Kann im Sitzen benutzt werden', + SPELL_ATTR0_CANT_USED_IN_COMBAT => 'Kann nicht im Kampf verwendet werden', + SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY => 'Nicht betroffen von Unverwundbarkeit', + SPELL_ATTR0_HEARTBEAT_RESIST_CHECK => 'Herzschlagresistenz', + SPELL_ATTR0_CANT_CANCEL => 'Aura kann nicht entfernt werden' + ), + 'attributes1' => array( + SPELL_ATTR1_DISMISS_PET => 'Zuerst Begleiter freigeben', + SPELL_ATTR1_DRAIN_ALL_POWER => 'Braucht alle Ressourcen auf', + SPELL_ATTR1_CHANNELED_1 => 'Kanalisiert 1', + SPELL_ATTR1_CANT_BE_REDIRECTED => 'Kann nicht umgelenkt werden', + SPELL_ATTR1_NO_SKILL_INCREASE => 'Keine Fähigkeitenerhöhung', + SPELL_ATTR1_NOT_BREAK_STEALTH => 'Beendet Verstohlenheitsmodus nicht', + SPELL_ATTR1_CHANNELED_2 => 'Kanalisiert 2', + SPELL_ATTR1_CANT_BE_REFLECTED => 'Kann nicht reflektiert werden', + SPELL_ATTR1_CANT_TARGET_IN_COMBAT => 'Das Ziel darf sich nicht im Kampf befinden', + SPELL_ATTR1_MELEE_COMBAT_START => 'Initiiere Kampf (aktiviert Autoangriff)', + SPELL_ATTR1_NO_THREAT => 'Generiert keine Bedrohung', + SPELL_ATTR1_DONT_REFRESH_DURATION_ON_RECAST => 'Einzigartige Aura', + SPELL_ATTR1_IS_PICKPOCKET => 'Taschendiebstahl-Zauber', + SPELL_ATTR1_FARSIGHT => 'Fernsicht umschalten', + SPELL_ATTR1_CHANNEL_TRACK_TARGET => 'Ziel beim Kanalisieren verfolgen', + SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY => 'Entfernt Auren bei Immunität', + SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE => 'Nicht betroffen von Immunität gegen diese Magiesart', + SPELL_ATTR1_UNAUTOCASTABLE_BY_PET => 'Kein Auto-Zaubern (KI)', + SPELL_ATTR1_PREVENTS_ANIM => 'Verhindert Animation', + SPELL_ATTR1_CANT_TARGET_SELF => 'Zauberer kann nicht Ziel sein', + SPELL_ATTR1_FINISHING_MOVE_DAMAGE => 'Erfordert Combo-Punkte auf dem Ziel (Effektstärke)', + SPELL_ATTR1_THREAT_ONLY_ON_MISS => 'Bedrohung nur bei verfehlen', + SPELL_ATTR1_FINISHING_MOVE_DURATION => 'Erfordert Combo-Punkte auf dem Ziel (Effektdauer)', + SPELL_ATTR1_IGNORE_OWNERS_DEATH => 'Ignoriere Tod des Besitzers', + SPELL_ATTR1_IS_FISHING => 'Erfordert Angelrute', + SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT => 'Aura bleibt nach Kampf bestehen', + SPELL_ATTR1_REQUIRE_ALL_TARGETS => 'Benötige alle Ziele', + SPELL_ATTR1_DISCOUNT_POWER_ON_MISS => 'Reduzierte Kosten bei Verfehlen', + SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR => 'Kein Aura-Symbol', + SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME => 'Name im Zauberbalken', + SPELL_ATTR1_ENABLE_AT_DODGE => 'Kombo beim Ausweichen', + SPELL_ATTR1_CAST_WHEN_LEARNED => 'Beim erlernen Zaubern', + ), + 'attributes2' => array( + SPELL_ATTR2_CAN_TARGET_DEAD => 'Totes Ziel zulässig', + SPELL_ATTR2_NO_SHAPESHIFT_UI => 'Kein Gestaltwandel-UI', + SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS => 'Ignoriere Sichtlinie', + SPELL_ATTR2_ALLOW_LOW_LEVEL_BUFF => 'Erlaube Verstärkungszauber auf niederstufigem Ziel', + SPELL_ATTR2_DISPLAY_IN_STANCE_BAR => 'Spezialaktionsleiste benutzen', + SPELL_ATTR2_AUTOREPEAT_FLAG => 'Automatische Wiederholung', + SPELL_ATTR2_CANT_TARGET_TAPPED => 'Setzt ein unmarkiertes Ziel voraus', + SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE => 'Fehlgeschlagene Zauber nicht melden', + SPELL_ATTR2_INCLUDE_IN_ADVANCED_COMBAT_LOG => '', + SPELL_ATTR2_ALWAYS_CAST_AS_UNIT => 'Immer als Einheit zaubern', + SPELL_ATTR2_SPECIAL_TAMING_FLAG => 'Markierung für besonderes Zähmen', + SPELL_ATTR2_HEALTH_FUNNEL => 'Lebenslinie', + SPELL_ATTR2_CHAIN_FROM_CASTER => 'Verkettung vom Zauberer ausgehend', + SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA => 'Das Ziel muss ein eigener Gegenstand sein', + SPELL_ATTR2_ALLOW_WHILE_INVISIBLE => 'Nutzbar während unsichtbar', + SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST => 'Nicht verbrauchen, wenn beim Zaubern erlangt', + SPELL_ATTR2_TAME_BEAST => 'Kein aktiver Begleiter', + SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS => 'Kampftimer nicht zurücksetzen', + SPELL_ATTR2_REQ_DEAD_PET => 'Erfordert toten Begleiter', + SPELL_ATTR2_NOT_NEED_SHAPESHIFT => 'Gestaltwandlung nicht erforderlich', + SPELL_ATTR2_INITIATE_COMBAT_POST_CAST_ENABLES_AUTO_ATTACK => 'Initiiere Kampf nach Wirken (aktiviert Autoangriff)', + SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE => 'Scheitern, wenn alle Ziele immun', + SPELL_ATTR2_NO_INITIAL_THREAT => 'Keine Initialbedrohung', + SPELL_ATTR2_IS_ARCANE_CONCENTRATION => 'Abklingzeit bei Fehlschlag proccen', + SPELL_ATTR2_ITEM_CAST_WITH_OWNER_SKILL => 'Gegenstand mit Besitzerfertigkeit gewirkt', + SPELL_ATTR2_DONT_BLOCK_MANA_REGEN => 'Manaregenaration nicht blockieren', + SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE => 'Ignoriert Immunität gegen Magieart', + SPELL_ATTR2_IGNORE_WEAPONSKILL => 'Ignoriere Waffenfertigkeit', + SPELL_ATTR2_NOT_AN_ACTION => 'Keine Aktion', + SPELL_ATTR2_CANT_CRIT => 'Kann nicht kritisch treffen', + SPELL_ATTR2_ACTIVE_THREAT => 'Aktive Bedrohung', + SPELL_ATTR2_FOOD_BUFF => 'Essens-/Getränk-Stärkungszauber', + ), + 'attributes3' => array( + SPELL_ATTR3_PVP_ENABLING => 'Aktiviert PvP', + SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK => 'Keine Ausrüstungs-Voraussetzung für Proc', + SPELL_ATTR3_NO_CASTING_BAR_TEXT => 'Kein Text im Zauberbalken', + SPELL_ATTR3_COMPLETELY_BLOCKED => 'Vollständig geblockt', + SPELL_ATTR3_IGNORE_RESURRECTION_TIMER => 'Kein Wiederbelebungs-Verzögerung', + SPELL_ATTR3_NO_DURABILTIY_LOSS => 'Kein Haltbarkeitsverlust', + SPELL_ATTR3_NO_AVOIDANCE => 'Kann nicht vermieden werden', + SPELL_ATTR3_STACK_FOR_DIFF_CASTERS => 'Nutzt Regeln fürs DoT-Stapeln', + SPELL_ATTR3_ONLY_TARGET_PLAYERS => 'Kann nur einen Spieler zum Ziel haben', + SPELL_ATTR3_NOT_A_PROC => 'Kein Proc', + SPELL_ATTR3_MAIN_HAND => 'Benötigt eine Haupthandwaffe', + SPELL_ATTR3_BATTLEGROUND => 'Nur in Schlachtfeldern benutzbar', + SPELL_ATTR3_ONLY_TARGET_GHOSTS => 'Nur auf Geister', + SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR => 'Verstecke Kanalisierungsbalken', + SPELL_ATTR3_IS_HONORLESS_TARGET => 'Ist Ehrenloses Ziel', + SPELL_ATTR3_NORMAL_RANGED_ATTACK => 'Normaler Fernkampfangriff', + SPELL_ATTR3_CANT_TRIGGER_PROC => 'Wirker Procs unterdrücken', + SPELL_ATTR3_NO_INITIAL_AGGRO => 'Verwickelt das Ziel nicht in einen Kampf', + SPELL_ATTR3_IGNORE_HIT_RESULT => 'Kann nicht verfehlen', + SPELL_ATTR3_DISABLE_PROC => 'Deaktiviert Procs', + SPELL_ATTR3_DEATH_PERSISTENT => 'Wirkt über den Tod hinaus', + SPELL_ATTR3_ONLY_PROC_OUTDOORS => 'Procct nur draußen', + SPELL_ATTR3_REQ_WAND => 'Benötigt einen Zauberstab', + SPELL_ATTR3_NO_DAMAGE_HISTORY => 'Keine Schadenshistorie', + SPELL_ATTR3_REQ_OFFHAND => 'Benötigt eine Nebenhandwaffe', + SPELL_ATTR3_TREAT_AS_PERIODIC => 'Als periodischen Zauber behandeln', + SPELL_ATTR3_CAN_PROC_FROM_PROCS => 'Kann durch Procs proccen', + SPELL_ATTR3_DRAIN_SOUL => 'Proc nur bei Wirker', + SPELL_ATTR3_IGNORE_CASTER_AND_TARGET_RESTRICTIONS => 'Ignoriere Beschränkungen an Wirker und Ziel', + SPELL_ATTR3_NO_DONE_BONUS => 'Ignoriere Zauberer-Modifikatoren', + SPELL_ATTR3_DONT_DISPLAY_RANGE => 'Reichweite nicht anzeigen', + SPELL_ATTR3_NOT_ON_AOE_IMMUNE => 'Nicht bei AoE-Immunität' + ), + 'attributes4' => array( + SPELL_ATTR4_IGNORE_RESISTANCES => 'Wirken nicht im Log', + SPELL_ATTR4_PROC_ONLY_ON_CASTER => 'Klassenauslöser nur am Ziel', + SPELL_ATTR4_FADES_WHILE_LOGGED_OUT => 'Dauert an, während Ihr ausgeloggt seid', + SPELL_ATTR4_NO_HELPFUL_THREAT => 'Verursacht keine hilfreiche Bedrohung', + SPELL_ATTR4_NO_HARMFUL_THREAT => 'Verursacht keine offensive Bedrohung', + SPELL_ATTR4_ALLOW_CLIENT_TARGETING => 'Erlaube Client-Zielsetzung', + SPELL_ATTR4_NOT_STEALABLE => 'Zauber kann nicht geraubt werden', + SPELL_ATTR4_CAN_CAST_WHILE_CASTING => 'Zaubern während des zauberns zulässig', + SPELL_ATTR4_FIXED_DAMAGE => 'Ignoriere Modifikatoren für erlittenen Schaden', + SPELL_ATTR4_TRIGGER_ACTIVATE => 'Combat Feedback When Usable', + SPELL_ATTR4_SPELL_VS_EXTEND_COST => 'Kostenskalierung mit Waffengeschwindigkeit', + SPELL_ATTR4_NO_PARTIAL_IMMUNITY => 'Keine teilweise Immunität', + SPELL_ATTR4_AURA_IS_BUFF => 'Aura ist Stärkungszauber', + SPELL_ATTR4_DO_NOT_LOG_CASTER => 'Zauberer nicht loggen', + SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS => 'Reaktiver Schadens-Proc', + SPELL_ATTR4_NOT_IN_SPELLBOOK => 'Nicht im Zauberbuch', + SPELL_ATTR4_NOT_USABLE_IN_ARENA => 'Kann nicht in der Arena verwendet werden', + SPELL_ATTR4_USABLE_IN_ARENA => 'Benutzbar in Arenen', + SPELL_ATTR4_AREA_TARGET_CHAIN => 'Überspringende Kettengeschosse', + SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING => 'Erlaube Proc im Sitzen', + SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER => 'Anwendung der Aura kann nicht fehlschlagen', + SPELL_ATTR4_DONT_REMOVE_IN_ARENA => 'Zulässig beim Betreten der Arena', + SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM => 'Proc unterdrückt Schwung-Animation', + SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS => 'Unterdrücke Waffen-Procs', + SPELL_ATTR4_AUTO_RANGED_COMBAT => 'Automatischer Fernkampf', + SPELL_ATTR4_IS_PET_SCALING => 'Skalliert mit Statistiken des Besitzers', + SPELL_ATTR4_CAST_ONLY_IN_OUTLAND => 'Nur in Flugzonen', + SPELL_ATTR4_FORCE_DISPLAY_CASTBAR => 'Zauberbalkenanzeige erzwingen', + SPELL_ATTR4_IGNORE_COMBAT_TIMER => 'Ignoriere Kampftimer', + SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL => 'Abweisung der Aura unterbricht Zauber', + SPELL_ATTR4_OBSOLETE => '', + SPELL_ATTR4_USE_FACING_FROM_SPELL => 'Blickrichtung von Zauber benutzen' + ), + 'attributes5' => array( + SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING => 'Erlaube Aktionen beim kanalisieren', + SPELL_ATTR5_NO_REAGENT_WHILE_PREP => 'Keine Reagenzkosten bei Aura', + SPELL_ATTR5_REMOVE_ON_ARENA_ENTER => 'Beim Betreten der Arena entfernt', + SPELL_ATTR5_USABLE_WHILE_STUNNED => 'Verwendbar, während Ihr betäubt seid', + SPELL_ATTR5_TRIGGERS_CHANNELING => 'Löst Kanalisieren aus', + SPELL_ATTR5_SINGLE_TARGET_SPELL => 'Die Aura wirkt auf nur ein Ziel', + SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK => 'Ignoriere PvP-Check für Gebietseffekt', + SPELL_ATTR5_NOT_ON_PLAYER => 'Nicht auf Spielern', + SPELL_ATTR5_CANT_TARGET_PLAYER_CONTROLLED => 'Nicht auf von Spielern gesteuertem NSC', + SPELL_ATTR5_START_PERIODIC_AT_APPLY => 'Beginnt zu ticken, sobald die Aura angewendet wird', + SPELL_ATTR5_HIDE_DURATION => 'Dauer nicht anzeigen', + SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET => 'Implizierte Zielfindung', + SPELL_ATTR5_MELEE_CHAIN_TARGETING => 'Kettenzielsetzung für Nahkampf', + SPELL_ATTR5_HASTE_AFFECT_DURATION => 'Zaubertempo beeinflusst Intervall', + SPELL_ATTR5_NOT_USABLE_WHILE_CHARMED => 'Nicht benutzbar wenn bezaubert', + SPELL_ATTR5_TREAT_AS_AREA_EFFECT => 'Als Gebietseffekt behandeln', + SPELL_ATTR5_AURA_AFFECTS_NOT_JUST_REQ_EQUIPPED_ITEM => 'Aura betrifft nicht nur benötigten angelegten Gegenstand', + SPELL_ATTR5_USABLE_WHILE_FEARED => 'Verwendbar, während Ihr verängstigt seid', + SPELL_ATTR5_USABLE_WHILE_CONFUSED => 'Verwendbar, während Ihr verwirrt seid', + SPELL_ATTR5_DONT_TURN_DURING_CAST => 'KI ist Ziel nicht zugewandt', + SPELL_ATTR5_DO_NOT_ATTEMPT_A_PET_RESUMMON_WHEN_DISMOUNTING => 'Herbeirufen eines Begleiters beim Absteigen nicht versuchen', + SPELL_ATTR5_IGNORE_TARGET_REQUIREMENTS => 'Ignoriere Zielvoraussetzungen', + SPELL_ATTR5_NOT_ON_TRIVIAL => 'Nicht auf trivialen Zielen', + SPELL_ATTR5_NO_PARTIAL_RESISTS => 'Kein teilweises Widerstehen', + SPELL_ATTR5_IGNORE_CASTER_REQUIREMENTS => 'Ignoriere Zauberer-Voraussetzungen', + SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT => 'Immer in Sichtlinie', + SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK => 'AoE immer in Sichtlinie', + SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST => 'Kein Aura-Symbol beim Zauberer', + SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST => 'Kein Aura-Symbol beim Ziel', + SPELL_ATTR5_AURA_UNIQUE_PER_CASTER => 'Aura je Wirker einzigartig', + SPELL_ATTR5_ALWAYS_SHOW_GROUND_TEXTURE => 'Immer Bodentexturen zeigen', + SPELL_ATTR5_ADD_MELEE_HIT_RATING => 'Nahkampftrefferwertung hinzufügen' + ), + 'attributes6' => array( + SPELL_ATTR6_DONT_DISPLAY_COOLDOWN => 'Keine Abklingzeit im Tooltip', + SPELL_ATTR6_ONLY_IN_ARENA => 'Nur in der Arena benutzbar', + SPELL_ATTR6_IGNORE_CASTER_AURAS => 'Ignoriere Auren auf Zauberer', + SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG => 'Kann immunem Spieler assistieren', + SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE => 'Für Mod Zeitrate ignorieren', + SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES => 'Keine Ressourcen aufbrauchen', + SPELL_ATTR6_USE_SPELL_CAST_EVENT => 'Sende \'spell cast\' Ereignis', + SPELL_ATTR6_AURA_IS_WEAPON_PROC => 'Aura ist Waffen-Proc', + SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED => 'Springt nicht auf Ziele unter Gruppenkontrolle über', + SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS => 'Zulässig für bezauberte Ziele', + SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS => 'Aura nicht im Log', + SPELL_ATTR6_NOT_IN_RAID_INSTANCE => 'Kann nicht im Schlachtzug verwendet werden', + SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE => 'Zulässig beim führen eines Fahrzeugs', + SPELL_ATTR6_CAN_TARGET_INVISIBLE => 'Ignoriere Phasenwechsel', + SPELL_ATTR6_AI_PRIMARY_RANGED_ATTACK => 'Primärer Fernkampfangriff für KI', + SPELL_ATTR6_NO_PUSHBACK => 'Keine Zauberzeiterhöhung durch Schaden', + SPELL_ATTR6_NO_JUMP_PATHING => 'Keine Wegfindung für Sprung', + SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING => 'Erlaube Anlegen beim Zaubern', + SPELL_ATTR6_CAST_BY_CHARMER => 'Vom Steuernden ausgehend', + SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST => 'Verzögere Kampftimer während Zauber', + SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER => 'Aura-Symbol nur für Zauberer sichtbar (Max 10)', + SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS => '', + SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE => 'Absorbtion kann nicht ignoriert werden', + SPELL_ATTR6_TAPS_IMMEDIATELY => 'Tappt sofort', + SPELL_ATTR6_CAN_TARGET_UNTARGETABLE => 'Kann nicht-Anvisierbares anvisieren', + SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT => 'Schlagtimer bei Spontanzauber nicht zurücksetzen', + SPELL_ATTR6_VEHICLE_IMMUNITY_CATEGORY => 'Fahrzeugimmunitätenkategorie', + SPELL_ATTR6_LIMIT_PCT_HEALING_MODS => 'Ignoriere Heilungsmodifikatoren', + SPELL_ATTR6_DO_NOT_AUTO_SELECT_TARGET_WITH_INITIATES_COMBAT => 'Wählt nicht automatisch Ziele, wenn es Kampf initiieren würde', + SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS => 'Ignoriere Schadensmodifikator für Zauberer', + SPELL_ATTR6_DISABLE_TIED_EFFECT_POINTS => 'Gebundene Effektpunkte deaktivieren', // Tie: "Gebunden"? "Gleichstand"? + SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS => 'Ignoriere Modifikatoren für Kategorie-Abklingzeit' + ), + 'attributes7' => array( + SPELL_ATTR7_ALLOW_SPELL_REFLECTION => '', + SPELL_ATTR7_IGNORE_DURATION_MODS => 'Kein Zieldauer-Modifikator', + SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD => 'Paladin Aura', + SPELL_ATTR7_IS_CHEAT_SPELL => 'Debug Zauber', + SPELL_ATTR7_TREAT_AS_RAID_BUFF => 'Als Schlachtzugs-Stärkungszauber behandeln', + SPELL_ATTR7_SUMMON_PLAYER_TOTEM => 'Totem', + SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE => 'Verursacht keine Zauberzeitverlängerung', + SPELL_ATTR7_PREPARE_FOR_VEHICLE_CONTROL_END => 'Für Ende der Fahrzeugsteuerung vorbereiten', + SPELL_ATTR7_HORDE_ONLY => 'Horde-spezifischer Zauber', + SPELL_ATTR7_ALLIANCE_ONLY => 'Allianz-spezifischer Zauber', + SPELL_ATTR7_DISPEL_CHARGES => 'Magiebannung entfernt Stapel', + SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER => 'Kann Unterbrechen verursachen', + SPELL_ATTR7_CAN_CAUSE_SILENCE => 'Kann Stille verursachen', + SPELL_ATTR7_NO_UI_NOT_INTERRUPTIBLE => 'Nicht unterbrechbar bei fehlendem UI', + SPELL_ATTR7_RECAST_ON_RESUMMON => 'Neuwirken bei Wiederbeschwörung', + SPELL_ATTR7_RESET_SWING_TIMER_AT_SPELL_START => 'Schwungtimer bei Zauberbeginn zurücksetzen', + SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER => 'Kann inaktive Ressourcen wiederherstellen', + SPELL_ATTR7_DO_NOT_LOG_PVP_KILL => 'PvP-Todesstoß nicht loggen', + SPELL_ATTR7_HAS_CHARGE_EFFECT => 'Attacke bei Sturmangriff auf Einheit', + SPELL_ATTR7_ZONE_TELEPORT => 'Zauberfehlschlag an Einheitsziel melden', + SPELL_ATTR7_NO_CLIENT_FAIL_WHILE_STUNNED_FLEEING_CONFUSED => 'Kein Abbruch durch Client während Betäubung, Flucht, Verwirrung', + SPELL_ATTR7_RETAIN_COOLDOWN_THROUGH_LOAD => 'Abklingzeit beim Laden beibehalten', + SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING => 'Ignoriere Voraussetzung für Kaltwetterflug', + SPELL_ATTR7_CANT_DODGE => 'Angriff nicht ausweichbar', + SPELL_ATTR7_CANT_PARRY => 'Angriff nicht parrierbar', + SPELL_ATTR7_CANT_MISS => 'Angriff nicht verfehlbar', + SPELL_ATTR7_TREAT_AS_NPC_AOE => 'Als NSC-Gebietseffekt behandeln', + SPELL_ATTR7_BYPASS_NO_RESURRECT_AURA => 'Umgehe Auren mit \'Verhindere Wiederbelebung\'', + SPELL_ATTR7_CONSOLIDATED_RAID_BUFF => 'Wird mit anderen Stärkungszaubern zusammengefasst', + SPELL_ATTR7_REFLECTION_ONLY_DEFENDS => 'Reflektion beschützt nur', + SPELL_ATTR7_CAN_PROC_FROM_SUPPRESSED_TARGET_PROCS => 'Kann von unterdrückten Ziel-Procs proccen', + SPELL_ATTR7_CLIENT_INDICATOR => 'Zauber immer loggen', ) ), 'item' => array( diff --git a/localization/locale_enus.php b/localization/locale_enus.php index da0f32aa..67d56ebc 100644 --- a/localization/locale_enus.php +++ b/localization/locale_enus.php @@ -1649,65 +1649,6 @@ $lang = array( ), 'stealthType' => ["General", "Trap"], 'invisibilityType' => ["General", "UNK-1", "UNK-2", "Trap", "UNK-4", "UNK-5", "Drunk", "UNK-7", "UNK-8", "UNK-9", "UNK-10", "UNK-11"], - 'attributes' => array( // index defined by filters - 69 => "All spell effects are harmful", - 57 => "Aura cannot be cancelled", - 51 => "Aura is hidden", - 95 => "Bandage spell", - 61 => "Can be used while dead", - 62 => "Can be used while mounted", - 64 => "Can be used while sitting", - 53 => "Can only be used during daytime", - 54 => "Can only be used during nighttime", - 55 => "Can only be used indoors", - 56 => "Can only be used outdoors", - 79 => "Can only target the player", - 60 => "Cannot be dodged, parried or blocked", - 67 => "Cannot be reflected", - 91 => "Cannot be used in a raid", - 33 => "Castable in combat", - 34 => "Chance to critically hit", - 35 => "Chance to miss", - 27 => "Channeled", - 66 => "Channeled 2", - 85 => "Continues while logged out", - 84 => "Does not appear in log", - 68 => "Does not break stealth", - 81 => "Does not engage target", - 77 => "Does not require shapeshift", - // 46 => "Disregards immunity", - 47 => "Disregards school immunity", - 78 => "Food/Drink buff", - 71 => "Generates no threat", - 52 => "On next swing (npcs)", - 49 => "On next swing (players)", - 90 => "Only usable in arena", - 92 => "Paladin aura", - 50 => "Passive spell", - 36 => "Persists through death", - 72 => "Pickpocket spell", - 73 => "Remove auras on immunity", - 48 => "Requires a ranged weapon", - 82 => "Requires a wand", - 83 => "Requires an off-hand weapon", - 74 => "Requires fishing pole", - 41 => "Requires Metamorphosis", - 80 => "Requires main hand weapon", - 38 => "Requires Stealth", - 75 => "Requires untapped target", - 58 => "Spell damage depends on caster level", - 39 => "Spellstealable", - 63 => "Starts cooldown after aura fades", - 87 => "Starts ticking at aura application", - 59 => "Stops auto-attack", - // 76 => "Target must be own item", - 70 => "The target cannot be in combat", - 93 => "Totem", - 42 => "Usable when stunned", - 88 => "Usable while confused", - 89 => "Usable while feared", - 65 => "Uses all power" - ), 'summonControl' => ["Uncontrolled", "Guardian", "Pet", "Possessed", "Possessed Vehicle", "Uncontrolled Vehicle"], 'summonSlot' => ["Pet", "Fire Totem", "Earth Totem", "Water Totem", "Air Totem", "Non-combat Pet", "Quest"], 'unkEffect' => 'Unknown Effect (%1$d)', @@ -1807,6 +1748,278 @@ $lang = array( 'Mod Minimum Speed %', null, 'Heal Absorb Test', 'Mod Critical Strike Chance for Caster',null, 'Mod Pet AoE Damage Avoidance', null, null, null, 'Prevent Ressurection', /* -316*/ 'Underwater Walking', 'Periodic Haste' + ), + 'attributes0' => array( + SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE => 'Proc Failure Burns Charge', // 1120 + SPELL_ATTR0_REQ_AMMO => 'Requires a ranged weapon', // 27632 + SPELL_ATTR0_ON_NEXT_SWING => 'On next swing (players)', // 6807 + SPELL_ATTR0_IS_REPLENISHMENT => 'Do Not Log Immune Misses', // only 57669 Replenishment (tested with 57669, 5405 against aura 62692) + SPELL_ATTR0_ABILITY => 'Is Ability', // 27576 + SPELL_ATTR0_TRADESPELL => 'Tradeskill recipe', // 2479 + SPELL_ATTR0_PASSIVE => 'Passive spell', // 12296 + SPELL_ATTR0_HIDDEN_CLIENTSIDE => 'Aura is hidden', // 12296 + SPELL_ATTR0_HIDE_IN_COMBAT_LOG => 'Does not appear in log', // 45471 - "cast time is hidden" is demonstrably false + SPELL_ATTR0_TARGET_MAINHAND_ITEM => 'Held Item Only', // 37360 + SPELL_ATTR0_ON_NEXT_SWING_2 => 'On next swing (npcs)', // 6807 + SPELL_ATTR0_WEARER_CASTS_PROC_TRIGGER => 'Wearer Casts Proc Trigger', // 47193 + SPELL_ATTR0_DAYTIME_ONLY => 'Can only be used during daytime', // < unused > + SPELL_ATTR0_NIGHT_ONLY => 'Can only be used during nighttime', // < unused > + SPELL_ATTR0_INDOORS_ONLY => 'Can only be used indoors', // < unused > + SPELL_ATTR0_OUTDOORS_ONLY => 'Can only be used outdoors', // 55293 + SPELL_ATTR0_NOT_SHAPESHIFT => 'Cannot be used while shapeshifted', // 27576 + SPELL_ATTR0_ONLY_STEALTHED => 'Must be in stealth', // 8724 + SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE => 'Do Not Sheath', // 27576 + SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION => 'Spell damage depends on caster level', // 13901 + SPELL_ATTR0_STOP_ATTACK_TARGET => 'Stops auto-attack', // 55293 + SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK => 'Cannot be dodged, parried or blocked', // 57755 + SPELL_ATTR0_CAST_TRACK_TARGET => 'Track Target in Cast (Player Only)', // 27632 + SPELL_ATTR0_CASTABLE_WHILE_DEAD => 'Can be used while dead', // 27285 + SPELL_ATTR0_CASTABLE_WHILE_MOUNTED => 'Can be used while mounted', // 2457 + SPELL_ATTR0_DISABLED_WHILE_ACTIVE => 'Starts cooldown after aura fades', // 53756 + SPELL_ATTR0_NEGATIVE_1 => 'Aura is Debuff', // 31117 + SPELL_ATTR0_CASTABLE_WHILE_SITTING => 'Can be used while sitting', // 2457 + SPELL_ATTR0_CANT_USED_IN_COMBAT => 'Cannot be used in combat', // 100 + SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY => 'Unaffected by invulnerability', // 2457 + SPELL_ATTR0_HEARTBEAT_RESIST_CHECK => 'Heartbeat Resist', // 5782 + SPELL_ATTR0_CANT_CANCEL => 'Aura cannot be cancelled' // 48018 + ), + 'attributes1' => array( + SPELL_ATTR1_DISMISS_PET => 'Dismiss Pet First', // 1098 + SPELL_ATTR1_DRAIN_ALL_POWER => 'Uses all Power', // 17233 + SPELL_ATTR1_CHANNELED_1 => 'Channeled 1', // 689 genFilter 66 + SPELL_ATTR1_CANT_BE_REDIRECTED => 'Cannot be redirected', // 5246 - [WH] Cannot be reflected + SPELL_ATTR1_NO_SKILL_INCREASE => 'No Skill Increase', // 46924 + SPELL_ATTR1_NOT_BREAK_STEALTH => 'Does not break stealth', // 5500 + SPELL_ATTR1_CHANNELED_2 => 'Channeled 2', // 1949 + SPELL_ATTR1_CANT_BE_REFLECTED => 'Cannot be reflected', // 5246 - [WH] "All spell effects are harmful" and cr: 69 + SPELL_ATTR1_CANT_TARGET_IN_COMBAT => 'The target cannot be in combat', // 38605 + SPELL_ATTR1_MELEE_COMBAT_START => 'Initiates Combat (Enabled Auto-Attack)', // 1329 + SPELL_ATTR1_NO_THREAT => 'Generates no threat', // 2457 + SPELL_ATTR1_DONT_REFRESH_DURATION_ON_RECAST => 'Aura Unique', // 34697 + SPELL_ATTR1_IS_PICKPOCKET => 'Pickpocket spell', // 921 + SPELL_ATTR1_FARSIGHT => 'Toggle Far Sight', // 126 + SPELL_ATTR1_CHANNEL_TRACK_TARGET => 'Track Target in Channel', // 689 + SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY => 'Remove auras on immunity', // 18499 + SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE => 'Unaffected by school immunity', // 12292 + SPELL_ATTR1_UNAUTOCASTABLE_BY_PET => 'No AutoCast (AI)', // 12975, + SPELL_ATTR1_PREVENTS_ANIM => 'Prevents Anim', // 22570 + SPELL_ATTR1_CANT_TARGET_SELF => 'Exclude Caster', // 50720 + SPELL_ATTR1_FINISHING_MOVE_DAMAGE => 'Requires combo points on target (Damage)', // 22570 + SPELL_ATTR1_THREAT_ONLY_ON_MISS => 'Threat only on Miss', // 921 + SPELL_ATTR1_FINISHING_MOVE_DURATION => 'Requires combo points on target (Duration)', // 22570 + SPELL_ATTR1_IGNORE_OWNERS_DEATH => 'Ignore Owner\'s Death', // 45145 + SPELL_ATTR1_IS_FISHING => 'Requires fishing pole', // 62734 + SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT => 'Aura Stays After Combat', // 61112 + SPELL_ATTR1_REQUIRE_ALL_TARGETS => 'Require All Targets', // 1120 + SPELL_ATTR1_DISCOUNT_POWER_ON_MISS => 'Discount Power On Miss', // 1329 + SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR => 'No Aura Icon', // 2457 + SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME => 'Name in Channel Bar', // 62734 + SPELL_ATTR1_ENABLE_AT_DODGE => 'Combo on Dodge', // 7384 - Combo on Block (Mainline: Dispel All Stacks) + SPELL_ATTR1_CAST_WHEN_LEARNED => 'Cast When Learned' // 2457 + ), + 'attributes2' => array( + SPELL_ATTR2_CAN_TARGET_DEAD => 'Allow Dead Target', // 2457 + SPELL_ATTR2_NO_SHAPESHIFT_UI => 'No shapeshift UI', // 9736 + SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS => 'Ignore Line of Sight', // 20647 + SPELL_ATTR2_ALLOW_LOW_LEVEL_BUFF => 'Allow Low Level Buff', // 755 + SPELL_ATTR2_DISPLAY_IN_STANCE_BAR => 'Use Shapeshift Bar', // 465 + SPELL_ATTR2_AUTOREPEAT_FLAG => 'Auto Repeat', // 75 + SPELL_ATTR2_CANT_TARGET_TAPPED => 'Requires untapped target', // 710 + SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE => 'Do Not Report Spell Failure', // 26654 + SPELL_ATTR2_INCLUDE_IN_ADVANCED_COMBAT_LOG => '', // < unused > - 'Include in Advanced Combat Log' for modern client + SPELL_ATTR2_ALWAYS_CAST_AS_UNIT => 'Always Cast As Unit', // 42454 + SPELL_ATTR2_SPECIAL_TAMING_FLAG => 'Special Taming Flag', // 1515 + SPELL_ATTR2_HEALTH_FUNNEL => 'Health Funnel', // 'No Target Per-Second Costs' makes no sense in 335 + SPELL_ATTR2_CHAIN_FROM_CASTER => 'Chain From Caster', // 6807 + SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA => 'Target must be own item', // 24168 (modern client naming seems to be more correct (close enough in either case)) + SPELL_ATTR2_ALLOW_WHILE_INVISIBLE => 'Allow While Invisible', // 2479 + SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST => 'Do Not Consume if Gained During Cast', // < unused/157228 > + SPELL_ATTR2_TAME_BEAST => 'No Active Pets', // 1515 + SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS => 'Do Not Reset Combat Timers', // 1464 + SPELL_ATTR2_REQ_DEAD_PET => 'Requires Dead Pet', // 982 - No Jump While Cast Pending + SPELL_ATTR2_NOT_NEED_SHAPESHIFT => 'Does not require shapeshift', // 5176 + SPELL_ATTR2_INITIATE_COMBAT_POST_CAST_ENABLES_AUTO_ATTACK => 'Initiate Combat Post-Cast (Enables Auto-Attack)', // 1329 + SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE => 'Fail on all targets immune', // 642 + SPELL_ATTR2_NO_INITIAL_THREAT => 'No initial Threat', // 26654 + SPELL_ATTR2_IS_ARCANE_CONCENTRATION => 'Proc Cooldown On Failure', // 12574 + SPELL_ATTR2_ITEM_CAST_WITH_OWNER_SKILL => 'Item Cast With Owner Skill', // 11353 + SPELL_ATTR2_DONT_BLOCK_MANA_REGEN => 'Don\'t Block Mana Regen',// 18220 + SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE => 'No School immunities', // 1161 + SPELL_ATTR2_IGNORE_WEAPONSKILL => 'Ignore Weaponskill', // 62734 + SPELL_ATTR2_NOT_AN_ACTION => 'Not an Action', // 33280 + SPELL_ATTR2_CANT_CRIT => 'Cannot crit', // 26654 + SPELL_ATTR2_ACTIVE_THREAT => 'Active Threat', // 5857 + SPELL_ATTR2_FOOD_BUFF => 'Food/Drink buff' // 44101 + ), + 'attributes3' => array( + SPELL_ATTR3_PVP_ENABLING => 'PvP Enabling', // 27285 + SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK => 'No Proc Equip Requirement', // 2565 + SPELL_ATTR3_NO_CASTING_BAR_TEXT => 'No Casting Bar Text', // 47542 + SPELL_ATTR3_COMPLETELY_BLOCKED => 'Completely Blocked', // 1715 + SPELL_ATTR3_IGNORE_RESURRECTION_TIMER => 'No Res Timer', // 20742 + SPELL_ATTR3_NO_DURABILTIY_LOSS => 'No Durability Loss', // 66588 + SPELL_ATTR3_NO_AVOIDANCE => 'No Avoidance', // 52090 + SPELL_ATTR3_STACK_FOR_DIFF_CASTERS => 'DoT Stacking Rule', // 980 + SPELL_ATTR3_ONLY_TARGET_PLAYERS => 'Can only target players', // 26561 + SPELL_ATTR3_NOT_A_PROC => 'Not a Proc', // 27576 + SPELL_ATTR3_MAIN_HAND => 'Requires main hand weapon', // 27576 + SPELL_ATTR3_BATTLEGROUND => 'Can only be used in a battleground', // 23035 + SPELL_ATTR3_ONLY_TARGET_GHOSTS => 'Only On Ghosts', // 22012 + SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR => 'Hide Channel Bar', // 24323 + SPELL_ATTR3_IS_HONORLESS_TARGET => 'Is Honorless Target', // renamed in modern client + SPELL_ATTR3_NORMAL_RANGED_ATTACK => 'Normal Ranged Attack', // 75 + SPELL_ATTR3_CANT_TRIGGER_PROC => 'Suppress Caster Procs', // 1329 + SPELL_ATTR3_NO_INITIAL_AGGRO => 'Does not engage target', // 1464 + SPELL_ATTR3_IGNORE_HIT_RESULT => 'Cannot miss', // 64380 + SPELL_ATTR3_DISABLE_PROC => 'Disable Proc', // 'Instant Target Procs', // 47261 + SPELL_ATTR3_DEATH_PERSISTENT => 'Persists through death', // 2457 + SPELL_ATTR3_ONLY_PROC_OUTDOORS => 'Only Proc Outdoors', // < unused/116684 > + SPELL_ATTR3_REQ_WAND => 'Requires a wand', // < unused > - reqwand + SPELL_ATTR3_NO_DAMAGE_HISTORY => 'No Damage History', // 30839 + SPELL_ATTR3_REQ_OFFHAND => 'Requires an off-hand weapon', // 27576 + SPELL_ATTR3_TREAT_AS_PERIODIC => 'Treat As Periodic', // 5857 + SPELL_ATTR3_CAN_PROC_FROM_PROCS => 'Can Proc From Procs', // 1719 + SPELL_ATTR3_DRAIN_SOUL => 'Only Proc on Caster', // 1120 + SPELL_ATTR3_IGNORE_CASTER_AND_TARGET_RESTRICTIONS => 'Ignore Caster and Target restrictions', // changed attribute + SPELL_ATTR3_NO_DONE_BONUS => 'Ignore Caster Modifiers', // 12723 + SPELL_ATTR3_DONT_DISPLAY_RANGE => 'Do Not Display Range', // 20647 + SPELL_ATTR3_NOT_ON_AOE_IMMUNE => 'Not on AOE Immune' // 71718 + ), + 'attributes4' => array( + SPELL_ATTR4_IGNORE_RESISTANCES => 'No Cast Log', // 5374 + SPELL_ATTR4_PROC_ONLY_ON_CASTER => 'Class Trigger Only On Target', // 58423 + SPELL_ATTR4_FADES_WHILE_LOGGED_OUT => 'Continues while logged out', // 48018 + SPELL_ATTR4_NO_HELPFUL_THREAT => 'No Helpful Threat', // 32645 + SPELL_ATTR4_NO_HARMFUL_THREAT => 'No Harmful Threat', // 48743 + SPELL_ATTR4_ALLOW_CLIENT_TARGETING => 'Allow Client Targeting', // 53510 + SPELL_ATTR4_NOT_STEALABLE => 'Cannot be Spellstolen', // 53756 + SPELL_ATTR4_CAN_CAST_WHILE_CASTING => 'Allow Cast While Casting', // 53742 + SPELL_ATTR4_FIXED_DAMAGE => 'Ignore Damage Taken Modifiers', // 31117 + SPELL_ATTR4_TRIGGER_ACTIVATE => 'Combat Feedback When Usable', + SPELL_ATTR4_SPELL_VS_EXTEND_COST => 'Weapon Speed Cost Scaling', // 5938 only + SPELL_ATTR4_NO_PARTIAL_IMMUNITY => 'No Partial Immunity', // 1161 + SPELL_ATTR4_AURA_IS_BUFF => 'Aura Is Buff', // 70243 + SPELL_ATTR4_DO_NOT_LOG_CASTER => 'Do Not Log Caster', // 26062 + SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS => 'Reactive Damage Proc', // 26367 + SPELL_ATTR4_NOT_IN_SPELLBOOK => 'Not In Spellbook', // 61154 + SPELL_ATTR4_NOT_USABLE_IN_ARENA => 'Not usable in arena', // 126 + SPELL_ATTR4_USABLE_IN_ARENA => 'Usable in arena', // 67017 + SPELL_ATTR4_AREA_TARGET_CHAIN => 'Bouncy Chain Missiles', // 31935 + SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING => 'Allow Proc While Sitting', // 20230 + SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER => 'Aura Never Bounces', // 980 + SPELL_ATTR4_DONT_REMOVE_IN_ARENA => 'Allow Entering Arena', // 2457 + SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM => 'Proc Suppress Swing Anim', // 42058 + SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS => 'Suppress Weapon Procs', // 22570 + SPELL_ATTR4_AUTO_RANGED_COMBAT => 'Auto Ranged Combat', // 75 + SPELL_ATTR4_IS_PET_SCALING => 'Owner Power Scaling', // 34902 + SPELL_ATTR4_CAST_ONLY_IN_OUTLAND => 'Flying areas only', // 60025 - WH "Allow Equip While Casting" + SPELL_ATTR4_FORCE_DISPLAY_CASTBAR => 'Force Display Castbar', // 48871 + SPELL_ATTR4_IGNORE_COMBAT_TIMER => 'Ignore Combat Timer', // 19434 + SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL => 'Aura Bounce Fails Spell', // 676 + SPELL_ATTR4_OBSOLETE => '', // 228 - "Obsoloete" flag is used and it is DEFENITELY not an obsolete marker + SPELL_ATTR4_USE_FACING_FROM_SPELL => 'Use Facing From Spell' // 228 + ), + 'attributes5' => array( + SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING => 'Allow Actions During Channel', // 66588 + SPELL_ATTR5_NO_REAGENT_WHILE_PREP => 'No Reagent Cost With Aura', // 6201 + SPELL_ATTR5_REMOVE_ON_ARENA_ENTER => 'Remove Entering Arena', // 1490 + SPELL_ATTR5_USABLE_WHILE_STUNNED => 'Can be used while stunned', // 49575 + SPELL_ATTR5_TRIGGERS_CHANNELING => 'Triggers Channeling', // 8344 + SPELL_ATTR5_SINGLE_TARGET_SPELL => 'The aura can only affect one target', // 50720 > js + SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK => 'Ignore Area Effect PvP Check', // 63803 + SPELL_ATTR5_NOT_ON_PLAYER => 'Not On Player', // 38605 + SPELL_ATTR5_CANT_TARGET_PLAYER_CONTROLLED => 'Not On Player Controlled NPC', // 64373 + SPELL_ATTR5_START_PERIODIC_AT_APPLY => 'Starts ticking at aura application', // 46924 + SPELL_ATTR5_HIDE_DURATION => 'Do Not Display Duration', // 33280 + SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET => 'Implied Targeting', // 3411 + SPELL_ATTR5_MELEE_CHAIN_TARGETING => 'Melee Chain Targeting', // 50581 + SPELL_ATTR5_HASTE_AFFECT_DURATION => 'Spell Haste Affects Periodic', // 689 + SPELL_ATTR5_NOT_USABLE_WHILE_CHARMED => 'Not Available While Charmed', // 34186 + SPELL_ATTR5_TREAT_AS_AREA_EFFECT => 'Treat as Area Effect', // 1680 + SPELL_ATTR5_AURA_AFFECTS_NOT_JUST_REQ_EQUIPPED_ITEM => 'Aura Affects Not Just Req. Equipped Item', // 20197 and its ranks only + SPELL_ATTR5_USABLE_WHILE_FEARED => 'Usable while feared', // 50720 + SPELL_ATTR5_USABLE_WHILE_CONFUSED => 'Usable while confused', // 50720 + SPELL_ATTR5_DONT_TURN_DURING_CAST => 'AI Doesn\'t Face target', // 34172 + SPELL_ATTR5_DO_NOT_ATTEMPT_A_PET_RESUMMON_WHEN_DISMOUNTING => 'Do Not Attempt a Pet Resummon When Dismounting', // 31700 + SPELL_ATTR5_IGNORE_TARGET_REQUIREMENTS => 'Ignore Target Requirements', // 48743 + SPELL_ATTR5_NOT_ON_TRIVIAL => 'Not On Trivial', // 34861 + SPELL_ATTR5_NO_PARTIAL_RESISTS => 'No Partial Resists', // 12654 + SPELL_ATTR5_IGNORE_CASTER_REQUIREMENTS => 'Ignore Caster Requirements', // 46394 + SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT => 'Always Line of Sight', // 59838 + SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK => 'Always AOE Line of Sight', // 27285 + SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST => 'No Caster Aura Icon', // 47542 + SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST => 'No Target Aura Icon', // 46846 + SPELL_ATTR5_AURA_UNIQUE_PER_CASTER => 'Aura Unique Per Caster', // 71350 + SPELL_ATTR5_ALWAYS_SHOW_GROUND_TEXTURE => 'Always Show Ground Texture', // 53400 + SPELL_ATTR5_ADD_MELEE_HIT_RATING => 'Add Melee Hit Rating' // 1161 + ), + 'attributes6' => array( + SPELL_ATTR6_DONT_DISPLAY_COOLDOWN => 'No Cooldown On Tooltip', // 72426 + SPELL_ATTR6_ONLY_IN_ARENA => 'Only usable in arena', // < unused > onlyarena + SPELL_ATTR6_IGNORE_CASTER_AURAS => 'Ignore Caster Auras', // 42454 + SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG => 'Can Assist Immune PC', // 66588 + SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE => 'Ignore For Mod Time Rate', // 54107 + SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES => 'Do Not Consume Resources', // 1464 + SPELL_ATTR6_USE_SPELL_CAST_EVENT => 'Send SpellCast event', // 60970 + SPELL_ATTR6_AURA_IS_WEAPON_PROC => 'Aura Is Weapon Proc', // 45482 + SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED => 'Do Not Chain To Crowd-Controlled Targets', // 31935 + SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS => 'Allow On Charmed Targets', // 53510 + SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS => 'No Aura Log', // 7384 + SPELL_ATTR6_NOT_IN_RAID_INSTANCE => 'Cannot be used in a raid', // notinraid + SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE => 'Allow While Riding Vehicle', // 2457 + SPELL_ATTR6_CAN_TARGET_INVISIBLE => 'Ignore Phase Shift', // 71350 + SPELL_ATTR6_AI_PRIMARY_RANGED_ATTACK => 'AI Primary Ranged Attack', // 50403 + SPELL_ATTR6_NO_PUSHBACK => 'No Pushback', // 67892 + SPELL_ATTR6_NO_JUMP_PATHING => 'No Jump Pathing', // 59790 + SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING => 'Allow Equip While Casting', // 55293 + SPELL_ATTR6_CAST_BY_CHARMER => 'Originate From Controller', // 48677 + SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST => 'Delay Combat Timer During Cast', // 50782 + SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER => 'Aura Icon Only Visible For Caster (Limit 10)', // 58371 + SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS => '', // 1715 - [WH] Show Mechanic as Combat Text (looks like a modern client feature...?) + SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE => 'Absorb Cannot Be Ignore', // only 72054 + SPELL_ATTR6_TAPS_IMMEDIATELY => 'Taps immediately', // 1161 + SPELL_ATTR6_CAN_TARGET_UNTARGETABLE => 'Can Target Untargetable', // 62705 + SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT => 'Doesn\'t Reset Swing Timer if Instant', // 879 + SPELL_ATTR6_VEHICLE_IMMUNITY_CATEGORY => 'Vehicle Immunity Category', // 6673 + SPELL_ATTR6_LIMIT_PCT_HEALING_MODS => 'Ignore Healing Modifiers', // 53652 + SPELL_ATTR6_DO_NOT_AUTO_SELECT_TARGET_WITH_INITIATES_COMBAT => 'Do Not Auto Select Target with Initiates Combat', // 66017 (death grip and derivates) + SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS => 'Ignore Caster Damage Modifiers', // 31117 + SPELL_ATTR6_DISABLE_TIED_EFFECT_POINTS => 'Disable Tied Effect Points', // 29801 + SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS => 'No Category Cooldown Mods' // 2894 only + ), + 'attributes7' => array( + SPELL_ATTR7_ALLOW_SPELL_REFLECTION => '', // 66843 - Allow Spell Reflection - this makes zero sense on the flagged spells + SPELL_ATTR7_IGNORE_DURATION_MODS => 'No Target Duration Mod', // < unused/43095 > + SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD => 'Paladin aura', // 465 + SPELL_ATTR7_IS_CHEAT_SPELL => 'Debug Spell', // 43574 + SPELL_ATTR7_TREAT_AS_RAID_BUFF => 'Treat as Raid Buff', // 47883 + SPELL_ATTR7_SUMMON_PLAYER_TOTEM => 'Totem', // 2894 + SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE => 'Don\'t Cause Spell Pushback', // 66670 + SPELL_ATTR7_PREPARE_FOR_VEHICLE_CONTROL_END => 'Prepare for Vehicle Control End', // 66218 only + SPELL_ATTR7_HORDE_ONLY => 'Horde Specific Spell', // 2825 + SPELL_ATTR7_ALLIANCE_ONLY => 'Alliance Specific Spell', // 32182 + SPELL_ATTR7_DISPEL_CHARGES => 'Dispel Removes Charges', // 974 + SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER => 'Can Cause Interrupt', // 22570 + SPELL_ATTR7_CAN_CAUSE_SILENCE => 'Can Cause Silence', // < unused/17253 > + SPELL_ATTR7_NO_UI_NOT_INTERRUPTIBLE => 'No UI Not Interruptible', // < unused/79111 > + SPELL_ATTR7_RECAST_ON_RESUMMON => 'Recast On Resummon', // 52150 only + SPELL_ATTR7_RESET_SWING_TIMER_AT_SPELL_START => 'Reset Swing Timer at spell start', // 879 + SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER => 'Can Restore Inactive Power', // 68285 + SPELL_ATTR7_DO_NOT_LOG_PVP_KILL => 'Do Not Log PvP Kill', // 27965 only + SPELL_ATTR7_HAS_CHARGE_EFFECT => 'Attack on Charge to Unit', // 100 + SPELL_ATTR7_ZONE_TELEPORT => 'Report Spell failure to unit target', // 64030 + SPELL_ATTR7_NO_CLIENT_FAIL_WHILE_STUNNED_FLEEING_CONFUSED => 'No Client Fail While Stunned, Fleeing, Confused', // 642 + SPELL_ATTR7_RETAIN_COOLDOWN_THROUGH_LOAD => 'Retain Cooldown Through Load', // < unused/187611 > + SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING => 'Ignores Cold Weather Flying Requirement', // 64761 + SPELL_ATTR7_CANT_DODGE => 'No Attack Dodge', // 27576 + SPELL_ATTR7_CANT_PARRY => 'No Attack Parry', // 27576 + SPELL_ATTR7_CANT_MISS => 'No Attack Miss', // 27576 + SPELL_ATTR7_TREAT_AS_NPC_AOE => 'Treat as NPC AoE', // 72454 + SPELL_ATTR7_BYPASS_NO_RESURRECT_AURA => 'Bypass No Resurrect Aura', // < unused/72423 > + SPELL_ATTR7_CONSOLIDATED_RAID_BUFF => 'Consolidate in raid buff frame', // '[WH] Do Not Count For PvP Scoreboard', // 6673 + SPELL_ATTR7_REFLECTION_ONLY_DEFENDS => 'Reflection Only Defends', // 71237 only + SPELL_ATTR7_CAN_PROC_FROM_SUPPRESSED_TARGET_PROCS => 'Can Proc From Suppressed Target Procs', // 974 + SPELL_ATTR7_CLIENT_INDICATOR => 'Always Cast Log' // 70769 only ) ), 'item' => array( diff --git a/localization/locale_eses.php b/localization/locale_eses.php index 1ed038de..49b06015 100644 --- a/localization/locale_eses.php +++ b/localization/locale_eses.php @@ -1649,65 +1649,6 @@ $lang = array( ), 'stealthType' => ["GENERAL", "TRAP"], 'invisibilityType' => ["General", "UNK-1", "UNK-2", "Trap", "UNK-4", "UNK-5", "Drunk", "UNK-7", "UNK-8", "UNK-9", "UNK-10", "UNK-11"], - 'attributes' => array( // index defined by filters - 69 => "Todos los efectos de Hechizos son perjudiciales", - 57 => "El aura no se puede cancelar", - 51 => "El Aura esta oculta", - 95 => "Hechizo de Venda", - 61 => "Se puede utilizar estando muerto", - 62 => "Se puede utilizar estando montado", - 64 => "Se puede utilizar sentado", - 53 => "Solo puede ser utilizado de día", - 54 => "Sólo se puede utilizar durante la noche", - 55 => "Solo puede ser utilizado en interiores", - 56 => "Solo puede ser utilizado en exteriores", - 79 => "Solo puede hacerle objetivo al jugador", - 60 => "No puede ser esquivado, parado o bloqueado", - 67 => "No puede ser reflejado", - 91 => "No puede ser utilizado en una banda", - 33 => "Utilizable en combate", - 34 => "Oportunidad de golpe crítico", - 35 => "Oportunidad de fallar", - 27 => "Canalizado", - 66 => "Canalizado 2", - 85 => "Continúa mientras esta desconectado", - 84 => "No aparece en el registro", - 68 => "No rompe el sigilo", - 81 => "No ataca al objetivo", - 77 => "No requiere cambio de forma", - // 46 => "Ignora la inmunidad", - 47 => "Ignora la imunidad a una escuela de magia", - 78 => "Beneficio de la Bebida/Comida", - 71 => "No genera amenza", - 52 => "Con el próximo golpe (PNJs)", - 49 => "Con el próximo golpe (jugadores)", - 90 => "Solo utilizable en Arena", - 92 => "Aura de Paladín", - 50 => "Hechizo Pasivo", - 36 => "Persiste después de la muerte", - 72 => "Hechizo de Robar", - 73 => "Remueve las auras siendo inmune", - 48 => "Requiere un arma a distancia", - 82 => "Requiere una varita", - 83 => "Requiere un arma en la mano izquierda", - 74 => "Requiere una Caña de Pescar", - 41 => "Requiere Metamorfosis", - 80 => "Requiere Arma en la Mano Principal", - 38 => "Requiere Sigilo", - 75 => "Requiere un objetivo no seleccionado", - 58 => "Daño con Hechizos depende del nivel del lanzador", - 39 => "Hechizo puede ser robado", - 63 => "Comienza el tiempo de reutilización luego de que el aura se desvanece", - 87 => 'Comienzan los "ticks" con la aplicación del aura', - 59 => "Detiene el auto-ataque", - // 76 => "El objetivo debe ser dueño del objeto", - 70 => "El objetivo no debe estar en combate", - 93 => "Totem", - 42 => "Utilizable durante aturdimiento", - 88 => "Utilizable mientras se esta confuso", - 89 => "Utilizable mientras se esta aterrorizado", - 65 => "Utiliza todo el poder" - ), 'summonControl' => ["[Uncontrolled]", "Guardián", "Mascota", "Embelesado", "[Possessed Vehicle]", "[Uncontrolled Vehicle]"], 'summonSlot' => ["Mascota", "Tótem de Fuego", "Tótem de Tierra", "Tótem de Agua", "Tótem de Aire", "Mascota mansa", "Misión"], 'unkEffect' => 'Unknown Effect (%1$d)', @@ -1807,6 +1748,278 @@ $lang = array( 'Mod Minimum Speed %', null, 'Heal Absorb Test', 'Mod Critical Strike Chance for Caster',null, 'Mod Pet AoE Damage Avoidance', null, null, null, 'Prevent Ressurection', /* -316*/ 'Underwater Walking', 'Periodic Haste' + ), + 'attributes0' => array( + SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE => 'Proc Failure Burns Charge', + SPELL_ATTR0_REQ_AMMO => 'Requiere un arma a distancia', + SPELL_ATTR0_ON_NEXT_SWING => 'Con el próximo golpe (jugadores)', + SPELL_ATTR0_IS_REPLENISHMENT => 'Do Not Log Immune Misses', + SPELL_ATTR0_ABILITY => 'Is Ability', + SPELL_ATTR0_TRADESPELL => 'Receta de Profesión', + SPELL_ATTR0_PASSIVE => 'Hechizo Pasivo', + SPELL_ATTR0_HIDDEN_CLIENTSIDE => 'El Aura esta oculta', + SPELL_ATTR0_HIDE_IN_COMBAT_LOG => 'No aparece en el registro', + SPELL_ATTR0_TARGET_MAINHAND_ITEM => 'Held Item Only', + SPELL_ATTR0_ON_NEXT_SWING_2 => 'Con el próximo golpe (PNJs)', + SPELL_ATTR0_WEARER_CASTS_PROC_TRIGGER => 'Wearer Casts Proc Trigger', + SPELL_ATTR0_DAYTIME_ONLY => 'Solo puede ser utilizado de día', + SPELL_ATTR0_NIGHT_ONLY => 'Sólo se puede utilizar durante la noche', + SPELL_ATTR0_INDOORS_ONLY => 'Solo puede ser utilizado en interiores', + SPELL_ATTR0_OUTDOORS_ONLY => 'Solo puede ser utilizado en exteriores', + SPELL_ATTR0_NOT_SHAPESHIFT => 'No puede ser utilizado mientras se este cambiado de forma', + SPELL_ATTR0_ONLY_STEALTHED => 'Se debe estar en Sigilo', + SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE => 'Do Not Sheath', + SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION => 'Daño con Hechizos depende del nivel del lanzador', + SPELL_ATTR0_STOP_ATTACK_TARGET => 'Detiene el auto-ataque', + SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK => 'No puede ser esquivado, parado o bloqueado', + SPELL_ATTR0_CAST_TRACK_TARGET => 'Track Target in Cast (Player Only)', + SPELL_ATTR0_CASTABLE_WHILE_DEAD => 'Se puede utilizar estando muerto', + SPELL_ATTR0_CASTABLE_WHILE_MOUNTED => 'Se puede utilizar estando montado', + SPELL_ATTR0_DISABLED_WHILE_ACTIVE => 'Comienza el tiempo de reutilización luego de que el aura se desvanece', + SPELL_ATTR0_NEGATIVE_1 => 'Aura is Debuff', + SPELL_ATTR0_CASTABLE_WHILE_SITTING => 'Se puede utilizar sentado', + SPELL_ATTR0_CANT_USED_IN_COMBAT => 'No puede ser utilizado en combate', + SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY => 'No se ve afectado por invulnerabilidad', + SPELL_ATTR0_HEARTBEAT_RESIST_CHECK => 'Heartbeat Resist', + SPELL_ATTR0_CANT_CANCEL => 'El aura no se puede cancelar' + ), + 'attributes1' => array( + SPELL_ATTR1_DISMISS_PET => 'Dismiss Pet First', + SPELL_ATTR1_DRAIN_ALL_POWER => 'Utiliza todo el poder', + SPELL_ATTR1_CHANNELED_1 => 'Canalizado 1', + SPELL_ATTR1_CANT_BE_REDIRECTED => 'Cannot be redirected', + SPELL_ATTR1_NO_SKILL_INCREASE => 'No Skill Increase', + SPELL_ATTR1_NOT_BREAK_STEALTH => 'No rompe el sigilo', + SPELL_ATTR1_CHANNELED_2 => 'Canalizado 2', + SPELL_ATTR1_CANT_BE_REFLECTED => 'No puede ser reflejado', + SPELL_ATTR1_CANT_TARGET_IN_COMBAT => 'El objetivo no debe estar en combate', + SPELL_ATTR1_MELEE_COMBAT_START => 'Initiates Combat (Enabled Auto-Attack)', + SPELL_ATTR1_NO_THREAT => 'No genera amenza', + SPELL_ATTR1_DONT_REFRESH_DURATION_ON_RECAST => 'Aura Unique', + SPELL_ATTR1_IS_PICKPOCKET => 'Hechizo de Robar', + SPELL_ATTR1_FARSIGHT => 'Toggle Far Sight', + SPELL_ATTR1_CHANNEL_TRACK_TARGET => 'Track Target in Channel', + SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY => 'Remueve las auras siendo inmune', + SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE => 'Ignora la imunidad a una escuela de magia', + SPELL_ATTR1_UNAUTOCASTABLE_BY_PET => 'No AutoCast (AI)', + SPELL_ATTR1_PREVENTS_ANIM => 'Prevents Anim', + SPELL_ATTR1_CANT_TARGET_SELF => 'Exclude Caster', + SPELL_ATTR1_FINISHING_MOVE_DAMAGE => 'Requiere puntos de combo en el objetivo (Daño)', + SPELL_ATTR1_THREAT_ONLY_ON_MISS => 'Threat only on Miss', + SPELL_ATTR1_FINISHING_MOVE_DURATION => 'Requiere puntos de combo en el objetivo (Duración)', + SPELL_ATTR1_IGNORE_OWNERS_DEATH => 'Ignore Owner\'s Death', + SPELL_ATTR1_IS_FISHING => 'Requiere una Caña de Pescar', + SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT => 'Aura Stays After Combat', + SPELL_ATTR1_REQUIRE_ALL_TARGETS => 'Require All Targets', + SPELL_ATTR1_DISCOUNT_POWER_ON_MISS => 'Discount Power On Miss', + SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR => 'No Aura Icon', + SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME => 'Name in Channel Bar', + SPELL_ATTR1_ENABLE_AT_DODGE => 'Combo on Dodge', + SPELL_ATTR1_CAST_WHEN_LEARNED => 'Cast When Learned' + ), + 'attributes2' => array( + SPELL_ATTR2_CAN_TARGET_DEAD => 'Permite Objetivo Muerto', + SPELL_ATTR2_NO_SHAPESHIFT_UI => 'No shapeshift UI', + SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS => 'Ignore Line of Sight', + SPELL_ATTR2_ALLOW_LOW_LEVEL_BUFF => 'Permite Mejora en Bajo Nivel', + SPELL_ATTR2_DISPLAY_IN_STANCE_BAR => 'Use Shapeshift Bar', + SPELL_ATTR2_AUTOREPEAT_FLAG => 'Auto Repeat', + SPELL_ATTR2_CANT_TARGET_TAPPED => 'Requiere un objetivo no seleccionado', + SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE => 'Do Not Report Spell Failure', + SPELL_ATTR2_INCLUDE_IN_ADVANCED_COMBAT_LOG => '', + SPELL_ATTR2_ALWAYS_CAST_AS_UNIT => 'Siempre emitir como unidad', + SPELL_ATTR2_SPECIAL_TAMING_FLAG => 'Special Taming Flag', + SPELL_ATTR2_HEALTH_FUNNEL => 'No Target Per-Second Costs', + SPELL_ATTR2_CHAIN_FROM_CASTER => 'Chain From Caster', + SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA => 'El objetivo debe ser dueño del objeto', + SPELL_ATTR2_ALLOW_WHILE_INVISIBLE => 'Permitir mientras invisible', + SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST => 'Do Not Consume if Gained During Cast', + SPELL_ATTR2_TAME_BEAST => 'No Active Pets', + SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS => 'Do Not Reset Combat Timers', + SPELL_ATTR2_REQ_DEAD_PET => 'Requires Dead Pet', + SPELL_ATTR2_NOT_NEED_SHAPESHIFT => 'No requiere cambio de forma', + SPELL_ATTR2_INITIATE_COMBAT_POST_CAST_ENABLES_AUTO_ATTACK => 'Initiate Combat Post-Cast (Enables Auto-Attack)', + SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE => 'Fail on all targets immune', + SPELL_ATTR2_NO_INITIAL_THREAT => 'No initial Threat', + SPELL_ATTR2_IS_ARCANE_CONCENTRATION => 'Proc Cooldown On Failure', + SPELL_ATTR2_ITEM_CAST_WITH_OWNER_SKILL => 'Item Cast With Owner Skill', + SPELL_ATTR2_DONT_BLOCK_MANA_REGEN => 'Don\'t Block Mana Regen', + SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE => 'No School immunities', + SPELL_ATTR2_IGNORE_WEAPONSKILL => 'Ignore Weaponskill', + SPELL_ATTR2_NOT_AN_ACTION => 'Amenaza activa', + SPELL_ATTR2_CANT_CRIT => 'Oportunidad de golpe crítico', + SPELL_ATTR2_ACTIVE_THREAT => 'Active Threat', + SPELL_ATTR2_FOOD_BUFF => 'Beneficio de la Bebida/Comida', + ), + 'attributes3' => array( + SPELL_ATTR3_PVP_ENABLING => 'PvP Enabling', + SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK => 'No Proc Equip Requirement', + SPELL_ATTR3_NO_CASTING_BAR_TEXT => 'No Casting Bar Text', + SPELL_ATTR3_COMPLETELY_BLOCKED => 'Completely Blocked', + SPELL_ATTR3_IGNORE_RESURRECTION_TIMER => 'No Res Timer', + SPELL_ATTR3_NO_DURABILTIY_LOSS => 'No Durability Loss', + SPELL_ATTR3_NO_AVOIDANCE => 'No Avoidance', + SPELL_ATTR3_STACK_FOR_DIFF_CASTERS => 'DoT Stacking Rule', + SPELL_ATTR3_ONLY_TARGET_PLAYERS => 'Solo puede hacerle objetivo al jugador', + SPELL_ATTR3_NOT_A_PROC => 'Not a Proc', + SPELL_ATTR3_MAIN_HAND => 'Requiere Arma en la Mano Principal', + SPELL_ATTR3_BATTLEGROUND => 'Solo utilizable en Campo de Batalla', + SPELL_ATTR3_ONLY_TARGET_GHOSTS => 'Only On Ghosts', + SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR => 'Hide Channel Bar', + SPELL_ATTR3_IS_HONORLESS_TARGET => 'Is Honorless Target', + SPELL_ATTR3_NORMAL_RANGED_ATTACK => 'Normal Ranged Attack', + SPELL_ATTR3_CANT_TRIGGER_PROC => 'Suppress Caster Procs', + SPELL_ATTR3_NO_INITIAL_AGGRO => 'No ataca al objetivo', + SPELL_ATTR3_IGNORE_HIT_RESULT => 'Oportunidad de fallar', + SPELL_ATTR3_DISABLE_PROC => 'Disable Proc', + SPELL_ATTR3_DEATH_PERSISTENT => 'Persiste luego de muerto', + SPELL_ATTR3_ONLY_PROC_OUTDOORS => 'Only Proc Outdoors', + SPELL_ATTR3_REQ_WAND => 'Requiere una varita', + SPELL_ATTR3_NO_DAMAGE_HISTORY => 'No Damage History', + SPELL_ATTR3_REQ_OFFHAND => 'Requiere un arma en la mano izquierda', + SPELL_ATTR3_TREAT_AS_PERIODIC => 'Treat As Periodic', + SPELL_ATTR3_CAN_PROC_FROM_PROCS => 'Can Proc From Procs', + SPELL_ATTR3_DRAIN_SOUL => 'Only Proc on Caster', + SPELL_ATTR3_IGNORE_CASTER_AND_TARGET_RESTRICTIONS => 'Ignore Caster and Target restrictions', + SPELL_ATTR3_NO_DONE_BONUS => 'Ignore Caster Modifiers', + SPELL_ATTR3_DONT_DISPLAY_RANGE => 'Do Not Display Range', + SPELL_ATTR3_NOT_ON_AOE_IMMUNE => 'Not on AOE Immune' + ), + 'attributes4' => array( + SPELL_ATTR4_IGNORE_RESISTANCES => 'No Cast Log', + SPELL_ATTR4_PROC_ONLY_ON_CASTER => 'Class Trigger Only On Target', + SPELL_ATTR4_FADES_WHILE_LOGGED_OUT => 'Continúa mientras esta desconectado', + SPELL_ATTR4_NO_HELPFUL_THREAT => 'No Helpful Threat', + SPELL_ATTR4_NO_HARMFUL_THREAT => 'No Harmful Threat', + SPELL_ATTR4_ALLOW_CLIENT_TARGETING => 'Permite Eleccion de Objetivo de Cliente', + SPELL_ATTR4_NOT_STEALABLE => 'No puede usarse Robar Hechizo', + SPELL_ATTR4_CAN_CAST_WHILE_CASTING => 'Permite Lanzamiento de Hechizos durante Lanzamiento de Hechizos', + SPELL_ATTR4_FIXED_DAMAGE => 'Ignore Damage Taken Modifiers', + SPELL_ATTR4_TRIGGER_ACTIVATE => 'Combat Feedback When Usable', + SPELL_ATTR4_SPELL_VS_EXTEND_COST => 'Weapon Speed Cost Scaling', + SPELL_ATTR4_NO_PARTIAL_IMMUNITY => 'No Partial Immunity', + SPELL_ATTR4_AURA_IS_BUFF => 'Aura Is Buff', + SPELL_ATTR4_DO_NOT_LOG_CASTER => 'Do Not Log Caster', + SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS => 'Reactive Damage Proc', + SPELL_ATTR4_NOT_IN_SPELLBOOK => 'Not In Spellbook', + SPELL_ATTR4_NOT_USABLE_IN_ARENA => 'No puede ser utilizado en Arena', + SPELL_ATTR4_USABLE_IN_ARENA => 'Utilizable en Arena', + SPELL_ATTR4_AREA_TARGET_CHAIN => 'Bouncy Chain Missiles', + SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING => 'Permite Activar mientras estas sentado', + SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER => 'Aura Never Bounces', + SPELL_ATTR4_DONT_REMOVE_IN_ARENA => 'Permite Ingresar a Arena', + SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM => 'Proc Suppress Swing Anim', + SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS => 'Suppress Weapon Procs', + SPELL_ATTR4_AUTO_RANGED_COMBAT => 'Auto Ranged Combat', + SPELL_ATTR4_IS_PET_SCALING => 'Owner Power Scaling', + SPELL_ATTR4_CAST_ONLY_IN_OUTLAND => 'Flying areas only', + SPELL_ATTR4_FORCE_DISPLAY_CASTBAR => 'Force Display Castbar', + SPELL_ATTR4_IGNORE_COMBAT_TIMER => 'Ignore Combat Timer', + SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL => 'Aura Bounce Fails Spell', + SPELL_ATTR4_OBSOLETE => '', + SPELL_ATTR4_USE_FACING_FROM_SPELL => 'Use Facing From Spell' + ), + 'attributes5' => array( + SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING => 'Permite Realizar Acciones Durante Canalizar', + SPELL_ATTR5_NO_REAGENT_WHILE_PREP => 'No Reagent Cost With Aura', + SPELL_ATTR5_REMOVE_ON_ARENA_ENTER => 'Remove Entering Arena', + SPELL_ATTR5_USABLE_WHILE_STUNNED => 'Utilizable durante aturdimiento', + SPELL_ATTR5_TRIGGERS_CHANNELING => 'Triggers Channeling', + SPELL_ATTR5_SINGLE_TARGET_SPELL => 'El aura solo puede afectar a un solo objetivo', + SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK => 'Ignore Area Effect PvP Check', + SPELL_ATTR5_NOT_ON_PLAYER => 'Not On Player', + SPELL_ATTR5_CANT_TARGET_PLAYER_CONTROLLED => 'Not On Player Controlled NPC', + SPELL_ATTR5_START_PERIODIC_AT_APPLY => 'Comienzan los "ticks" con la aplicación del aura', + SPELL_ATTR5_HIDE_DURATION => 'Do Not Display Duration', + SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET => 'Implied Targeting', + SPELL_ATTR5_MELEE_CHAIN_TARGETING => 'Melee Chain Targeting', + SPELL_ATTR5_HASTE_AFFECT_DURATION => 'Spell Haste Affects Periodic', + SPELL_ATTR5_NOT_USABLE_WHILE_CHARMED => 'Not Available While Charmed', + SPELL_ATTR5_TREAT_AS_AREA_EFFECT => 'Treat as Area Effect', + SPELL_ATTR5_AURA_AFFECTS_NOT_JUST_REQ_EQUIPPED_ITEM => 'Aura Affects Not Just Req. Equipped Item', + SPELL_ATTR5_USABLE_WHILE_FEARED => 'Utilizable mientras se esta aterrorizado', + SPELL_ATTR5_USABLE_WHILE_CONFUSED => 'Utilizable mientras se esta confuso', + SPELL_ATTR5_DONT_TURN_DURING_CAST => 'IA No esta frente al Objetivo', + SPELL_ATTR5_DO_NOT_ATTEMPT_A_PET_RESUMMON_WHEN_DISMOUNTING => 'Do Not Attempt a Pet Resummon When Dismounting', + SPELL_ATTR5_IGNORE_TARGET_REQUIREMENTS => 'Ignore Target Requirements', + SPELL_ATTR5_NOT_ON_TRIVIAL => 'Not On Trivial', + SPELL_ATTR5_NO_PARTIAL_RESISTS => 'No Partial Resists', + SPELL_ATTR5_IGNORE_CASTER_REQUIREMENTS => 'Ignore Caster Requirements', + SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT => 'Siempre línea de visión', + SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK => 'Siempre area de efecto en línea de visión', + SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST => 'No Caster Aura Icon', + SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST => 'No Target Aura Icon', + SPELL_ATTR5_AURA_UNIQUE_PER_CASTER => 'Aura Unique Per Caster', + SPELL_ATTR5_ALWAYS_SHOW_GROUND_TEXTURE => 'Siempre mostrar textura de suelo', + SPELL_ATTR5_ADD_MELEE_HIT_RATING => 'Indice de Golpe Melee Añadido' + ), + 'attributes6' => array( + SPELL_ATTR6_DONT_DISPLAY_COOLDOWN => 'No Cooldown On Tooltip', + SPELL_ATTR6_ONLY_IN_ARENA => 'Solo utilizable en Arena', + SPELL_ATTR6_IGNORE_CASTER_AURAS => 'Ignore Caster Auras', + SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG => 'Can Assist Immune PC', + SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE => 'Ignore For Mod Time Rate', + SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES => 'Do Not Consume Resources', + SPELL_ATTR6_USE_SPELL_CAST_EVENT => 'Send spell cast event', + SPELL_ATTR6_AURA_IS_WEAPON_PROC => 'Aura Is Weapon Proc', + SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED => 'Do Not Chain To Crowd-Controlled Targets', + SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS => 'Permite en Objetivos Embelezados', + SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS => 'No Aura Log', + SPELL_ATTR6_NOT_IN_RAID_INSTANCE => 'No puede ser utilizado en una banda', + SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE => 'Permitir mientras conduce vehículo', + SPELL_ATTR6_CAN_TARGET_INVISIBLE => 'Ignore Phase Shift', + SPELL_ATTR6_AI_PRIMARY_RANGED_ATTACK => 'Ataque de Rango Principal de IA', + SPELL_ATTR6_NO_PUSHBACK => 'No Pushback', + SPELL_ATTR6_NO_JUMP_PATHING => 'No Jump Pathing', + SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING => 'Permite Equipar mientras Lanza Hechizo', + SPELL_ATTR6_CAST_BY_CHARMER => 'Originate From Controller', + SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST => 'Delay Combat Timer During Cast', + SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER => 'Aura Icon Only For Caster (Limit 10)', + SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS => '', + SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE => 'Absorción que no puede ser ignorada', + SPELL_ATTR6_TAPS_IMMEDIATELY => 'Taps immediately', + SPELL_ATTR6_CAN_TARGET_UNTARGETABLE => 'Can Target Untargetable', + SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT => 'Doesn\'t Reset Swing Timer if Instant', + SPELL_ATTR6_VEHICLE_IMMUNITY_CATEGORY => 'Vehicle Immunity Category', + SPELL_ATTR6_LIMIT_PCT_HEALING_MODS => 'Ignore Healing Modifiers', + SPELL_ATTR6_DO_NOT_AUTO_SELECT_TARGET_WITH_INITIATES_COMBAT => 'Do Not Auto Select Target with Initiates Combat', + SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS => 'Ignore Caster Damage Modifiers', + SPELL_ATTR6_DISABLE_TIED_EFFECT_POINTS => 'Disable Tied Effect Points', + SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS => 'No Category Cooldown Mods' + ), + 'attributes7' => array( + SPELL_ATTR7_ALLOW_SPELL_REFLECTION => '', + SPELL_ATTR7_IGNORE_DURATION_MODS => 'No Target Duration Mod', + SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD => 'Aura de Paladín', + SPELL_ATTR7_IS_CHEAT_SPELL => 'Debug Spell', + SPELL_ATTR7_TREAT_AS_RAID_BUFF => 'Treat as Raid Buff', + SPELL_ATTR7_SUMMON_PLAYER_TOTEM => 'Totem', + SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE => 'Don\'t Cause Spell Pushback', + SPELL_ATTR7_PREPARE_FOR_VEHICLE_CONTROL_END => 'Prepare for Vehicle Control End', + SPELL_ATTR7_HORDE_ONLY => 'Horde Specific Spell', + SPELL_ATTR7_ALLIANCE_ONLY => 'Alliance Specific Spell', + SPELL_ATTR7_DISPEL_CHARGES => 'Dispel Removes Charges', + SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER => 'Can Cause Interrupt', + SPELL_ATTR7_CAN_CAUSE_SILENCE => 'Can Cause Silence', + SPELL_ATTR7_NO_UI_NOT_INTERRUPTIBLE => 'No UI Not Interruptible', + SPELL_ATTR7_RECAST_ON_RESUMMON => 'Recast On Resummon', + SPELL_ATTR7_RESET_SWING_TIMER_AT_SPELL_START => 'Reset Swing Timer at spell start', + SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER => 'Can Restore Inactive Power', + SPELL_ATTR7_DO_NOT_LOG_PVP_KILL => 'Do Not Log PvP Kill', + SPELL_ATTR7_HAS_CHARGE_EFFECT => 'Attack on Charge to Unit', + SPELL_ATTR7_ZONE_TELEPORT => 'Report Spell failure to unit target', + SPELL_ATTR7_NO_CLIENT_FAIL_WHILE_STUNNED_FLEEING_CONFUSED => 'No Client Fail While Stunned, Fleeing, Confused', + SPELL_ATTR7_RETAIN_COOLDOWN_THROUGH_LOAD => 'Retain Cooldown Through Load', + SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING => 'Ignores Cold Weather Flying Requirement', + SPELL_ATTR7_CANT_DODGE => 'No Attack Dodge', + SPELL_ATTR7_CANT_PARRY => 'No Attack Parry', + SPELL_ATTR7_CANT_MISS => 'No Attack Miss', + SPELL_ATTR7_TREAT_AS_NPC_AOE => 'Treat as NPC AoE', + SPELL_ATTR7_BYPASS_NO_RESURRECT_AURA => 'Bypass No Resurrect Aura', + SPELL_ATTR7_CONSOLIDATED_RAID_BUFF => 'Consolidate in raid buff frame', + SPELL_ATTR7_REFLECTION_ONLY_DEFENDS => 'Reflection Only Defends', + SPELL_ATTR7_CAN_PROC_FROM_SUPPRESSED_TARGET_PROCS => 'Can Proc From Suppressed Target Procs', + SPELL_ATTR7_CLIENT_INDICATOR => 'Siempre emitir registro' ) ), 'item' => array( diff --git a/localization/locale_frfr.php b/localization/locale_frfr.php index 7bd86b4c..8cbf0404 100644 --- a/localization/locale_frfr.php +++ b/localization/locale_frfr.php @@ -1649,65 +1649,6 @@ $lang = array( ), 'stealthType' => ["GENERAL", "TRAP"], 'invisibilityType' => ["General", "UNK-1", "UNK-2", "Trap", "UNK-4", "UNK-5", "Drunk", "UNK-7", "UNK-8", "UNK-9", "UNK-10", "UNK-11"], - 'attributes' => array( // index defined by filters - 69 => "Tous les effets de sort sont nuisibles", - 57 => "L'aura ne peut être annulée", - 51 => "Aura cachée", - 95 => "Sort de bandage", - 61 => "Utilisable même mort", - 62 => "Utilisable en monture", - 64 => "Utilisable assis", - 53 => "Ne peut être utilisé que pendant la journée", - 54 => "Ne peut être utilisé que pendant la nuit", - 55 => "Peut être utilisé uniquement à l'intérieur", - 56 => "Ne peut être utilisé qu'à l'extérieur", - 79 => "Ne peut cibler que le joueur", - 60 => "Ne peut être esquivé, paré ou bloqué", - 67 => "Ne peut être renvoyé", - 91 => "Ne peut être utilisé en raid", - 33 => "Utilisable en combat", - 34 => "Chance d'infliger un coup critique", - 35 => "Chance de rater", - 27 => "Canalisé", - 66 => "Canalisé 2", - 85 => "Continue après la déconnexion", - 84 => "N'apparait pas dans le journal", - 68 => "N'enlève pas le camouflage", - 81 => "N'engage pas la cible", - 77 => "Ne requiert pas de changeforme", - // 46 => "Ignore les immunités", - 47 => "Ignore les immunités à une école de magie", - 78 => "Buff Nourriture/Boisson", - 71 => "Ne génère pas de menace", - 52 => "Au coup suivant (PNJ)", - 49 => "Au coup suivant (joueurs)", - 90 => "Utilisable uniquement en arène", - 92 => "Aura de paladin", - 50 => "Sort passif", - 36 => "Persiste après la mort", - 72 => "Sort de pickpocket", - 73 => "Retire les auras sur immunité", - 48 => "Requiert une arme à distance", - 82 => "Requiert une baguette", - 83 => "Requiert une arme en main gauche", - 74 => "Requiert une canne à pêche", - 41 => "Requiert Métamorphose", - 80 => "Requiert une arme en main droite", - 38 => "Requiert Camouflage", - 75 => "Requiert une cible non engagée", - 58 => "Les dégats du sort dépendent du niveau du lanceur", - 39 => "Peut faire l'objet d'un vol de sort", - 63 => "Le temps de recharge démarre après que l'aura disparaît", - 87 => "Commence les tics à l'application de l'aura", - 59 => "Arrête l'auto-attaque", - // 76 => "La cible doit être un objet possédé", - 70 => "La cible ne peut être en combat", - 93 => "Totem", - 42 => "Utilisable quand assommé", - 88 => "Utilisable quand confus", - 89 => "Utilisable sous l'effet de peur", - 65 => "Utilise toute la puissance" - ), 'summonControl' => ["[Uncontrolled]", "Gardiens", "Familier", "Charmé", "[Possessed Vehicle]", "[Uncontrolled Vehicle]"], 'summonSlot' => ["Familier", "Totem de Feu", "Totem de Terre", "Totem d'Eau", "Totem d'Air", "Familier pacifique", "Quête"], 'unkEffect' => 'Unknown Effect (%1$d)', @@ -1807,6 +1748,278 @@ $lang = array( 'Mod Minimum Speed %', null, 'Heal Absorb Test', 'Mod Critical Strike Chance for Caster',null, 'Mod Pet AoE Damage Avoidance', null, null, null, 'Prevent Ressurection', /* -316*/ 'Underwater Walking', 'Periodic Haste' + ), + 'attributes0' => array( + SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE => 'L\'échec du déclenchement utilise une charge', + SPELL_ATTR0_REQ_AMMO => 'Requiert une arme à distance', + SPELL_ATTR0_ON_NEXT_SWING => 'Au coup suivant (joueurs)', + SPELL_ATTR0_IS_REPLENISHMENT => 'Ne pas journaliser les échecs liés à l\'immunité', + SPELL_ATTR0_ABILITY => 'Est une technique', + SPELL_ATTR0_TRADESPELL => 'Recette de métier', + SPELL_ATTR0_PASSIVE => 'Sort passif', + SPELL_ATTR0_HIDDEN_CLIENTSIDE => 'Aura cachée', + SPELL_ATTR0_HIDE_IN_COMBAT_LOG => 'N\'apparait pas dans le journal', + SPELL_ATTR0_TARGET_MAINHAND_ITEM => 'Objet tenu uniquement', + SPELL_ATTR0_ON_NEXT_SWING_2 => 'Au coup suivant (PNJ)', + SPELL_ATTR0_WEARER_CASTS_PROC_TRIGGER => 'Déclenchement par incantation du porteur', + SPELL_ATTR0_DAYTIME_ONLY => 'Ne peut être utilisé que pendant la journée', + SPELL_ATTR0_NIGHT_ONLY => 'Ne peut être utilisé que pendant la nuit', + SPELL_ATTR0_INDOORS_ONLY => 'Peut être utilisé uniquement à l\'intérieur', + SPELL_ATTR0_OUTDOORS_ONLY => 'Ne peut être utilisé qu\'à l\'extérieur', + SPELL_ATTR0_NOT_SHAPESHIFT => 'Ne peut être utilisé en changeforme', + SPELL_ATTR0_ONLY_STEALTHED => 'Doit être en camouflage', + SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE => 'Ne pas journaliser le rengainage', + SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION => 'Les dégats du sort dépendent du niveau du lanceur', + SPELL_ATTR0_STOP_ATTACK_TARGET => 'Arrête l\'auto-attaque', + SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK => 'Ne peut être esquivé, paré ou bloqué', + SPELL_ATTR0_CAST_TRACK_TARGET => 'Pister la cible pendant le lancement (joueur uniquement)', + SPELL_ATTR0_CASTABLE_WHILE_DEAD => 'Utilisable même mort', + SPELL_ATTR0_CASTABLE_WHILE_MOUNTED => 'Utilisable en monture', + SPELL_ATTR0_DISABLED_WHILE_ACTIVE => 'Le temps de recharge démarre après que l\'aura disparaît', + SPELL_ATTR0_NEGATIVE_1 => '[Aura is Debuff]', + SPELL_ATTR0_CASTABLE_WHILE_SITTING => 'Utilisable assis', + SPELL_ATTR0_CANT_USED_IN_COMBAT => 'Ne peut être utilisé en combat', + SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY => 'Non affecté par l\'invulnérabilité', + SPELL_ATTR0_HEARTBEAT_RESIST_CHECK => 'Résistance "Heartbeat"', + SPELL_ATTR0_CANT_CANCEL => 'L\'aura ne peut être annulée', + ), + 'attributes1' => array( + SPELL_ATTR1_DISMISS_PET => 'Révoquer le familier d\'abord', + SPELL_ATTR1_DRAIN_ALL_POWER => 'Utilise toute la puissance', + SPELL_ATTR1_CHANNELED_1 => 'Canalisé 1', + SPELL_ATTR1_CANT_BE_REDIRECTED => 'Cannot be redirected', + SPELL_ATTR1_NO_SKILL_INCREASE => 'Pas d\'augmentation de compétence', + SPELL_ATTR1_NOT_BREAK_STEALTH => 'N\'enlève pas le camouflage', + SPELL_ATTR1_CHANNELED_2 => 'Canalisé 2', + SPELL_ATTR1_CANT_BE_REFLECTED => 'Ne peut être renvoyé', + SPELL_ATTR1_CANT_TARGET_IN_COMBAT => 'La cible ne peut être en combat', + SPELL_ATTR1_MELEE_COMBAT_START => 'Démarre le combat (active l\'attaque auto)', + SPELL_ATTR1_NO_THREAT => 'Ne génère pas de menace', + SPELL_ATTR1_DONT_REFRESH_DURATION_ON_RECAST => 'L\'aura est unique', + SPELL_ATTR1_IS_PICKPOCKET => 'Sort de pickpocket', + SPELL_ATTR1_FARSIGHT => 'Activer ou désactiver la vision lointaine', + SPELL_ATTR1_CHANNEL_TRACK_TARGET => 'Pister la cible pendant la canalisation', + SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY => 'Retire les auras sur immunité', + SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE => 'Non affecté par l\'immunité à une école de magie', + SPELL_ATTR1_UNAUTOCASTABLE_BY_PET => 'Pas de lancement auto (IA)', + SPELL_ATTR1_PREVENTS_ANIM => 'Empêcher l\'anim', + SPELL_ATTR1_CANT_TARGET_SELF => 'Exclure le lanceur', + SPELL_ATTR1_FINISHING_MOVE_DAMAGE => 'Requiert des points de combo sur la cible (Dégâts)', + SPELL_ATTR1_THREAT_ONLY_ON_MISS => 'Menace uniquement en cas d\'échec', + SPELL_ATTR1_FINISHING_MOVE_DURATION => 'Requiert des points de combo sur la cible (Durée)', + SPELL_ATTR1_IGNORE_OWNERS_DEATH => 'Ignorer la mort du propriétaire', + SPELL_ATTR1_IS_FISHING => 'Requiert une canne à pêche', + SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT => 'L\'aura persiste après le combat', + SPELL_ATTR1_REQUIRE_ALL_TARGETS => 'Requiert toutes les cibles', + SPELL_ATTR1_DISCOUNT_POWER_ON_MISS => 'Décompte la puissance quand raté', + SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR => 'Pas d\'icône d\'aura', + SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME => 'Nom dans la barre de canalisation', + SPELL_ATTR1_ENABLE_AT_DODGE => 'Combo quand esquive', + SPELL_ATTR1_CAST_WHEN_LEARNED => 'Lancé dès qu\'appris', + ), + 'attributes2' => array( + SPELL_ATTR2_CAN_TARGET_DEAD => 'Autoriser les cibles mortes', + SPELL_ATTR2_NO_SHAPESHIFT_UI => 'Pas d\'interface de métamorphose', + SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS => 'Ignorer la ligne de vue', + SPELL_ATTR2_ALLOW_LOW_LEVEL_BUFF => 'Autoriser les améliorations de bas niveau', + SPELL_ATTR2_DISPLAY_IN_STANCE_BAR => 'Utiliser la barre de métamorphose', + SPELL_ATTR2_AUTOREPEAT_FLAG => 'Répétition auto', + SPELL_ATTR2_CANT_TARGET_TAPPED => 'Requiert une cible non engagée', + SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE => 'Ne pas signaler l\'échec du sort', + SPELL_ATTR2_INCLUDE_IN_ADVANCED_COMBAT_LOG => '', + SPELL_ATTR2_ALWAYS_CAST_AS_UNIT => 'Toujours utiliser comme unité', + SPELL_ATTR2_SPECIAL_TAMING_FLAG => 'Indicateur de domptage spécial', + SPELL_ATTR2_HEALTH_FUNNEL => 'Pas de coûts par seconde de cible', + SPELL_ATTR2_CHAIN_FROM_CASTER => 'S\'enchaîne au lanceur', + SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA => 'La cible doit être un objet possédé', + SPELL_ATTR2_ALLOW_WHILE_INVISIBLE => 'Autoriser quand invisible', + SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST => 'Ne pas consommer si gagné pendant le lancement', + SPELL_ATTR2_TAME_BEAST => 'Pas de familier actif', + SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS => 'Ne pas réinitialiser les compte-à-rebours de combat', + SPELL_ATTR2_REQ_DEAD_PET => 'Requires Dead Pet', + SPELL_ATTR2_NOT_NEED_SHAPESHIFT => 'Ne requiert pas de changeforme', + SPELL_ATTR2_INITIATE_COMBAT_POST_CAST_ENABLES_AUTO_ATTACK => 'Démarre le combat après le lancement (active l\'attaque auto)', + SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE => 'Échec si toutes les cibles sont immunisées', + SPELL_ATTR2_NO_INITIAL_THREAT => 'Pas de menace initiale', + SPELL_ATTR2_IS_ARCANE_CONCENTRATION => 'Temps de recharge du déclenchement en cas d\'échec', + SPELL_ATTR2_ITEM_CAST_WITH_OWNER_SKILL => 'Utiliser l\'objet utilise une compétence du propriétaire', + SPELL_ATTR2_DONT_BLOCK_MANA_REGEN => 'Ne pas bloquer la régénération du mana', + SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE => 'Pas d\'immunités aux écoles de magie', + SPELL_ATTR2_IGNORE_WEAPONSKILL => 'Ignorer la compétence d\'arme', + SPELL_ATTR2_NOT_AN_ACTION => 'Pas une action', + SPELL_ATTR2_CANT_CRIT => 'Ne peut être critique', + SPELL_ATTR2_ACTIVE_THREAT => 'Menace active', + SPELL_ATTR2_FOOD_BUFF => 'Buff Nourriture/Boisson' + ), + 'attributes3' => array( + SPELL_ATTR3_PVP_ENABLING => 'Activation du JcJ', + SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK => 'Pas de prérequis à l\'équipement de déclencheur', + SPELL_ATTR3_NO_CASTING_BAR_TEXT => 'Pas de texte sur la barre d\'incantation', + SPELL_ATTR3_COMPLETELY_BLOCKED => 'Complètement bloqué', + SPELL_ATTR3_IGNORE_RESURRECTION_TIMER => 'Pas de compte-à-rebours de rés', + SPELL_ATTR3_NO_DURABILTIY_LOSS => 'Pas de perte de durabilité', + SPELL_ATTR3_NO_AVOIDANCE => 'Pas d\'évitement', + SPELL_ATTR3_STACK_FOR_DIFF_CASTERS => 'Règle de cumul des dégâts sur la durée', + SPELL_ATTR3_ONLY_TARGET_PLAYERS => 'Ne peut cibler que le joueur', + SPELL_ATTR3_NOT_A_PROC => 'Pas un déclenchement', + SPELL_ATTR3_MAIN_HAND => 'Requiert une arme en main droite', + SPELL_ATTR3_BATTLEGROUND => 'Ne peut être utilisé que dans un champ de bataille', + SPELL_ATTR3_ONLY_TARGET_GHOSTS => 'Seulement sur les fantômes', + SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR => 'Masquer la barre de canalisation', + SPELL_ATTR3_IS_HONORLESS_TARGET => '[Is Honorless Target]', + SPELL_ATTR3_NORMAL_RANGED_ATTACK => 'Attaque à distance normale', + SPELL_ATTR3_CANT_TRIGGER_PROC => 'Supprimer les déclenchements du lanceur', + SPELL_ATTR3_NO_INITIAL_AGGRO => 'N\'engage pas la cible', + SPELL_ATTR3_IGNORE_HIT_RESULT => 'Ne peut rater', + SPELL_ATTR3_DISABLE_PROC => '[Disable Proc]', + SPELL_ATTR3_DEATH_PERSISTENT => 'Persiste après la mort', + SPELL_ATTR3_ONLY_PROC_OUTDOORS => 'Ne se déclenche qu\'en extérieur', + SPELL_ATTR3_REQ_WAND => 'Requiert une baguette', + SPELL_ATTR3_NO_DAMAGE_HISTORY => 'Pas d\'historique des dégâts', + SPELL_ATTR3_REQ_OFFHAND => 'Requiert une arme en main gauche', + SPELL_ATTR3_TREAT_AS_PERIODIC => 'Traiter comme périodique', + SPELL_ATTR3_CAN_PROC_FROM_PROCS => 'Peut être déclenché par des déclenchements', + SPELL_ATTR3_DRAIN_SOUL => 'Ne se déclenche que sur le lanceur', + SPELL_ATTR3_IGNORE_CASTER_AND_TARGET_RESTRICTIONS => '[Ignore Caster and Target restictions]', + SPELL_ATTR3_NO_DONE_BONUS => 'Ignorer les modificateurs du lanceur', + SPELL_ATTR3_DONT_DISPLAY_RANGE => 'Ne pas afficher la portée', + SPELL_ATTR3_NOT_ON_AOE_IMMUNE => 'Pas dans l\'immunité aux AoE' + ), + 'attributes4' => array( + SPELL_ATTR4_IGNORE_RESISTANCES => 'Pas de journalisation de lancement', + SPELL_ATTR4_PROC_ONLY_ON_CASTER => 'Déclencheur de classe sur cible uniquement', + SPELL_ATTR4_FADES_WHILE_LOGGED_OUT => 'Continue après la déconnexion', + SPELL_ATTR4_NO_HELPFUL_THREAT => 'Pas de menace défensive', + SPELL_ATTR4_NO_HARMFUL_THREAT => 'Pas de menace offensive', + SPELL_ATTR4_ALLOW_CLIENT_TARGETING => 'Autoriser le ciblage des clients', + SPELL_ATTR4_NOT_STEALABLE => 'Ne peut faire l\'objet d\'un Vol de sort', + SPELL_ATTR4_CAN_CAST_WHILE_CASTING => 'Autoriser l\'utilisation pendant l\'incantation', + SPELL_ATTR4_FIXED_DAMAGE => 'Ignorer les modificateurs de dégâts subis', + SPELL_ATTR4_TRIGGER_ACTIVATE => '[Combat Feedback When Usable]', + SPELL_ATTR4_SPELL_VS_EXTEND_COST => 'Échelonnement du coût de vitesse de l\'arme', + SPELL_ATTR4_NO_PARTIAL_IMMUNITY => 'Pas d\'immunité partielle', + SPELL_ATTR4_AURA_IS_BUFF => 'L\'aura est un effet positif', + SPELL_ATTR4_DO_NOT_LOG_CASTER => 'Ne pas journaliser le lanceur', + SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS => 'Déclenchement de dégâts réactif', + SPELL_ATTR4_NOT_IN_SPELLBOOK => 'Pas dans le livre de sorts', + SPELL_ATTR4_NOT_USABLE_IN_ARENA => 'Ne peut être utilisé en arène', + SPELL_ATTR4_USABLE_IN_ARENA => 'Utilisable en arène', + SPELL_ATTR4_AREA_TARGET_CHAIN => 'Chaînes de missiles rebondissantes', + SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING => 'Autoriser le déclenchement lorsqu\'assis', + SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER => 'L\'aura ne rebondit jamais', + SPELL_ATTR4_DONT_REMOVE_IN_ARENA => 'Autoriser l\'entrée dans l\'arène', + SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM => 'Le déclenchement annule l\'animation de frappe', + SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS => 'Supprimer les déclenchements de l\'arme', + SPELL_ATTR4_AUTO_RANGED_COMBAT => 'Combat à distance auto', + SPELL_ATTR4_IS_PET_SCALING => 'Échelonné avec la puissance du propriétaire', + SPELL_ATTR4_CAST_ONLY_IN_OUTLAND => '[Flying areas only]', + SPELL_ATTR4_FORCE_DISPLAY_CASTBAR => 'Forcer l\'affichage de la barre d\'incantation', + SPELL_ATTR4_IGNORE_COMBAT_TIMER => 'Ignorer le compte-à-rebours de combat', + SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL => 'Le rebond de l\'aura fait échouer le sort', + SPELL_ATTR4_OBSOLETE => '', + SPELL_ATTR4_USE_FACING_FROM_SPELL => 'Utiliser le sort d\'en face' + ), + 'attributes5' => array( + SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING => 'Autoriser les actions pendant la canalisation', + SPELL_ATTR5_NO_REAGENT_WHILE_PREP => 'Pas de coût en matériaux avec l\'aura', + SPELL_ATTR5_REMOVE_ON_ARENA_ENTER => 'Retirer à l\'entrée dans l\'arène', + SPELL_ATTR5_USABLE_WHILE_STUNNED => 'Utilisable quand assommé', + SPELL_ATTR5_TRIGGERS_CHANNELING => 'Déclenche la canalisation', + SPELL_ATTR5_SINGLE_TARGET_SPELL => 'Cette aura n\'affecte qu\'une seule cible', + SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK => 'Ignorer la vérification JcJ de la zone d\'effet', + SPELL_ATTR5_NOT_ON_PLAYER => 'Pas sur le joueur', + SPELL_ATTR5_CANT_TARGET_PLAYER_CONTROLLED => 'Pas sur le PNJ contrôlé par le joueur', + SPELL_ATTR5_START_PERIODIC_AT_APPLY => 'Commence les tics à l\'application de l\'aura', + SPELL_ATTR5_HIDE_DURATION => 'Ne pas afficher la durée', + SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET => 'Ciblage impliqué', + SPELL_ATTR5_MELEE_CHAIN_TARGETING => 'Ciblage en chaîne en mêlée', + SPELL_ATTR5_HASTE_AFFECT_DURATION => 'La hâte des sorts affecte les effets périodiques', + SPELL_ATTR5_NOT_USABLE_WHILE_CHARMED => 'Indisponible quand charmé', + SPELL_ATTR5_TREAT_AS_AREA_EFFECT => 'Traiter comme un effet de zone', + SPELL_ATTR5_AURA_AFFECTS_NOT_JUST_REQ_EQUIPPED_ITEM => 'L\'aura n\'affecte pas que l\'objet équipé req.', + SPELL_ATTR5_USABLE_WHILE_FEARED => 'Utilisable sous l\'effet de peur', + SPELL_ATTR5_USABLE_WHILE_CONFUSED => 'Utilisable quand confus', + SPELL_ATTR5_DONT_TURN_DURING_CAST => 'L\'IA ne fait pas face à la cible', + SPELL_ATTR5_DO_NOT_ATTEMPT_A_PET_RESUMMON_WHEN_DISMOUNTING => 'Ne pas tenter de réinvoquer la mascotte quand ôté de la monture', + SPELL_ATTR5_IGNORE_TARGET_REQUIREMENTS => 'Ignorer les prérequis de la cible', + SPELL_ATTR5_NOT_ON_TRIVIAL => 'Pas sur les ennemis triviaux', + SPELL_ATTR5_NO_PARTIAL_RESISTS => 'Pas de résistances partielles', + SPELL_ATTR5_IGNORE_CASTER_REQUIREMENTS => 'Ignorer les prérequis du lanceur', + SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT => 'Toujours en ligne de vue', + SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK => 'Toujours AoE sur ligne de vue', + SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST => 'Pas d\'icône d\'aura de lanceur', + SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST => 'Pas d\'icône d\'aura de cible', + SPELL_ATTR5_AURA_UNIQUE_PER_CASTER => 'L\'aura est unique par lanceur', + SPELL_ATTR5_ALWAYS_SHOW_GROUND_TEXTURE => 'Toujours afficher les textures de sol', + SPELL_ATTR5_ADD_MELEE_HIT_RATING => 'Ajout au score de toucher en mêlée' + ), + 'attributes6' => array( + SPELL_ATTR6_DONT_DISPLAY_COOLDOWN => 'Pas de temps de recharge dans l\'infobulle', + SPELL_ATTR6_ONLY_IN_ARENA => 'Utilisable uniquement en arène', + SPELL_ATTR6_IGNORE_CASTER_AURAS => '[Ignore Caster Auras]', + SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG => 'Peut assister un PJ immunisé', + SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE => 'Ignorer le taux de temps For Mod', + SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES => 'Ne pas consommer de ressources', + SPELL_ATTR6_USE_SPELL_CAST_EVENT => '[Send spell cast event]', + SPELL_ATTR6_AURA_IS_WEAPON_PROC => 'L\'aura est un déclenchement d\'arme', + SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED => 'Ne pas enchaîner sur des cibles sous l\'effet d\'un sort de contrôle des foules', + SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS => 'Autoriser sur les cibles charmées', + SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS => 'Pas de journalisation d\'aura', + SPELL_ATTR6_NOT_IN_RAID_INSTANCE => 'Ne peut être utilisé en raid', + SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE => 'Autoriser dans un véhicule', + SPELL_ATTR6_CAN_TARGET_INVISIBLE => 'Ignorer le changement de phase', + SPELL_ATTR6_AI_PRIMARY_RANGED_ATTACK => 'Attaque à distance principale de l\'IA', + SPELL_ATTR6_NO_PUSHBACK => 'Pas de retard', + SPELL_ATTR6_NO_JUMP_PATHING => 'Pas de saut dans le cheminement', + SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING => 'Autoriser l\'équipement pendant l\'incantation', + SPELL_ATTR6_CAST_BY_CHARMER => 'Provient d\'un contrôleur', + SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST => 'Retarde le compte-à-rebours du combat pendant le lancement', + SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER => 'Icône de l\'aura uniquement pour le lanceur (limite 10)', + SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS => '', + SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE => 'L\'absorption ne peut être ignorée', + SPELL_ATTR6_TAPS_IMMEDIATELY => 'Consume immédiatement', + SPELL_ATTR6_CAN_TARGET_UNTARGETABLE => 'Peut cibles des éléments impossibles à cibler', + SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT => 'Ne réinitialise pas le compte à rebours de frappe si instantané', + SPELL_ATTR6_VEHICLE_IMMUNITY_CATEGORY => 'Catégorie d\'immunité du véhicule', + SPELL_ATTR6_LIMIT_PCT_HEALING_MODS => 'Ignorer les modificateurs de soin', + SPELL_ATTR6_DO_NOT_AUTO_SELECT_TARGET_WITH_INITIATES_COMBAT => 'Ne pas sélectionner automatiquement la cible au début du combat', + SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS => 'Ignorer les modificateurs de dégâts du lanceur', + SPELL_ATTR6_DISABLE_TIED_EFFECT_POINTS => 'Désactive les points d\'effet liés', + SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS => 'Pas de modificateurs de temps de recharge de catégorie' + ), + 'attributes7' => array( + SPELL_ATTR7_ALLOW_SPELL_REFLECTION => '', + SPELL_ATTR7_IGNORE_DURATION_MODS => 'Pas de mod de durée de cible', + SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD => 'Aura de paladin', + SPELL_ATTR7_IS_CHEAT_SPELL => 'Sort de débogage', + SPELL_ATTR7_TREAT_AS_RAID_BUFF => 'Traiter comme un bonus de raid', + SPELL_ATTR7_SUMMON_PLAYER_TOTEM => 'Totem', + SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE => 'Ne pas causer de retard de lancement de sort', + SPELL_ATTR7_PREPARE_FOR_VEHICLE_CONTROL_END => 'Se préparer à la fin du contrôle du véhicule', + SPELL_ATTR7_HORDE_ONLY => 'Sort spécifique à la Horde', + SPELL_ATTR7_ALLIANCE_ONLY => 'Sort spécifique à l\'Alliance', + SPELL_ATTR7_DISPEL_CHARGES => 'La dissipation retire des charges', + SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER => 'Peut interrompre', + SPELL_ATTR7_CAN_CAUSE_SILENCE => 'Peut réduire au silence', + SPELL_ATTR7_NO_UI_NOT_INTERRUPTIBLE => 'Pas d\'interface pas interruptible', + SPELL_ATTR7_RECAST_ON_RESUMMON => 'Relancer à la réinvocation', + SPELL_ATTR7_RESET_SWING_TIMER_AT_SPELL_START => 'Réinitialiser le compte-à-rebours de frappe au début du sort', + SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER => '[Can Restore Inactive Power]', + SPELL_ATTR7_DO_NOT_LOG_PVP_KILL => 'Ne pas journaliser la mort en JcJ', + SPELL_ATTR7_HAS_CHARGE_EFFECT => 'Attaque lors d\'une charge sur l\'unité', + SPELL_ATTR7_ZONE_TELEPORT => 'Signaler l\'échec du sort à la cible de l\'unité', + SPELL_ATTR7_NO_CLIENT_FAIL_WHILE_STUNNED_FLEEING_CONFUSED => 'Pas d\'échec du client si assommé, en fuite ou confus', + SPELL_ATTR7_RETAIN_COOLDOWN_THROUGH_LOAD => 'Conserver le temps de recharge pendant le chargement', + SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING => 'Ignorer le prérequis de vol par temps froid', + SPELL_ATTR7_CANT_DODGE => 'Pas d\'esquive d\'attaque', + SPELL_ATTR7_CANT_PARRY => 'Pas de parade d\'attaque', + SPELL_ATTR7_CANT_MISS => 'Pas d\'échec d\'attaque', + SPELL_ATTR7_TREAT_AS_NPC_AOE => 'Traiter comme une AoE de PNJ', + SPELL_ATTR7_BYPASS_NO_RESURRECT_AURA => 'Outrepasse l\'aura anti-résurrection', + SPELL_ATTR7_CONSOLIDATED_RAID_BUFF => '[Consolidate in raid buff frame]', + SPELL_ATTR7_REFLECTION_ONLY_DEFENDS => 'Reflet défend seulement', + SPELL_ATTR7_CAN_PROC_FROM_SUPPRESSED_TARGET_PROCS => 'Peut être déclenché par des déclenchements de cible incapacitée', + SPELL_ATTR7_CLIENT_INDICATOR => 'Toujours journaliser l\'utilisation' ) ), 'item' => array( diff --git a/localization/locale_ruru.php b/localization/locale_ruru.php index edf3e72a..79dad67e 100644 --- a/localization/locale_ruru.php +++ b/localization/locale_ruru.php @@ -1649,65 +1649,6 @@ $lang = array( ), 'stealthType' => ["GENERAL", "TRAP"], 'invisibilityType' => ["General", "UNK-1", "UNK-2", "Trap", "UNK-4", "UNK-5", "Drunk", "UNK-7", "UNK-8", "UNK-9", "UNK-10", "UNK-11"], - 'attributes' => array( // index defined by filters - 69 => "Все пагубные эффекты заклинаний", - 57 => "Эффект не может быть отменен", - 51 => "Эффект скрыт", - 95 => "Исцеление бинтами", - 61 => "Может быть использовано, пока вы мертвы", - 62 => "Начинает восстановление после спадения эффекта", - 64 => "Может быть использовано сидя", - 53 => "Может быть использовано только в дневное время", - 54 => "Может быть использовано только ночью", - 55 => "Можно использовать только в помещении", - 56 => "Может быть использовано только снаружи", - 79 => "Целью может быть только игрок", - 60 => "Невозможно уклониться, парировать или блокировать", - 67 => "Не может быть отражено", - 91 => "Не может быть использовано в рейде", - 33 => "Может использоваться в бою", - 34 => "Шанс ударить критически", - 35 => "Шанс промахнуться", - 27 => "Потоковое", - 66 => "Потоковое 2", - 85 => "Продолжается после выхода из игрового мира", - 84 => "Не появляется в логе", - 68 => "Не прерывает режим скрытности", - 81 => "Цель не вступает в бой", - 77 => "Не приводит к смене формы", - // 46 => "Игнорирует иммунитет", - 47 => "Игнорирует иммунитет к школе заклинаний", - 78 => "Бонус от еды/питья", - 71 => "Не создает угрозы", - 52 => "Следующая атака (НИП)", - 49 => "Следующая атака (игрок)", - 90 => "Используется только на арене", - 92 => "Аура Паладина", - 50 => "Пассивная способность", - 36 => "Сохраняется после смерти", - 72 => "Заклинание кражи", - 73 => "Снять эффект при иммунитете", - 48 => "Необходимо оружие дальнего боя", - 82 => "Требует жезл", - 83 => "Необходимо оружие для левой руки", - 74 => "Требуется удочка", - 41 => "Требует Метаморфозу", - 80 => "Необходимо оружие для правой руки", - 38 => "Требует Незаметность", - 75 => "Требует цель вне боя", - 58 => "Урон заклинания зависит от уровня произносящего", - 39 => "Можно применить Чарокрад", - 63 => "Начинает восстановление после спадения эффекта", - 87 => "Эффект начинается вместе с применением", - 59 => "Прекращает автоатаку", - // 76 => "Цель должна быть вашей вещью", - 70 => "Цель не может находиться в бою", - 93 => "Тотем", - 42 => "Может быть использовано во время оглушения", - 88 => "Используемо в замешательстве", - 89 => "usablefearedМожет быть использовано, пока наложен Страх", - 65 => "Использует ресурс полностью" - ), 'summonControl' => ['[Uncontrolled]', "Стражи", "Питомец", "Подчинённый", '[Possessed Vehicle]', '[Uncontrolled Vehicle]'], 'summonSlot' => ["Питомец", "Тотем огня", "Тотем земли", "Тотем воды", "Тотем воздуха", "Спутник", "Задание"], 'unkEffect' => 'Unknown Effect (%1$d)', @@ -1807,6 +1748,278 @@ $lang = array( 'Mod Minimum Speed %', null, 'Heal Absorb Test', 'Mod Critical Strike Chance for Caster',null, 'Mod Pet AoE Damage Avoidance', null, null, null, 'Prevent Ressurection', /* -316*/ 'Underwater Walking', 'Periodic Haste' + ), + 'attributes0' => array( + SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE => 'Proc Failure Burns Charge', + SPELL_ATTR0_REQ_AMMO => 'Необходимо оружие дальнего боя', + SPELL_ATTR0_ON_NEXT_SWING => 'Следующая атака (игрок)', + SPELL_ATTR0_IS_REPLENISHMENT => 'Do Not Log Immune Misses', + SPELL_ATTR0_ABILITY => 'способность', + SPELL_ATTR0_TRADESPELL => 'Ремесленный рецепт', + SPELL_ATTR0_PASSIVE => 'Пассивная способность', + SPELL_ATTR0_HIDDEN_CLIENTSIDE => 'Аура скрыта', + SPELL_ATTR0_HIDE_IN_COMBAT_LOG => 'Не появляется в логе', + SPELL_ATTR0_TARGET_MAINHAND_ITEM => 'Held Item Only', + SPELL_ATTR0_ON_NEXT_SWING_2 => 'Следующая атака (НИП)', + SPELL_ATTR0_WEARER_CASTS_PROC_TRIGGER => 'Wearer Casts Proc Trigger', + SPELL_ATTR0_DAYTIME_ONLY => 'Может быть использовано только в дневное время', + SPELL_ATTR0_NIGHT_ONLY => 'Может быть использовано только ночью', + SPELL_ATTR0_INDOORS_ONLY => 'Можно использовать только в помещении', + SPELL_ATTR0_OUTDOORS_ONLY => 'Может быть использовано только снаружи', + SPELL_ATTR0_NOT_SHAPESHIFT => 'Не может быть использовано в облике друида', + SPELL_ATTR0_ONLY_STEALTHED => 'Должен быть в режиме скрытности', + SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE => 'Do Not Sheath', + SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION => 'Урон, наносимый способностью, зависит от уровня заклинателя', + SPELL_ATTR0_STOP_ATTACK_TARGET => 'Прекращает автоатаку', + SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK => 'Невозможно уклониться, парировать или блокировать', + SPELL_ATTR0_CAST_TRACK_TARGET => 'Track Target in Cast (Player Only)', + SPELL_ATTR0_CASTABLE_WHILE_DEAD => 'Может быть использовано, пока вы мертвы', + SPELL_ATTR0_CASTABLE_WHILE_MOUNTED => 'Может быть использовано при езде верхом', + SPELL_ATTR0_DISABLED_WHILE_ACTIVE => 'Начинает восстановление после спадения эффекта', + SPELL_ATTR0_NEGATIVE_1 => 'Aura is Debuff', + SPELL_ATTR0_CASTABLE_WHILE_SITTING => 'Может быть использовано сидя', + SPELL_ATTR0_CANT_USED_IN_COMBAT => 'Не может быть использовано в бою', + SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY => 'Не зависит от неуязвимости', + SPELL_ATTR0_HEARTBEAT_RESIST_CHECK => 'Heartbeat Resist', + SPELL_ATTR0_CANT_CANCEL => 'Эффект не может быть отменен' + ), + 'attributes1' => array( + SPELL_ATTR1_DISMISS_PET => 'Сперва отпустить питомца', + SPELL_ATTR1_DRAIN_ALL_POWER => 'Использует ресурс полностью', + SPELL_ATTR1_CHANNELED_1 => 'Потоковое 1', + SPELL_ATTR1_CANT_BE_REDIRECTED => 'Cannot be redirected', + SPELL_ATTR1_NO_SKILL_INCREASE => 'No Skill Increase', + SPELL_ATTR1_NOT_BREAK_STEALTH => 'Не прерывает режим скрытности', + SPELL_ATTR1_CHANNELED_2 => 'Потоковое 2', + SPELL_ATTR1_CANT_BE_REFLECTED => 'Не может быть отражено', + SPELL_ATTR1_CANT_TARGET_IN_COMBAT => 'Цель не может находиться в бою', + SPELL_ATTR1_MELEE_COMBAT_START => 'Initiates Combat (Enabled Auto-Attack)', + SPELL_ATTR1_NO_THREAT => 'Не создает угрозы', + SPELL_ATTR1_DONT_REFRESH_DURATION_ON_RECAST => 'Aura Unique', + SPELL_ATTR1_IS_PICKPOCKET => 'Заклинание кражи', + SPELL_ATTR1_FARSIGHT => 'Вкл «дальнее зрение»', + SPELL_ATTR1_CHANNEL_TRACK_TARGET => 'Track Target in Channel', + SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY => 'Снять эффект при иммунитете', + SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE => 'Не действует иммунитет от школы магии', + SPELL_ATTR1_UNAUTOCASTABLE_BY_PET => 'No AutoCast (AI)', + SPELL_ATTR1_PREVENTS_ANIM => 'Prevents Anim', + SPELL_ATTR1_CANT_TARGET_SELF => 'Исключить заклинателя', + SPELL_ATTR1_FINISHING_MOVE_DAMAGE => 'Требует наличия очков комбо на цели (Урон)', + SPELL_ATTR1_THREAT_ONLY_ON_MISS => 'Threat only on Miss', + SPELL_ATTR1_FINISHING_MOVE_DURATION => 'Требует наличия очков комбо на цели (Длительность)', + SPELL_ATTR1_IGNORE_OWNERS_DEATH => 'Ignore Owner\'s Death', + SPELL_ATTR1_IS_FISHING => 'Требуется удочка', + SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT => 'Aura Stays After Combat', + SPELL_ATTR1_REQUIRE_ALL_TARGETS => 'Require All Targets', + SPELL_ATTR1_DISCOUNT_POWER_ON_MISS => 'Discount Power On Miss', + SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR => 'Эффект скрыт', + SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME => 'Name in Channel Bar', + SPELL_ATTR1_ENABLE_AT_DODGE => 'Combo on Dodge', + SPELL_ATTR1_CAST_WHEN_LEARNED => 'Cast When Learned' + ), + 'attributes2' => array( + SPELL_ATTR2_CAN_TARGET_DEAD => 'Allow Dead Target', + SPELL_ATTR2_NO_SHAPESHIFT_UI => 'No shapeshift UI', + SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS => 'Ignore Line of Sight', + SPELL_ATTR2_ALLOW_LOW_LEVEL_BUFF => 'Allow Low Level Buff', + SPELL_ATTR2_DISPLAY_IN_STANCE_BAR => 'Use Shapeshift Bar', + SPELL_ATTR2_AUTOREPEAT_FLAG => 'Автоповтор', + SPELL_ATTR2_CANT_TARGET_TAPPED => 'Требует цель вне боя', + SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE => 'Do Not Report Spell Failure', + SPELL_ATTR2_INCLUDE_IN_ADVANCED_COMBAT_LOG => '', + SPELL_ATTR2_ALWAYS_CAST_AS_UNIT => 'Always Cast As Unit', + SPELL_ATTR2_SPECIAL_TAMING_FLAG => 'Special Taming Flag', + SPELL_ATTR2_HEALTH_FUNNEL => 'No Target Per-Second Costs', + SPELL_ATTR2_CHAIN_FROM_CASTER => 'Chain From Caster', + SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA => 'В роли цели должен выступать ваш предмет', + SPELL_ATTR2_ALLOW_WHILE_INVISIBLE => 'Allow While Invisible', + SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST => 'Do Not Consume if Gained During Cast', + SPELL_ATTR2_TAME_BEAST => 'No Active Pets', + SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS => 'Do Not Reset Combat Timers', + SPELL_ATTR2_REQ_DEAD_PET => 'Requires Dead Pet', + SPELL_ATTR2_NOT_NEED_SHAPESHIFT => 'Не приводит к смене формы', + SPELL_ATTR2_INITIATE_COMBAT_POST_CAST_ENABLES_AUTO_ATTACK => 'Initiate Combat Post-Cast (Enables Auto-Attack)', + SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE => 'Fail on all targets immune', + SPELL_ATTR2_NO_INITIAL_THREAT => 'No initial Threat', + SPELL_ATTR2_IS_ARCANE_CONCENTRATION => 'Proc Cooldown On Failure', + SPELL_ATTR2_ITEM_CAST_WITH_OWNER_SKILL => 'Item Cast With Owner Skill', + SPELL_ATTR2_DONT_BLOCK_MANA_REGEN => 'Don\'t Block Mana Regen', + SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE => 'No School immunities', + SPELL_ATTR2_IGNORE_WEAPONSKILL => 'Ignore Weaponskill', + SPELL_ATTR2_NOT_AN_ACTION => 'Not an Action', + SPELL_ATTR2_CANT_CRIT => 'Не может критовать', + SPELL_ATTR2_ACTIVE_THREAT => 'Активная угроза', + SPELL_ATTR2_FOOD_BUFF => 'Бонус от еды/питья' + ), + 'attributes3' => array( + SPELL_ATTR3_PVP_ENABLING => 'PvP Enabling', + SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK => 'No Proc Equip Requirement', + SPELL_ATTR3_NO_CASTING_BAR_TEXT => 'No Casting Bar Text', + SPELL_ATTR3_COMPLETELY_BLOCKED => 'Полностью блокировано', + SPELL_ATTR3_IGNORE_RESURRECTION_TIMER => 'No Res Timer', + SPELL_ATTR3_NO_DURABILTIY_LOSS => 'No Durability Loss', + SPELL_ATTR3_NO_AVOIDANCE => 'No Avoidance', + SPELL_ATTR3_STACK_FOR_DIFF_CASTERS => 'DoT Stacking Rule', + SPELL_ATTR3_ONLY_TARGET_PLAYERS => 'Целью может быть только игрок', + SPELL_ATTR3_NOT_A_PROC => 'Not a Proc', + SPELL_ATTR3_MAIN_HAND => 'Необходимо оружие для правой руки', + SPELL_ATTR3_BATTLEGROUND => 'Может быть использовано только на поле боя', + SPELL_ATTR3_ONLY_TARGET_GHOSTS => 'Only On Ghosts', + SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR => 'Hide Channel Bar', + SPELL_ATTR3_IS_HONORLESS_TARGET => 'Is Honorless Target', + SPELL_ATTR3_NORMAL_RANGED_ATTACK => 'Normal Ranged Attack', + SPELL_ATTR3_CANT_TRIGGER_PROC => 'Suppress Caster Procs', + SPELL_ATTR3_NO_INITIAL_AGGRO => 'Цель не вступает в бой', + SPELL_ATTR3_IGNORE_HIT_RESULT => 'Невозможно промахнуться', + SPELL_ATTR3_DISABLE_PROC => 'Disable Proc', + SPELL_ATTR3_DEATH_PERSISTENT => 'Не исчезает после смерти', + SPELL_ATTR3_ONLY_PROC_OUTDOORS => 'Only Proc Outdoors', + SPELL_ATTR3_REQ_WAND => 'Требует жезл', + SPELL_ATTR3_NO_DAMAGE_HISTORY => 'No Damage History', + SPELL_ATTR3_REQ_OFFHAND => 'обходимо оружие для левой руки', + SPELL_ATTR3_TREAT_AS_PERIODIC => 'Treat As Periodic', + SPELL_ATTR3_CAN_PROC_FROM_PROCS => 'Can Proc From Procs', + SPELL_ATTR3_DRAIN_SOUL => 'Only Proc on Caster', + SPELL_ATTR3_IGNORE_CASTER_AND_TARGET_RESTRICTIONS => 'Ignore Caster and Target restrictions', + SPELL_ATTR3_NO_DONE_BONUS => 'Ignore Caster Modifiers', + SPELL_ATTR3_DONT_DISPLAY_RANGE => 'Не отображать дальность', + SPELL_ATTR3_NOT_ON_AOE_IMMUNE => 'Not on AOE Immune' + ), + 'attributes4' => array( + SPELL_ATTR4_IGNORE_RESISTANCES => 'No Cast Log', + SPELL_ATTR4_PROC_ONLY_ON_CASTER => 'Class Trigger Only On Target', + SPELL_ATTR4_FADES_WHILE_LOGGED_OUT => 'Продолжается после выхода из игрового мира', + SPELL_ATTR4_NO_HELPFUL_THREAT => 'No Helpful Threat', + SPELL_ATTR4_NO_HARMFUL_THREAT => 'No Harmful Threat', + SPELL_ATTR4_ALLOW_CLIENT_TARGETING => 'Allow Client Targeting', + SPELL_ATTR4_NOT_STEALABLE => 'Нельзя применить Чарокрад', + SPELL_ATTR4_CAN_CAST_WHILE_CASTING => 'Allow Cast While Casting', + SPELL_ATTR4_FIXED_DAMAGE => 'Ignore Damage Taken Modifiers', + SPELL_ATTR4_TRIGGER_ACTIVATE => 'Combat Feedback When Usable', + SPELL_ATTR4_SPELL_VS_EXTEND_COST => 'Weapon Speed Cost Scaling', + SPELL_ATTR4_NO_PARTIAL_IMMUNITY => 'No Partial Immunity', + SPELL_ATTR4_AURA_IS_BUFF => 'Aura Is Buff', + SPELL_ATTR4_DO_NOT_LOG_CASTER => 'Do Not Log Caster', + SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS => 'Reactive Damage Proc', + SPELL_ATTR4_NOT_IN_SPELLBOOK => 'Not In Spellbook', + SPELL_ATTR4_NOT_USABLE_IN_ARENA => 'Не может быть использовано на арене', + SPELL_ATTR4_USABLE_IN_ARENA => 'Может быть использовано на арене', + SPELL_ATTR4_AREA_TARGET_CHAIN => 'Bouncy Chain Missiles', + SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING => 'Allow Proc While Sitting', + SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER => 'Aura Never Bounces', + SPELL_ATTR4_DONT_REMOVE_IN_ARENA => 'Allow Entering Arena', + SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM => 'Proc Suppress Swing Anim', + SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS => 'Suppress Weapon Procs', + SPELL_ATTR4_AUTO_RANGED_COMBAT => 'Auto Ranged Combat', + SPELL_ATTR4_IS_PET_SCALING => 'Owner Power Scaling', + SPELL_ATTR4_CAST_ONLY_IN_OUTLAND => 'Flying areas only', + SPELL_ATTR4_FORCE_DISPLAY_CASTBAR => 'Force Display Castbar', + SPELL_ATTR4_IGNORE_COMBAT_TIMER => 'Ignore Combat Timer', + SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL => 'Aura Bounce Fails Spell', + SPELL_ATTR4_OBSOLETE => '', + SPELL_ATTR4_USE_FACING_FROM_SPELL => 'Use Facing From Spell' + ), + 'attributes5' => array( + SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING => 'Allow Actions During Channel', + SPELL_ATTR5_NO_REAGENT_WHILE_PREP => 'No Reagent Cost With Aura', + SPELL_ATTR5_REMOVE_ON_ARENA_ENTER => 'Remove Entering Arena', + SPELL_ATTR5_USABLE_WHILE_STUNNED => 'Может быть использовано, пока оглушен', + SPELL_ATTR5_TRIGGERS_CHANNELING => 'Triggers Channeling', + SPELL_ATTR5_SINGLE_TARGET_SPELL => 'Этот эффект может воздействовать только на одну цель', + SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK => 'Ignore Area Effect PvP Check', + SPELL_ATTR5_NOT_ON_PLAYER => 'Not On Player', + SPELL_ATTR5_CANT_TARGET_PLAYER_CONTROLLED => 'Not On Player Controlled NPC', + SPELL_ATTR5_START_PERIODIC_AT_APPLY => 'Эффект начинается вместе с применением', + SPELL_ATTR5_HIDE_DURATION => 'Не отображать длительность', + SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET => 'Implied Targeting', + SPELL_ATTR5_MELEE_CHAIN_TARGETING => 'Melee Chain Targeting', + SPELL_ATTR5_HASTE_AFFECT_DURATION => 'Spell Haste Affects Periodic', + SPELL_ATTR5_NOT_USABLE_WHILE_CHARMED => 'Not Available While Charmed', + SPELL_ATTR5_TREAT_AS_AREA_EFFECT => 'Treat as Area Effect', + SPELL_ATTR5_AURA_AFFECTS_NOT_JUST_REQ_EQUIPPED_ITEM => 'Aura Affects Not Just Req. Equipped Item', + SPELL_ATTR5_USABLE_WHILE_FEARED => 'Может быть использовано, пока наложен Страх', + SPELL_ATTR5_USABLE_WHILE_CONFUSED => 'Используемо в замешательстве', + SPELL_ATTR5_DONT_TURN_DURING_CAST => 'AI Doesn\'t Face target', + SPELL_ATTR5_DO_NOT_ATTEMPT_A_PET_RESUMMON_WHEN_DISMOUNTING => 'Do Not Attempt a Pet Resummon When Dismounting', + SPELL_ATTR5_IGNORE_TARGET_REQUIREMENTS => 'Ignore Target Requirements', + SPELL_ATTR5_NOT_ON_TRIVIAL => 'Not On Trivial', + SPELL_ATTR5_NO_PARTIAL_RESISTS => 'No Partial Resists', + SPELL_ATTR5_IGNORE_CASTER_REQUIREMENTS => 'Ignore Caster Requirements', + SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT => 'Always Line of Sight', + SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK => 'Always AOE Line of Sight', + SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST => 'No Caster Aura Icon', + SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST => 'No Target Aura Icon', + SPELL_ATTR5_AURA_UNIQUE_PER_CASTER => 'Aura Unique Per Caster', + SPELL_ATTR5_ALWAYS_SHOW_GROUND_TEXTURE => 'Always Show Ground Texture', + SPELL_ATTR5_ADD_MELEE_HIT_RATING => 'Add Melee Hit Rating' + ), + 'attributes6' => array( + SPELL_ATTR6_DONT_DISPLAY_COOLDOWN => 'No Cooldown On Tooltip', + SPELL_ATTR6_ONLY_IN_ARENA => 'Используется только на арене', + SPELL_ATTR6_IGNORE_CASTER_AURAS => 'Ignore Caster Auras', + SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG => 'Can Assist Immune PC', + SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE => 'Ignore For Mod Time Rate', + SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES => 'Do Not Consume Resources', + SPELL_ATTR6_USE_SPELL_CAST_EVENT => 'Send spell cast event', + SPELL_ATTR6_AURA_IS_WEAPON_PROC => 'Aura Is Weapon Proc', + SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED => 'Do Not Chain To Crowd-Controlled Targets', + SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS => 'Allow On Charmed Targets', + SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS => 'No Aura Log', + SPELL_ATTR6_NOT_IN_RAID_INSTANCE => 'Не может быть использовано в рейде', + SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE => 'Allow While Riding Vehicle', + SPELL_ATTR6_CAN_TARGET_INVISIBLE => 'Ignore Phase Shift', + SPELL_ATTR6_AI_PRIMARY_RANGED_ATTACK => 'Основная атака дальнего боя AI', + SPELL_ATTR6_NO_PUSHBACK => 'No Pushback', + SPELL_ATTR6_NO_JUMP_PATHING => 'No Jump Pathing', + SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING => 'Allow Equip While Casting', + SPELL_ATTR6_CAST_BY_CHARMER => 'Originate From Controller', + SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST => 'Delay Combat Timer During Cast', + SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER => 'Aura Icon Only For Caster (Limit 10)', + SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS => '', + SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE => 'Absorb Cannot Be Ignore', + SPELL_ATTR6_TAPS_IMMEDIATELY => 'Taps immediately', + SPELL_ATTR6_CAN_TARGET_UNTARGETABLE => 'Can Target Untargetable', + SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT => 'Doesn\'t Reset Swing Timer if Instant', + SPELL_ATTR6_VEHICLE_IMMUNITY_CATEGORY => 'Vehicle Immunity Category', + SPELL_ATTR6_LIMIT_PCT_HEALING_MODS => 'Ignore Healing Modifiers', + SPELL_ATTR6_DO_NOT_AUTO_SELECT_TARGET_WITH_INITIATES_COMBAT => 'Do Not Auto Select Target with Initiates Combat', + SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS => 'Ignore Caster Damage Modifiers', + SPELL_ATTR6_DISABLE_TIED_EFFECT_POINTS => 'Disable Tied Effect Points', + SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS => 'No Category Cooldown Mods' + ), + 'attributes7' => array( + SPELL_ATTR7_ALLOW_SPELL_REFLECTION => '', + SPELL_ATTR7_IGNORE_DURATION_MODS => 'No Target Duration Mod', + SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD => 'Аура Паладина', + SPELL_ATTR7_IS_CHEAT_SPELL => 'Заклинание отладки', + SPELL_ATTR7_TREAT_AS_RAID_BUFF => 'Treat as Raid Buff', + SPELL_ATTR7_SUMMON_PLAYER_TOTEM => 'Тотем', + SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE => 'Don\'t Cause Spell Pushback', + SPELL_ATTR7_PREPARE_FOR_VEHICLE_CONTROL_END => 'Prepare for Vehicle Control End', + SPELL_ATTR7_HORDE_ONLY => 'Horde Specific Spell', + SPELL_ATTR7_ALLIANCE_ONLY => 'Alliance Specific Spell', + SPELL_ATTR7_DISPEL_CHARGES => 'Dispel Removes Charges', + SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER => 'Can Cause Interrupt', + SPELL_ATTR7_CAN_CAUSE_SILENCE => 'Can Cause Silence', + SPELL_ATTR7_NO_UI_NOT_INTERRUPTIBLE => 'No UI Not Interruptible', + SPELL_ATTR7_RECAST_ON_RESUMMON => 'Recast On Resummon', + SPELL_ATTR7_RESET_SWING_TIMER_AT_SPELL_START => 'Reset Swing Timer at spell start', + SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER => 'Can Restore Inactive Power', + SPELL_ATTR7_DO_NOT_LOG_PVP_KILL => 'Do Not Log PvP Kill', + SPELL_ATTR7_HAS_CHARGE_EFFECT => 'Attack on Charge to Unit', + SPELL_ATTR7_ZONE_TELEPORT => 'Report Spell failure to unit target', + SPELL_ATTR7_NO_CLIENT_FAIL_WHILE_STUNNED_FLEEING_CONFUSED => 'No Client Fail While Stunned, Fleeing, Confused', + SPELL_ATTR7_RETAIN_COOLDOWN_THROUGH_LOAD => 'Retain Cooldown Through Load', + SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING => 'Ignores Cold Weather Flying Requirement', + SPELL_ATTR7_CANT_DODGE => 'No Attack Dodge', + SPELL_ATTR7_CANT_PARRY => 'No Attack Parry', + SPELL_ATTR7_CANT_MISS => 'No Attack Miss', + SPELL_ATTR7_TREAT_AS_NPC_AOE => 'Treat as NPC AoE', + SPELL_ATTR7_BYPASS_NO_RESURRECT_AURA => 'Bypass No Resurrect Aura', + SPELL_ATTR7_CONSOLIDATED_RAID_BUFF => 'Consolidate in raid buff frame', + SPELL_ATTR7_REFLECTION_ONLY_DEFENDS => 'Reflection Only Defends', + SPELL_ATTR7_CAN_PROC_FROM_SUPPRESSED_TARGET_PROCS => 'Can Proc From Suppressed Target Procs', + SPELL_ATTR7_CLIENT_INDICATOR => 'Always Cast Log' ) ), 'item' => array( diff --git a/localization/locale_zhcn.php b/localization/locale_zhcn.php index 6f9c0509..e877b495 100644 --- a/localization/locale_zhcn.php +++ b/localization/locale_zhcn.php @@ -1649,65 +1649,6 @@ $lang = array( ), 'stealthType' => ["一般", "陷阱"], 'invisibilityType' => ["一般", "UNK-1", "UNK-2", "陷阱", "UNK-4", "UNK-5", "醉酒", "UNK-7", "UNK-8", "UNK-9", "UNK-10", "UNK-11"], - 'attributes' => array( // index defined by filters - 69 => "所有法术效果都是有害的", - 57 => "无法取消光环", - 51 => "隐藏光环", - 95 => "绷带法术", - 61 => "死亡后可用", - 62 => "骑乘时可用", - 64 => "坐下时可用", - 53 => "只可在白天使用", - 54 => "只可在夜间使用", - 55 => "只可在室内使用", - 56 => "只可在室外使用", - 79 => "只能瞄准玩家", - 60 => "无法躲避、招架或格挡", - 67 => "无法反射", - 91 => "团队副本中无法使用", - 33 => "可在战斗中施法", - 34 => "致命一击几率", - 35 => "未命中几率", - 27 => "引导", - 66 => "引导 2", - 85 => "退出登录后仍继续", - 84 => "不在日志中显示", - 68 => "不打破潜行", - 81 => "无目标接触", - 77 => "不需要形变", - // 46 => "忽略免疫", - 47 => "忽略类型免疫", - 78 => "食物/饮料增强", - 71 => "不产生威胁", - 52 => "再次攻击时生效(npc)", - 49 => "再次攻击时生效(玩家)", - 90 => "只可在竞技场中使用", - 92 => "圣骑士光环", - 50 => "被动技能", - 36 => "死亡后继续存在", - 72 => "偷窃法术", - 73 => "免疫时移除光效", - 48 => "需要远距离武器", - 82 => "需要魔杖", - 83 => "需要副手武器", - 74 => "需要钓鱼竿", - 41 => "需要变形", - 80 => "需要主手武器", - 38 => "需要潜行", - 75 => "需要未作用过的目标", - 58 => "法术伤害取决于施法者等级", - 39 => "可盗法", - 63 => "光效褪去后开始冷却", - 87 => "光环出现时开始计时", - 59 => "停止自动攻击", - // 76 => "目标必须为自有物品", - 70 => "目标不能处于战斗中", - 93 => "图腾", - 42 => "昏迷中可用", - 88 => "混乱时可用", - 89 => "恐惧时可用", - 65 => "消耗所有力量" - ), 'summonControl' => ['[Uncontrolled]', "守护者", "宠物", "被魅惑", '[Possessed Vehicle]', '[Uncontrolled Vehicle]'], 'summonSlot' => ["宠物", "火焰图腾", "大地图腾", "水图腾", "空气图腾", "非战斗宠物", "任务"], 'unkEffect' => '未知效果 (%1$d)', @@ -1807,6 +1748,278 @@ $lang = array( 'Mod Minimum Speed %', null, 'Heal Absorb Test', 'Mod Critical Strike Chance for Caster',null, 'Mod Pet AoE Damage Avoidance', null, null, null, 'Prevent Ressurection', /* -316*/ 'Underwater Walking', 'Periodic Haste' + ), + 'attributes0' => array( + SPELL_ATTR0_PROC_FAILURE_BURNS_CHARGE => 'Proc Failure Burns Charge', + SPELL_ATTR0_REQ_AMMO => '需要远距离武器', + SPELL_ATTR0_ON_NEXT_SWING => '再次攻击时生效(玩家)', + SPELL_ATTR0_IS_REPLENISHMENT => 'Do Not Log Immune Misses', + SPELL_ATTR0_ABILITY => 'Is Ability', + SPELL_ATTR0_TRADESPELL => 'Tradeskill recipe', + SPELL_ATTR0_PASSIVE => '被动技能', + SPELL_ATTR0_HIDDEN_CLIENTSIDE => 'Aura is hidden', + SPELL_ATTR0_HIDE_IN_COMBAT_LOG => '不在日志中显示', + SPELL_ATTR0_TARGET_MAINHAND_ITEM => 'Held Item Only', + SPELL_ATTR0_ON_NEXT_SWING_2 => '再次攻击时生效(npc)', + SPELL_ATTR0_WEARER_CASTS_PROC_TRIGGER => 'Wearer Casts Proc Trigger', + SPELL_ATTR0_DAYTIME_ONLY => '只可在白天使用', + SPELL_ATTR0_NIGHT_ONLY => '只可在夜间使用', + SPELL_ATTR0_INDOORS_ONLY => '只可在室内使用', + SPELL_ATTR0_OUTDOORS_ONLY => '只可在室外使用', + SPELL_ATTR0_NOT_SHAPESHIFT => '形变时无法使用', + SPELL_ATTR0_ONLY_STEALTHED => '必须在潜行状态中', + SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE => 'Do Not Sheath', + SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION => '法术伤害取决于施法者等级', + SPELL_ATTR0_STOP_ATTACK_TARGET => '停止自动攻击', + SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK => '无法躲避、招架或格挡', + SPELL_ATTR0_CAST_TRACK_TARGET => 'Track Target in Cast (Player Only)', + SPELL_ATTR0_CASTABLE_WHILE_DEAD => '死亡后可用', + SPELL_ATTR0_CASTABLE_WHILE_MOUNTED => '骑乘时可用', + SPELL_ATTR0_DISABLED_WHILE_ACTIVE => '光效褪去后开始冷却', + SPELL_ATTR0_NEGATIVE_1 => 'Aura is Debuff', + SPELL_ATTR0_CASTABLE_WHILE_SITTING => '坐下时可用', + SPELL_ATTR0_CANT_USED_IN_COMBAT => '无法在战斗中使用', + SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY => '不受无敌影响', + SPELL_ATTR0_HEARTBEAT_RESIST_CHECK => 'Heartbeat Resist', + SPELL_ATTR0_CANT_CANCEL => '无法取消光环' + ), + 'attributes1' => array( + SPELL_ATTR1_DISMISS_PET => 'Dismiss Pet First', + SPELL_ATTR1_DRAIN_ALL_POWER => '消耗所有力量', + SPELL_ATTR1_CHANNELED_1 => '引导 1', + SPELL_ATTR1_CANT_BE_REDIRECTED => 'Cannot be redirected', + SPELL_ATTR1_NO_SKILL_INCREASE => 'No Skill Increase', + SPELL_ATTR1_NOT_BREAK_STEALTH => '不打破潜行', + SPELL_ATTR1_CHANNELED_2 => '引导 2', + SPELL_ATTR1_CANT_BE_REFLECTED => '无法反射', + SPELL_ATTR1_CANT_TARGET_IN_COMBAT => '目标不能处于战斗中', + SPELL_ATTR1_MELEE_COMBAT_START => 'Initiates Combat (Enabled Auto-Attack)', + SPELL_ATTR1_NO_THREAT => '不产生威胁', + SPELL_ATTR1_DONT_REFRESH_DURATION_ON_RECAST => 'Aura Unique', + SPELL_ATTR1_IS_PICKPOCKET => '偷窃法术', + SPELL_ATTR1_FARSIGHT => 'Toggle Far Sight', + SPELL_ATTR1_CHANNEL_TRACK_TARGET => 'Track Target in Channel', + SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY => '免疫时移除光效', + SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE => '不受类型免疫影响', + SPELL_ATTR1_UNAUTOCASTABLE_BY_PET => 'No AutoCast (AI)', + SPELL_ATTR1_PREVENTS_ANIM => 'Prevents Anim', + SPELL_ATTR1_CANT_TARGET_SELF => 'Exclude Caster', + SPELL_ATTR1_FINISHING_MOVE_DAMAGE => 'Requires combo points on target (Damage)', + SPELL_ATTR1_THREAT_ONLY_ON_MISS => 'Threat only on Miss', + SPELL_ATTR1_FINISHING_MOVE_DURATION => 'Requires combo points on target (Duration)', + SPELL_ATTR1_IGNORE_OWNERS_DEATH => 'Ignore Owner\'s Death', + SPELL_ATTR1_IS_FISHING => '需要钓鱼竿', + SPELL_ATTR1_AURA_STAYS_AFTER_COMBAT => 'Aura Stays After Combat', + SPELL_ATTR1_REQUIRE_ALL_TARGETS => 'Require All Targets', + SPELL_ATTR1_DISCOUNT_POWER_ON_MISS => 'Discount Power On Miss', + SPELL_ATTR1_DONT_DISPLAY_IN_AURA_BAR => '隐藏光环', + SPELL_ATTR1_CHANNEL_DISPLAY_SPELL_NAME => 'Name in Channel Bar', + SPELL_ATTR1_ENABLE_AT_DODGE => 'Combo on Dodge', + SPELL_ATTR1_CAST_WHEN_LEARNED => 'Cast When Learned' + ), + 'attributes2' => array( + SPELL_ATTR2_CAN_TARGET_DEAD => 'Allow Dead Target', + SPELL_ATTR2_NO_SHAPESHIFT_UI => 'No shapeshift UI', + SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS => 'Ignore Line of Sight', + SPELL_ATTR2_ALLOW_LOW_LEVEL_BUFF => 'Allow Low Level Buff', + SPELL_ATTR2_DISPLAY_IN_STANCE_BAR => 'Use Shapeshift Bar', + SPELL_ATTR2_AUTOREPEAT_FLAG => 'Auto Repeat', + SPELL_ATTR2_CANT_TARGET_TAPPED => '需要未作用过的目标', + SPELL_ATTR2_DO_NOT_REPORT_SPELL_FAILURE => 'Do Not Report Spell Failure', + SPELL_ATTR2_INCLUDE_IN_ADVANCED_COMBAT_LOG => '', + SPELL_ATTR2_ALWAYS_CAST_AS_UNIT => 'Always Cast As Unit', + SPELL_ATTR2_SPECIAL_TAMING_FLAG => 'Special Taming Flag', + SPELL_ATTR2_HEALTH_FUNNEL => 'No Target Per-Second Costs', + SPELL_ATTR2_CHAIN_FROM_CASTER => 'Chain From Caster', + SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA => '目标必须为自有物品', + SPELL_ATTR2_ALLOW_WHILE_INVISIBLE => 'Allow While Invisible', + SPELL_ATTR2_DO_NOT_CONSUME_IF_GAINED_DURING_CAST => 'Do Not Consume if Gained During Cast', + SPELL_ATTR2_TAME_BEAST => 'No Active Pets', + SPELL_ATTR2_NOT_RESET_AUTO_ACTIONS => 'Do Not Reset Combat Timers', + SPELL_ATTR2_REQ_DEAD_PET => 'Requires Dead Pet', + SPELL_ATTR2_NOT_NEED_SHAPESHIFT => '不需要形变', + SPELL_ATTR2_INITIATE_COMBAT_POST_CAST_ENABLES_AUTO_ATTACK => 'Initiate Combat Post-Cast (Enables Auto-Attack)', + SPELL_ATTR2_FAIL_ON_ALL_TARGETS_IMMUNE => 'Fail on all targets immune', + SPELL_ATTR2_NO_INITIAL_THREAT => 'No initial Threat', + SPELL_ATTR2_IS_ARCANE_CONCENTRATION => 'Proc Cooldown On Failure', + SPELL_ATTR2_ITEM_CAST_WITH_OWNER_SKILL => 'Item Cast With Owner Skill', + SPELL_ATTR2_DONT_BLOCK_MANA_REGEN => 'Don\'t Block Mana Regen', + SPELL_ATTR2_UNAFFECTED_BY_AURA_SCHOOL_IMMUNE => 'No School immunities', + SPELL_ATTR2_IGNORE_WEAPONSKILL => 'Ignore Weaponskill', + SPELL_ATTR2_NOT_AN_ACTION => 'Not an Action', + SPELL_ATTR2_CANT_CRIT => '无法暴击', + SPELL_ATTR2_ACTIVE_THREAT => 'Active Threat', + SPELL_ATTR2_FOOD_BUFF => '食物/饮料增强' + ), + 'attributes3' => array( + SPELL_ATTR3_PVP_ENABLING => 'PvP Enabling', + SPELL_ATTR3_IGNORE_PROC_SUBCLASS_MASK => 'No Proc Equip Requirement', + SPELL_ATTR3_NO_CASTING_BAR_TEXT => 'No Casting Bar Text', + SPELL_ATTR3_COMPLETELY_BLOCKED => 'Completely Blocked', + SPELL_ATTR3_IGNORE_RESURRECTION_TIMER => 'No Res Timer', + SPELL_ATTR3_NO_DURABILTIY_LOSS => 'No Durability Loss', + SPELL_ATTR3_NO_AVOIDANCE => 'No Avoidance', + SPELL_ATTR3_STACK_FOR_DIFF_CASTERS => 'DoT Stacking Rule', + SPELL_ATTR3_ONLY_TARGET_PLAYERS => '只能瞄准玩家', + SPELL_ATTR3_NOT_A_PROC => 'Not a Proc', + SPELL_ATTR3_MAIN_HAND => '需要主手武器', + SPELL_ATTR3_BATTLEGROUND => 'Can only be used in a battleground', + SPELL_ATTR3_ONLY_TARGET_GHOSTS => 'Only On Ghosts', + SPELL_ATTR3_DONT_DISPLAY_CHANNEL_BAR => 'Hide Channel Bar', + SPELL_ATTR3_IS_HONORLESS_TARGET => 'Is Honorless Target', + SPELL_ATTR3_NORMAL_RANGED_ATTACK => 'Normal Ranged Attack', + SPELL_ATTR3_CANT_TRIGGER_PROC => 'Suppress Caster Procs', + SPELL_ATTR3_NO_INITIAL_AGGRO => '无目标接触', + SPELL_ATTR3_IGNORE_HIT_RESULT => '无法不命中', + SPELL_ATTR3_DISABLE_PROC => 'Disable Proc', + SPELL_ATTR3_DEATH_PERSISTENT => '死亡后继续存在', + SPELL_ATTR3_ONLY_PROC_OUTDOORS => 'Only Proc Outdoors', + SPELL_ATTR3_REQ_WAND => '需要魔杖', + SPELL_ATTR3_NO_DAMAGE_HISTORY => 'No Damage History', + SPELL_ATTR3_REQ_OFFHAND => '需要副手武器', + SPELL_ATTR3_TREAT_AS_PERIODIC => 'Treat As Periodic', + SPELL_ATTR3_CAN_PROC_FROM_PROCS => 'Can Proc From Procs', + SPELL_ATTR3_DRAIN_SOUL => 'Only Proc on Caster', + SPELL_ATTR3_IGNORE_CASTER_AND_TARGET_RESTRICTIONS => 'Ignore Caster and Target restrictions', + SPELL_ATTR3_NO_DONE_BONUS => 'Ignore Caster Modifiers', + SPELL_ATTR3_DONT_DISPLAY_RANGE => 'Do Not Display Range', + SPELL_ATTR3_NOT_ON_AOE_IMMUNE => 'Not on AOE Immune' + ), + 'attributes4' => array( + SPELL_ATTR4_IGNORE_RESISTANCES => 'No Cast Log', + SPELL_ATTR4_PROC_ONLY_ON_CASTER => 'Class Trigger Only On Target', + SPELL_ATTR4_FADES_WHILE_LOGGED_OUT => '退出登录后仍继续', + SPELL_ATTR4_NO_HELPFUL_THREAT => 'No Helpful Threat', + SPELL_ATTR4_NO_HARMFUL_THREAT => 'No Harmful Threat', + SPELL_ATTR4_ALLOW_CLIENT_TARGETING => 'Allow Client Targeting', + SPELL_ATTR4_NOT_STEALABLE => '无法被法术偷取', + SPELL_ATTR4_CAN_CAST_WHILE_CASTING => 'Allow Cast While Casting', + SPELL_ATTR4_FIXED_DAMAGE => 'Ignore Damage Taken Modifiers', + SPELL_ATTR4_TRIGGER_ACTIVATE => 'Combat Feedback When Usable', + SPELL_ATTR4_SPELL_VS_EXTEND_COST => 'Weapon Speed Cost Scaling', + SPELL_ATTR4_NO_PARTIAL_IMMUNITY => 'No Partial Immunity', + SPELL_ATTR4_AURA_IS_BUFF => 'Aura Is Buff', + SPELL_ATTR4_DO_NOT_LOG_CASTER => 'Do Not Log Caster', + SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS => 'Reactive Damage Proc', + SPELL_ATTR4_NOT_IN_SPELLBOOK => 'Not In Spellbook', + SPELL_ATTR4_NOT_USABLE_IN_ARENA => 'Not usable in arena', + SPELL_ATTR4_USABLE_IN_ARENA => '竞技场中无法使用', + SPELL_ATTR4_AREA_TARGET_CHAIN => 'Bouncy Chain Missiles', + SPELL_ATTR4_ALLOW_PROC_WHILE_SITTING => 'Allow Proc While Sitting', + SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER => 'Aura Never Bounces', + SPELL_ATTR4_DONT_REMOVE_IN_ARENA => 'Allow Entering Arena', + SPELL_ATTR4_PROC_SUPPRESS_SWING_ANIM => 'Proc Suppress Swing Anim', + SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS => 'Suppress Weapon Procs', + SPELL_ATTR4_AUTO_RANGED_COMBAT => 'Auto Ranged Combat', + SPELL_ATTR4_IS_PET_SCALING => 'Owner Power Scaling', + SPELL_ATTR4_CAST_ONLY_IN_OUTLAND => 'Flying areas only', + SPELL_ATTR4_FORCE_DISPLAY_CASTBAR => 'Force Display Castbar', + SPELL_ATTR4_IGNORE_COMBAT_TIMER => 'Ignore Combat Timer', + SPELL_ATTR4_AURA_BOUNCE_FAILS_SPELL => 'Aura Bounce Fails Spell', + SPELL_ATTR4_OBSOLETE => '', + SPELL_ATTR4_USE_FACING_FROM_SPELL => 'Use Facing From Spell' + ), + 'attributes5' => array( + SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING => 'Allow Actions During Channel', + SPELL_ATTR5_NO_REAGENT_WHILE_PREP => 'No Reagent Cost With Aura', + SPELL_ATTR5_REMOVE_ON_ARENA_ENTER => 'Remove Entering Arena', + SPELL_ATTR5_USABLE_WHILE_STUNNED => '昏迷时可用', + SPELL_ATTR5_TRIGGERS_CHANNELING => 'Triggers Channeling', + SPELL_ATTR5_SINGLE_TARGET_SPELL => '光环只能影响一名目标', + SPELL_ATTR5_IGNORE_AREA_EFFECT_PVP_CHECK => 'Ignore Area Effect PvP Check', + SPELL_ATTR5_NOT_ON_PLAYER => 'Not On Player', + SPELL_ATTR5_CANT_TARGET_PLAYER_CONTROLLED => 'Not On Player Controlled NPC', + SPELL_ATTR5_START_PERIODIC_AT_APPLY => '光环出现时开始计时', + SPELL_ATTR5_HIDE_DURATION => 'Do Not Display Duration', + SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET => 'Implied Targeting', + SPELL_ATTR5_MELEE_CHAIN_TARGETING => 'Melee Chain Targeting', + SPELL_ATTR5_HASTE_AFFECT_DURATION => 'Spell Haste Affects Periodic', + SPELL_ATTR5_NOT_USABLE_WHILE_CHARMED => 'Not Available While Charmed', + SPELL_ATTR5_TREAT_AS_AREA_EFFECT => 'Treat as Area Effect', + SPELL_ATTR5_AURA_AFFECTS_NOT_JUST_REQ_EQUIPPED_ITEM => 'Aura Affects Not Just Req. Equipped Item', + SPELL_ATTR5_USABLE_WHILE_FEARED => '恐惧时可用', + SPELL_ATTR5_USABLE_WHILE_CONFUSED => '混乱时可用', + SPELL_ATTR5_DONT_TURN_DURING_CAST => 'AI Doesn\'t Face target', + SPELL_ATTR5_DO_NOT_ATTEMPT_A_PET_RESUMMON_WHEN_DISMOUNTING => 'Do Not Attempt a Pet Resummon When Dismounting', + SPELL_ATTR5_IGNORE_TARGET_REQUIREMENTS => 'Ignore Target Requirements', + SPELL_ATTR5_NOT_ON_TRIVIAL => 'Not On Trivial', + SPELL_ATTR5_NO_PARTIAL_RESISTS => 'No Partial Resists', + SPELL_ATTR5_IGNORE_CASTER_REQUIREMENTS => 'Ignore Caster Requirements', + SPELL_ATTR5_ALWAYS_LINE_OF_SIGHT => 'Always Line of Sight', + SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK => 'Always AOE Line of Sight', + SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST => 'No Caster Aura Icon', + SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST => 'No Target Aura Icon', + SPELL_ATTR5_AURA_UNIQUE_PER_CASTER => 'Aura Unique Per Caster', + SPELL_ATTR5_ALWAYS_SHOW_GROUND_TEXTURE => 'Always Show Ground Texture', + SPELL_ATTR5_ADD_MELEE_HIT_RATING => 'Add Melee Hit Rating' + ), + 'attributes6' => array( + SPELL_ATTR6_DONT_DISPLAY_COOLDOWN => 'No Cooldown On Tooltip', + SPELL_ATTR6_ONLY_IN_ARENA => '只可在竞技场中使用', + SPELL_ATTR6_IGNORE_CASTER_AURAS => 'Ignore Caster Auras', + SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG => 'Can Assist Immune PC', + SPELL_ATTR6_IGNORE_FOR_MOD_TIME_RATE => 'Ignore For Mod Time Rate', + SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES => 'Do Not Consume Resources', + SPELL_ATTR6_USE_SPELL_CAST_EVENT => 'Send spell cast event', + SPELL_ATTR6_AURA_IS_WEAPON_PROC => 'Aura Is Weapon Proc', + SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED => 'Do Not Chain To Crowd-Controlled Targets', + SPELL_ATTR6_ALLOW_ON_CHARMED_TARGETS => 'Allow On Charmed Targets', + SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS => 'No Aura Log', + SPELL_ATTR6_NOT_IN_RAID_INSTANCE => '团队副本中无法使用', + SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE => 'Allow While Riding Vehicle', + SPELL_ATTR6_CAN_TARGET_INVISIBLE => 'Ignore Phase Shift', + SPELL_ATTR6_AI_PRIMARY_RANGED_ATTACK => 'AI Primary Ranged Attack', + SPELL_ATTR6_NO_PUSHBACK => 'No Pushback', + SPELL_ATTR6_NO_JUMP_PATHING => 'No Jump Pathing', + SPELL_ATTR6_ALLOW_EQUIP_WHILE_CASTING => 'Allow Equip While Casting', + SPELL_ATTR6_CAST_BY_CHARMER => 'Originate From Controller', + SPELL_ATTR6_DELAY_COMBAT_TIMER_DURING_CAST => 'Delay Combat Timer During Cast', + SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER => 'Aura Icon Only For Caster (Limit 10)', + SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS => '', + SPELL_ATTR6_ABSORB_CANNOT_BE_IGNORE => 'Absorb Cannot Be Ignore', + SPELL_ATTR6_TAPS_IMMEDIATELY => 'Taps immediately', + SPELL_ATTR6_CAN_TARGET_UNTARGETABLE => 'Can Target Untargetable', + SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT => 'Doesn\'t Reset Swing Timer if Instant', + SPELL_ATTR6_VEHICLE_IMMUNITY_CATEGORY => 'Vehicle Immunity Category', + SPELL_ATTR6_LIMIT_PCT_HEALING_MODS => 'Ignore Healing Modifiers', + SPELL_ATTR6_DO_NOT_AUTO_SELECT_TARGET_WITH_INITIATES_COMBAT => 'Do Not Auto Select Target with Initiates Combat', + SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS => 'Ignore Caster Damage Modifiers', + SPELL_ATTR6_DISABLE_TIED_EFFECT_POINTS => 'Disable Tied Effect Points', + SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS => 'No Category Cooldown Mods' + ), + 'attributes7' => array( + SPELL_ATTR7_ALLOW_SPELL_REFLECTION => '', + SPELL_ATTR7_IGNORE_DURATION_MODS => 'No Target Duration Mod', + SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD => '圣骑士光环', + SPELL_ATTR7_IS_CHEAT_SPELL => 'Debug Spell', + SPELL_ATTR7_TREAT_AS_RAID_BUFF => 'Treat as Raid Buff', + SPELL_ATTR7_SUMMON_PLAYER_TOTEM => '图腾', + SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE => 'Don\'t Cause Spell Pushback', + SPELL_ATTR7_PREPARE_FOR_VEHICLE_CONTROL_END => 'Prepare for Vehicle Control End', + SPELL_ATTR7_HORDE_ONLY => 'Horde Specific Spell', + SPELL_ATTR7_ALLIANCE_ONLY => 'Alliance Specific Spell', + SPELL_ATTR7_DISPEL_CHARGES => 'Dispel Removes Charges', + SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER => 'Can Cause Interrupt', + SPELL_ATTR7_CAN_CAUSE_SILENCE => 'Can Cause Silence', + SPELL_ATTR7_NO_UI_NOT_INTERRUPTIBLE => 'No UI Not Interruptible', + SPELL_ATTR7_RECAST_ON_RESUMMON => 'Recast On Resummon', + SPELL_ATTR7_RESET_SWING_TIMER_AT_SPELL_START => 'Reset Swing Timer at spell start', + SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER => '[NNF] Can Restore Inactive Power', + SPELL_ATTR7_DO_NOT_LOG_PVP_KILL => 'Do Not Log PvP Kill', + SPELL_ATTR7_HAS_CHARGE_EFFECT => 'Attack on Charge to Unit', + SPELL_ATTR7_ZONE_TELEPORT => 'Report Spell failure to unit target', + SPELL_ATTR7_NO_CLIENT_FAIL_WHILE_STUNNED_FLEEING_CONFUSED => 'No Client Fail While Stunned, Fleeing, Confused', + SPELL_ATTR7_RETAIN_COOLDOWN_THROUGH_LOAD => 'Retain Cooldown Through Load', + SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING => 'Ignores Cold Weather Flying Requirement', + SPELL_ATTR7_CANT_DODGE => 'No Attack Dodge', + SPELL_ATTR7_CANT_PARRY => 'No Attack Parry', + SPELL_ATTR7_CANT_MISS => 'No Attack Miss', + SPELL_ATTR7_TREAT_AS_NPC_AOE => 'Treat as NPC AoE', + SPELL_ATTR7_BYPASS_NO_RESURRECT_AURA => 'Bypass No Resurrect Aura', + SPELL_ATTR7_CONSOLIDATED_RAID_BUFF => 'Consolidate in raid buff frame', + SPELL_ATTR7_REFLECTION_ONLY_DEFENDS => 'Reflection Only Defends', + SPELL_ATTR7_CAN_PROC_FROM_SUPPRESSED_TARGET_PROCS => 'Can Proc From Suppressed Target Procs', + SPELL_ATTR7_CLIENT_INDICATOR => 'Always Cast Log' ) ), 'item' => array( diff --git a/pages/genericPage.class.php b/pages/genericPage.class.php index 74566ec9..66e92447 100644 --- a/pages/genericPage.class.php +++ b/pages/genericPage.class.php @@ -894,12 +894,12 @@ class GenericPage return str_repeat(' ', $pad) . sprintf($createIconString, $element, $iconIdx, $jsg, implode(', ', $params)); } - protected function fmtStaffTip(string $text, string $tip) : string + protected function fmtStaffTip(?string $text, string $tip) : string { - if (User::isInGroup(U_GROUP_EMPLOYEE)) - return sprintf(Util::$dfnString, $tip, $text); + if (!$text || !User::isInGroup(U_GROUP_EMPLOYEE)) + return $text ?? ''; else - return $text; + return sprintf(Util::$dfnString, $tip, $text); } // load brick diff --git a/pages/spell.php b/pages/spell.php index 815ffb8a..6d91a1e2 100644 --- a/pages/spell.php +++ b/pages/spell.php @@ -2157,10 +2157,12 @@ class SpellPage extends GenericPage $_nameMV = Util::ucFirst(Lang::game('npc')).' #'.$effMV; break; case SPELL_AURA_FORCE_REACTION: - $_footer['value'][0] = $this->fmtStaffTip(Lang::game('rep', $_footer['value'][0]), $_footer['value'][0]); + $_footer['value'][1] = $this->fmtStaffTip(Lang::game('rep', $_footer['value'][1]), $_footer['value'][1]); + $_footer['value'][0] = null; // disable range here as the string replacement will fail the comparison at the end // DO NOT BREAK ! case SPELL_AURA_MOD_FACTION_REPUTATION_GAIN: - $valueFmt = '%s%%'; + if ($effAura == SPELL_AURA_MOD_FACTION_REPUTATION_GAIN) + $valueFmt = '%s%%'; if ($_ = FactionList::getName($effMV)) $_nameMV = ''.$_.''; else @@ -2286,57 +2288,30 @@ class SpellPage extends GenericPage private function createAttributesList() : array { - $cbBandageSpell = function() - { - return ($this->subject->getField('attributes1') & (SPELL_ATTR1_CHANNELED_1 | SPELL_ATTR1_CHANNELED_2 | SPELL_ATTR1_CHANNEL_TRACK_TARGET)) && ($this->subject->getField('effect1ImplicitTargetA') == 21); - }; - - $cbInverseFlag = function($field, $flag) - { - return !($this->subject->getField($field) & $flag); - }; - - $cbEquippedWeapon = function($mask, $useInvType) - { - $field = $useInvType ? 'equippedItemInventoryTypeMask' : 'equippedItemSubClassMask'; - - return ($this->subject->getField('equippedItemClass') == ITEM_CLASS_WEAPON) && ($this->subject->getField($field) & $mask); - }; - - $cbSpellstealable = function($field, $flag) - { - return !($this->subject->getField($field) & $flag) && ($this->subject->getField('dispelType') == SPELL_DAMAGE_CLASS_MAGIC); - }; - $list = []; - $fi = new SpellListFilter(); - foreach (Lang::spell('attributes') as $idx => $_) + for ($i = 0; $i < 8; $i++) { - if ($cr = $fi->getGenericFilter($idx)) + $attributes = $this->subject->getField('attributes'.$i); + for ($j = 1; $j <= (1 << 31); $j <<= 1) { - if ($cr[0] == Filter::CR_CALLBACK) - { - if (!isset($cr[1])) - trigger_error('SpellDetailPage::createAttributesList - callback handler '.$cr[1].' not defined for IDX #'.$idx, E_USER_WARNING); - else if (${$cr[1]}($cr[2] ?? null, $cr[3] ?? null)) - $list[] = $idx; - } - else if ($cr[0] == Filter::CR_FLAG) - { - if ($this->subject->getField($cr[1]) & $cr[2]) - $list[] = $idx; - } - else - trigger_error('SpellDetailPage::createAttributesList - unhandled filter case #'.$cr[0].' for IDX #'.$idx, E_USER_WARNING); + if (!($attributes & $j)) + continue; + + $listItem = Lang::spell('attributes'.$i, $j); + if (!$listItem && User::isInGroup(U_GROUP_STAFF)) + $listItem = 'Unknown SpellAttribute'.$i.''; + else if (!$listItem) + continue; + + if ($crId = (SpellListFilter::$attributesFilter[$i][$j] ?? 0)) + $listItem = sprintf('%1$s', $listItem, abs($crId), $crId > 0 ? 1 : 2); + + $list[] = $this->fmtStaffTip($listItem, 'Attributes'.$i.': '.Util::asHex($j)); } - else - trigger_error('SpellDetailPage::createAttributesList - SpellAttrib IDX #'.$idx.' defined in Lang, but not set as filter', E_USER_WARNING); } return $list; } } - - ?> diff --git a/static/js/filters.js b/static/js/filters.js index 90f6797c..7655c527 100644 --- a/static/js/filters.js +++ b/static/js/filters.js @@ -330,7 +330,7 @@ var fi_filters = { { id: 20, name: 'hasreagents', type: 'yn' }, { id: 14, name: 'id', type: 'num', before: 'name' }, { id: 12, name: 'lastrank', type: 'yn' }, - // { id: 22, name: 'proficiencytype', type: 'proficiencytype' }, // aowow - not used, pointless in wotlk + { id: 22, name: 'proficiencytype', type: 'proficiencytype' }, { id: 13, name: 'rankno', type: 'num' }, { id: 3, name: 'requiresnearbyobject', type: 'yn' }, { id: 5, name: 'requiresprofspec', type: 'yn' }, @@ -338,13 +338,14 @@ var fi_filters = { { id: 1, name: 'manaenergyragecost', type: 'num' }, { id: 45, name: 'resourcetype', type: 'resourcetype' }, { id: 25, name: 'rewardsskillups', type: 'yn' }, - // { id: 110, name: 'scalingap', type: 'yn' }, // aowow - too complex for now + // { id: 110, name: 'scalingap', type: 'yn' }, { id: 19, name: 'scaling', type: 'yn' }, - // { id: 111, name: 'scalingsp', type: 'yn' }, // aowow - too complex for now + // { id: 111, name: 'scalingsp', type: 'yn' }, { id: 9, name: 'source', type: 'spellsource' }, { id: 4, name: 'trainingcost', type: 'num' }, + { id: 43, name: 'usableinbgs', type: 'yn' }, { id: 44, name: 'usableinarenas', type: 'yn' }, - // { id: 31, name: 'usablewhenshapeshifted', type: 'yn' }, // aowow - not used, pointless in wotlk + { id: 31, name: 'usablewhenshapeshifted', type: 'yn' }, { id: 9999, name: 'sepattributes' }, { id: 69, name: 'harmful', type: 'yn' }, @@ -371,7 +372,7 @@ var fi_filters = { { id: 68, name: 'usablestealthed', type: 'yn' }, { id: 81, name: 'doesntengagetarget', type: 'yn' }, { id: 77, name: 'doesntreqshapeshift', type: 'yn' }, - // { id: 46, name: 'disregardimmunity', type: 'yn' }, // aowow - unsure what to make of it + { id: 46, name: 'disregardimmunity', type: 'yn' }, { id: 47, name: 'disregardschoolimmunity', type: 'yn' }, { id: 78, name: 'foodbuff', type: 'yn' }, { id: 71, name: 'nothreat', type: 'yn' }, @@ -394,9 +395,10 @@ var fi_filters = { { id: 58, name: 'damagedependsonlevel', type: 'yn' }, { id: 39, name: 'spellstealable', type: 'yn' }, { id: 63, name: 'delayedrecoverystarttime', type: 'yn' }, + { id: 86, name: 'onlyaffectsingletarget', type: 'yn' }, { id: 87, name: 'startstickingatapplication', type: 'yn' }, { id: 59, name: 'stopsautoattack', type: 'yn' }, - // { id: 76, name: 'targetownitem', type: 'yn' }, // aowow - e.g. DK weapon enchantments ... this flag for this has to be somewhere.... + { id: 76, name: 'targetownitem', type: 'yn' }, { id: 70, name: 'targetnotincombat', type: 'yn' }, { id: 93, name: 'totemspell', type: 'yn' }, { id: 42, name: 'usablewhenstunned', type: 'yn' }, diff --git a/static/js/locale_dede.js b/static/js/locale_dede.js index 68ffaa33..2bf1e5ef 100644 --- a/static/js/locale_dede.js +++ b/static/js/locale_dede.js @@ -4192,10 +4192,10 @@ var LANG = { spellstealable: "Zauber kann geraubt werden", damagetype: "Schadensart", usablewhenstunned: "Benutzbar in Betäubung", - usableinbgs: "Benutzbar nur in Schlachtfeldern", + usableinbgs: "Nur in Schlachtfeldern benutzbar", usableinarenas: "Benutzbar in Arenen", - disregardimmunity: "Ignoriert Unverwundbarkeit", - disregardschoolimmunity: "Ignoriert Unverwundbarkeit gegen Magieart", + disregardimmunity: "Ignoriert Immunität", + disregardschoolimmunity: "Ignoriert Immunität gegen Magieart", reqrangedweapon: "Benötigt eine Fernkampfwaffe", onnextswingplayers: "Mit dem nächsten Schwung (Spieler)", passivespell: "Passiver Zauber", @@ -4221,7 +4221,7 @@ var LANG = { targetnotincombat: "Das Ziel darf sich nicht im Kampf befinden", nothreat: "Generiert keine Bedrohung", pickpocket: "Taschendiebstahl-Zauber", - dispelauraonimmunity: "Entfernt Auren auf Immunität", + dispelauraonimmunity: "Entfernt Auren bei Immunität", reqfishingpole: "Erfordert Angelrute", requntappedtarget: "Setzt ein unmarkiertes Ziel voraus", targetownitem: "Das Ziel muss ein eigener Gegenstand sein", @@ -4231,7 +4231,7 @@ var LANG = { reqmainhand: "Benötigt eine Haupthandwaffe", doesntengagetarget: "Verwickelt das Ziel nicht in einen Kampf", reqwand: "Benötigt einen Zauberstab", - reqoffhand: "Benötigt eine Schildhandwaffe", + reqoffhand: "Benötigt eine Nebenhandwaffe", nolog: "Erscheint nicht im Log", auratickswhileloggedout: "Dauert an, während Ihr ausgeloggt seid", startstickingatapplication: "Beginnt zu ticken, sobald die Aura angewendet wird", @@ -4243,6 +4243,7 @@ var LANG = { totemspell: "Totem", bandagespell: "Verbandszauber", onGlobalCooldown: "Auf globaler Abklingzeit", + onlyaffectsingletarget: "Die Aura wirkt auf nur ein Ziel", sepcommunity: "Community", hascomments: "Verfügt über Kommentare", diff --git a/static/js/locale_enus.js b/static/js/locale_enus.js index f37a6962..194e5e0c 100644 --- a/static/js/locale_enus.js +++ b/static/js/locale_enus.js @@ -4275,7 +4275,7 @@ var LANG = { targetownitem: "Target must be own item", doesntreqshapeshift: "Does not require shapeshift", foodbuff: "Food/Drink buff", - targetonlyplayer: "Can only target the player", + targetonlyplayer: "Can only target players", reqmainhand: "Requires main hand weapon", doesntengagetarget: "Does not engage target", reqwand: "Requires a wand", @@ -4291,6 +4291,7 @@ var LANG = { totemspell: "Totem", bandagespell: "Bandage spell", onGlobalCooldown: "On global cooldown", + onlyaffectsingletarget: "The aura can only affect one target", sepcommunity: "Community", hascomments: "Has comments", diff --git a/static/js/locale_eses.js b/static/js/locale_eses.js index 36a4008d..af820e8b 100644 --- a/static/js/locale_eses.js +++ b/static/js/locale_eses.js @@ -4245,6 +4245,7 @@ var LANG = { totemspell: "Totem", bandagespell: "Hechizo de Venda", onGlobalCooldown: "Sujeto al tiempo de relanzamiento global", + onlyaffectsingletarget: "El aura solo puede afectar a un solo objetivo", sepcommunity: "Comunidad", hascomments: "Tiene comentarios", diff --git a/static/js/locale_frfr.js b/static/js/locale_frfr.js index 4e6fccd8..fa562af5 100644 --- a/static/js/locale_frfr.js +++ b/static/js/locale_frfr.js @@ -4245,6 +4245,7 @@ var LANG = { totemspell: "Totem", bandagespell: "Sort de bandage", onGlobalCooldown: "Sur le temps de recharge global", + onlyaffectsingletarget: "Cette aura n'affecte qu'une seule cible", sepcommunity: "Communauté", hascomments: "A des commentaires", diff --git a/static/js/locale_ruru.js b/static/js/locale_ruru.js index f4dac741..b2aea8e5 100644 --- a/static/js/locale_ruru.js +++ b/static/js/locale_ruru.js @@ -4247,6 +4247,7 @@ var LANG = { totemspell: "Тотем", bandagespell: "Исцеление бинтами", onGlobalCooldown: "Подвержен действию GCD", + onlyaffectsingletarget: "Этот эффект может воздействовать только на одну цель", sepcommunity: "Сообщество", hascomments: "Есть комментарии", diff --git a/static/js/locale_zhcn.js b/static/js/locale_zhcn.js index 4c167c7d..d6a21db6 100644 --- a/static/js/locale_zhcn.js +++ b/static/js/locale_zhcn.js @@ -4270,6 +4270,7 @@ var LANG = { totemspell: "图腾", bandagespell: "绷带法术", onGlobalCooldown: "On global cooldown", + onlyaffectsingletarget: "光环只能影响一名目标", sepcommunity: "社区", hascomments: "有评论", diff --git a/template/pages/spell.tpl.php b/template/pages/spell.tpl.php index abc04026..7804e999 100644 --- a/template/pages/spell.tpl.php +++ b/template/pages/spell.tpl.php @@ -281,17 +281,20 @@ $WH.aE(window,\'load\',function(){$WH.ge(\'spelleffectmarkup-'.$i.'\').innerHTML attributes): ?> +