Thanks to T6 for allowing me to reuse the UD wiki!

Be sure to check out his new Dokkan Wiki

WIP

This page is a work in progress.

Causality Breakdown

Causalities are described in the skill causality_conditions columns or the compiled_causality_conditions columns

causality_conditions follow the json {"source":string,"compiled":object} you can use logic in your causalities such as
& AND
| OR
not Negate
an example:

{"source":"(1&2)|not3","compiled":["|",["&",1,2],["not",3]]}

This basically means the skill will activate if the the conditions defined by
the skill causality with id 1 is met AND the condition defined by
the skill causality with id 2 is met OR the conditions defined by
the skill causality with id 3 is NOT met.

compiled_causality_conditions is exactly what it says it is a compiled json object

the type key indicates the causality type from the table below

for example:

This is a value from the compiled_causality_conditions column

["&",["not",["type",53,[0]]],["type",5,[3]]]

This essentially translates to not causality type 53 with cau_val1=0 and type 5 with cau_val1=3

["type",causality_type,[cau_val1,cau_val2,cau_val3]]

Essentially you’re compiling your causality to provide the context in the json rather than through database ids

Causality Types

skill_causalities table

Causality ID Name Description cau_val1 cau_val2 cau_val3
0 isNoneRule Nothing      
1 isOverHpRate HP is above percent HP Percent    
2 isUnderHpRate HP is below percent HP Percent    
3 isOverEnergy Ki is above a number Ki Amount    
4 isUnderEnergy Ki is below a number Ki Amount    
5 isElapsedTurn Battle has past turn number Turn    
6 isPartyRaceType Checks if entire deck has a certain link skill Link Skill ID    
7 isEnemyRaceType Checks if enemy has certain link skill Link Skill ID    
8 isOverFightingPower Checks current attack and defense is over a number Attack Defense  
9 isUnderFightingPower Checks current attack and defense is under a number Attack Defense  
10 isOverHpRateOverEnergy HP is above percent, Ki is above number HP Percent Ki Amount  
11 isOverHpRateUnderEnergy HP is above percent, Ki is below number HP Percent Ki Amount  
12 isUnderHpRateOverEnergy HP is below percent, Ki is above number HP Percent Ki Amount  
13 isUnderHpRateUnderEnergy HP is below percent, Ki is below number HP Percent Ki Amount  
14 isFirstAttack Card is in first slot      
15 isOverTargetNum More than a number of enemies Number of Enemies    
16 isUnderTargetNum Less than a number of enemies Number of Enemies    
17 isOverTargetHpRate Enemy target HP above a percent HP Percent    
18 isUnderTargetHpRate Enemy target HP below a percent HP Percent    
19 isAttackOrder Checks card slot position Slot (0, 1, 2)    
20 isOverEnergyCondition Ki is above percent Ki Percent    
21 isUnderEnergyCondition Ki is below percent Ki Percent    
22 isPartyExistChara Check if character is present in deck Card Unique Info ID    
23 isLinkNum Check if at number of links or greater are active Number of links    
24 isHitDamaged Activates upon being attacked      
25 isTargetKill Activates when target is killed      
26 isOverHpRateEnableSpecial HP is above percent, card has enough ki to super HP Percent    
27 isUnderHpRateEnableSpecial HP is below percent, card has enough ki to super HP Percent    
28 isSlotElementType Checks if any cards on rotation are a certain element Element Type    
29 isEnemyExistChara Check if character is an enemy Card Unique Info ID    
30 isGuardSuccess Check if card is guarding      
31 isCombinationAttack Activates if there are three enemy attacks      
32 isChangeEnergyBallColor Checks if there is a ki of a certain type on the board Ki Type    
33 isBetweenHpRate Checks if card HP percent is between two numbers HP Percent Lower HP Percent Higher  
34 isOverTeamCategoryNum Check if category card is present 0 for deck; 1 for enemy; 2 for ally attacking in turn Category ID Amount of cards
35 hasAllElementBitpatternCards Checks if deck has all types of an element bitset Element Bitset    
36 isOverHpRateAndElapsedTurn HP is above percent, battle has past turn number HP Percent Turn  
37 isUnderHpRateAndElapsedTurn HP is below percent, battle has past turn number HP Percent Turn  
38 isTargetEnemyCondition Enemy has required status effects Status Effect Flags (see footnote) Unknown  
39 isTargetElementTypeBitPattern Check if enemy element matches element bitset Element Bitset    
40 isSpecialAttack Activates if card has used a special attack      
41 isOverTeamUniqueCardNum Activates if deck has card with name Unknown Card Unique Info ID Unknown
42 isEnergyBallGetNum Activates if card gets more then specified Ki amount Energy Ball Bitset Ki Amount  
43 isDodgeSuccess Activates if card has evaded an attack Unknown Unknown Unknown
44 isCountUp Activates if x amount of actions have occured 1=Performed Super Attack,2=Has Attacked,3=Receives Damage,4=Guard Actived,5=Evade Amount of actions Unknown
45 isContainsCardByCategoryAndUniqueInfo Activates if card is in target, category and unique info relations Target (team, turn, enemy…) Category (id, not sub target) card_unique_info_set_relations
46 isContainsSpecifiedElemenets Activates if card is in specified element type bitset 0 for deck; 1 for enemy; 2 for ally attacking in turn Type Bitset amount of cards
47 isExecutedRevivalSkill Activates if card has executed a revival skill      
48 isAttackedByEnemyWhichTakeSpecialDamage special_categories.raw_attribute      
49 isAttackedBySpecialCategory Activates if attacked by a specified special category super special_categories.raw_attribute Unknown Unknown
50 hasPlayedPassiveSkillEffect Activates if a unit has played a passive skill effect Unknown Unknown Unknown
51 isUnderTurnCountFromApperance Activates if a card is under val1 turns from apperance turn count Unknown Unknown
52 chargeCount   Unknown Unknown Unknown
53 inStandbyMode Activates if a unit is in standby mode Unknown Unknown Unknown
54 isPartyExecutedRevivalSkill Activates if card in your party has executed a revival skill      
55 isOverTurnCountFromApperance Activates if card is x turns from first apperance turn count Unknown Unknown
56 isNormalAttack Activates if attack recieved is a normal attack Unknown Unknown Unknown
57 isInSpecifiedDokkanField Activates if card is in a specified dokkan field dokkan_field.id Unknown Unknown
58 isInDokkanField Activates if a dokkan field is active 0 = false/no, 1 = true/yes think of value 1 as answering the question “is a dokkan field active right now” Unknown
59 isSameAwakeningElementType Activates if a card in a class Super Class = 1 Extreme Class = 2 Unknown Unknown
60 isInSubTargetTypeSet Activates if card is in a sub target type set SubTargetTypeSet id Unknown Unknown
61 isReceivedAttackDuringTurn Activates if card has recieved attack during turn Unknown Unknown Unknown
62 isAttackerElementTypeBitPattern Checks if attacker matches element bitset? (See caus 39) Element Bitset Unknown Unknown
63 isElapsedTurnPerRound Battle has elapsed x turns for round id? (See caus 5) Unknown Unknown Unknown


Causality #38 - isTargetEnemyCondition Status Flags
Status Mask Description
1 Unknown
2 Unknown
4 Unknown
8 Unknown
16 ATK Down
32 DEF Down
64 Unknown
128 Unknown
256 Efficacy Type 9
512 Efficacy Type 47
1024 Sealed (Efficacy Type 48)
2048 Efficacy Type 8
4096 Unknown
8192 Efficacy Type 53
16384 Efficacy Type 75
32768 Efficacy Type 94
65536 Efficacy Type 96
131072 Unknown
262144 Unknown
524288 Efficacy Type 100
1048576 Efficacy Type 101



Calc Options

Applies to all skills tables & support_items

Calc Option Description
0 Calc Plus
1 Calc Minus
2 Calc Percent Plus
3 Calc Percent Minus
4 Calc Equal



Skill Types

Integer mapping to a Specific Skill

Id Skill Type
1 Active
2 Passive
3 Leader
4 Link
5 Super
6 Unknown
7 Support Item
8 Unknown
9 Unknown
10 Enemy Skill
11 Potential Skill (Hidden Potential)
12 Support Memory
13 Unknown
14 Standby Skill
15 Finish Skill
16 Dokkan Field
17 Dokkan Field Efficacy
18 Enemy Round Skill



Skill Category Type

Integer used to determine how a skill was activated

Id Skill Category Type
0 Player
1 Enemy
6 Unknown



Efficacy Types

Unless specified it seems appropriate to use [eff_value1,eff_value2,eff_value3] in the effcacy_values columns of the database when needed.

ID Description eff_value1 eff_value2 eff_value3 efficacy_values
1 Change Atk Param Atk Value      
2 Change Def Param Def Value      
3 Change Atk Def Param Atk Value Def Value    
4 Change Heal HP Hp Value      
5 Change Enegy Param Ki Value      
8 Change Condition Delay Leave all 3 eff values at 0 Use probability for chance Always use target enemy or all enemys  
9 Change Condition Stun Leave all 3 eff values at 0 Use probability for chance Always use target enemy or all enemys  
11 Change Attack Order        
12 Change Pain Attack        
13 Change Resist Damage 100-Reduction Value (%)      
16 Change Element Type Atk ATK (Element) Value      
17 Change Element Type Def DEF (Element) Value      
18 Change Element Type Atk Def ATK (Element) Value DEF (Element) Value    
19 Change Element Type Hp Param HP (Element) Value      
20 Change Element Type Enegy Param KI (Element) Value      
21 Change Recovery        
22 Change Condition Heal        
24 Change Guard Break Leave all 3 eff values at 0 Use probability for chance Always use target enemy or all enemys  
26 Change Absorb Special Energy        
27 Change Resist Special Damage 100-Reduction Value      
28 Change Absorb Deal Damage Recovery Value (%)      
34 Change Dokkan Gauge Bonus        
35 Change Heal Bonus        
36 Change Special Bonus        
37 Change Energy Bonus        
38 Change Link Skill Bonus Link Effect Value Boost (%)      
39 Change Element Type Energy Bonus        
40 Change Element Type Linkage Bonus        
43 Change Hp Atk        
44 Change Element Type Hp Atk        
46 Change Passive Probability Bonus        
47 Change Condition Psychic Leave all 3 eff values at 0 Use probability for chance Always use target enemy or all enemys  
48 Change Condition Seal Leave all 3 eff values at 0 Use probability for chance Always use target enemy or all enemys  
50 Change Invalid Bad Condition Leave all 3 eff values at 0 Use probability for chance Always use target private or all allies  
51 Change Energy Ball Color Change KI Orb (use element id) Target KI Orb (use element id)    
52 Change Resurrection Leave all 3 eff values at 0 Use probability for chance Always use target private or all allies  
53 Ignore Enemy Defense Leave all 3 eff values at 0 Use probability for chance Always use target private or all allies  
54 Change Invalid Combination Attack Bonus        
55 Change Target Def And Self Atk        
56 Change Target Def And Self Def        
57 Change Target Def And Self Energy        
58 Change Energy Ball Heal        
59 Change Energy Ball Proportional Atk ATK Value      
60 Change Energy Ball Proportional Def DEF Value      
61 Change Energy Ball Proportional Atk Def ATK Value DEF Value    
63 Change Special Energy Cost        
64 Change Element Type Energy Ball Proportional Atk Element Value (0-4) ATK Boost Value (%) Element Value (0-4)  
65 Change Element Type Energy Ball Proportional Def Element Value (0-4) DEF Boost Value (%) Element Value (0-4)  
66 Change Element Type Energy Ball Proportional Atk Def Element Value (0-4) ATK & DEF Boost Value (%) Element Value (0-4)  
67 Change Energy Ball Color Bitpattern Energy Ball Bitset Energy Ball Bitset    
68 Change Energy Ball Proportional Bitpattern Energy Ball Bitset 1 = ATK, 2= HP, 3 = DEF, 4 = Crit, 5 =Evasion, 6=Damage Reduction Value  
69 Change Energy Ball Color Specify Random Changes All orbs into (Element ID) Insert 1 Insert 1  
70 Change Energy Ball Color Specify Random Without Obstacles        
71 Change Hp Range Atk ATK Boost At MIN HP (%) ATK Boost At MAX HP (%) Always 1100  
72 Change Hp Range Def DEF Boost At MIN HP (%) DEF Boost At MAX HP (%) Always 1100  
73 Change Hp Range Atk Def ATK & DEF Boost At MIN HP (%) ATK & DEF Boost At MAX HP (%) Always 1100  
74 Change Hp Range Ball Heal        
75 Change Condition Disable Swap        
76 Change Condition Super Effective Atk Leave all 3 eff values at 0 Use probability for chance Always use Target Private, Unless You Want All Allies To Be Affected  
77 Change Reset Ball Color        
78 Guard Against All Attacks Leave all 3 eff values at 0 Use probability for chance Always use Target Private, Unless You Want All Allies To Be Affected  
79 Metamorphic Transformation (Full Rotation Transformation eg. Rage, Giant Ape, Metal Cooler Core, etc.) Transform Card Id Links to battle_params param_no for Set #1 Links to battle_params param_no for Set #2 (Conventionally 1 Number Above The ID Of Set #1 eg. Set#1 ID is 601, Set#2 ID Would Usually Be 602)  
80 Change Counter Attack Damage Reduction(%)(Optional) Counter Multiplier Lua Script # From Folder [lua] > [ab_script] > [attack_counter] > cXXXX.lua (the number you put is whatever is in XXXX, excluding the first 2 or 3 zeroes before the number)  
81 Change Extra Attack   Probability Second Attack Probability of attack being a Super Attack  
82 Change Element Type Hp Atk Def Type bitset Boost Value    
83 Change Element Type Energy Bitpattern Type bitset Boost Value    
84 Change Suicide Attack        
85 Change Step Extra Attack        
86 Change Special Atk Rate        
87 Change Element Type Attack Coef        
88 Change Element Type Defense Coef        
89 Change Element Type Attack Defense Coef        
90 Change Critical Attack Probability      
91 Change Dodge Probability      
92 Change Always Hit        
93 Change Element Type Bitpattern Hp        
94 Change Invalidate Stun        
95 Change Dodge Counter Attack Links to battle_params param_no Counter Multiplier Lua Script #  
96 Change Energy Ball Additional Point Energy Ball Bitset Ki Value    
97 Change Absorb Special Recover HP %? Special Category Raw Attribute Animation id [lua] > [ab_script] > [ab_sys] > as(nullification id).lua  
98 Change Incremental Param Increase ATK/DEF/Ki Value Maximum ATK/DEF/Ki Value 0 = Atk, 1 = Def, 2 = Critical Chance, 3 = Dodge, 4 = Damage Reduction, 5 = Ki Gain (for enemies use turn value of -1?)  
99 Change Invalidate Status Down        
100 Change Invalidate Astute        
101 Change Prediction Leave all 3 eff values at 0 Use probability for chance Always use Target Private  
102 Change Metamorphic Probability Count Limit        
103 Transformation Transform Card Id Turn Requirement Links to battle_params param_no  
104 Change HP Atk Def HP Value ATK Value DEF Value  
105 Replace Energy Ball Energy Ball Bitset Unknown Unknown  
106 Potential Heal Unknown Unknown Unknown  
107 Change Condition Stackable Delay Delay turn count 0 0  
108 Add Potential Skill Variable Parameter (nullptr) Unknown Unknown Unknown  
109 Revival Skill HP% to heal effect_pack Row BGM ID {"priority":int}
110 Remove Ability Efficacy Info And Inactive Ability Status Skill Types Table Skill id Skill Category Types Table A little clarification on this efficacy. It essentially deactivates a skill. This is how dr before attacking works. The Dr skill is activated at sot then removed when you attack.
111 Change Condition Attack Break 0 (use probability for chance) 0 0  
112 Change Invalidate Attack Break        
113 Threshold Damage        
114 Cannot Attack (nullptr) 0 0 0 {"text":string,"script_path":string} The string associated with the text key will display in the label. The script path is the path to the lua script that will be played. This is relative to the assets directory.
115 Update Standby Mode 0 0 0 {"type":string,"is_active":bool} types:charge,revival,special_counter
116 Charge Start       {"type":string,"gauge_value":int array,"count_multiplier":int,"max_effect_value":int,"ball_type_multiplier":int array} types:energy_ball,attack,normal_attack,special_attack,recived_attack,guard,dodge
117 End Transformation 0 0 0  
118 Add Special Atk Rate By Charge Count        
119 Counter Attack Behaviour (nullptr)     Unknown  
120 Counter Attack Same as eff 80 Same as eff 80 Same as eff 80  
121 Unknown (nullptr)        
122 Increased Receved Damage Received Damage Value      
123 Target Focus Leave all 3 eff values at 0 Use probability for chance Always use Target Private  
124 Incremental Critial Probability For Enemy Unknown Unknown Unknown  
125 Hp Damage Damage Value For Enemies always use target type 11 0  
126 Reflect Damage Damage Value (For Enemies always use target type 11. Use Exec timing type 5) Unknown Uknown {"text":string,"script_path"string} Same as 114
127 Set Plug In On Energy Ball With Bitpattern Unknown Unknown Unknown  
128 Dodge Counter Attack Behaviour Unknown Unknown Unknown  
129 Change Invalidate Always Hit Unknown Unknown Unknown  



Enemy Efficacy Table

The following table are the enemy efficacies mapped to player efficacies by the game’s base hash table.

Entropy has hooked the conversion function that converts the enemy efficacy to a player efficacy. All player efficacies are technically useable through this hook, however some do not work without further hooks. The enemy efficacy offset is 1000.

For example if you are trying to make a enemy who guards on sot use enemy efficacy type 1078. 1078 - 1000 = 78.

Note: Older enemy efficacies still work, such as enemy efficacy 7. While 7 returns 0 after being converted to a player efficacy, it’ll still reduce damage received by enemies.

Enemy Efficacy Type Player Efficacy Type
4 67
5 75
6 77
8 91
9 92
10 94
11 48
12 97
13 99
14 100
18 112
19 5
20 113
21 119
22 110
23 3
24 13
25 98
26 90
27 124
28 125
29 126
30 127



Target Types

Target Type Description
0 None
1 Self
2 Party All
3 Enemy
4 Enemy All
5 Self And Target
6 Party Race Type
7 Party Exist Chara
8 Target Excepct
9 Target Party Enemy Attack Order
10 Slot Attacker
11 Party Slot Random
12 Party Super Class
13 Party Extreme Class
14 Enemy Super Class
15 Enemy Extreme Class
16 Party All (self excluded)



Influence Types

Influence Type Description
0 None
1 Both Ends
2 Left
3 Right
4 Jump Left
5 Jump Right



Exec Timing

Exec Timing Description ef
1 Start Round ef
2 Link Skills ef
3 Your Turn ef
4 On Player Attack ef
5 Enemy Turn ef
6 Before Player Hit ef
7 After Player Hit ef
8 Battle Result Phase ef
9 End Round ef
10 Start Turn ef
11 End of Puzzle Phase ef
12 Start of Puzzle Phase ef
13 Unknown ef
14 After delivering a final blow ef
15 Acquired Energy Ball ef
16 Unknown ef
17 Dokkan Field Efficacies ef
18 Dokkan Field ef



Type Bitsets

Type Value
AGL 1
TEQ 2
INT 4
STR 8
PHY 16
Super 32
Extreme 64
Unknown 128
Unknown 256
Unknown 512
Unknown 1024
Unknown 2048
Super AGL 4096
Super TEQ 8192
Super INT 16384
Super STR 32768
Super PHY 65536
Extreme AGL 131072
Extreme TEQ 262144
Extreme INT 524288
Extreme STR 1048576
Extreme PHY 2097512
Unknown 4194304
Unknown 8388608
Unknown 16777216



Energy Ball Bitsets

Type Value
AGL 1
TEQ 2
INT 4
STR 8
PHY 16
Rainbow 32
Unknown 64
Unknown 128
Unknown 256
Candies 448
Unknown 512
Unknown 1024
Unknown 2048
Carrot 4096
Unknown 8192
Unknown 16384
Unknown 32768
Unknown 65536
Unknown 131072
Unknown 262144
Unknown 524288
Unknown 1048576
Unknown 2097512
Unknown 4194304
Unknown 8388608
Unknown 16777216



Effect Pack Category

Effect Pack Category Animation Path
0 comic_text/ja/%s/%s.lwf
1 ingame/battle/effect/%s/%s.lwf
2 ingame/sugoroku/effect/%s/%s.lwf
3 outgame/effect/%s/%s.lwf
4 ingame/battle/sp_effect/%s/%s/%s.lwf
5 ingame/battle/sp_effect/%s/%s.lwf



Link Check Type Name Description
0 isLinkCheckType Unknown
1 isLinkCheckSlotChara Unknown
2 isLinkCheckUnderHprate Unknown
3 isLinkCheckExistChara Unknown
4 isLinkCheckPercentage Unknown
5 isLinkCheckSpecialConsecutive Unknown