diff --git a/_core/lib/sw2.0/edit-chara.pl b/_core/lib/sw2.0/edit-chara.pl
index 2abc3f8a8..c234b63aa 100644
--- a/_core/lib/sw2.0/edit-chara.pl
+++ b/_core/lib/sw2.0/edit-chara.pl
@@ -913,7 +913,12 @@ sub classInputBox {
| ${name}
| $data::class{$name}{craft}{jName}
- |
+ |
+HTML
+ if ($data::class{$name}{craft}{personalization} // 1) {
+ print "";
+ }
+ print <<"HTML";
|
HTML
if($data::class{$name}{craft}{power}){
diff --git a/_core/lib/sw2/calc-chara.pl b/_core/lib/sw2/calc-chara.pl
index dbe2a916c..23deb3763 100644
--- a/_core/lib/sw2/calc-chara.pl
+++ b/_core/lib/sw2/calc-chara.pl
@@ -536,7 +536,7 @@ sub data_calc {
+ int(($pc{sttInt}
+ $pc{sttAddE}
+ $pc{sttEquipE}
- + ($pc{'magicPowerOwn'.$id} ? 2 : 0)) / 6)
+ + (($data::class{$name}{magic}{personalization} // 1) && $pc{'magicPowerOwn'.$id} ? 2 : 0)) / 6)
+ $pc{'magicPowerAdd'.$id}
+ $pc{magicPowerAdd}
+ $pc{magicPowerEnhance}
@@ -553,7 +553,7 @@ sub data_calc {
next if (!$data::class{$name}{craft}{stt});
my $id = $data::class{$name}{id};
my $st = $data::class{$name}{craft}{stt};
- $pc{'magicPower'.$id} = $pc{'lv'.$id} ? ( $pc{'lv'.$id} + int(($pc{'stt'.$stt{$st}[0]} + $pc{'sttAdd'.$stt{$st}[1]} + $pc{'sttEquip'.$stt{$st}[1]} + ($pc{'magicPowerOwn'.$id} ? 2 : 0)) / 6) + $pc{'magicPowerAdd'.$id} ) : 0;
+ $pc{'magicPower'.$id} = $pc{'lv'.$id} ? ( $pc{'lv'.$id} + int(($pc{'stt'.$stt{$st}[0]} + $pc{'sttAdd'.$stt{$st}[1]} + $pc{'sttEquip'.$stt{$st}[1]} + (($data::class{$name}{craft}{personalization} // 1) && $pc{'magicPowerOwn'.$id} ? 2 : 0)) / 6) + $pc{'magicPowerAdd'.$id} ) : 0;
}
$pc{magicPowerAlc} += $pc{alchemyEnhance};
diff --git a/_core/lib/sw2/data-class.pl b/_core/lib/sw2/data-class.pl
index 99a2c6dd9..1356a2a31 100644
--- a/_core/lib/sw2/data-class.pl
+++ b/_core/lib/sw2/data-class.pl
@@ -612,6 +612,7 @@ package data;
jName => '操気',
eName => 'psychokinesis',
stt => '精神力',
+ personalization => 0,
power => '理力',
data => [
[1,'気集中','[補]'],
diff --git a/_core/lib/sw2/edit-chara.js b/_core/lib/sw2/edit-chara.js
index 2cb6dc37d..2ab352cc5 100644
--- a/_core/lib/sw2/edit-chara.js
+++ b/_core/lib/sw2/edit-chara.js
@@ -1237,7 +1237,7 @@ function calcMagic() {
if(cLv){ openMagic++; }
const seekerMagicAdd = (lvSeeker && checkSeekerAbility('魔力上昇') && cLv >= 15) ? 3 : 0;
- let power = cLv + parseInt((stt.totalInt + (form["magicPowerOwn"+id].checked ? 2 : 0)) / 6) + Number(form["magicPowerAdd"+id].value) + addPower + seekerMagicAdd + raceAbilityMagicPower;
+ let power = cLv + parseInt((stt.totalInt + ((form["magicPowerOwn"+id]?.checked ?? false) ? 2 : 0)) / 6) + Number(form["magicPowerAdd"+id].value) + addPower + seekerMagicAdd + raceAbilityMagicPower;
if(id === 'Pri' && (
raceAbilities.includes('神の御名と共に')
|| raceAbilities.includes('神への礼賛')
@@ -1257,10 +1257,10 @@ function calcMagic() {
let power = cLv;
if (SET.class[key].craft.stt === '知力') {
- power += parseInt((stt.totalInt + (form["magicPowerOwn"+id].checked ? 2 : 0)) / 6);
+ power += parseInt((stt.totalInt + ((form["magicPowerOwn"+id]?.checked ?? false) ? 2 : 0)) / 6);
}
else if(SET.class[key].craft.stt === '精神力'){
- power += parseInt((stt.totalMnd + (form["magicPowerOwn"+id].checked ? 2 : 0)) / 6);
+ power += parseInt((stt.totalMnd + ((form["magicPowerOwn"+id]?.checked ?? false) ? 2 : 0)) / 6);
}
if(SET.class[key].craft.power){
power += Number(form["magicPowerAdd"+id].value);
diff --git a/_core/lib/sw2/edit-chara.pl b/_core/lib/sw2/edit-chara.pl
index 3bc3f9d23..5c24a9ec1 100644
--- a/_core/lib/sw2/edit-chara.pl
+++ b/_core/lib/sw2/edit-chara.pl
@@ -913,7 +913,12 @@ sub classInputBox {
|
| ${name}
| $data::class{$name}{craft}{jName}
- |
+ |
+HTML
+ if ($data::class{$name}{craft}{personalization} // 1) {
+ print "";
+ }
+ print <<"HTML";
|
HTML
if($data::class{$name}{craft}{power}){
|