From 883d5f4da46fd0f91dfb741c95ec9afcf37a19b3 Mon Sep 17 00:00:00 2001 From: Joshua Sigona Date: Thu, 5 Aug 2021 21:33:53 +0900 Subject: [PATCH] Photon Arts table and Enemy data tables added. And with notes. --- src/App.js | 60 +++++++++++++++++++--- src/NOTES.md | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 190 insertions(+), 7 deletions(-) create mode 100644 src/NOTES.md diff --git a/src/App.js b/src/App.js index 5066ca6..77a8762 100644 --- a/src/App.js +++ b/src/App.js @@ -23,9 +23,19 @@ const parse = require('csv-parse/lib/sync') const BACKEND_URL = process.env.REACT_APP_GITPOD_WORKSPACE_URL||process.env.REACT_APP_BACKEND_URL||'https://projectdivar.com:4504'; //You can specify a .env file locally with REACT_APP_BACKEND_URL defining a URL to retrieve data from. -/*const MELEE_DMG = 0 +/* +Damage types +const MELEE_DMG = 0 const RANGE_DMG = 1 -const TECH_DMG = 2 //NOT USED YET*/ +const TECH_DMG = 2 + +Art properties +const NORMAL = 0 +const PHOTON_ART = 1 +const WEAPON_ACTION = 2 +const STEP_COUNTER = 3 +const PARRY_COUNTER = 4 +//NOT USED YET*/ function Col(p) { return
@@ -554,6 +564,7 @@ function AdminPanel(p) { Weapon Existence Data
Weapon Types
Class-Weapon Compatibility
+ Photon Arts

Armor
Potentials
@@ -564,9 +575,12 @@ function AdminPanel(p) { Skills
Skill Types
Skill Data
+ Photon Arts

Augments
Augment Types
+
+ Enemy Data

Food
Food Multipliers
@@ -585,6 +599,9 @@ function AdminPanel(p) { + + + @@ -621,6 +638,9 @@ function AdminPanel(p) { + + + @@ -660,23 +680,23 @@ function DamageCalculator(p) { axios.get(BACKEND_URL+"/augment") .then((data)=>{ var augmentData = {} - data.data.rows.forEach((entry)=>{augmentData[entry.id]=entry}) + data.data.rows.forEach((entry)=>{augmentData[entry.name]=entry}) setAugmentData(augmentData) }) },[]) const character = { weapon:{ - augments:[13,7,2,5] + augments:["1","2"] }, armor1:{ - augments:[13,1,5] + augments:["2"] }, armor2:{ - augments:[13,2,8] + augments:[] }, armor3:{ - augments:[13,4,1] + augments:[] } } @@ -722,6 +742,32 @@ function DamageCalculator(p) { useEffect(()=>{ setRawDmg(((weaponTotalAtk*dmgVariance)+baseAtk-enemyDef)*multipliers/5) },[weaponTotalAtk,dmgVariance,baseAtk,enemyDef,multipliers]) + + const [atkmult,setAtkMult] = useState(1); + const [partmult,setPartMult] = useState(1); + const [elementalWeaknessMult,setElementalWeaknessMult] = useState(1.2) + const [mainClassWeaponBoost,setMainClassWeaponBoost] = useState(1.1) + const [classSkillMult,setClassSkillMult] = useState(1) + const [equipMult,setEquipMult] = useState(1) + + const [augmentEquipMult,setAugmentEquipMult] = useState(1) + const [potencyFloorEquipMult,setPotencyFloorEquipMult] = useState(1) + const [elementalWeaponEquipMult,setElementalWeaponEquipMult] = useState(1.1) + + const [critMult,setCritMult] = useState(1.2) + const [appropriateDistance,setAppropriateDistance] = useState(1) + + const [foodBoost,setFoodBoost] = useState(1) + const [fieldEffects,setFieldEffects] = useState(1.05) + const [statusAilments,setStatusAilments] = useState(1) + + const [enemyCorrectionMult,setEnemyCorrectionMult] = useState(1) + + const [highLevelEnemy,setHighLevelEnemy] = useState(1) + + useEffect(()=>{ + setMultipliers(atkmult*partmult*elementalWeaknessMult*mainClassWeaponBoost*classSkillMult*equipMult*augmentEquipMult*potencyFloorEquipMult*elementalWeaponEquipMult*critMult*appropriateDistance*foodBoost*fieldEffects*statusAilments*enemyCorrectionMult*highLevelEnemy) + },[atkmult,partmult,elementalWeaknessMult,mainClassWeaponBoost,classSkillMult,equipMult,augmentEquipMult,potencyFloorEquipMult,elementalWeaponEquipMult,critMult,appropriateDistance,foodBoost,fieldEffects,statusAilments,enemyCorrectionMult,highLevelEnemy]) return <>
diff --git a/src/NOTES.md b/src/NOTES.md new file mode 100644 index 0000000..8a1b7db --- /dev/null +++ b/src/NOTES.md @@ -0,0 +1,137 @@ +useEffect(()=>{ + setRawDmg(((weaponTotalAtk*dmgVariance)+baseAtk-enemyDef)*multipliers/5) +},[weaponTotalAtk,dmgVariance,baseAtk,enemyDef,multipliers]) + +**Hello** +/* + + 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) + + +Base Damage = (Attack Power - Enemy Defense) +* (all multipliers, including Attack Multiplier, Part Multiplier, Main Class Weapon Boost, Class Skill Multiplier, etc.)/5 + +Attack Multiplier based on Normal Atk or PA used NEED TO ADD TO DB +Part Multiplier Usually 1 or 1.5 CUSTOM FIELD - db later +Elemental Weakness Multiplier 1.2 CHECKBOX - db later +Main Class Weapon Boost 1.1 AUTO - already in db +Class Skill Multiplier NEED TO ADD TO DB +Equip Multipliers + Augment AUTO - already in db + Elemental Weapon 1.15 against weak, 1.1 against non-weak DROPDOWN +Crit Multis 1.2 base + whatever AUTO - (preset skill termina, already in db) +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 +Food Boost AUTO - ALREADY IN DB +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 + UQ Boss BREAK damage 2.0 CHECKBOX -> ENEMY + Gigantix 0.5 CHECKBOX -> ENEMY + Enemy Shifta/Deband worry later + +High-Level Enemy Enemy level >=5 player level, dmg x 0 + + + +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] <- + + +Patty Size + 5oz + 7oz + +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 +/* + + +Add photon_art table + name + weapon_type_id + potency + power_distribution + pp + frames + dps +Add enemy_data table + level + def + atk + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +*/ \ No newline at end of file