diff options
author | Treeston <treeston.mmoc@gmail.com> | 2018-11-12 01:21:26 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-11-15 23:08:46 +0100 |
commit | fe9ca742a30def51cb7a48d72c69bbecd5330fdb (patch) | |
tree | fb4509f628b5469698d82c0134924d53f8cdd7f0 /src | |
parent | d43f14ab0c93e407b9ae309a8cebcf965fd9e50e (diff) |
Core/Misc: Update description text for SpellAttr0 to match actual behavior
(cherry picked from commit b69ee07d502f25dc7d9279665440749009414c6d)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 64 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp | 64 |
2 files changed, 64 insertions, 64 deletions
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 7dd5520bde7..d02678f55bb 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -397,38 +397,38 @@ uint32 constexpr QuestDifficultyColors[MAX_QUEST_DIFFICULTY] = // EnumUtils: DESCRIBE THIS enum SpellAttr0 { - SPELL_ATTR0_UNK0 = 0x00000001, // 0 - SPELL_ATTR0_REQ_AMMO = 0x00000002, // 1 on next ranged - SPELL_ATTR0_ON_NEXT_SWING = 0x00000004, // 2 - SPELL_ATTR0_IS_REPLENISHMENT = 0x00000008, // 3 not set in 3.0.3 - SPELL_ATTR0_ABILITY = 0x00000010, // 4 client puts 'ability' instead of 'spell' in game strings for these spells - SPELL_ATTR0_TRADESPELL = 0x00000020, // 5 trade spells (recipes), will be added by client to a sublist of profession spell - SPELL_ATTR0_PASSIVE = 0x00000040, // 6 Passive spell - SPELL_ATTR0_HIDDEN_CLIENTSIDE = 0x00000080, // 7 Spells with this attribute are not visible in spellbook or aura bar - SPELL_ATTR0_HIDE_IN_COMBAT_LOG = 0x00000100, // 8 This attribite controls whether spell appears in combat logs - SPELL_ATTR0_TARGET_MAINHAND_ITEM = 0x00000200, // 9 Client automatically selects item from mainhand slot as a cast target - SPELL_ATTR0_ON_NEXT_SWING_2 = 0x00000400, // 10 - SPELL_ATTR0_UNK11 = 0x00000800, // 11 - SPELL_ATTR0_DAYTIME_ONLY = 0x00001000, // 12 only useable at daytime, not set in 2.4.2 - SPELL_ATTR0_NIGHT_ONLY = 0x00002000, // 13 only useable at night, not set in 2.4.2 - SPELL_ATTR0_INDOORS_ONLY = 0x00004000, // 14 only useable indoors, not set in 2.4.2 - SPELL_ATTR0_OUTDOORS_ONLY = 0x00008000, // 15 Only useable outdoors. - SPELL_ATTR0_NOT_SHAPESHIFT = 0x00010000, // 16 Not while shapeshifted - SPELL_ATTR0_ONLY_STEALTHED = 0x00020000, // 17 Must be in stealth - SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE = 0x00040000, // 18 client won't hide unit weapons in sheath on cast/channel - SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION = 0x00080000, // 19 spelldamage depends on caster level - SPELL_ATTR0_STOP_ATTACK_TARGET = 0x00100000, // 20 Stop attack after use this spell (and not begin attack if use) - SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK = 0x00200000, // 21 Cannot be dodged/parried/blocked - SPELL_ATTR0_CAST_TRACK_TARGET = 0x00400000, // 22 Client automatically forces player to face target when casting - SPELL_ATTR0_CASTABLE_WHILE_DEAD = 0x00800000, // 23 castable while dead? - SPELL_ATTR0_CASTABLE_WHILE_MOUNTED = 0x01000000, // 24 castable while mounted - SPELL_ATTR0_DISABLED_WHILE_ACTIVE = 0x02000000, // 25 Activate and start cooldown after aura fade or remove summoned creature or go - SPELL_ATTR0_NEGATIVE_1 = 0x04000000, // 26 Many negative spells have this attr - SPELL_ATTR0_CASTABLE_WHILE_SITTING = 0x08000000, // 27 castable while sitting - SPELL_ATTR0_CANT_USED_IN_COMBAT = 0x10000000, // 28 Cannot be used in combat - SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY = 0x20000000, // 29 unaffected by invulnerability (hmm possible not...) - SPELL_ATTR0_HEARTBEAT_RESIST_CHECK = 0x40000000, // 30 random chance the effect will end TODO: implement core support - SPELL_ATTR0_CANT_CANCEL = 0x80000000 // 31 positive aura can't be canceled + SPELL_ATTR0_UNK0 = 0x00000001, + SPELL_ATTR0_REQ_AMMO = 0x00000002, // TITLE Treat as ranged attack DESCRIPTION Use ammo, ranged attack range modifiers, ranged haste, etc. + SPELL_ATTR0_ON_NEXT_SWING = 0x00000004, // TITLE On next melee (type 1) DESCRIPTION Both "on next swing" attributes have identical handling in server & client + SPELL_ATTR0_IS_REPLENISHMENT = 0x00000008, + SPELL_ATTR0_ABILITY = 0x00000010, // TITLE Treat as ability DESCRIPTION Cannot be reflected, not affected by cast speed modifiers, etc. + SPELL_ATTR0_TRADESPELL = 0x00000020, // TITLE Trade skill recipe DESCRIPTION Displayed in recipe list, not affected by cast speed modifiers + SPELL_ATTR0_PASSIVE = 0x00000040, // TITLE Passive spell DESCRIPTION Spell is automatically cast on self by core + SPELL_ATTR0_HIDDEN_CLIENTSIDE = 0x00000080, // TITLE Hidden in UI (client only) DESCRIPTION Not visible in spellbook or aura bar + SPELL_ATTR0_HIDE_IN_COMBAT_LOG = 0x00000100, // TITLE Hidden in combat log (client only) DESCRIPTION Spell will not appear in combat logs + SPELL_ATTR0_TARGET_MAINHAND_ITEM = 0x00000200, // TITLE Auto-target mainhand item (client only) DESCRIPTION Client will automatically select main-hand item as cast target + SPELL_ATTR0_ON_NEXT_SWING_2 = 0x00000400, // TITLE On next melee (type 2) DESCRIPTION Both "on next swing" attributes have identical handling in server & client + SPELL_ATTR0_UNK11 = 0x00000800, + SPELL_ATTR0_DAYTIME_ONLY = 0x00001000, // TITLE Only usable during daytime (unused) + SPELL_ATTR0_NIGHT_ONLY = 0x00002000, // TITLE Only usable during nighttime (unused) + SPELL_ATTR0_INDOORS_ONLY = 0x00004000, // TITLE Only usable indoors + SPELL_ATTR0_OUTDOORS_ONLY = 0x00008000, // TITLE Only usable outdoors + SPELL_ATTR0_NOT_SHAPESHIFT = 0x00010000, // TITLE Not usable while shapeshifted + SPELL_ATTR0_ONLY_STEALTHED = 0x00020000, // TITLE Only usable in stealth + SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE = 0x00040000, // TITLE Don't shealthe weapons (client only) + SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION = 0x00080000, // TITLE Scale with caster level DESCRIPTION For non-player casts, scale impact and power cost with caster's level + SPELL_ATTR0_STOP_ATTACK_TARGET = 0x00100000, // TITLE Stop attacking after cast DESCRIPTION After casting this, the current auto-attack will be interrupted + SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK = 0x00200000, // TITLE Prevent physical avoidance DESCRIPTION Spell cannot be dodged, parried or blocked + SPELL_ATTR0_CAST_TRACK_TARGET = 0x00400000, // TITLE Automatically face target during cast (client only) + SPELL_ATTR0_CASTABLE_WHILE_DEAD = 0x00800000, // TITLE Can be cast while dead DESCRIPTION Spells without this flag cannot be cast by dead units in non-triggered contexts + SPELL_ATTR0_CASTABLE_WHILE_MOUNTED = 0x01000000, // TITLE Can be cast while mounted + SPELL_ATTR0_DISABLED_WHILE_ACTIVE = 0x02000000, // TITLE Cooldown starts on expiry DESCRIPTION Spell is unusable while already active, and cooldown does not begin until the effects have worn off + SPELL_ATTR0_NEGATIVE_1 = 0x04000000, // TITLE Is negative spell DESCRIPTION Forces the spell to be treated as a negative spell + SPELL_ATTR0_CASTABLE_WHILE_SITTING = 0x08000000, // TITLE Can be cast while sitting + SPELL_ATTR0_CANT_USED_IN_COMBAT = 0x10000000, // TITLE Cannot be used in combat + SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY = 0x20000000, // TITLE Pierce invulnerability DESCRIPTION Allows spell to pierce invulnerability, unless the invulnerability spell also has this attribute + SPELL_ATTR0_HEARTBEAT_RESIST_CHECK = 0x40000000, // TITLE Periodic resistance checks DESCRIPTION Periodically re-rolls against resistance to potentially expire aura early + SPELL_ATTR0_CANT_CANCEL = 0x80000000 // TITLE Aura cannot be cancelled DESCRIPTION Prevents the player from voluntarily canceling a positive aura }; // EnumUtils: DESCRIBE THIS diff --git a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp index e9c195030d8..d9fe053ef90 100644 --- a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp +++ b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp @@ -135,38 +135,38 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr0>::ToString(SpellAttr0 value) { switch (value) { - case SPELL_ATTR0_UNK0: return { "SPELL_ATTR0_UNK0", "SPELL_ATTR0_UNK0", "0" }; - case SPELL_ATTR0_REQ_AMMO: return { "SPELL_ATTR0_REQ_AMMO", "SPELL_ATTR0_REQ_AMMO", "1 on next ranged" }; - case SPELL_ATTR0_ON_NEXT_SWING: return { "SPELL_ATTR0_ON_NEXT_SWING", "SPELL_ATTR0_ON_NEXT_SWING", "2" }; - case SPELL_ATTR0_IS_REPLENISHMENT: return { "SPELL_ATTR0_IS_REPLENISHMENT", "SPELL_ATTR0_IS_REPLENISHMENT", "3 not set in 3.0.3" }; - case SPELL_ATTR0_ABILITY: return { "SPELL_ATTR0_ABILITY", "SPELL_ATTR0_ABILITY", "4 client puts 'ability' instead of 'spell' in game strings for these spells" }; - case SPELL_ATTR0_TRADESPELL: return { "SPELL_ATTR0_TRADESPELL", "SPELL_ATTR0_TRADESPELL", "5 trade spells (recipes), will be added by client to a sublist of profession spell" }; - case SPELL_ATTR0_PASSIVE: return { "SPELL_ATTR0_PASSIVE", "SPELL_ATTR0_PASSIVE", "6 Passive spell" }; - case SPELL_ATTR0_HIDDEN_CLIENTSIDE: return { "SPELL_ATTR0_HIDDEN_CLIENTSIDE", "SPELL_ATTR0_HIDDEN_CLIENTSIDE", "7 Spells with this attribute are not visible in spellbook or aura bar" }; - case SPELL_ATTR0_HIDE_IN_COMBAT_LOG: return { "SPELL_ATTR0_HIDE_IN_COMBAT_LOG", "SPELL_ATTR0_HIDE_IN_COMBAT_LOG", "8 This attribite controls whether spell appears in combat logs" }; - case SPELL_ATTR0_TARGET_MAINHAND_ITEM: return { "SPELL_ATTR0_TARGET_MAINHAND_ITEM", "SPELL_ATTR0_TARGET_MAINHAND_ITEM", "9 Client automatically selects item from mainhand slot as a cast target" }; - case SPELL_ATTR0_ON_NEXT_SWING_2: return { "SPELL_ATTR0_ON_NEXT_SWING_2", "SPELL_ATTR0_ON_NEXT_SWING_2", "10" }; - case SPELL_ATTR0_UNK11: return { "SPELL_ATTR0_UNK11", "SPELL_ATTR0_UNK11", "11" }; - case SPELL_ATTR0_DAYTIME_ONLY: return { "SPELL_ATTR0_DAYTIME_ONLY", "SPELL_ATTR0_DAYTIME_ONLY", "12 only useable at daytime, not set in 2.4.2" }; - case SPELL_ATTR0_NIGHT_ONLY: return { "SPELL_ATTR0_NIGHT_ONLY", "SPELL_ATTR0_NIGHT_ONLY", "13 only useable at night, not set in 2.4.2" }; - case SPELL_ATTR0_INDOORS_ONLY: return { "SPELL_ATTR0_INDOORS_ONLY", "SPELL_ATTR0_INDOORS_ONLY", "14 only useable indoors, not set in 2.4.2" }; - case SPELL_ATTR0_OUTDOORS_ONLY: return { "SPELL_ATTR0_OUTDOORS_ONLY", "SPELL_ATTR0_OUTDOORS_ONLY", "15 Only useable outdoors." }; - case SPELL_ATTR0_NOT_SHAPESHIFT: return { "SPELL_ATTR0_NOT_SHAPESHIFT", "SPELL_ATTR0_NOT_SHAPESHIFT", "16 Not while shapeshifted" }; - case SPELL_ATTR0_ONLY_STEALTHED: return { "SPELL_ATTR0_ONLY_STEALTHED", "SPELL_ATTR0_ONLY_STEALTHED", "17 Must be in stealth" }; - case SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE: return { "SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE", "SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE", "18 client won't hide unit weapons in sheath on cast/channel" }; - case SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION: return { "SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION", "SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION", "19 spelldamage depends on caster level" }; - case SPELL_ATTR0_STOP_ATTACK_TARGET: return { "SPELL_ATTR0_STOP_ATTACK_TARGET", "SPELL_ATTR0_STOP_ATTACK_TARGET", "20 Stop attack after use this spell (and not begin attack if use)" }; - case SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK: return { "SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK", "SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK", "21 Cannot be dodged/parried/blocked" }; - case SPELL_ATTR0_CAST_TRACK_TARGET: return { "SPELL_ATTR0_CAST_TRACK_TARGET", "SPELL_ATTR0_CAST_TRACK_TARGET", "22 Client automatically forces player to face target when casting" }; - case SPELL_ATTR0_CASTABLE_WHILE_DEAD: return { "SPELL_ATTR0_CASTABLE_WHILE_DEAD", "SPELL_ATTR0_CASTABLE_WHILE_DEAD", "23 castable while dead?" }; - case SPELL_ATTR0_CASTABLE_WHILE_MOUNTED: return { "SPELL_ATTR0_CASTABLE_WHILE_MOUNTED", "SPELL_ATTR0_CASTABLE_WHILE_MOUNTED", "24 castable while mounted" }; - case SPELL_ATTR0_DISABLED_WHILE_ACTIVE: return { "SPELL_ATTR0_DISABLED_WHILE_ACTIVE", "SPELL_ATTR0_DISABLED_WHILE_ACTIVE", "25 Activate and start cooldown after aura fade or remove summoned creature or go" }; - case SPELL_ATTR0_NEGATIVE_1: return { "SPELL_ATTR0_NEGATIVE_1", "SPELL_ATTR0_NEGATIVE_1", "26 Many negative spells have this attr" }; - case SPELL_ATTR0_CASTABLE_WHILE_SITTING: return { "SPELL_ATTR0_CASTABLE_WHILE_SITTING", "SPELL_ATTR0_CASTABLE_WHILE_SITTING", "27 castable while sitting" }; - case SPELL_ATTR0_CANT_USED_IN_COMBAT: return { "SPELL_ATTR0_CANT_USED_IN_COMBAT", "SPELL_ATTR0_CANT_USED_IN_COMBAT", "28 Cannot be used in combat" }; - case SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY: return { "SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY", "SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY", "29 unaffected by invulnerability (hmm possible not...)" }; - case SPELL_ATTR0_HEARTBEAT_RESIST_CHECK: return { "SPELL_ATTR0_HEARTBEAT_RESIST_CHECK", "SPELL_ATTR0_HEARTBEAT_RESIST_CHECK", "30 random chance the effect will end TODO: implement core support" }; - case SPELL_ATTR0_CANT_CANCEL: return { "SPELL_ATTR0_CANT_CANCEL", "SPELL_ATTR0_CANT_CANCEL", "31 positive aura can't be canceled" }; + case SPELL_ATTR0_UNK0: return { "SPELL_ATTR0_UNK0", "SPELL_ATTR0_UNK0", "" }; + case SPELL_ATTR0_REQ_AMMO: return { "SPELL_ATTR0_REQ_AMMO", "Treat as ranged attack", "Use ammo, ranged attack range modifiers, ranged haste, etc." }; + case SPELL_ATTR0_ON_NEXT_SWING: return { "SPELL_ATTR0_ON_NEXT_SWING", "On next melee (type 1)", "Both \042on next swing\042 attributes have identical handling in server & client" }; + case SPELL_ATTR0_IS_REPLENISHMENT: return { "SPELL_ATTR0_IS_REPLENISHMENT", "SPELL_ATTR0_IS_REPLENISHMENT", "" }; + case SPELL_ATTR0_ABILITY: return { "SPELL_ATTR0_ABILITY", "Treat as ability", "Cannot be reflected, not affected by cast speed modifiers, etc." }; + case SPELL_ATTR0_TRADESPELL: return { "SPELL_ATTR0_TRADESPELL", "Trade skill recipe", "Displayed in recipe list, not affected by cast speed modifiers" }; + case SPELL_ATTR0_PASSIVE: return { "SPELL_ATTR0_PASSIVE", "Passive spell", "Spell is automatically cast on self by core" }; + case SPELL_ATTR0_HIDDEN_CLIENTSIDE: return { "SPELL_ATTR0_HIDDEN_CLIENTSIDE", "Hidden in UI (client only)", "Not visible in spellbook or aura bar" }; + case SPELL_ATTR0_HIDE_IN_COMBAT_LOG: return { "SPELL_ATTR0_HIDE_IN_COMBAT_LOG", "Hidden in combat log (client only)", "Spell will not appear in combat logs" }; + case SPELL_ATTR0_TARGET_MAINHAND_ITEM: return { "SPELL_ATTR0_TARGET_MAINHAND_ITEM", "Auto-target mainhand item (client only)", "Client will automatically select main-hand item as cast target" }; + case SPELL_ATTR0_ON_NEXT_SWING_2: return { "SPELL_ATTR0_ON_NEXT_SWING_2", "On next melee (type 2)", "Both \042on next swing\042 attributes have identical handling in server & client" }; + case SPELL_ATTR0_UNK11: return { "SPELL_ATTR0_UNK11", "SPELL_ATTR0_UNK11", "" }; + case SPELL_ATTR0_DAYTIME_ONLY: return { "SPELL_ATTR0_DAYTIME_ONLY", "Only usable during daytime (unused)", "" }; + case SPELL_ATTR0_NIGHT_ONLY: return { "SPELL_ATTR0_NIGHT_ONLY", "Only usable during nighttime (unused)", "" }; + case SPELL_ATTR0_INDOORS_ONLY: return { "SPELL_ATTR0_INDOORS_ONLY", "Only usable indoors", "" }; + case SPELL_ATTR0_OUTDOORS_ONLY: return { "SPELL_ATTR0_OUTDOORS_ONLY", "Only usable outdoors", "" }; + case SPELL_ATTR0_NOT_SHAPESHIFT: return { "SPELL_ATTR0_NOT_SHAPESHIFT", "Not usable while shapeshifted", "" }; + case SPELL_ATTR0_ONLY_STEALTHED: return { "SPELL_ATTR0_ONLY_STEALTHED", "Only usable in stealth", "" }; + case SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE: return { "SPELL_ATTR0_DONT_AFFECT_SHEATH_STATE", "Don't shealthe weapons (client only)", "" }; + case SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION: return { "SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION", "Scale with caster level", "For non-player casts, scale impact and power cost with caster's level" }; + case SPELL_ATTR0_STOP_ATTACK_TARGET: return { "SPELL_ATTR0_STOP_ATTACK_TARGET", "Stop attacking after cast", "After casting this, the current auto-attack will be interrupted" }; + case SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK: return { "SPELL_ATTR0_IMPOSSIBLE_DODGE_PARRY_BLOCK", "Prevent physical avoidance", "Spell cannot be dodged, parried or blocked" }; + case SPELL_ATTR0_CAST_TRACK_TARGET: return { "SPELL_ATTR0_CAST_TRACK_TARGET", "Automatically face target during cast (client only)", "" }; + case SPELL_ATTR0_CASTABLE_WHILE_DEAD: return { "SPELL_ATTR0_CASTABLE_WHILE_DEAD", "Can be cast while dead", "Spells without this flag cannot be cast by dead units in non-triggered contexts" }; + case SPELL_ATTR0_CASTABLE_WHILE_MOUNTED: return { "SPELL_ATTR0_CASTABLE_WHILE_MOUNTED", "Can be cast while mounted", "" }; + case SPELL_ATTR0_DISABLED_WHILE_ACTIVE: return { "SPELL_ATTR0_DISABLED_WHILE_ACTIVE", "Cooldown starts on expiry", "Spell is unusable while already active, and cooldown does not begin until the effects have worn off" }; + case SPELL_ATTR0_NEGATIVE_1: return { "SPELL_ATTR0_NEGATIVE_1", "Is negative spell", "Forces the spell to be treated as a negative spell" }; + case SPELL_ATTR0_CASTABLE_WHILE_SITTING: return { "SPELL_ATTR0_CASTABLE_WHILE_SITTING", "Can be cast while sitting", "" }; + case SPELL_ATTR0_CANT_USED_IN_COMBAT: return { "SPELL_ATTR0_CANT_USED_IN_COMBAT", "Cannot be used in combat", "" }; + case SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY: return { "SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY", "Pierce invulnerability", "Allows spell to pierce invulnerability, unless the invulnerability spell also has this attribute" }; + case SPELL_ATTR0_HEARTBEAT_RESIST_CHECK: return { "SPELL_ATTR0_HEARTBEAT_RESIST_CHECK", "Periodic resistance checks", "Periodically re-rolls against resistance to potentially expire aura early" }; + case SPELL_ATTR0_CANT_CANCEL: return { "SPELL_ATTR0_CANT_CANCEL", "Aura cannot be cancelled", "Prevents the player from voluntarily canceling a positive aura" }; default: throw std::out_of_range("value"); } } |