@@ -47,6 +47,7 @@ function CustomWeapons() {
4747 const [ weaponName , setWeaponName ] = useState ( "" ) ;
4848 const [ selectedCategory , setSelectedCategory ] = useState ( categories [ 0 ] ) ;
4949 const [ selectedRange , setSelectedRange ] = useState ( range [ 0 ] ) ;
50+ const [ martial , setMartial ] = useState ( false ) ;
5051 const [ selectedAccuracyCheck , setSelectedAccuracyCheck ] = useState ( accuracyChecks [ 0 ] ) ;
5152 const [ selectedType , setSelectedType ] = useState ( types [ 0 ] ) ;
5253 const [ currentCustomizations , setCurrentCustomizations ] = useState ( [ ] ) ;
@@ -59,6 +60,7 @@ function CustomWeapons() {
5960 const [ secondWeaponName , setSecondWeaponName ] = useState ( "" ) ;
6061 const [ secondSelectedCategory , setSecondSelectedCategory ] = useState ( categories [ 0 ] ) ;
6162 const [ secondSelectedRange , setSecondSelectedRange ] = useState ( range [ 0 ] ) ;
63+ const [ secondMartial , setSecondMartial ] = useState ( false ) ;
6264 const [ secondSelectedAccuracyCheck , setSecondSelectedAccuracyCheck ] = useState ( accuracyChecks [ 0 ] ) ;
6365 const [ secondSelectedType , setSecondSelectedType ] = useState ( types [ 0 ] ) ;
6466 const [ secondCurrentCustomizations , setSecondCurrentCustomizations ] = useState ( [ ] ) ;
@@ -202,6 +204,7 @@ function CustomWeapons() {
202204 setWeaponName ( "" ) ;
203205 setSelectedCategory ( categories [ 0 ] ) ;
204206 setSelectedRange ( range [ 0 ] ) ;
207+ setMartial ( false ) ;
205208 setSelectedAccuracyCheck ( accuracyChecks [ 0 ] ) ;
206209 setSelectedType ( types [ 0 ] ) ;
207210 setCurrentCustomizations ( [ ] ) ;
@@ -213,6 +216,7 @@ function CustomWeapons() {
213216 setSecondWeaponName ( "" ) ;
214217 setSecondSelectedCategory ( categories [ 0 ] ) ;
215218 setSecondSelectedRange ( range [ 0 ] ) ;
219+ setSecondMartial ( false ) ;
216220 setSecondSelectedAccuracyCheck ( accuracyChecks [ 0 ] ) ;
217221 setSecondSelectedType ( types [ 0 ] ) ;
218222 setSecondCurrentCustomizations ( [ ] ) ;
@@ -254,6 +258,7 @@ function CustomWeapons() {
254258 setWeaponName ( "" ) ;
255259 setSelectedCategory ( "" ) ;
256260 setSelectedRange ( "" ) ;
261+ setMartial ( false ) ;
257262 setSelectedAccuracyCheck ( accuracyChecks [ 0 ] ) ;
258263 setSelectedType ( "" ) ;
259264 setCurrentCustomizations ( [ ] ) ;
@@ -270,6 +275,9 @@ function CustomWeapons() {
270275 if ( data . range && range . includes ( data . range ) ) {
271276 setSelectedRange ( data . range ) ;
272277 }
278+ if ( data . martial ) {
279+ setMartial ( data . martial ) ;
280+ }
273281 if ( data . accuracyCheck && data . accuracyCheck . att1 && data . accuracyCheck . att2 ) {
274282 const matchingCheck = accuracyChecks . find (
275283 check => check . att1 === data . accuracyCheck . att1 && check . att2 === data . accuracyCheck . att2
@@ -336,6 +344,9 @@ function CustomWeapons() {
336344 if ( data . secondSelectedRange && range . includes ( data . secondSelectedRange ) ) {
337345 setSecondSelectedRange ( data . secondSelectedRange ) ;
338346 }
347+ if ( data . secondMartial ) {
348+ setSecondMartial ( data . secondMartial ) ;
349+ }
339350 if ( data . secondSelectedAccuracyCheck ) {
340351 const matchingCheck = accuracyChecks . find (
341352 check => check . att1 === data . secondSelectedAccuracyCheck . att1 && check . att2 === data . secondSelectedAccuracyCheck . att2
@@ -495,6 +506,20 @@ function CustomWeapons() {
495506 />
496507 </ Grid >
497508
509+ { selectedRange === "weapon_range_ranged" && (
510+ < Grid item xs = { 12 } sm = { 6 } >
511+ < FormControlLabel
512+ control = {
513+ < Checkbox
514+ checked = { martial }
515+ onChange = { ( e ) => setMartial ( e . target . checked ) }
516+ />
517+ }
518+ label = { t ( "Requires Martial Proficiency" ) }
519+ />
520+ </ Grid >
521+ ) }
522+
498523 < Grid item xs = { 12 } sm = { 6 } >
499524 < ChangeAccuracyCheck
500525 value = { selectedAccuracyCheck }
@@ -717,6 +742,20 @@ function CustomWeapons() {
717742 />
718743 </ Grid >
719744
745+ { secondSelectedRange === "weapon_range_ranged" && (
746+ < Grid item xs = { 12 } sm = { 6 } >
747+ < FormControlLabel
748+ control = {
749+ < Checkbox
750+ checked = { secondMartial }
751+ onChange = { ( e ) => setSecondMartial ( e . target . checked ) }
752+ />
753+ }
754+ label = { t ( "Requires Martial Proficiency" ) }
755+ />
756+ </ Grid >
757+ ) }
758+
720759 < Grid item xs = { 12 } sm = { 6 } >
721760 < ChangeAccuracyCheck
722761 value = { secondSelectedAccuracyCheck }
@@ -922,6 +961,7 @@ function CustomWeapons() {
922961 name : weaponName ,
923962 category : selectedCategory ,
924963 range : selectedRange ,
964+ martial : martial ,
925965 accuracyCheck : selectedAccuracyCheck ,
926966 type : selectedType ,
927967 customizations : currentCustomizations ,
@@ -948,6 +988,7 @@ function CustomWeapons() {
948988 name : secondWeaponName ,
949989 category : secondSelectedCategory ,
950990 range : secondSelectedRange ,
991+ martial : secondMartial ,
951992 accuracyCheck : secondSelectedAccuracyCheck ,
952993 type : secondSelectedType ,
953994 customizations : secondCurrentCustomizations ,
@@ -983,6 +1024,7 @@ function CustomWeapons() {
9831024 name : weaponName ,
9841025 category : selectedCategory ,
9851026 range : selectedRange ,
1027+ martial : martial ,
9861028 accuracyCheck : selectedAccuracyCheck ,
9871029 type : selectedType ,
9881030 customizations : currentCustomizations ,
@@ -993,6 +1035,7 @@ function CustomWeapons() {
9931035 name : secondWeaponName ,
9941036 category : secondSelectedCategory ,
9951037 range : secondSelectedRange ,
1038+ martial : secondMartial ,
9961039 accuracyCheck : secondSelectedAccuracyCheck ,
9971040 type : secondSelectedType ,
9981041 customizations : secondCurrentCustomizations ,
0 commit comments