useEffect(()=>{ setRawDmg(((weaponTotalAtk*dmgVariance)+baseAtk-enemyDef)*multipliers/5) },[weaponTotalAtk,dmgVariance,baseAtk,enemyDef,multipliers]) **Hello** **Min** = ( ( ( Weapon Attack Power + Weapon Enhancement) * Minimum Damage Variance ) + Base Attack Power - Enemy Defense ) * Multipliers / 5 **Max** = ( Weapon Attack Power + Weapon Enhancement + Base Attack Power - Enemy Defense ) * Multipliers / 5 **Average Non-Crit** = ( Min + Max ) / 2 **Crit Damage** = Crit Damage Multipliers *Innate 1.2, Fixa Termina* * Max **Crit Rate** = Innate 0.05 + Resurgir Potential (Checkbox) + Fixa Fatale **Effective Damage** = Average Non-Crit + Crit Rate * ( Max * Crit Damage - Average Non-Crit ) Attack Multiplier based on Normal Atk or PA used NEED TO ADD TO DB **Checkbox** Part Multiplier Usually 1 or 1.5 CUSTOM FIELD - db way later? **Checkbox** Elemental Weakness Multiplier 1.2 CHECKBOX - db way later? **Auto** Main Class Weapon Boost 1.1 AUTO - already in db **Auto** Class Skill Multiplier NEED TO ADD TO DB Equip Multipliers **Selector** Augment AUTO - already in db **Dropdown** Elemental Weapon 1.15 against weak, 1.1 against non-weak DROPDOWN **Auto** Crit Multis 1.2 base + whatever AUTO - (preset skill termina, already in db) **Radio Button** Appropriate Distance FOR UI, CHECK IF BELOW THEN SHOW DROPDOWN Assault Rifle Close Range 1.1, Mid Range 1.2, Long Range 1.0 TMG Close Range 1.1, Mid Range 1.2, Long Range 1.0 Wired Lance Short Range 1.0, Mid Range 1.2 **Selector** Food Boost AUTO - ALREADY IN DB **Need - Check Drome??** Field Effects Region Mag 1.05, Drone Boost 1.1 CHECKBOX Status Ailment to Player burn 0.9-0.95 IDC RN - IMPLEMENTED VIA CUSTOM BOX Enemy Special Corrections **Radio Button** UQ Boss BREAK damage 2.0 CHECKBOX -> ENEMY **Radio Button** Gigantix 0.5 CHECKBOX -> ENEMY Enemy Shifta/Deband worry later **Input Number** High-Level Enemy Enemy level >=5 player level, dmg x 0 **Input Number** Enemy Defense Base Damage = (Attack Power - Enemy Defense) * (all multipliers, including Attack Multiplier, Part Multiplier, Main Class Weapon Boost, Class Skill Multiplier, etc.)/5 https://docs.google.com/spreadsheets/d/1F952a5BxqlbnB2DWQWWdjiCB_6xI70Gc6FQDU2OUOT4/edit#gid=0 Data Verfication Data https://docs.google.com/spreadsheets/d/1_OgubzM5QFe4rua4Xu0GSMAI8Idoq8r2yI8Ioyec6oY/edit#gid=661779228 MORE DATABASE STUFF LATER Enemy Data Level Defense Attack Power -> custom field [Level, Defense, Atk Power] <- 2. The players maximum Attack Power is determined by the level of the enemy. If the attack power is over a certain value, it will be corrected down (e.g. Lv1=900, Lv10=1068, Lv20=1292). 3. Calculate the Base Damage using the following formula.  Base Damage = (Attack Power - Enemy Defense) * (all multipliers, including Attack Multiplier, Part Multiplier, Main Class Weapon Boost, Class Skill Multiplier, etc.)/5 4. Round the Base Damage to the nearest whole number to get the final damage." ___ **Edge Cases** **Hunter** Volkraptor **Gunner Sux** Chain Boost **Force** Photon Flare Short Charge **Techter** Deband PP Recovery Boost Deband Ward Bad Condition Chain Build Power = 60 * (Power when building 100 chain with that PA + (Power of 100 Chain, C Point Blank * 1 + Point Blank * 2 + Onslaught) + (Power of S Roll * 3)) ÷ (Frame Count when building 100 chain with that PA + (Frame Count of C Point Blank * 1 + Point Blank * 2 + Onslaught) + (Frames of S Roll * 3)) = 60 * (PA power * (100 / hit count) + 2*(C Point*1 + Point*2 + Onslaught) + S Roll*3 power)/((PA frames / 1.2)*(100 / hit count)+30+(62*3+38+38*3)/1.2) ___ TABLE class_skill{ id int [pk,increment,unique] name text class_id int icon text description text } TABLE class_skill_data{ id int [pk,increment,unique] name text class_skill_id int dependency text level int effect text duration int cooldown int damage_taken float pa_potency float conditional_buff boolean pp_recovery float property text all_damage_buff float active_pp_recovery float status_ailment_accum float status_ailment_duration float pp_consumption float max_hp_decrease float natural_pp_recovery float added_pp int pb_gauge_fortification float } */