|
|
|
@ -63,7 +63,7 @@ function PageControl(p) { |
|
|
|
|
function Class(p) { |
|
|
|
|
const CLASSES = p.GetData("class") |
|
|
|
|
const class_obj = CLASSES[p.name] |
|
|
|
|
return CLASSES!=="no data"?class_obj?<><img alt="" src={process.env.PUBLIC_URL+class_obj.icon}/>{class_obj.name}</>:<></>:<><img alt="" width="24" src={DisplayIcon("")}/>Nico</> |
|
|
|
|
return CLASSES!=="no data"?class_obj?<><img alt="" src={process.env.PUBLIC_URL+class_obj.icon}/>{class_obj.name}</>:<></>:<>-</> |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function EditableClass(p){ |
|
|
|
@ -308,6 +308,7 @@ const [effectPage,setEffectPage] = useState(1) |
|
|
|
|
const [weaponPage,setWeaponPage] = useState(1) |
|
|
|
|
const [statPage,setStatPage] = useState(1) |
|
|
|
|
|
|
|
|
|
const [foodMenuWindowOpen,setFoodMenuWindowOpen] = useState(false) |
|
|
|
|
const [classSelectWindowOpen,setClassSelectWindowOpen] = useState(false) |
|
|
|
|
const [classSkillTreeWindowOpen,setClassSkillTreeWindowOpen] = useState(false) |
|
|
|
|
const [treePage,setTreePage] = useState(1) |
|
|
|
@ -369,24 +370,24 @@ useEffect(()=>{ |
|
|
|
|
<div className="boxTitleBar"> |
|
|
|
|
<h1>Basic Information</h1></div> |
|
|
|
|
<div className="basicInfo"> |
|
|
|
|
<div style={{gridArea:"author"}}>Author</div><div style={{gridArea:"player",textAlign:"right"}}><EditBoxInput setData={setauthor} data={author}/></div> |
|
|
|
|
<div style={{gridArea:"build"}}>Build Name</div><div style={{gridArea:"character",textAlign:"right"}}><EditBoxInput setData={setbuildName} data={buildName}/></div> |
|
|
|
|
<div style={{gridArea:"class"}} onClick={()=>{setClassSelectWindowOpen(true)}}>Class</div><div><EditableClass editClass={0} setClassNameSetter={setClassNameSetter} GetData={p.GetData} setClassName={setClassName} name={className} setClassSelectWindowOpen={setClassSelectWindowOpen}></EditableClass></div><div style={{textAlign:"right"}}><EditBoxInput prefix="Lv." setData={setLevel} data={level} type="number"/></div> |
|
|
|
|
<div style={{gridArea:"subClass"}} onClick={()=>{setClassSkillTreeWindowOpen(true)}}>Sub-Class</div><div><EditableClass editClass={1} setClassNameSetter={setClassNameSetter} GetData={p.GetData} setClassName={setSubClassName} name={subclassName} setClassSelectWindowOpen={setClassSelectWindowOpen}></EditableClass></div><div style={{textAlign:"right"}}><EditBoxInput prefix="Lv." setData={setsecondaryLevel} data={secondaryLevel} type="number"/></div> |
|
|
|
|
<div style={{gridArea:"author"}}><span>Author</span></div><div style={{gridArea:"player",textAlign:"right"}}><EditBoxInput setData={setauthor} data={author}/></div> |
|
|
|
|
<div style={{gridArea:"build"}}><span>Build Name</span></div><div style={{gridArea:"character",textAlign:"right"}}><EditBoxInput setData={setbuildName} data={buildName}/></div> |
|
|
|
|
<div style={{gridArea:"class"}} onClick={()=>{setClassSelectWindowOpen(true)}}><span>Class</span></div><div><EditableClass editClass={0} setClassNameSetter={setClassNameSetter} GetData={p.GetData} setClassName={setClassName} name={className} setClassSelectWindowOpen={setClassSelectWindowOpen}></EditableClass></div><div style={{textAlign:"right"}}><EditBoxInput prefix="Lv." setData={setLevel} data={level} type="number"/></div> |
|
|
|
|
<div style={{gridArea:"subClass"}} onClick={()=>{setClassSkillTreeWindowOpen(true)}}><span>Sub-Class</span></div><div><EditableClass editClass={1} setClassNameSetter={setClassNameSetter} GetData={p.GetData} setClassName={setSubClassName} name={subclassName} setClassSelectWindowOpen={setClassSelectWindowOpen}></EditableClass></div><div style={{textAlign:"right"}}><EditBoxInput prefix="Lv." setData={setsecondaryLevel} data={secondaryLevel} type="number"/></div> |
|
|
|
|
</div> |
|
|
|
|
<div className="statsInfo"> |
|
|
|
|
<div style={{gridArea:"bp"}}>Battle Power</div><div>{p.bp}</div><div style={{gridArea:"bpGraph"}}><div className="barGraph"><span className="barOverlay" style={{background:"linear-gradient(90deg,transparent 0% "+((p.bp/bpGraphMax)*100)+"%,black "+((p.bp/bpGraphMax)*100)+"%)"}}> </span></div></div> |
|
|
|
|
<div style={{gridArea:"hp"}}>HP</div><div>{p.hp}</div><div style={{gridArea:"hpGraph"}}><div className="barGraph"><span className="barOverlay" style={{background:"linear-gradient(90deg,transparent 0% "+((p.hp/hpGraphMax)*100)+"%,black "+((p.hp/hpGraphMax)*100)+"%)"}}> </span></div></div> |
|
|
|
|
<div style={{gridArea:"pp"}}>PP</div><div>{p.pp}</div><div style={{gridArea:"ppGraph"}}><div className="barGraph"><span className="barOverlay" style={{background:"linear-gradient(90deg,transparent 0% "+((p.pp/ppGraphMax)*100)+"%,black "+((p.pp/ppGraphMax)*100)+"%)"}}> </span></div></div> |
|
|
|
|
<div style={{gridArea:"atk"}}>Attack</div><div>{p.statDisplayAtk}</div><div style={{gridArea:"atkGraph"}}><div className="barGraph"><span className="barOverlay" style={{background:"linear-gradient(90deg,transparent 0% "+((p.statDisplayAtk/atkGraphMax)*100)+"%,black "+((p.statDisplayAtk/atkGraphMax)*100)+"%)"}}> </span></div></div> |
|
|
|
|
<div style={{gridArea:"def"}}>Defense</div><div>{p.def}</div><div style={{gridArea:"defGraph"}}><div className="barGraph"><span className="barOverlay" style={{background:"linear-gradient(90deg,transparent 0% "+((p.def/defGraphMax)*100)+"%,black "+((p.def/defGraphMax)*100)+"%)"}}> </span></div></div> |
|
|
|
|
|
|
|
|
|
<div style={{gridArea:"wepUp"}}>Weapon Up</div> |
|
|
|
|
<div style={{gridArea:"wepUp2"}}><img alt="" src={process.env.PUBLIC_URL+"/icons/mel.png"} /><span className="ye"> +{(p.weaponUp1*100).toFixed(1)}%</span><br /> |
|
|
|
|
<img alt="" src={process.env.PUBLIC_URL+"/icons/tec.png"} /><span className="ye"> +{(p.weaponUp3*100).toFixed(1)}%</span></div> |
|
|
|
|
<div style={{gridArea:"wepUp3"}}><img alt="" src={process.env.PUBLIC_URL+"/icons/rng.png"} /><span className="ye"> +{(p.weaponUp2*100).toFixed(1)}%</span></div> |
|
|
|
|
|
|
|
|
|
<div style={{gridArea:"res"}}>Ailment Resist.</div> |
|
|
|
|
<div style={{gridArea:"bp"}}><span>Battle Power</span></div><div>{p.bp}</div><div style={{gridArea:"bpGraph"}}><div className="barGraph"><span className="barOverlay" style={{background:"linear-gradient(90deg,transparent 0% "+((p.bp/bpGraphMax)*100)+"%,black "+((p.bp/bpGraphMax)*100)+"%)"}}> </span></div></div> |
|
|
|
|
<div style={{gridArea:"hp"}}><span>HP</span></div><div>{p.hp}</div><div style={{gridArea:"hpGraph"}}><div className="barGraph"><span className="barOverlay" style={{background:"linear-gradient(90deg,transparent 0% "+((p.hp/hpGraphMax)*100)+"%,black "+((p.hp/hpGraphMax)*100)+"%)"}}> </span></div></div> |
|
|
|
|
<div style={{gridArea:"pp"}}><span>PP</span></div><div>{p.pp}</div><div style={{gridArea:"ppGraph"}}><div className="barGraph"><span className="barOverlay" style={{background:"linear-gradient(90deg,transparent 0% "+((p.pp/ppGraphMax)*100)+"%,black "+((p.pp/ppGraphMax)*100)+"%)"}}> </span></div></div> |
|
|
|
|
<div style={{gridArea:"atk"}}><span>Attack</span></div><div>{p.statDisplayAtk}</div><div style={{gridArea:"atkGraph"}}><div className="barGraph"><span className="barOverlay" style={{background:"linear-gradient(90deg,transparent 0% "+((p.statDisplayAtk/atkGraphMax)*100)+"%,black "+((p.statDisplayAtk/atkGraphMax)*100)+"%)"}}> </span></div></div> |
|
|
|
|
<div style={{gridArea:"def"}}><span>Defense</span></div><div>{p.def}</div><div style={{gridArea:"defGraph"}}><div className="barGraph"><span className="barOverlay" style={{background:"linear-gradient(90deg,transparent 0% "+((p.def/defGraphMax)*100)+"%,black "+((p.def/defGraphMax)*100)+"%)"}}> </span></div></div> |
|
|
|
|
|
|
|
|
|
<div style={{gridArea:"wepUp"}}><span>Weapon Up</span></div> |
|
|
|
|
<div style={{gridArea:"wepUp2",color:"#ffb74c"}}><img alt="" src={process.env.PUBLIC_URL+"/icons/mel.png"} /> +{(p.weaponUp1*100).toFixed(1)}%<br /> |
|
|
|
|
<img alt="" src={process.env.PUBLIC_URL+"/icons/tec.png"} /> +{(p.weaponUp3*100).toFixed(1)}%</div> |
|
|
|
|
<div style={{gridArea:"wepUp3",color:"#ffb74c"}}><img alt="" src={process.env.PUBLIC_URL+"/icons/rng.png"} /> +{(p.weaponUp2*100).toFixed(1)}%</div> |
|
|
|
|
|
|
|
|
|
<div style={{gridArea:"res"}}><span>Ailment Resist.</span></div> |
|
|
|
|
<div style={{gridArea:"res2"}}> |
|
|
|
|
<img alt="" src={process.env.PUBLIC_URL+"/icons/status/burn.png"} /> {(p.burnResist*100).toFixed(1)}%<br /> |
|
|
|
|
<img alt="" src={process.env.PUBLIC_URL+"/icons/status/shock.png"} /> {(p.shockResist*100).toFixed(1)}%<br /> |
|
|
|
@ -399,7 +400,7 @@ useEffect(()=>{ |
|
|
|
|
<img alt="" src={process.env.PUBLIC_URL+"/icons/status/poison.png"} /> {(p.poisonResist*100).toFixed(1)}%<br /> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div style={{gridArea:"dmgRes"}}>Damage Resist.</div><div style={{gridArea:"dmgRes2"}}>{(p.damageResist*100).toFixed(1)}%</div> |
|
|
|
|
<div style={{gridArea:"dmgRes"}}><span>Damage Resist.</span></div><div style={{gridArea:"dmgRes2"}}>{(p.damageResist*100).toFixed(1)}%</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
@ -407,7 +408,7 @@ useEffect(()=>{ |
|
|
|
|
<div className="boxTitleBar"> |
|
|
|
|
<h1>Current Effects</h1></div> |
|
|
|
|
<PageControl pages={2} currentPage={effectPage} setCurrentPage={setEffectPage}/> |
|
|
|
|
{effectPage===1?<><h3>Effect Name</h3><ul className="infoBuffs"><li>Food Boost Effect |
|
|
|
|
{effectPage===1?<><h3>Effect Name</h3><ul className="infoBuffs"><li onClick={()=>{setFoodMenuWindowOpen(true)}}>Food Boost Effect |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -459,9 +460,8 @@ ELEMENT<br /> |
|
|
|
|
EQUIP CONDITIONS<br /> |
|
|
|
|
NOT TRADABLE |
|
|
|
|
</div> |
|
|
|
|
<div className="itemDetailsContent"> |
|
|
|
|
|
|
|
|
|
POTENTIAL PRESET SKILL |
|
|
|
|
<div className="itemPotential">POTENTIAL</div><div className="itemPreset">PRESET</div> |
|
|
|
|
<div className="itemDetailsAugment"> |
|
|
|
|
AUGMENT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -536,6 +536,9 @@ AUGMENT |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
<div className="containerC"> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className="box"> |
|
|
|
|
<div className="boxTitleBar"> |
|
|
|
|
<h1>Damage Stats</h1></div> |
|
|
|
@ -686,6 +689,18 @@ AUGMENT |
|
|
|
|
setArmorSelectWindowOpen(false)}}><div className="itemWeaponWrapper"><img className="itemimg" alt="" src={DisplayIcon(item?.icon)} /><em className="rifle">{item.name}</em></div><br /><span className="atk">{item.def}</span></li>}} |
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
<SelectorWindow className="itemBox" title={"Food Menu"} modalOpen={foodMenuWindowOpen} setModalOpen={setFoodMenuWindowOpen} GetData={p.GetData}> |
|
|
|
|
|
|
|
|
|
<li className="itemWrapper"> |
|
|
|
|
<div className="itemImgWrapper"><img alt="" src={DisplayIcon("icons/food/aelio_meat.png")} /></div> |
|
|
|
|
<div className="itemNameWrapper meat">meet</div> |
|
|
|
|
<div className="itemRarityWrapper"><img alt="" src={DisplayIcon("icons/NGSUIRarity1Star.png")} /></div> |
|
|
|
|
<div className="itemPropertiesWrapper"><span className="atk">9999</span><span class="pot">Indomitable Unit</span></div> |
|
|
|
|
<div className="itemControlsWrapper"><span>-</span><span>99</span><span>+</span></div> |
|
|
|
|
</li> |
|
|
|
|
|
|
|
|
|
</SelectorWindow> |
|
|
|
|
|
|
|
|
|
</> |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|