diff --git a/common/data/captains.js b/common/data/captains.js index 942e87113..b7be180ee 100644 --- a/common/data/captains.js +++ b/common/data/captains.js @@ -7895,9 +7895,10 @@ window.captains = { }, 2299: { atk: function(p) { - return p.unit.class.has("Shooter") ? Math.min([2.5, 2.5, 2.5, 2.75, 3, 3, 3.25][CrunchUtils.limitUnlock(p, "captains")], [1.5, 1.75, 1.75, 2, 2, 2, 2.25][CrunchUtils.limitUnlock(p, "captains")] + ([1, .75, .75, .75, 1, 1, 1][CrunchUtils.limitUnlock(p, "captains")]/6) * p.turnCounter) : 1; + return p.unit.class.has("Shooter") ? Math.min([[2.5, 2.5, 2.5, 2.75, 3, 3, 3.25],[3.25, 3.25, 3.25, 3.25, 3.25, 3.25, 5.5]][CrunchUtils.llimitUnlock(p, "captains")][CrunchUtils.limitUnlock(p, "captains")], [[1.5, 1.75, 1.75, 2, 2, 2, 2.25],[2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 4.75]][CrunchUtils.llimitUnlock(p, "captains")][CrunchUtils.limitUnlock(p, "captains")] + ([[1, .75, .75, .75, 1, 1, 1],[1, 1, 1, 1, 1, 1, 0.75]][CrunchUtils.llimitUnlock(p, "captains")][CrunchUtils.limitUnlock(p, "captains")]/[[6, 6, 6, 6, 6, 6, 6],[6, 6, 6, 6, 6, 6, 4]][CrunchUtils.llimitUnlock(p, "captains")][CrunchUtils.limitUnlock(p, "captains")]) * p.turnCounter) : 1; }, - rcv: function(p) { return p.unit.class.has("Shooter") ? [1.1, 1.1, 1.2, 1.2, 1.2, 1.3, 1.3][CrunchUtils.limitUnlock(p, "captains")] : 1; }, + rcv: function(p) { return p.unit.class.has("Shooter") ? [[1.1, 1.1, 1.2, 1.2, 1.2, 1.3, 1.3], [1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3]][CrunchUtils.llimitUnlock(p, "captains")][CrunchUtils.limitUnlock(p, "captains")] : 1; }, + hp: function(p) { return p.unit.class.has("Shooter") ? [[1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1.2]][CrunchUtils.llimitUnlock(p, "captains")][CrunchUtils.limitUnlock(p, "captains")] : 1; }, }, 2300: { atk: function(p) { return p.frankyCheck.Primary == 6 ? window.altspecials[p.team[p.sourceSlot].unit.number+1].turnedOn[p.sourceSlot] ? ([[4.25, 4.25],[4.75, 5.25]][CrunchUtils.llimitUnlock(p, "captains")][CrunchUtils.limitUnlock(p, "captains")] * [ 1.25, 1, .5, .75 ][['Fighter', 'Slasher', 'Striker', 'Shooter'].indexOf(p.frankyClass[p.slot])]) : [[3.25, 3.5],[4.5, 4.75]][CrunchUtils.llimitUnlock(p, "captains")][CrunchUtils.limitUnlock(p, "captains")] : 1; }, @@ -9663,7 +9664,7 @@ window.captains = { atk: function(p) { return p.unit.class.has("Fighter") ? 2.25 : 1; }, }, 2749: { - atk: function(p) { return p.unit.class.has("Fighter") ? 2.75 : 1; }, + atk: function(p) { return p.unit.class.has("Fighter") ? [2.75, 3.75][CrunchUtils.llimitUnlock(p, "captains")] : 1; }, }, 2750: { atk: function(p) { return (p.unit.class.has("Shooter") || p.unit.class.has("Cerebral")) ? 2 : 1; }, @@ -9695,8 +9696,8 @@ window.captains = { hp: function(p) { return (p.unit.class.has("Fighter") || p.unit.class.has("Striker")) ? 1.2 : 1; }, }, 2758: { - atk: function(p) { return (p.unit.class.has("Fighter") || p.unit.class.has("Striker")) ? 3 : 1; }, - hp: function(p) { return (p.unit.class.has("Fighter") || p.unit.class.has("Striker")) ? 1.2 : 1; }, + atk: function(p) { return [(p.unit.class.has("Fighter") || p.unit.class.has("Striker")) ? 3 : 1, (p.unit.class.has("Fighter") || p.unit.class.has("Striker") || p.unit.class.has("Shooter")) ? 5 : 1][CrunchUtils.llimitUnlock(p, "captains")]; }, + hp: function(p) { return [(p.unit.class.has("Fighter") || p.unit.class.has("Striker")) ? 1.2 : 1, (p.unit.class.has("Fighter") || p.unit.class.has("Striker") || p.unit.class.has("Shooter")) ? 1.3 : 1][CrunchUtils.llimitUnlock(p, "captains")]; }, }, 2759: { atk: function(p) { return p.unit.type == "INT" ? 1.5 : 1; }, @@ -9711,8 +9712,8 @@ window.captains = { atk: function(p) { return p.unit.class.has("Striker") ? 1.5 : 1; }, }, 2763: { - atk: function(p) { return p.unit.class.has("Shooter") ? [1.75, 2, 2, 2, 2, 2, 2.25][CrunchUtils.limitUnlock(p, "captains")] : 1; }, - affinity: function(p) { console.log(p); return p.unit.class.has("Shooter") ? [1, 1, 1.1, 1.25, 1.4, 1.5, 1.5][CrunchUtils.limitUnlock(p, "captains")] : 1; }, + atk: function(p) { return p.unit.class.has("Shooter") ? [[1.75, 2, 2, 2, 2, 2, 2.25],[2.25, 2.25, 2.25, 2.25, 2.25, 2.25, 3.5]][CrunchUtils.llimitUnlock(p, "captains")][CrunchUtils.limitUnlock(p, "captains")] : 1; }, + affinity: function(p) { return p.unit.class.has("Shooter") ? [[1, 1, 1.1, 1.25, 1.4, 1.5, 1.5],[1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.4]][CrunchUtils.llimitUnlock(p, "captains")][CrunchUtils.limitUnlock(p, "captains")] : 1; }, }, 2764: { atk: function(p) { return p.unit.class.has("Cerebral") ? 2.5 : 1; }, diff --git a/common/data/details.js b/common/data/details.js index 436a8e22e..37cb4725c 100644 --- a/common/data/details.js +++ b/common/data/details.js @@ -49801,12 +49801,18 @@ window.details = { level4: "Boosts ATK of Shooter characters by 2x and their RCV by 1.2x. If you defeat an enemy, increases ATK boost slightly. Stacks up to 6 times to a maximum of 3x", level5: "Boosts ATK of Shooter characters by 2x and their RCV by 1.3x. If you defeat an enemy, increases ATK boost slightly. Stacks up to 6 times to a maximum of 3x", level6: "Boosts ATK of Shooter characters by 2.25x and their RCV by 1.3x. If you defeat an enemy, increases ATK boost slightly. Stacks up to 6 times to a maximum of 3.25x.", + llbbase: "Boosts ATK of Shooter characters by 2.25x and their RCV by 1.3x. If you defeat an enemy, increases ATK boost slightly. Stacks up to 6 times to a maximum of 3.25x.", + llblevel6: "Reduces Special Cooldown of all characters by 2 turns at the start of the fight, boosts ATK of Shooter characters by 4.75x, boosts HP of Shooter characters by 1.2x and boosts RCV of Shooter characters by 1.3x. If you defeat an enemy, increases ATK boost slightly. Stacks up to 4 times to a maximum of 5.5x.", }, captainNotes: "If a character dies and revives, it counts as killing a character. If you did not defeat an enemy, lose all ATK boost stacks.", - special: "Reduces the defense of all enemies by 80% for 1 turn, reduces enemies' Threshold Damage Reduction, ATK Up, End of Turn Heal and Resilience Buffs duration by 2 turns, recovers 10,310 HP, changes [EMPTY] orb of Captain character into an [INT] orb and locks your Captain's orb for 1 turn. If your Captain's orb is [INT] when the special is activated, boosts ATK against enemies with reduced defense by 1.75x for 1 turn and changes the orb of Captain character into a [PSY] orb. If your Captain's orb is [PSY] when the special is activated, boosts Orb Effects of Shooter characters by 2x for 1 turn and changes the orb of Captain character into an [INT] orb.", + special: { + base: "Reduces the defense of all enemies by 80% for 1 turn, reduces enemies' Threshold Damage Reduction, ATK Up, End of Turn Heal and Resilience Buffs duration by 2 turns, recovers 10,310 HP, changes [EMPTY] orb of Captain character into an [INT] orb and locks your Captain's orb for 1 turn. If your Captain's orb is [INT] when the special is activated, boosts ATK against enemies with reduced defense by 1.75x for 1 turn and changes the orb of Captain character into a [PSY] orb. If your Captain's orb is [PSY] when the special is activated, boosts Orb Effects of Shooter characters by 2x for 1 turn and changes the orb of Captain character into an [INT] orb.", + llbbase: "If enemies are inflicted with Defense Down and your crew has Orb Amplification upon activation of the special, changes all orbs into Matching orbs and reduces enemies' Threshold Damage Reduction, ATK Up, End of Turn Heal and Resilience Buffs duration by 3 turns, reduces enemies' Threshold Damage Reduction, ATK Up, End of Turn Heal and Resilience Buffs duration by 2 turns otherwise. Reduces the defense of all enemies by 80% for 1 turn, recovers 10,310 HP, locks all orbs for 1 turn, boosts ATK against enemies with reduced defense by 2x for 1 turn, and boosts Orb Effects of Shooter characters by 2.25x for 1 turn.", + }, specialName: "Mischievous Love-Love Beam", sailor: { level1: "Boosts base ATK, HP and RCV of Shooter characters by 30", + llblevel1: "Boosts base ATK, HP and RCV of Shooter characters by 75", level2: "Makes [RCV] orbs beneficial for Shooter characters", }, sailorNotes: "#{beneficial}", @@ -49862,6 +49868,26 @@ window.details = { { description: "Reduce base Special Cooldown by 3 turns" }, { description: "Boosts base ATK by 100" }, ], + lLimit: [ + null, + { + rAbility: true + }, + { + captain: { + base: "Boosts ATK of Shooter characters by 2.25x and their RCV by 1.3x. If you defeat an enemy, increases ATK boost slightly. Stacks up to 6 times to a maximum of 3.25x.", + level6: "Reduces Special Cooldown of all characters by 2 turns at the start of the fight, boosts ATK of Shooter characters by 4.75x, boosts HP of Shooter characters by 1.2x and boosts RCV of Shooter characters by 1.3x. If you defeat an enemy, increases ATK boost slightly. Stacks up to 4 times to a maximum of 5.5x." + } + }, + { + rSpecial: true + }, + { + rResilience: true, + sailor: { level1: "Boosts Shooter characters' base ATK, HP and RCV by 75" }, + special: "If enemy has DEF Down status and crew has orb effect boost, changes orbs to character's own type, and reduces enemies' Threshold Damage ReductionATK UP and Resilience duration by 3 turns (reduces enemies' Threshold Damage ReductionATK UP and Resilience duration by 2 turns otherwise), then after that, drastically reduces enemies' DEF for 1 turn, heals crew by 10,310 HP, locks orbs for 1 turn, doubles damage dealt to DEF Down enemies for 1 turn, and boosts Shooter characters' orb effects by 2.25x for 1 turn" + } + ], potential: [ { Name: "Barrier Penetration", @@ -65692,8 +65718,14 @@ window.details = { sailor: "If your Captain is a Fighter character, makes [TND] orbs beneficial for Fighter characters", }, 2749: {//Luffy - captain: "Boosts ATK of Fighter characters by 2.75x and makes [TND] orbs beneficial for Fighter characters.", - special: "Binds self for 7 turns, deals 25% of enemies' current HP in damage to one enemy, reduces Despair duration by 4 turns and changes all orbs, including [BLOCK] orbs, into [TND] orbs. If your crew has Orb Amplification when the special is activated, locks the chain multiplier at 2.75x for 3 turns, locks the chain multiplier at 3x for 1 turn otherwise.", + captain: { + base: "Boosts ATK of Fighter characters by 2.75x and makes [TND] orbs beneficial for Fighter characters.", + llbbase: "Reduces Special Cooldown of all characters by 1 turn at the start of the fight, boosts ATK of Fighter characters by 3.75x, makes [INT] and [TND] orbs beneficial for Fighter characters and reduces Silence duration by 1 turn.", + }, + special: { + base: "Binds self for 7 turns, deals 25% of enemies' current HP in damage to one enemy, reduces Despair duration by 4 turns and changes all orbs, including [BLOCK] orbs, into [TND] orbs. If your crew has Orb Amplification when the special is activated, locks the chain multiplier at 2.75x for 3 turns, locks the chain multiplier at 3x for 1 turn otherwise.", + llbbase: "Binds self for 7 turns, deals 25% of enemies' current HP in damage to one enemy, reduces Despair duration by 6 turns and changes all orbs, including [BLOCK] orbs, into [TND] orbs. If your crew has Orb Amplification when the special is activated, locks the chain multiplier at 3.25x for 3 turns and boosts base ATK of Fighter characters by 1,000 for 3 turns, locks the chain multiplier at 3x for 3 turns and boosts base ATK of Fighter characters by 700 for 3 turns otherwise.", + }, specialName: "Demon Lord's Gomu Gomu no Elephant Gun", sailor: { base: "If your Captain is a Fighter character, makes [TND] orbs beneficial for Fighter characters", @@ -65726,6 +65758,15 @@ window.details = { { description: "Reduce base Special Cooldown by 1 turn" }, { description: "Acquire Potential 3: Nutrition/Reduce Hunger stacks" }, ], + lLimit: [ + null, + null, + { + captain: { base: "Reduces Special Cooldown of all characters by 1 turn at the start of the fight, boosts ATK of Fighter characters by 3.75x, makes [INT] and [TND] orbs beneficial for Fighter characters and reduces Silence duration by 1 turn." }, + }, + null, + { special: "Binds self for 7 turns, deals 25% of enemies' current HP in damage to one enemy, reduces Despair duration by 6 turns and changes all orbs, including [BLOCK] orbs, into [TND] orbs. If your crew has Orb Amplification when the special is activated, locks the chain multiplier at 3.25x for 3 turns and boosts base ATK of Fighter characters by 1,000 for 3 turns, locks the chain multiplier at 3x for 3 turns and boosts base ATK of Fighter characters by 700 for 3 turns otherwise." }, + ], potential: [ { Name: "Reduce No Healing duration", @@ -65946,8 +65987,14 @@ window.details = { sailor: "Boosts base ATK, HP and RCV of Striker and Fighter characters by 50", }, 2758: {//Sabo - captain: "Boosts ATK of Striker and Fighter characters by 3x, their HP by 1.2x, makes [INT] orbs beneficial for Striker and Fighter characters.", - special: "Locks all orbs for 1 turn. If your crew has 6 [TND] orbs when the special is activated, boosts Orb Effects of Striker, Fighter and Shooter characters by 2.25x for 1 turn, by 1.75x for 3 turns otherwise.", + captain: { + base: "Boosts ATK of Striker and Fighter characters by 3x, their HP by 1.2x, makes [INT] orbs beneficial for Striker and Fighter characters.", + llbbase: "Reduces Special Cooldown of all characters by 1 turn at the start of the fight, boosts ATK of Striker, Fighter and Shooter characters by 5x, boosts HP of Striker, Fighter and Shooter characters by 1.3x, makes their [INT] and [TND] orbs beneficial for Striker, Fighter and Shooter characters and restores Special Cooldown of all characters by 1 turn when they are rewinded.", + }, + special: { + base: "Locks all orbs for 1 turn. If your crew has 6 [TND] orbs when the special is activated, boosts Orb Effects of Striker, Fighter and Shooter characters by 2.25x for 1 turn, by 1.75x for 3 turns otherwise.", + llbbase: "Reduces Paralysis duration by 6 turns and locks all orbs for 1 turn. If your crew has 6 [TND] orbs when the special is activated, boosts Orb Effects of Striker, Fighter and Shooter characters by 2.25x for 3 turns and after 1 turn, reduces enemies' Fighter Resistance by -30% for 1 turn; boosts Orb Effects of Striker, Fighter and Shooter characters by 2x for 3 turns and after 1 turn changes all orbs, including [BLOCK] orbs, into [TND] orbs otherwise.", + }, specialName: "Claws of the God of Death", sailor: { base: "Boosts base ATK, HP and RCV of Striker and Fighter characters by 50", @@ -65970,6 +66017,15 @@ window.details = { { description: "Acquire Sailor Ability 1: If your Captain is a Striker or Fighter character, makes [STR] orbs beneficial for all characters" }, { description: "Acquire Potential 2: Enrage/Reduce Increase Damage Taken duration" }, ], + lLimit: [ + null, + null, + { + captain: { base: "Reduces Special Cooldown of all characters by 1 turn at the start of the fight, boosts ATK of Striker, Fighter and Shooter characters by 5x, boosts HP of Striker, Fighter and Shooter characters by 1.3x, makes their [INT] and [TND] orbs beneficial for Striker, Fighter and Shooter characters and restores Special Cooldown of all characters by 1 turn when they are rewinded." }, + }, + null, + { special: "Reduces Paralysis duration by 6 turns and locks all orbs for 1 turn. If your crew has 6 [TND] orbs when the special is activated, boosts Orb Effects of Striker, Fighter and Shooter characters by 2.25x for 3 turns and after 1 turn, reduces enemies' Fighter Resistance by -30% for 1 turn; boosts Orb Effects of Striker, Fighter and Shooter characters by 2x for 3 turns and after 1 turn changes all orbs, including [BLOCK] orbs, into [TND] orbs otherwise." }, + ], potential: [ { Name: "Reduce No Healing duration", @@ -66032,13 +66088,18 @@ window.details = { captain: { base: "Boosts ATK of Shooter characters by 1.75x.", level1: "Boosts ATK of Shooter characters by 2x.", - level2: "Boosts ATK of Shooter characters by 2x and their Color Affinity by 1.1x.", - level3: "Boosts ATK of Shooter characters by 2x and their Color Affinity by 1.25x.", - level4: "Boosts ATK of Shooter characters by 2x and their Color Affinity by 1.4x.", - level5: "Boosts ATK of Shooter characters by 2x, their Color Affinity by 1.5x and recovers 1x character's RCV in HP at the end of each turn.", - level6: "Boosts ATK of Shooter characters by 2.25x, their Color Affinity by 1.5x and recovers 1.5x character's RCV in HP at the end of each turn.", + level2: "Boosts ATK of Shooter characters by 2x and boosts Color Affinity of Shooter characters by 1.1x.", + level3: "Boosts ATK of Shooter characters by 2x and boosts Color Affinity of Shooter characters by 1.25x.", + level4: "Boosts ATK of Shooter characters by 2x and boosts Color Affinity of Shooter characters by 1.4x.", + level5: "Boosts ATK of Shooter characters by 2x, boosts Color Affinity of Shooter characters by 1.5x and recovers 1x character's RCV in HP at the end of each turn.", + level6: "Boosts ATK of Shooter characters by 2.25x, boosts Color Affinity of Shooter characters by 1.5x and recovers 1.5x character's RCV in HP at the end of each turn.", + llbbase: "Boosts ATK of Shooter characters by 2.25x, boosts Color Affinity of Shooter characters by 1.5x and recovers 1.5x character's RCV in HP at the end of each turn.", + llblevel6: "Reduces Special Cooldown of all characters by 1 turn at the start of the fight, boosts ATK of Shooter characters by 3.5x, boosts Color Affinity of Shooter characters by 1.4x, and recovers 1.5x character's RCV in HP at the end of each turn.", + }, + special: { + base: "Deals 200,000 Fixed damage to all enemies. If your Captain is a Shooter character, boosts the Color Affinity of all characters by 1.75x for 1 turn. If during that turn you score 3 PERFECT hits, boosts the Color Affinity of all characters by 2x for 1 turn.", + llbbase: "Deals 200,000 Fixed damage to all enemies, reduces enemies' Barrier duration by 2 turns, and recovers 10x character's RCV in HP at the end of each turn for 2 turns. If your Captain is a Shooter character, boosts the Color Affinity of all characters by 2.25x for 1 turn. If during that turn you score 3 PERFECT hits, boosts the Color Affinity of all characters by 2.5x for 1 turn.", }, - special: "Deals 200,000 Fixed damage to all enemies. If your Captain is a Shooter character, boosts the Color Affinity of all characters by 1.75x for 1 turn. If during that turn you score 3 PERFECT hits, boosts the Color Affinity of all characters by 2x for 1 turn.", specialName: "Mischievous Witch Thundercloud Rod", sailor: { level1: "Boosts base ATK, HP and RCV of Shooter characters by 30", @@ -66096,6 +66157,18 @@ window.details = { { description: "Reduce base Special Cooldown by 1 turn" }, { description: "Boosts base ATK by 100" }, ], + lLimit: [ + null, + null, + { + captain: { + base: "Boosts ATK of Shooter characters by 2.25x, boosts Color Affinity of Shooter characters by 1.5x and recovers 1.5x character's RCV in HP at the end of each turn.", + level6: "Deals 200,000 Fixed damage to all enemies, reduces enemies' Barrier duration by 2 turns, and recovers 10x character's RCV in HP at the end of each turn for 2 turns. If your Captain is a Shooter character, boosts the Color Affinity of all characters by 2.25x for 1 turn. If during that turn you score 3 PERFECT hits, boosts the Color Affinity of all characters by 2.5x for 1 turn." + } + }, + null, + { special: "Deals 200,000 damage to enemies, reduces the duration of all enemy barriers by 2 turns, and heals crew by 10x characters' RCV at end of turn for 2 turns. If Captain is a Shooter class, boosts Color Affinity for crew by 2.25x for 1 turn, and if during that turn you score 3 PERFECT hits, boosts Color Affinity for crew by 2.5x the next turn" }, + ], potential: [ { Name: "[PSY] Damage Reduction", @@ -83530,6 +83603,19 @@ window.details = { { description: "Boosts base HP by 100" }, { description: "Acquire Potential 3: Reduce No Healing duration" }, ], + lLimit: [ + null, + { + rAbility: true + }, + null, + { + rSpecial: true + }, + { + rResilience: true + } + ], potential: [ { Name: "[DEX] Damage Reduction", @@ -91931,6 +92017,19 @@ window.details = { { description: "Boosts base HP by 100" }, { description: "Acquire Potential 3: Enrage/Reduce Increase Damage Taken duration" }, ], + lLimit: [ + null, + { + rAbility: true + }, + null, + { + rSpecial: true + }, + { + rResilience: true + } + ], potential: [ { Name: "[STR] Damage Reduction", diff --git a/common/data/rumble.json b/common/data/rumble.json index 02f8b72ca..5677ab5a1 100644 --- a/common/data/rumble.json +++ b/common/data/rumble.json @@ -125841,6 +125841,392 @@ "type": "Full" } ], + "llbability": [ + { + "effects": [ + { + "attributes": [ "HP", "SPD" ], + "effect": "buff", + "level": 1, + "targeting": { "targets": [ "[STR]" ] } + }, + { + "attributes": [ "Special CT" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "debuff", + "level": 2, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "attributes": [ "DEF" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "debuff", + "level": 2, + "targeting": { "targets": [ "enemies" ] } + } + ] + }, + { + "effects": [ + { + "attributes": [ "HP", "SPD" ], + "effect": "buff", + "level": 2, + "targeting": { "targets": [ "[STR]" ] } + }, + { + "attributes": [ "Special CT" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "debuff", + "level": 3, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "attributes": [ "DEF" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "debuff", + "level": 2, + "targeting": { "targets": [ "enemies" ] } + } + ] + }, + { + "effects": [ + { + "attributes": [ "HP", "SPD" ], + "effect": "buff", + "level": 3, + "targeting": { "targets": [ "[STR]" ] } + }, + { + "attributes": [ "Special CT" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "debuff", + "level": 4, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "attributes": [ "DEF" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "debuff", + "level": 2, + "targeting": { "targets": [ "enemies" ] } + } + ] + }, + { + "effects": [ + { + "attributes": [ "HP", "SPD" ], + "effect": "buff", + "level": 4, + "targeting": { "targets": [ "[STR]" ] } + }, + { + "attributes": [ "Special CT" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "debuff", + "level": 5, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "attributes": [ "DEF" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "debuff", + "level": 2, + "targeting": { "targets": [ "enemies" ] } + } + ] + }, + { + "effects": [ + { + "attributes": [ "HP", "SPD" ], + "effect": "buff", + "level": 5, + "targeting": { "targets": [ "[STR]" ] } + }, + { + "attributes": [ "Special CT" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "debuff", + "level": 6, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "attributes": [ "DEF" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "debuff", + "level": 2, + "targeting": { "targets": [ "enemies" ] } + } + ] + } + ], + "llbresilience": [ + { + "attribute": "Paralysis", + "chance": 100, + "type": "debuff" + }, + { + "attribute": "[DEX]", + "percentage": 35, + "type": "damage" + } + ], + "llbspecial": [ + { + "cooldown": 25, + "effects": [ + { + "amount": 1.75, + "effect": "damage", + "range": { "direction": "sideways", "size": "medium" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "attributes": [ "DEF" ], + "duration": 20, + "effect": "debuff", + "level": 2, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "amount": 1.4, + "effect": "damage", + "targeting": { "count": 1, "priority": "highest", "stat": "HP", "targets": [ "[DEX]" ] }, + "type": "atk" + } + ] + }, + { + "cooldown": 25, + "effects": [ + { + "amount": 1.85, + "effect": "damage", + "range": { "direction": "sideways", "size": "medium" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "attributes": [ "DEF" ], + "duration": 20, + "effect": "debuff", + "level": 2, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "amount": 1.5, + "effect": "damage", + "targeting": { "count": 1, "priority": "highest", "stat": "HP", "targets": [ "[DEX]" ] }, + "type": "atk" + } + ] + }, + { + "cooldown": 25, + "effects": [ + { + "amount": 1.95, + "effect": "damage", + "range": { "direction": "sideways", "size": "medium" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "attributes": [ "DEF" ], + "duration": 20, + "effect": "debuff", + "level": 2, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "amount": 1.6, + "effect": "damage", + "targeting": { "count": 1, "priority": "highest", "stat": "HP", "targets": [ "[DEX]" ] }, + "type": "atk" + } + ] + }, + { + "cooldown": 25, + "effects": [ + { + "amount": 2.05, + "effect": "damage", + "range": { "direction": "sideways", "size": "medium" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "attributes": [ "DEF" ], + "duration": 20, + "effect": "debuff", + "level": 3, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "amount": 1.7, + "effect": "damage", + "targeting": { "count": 1, "priority": "highest", "stat": "HP", "targets": [ "[DEX]" ] }, + "type": "atk" + } + ] + }, + { + "cooldown": 25, + "effects": [ + { + "amount": 2.15, + "effect": "damage", + "range": { "direction": "sideways", "size": "medium" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "attributes": [ "DEF" ], + "duration": 20, + "effect": "debuff", + "level": 3, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "amount": 1.8, + "effect": "damage", + "targeting": { "count": 1, "priority": "highest", "stat": "HP", "targets": [ "[DEX]" ] }, + "type": "atk" + } + ] + }, + { + "cooldown": 25, + "effects": [ + { + "amount": 2.25, + "effect": "damage", + "range": { "direction": "sideways", "size": "medium" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "attributes": [ "DEF" ], + "duration": 20, + "effect": "debuff", + "level": 4, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "amount": 1.9, + "effect": "damage", + "targeting": { "count": 1, "priority": "highest", "stat": "HP", "targets": [ "[DEX]" ] }, + "type": "atk" + } + ] + }, + { + "cooldown": 25, + "effects": [ + { + "amount": 2.35, + "effect": "damage", + "range": { "direction": "sideways", "size": "medium" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "attributes": [ "DEF" ], + "duration": 20, + "effect": "debuff", + "level": 4, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "amount": 2, + "effect": "damage", + "targeting": { "count": 1, "priority": "highest", "stat": "HP", "targets": [ "[DEX]" ] }, + "type": "atk" + } + ] + }, + { + "cooldown": 25, + "effects": [ + { + "amount": 2.45, + "effect": "damage", + "range": { "direction": "sideways", "size": "medium" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "attributes": [ "DEF" ], + "duration": 20, + "effect": "debuff", + "level": 4, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "amount": 2.1, + "effect": "damage", + "targeting": { "count": 1, "priority": "highest", "stat": "HP", "targets": [ "[DEX]" ] }, + "type": "atk" + } + ] + }, + { + "cooldown": 25, + "effects": [ + { + "amount": 2.55, + "effect": "damage", + "range": { "direction": "sideways", "size": "medium" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "attributes": [ "DEF" ], + "duration": 20, + "effect": "debuff", + "level": 5, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "amount": 2.2, + "effect": "damage", + "targeting": { "count": 1, "priority": "highest", "stat": "HP", "targets": [ "[DEX]" ] }, + "type": "atk" + } + ] + }, + { + "cooldown": 25, + "effects": [ + { + "amount": 2.65, + "effect": "damage", + "range": { "direction": "sideways", "size": "medium" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "attributes": [ "DEF" ], + "duration": 20, + "effect": "debuff", + "level": 6, + "targeting": { "targets": [ "[DEX]" ] } + }, + { + "amount": 2.3, + "effect": "damage", + "targeting": { "count": 1, "priority": "highest", "stat": "HP", "targets": [ "[DEX]" ] }, + "type": "atk" + } + ] + } + ], "resilience": [ { "attribute": "Paralysis", @@ -136832,25 +137218,227 @@ ] } ], - "id": 3130, - "pattern": [ + "id": 3130, + "pattern": [ + { + "action": "attack", + "type": "Normal" + }, + { + "action": "heal", + "area": "Medium", + "level": 2 + }, + { + "action": "attack", + "type": "Normal" + }, + { + "action": "heal", + "area": "Medium", + "level": 2 + } + ], + "llbability": [ + { + "effects": [ + { + "attributes": [ "HP" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "buff", + "level": 2, + "targeting": { "targets": [ "[STR]" ] } + }, + { + "attributes": [ "DEF" ], + "condition": { "comparator": "first", "count": 40, "type": "time" }, + "effect": "buff", + "level": 5, + "targeting": { "targets": [ "[STR]" ] } + }, + { + "attributes": [ "ATK" ], + "effect": "buff", + "level": 2, + "targeting": { "targets": [ "Slasher" ] } + } + ] + }, + { + "effects": [ + { + "override": { "level": 3 } + }, + {}, + { + "override": { "level": 3 } + } + ] + }, + { + "effects": [ + { + "override": { "level": 4 } + }, + {}, + { + "override": { "level": 4 } + } + ] + }, + { + "effects": [ + { + "override": { "level": 5 } + }, + {}, + { + "override": { "level": 5 } + } + ] + }, + { + "effects": [ + { + "override": { "level": 6 } + }, + {}, + { + "override": { "level": 6 } + } + ] + } + ], + "llbresilience": [ { - "action": "attack", - "type": "Normal" + "attribute": "Silence", + "chance": 100, + "type": "debuff" }, { - "action": "heal", - "area": "Medium", - "level": 2 + "attribute": "[DEX]", + "percentage": 35, + "type": "damage" + } + ], + "llbspecial": [ + { + "cooldown": 27, + "effects": [ + { + "amount": 1.75, + "effect": "damage", + "range": { "direction": "radial", "size": "large" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "attributes": [ "ATK", "SPD" ], + "duration": 11, + "effect": "buff", + "level": 1, + "targeting": { "targets": [ "[STR]" ] } + } + ] }, { - "action": "attack", - "type": "Normal" + "cooldown": 27, + "effects": [ + { + "override": { "amount": 1.85 } + }, + { + "override": { "duration": 12, "level": 1 } + } + ] }, { - "action": "heal", - "area": "Medium", - "level": 2 + "cooldown": 27, + "effects": [ + { + "override": { "amount": 1.95 } + }, + { + "override": { "duration": 13, "level": 2 } + } + ] + }, + { + "cooldown": 27, + "effects": [ + { + "override": { "amount": 2.05 } + }, + { + "override": { "duration": 14, "level": 2 } + } + ] + }, + { + "cooldown": 27, + "effects": [ + { + "override": { "amount": 2.15 } + }, + { + "override": { "duration": 15, "level": 3 } + } + ] + }, + { + "cooldown": 27, + "effects": [ + { + "override": { "amount": 2.25 } + }, + { + "override": { "duration": 16, "level": 3 } + } + ] + }, + { + "cooldown": 27, + "effects": [ + { + "override": { "amount": 2.35 } + }, + { + "override": { "duration": 17, "level": 4 } + } + ] + }, + { + "cooldown": 27, + "effects": [ + { + "override": { "amount": 2.45 } + }, + { + "override": { "duration": 18, "level": 4 } + } + ] + }, + { + "cooldown": 27, + "effects": [ + { + "override": { "amount": 2.55 } + }, + { + "override": { "duration": 19, "level": 5 } + } + ] + }, + { + "cooldown": 27, + "effects": [ + { + "override": { "amount": 2.75 } + }, + { + "override": { "duration": 20, "level": 6 } + } + ] } ], "resilience": [ @@ -158403,10 +158991,235 @@ "type": "Full" } ], + "llbability": [ + { + "effects": [ + { + "attributes": [ "ATK", "HP", "SPD" ], + "effect": "buff", + "level": 1, + "targeting": { "targets": [ "[QCK]" ] } + }, + { + "attributes": [ "Special CT" ], + "condition": { "comparator": "first", "count": 30, "type": "time" }, + "effect": "buff", + "level": 1, + "targeting": { "targets": [ "[QCK]" ] } + } + ] + }, + { + "effects": [ + { + "override": { "level": 2 } + }, + { + "override": { "level": 1 } + } + ] + }, + { + "effects": [ + { + "override": { "level": 3 } + }, + { + "override": { "level": 2 } + } + ] + }, + { + "effects": [ + { + "override": { "level": 4 } + }, + { + "override": { "level": 2 } + } + ] + }, + { + "effects": [ + { + "override": { "level": 6 } + }, + { + "override": { "level": 3 } + } + ] + } + ], + "llbresilience": [ + { + "attribute": "Silence", + "chance": 100, + "type": "debuff" + }, + { + "attribute": "[STR]", + "percentage": 35, + "type": "damage" + } + ], + "llbspecial": [ + { + "cooldown": 28, + "effects": [ + { + "amount": 1.4, + "effect": "damage", + "range": { "direction": "radial", "size": "large" }, + "targeting": { "targets": [ "enemies" ] }, + "type": "atk" + }, + { + "amount": 1500, + "condition": { "comparator": "first", "count": 30, "type": "time" }, + "effect": "damage", + "targeting": { "targets": [ "[STR]" ] }, + "type": "fixed" + }, + { + "attributes": [ "Silence" ], + "chance": 20, + "duration": 8, + "effect": "hinderance", + "targeting": { "targets": [ "[STR]" ] } + } + ] + }, + { + "cooldown": 28, + "effects": [ + { + "override": { "amount": 1.5 } + }, + { + "override": { "amount": 1650 } + }, + { + "override": { "chance": 23 } + } + ] + }, + { + "cooldown": 28, + "effects": [ + { + "override": { "amount": 1.6 } + }, + { + "override": { "amount": 1800 } + }, + { + "override": { "chance": 26 } + } + ] + }, + { + "cooldown": 28, + "effects": [ + { + "override": { "amount": 1.7 } + }, + { + "override": { "amount": 1950 } + }, + { + "override": { "chance": 29 } + } + ] + }, + { + "cooldown": 28, + "effects": [ + { + "override": { "amount": 1.8 } + }, + { + "override": { "amount": 2100 } + }, + { + "override": { "chance": 32 } + } + ] + }, + { + "cooldown": 28, + "effects": [ + { + "override": { "amount": 1.9 } + }, + { + "override": { "amount": 2250 } + }, + { + "override": { "chance": 35 } + } + ] + }, + { + "cooldown": 28, + "effects": [ + { + "override": { "amount": 2 } + }, + { + "override": { "amount": 2400 } + }, + { + "override": { "chance": 38 } + } + ] + }, + { + "cooldown": 28, + "effects": [ + { + "override": { "amount": 2.1 } + }, + { + "override": { "amount": 2550 } + }, + { + "override": { "chance": 41 } + } + ] + }, + { + "cooldown": 28, + "effects": [ + { + "override": { "amount": 2.2 } + }, + { + "override": { "amount": 2700 } + }, + { + "override": { "chance": 44 } + } + ] + }, + { + "cooldown": 28, + "effects": [ + { + "override": { "amount": 2.4 } + }, + { + "override": { "amount": 3000 } + }, + { + "override": { "chance": 50 } + } + ] + } + ], "resilience": [ { "attribute": "Silence", - "chance": 60, + "chance": 100, "type": "debuff" }, { diff --git a/common/data/sailors.js b/common/data/sailors.js index c152ffa06..a527e7a0d 100644 --- a/common/data/sailors.js +++ b/common/data/sailors.js @@ -611,6 +611,11 @@ window.sailors = { 2290: { atkStatic: function(p) { return p.unit.class.has("Striker") || p.unit.class.has("Slasher") ? 50 : 0; }, }, + 2299: { + atkStatic: function(p) { return p.unit.class.has("Shooter") ? [[0, 30, 30],[0, 75, 75]][CrunchUtils.llimitUnlock(p, "sailors")][CrunchUtils.limitUnlock(p, "sailors")] : 0; }, + hpStatic: function(p) { return p.unit.class.has("Shooter") ? [[0, 30, 30],[0, 75, 75]][CrunchUtils.llimitUnlock(p, "sailors")][CrunchUtils.limitUnlock(p, "sailors")] : 0; }, + rcvStatic: function(p) { return p.unit.class.has("Shooter") ? [[0, 30, 30],[0, 75, 75]][CrunchUtils.llimitUnlock(p, "sailors")][CrunchUtils.limitUnlock(p, "sailors")] : 0; }, + }, 2305: { atkStatic: function(p) { return p.unit.class.has("Slasher") || p.unit.class.has("Cerebral") ? 75 : 0; }, }, diff --git a/common/data/specials.js b/common/data/specials.js index 9bc4cb6c3..1fc6bc248 100644 --- a/common/data/specials.js +++ b/common/data/specials.js @@ -6427,17 +6427,20 @@ window.specials = { }, 2299: { def: function(p) { return 0.2 }, - atk: function(p) { return (p.defenseDown > 0 && p.cached.multiplier != 1) ? 1.75 : 1; }, + atk: function(p) { return p.defenseDown > 0 ? [p.cached.multiplier1, 1, p.cached.multiplier1][p.cached.multiplier] : 1; }, type: "condition", onActivation: function(p) { - var n = (p.cached.multiplier == 1 ? 2 : (p.cached.multiplier == 2 | p.cached.multiplier == undefined) ? 0 : 1); - p.cached.multiplier = n; + var levels = [0, 1, 2]; + var n = (levels.indexOf(p.cached.multiplier) + 1) % levels.length; + p.cached.multiplier = levels[n]; + p.cached.multiplier1 = [ 1.75, 2 ][CrunchUtils.llimitUnlock(p, "specials")]; + p.cached.multiplier2 = [ 2, 2.25 ][CrunchUtils.llimitUnlock(p, "specials")]; p.scope.notify({ - text: 'Using the ' + ['Conditional boost', 'Orb boost', 'Conditional boost and Orb boost'][n] + '. To switch to the ' + ['Orb boost', 'Conditional boost and Orb boost', 'Conditional boost'][n] + ', disable and re-enable this special', - name: '2299warning' + text: 'Using the ' + ["Conditional boost', 'Orb boost', 'Conditional boost and Orb boost"][levels[n]] + '. To switch to ' + ["Conditional boost', 'Orb boost', 'Conditional boost and Orb boost"][levels[(n + 1) % levels.length]] + ', disable and re-enable this special', + name: (p.team[p.sourceSlot].unit.number+1).toString() + 'warning' }); }, - orb: function(p) { return (p.cached.multiplier != 0 && p.unit.class.has("Shooter")) ? 2 : 1; }, + orb: function(p) { return p.unit.class.has("Shooter") ? [1, p.cached.multiplier2, p.cached.multiplier2][p.cached.multiplier] : 1; }, }, 2300: { atk: function(p) { return p.unit.class.has("Striker") || p.unit.class.has("Shooter") || p.unit.class.has("Slasher") || p.unit.class.has("Fighter") ? [p.cached.multiplier, 2.5][CrunchUtils.llimitUnlock(p, "specials")] : 1}, @@ -8618,17 +8621,20 @@ window.specials = { }, }, 2749: { - chain: function(p) { return p.cached.multiplier; }, + atkbase: function(p) { return p.unit.class.has("Fighter") ? p.cached.multiplier2 : 0; }, + chain: function(p) { return p.cached.multiplier1; }, chainLimiter: function(p) { var prev = p.hitcombo[p.hitcombo.length - 1][p.chainPosition - 1] - return p.chainPosition === 0 ? 1 : (prev == 'Good' || prev == 'Great' || prev == 'Perfect') ? p.cached.multiplier : 1; + return p.chainPosition === 0 ? 1 : (prev == 'Good' || prev == 'Great' || prev == 'Perfect') ? p.cached.multiplier1 : 1; }, - onActivation: function(p) { - var n = (p.cached.multiplier == 2.75 ? 1 : 0); - p.cached.multiplier = [2.75, 3][n]; + onActivation: function(p) {[CrunchUtils.llimitUnlock(p, "specials")] + var levels = [0, 1]; + var n = (levels.indexOf(p.cached.multiplier) + 1) % levels.length; + p.cached.multiplier1 = [[2.75, 3], [3.25, 3]][CrunchUtils.llimitUnlock(p, "specials")][n]; + p.cached.multiplier2 = [[0, 0], [1000, 700]][CrunchUtils.llimitUnlock(p, "specials")][n]; p.scope.notify({ - text: 'Using the ' + [2.75, 3][n] + 'x chain lock. To switch to the ' + [3, 2.75][n] + 'x chain lock, disable and re-enable this special', - name: '2749warning' + text: 'Using the ' + [[2.75, 3], [3.25, 3]][CrunchUtils.llimitUnlock(p, "specials")][n] + 'x Chain Lock. To switch to the ' + [[2.75, 3], [3.25, 3]][CrunchUtils.llimitUnlock(p, "specials")][(n + 1) % levels.length] + 'x Chain Lock, disable and re-enable this special', + name: '3236warning' }); }, }, @@ -8657,11 +8663,12 @@ window.specials = { 2758: { orb: function(p) { return (p.unit.class.has("Shooter") || p.unit.class.has("Striker") || p.unit.class.has("Fighter")) ? p.cached.multiplier : 1; }, onActivation: function(p) { - var n = (p.cached.multiplier == 1.75 ? 1 : 0); - p.cached.multiplier = [1.75, 2.25][n]; + var levels = [[1.75, 2.25],[2, 2.25]][CrunchUtils.llimitUnlock(p, "specials")]; + var n = (levels.indexOf(p.cached.multiplier) + 1) % levels.length; + p.cached.multiplier = levels[n]; p.scope.notify({ - text: 'Using the ' + [1.75, 2.25][n] + 'x orb boost. To switch to the ' + [2.25, 1.75][n] + 'x orb boost, disable and re-enable this special', - name: '2758warning' + text: 'Using the ' + levels[n] + 'x Orb boost. To switch to the ' + levels[(n + 1) % levels.length] + 'x Orb boost, disable and re-enable this special', + name: '3236warning' }); }, }, @@ -8719,11 +8726,12 @@ window.specials = { affinity: function(p) { return p.cached.multiplier; }, onActivation: function(p) { if (p.captain.class.has("Shooter")) { - var n = (p.cached.multiplier == 1.75 ? 1 : 0); - p.cached.multiplier = [1.75, 2][n]; + var levels = [[1.75, 2],[2.25, 2.5]][CrunchUtils.llimitUnlock(p, "specials")]; + var n = (levels.indexOf(p.cached.multiplier) + 1) % levels.length; + p.cached.multiplier = levels[n]; p.scope.notify({ - text: 'Using the ' + [1.75, 2][n] + 'x Affinity boost. To switch to the ' + [2, 1.75][n] + 'x Affinity boost, disable and re-enable this special', - name: '2763warning' + text: 'Using the ' + levels[n] + 'x Affinity boost. To switch to the ' + levels[(n + 1) % levels.length] + 'x Affinity boost, disable and re-enable this special', + name: '3236warning' }); } else p.cached.multiplier = 1; diff --git a/damage/js/cruncher.js b/damage/js/cruncher.js index 7aa102bed..a2ec51bd0 100644 --- a/damage/js/cruncher.js +++ b/damage/js/cruncher.js @@ -1377,7 +1377,7 @@ var CruncherCtrl = function($scope, $rootScope, $timeout) { if (([2650, 2651, 2681].indexOf(unit.number + 1) != -1 && teamSlot < 2) || ([3070, 3071, 3369, 3847, 3848].indexOf(unit.number + 1) != -1 && teamSlot == 1 && $scope.data.actionright) || ([3398].indexOf(unit.number + 1) != -1 && teamSlot < 2 && $scope.hp.perc > 99) || - (effects[$scope.data.effect].hasOwnProperty('rainbow') && effects[$scope.data.effect].rainbow(unitParams))){ + (effects[$scope.data.effect] && effects[$scope.data.effect].hasOwnProperty('rainbow') && effects[$scope.data.effect].rainbow(unitParams))){ //pass so that the affinityMultiplier is whatever it should be instead of 1 } else if(unit.type != type){