Compare commits
	
		
			3 Commits
		
	
	
		
			v12.0.12
			...
			dice-rolle
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 9716a88413 | |||
| 9148f35b97 | |||
|  | 115fcc4f18 | 
							
								
								
									
										30
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,30 +1,14 @@ | ||||
| # Rolemaster Standard System for Foundry VTT | ||||
| This system is based on the video tutorials by Cédric Hauteville you can watch them here: https://www.youtube.com/playlist?list=PLFV9z59nkHDccUbRXVt623UdloPTclIrz parts of it were also lifted from the Foundry VTT Boilerplate system by XXX. | ||||
|  | ||||
| ## Introduction | ||||
| Icons have been sourced from https://game-icons.net | ||||
|  | ||||
| This repo is an independant fork from https://github.com/Cynicide/RMSS-FoundryVTT from Cynicide, in order to implement a fully playable Rolemaster FRP system in FoundryVTT. | ||||
| Dice shapes are licensed under Creative Commons Attribution-Noncommercial-Share Alike 3.0 License and appear from https://www.deviantart.com/jpatterson/art/Polyhedral-RPG-Gaming-Dice-Dec-2014-502024799 created by jpatterson | ||||
|  | ||||
| All rights to the system remain property of Iron Crown Enterprises (http://ironcrown.com/). This system will not include any of the book content and aims to provide only what is on the character sheet. | ||||
| Dice 10 Icon (https://game-icons.net/1x1/skoll/d10.html) by Skoll and licensed under CC BY 3.0 https://creativecommons.org/licenses/by/3.0/ | ||||
|  | ||||
| ## How to Use | ||||
| Download the latest release from this repository and then extract the rmss folder. Drag it into the systems folder of your FoundryVTT Data Directory. More detailed instructions can be found [here](docs/INSTALL.md) in the docs directory (to be updated). | ||||
| This system uses less for CSS you can see a good installation guide for VSCode at https://code.visualstudio.com/docs/languages/css#_transpiling-sass-and-less-into-css | ||||
|  | ||||
| Further information on how the system works can be found [here](docs/USAGE.md) (to be updated) | ||||
| User Notes | ||||
|  | ||||
| ## Goals/ToDo | ||||
| Project goals include: | ||||
|  - A functionaing character sheet that automates some of the basic maths. | ||||
|  - A dice roller that allows you to perform the most common rolls in the system. | ||||
|  - A basic combat tracker | ||||
| Skill Categories and Skills cannot be renamed if they are owned and you cannot drag a duplicate named skill to the sheet | ||||
|  | ||||
| I maintain a public Trello board here where I log my work items: https://trello.com/b/JkXd5EGx/rmss-for-foundryvtt-features | ||||
|  | ||||
| ## Credits | ||||
| This system is based on: | ||||
|  - The Foundry VTT Boilerplate system by Asacolips. (https://gitlab.com/asacolips-projects/foundry-mods/boilerplate) | ||||
|  - The video tutorials by Cédric Hauteville you can watch them here: https://www.youtube.com/playlist?list=PLFV9z59nkHDccUbRXVt623UdloPTclIrz  | ||||
|  - The Rolemaster FRP is derivated from the RMSS system from Cynicide, available here https://github.com/Cynicide/RMSS-FoundryVTT | ||||
|  | ||||
| Icons used in this system have been sourced from https://game-icons.net | ||||
|  | ||||
| This system uses less for CSS. If you change the CSS and need to rebuild it you can see a good installation guide for Less on VSCode at https://code.visualstudio.com/docs/languages/css#_transpiling-sass-and-less-into-css | ||||
| @@ -1,5 +1,5 @@ | ||||
| var gulp = require('gulp'); | ||||
| var less = require('gulp-less'); | ||||
| var less = require('gulp.less'); | ||||
|  | ||||
| gulp.task('less', function (cb) { | ||||
|     gulp | ||||
| @@ -15,4 +15,4 @@ gulp.task( | ||||
|         gulp.watch('less/*.less', gulp.series('less')); | ||||
|         cb(); | ||||
|     }) | ||||
| ); | ||||
| ); | ||||
| @@ -1,5 +1,4 @@ | ||||
| { | ||||
|    | ||||
|     "rmss": { | ||||
|         "player_character": { | ||||
|             "name": "Name:", | ||||
| @@ -44,8 +43,7 @@ | ||||
|             "equipment": "Equipment", | ||||
|             "spells": "Spells", | ||||
|             "status_record": "Status Record", | ||||
|             "experience_points": "Experience Points", | ||||
|             "background": "Background" | ||||
|             "experience_points": "Experience Points" | ||||
|         }, | ||||
|         "pc_sheet_fixed_info": { | ||||
|             "race": "Race:", | ||||
|   | ||||
| @@ -46,8 +46,4 @@ | ||||
|     font-weight: bold; | ||||
|     border-bottom: 1px solid; | ||||
|     background-image: linear-gradient(rgba(0, 0, 0, 0.1) 0 0); | ||||
| } | ||||
| .skill-box { | ||||
|   margin-left: 1.2rem; | ||||
|   background-color: lightgrey; | ||||
| } | ||||
| @@ -12,7 +12,7 @@ | ||||
|     padding-bottom: 3px; | ||||
|     display: flex; | ||||
|     justify-content: flex-end; | ||||
|     //flex-direction: column; | ||||
|     flex-direction: column; | ||||
|     justify-content: center; | ||||
| } | ||||
|  | ||||
| @@ -36,7 +36,7 @@ | ||||
|     padding-bottom: 3px; | ||||
|     display: flex; | ||||
|     justify-content: flex-end; | ||||
|     //flex-direction: column; | ||||
|     flex-direction: column; | ||||
|     justify-content: center; | ||||
|     background-image: linear-gradient(rgba(0, 0, 0, 0.1) 0 0); | ||||
| } | ||||
|   | ||||
| @@ -1,68 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <!-- Created with Inkscape (http://www.inkscape.org/) --> | ||||
|  | ||||
| <svg | ||||
|    xmlns:dc="http://purl.org/dc/elements/1.1/" | ||||
|    xmlns:cc="http://creativecommons.org/ns#" | ||||
|    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||||
|    xmlns:svg="http://www.w3.org/2000/svg" | ||||
|    xmlns="http://www.w3.org/2000/svg" | ||||
|    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||||
|    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||||
|    width="10mm" | ||||
|    height="10mm" | ||||
|    viewBox="0 0 10 10" | ||||
|    version="1.1" | ||||
|    id="svg8" | ||||
|    sodipodi:docname="R.svg" | ||||
|    inkscape:version="0.92.3 (2405546, 2018-03-11)"> | ||||
|   <defs | ||||
|      id="defs2" /> | ||||
|   <sodipodi:namedview | ||||
|      id="base" | ||||
|      pagecolor="#ffffff" | ||||
|      bordercolor="#666666" | ||||
|      borderopacity="1.0" | ||||
|      inkscape:pageopacity="0.0" | ||||
|      inkscape:pageshadow="2" | ||||
|      inkscape:zoom="11.2" | ||||
|      inkscape:cx="22.566968" | ||||
|      inkscape:cy="24.072623" | ||||
|      inkscape:document-units="mm" | ||||
|      inkscape:current-layer="layer1" | ||||
|      showgrid="false" | ||||
|      inkscape:window-width="1920" | ||||
|      inkscape:window-height="1017" | ||||
|      inkscape:window-x="1672" | ||||
|      inkscape:window-y="-8" | ||||
|      inkscape:window-maximized="1" /> | ||||
|   <metadata | ||||
|      id="metadata5"> | ||||
|     <rdf:RDF> | ||||
|       <cc:Work | ||||
|          rdf:about=""> | ||||
|         <dc:format>image/svg+xml</dc:format> | ||||
|         <dc:type | ||||
|            rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||||
|         <dc:title></dc:title> | ||||
|       </cc:Work> | ||||
|     </rdf:RDF> | ||||
|   </metadata> | ||||
|   <g | ||||
|      inkscape:label="Layer 1" | ||||
|      inkscape:groupmode="layer" | ||||
|      id="layer1" | ||||
|      transform="translate(0,-287)"> | ||||
|     <g | ||||
|        aria-label="R" | ||||
|        transform="matrix(0.26458333,0,0,0.26458333,-39.157593,262.07008)" | ||||
|        style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | ||||
|        id="flowRoot4539"> | ||||
|       <path | ||||
|          d="m 161.01484,115.06095 q 1.08,0 2.28,0.92 1.24,0.88 2.4,2.08 1.2,1.2 2.28,2.44 1.08,1.2 1.92,1.88 2.08,1.68 4.16,3.32 2.08,1.6 4.2,3.24 0.56,0.44 1.04,0.8 0.48,0.4 0.96,0.68 0.52,0.28 1.08,0.44 0.6,0.16 1.36,0.16 0.56,0 0.68,-0.32 0.12,-0.28 0.12,-0.72 0,-0.8 -0.64,-1.8 -0.6,-1.04 -1.48,-2.04 -0.84,-1.04 -1.72,-1.96 -0.88,-0.92 -1.4,-1.52 -1.88,-2.2 -3.84,-4.4 -1.92,-2.2 -4,-4.24 0,-0.24 0,-0.4 0.04,-0.2 0.28,-0.36 1.32,-0.88 2.88,-1.68 1.56,-0.8 2.88,-1.8 1.32,-1.04 2.2,-2.4 0.92,-1.36 0.92,-3.28 0,-2.08 -0.72,-3.52 -0.72,-1.480002 -1.92,-2.440002 -1.2,-1 -2.76,-1.56 -1.56,-0.6 -3.28,-0.88 -1.72,-0.32 -3.48,-0.4 -1.72,-0.08 -3.28,-0.08 h -3.64 q -1.16,0 -2.36,0.12 -1.2,0.12 -2.36,0.12 -0.56,0 -1.44,-0.04 -0.88,-0.04 -1.72,0.08 -0.84,0.12 -1.44,0.52 -0.6,0.4 -0.6,1.28 0,0.56 0.48,0.84 0.48,0.24 1.12,0.4 0.64,0.12 1.28,0.24 0.68,0.12 1.04,0.36 -0.12,2.440002 -0.04,4.880002 0.08,2.44 0.2,4.92 0.12,2.44 0.24,4.92 0.12,2.44 0.12,4.88 0,1.8 -0.16,3.52 -0.12,1.72 -0.12,3.52 -0.4,0.48 -1.16,0.72 -0.72,0.2 -1.48,0.44 -0.72,0.2 -1.28,0.6 -0.52,0.36 -0.52,1.12 0,0.32 0.28,0.48 0.32,0.16 0.52,0.32 1.4,-0.04 2.72,-0.28 1.36,-0.24 2.76,-0.24 2.16,0 4.32,0.12 2.16,0.12 4.32,0.12 h 1.8 q 0.32,-0.16 0.56,-0.4 0.24,-0.24 0.24,-0.64 0,-0.72 -0.8,-1.08 -0.8,-0.4 -1.88,-0.6 -1.08,-0.2 -2.16,-0.28 -1.04,-0.08 -1.52,-0.2 -0.12,-0.04 -0.44,-0.12 -0.28,-0.12 -0.28,-0.32 v -10.2 z m 0,-2.08 q 0,-3.48 0.24,-6.92 0.28,-3.44 0.28,-6.920002 l 0.28,-0.52 0.24,-0.28 q 0.68,-0.04 1.28,-0.16 0.64,-0.12 1.32,-0.12 h 0.28 q 1.68,0.24 3.04,0.56 1.36,0.32 2.32,1 0.96,0.680002 1.44,1.880002 0.52,1.16 0.52,3.12 0,1.92 -0.36,3.2 -0.36,1.24 -1.04,2.04 -0.64,0.8 -1.56,1.28 -0.92,0.44 -2.04,0.76 -1.08,0.28 -2.36,0.6 -1.24,0.28 -2.56,0.76 -0.12,0 -0.36,0 -0.2,0 -0.44,0 -0.2,-0.04 -0.36,-0.08 -0.16,-0.08 -0.16,-0.2 z" | ||||
|          style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:40px;font-family:PragRoman;-inkscape-font-specification:'PragRoman, Medium';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start" | ||||
|          id="path4571" | ||||
|          inkscape:connector-curvature="0" /> | ||||
|     </g> | ||||
|   </g> | ||||
| </svg> | ||||
| Before Width: | Height: | Size: 4.2 KiB | 
| @@ -1,354 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||||
| <!-- Created with Inkscape (http://www.inkscape.org/) --> | ||||
| <svg xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" id="svg2" sodipodi:docname="_svgclean2.svg" viewBox="0 0 1015.8 687.24" version="1.1" inkscape:version="0.48.3.1 r9886"> | ||||
|   <sodipodi:namedview id="namedview4" fit-margin-left="0" inkscape:zoom="0.75585938" borderopacity="1" inkscape:current-layer="svg2" inkscape:cx="600.99803" inkscape:guide-bbox="true" inkscape:window-maximized="0" showgrid="false" fit-margin-right="0" inkscape:snap-global="false" showguides="true" bordercolor="#666666" inkscape:window-x="0" guidetolerance="10" objecttolerance="10" inkscape:window-y="0" fit-margin-bottom="0" inkscape:window-width="512" inkscape:pageopacity="0" inkscape:pageshadow="2" pagecolor="#ffffff" gridtolerance="10" inkscape:cy="-21.199467" inkscape:window-height="452" fit-margin-top="0"> | ||||
|     <sodipodi:guide id="guide3103" position="629.48057,1441.0961" orientation="1,0"/> | ||||
|     <sodipodi:guide id="guide3111" position="-942.56933,2326.5579" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3113" position="-402.76913,1796.2278" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3115" position="520.57347,2132.4192" orientation="1,0"/> | ||||
|     <sodipodi:guide id="guide3117" position="1817.9882,1403.2154" orientation="1,0"/> | ||||
|     <sodipodi:guide id="guide3133" position="449.54717,1138.0503" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3135" position="501.63317,754.50797" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3137" position="747.85787,228.91293" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3263" position="261.91917,1110.2316" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3265" position="256.00037,898.92817" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3267" position="325.02107,1065.5962" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3269" position="363.72367,1167.6446" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3271" position="362.53987,840.33147" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3273" position="31.675468,1096.0264" orientation="1,0"/> | ||||
|     <sodipodi:guide id="guide3275" position="453.34934,2.6762529" orientation="1,0"/> | ||||
|     <sodipodi:guide id="guide3277" position="257.77597,1086.5562" orientation="1,0"/> | ||||
|     <sodipodi:guide id="guide3279" position="112.17197,1149.888" orientation="1,0"/> | ||||
|     <sodipodi:guide id="guide3281" position="556.88497,1225.4735" orientation="1,0"/> | ||||
|     <sodipodi:guide id="guide3297" position="271.86817,863.02927" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3308" position="390.35847,1003.1002" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3310" position="352.47777,1062.2889" orientation="0,1"/> | ||||
|     <sodipodi:guide id="guide3319" position="161.79567,945.06047" orientation="0,1"/> | ||||
|   </sodipodi:namedview> | ||||
|   <flowRoot id="flowRoot3321" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="translate(1784.8 -879.48)"> | ||||
|     <flowRegion id="flowRegion3323"> | ||||
|       <rect id="rect3325" y="-1082" width="1098.5" x="-634.5" height="454.57"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3327"/> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-9-8" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="translate(2745 74.666)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-3-4"> | ||||
|       <rect id="rect3333-2-1-7-5-1-1" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-9-4" style="font-size:220px;font-weight:bold">Hit</flowPara> | ||||
|   </flowRoot> | ||||
|   <g id="g3579" transform="matrix(.38287 0 0 .38287 239.73 585.89)"> | ||||
|     <path id="path3007" d="m-565.54-286.65 6.1004-89.981 150.68-85.405 155.86 91.506 0.91503 95.166-158.91 83.575-155.25-86.93z" style="stroke:#000000;stroke-width:5.8303;fill:none" inkscape:connector-curvature="0"/> | ||||
|     <path id="path3009" d="m-256.96-274.7-53.92 21.137-102.23 48.744-106.55-51.763 110-203.17 100.94 203.6" style="stroke:#000000;stroke-width:2.9152;fill:none" inkscape:connector-curvature="0"/> | ||||
|     <path id="path3017" d="m-565.82-280.74 46.587 23.725" style="stroke:#000000;stroke-width:2.9152;fill:none" inkscape:connector-curvature="0"/> | ||||
|   </g> | ||||
|   <g id="g3584" transform="matrix(.35906 0 0 .35906 227.8 591.51)"> | ||||
|     <g id="g3034" transform="translate(-1094.9 127.23)"> | ||||
|       <path id="path2989" sodipodi:nodetypes="cccccc" style="stroke:#000000;stroke-width:6;fill:none" inkscape:connector-curvature="0" d="m1176.4-341.82-229.98-18.579 2.0085-260.61 240.52 14.562 15.566 68.29z"/> | ||||
|       <path id="path2991" sodipodi:nodetypes="ccccc" style="stroke:#000000;stroke-width:2;fill:none" inkscape:connector-curvature="0" d="m947.44-360.91 9.5406-27.617 95.405-12.553 58.248-99.925 92.895-36.154"/> | ||||
|       <path id="path2993" style="stroke:#000000;stroke-width:2;fill:none" inkscape:connector-curvature="0" d="m1112.1-501.5-158.63-119.51"/> | ||||
|       <path id="path2995" style="stroke:#000000;stroke-width:2;fill:none" inkscape:connector-curvature="0" d="m956.48-387.02-5.5235-231.48"/> | ||||
|       <path id="path2997" style="stroke:#000000;stroke-width:2;fill:none" inkscape:connector-curvature="0" d="m1053.4-401.08 123.52 58.248"/> | ||||
|     </g> | ||||
|   </g> | ||||
|   <g id="g3592" transform="matrix(.34290 0 0 .34290 201.53 549.71)"> | ||||
|     <g id="g3041" transform="translate(-837.05 478.79)"> | ||||
|       <path id="path2999" style="stroke:#000000;stroke-width:10;fill:none" inkscape:connector-curvature="0" d="m310.86-215.78 32.639-179.76 181.77-94.401 160.68 138.59-22.596 178.26-185.79 90.384z"/> | ||||
|       <path id="path3001" style="stroke:#000000;stroke-width:2;fill:none" inkscape:connector-curvature="0" d="m313.37-215.78 164.2 24.102 182.78 15.064"/> | ||||
|       <path id="path3003" style="stroke:#000000;stroke-width:2;fill:none" inkscape:connector-curvature="0" d="m476.06-82.71 4.0171-108.96-92.393-200.35 230.48 25.609-137.58 175.24"/> | ||||
|       <path id="path3005" sodipodi:nodetypes="ccccc" style="stroke:#000000;stroke-width:2;fill:none" inkscape:connector-curvature="0" d="m315.38-217.28 72.307-175.75 138.59-92.393 91.388 118 44.69 188.3"/> | ||||
|       <path id="path3007-1" style="stroke:#000000;stroke-width:2;fill:none" inkscape:connector-curvature="0" d="m345-394.54 46.196 2.0085"/> | ||||
|       <path id="path3009-7" style="stroke:#000000;stroke-width:2;fill:none" inkscape:connector-curvature="0" d="m616.66-367.92 69.294 19.081"/> | ||||
|     </g> | ||||
|   </g> | ||||
|   <g id="g3242" transform="matrix(.25983 0 0 .25983 477.3 823.96)"> | ||||
|     <g id="g3210" transform="matrix(.91589 0 0 .91589 -381.67 -74.793)"> | ||||
|       <path id="path3172" sodipodi:rx="31.808037" sodipodi:ry="31.808037" style="stroke:#000000;stroke-width:16;fill:#000000" sodipodi:type="arc" d="m-1044.6-963.58c0 17.567-14.241 31.808-31.808 31.808s-31.808-14.241-31.808-31.808 14.241-31.808 31.808-31.808 31.808 14.241 31.808 31.808z" transform="translate(336.5 -20.089)" sodipodi:cy="-963.58374" sodipodi:cx="-1076.4509"/> | ||||
|       <path id="path3172-5" sodipodi:rx="31.808037" sodipodi:ry="31.808037" style="stroke:#000000;stroke-width:16;fill:#000000" sodipodi:type="arc" d="m-1044.6-963.58c0 17.567-14.241 31.808-31.808 31.808s-31.808-14.241-31.808-31.808 14.241-31.808 31.808-31.808 31.808 14.241 31.808 31.808z" transform="translate(336.5 111.33)" sodipodi:cy="-963.58374" sodipodi:cx="-1076.4509"/> | ||||
|       <path id="path3172-5-5" sodipodi:rx="31.808037" sodipodi:ry="31.808037" style="stroke:#000000;stroke-width:16;fill:#000000" sodipodi:type="arc" d="m-1044.6-963.58c0 17.567-14.241 31.808-31.808 31.808s-31.808-14.241-31.808-31.808 14.241-31.808 31.808-31.808 31.808 14.241 31.808 31.808z" transform="translate(336.5 242.75)" sodipodi:cy="-963.58374" sodipodi:cx="-1076.4509"/> | ||||
|     </g> | ||||
|     <g id="g3210-1" transform="matrix(.91589 0 0 .91589 -192.21 -74.793)"> | ||||
|       <path id="path3172-7" sodipodi:rx="31.808037" sodipodi:ry="31.808037" style="stroke:#000000;stroke-width:16;fill:#000000" sodipodi:type="arc" d="m-1044.6-963.58c0 17.567-14.241 31.808-31.808 31.808s-31.808-14.241-31.808-31.808 14.241-31.808 31.808-31.808 31.808 14.241 31.808 31.808z" transform="translate(336.5 -20.089)" sodipodi:cy="-963.58374" sodipodi:cx="-1076.4509"/> | ||||
|       <path id="path3172-5-1" sodipodi:rx="31.808037" sodipodi:ry="31.808037" style="stroke:#000000;stroke-width:16;fill:#000000" sodipodi:type="arc" d="m-1044.6-963.58c0 17.567-14.241 31.808-31.808 31.808s-31.808-14.241-31.808-31.808 14.241-31.808 31.808-31.808 31.808 14.241 31.808 31.808z" transform="translate(336.5 111.33)" sodipodi:cy="-963.58374" sodipodi:cx="-1076.4509"/> | ||||
|       <path id="path3172-5-5-1" sodipodi:rx="31.808037" sodipodi:ry="31.808037" style="stroke:#000000;stroke-width:16;fill:#000000" sodipodi:type="arc" d="m-1044.6-963.58c0 17.567-14.241 31.808-31.808 31.808s-31.808-14.241-31.808-31.808 14.241-31.808 31.808-31.808 31.808 14.241 31.808 31.808z" transform="translate(336.5 242.75)" sodipodi:cy="-963.58374" sodipodi:cx="-1076.4509"/> | ||||
|     </g> | ||||
|   </g> | ||||
|   <path id="path3073" style="stroke:#000000;stroke-width:3.2246;fill:#ff0000" inkscape:connector-curvature="0" d="m1.6123 100.14 4.0557 3.8171h112.37l2.5592-4.4327-55.283-97.914h-4.5329z"/> | ||||
|   <flowRoot id="flowRoot3329" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 588.84 503.3)"> | ||||
|     <flowRegion id="flowRegion3331"> | ||||
|       <rect id="rect3333" y="-1096.2" width="421.42" x="-643.97" height="303.05"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3391" style="font-size:220px;font-weight:bold">D4</flowPara> | ||||
|   </flowRoot> | ||||
|   <g id="g3129" transform="matrix(.19571 0 0 .19571 523.21 201.56)"> | ||||
|     <path id="path3073-2" d="m-2354.9-392.57-296.96 338.75-1.0158-1.2344c100.54 117.51 199.33 237.47 298.62 356.38l3.2576-0.0829c98.3-117.58 189.88-243.49 288.16-360.29l-288.62-333.37z" sodipodi:nodetypes="cccccccc" style="stroke:#000000;stroke-width:16;fill:#ff0000" inkscape:connector-curvature="0"/> | ||||
|     <path id="path3105" d="m-2650.5-53.343 587.74-4.7351" style="stroke:#000000;stroke-width:6;fill:#ff0000" inkscape:connector-curvature="0"/> | ||||
|   </g> | ||||
|   <flowRoot id="flowRoot3329-5" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 762.98 504.82)"> | ||||
|     <flowRegion id="flowRegion3331-2"> | ||||
|       <rect id="rect3333-7" y="-1096.2" width="279.37" x="-643.97" height="222.55"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3337-6" style="font-size:200px;font-weight:bold">D8</flowPara> | ||||
|   </flowRoot> | ||||
|   <rect id="rect3075" style="stroke:#000000;stroke-width:3.1257;fill:#ff0000" rx="6.3636" ry="9.4969" height="95.104" width="91.404" y="10.349" x="167.39"/> | ||||
|   <flowRoot id="flowRoot3329-1" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 675.87 501.87)"> | ||||
|     <flowRegion id="flowRegion3331-4"> | ||||
|       <rect id="rect3333-2" y="-1096.2" width="312.52" x="-643.97" height="227.28"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3391-3" style="font-size:220px;font-weight:bold">D6</flowPara> | ||||
|   </flowRoot> | ||||
|   <g id="g3028" style="fill:#ff0000" transform="matrix(.18846 0 0 .18846 58.843 93.476)"> | ||||
|     <path id="path2999-4" d="m531.52 523.73 19.011-70.352 277.45-258.73h9.4784l282.8 263.72 23.945 90.327-310.5 292.66-8.8497-0.47531-301.66-290.1z" sodipodi:nodetypes="cccccccccc" style="stroke:#000000;stroke-width:16;fill:#ff0000" inkscape:connector-curvature="0"/> | ||||
|     <path id="path3001-0" d="m519.04 547.65 111.3-61.37 199.64-291.63 198.72 300.99-200.72 95.89-199.72-107.33" sodipodi:nodetypes="cccccc" style="stroke:#000000;stroke-width:6;fill:#ff0000" inkscape:connector-curvature="0"/> | ||||
|     <path id="path3003-9" d="m1028.7 493.56 114.42 54.092" style="stroke:#000000;stroke-width:6;fill:#ff0000" inkscape:connector-curvature="0"/> | ||||
|     <path id="path3005-4" d="m828.72 591.66-0.73554 250.68" sodipodi:nodetypes="cc" style="stroke:#000000;stroke-width:5.6871;fill:#ff0000" inkscape:connector-curvature="0"/> | ||||
|   </g> | ||||
|   <flowRoot id="flowRoot3329-1-2" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 846.66 499.81)"> | ||||
|     <flowRegion id="flowRegion3331-4-2"> | ||||
|       <rect id="rect3333-2-1" y="-1096.2" width="411.95" x="-643.97" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3391-3-6" style="font-size:220px;font-weight:bold">D10</flowPara> | ||||
|   </flowRoot> | ||||
|   <path id="path3283" sodipodi:nodetypes="ccccccccccc" style="stroke:#000000;stroke-width:4.9521;fill:#ff0000" inkscape:connector-curvature="0" d="m66.604 384.13 33.97-8.3455 23.883-36.237-2.749-31.304-22.247-26.861-32.307-6.8007-34.44 7.5108-21.433 27.662-3.1143 30.043 21.983 35.539z"/> | ||||
|   <path id="path3285" sodipodi:nodetypes="cccccc" style="stroke:#000000;stroke-width:1.7613;fill:#ff0000" inkscape:connector-curvature="0" d="m33.765 323.86 10.228 36.563 43.896 0.16485 10.249-36.599-30.919-23.74z"/> | ||||
|   <path id="path3287" style="stroke:#000000;stroke-width:1.857;fill:#ff0000" inkscape:connector-curvature="0" d="m67.154 274.95-0.18318 25.83"/> | ||||
|   <path id="path3289" sodipodi:nodetypes="cc" style="stroke:#000000;stroke-width:1.857;fill:#ff0000" inkscape:connector-curvature="0" d="m34.287 325.37-24.377-15.72"/> | ||||
|   <path id="path3291" sodipodi:nodetypes="cc" style="stroke:#000000;stroke-width:1.857;fill:#ff0000" inkscape:connector-curvature="0" d="m44.233 360.16-14.45 16.64"/> | ||||
|   <path id="path3293" sodipodi:nodetypes="cc" style="stroke:#000000;stroke-width:1.857;fill:#ff0000" inkscape:connector-curvature="0" d="m87.683 360.71 13.267 15.263"/> | ||||
|   <path id="path3295" sodipodi:nodetypes="cc" style="stroke:#000000;stroke-width:1.857;fill:#ff0000" inkscape:connector-curvature="0" d="m98.251 324.45 22.939-15.93"/> | ||||
|   <flowRoot id="flowRoot3329-1-2-8" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 966.57 498.37)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5"> | ||||
|       <rect id="rect3333-2-1-7" y="-1096.2" width="411.95" x="-643.97" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3391-3-6-6" style="font-size:220px;font-weight:bold">D12</flowPara> | ||||
|   </flowRoot> | ||||
|   <g id="g3162" transform="matrix(.25983 0 0 .25983 463.76 280.15)"> | ||||
|     <path id="path3007-8" d="m-1160.8 71.357 208.07-122.82 208.03 122.23-11.16 232.13-197.46 122.23-196.88-119.29z" style="stroke:#000000;stroke-width:16;fill:#ff0000" inkscape:connector-curvature="0"/> | ||||
|     <g id="g3032" style="fill:#ff0000" transform="matrix(.39948 0 0 .39948 -1174.3 -120.6)"> | ||||
|       <path id="path3017-8" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccccccccc" style="stroke:#000000;stroke-width:8;fill:none" d="m560.49 177.48-4.4133 214.78m-314.82 594.33 639.93 7.35m-817.93 70.66 179.47-76.54 310.4 373.64 325.11-370.7 142.56 48.4m-960.32-541.11 497.07-104.55 491.15 106.02-177.81 489.77-317.76-597.27-314.81 592.86z"/> | ||||
|     </g> | ||||
|   </g> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-1" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 1080.1 499.13)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-8"> | ||||
|       <rect id="rect3333-2-1-7-9" y="-1096.2" width="411.95" x="-643.97" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3391-3-6-6-2" style="font-size:220px;font-weight:bold">D20</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 469.73 316.56)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9"> | ||||
|       <rect id="rect3333-2-1-7-5" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611" style="font-size:220px;font-weight:bold">1</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-3" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 529.34 316.56)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-1"> | ||||
|       <rect id="rect3333-2-1-7-5-2" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-3" style="font-size:220px;font-weight:bold">2</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 594.64 315.86)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11"> | ||||
|       <rect id="rect3333-2-1-7-5-3" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8" style="font-size:220px;font-weight:bold">3</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-7" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 637.31 382.27)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-4"> | ||||
|       <rect id="rect3333-2-1-7-5-27" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-7" style="font-size:220px;font-weight:bold">14</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-9" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 720.27 381.86)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-3"> | ||||
|       <rect id="rect3333-2-1-7-5-1" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-9" style="font-size:220px;font-weight:bold">15</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-8" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 803.23 381.97)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-6"> | ||||
|       <rect id="rect3333-2-1-7-5-5" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-0" style="font-size:220px;font-weight:bold">16</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-2" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 886.19 382.38)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-8"> | ||||
|       <rect id="rect3333-2-1-7-5-6" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-02" style="font-size:220px;font-weight:bold">17</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-4" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 969.15 381.74)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-86"> | ||||
|       <rect id="rect3333-2-1-7-5-50" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-90" style="font-size:220px;font-weight:bold">18</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-0" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 1052.1 381.79)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-61"> | ||||
|       <rect id="rect3333-2-1-7-5-38" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-93" style="font-size:220px;font-weight:bold">19</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-44" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 1138.2 382.08)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-60"> | ||||
|       <rect id="rect3333-2-1-7-5-66" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-1" style="font-size:220px;font-weight:bold">20</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-8" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 661.45 316.56)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-4"> | ||||
|       <rect id="rect3333-2-1-7-5-3-9" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-6" style="font-size:220px;font-weight:bold">4</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-3" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 727.92 315.86)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-7"> | ||||
|       <rect id="rect3333-2-1-7-5-3-8" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-8" style="font-size:220px;font-weight:bold">5</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-2" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 794.08 315.86)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-9"> | ||||
|       <rect id="rect3333-2-1-7-5-3-1" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-3" style="font-size:220px;font-weight:bold">6</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-5" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 859.94 316.56)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-98"> | ||||
|       <rect id="rect3333-2-1-7-5-3-4" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-0" style="font-size:220px;font-weight:bold">7</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-7" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 925.41 315.83)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-6"> | ||||
|       <rect id="rect3333-2-1-7-5-3-3" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-61" style="font-size:220px;font-weight:bold">8</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-54" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 991.35 315.83)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-2"> | ||||
|       <rect id="rect3333-2-1-7-5-3-0" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-9" style="font-size:220px;font-weight:bold">9</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-73" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 1054.5 315.86)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-72"> | ||||
|       <rect id="rect3333-2-1-7-5-3-6" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-01" style="font-size:220px;font-weight:bold">10</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-6" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 1149.3 316.56)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-5"> | ||||
|       <rect id="rect3333-2-1-7-5-3-7" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-5" style="font-size:220px;font-weight:bold">11</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-4" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 471.39 382.49)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-1"> | ||||
|       <rect id="rect3333-2-1-7-5-3-2" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-00" style="font-size:220px;font-weight:bold">12</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-1" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 554.35 382.19)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-46"> | ||||
|       <rect id="rect3333-2-1-7-5-3-07" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-1" style="font-size:220px;font-weight:bold">13</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-7-7" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 637.66 450.97)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-4-7"> | ||||
|       <rect id="rect3333-2-1-7-5-27-7" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-7-7" style="font-size:220px;font-weight:bold">40</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-9-3" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 720.62 450.56)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-3-3"> | ||||
|       <rect id="rect3333-2-1-7-5-1-5" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-9-9" style="font-size:220px;font-weight:bold">50</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-8-9" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 803.58 450.67)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-6-8"> | ||||
|       <rect id="rect3333-2-1-7-5-5-1" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-0-8" style="font-size:220px;font-weight:bold">60</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-2-2" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 886.54 451.08)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-8-6"> | ||||
|       <rect id="rect3333-2-1-7-5-6-6" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-02-0" style="font-size:220px;font-weight:bold">70</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-4-3" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 969.5 450.44)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-86-8"> | ||||
|       <rect id="rect3333-2-1-7-5-50-0" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-90-1" style="font-size:220px;font-weight:bold">80</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-0-2" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 1052.5 450.49)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-61-5"> | ||||
|       <rect id="rect3333-2-1-7-5-38-0" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-93-9" style="font-size:220px;font-weight:bold">90</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-44-4" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 1138.5 450.78)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-60-7"> | ||||
|       <rect id="rect3333-2-1-7-5-66-8" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-1-3" style="font-size:220px;font-weight:bold"> 0</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-4-5" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 471.74 451.19)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-1-1"> | ||||
|       <rect id="rect3333-2-1-7-5-3-2-2" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-00-0" style="font-size:220px;font-weight:bold">00</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-1-1" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 554.7 450.89)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-46-6"> | ||||
|       <rect id="rect3333-2-1-7-5-3-07-4" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-1-0" style="font-size:220px;font-weight:bold">30</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-7-6" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 558.19 623.85)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-4-1"> | ||||
|       <rect id="rect3333-2-1-7-5-27-8" y="-1200.4" width="374.07" x="-691.32" height="303.05"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-7-9" style="font-size:300px;font-weight:bold">*</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-8-3" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 487.23 618.05)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-6-9"> | ||||
|       <rect id="rect3333-2-1-7-5-5-8" y="-1200.4" width="288.84" x="-691.32" height="250.96"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-0-80" style="font-size:220px;font-weight:bold">X</flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-4-9" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 466.81 522.55)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-1-6"> | ||||
|       <rect id="rect3333-2-1-7-5-3-2-8" ry="0" height="298.31" width="255.7" y="-1205.2" x="-691.32"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-00-3" style="font-size:300px;font-weight:bold"> - </flowPara> | ||||
|   </flowRoot> | ||||
|   <flowRoot id="flowRoot3329-1-2-8-7-34-1-4" xml:space="preserve" style="letter-spacing:0px;color:#000000;word-spacing:0px;line-height:125%;fill:#000000" transform="matrix(.25983 0 0 .25983 539.31 524.4)"> | ||||
|     <flowRegion id="flowRegion3331-4-2-5-9-11-46-8"> | ||||
|       <rect id="rect3333-2-1-7-5-3-07-49" y="-1200.4" width="303.05" x="-691.32" height="307.78"/> | ||||
|     </flowRegion> | ||||
|     <flowPara id="flowPara3611-8-1-9" style="font-size:300px;font-weight:bold">+</flowPara> | ||||
|   </flowRoot> | ||||
|   <metadata id="metadata241"> | ||||
|     <rdf:RDF> | ||||
|       <cc:Work> | ||||
|         <dc:format>image/svg+xml</dc:format> | ||||
|         <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> | ||||
|         <cc:license rdf:resource="http://creativecommons.org/licenses/publicdomain/"/> | ||||
|         <dc:publisher> | ||||
|           <cc:Agent rdf:about="http://openclipart.org/"> | ||||
|             <dc:title>Openclipart</dc:title> | ||||
|           </cc:Agent> | ||||
|         </dc:publisher> | ||||
|       </cc:Work> | ||||
|       <cc:License rdf:about="http://creativecommons.org/licenses/publicdomain/"> | ||||
|         <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/> | ||||
|         <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/> | ||||
|         <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/> | ||||
|       </cc:License> | ||||
|     </rdf:RDF> | ||||
|   </metadata> | ||||
| </svg> | ||||
| Before Width: | Height: | Size: 31 KiB | 
| @@ -27,7 +27,4 @@ | ||||
|     font-family: Signika, sans-serif; | ||||
|     font-size: 12px; | ||||
|     text-align: center; | ||||
| } | ||||
| .select-fixed-width { | ||||
|     width: 100px; | ||||
| } | ||||
| @@ -15,11 +15,6 @@ | ||||
|  | ||||
| .roll-button-container { | ||||
|     display: flex; | ||||
|     flex-direction: row; | ||||
|     justify-content: flex-start; | ||||
| } | ||||
| .roll-button { | ||||
|     margin-top: 2px; | ||||
|     width: 96px; | ||||
|     max-width: 96px; | ||||
|     flex-direction: column; | ||||
|     justify-content: flex-end; | ||||
| } | ||||
| @@ -1,6 +1,6 @@ | ||||
| export const rmss = {}; | ||||
|  | ||||
| rmss.currency_type = { | ||||
| rmss.curreny_type = { | ||||
|   mp: "rmss.curreny_type.mp", | ||||
|   pp: "rmss.curreny_type.pp", | ||||
|   gp: "rmss.curreny_type.gp", | ||||
| @@ -9,66 +9,6 @@ rmss.currency_type = { | ||||
|   cp: "rmss.curreny_type.cp" | ||||
| }; | ||||
|  | ||||
| rmss.difficulties = { | ||||
|   routine: {key: "routine", label:"Routine (+30)", value: 30}, | ||||
|   easy: {key: "easy", label:"Easy (+20)", value: 20}, | ||||
|   light: {key: "light", label:"Light (+10)", value: 10}, | ||||
|   medium: {key: "medium", label:"Medium (0)", value: 0}, | ||||
|   hard: {key: "hard", label:"Hard (-10)", value: -10}, | ||||
|   very_hard: {key: "very_hard", label:"Very Hard (-20)", value: -20}, | ||||
|   extremely_hard: {key: "extremely_hard", label:"Extremely Hard (-30)", value: -30}, | ||||
|   sheer_folly: {key: "sheer_folly", label:"Sheer Folly (-50)", value: -50}, | ||||
|   absurd: {key: "absurd", label:"Absurd (-70)", value: -70}, | ||||
| }; | ||||
|  | ||||
| rmss.gameSystems = [ | ||||
|   {key: "common", label:"Common"}, | ||||
|   {key: "merp", label:"Middle Earth Role Playing (MERP)"}, | ||||
|   {key: "rmfrp", label:"Rolemaster Fantasy Role Playing (RMFRP)"}, | ||||
| ]; | ||||
|  | ||||
| rmss.combatSituations = [ | ||||
|   {key: "none", label:"None (0)", modifier: 0}, | ||||
|   {key: "melee", label:"Melee environment (-20)", modifier: -20}, | ||||
|   {key: "missile", label:"Under missile fire (-10)", modifier: -10}, | ||||
| ]; | ||||
|  | ||||
| rmss.rankBonusProgressionList = [ | ||||
|   {key: "standard", label:"Standard"}, | ||||
|   {key: "limited", label:"Limited"}, | ||||
|   {key: "combined", label:"Combined"}, | ||||
|   {key: "race", label:"Linked to Race"}, | ||||
| ] | ||||
|  | ||||
| rmss.lightOrDarknessModifiers = [ | ||||
|    {key: "none", label:"None", modifierLight: 0, modifierDark: 0}, | ||||
|    {key: "noshadows", label:"No shadows", modifierLight: 10, modifierDark: -30}, | ||||
|    {key: "lightshadows", label:"Light shadows", modifierLight: 5, modifierDark: -20}, | ||||
|    {key: "mediumshadows", label:"Medium shadows", modifierLight: 0, modifierDark: 0}, | ||||
|    {key: "heavyshadows", label:"Heavy shadows", modifierLight: -10, modifierDark: 10}, | ||||
|    {key: "dark", label:"Darkness", modifierLight: -25, modifierDark: 30}, | ||||
|    {key: "pitchblack", label:"Pitch black", modifierLight: -40, modifierDark: 40}, | ||||
| ] | ||||
|  | ||||
| rmss.hitsPerRound = [ | ||||
|   {key: "none", label:"None", modifier: 0}, | ||||
|   {key: "one", label:"One", modifier: -5}, | ||||
|   {key: "two", label:"Two", modifier: -10}, | ||||
|   {key: "three", label:"Three", modifier: -20}, | ||||
|   {key: "four", label:"Four", modifier: -25}, | ||||
|   {key: "five", label:"Five", modifier: -30}, | ||||
|   {key: "six", label:"Six", modifier: -35}, | ||||
|   {key: "seven", label:"Seven", modifier: -40}, | ||||
|   {key: "eight", label:"Eight", modifier: -45}, | ||||
|   {key: "nine", label:"Nine", modifier: -50}, | ||||
|   {key: "ten", label:"Ten", modifier: -55}, | ||||
|   {key: "eleven", label:"Eleven", modifier: -60}, | ||||
|   {key: "twelve", label:"Twelve", modifier: -65}, | ||||
|   {key: "thirteen", label:"Thirteen", modifier: -70}, | ||||
|   {key: "fourteen", label:"Fourteen", modifier: -75}, | ||||
|   {key: "fifteen", label:"Fifteen", modifier: -80} | ||||
| ]; | ||||
|  | ||||
| rmss.stats = { | ||||
|   agility: { | ||||
|     fullname: "Agility", | ||||
|   | ||||
							
								
								
									
										4
									
								
								module/controls.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								module/controls.js
									
									
									
									
										vendored
									
									
								
							| @@ -8,8 +8,8 @@ function getSceneControlButtons(controls) { | ||||
|     return; | ||||
|   } | ||||
|   controls.push({ | ||||
|     name: "fvtt-rolemaster-frp", | ||||
|     title: "Rolemaster FRP System", | ||||
|     name: "rmss", | ||||
|     title: "Rolemaster Standard System", | ||||
|     icon: "fas fa-r", | ||||
|     layer: "ControlsLayer", | ||||
|     tools: [ | ||||
|   | ||||
| @@ -40,31 +40,6 @@ export class RMSSActor extends Actor { | ||||
|  | ||||
|     // Iterate through and apply Skill Category Bonuses for Skill items | ||||
|     this.calculateSkillBonuses(); | ||||
|  | ||||
|     this.computeWoundsMalus(); | ||||
|   } | ||||
|    | ||||
|   getStunnedModifier() { | ||||
|     if (this.system.state.stunned) { | ||||
|       return Math.min(-50 + (3*this.system.stats.self_discipline.stat_bonus), 0) | ||||
|     } else { | ||||
|       return 0; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   computeWoundsMalus() {   | ||||
|     // Compute % of wounds | ||||
|     let percent = 100 - (this.system.attributes.hits.current*100/this.system.attributes.hits.max); | ||||
|     let modifier = 0; | ||||
|     if (percent > 25 && percent < 50) { | ||||
|       modifier = -10; | ||||
|     } else if (percent >= 51 && percent < 75) { | ||||
|       modifier = -20; | ||||
|     } else if (percent >= 76) { | ||||
|       modifier = -30; | ||||
|     } | ||||
|     this.system.modifiers.woundsModifier = modifier; | ||||
|     console.log(`rmss | actor.js | Wounds Malus: ${this.system.modifiers.woundsModifier} ${percent}`); | ||||
|   } | ||||
|  | ||||
|   /** | ||||
| @@ -258,35 +233,51 @@ export class RMSSActor extends Actor { | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|           let applicable_stat_bonuses = []; | ||||
|           let applicable_stat_bonus = 0; | ||||
|  | ||||
|           let app_stat_1_found = false; | ||||
|           let app_stat_2_found = false; | ||||
|           let app_stat_3_found = false; | ||||
|  | ||||
|           // Iterate through the applicable stats and find their full names | ||||
|           for (const stat in CONFIG.rmss.stats) { | ||||
|             // If the configured App Stat matches the one of the stats in config | ||||
|             if (app_stat_1 === CONFIG.rmss.stats[stat].shortname) { | ||||
|               // Add the Stat Bonus to the array | ||||
|               applicable_stat_bonuses.push(this.system.stats[stat].stat_bonus); | ||||
|               app_stat_1_found = true; | ||||
|               // Get the Stat Bonus | ||||
|               applicable_stat_bonus = applicable_stat_bonus + this.system.stats[stat].stat_bonus; | ||||
|             } | ||||
|             if (app_stat_2 === CONFIG.rmss.stats[stat].shortname) { | ||||
|               // Add the Stat Bonus to the array | ||||
|               applicable_stat_bonuses.push(this.system.stats[stat].stat_bonus); | ||||
|               app_stat_2_found = true; | ||||
|               applicable_stat_bonus = applicable_stat_bonus + this.system.stats[stat].stat_bonus; | ||||
|             } | ||||
|             if (app_stat_3 === CONFIG.rmss.stats[stat].shortname) { | ||||
|               // Add the Stat Bonus to the array | ||||
|               applicable_stat_bonuses.push(this.system.stats[stat].stat_bonus); | ||||
|               app_stat_3_found = true; | ||||
|               applicable_stat_bonus = applicable_stat_bonus + this.system.stats[stat].stat_bonus; | ||||
|             } | ||||
|           } | ||||
|           // Compute the total bonus for the applicable stats | ||||
|           let applicable_stat_bonus = 0; | ||||
|           for (const bonus of applicable_stat_bonuses) { | ||||
|             applicable_stat_bonus += bonus; | ||||
|           } | ||||
|           // Apply the update if we found stat bonuses for every applicable stat | ||||
|           if ( item.system.stat_bonus != applicable_stat_bonus ) { | ||||
|  | ||||
|           if (app_stat_1_found === true && app_stat_2_found === true && app_stat_3_found === true) { | ||||
|             // Apply the update if we found stat bonuses for every applicable stat | ||||
|             item.system.stat_bonus = applicable_stat_bonus; | ||||
|  | ||||
|             // Update the total in the Item | ||||
|             item.calculateSkillCategoryTotalBonus(item); | ||||
|           } | ||||
|           else if (app_stat_1_found === true && app_stat_2_found === true && app_stat_3_found === false) { | ||||
|             // Apply the update if we found stat bonuses for the first two applicable stats | ||||
|             item.system.stat_bonus = applicable_stat_bonus; | ||||
|  | ||||
|             // Update the total in the Item | ||||
|             item.calculateSkillCategoryTotalBonus(item); | ||||
|           } | ||||
|           else if (app_stat_1_found === true && app_stat_2_found === false && app_stat_3_found === false) { | ||||
|             // Apply the update if we found stat bonuses for the first applicable stat | ||||
|             item.system.stat_bonus = applicable_stat_bonus; | ||||
|  | ||||
|             // Update the total in the Item | ||||
|             item.calculateSkillCategoryTotalBonus(item); | ||||
|           } | ||||
|           // Update the total in the Item | ||||
|           item.calculateSkillCategoryTotalBonus(item); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   | ||||
| @@ -1,5 +1,3 @@ | ||||
| import { RFRPUtility } from "../rfrp-utility.js"; | ||||
|  | ||||
| export class RMSSItem extends Item { | ||||
|  | ||||
|   /** @override */ | ||||
| @@ -20,25 +18,25 @@ export class RMSSItem extends Item { | ||||
|     if (!data.name.includes("(Copy)")) | ||||
|     { | ||||
|       if (this.type === "armor") { | ||||
|         await this.updateSource({img: "systems/fvtt-rolemaster-frp/assets/default/armor.svg"}); | ||||
|         await this.updateSource({img: "systems/rmss/assets/default/armor.svg"}); | ||||
|       } | ||||
|       else if (this.type === "weapon") { | ||||
|         await this.updateSource({img: "systems/fvtt-rolemaster-frp/assets/default/weapon.svg"}); | ||||
|         await this.updateSource({img: "systems/rmss/assets/default/weapon.svg"}); | ||||
|       } | ||||
|       else if (this.type === "skill") { | ||||
|         await this.updateSource({img: "systems/fvtt-rolemaster-frp/assets/default/skill.svg"}); | ||||
|         await this.updateSource({img: "systems/rmss/assets/default/skill.svg"}); | ||||
|       } | ||||
|       else if (this.type === "skill_category") { | ||||
|         await this.updateSource({img: "systems/fvtt-rolemaster-frp/assets/default/skill_category.svg"}); | ||||
|         await this.updateSource({img: "systems/rmss/assets/default/skill_category.svg"}); | ||||
|       } | ||||
|       else if (this.type === "spell") { | ||||
|         await this.updateSource({img: "systems/fvtt-rolemaster-frp/assets/default/spell.svg"}); | ||||
|         await this.updateSource({img: "systems/rmss/assets/default/spell.svg"}); | ||||
|       } | ||||
|       else if (this.type === "herb_or_poison") { | ||||
|         await this.updateSource({img: "systems/fvtt-rolemaster-frp/assets/default/herb_or_poison.svg"}); | ||||
|         await this.updateSource({img: "systems/rmss/assets/default/herb_or_poison.svg"}); | ||||
|       } | ||||
|       else if (this.type === "transport") { | ||||
|         await this.updateSource({img: "systems/fvtt-rolemaster-frp/assets/default/transport.svg"}); | ||||
|         await this.updateSource({img: "systems/rmss/assets/default/transport.svg"}); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| @@ -102,13 +100,19 @@ export class RMSSItem extends Item { | ||||
|   } | ||||
|  | ||||
|   calculateSelectedSkillCategoryBonus(itemData) { | ||||
|     // Find the relevant skill category  | ||||
|     let skillC =  this.parent?.items || RFRPUtility.getSkillCategories(); | ||||
|     if (skillC) { | ||||
|       let item = skillC.find(it => it.type == "skill_category" && it.name.toLowerCase() == itemData.system.category.toLowerCase()); | ||||
|       this.system.category_bonus = item.system.total_bonus; | ||||
|     } else { | ||||
|       ui.notifications.warn("No Skill Categories found. Please create a Skill Category."); | ||||
|     if (this.isEmbedded === null) { | ||||
|       console.log(`rmss | item.js | Skill ${this.name} has no owner. Not calculating Skill Category bonus`); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|       const items = this.parent.items; | ||||
|       console.log(`rmss | item.js | Skill ${this.name} has owner, calculating skill category bonus.`); | ||||
|       for (const item of items) { | ||||
|         if (item.type === "skill_category" && item._id === itemData.system.category) { | ||||
|           console.log(`rmss | item.js | Calculating Skill Category bonus for skill: ${this.name}`); | ||||
|           this.system.category_bonus = item.system.total_bonus; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,197 +0,0 @@ | ||||
| /* -------------------------------------------- */ | ||||
| export class RFRPUtility { | ||||
|  | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static async init() { | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static async ready() { | ||||
|     this.registerSettings(); | ||||
|  | ||||
|     this.gameSystem = game.settings.get("fvtt-rolemaster-frp", "game_system"); | ||||
|  | ||||
|     const skillCategories = await RFRPUtility.loadCompendium("fvtt-rolemaster-frp.skill_categories") | ||||
|     this.skillCategories = skillCategories.map(i => i.toObject()).filter( i => i.system.game_system == "common" || i.system.game_system == this.gameSystem); | ||||
|     // Sort skill categories by name | ||||
|     this.skillCategories.sort((a, b) => a.name.localeCompare(b.name)); | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static getSkillCategories() { | ||||
|     return this.skillCategories | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static registerSettings() { | ||||
|     game.settings.register("fvtt-rolemaster-frp", "game_system", { | ||||
|       name: "Game System", | ||||
|       hint: "List of Game Systems", | ||||
|       scope: "world", | ||||
|       default: "rmfrp", | ||||
|       requiresReload: true, | ||||
|       type: String, | ||||
|       config: true, | ||||
|       choices: { | ||||
|         rmfrp: "Rolemaster Fantasy Role Playing (RMFRP)", | ||||
|         merp: "Middle Earth Role Playing (MERP)" | ||||
|       } | ||||
|       }); | ||||
|  | ||||
|   } | ||||
|   /* -------------------------------------------- */ | ||||
|   static async loadCompendiumData(compendium) { | ||||
|     const pack = game.packs.get(compendium); | ||||
|     return await pack?.getDocuments() ?? []; | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static async loadCompendium(compendium, filter = item => true) { | ||||
|     let compendiumData = await RFRPUtility.loadCompendiumData(compendium); | ||||
|     return compendiumData.filter(filter); | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static removeChatMessageId(messageId) { | ||||
|     if (messageId) { | ||||
|       game.messages.get(messageId)?.delete(); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   static findChatMessageId(current) { | ||||
|     return RFRPUtility.getChatMessageId(HeritiersUtility.findChatMessage(current)); | ||||
|   } | ||||
|  | ||||
|   static getChatMessageId(node) { | ||||
|     return node?.attributes.getNamedItem('data-message-id')?.value; | ||||
|   } | ||||
|  | ||||
|   static findChatMessage(current) { | ||||
|     return RFRPUtility.findNodeMatching(current, it => it.classList.contains('chat-message') && it.attributes.getNamedItem('data-message-id')) | ||||
|   } | ||||
|  | ||||
|   static findNodeMatching(current, predicate) { | ||||
|     if (current) { | ||||
|       if (predicate(current)) { | ||||
|         return current; | ||||
|       } | ||||
|       return RFRPUtility.findNodeMatching(current.parentElement, predicate); | ||||
|     } | ||||
|     return undefined; | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static getUsers(filter) { | ||||
|     return game.users.filter(filter).map(user => user._id); | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static getWhisperRecipients(rollMode, name) { | ||||
|     switch (rollMode) { | ||||
|       case "blindroll": return this.getUsers(user => user.isGM); | ||||
|       case "gmroll": return this.getWhisperRecipientsAndGMs(name); | ||||
|       case "selfroll": return [game.user.id]; | ||||
|     } | ||||
|     return undefined; | ||||
|   } | ||||
|   /* -------------------------------------------- */ | ||||
|   static getWhisperRecipientsAndGMs(name) { | ||||
|     let recep1 = ChatMessage.getWhisperRecipients(name) || []; | ||||
|     return recep1.concat(ChatMessage.getWhisperRecipients('GM')); | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static blindMessageToGM(chatOptions) { | ||||
|     let chatGM = foundry.utils.duplicate(chatOptions); | ||||
|     chatGM.whisper = this.getUsers(user => user.isGM); | ||||
|     chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content; | ||||
|     console.log("blindMessageToGM", chatGM); | ||||
|     game.socket.emit("system.fvtt-rolemaster-frp", { msg: "msg_gm_chat_message", data: chatGM }); | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static async searchItem(dataItem) { | ||||
|     let item | ||||
|     if (dataItem.pack) { | ||||
|       let id = dataItem.id || dataItem._id | ||||
|       let items = await this.loadCompendium(dataItem.pack, item => item.id == id) | ||||
|       item = items[0] || undefined | ||||
|     } else { | ||||
|       item = game.items.get(dataItem.id) | ||||
|     } | ||||
|     return item | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static loadHandlebarsTemplates() { | ||||
|     const templatePaths = [ | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-stats.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-fixed-info.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-armor-info.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-resistance.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-race-stat-fixed-info.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-role-traits.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-background-info.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-skill-categories.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-skills.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-fav-skills.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-items.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-weapons.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-money.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-skill-categories.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-skills.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-armor.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-herbs.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-spells.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-fav-spells.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-fav-items.html", | ||||
|       "systems/fvtt-rolemaster-frp/templates/sheets/apps/app_skill_category_importer.html" | ||||
|     ]; | ||||
|     return loadTemplates(templatePaths); | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static loadHandlebarsHelpers() { | ||||
|  | ||||
|     // Handlebars Helpers | ||||
|     Handlebars.registerHelper('count', function (list) { | ||||
|       return list.length; | ||||
|     }) | ||||
|     Handlebars.registerHelper('includes', function (array, val) { | ||||
|       return array.includes(val); | ||||
|     }) | ||||
|     Handlebars.registerHelper('upper', function (text) { | ||||
|       return text.toUpperCase(); | ||||
|     }) | ||||
|     Handlebars.registerHelper('lower', function (text) { | ||||
|       return text.toLowerCase() | ||||
|     }) | ||||
|     Handlebars.registerHelper('upperFirst', function (text) { | ||||
|       if (typeof text !== 'string') return text | ||||
|       return text.charAt(0).toUpperCase() + text.slice(1) | ||||
|     }) | ||||
|     Handlebars.registerHelper('notEmpty', function (list) { | ||||
|       return list.length > 0; | ||||
|     }) | ||||
|     Handlebars.registerHelper('mul', function (a, b) { | ||||
|       return parseInt(a) * parseInt(b); | ||||
|     }) | ||||
|     Handlebars.registerHelper("switch", function (value, options) { | ||||
|       this.switch_value = value; | ||||
|       return options.fn(this); | ||||
|     }); | ||||
|     Handlebars.registerHelper("case", function (value, options) { | ||||
|       if (value === this.switch_value) { | ||||
|         return options.fn(this); | ||||
|       } | ||||
|     }); | ||||
|     // Handle v12 removal of this helper | ||||
|     Handlebars.registerHelper('select', function (selected, options) { | ||||
|       const escapedValue = RegExp.escape(Handlebars.escapeExpression(selected)); | ||||
|       const rgx = new RegExp(' value=[\"\']' + escapedValue + '[\"\']'); | ||||
|       const html = options.fn(this); | ||||
|       return html.replace(rgx, "$& selected"); | ||||
|     }); | ||||
|   } | ||||
| } | ||||
| @@ -2,10 +2,10 @@ export default class RMSSPlayerSheet extends ActorSheet { | ||||
|  | ||||
|   // Override Default Options, Set CSS Classes, Set Default Sheet, Set up Sheet Tabs | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       width: 860, | ||||
|       height: 780, | ||||
|       template: "systems/fvtt-rolemaster-frp/templates/sheets/actors/rmss-character-sheet.html", | ||||
|       template: "systems/rmss/templates/sheets/actors/rmss-character-sheet.html", | ||||
|       classes: ["rmss", "sheet", "actor"], | ||||
|       tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "features" }] | ||||
|     }); | ||||
| @@ -167,15 +167,7 @@ export default class RMSSPlayerSheet extends ActorSheet { | ||||
|         spells.push(i); | ||||
|       } | ||||
|     } | ||||
|     // Parse skill categories and re+levant skills | ||||
|     for (let s of skillcat) { | ||||
|       s.skills = []; | ||||
|       for (let sk of playerskill) { | ||||
|         if (sk.system.category.toLowerCase() === s.name.toLowerCase()) { | ||||
|           s.skills.push(sk); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|  | ||||
|     // Sort Skill/Skillcat Arrays | ||||
|     skillcat.sort(function(a, b) { | ||||
| @@ -206,15 +198,11 @@ export default class RMSSPlayerSheet extends ActorSheet { | ||||
|     context.armor = armor; | ||||
|     context.herbs = herbs; | ||||
|     context.spells = spells; | ||||
|      | ||||
|     // Dump context to console | ||||
|     console.log("ACTOR CONTEXT", context); | ||||
|  | ||||
|   } | ||||
|  | ||||
|   async renderCharacterSettings(data) { | ||||
|     console.log(data); | ||||
|     const configSheet = await renderTemplate("systems/fvtt-rolemaster-frp/templates/sheets/actors/dialogs/app_skill_category_importer.html", data); | ||||
|     const configSheet = await renderTemplate("systems/rmss/templates/sheets/actors/dialogs/app_skill_category_importer.html", data); | ||||
|     return (configSheet); | ||||
|   } | ||||
|  | ||||
| @@ -229,7 +217,7 @@ export default class RMSSPlayerSheet extends ActorSheet { | ||||
|  | ||||
|     html.find(".item-roll").click(ev => { | ||||
|       const item = this.actor.items.get(ev.currentTarget.getAttribute("data-item-id")); | ||||
|       new game.rmss.applications.RMSSToolsDiceRoller(item, this.actor).render(true); | ||||
|       new game.rmss.applications.RMSSToolsDiceRoller(item.name, item.system.total_bonus).render(true); | ||||
|     }); | ||||
|  | ||||
|     // ------------------------------------------------------------- | ||||
| @@ -251,9 +239,7 @@ export default class RMSSPlayerSheet extends ActorSheet { | ||||
|  | ||||
|       let selectOptions = {}; | ||||
|       for (const pack of game.packs) { | ||||
|         if (pack.metadata.type === "Item") { | ||||
|           selectOptions[pack.metadata.id] = pack.metadata.label; | ||||
|         } | ||||
|         selectOptions[pack.metadata.id] = pack.metadata.label; | ||||
|       } | ||||
|       new game.rmss.applications.RMSSToolsSCImporter(selectOptions, this.actor).render(true); | ||||
|     }); | ||||
|   | ||||
| @@ -7,10 +7,10 @@ export default class RMSSActorSheetConfig extends FormApplication { | ||||
|   } | ||||
|  | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       classes: ["form"], | ||||
|       popOut: true, | ||||
|       template: "systems/fvtt-rolemaster-frp/templates/sheets/actors/apps/actor-settings.html" | ||||
|       template: "systems/rmss/templates/sheets/actors/apps/actor-settings.html" | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -1,28 +1,38 @@ | ||||
| import { | ||||
|   roll_one_to_onehundred, | ||||
|   roll_low_open_ended, | ||||
|   roll_high_open_ended, | ||||
|   roll_open_ended | ||||
| } from "./rmss_dice_roller_rolls.js"; | ||||
| import { | ||||
|   getOpenEndedRollModifier, | ||||
|   processOpenEndedSixtySixRoll, | ||||
|   processOpenEndedRoll, | ||||
|   processHighOpenEndedRoll, | ||||
|   processLowOpenEndedRoll | ||||
| } from "./rmss_dice_roller_processing.js"; | ||||
|  | ||||
| export default class RMSSToolsDiceRoller extends FormApplication { | ||||
|   constructor(item, actor) { | ||||
|   constructor(itemName, characterBonus) { | ||||
|     super(); | ||||
|     this.item = foundry.utils.duplicate(item); | ||||
|     this.actor = actor; | ||||
|     this.itemName = item.name; | ||||
|     this.characterBonus = Number(item.system.total_bonus); | ||||
|     this.stunnedModifier = actor.getStunnedModifier() | ||||
|     this.itemName = itemName; | ||||
|     this.characterBonus = characterBonus; | ||||
|     this.rollType = [ | ||||
|       { value: "one_to_onehundred", text: "1-100", selected: false }, | ||||
|       { value: "open_ended", text: "Open-Ended", selected: true }, | ||||
|       { value: "high_open_ended", text: "High Open-Ended", selected: false }, | ||||
|       { value: "low_open_ended", text: "Low Open-Ended", selected: false } | ||||
|       {value: "one_to_onehundred", text: "1-100", selected: false}, | ||||
|       {value: "open_ended", text: "Open-Ended", selected: true}, | ||||
|       {value: "high_open_ended", text: "High Open-Ended", selected: false}, | ||||
|       {value: "low_open_ended", text: "Low Open-Ended", selected: false} | ||||
|     ]; | ||||
|   } | ||||
|  | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       classes: ["form"], | ||||
|       title: "Rolemaster Dice Roller", | ||||
|       popOut: true, | ||||
|       width: 480, | ||||
|       height: 440, | ||||
|       template: "systems/fvtt-rolemaster-frp/templates/sheets/apps/app_dice_roller.html" | ||||
|       width: 380, | ||||
|       height: 210, | ||||
|       template: "systems/rmss/templates/sheets/apps/app_dice_roller.html" | ||||
|     }); | ||||
|   } | ||||
|  | ||||
| @@ -32,15 +42,6 @@ export default class RMSSToolsDiceRoller extends FormApplication { | ||||
|       itemName: this.itemName, | ||||
|       characterBonus: this.characterBonus, | ||||
|       selectOptions: this.rollType, | ||||
|       woundsModifier: this.actor.system.modifiers.woundsModifier, | ||||
|       config: CONFIG.rmss, | ||||
|       difficulty: 0, | ||||
|       combatSituation: 0, | ||||
|       lightningModifier: 0, | ||||
|       darknessModifier: 0, | ||||
|       hitsPerRound: 0, | ||||
|       isStunned: this.actor.system.state.stunned, | ||||
|       stunnedModifier: this.stunnedModifier | ||||
|     }; | ||||
|   } | ||||
|  | ||||
| @@ -52,112 +53,33 @@ export default class RMSSToolsDiceRoller extends FormApplication { | ||||
|     console.log("Rolling Dice"); | ||||
|     console.log(formData); | ||||
|     console.log(event); | ||||
|     this.roll(event.submitter?.dataset?.value, formData); | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   async showDiceSoNice(roll, rollMode) { | ||||
|     if (game.modules.get("dice-so-nice")?.active) { | ||||
|       if (game.dice3d) { | ||||
|         let whisper = null; | ||||
|         let blind = false; | ||||
|         rollMode = rollMode ?? game.settings.get("core", "rollMode"); | ||||
|         switch (rollMode) { | ||||
|           case "blindroll": //GM only | ||||
|             blind = true; | ||||
|           case "gmroll": //GM + rolling player | ||||
|             whisper = this.getUsers(user => user.isGM); | ||||
|             break; | ||||
|           case "roll": //everybody | ||||
|             whisper = this.getUsers(user => user.active); | ||||
|             break; | ||||
|           case "selfroll": | ||||
|             whisper = [game.user.id]; | ||||
|             break; | ||||
|         } | ||||
|         await game.dice3d.showForRoll(roll, game.user, true, whisper, blind); | ||||
|       } | ||||
|     switch (formData.rollType) { | ||||
|       case "one_to_onehundred": | ||||
|         this.roll_one_to_onehundred(); | ||||
|         break; | ||||
|       case "open_ended": | ||||
|         this.roll_open_ended(); | ||||
|         break; | ||||
|       case "high_open_ended": | ||||
|         this.roll_high_open_ended(); | ||||
|         break; | ||||
|       case "low_open_ended": | ||||
|         this.roll_low_open_ended(); | ||||
|         break; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   async roll(rollKey, formData) { | ||||
|     let baseRoll = await new Roll("1d100").roll(); | ||||
|     await this.showDiceSoNice(baseRoll, game.settings.get("core", "rollMode")) | ||||
|     let rollType = this.rollType.find(r => r.value == rollKey)?.text; | ||||
|     let rollData = { | ||||
|       name: this.itemName, | ||||
|       rollKey: rollKey, | ||||
|       rollType: rollType, | ||||
|       difficulty: Number(formData.difficulty), | ||||
|       combatSituation: Number(formData?.combatSituation || 0), | ||||
|       lightningModifier: Number(formData?.lightningModifier || 0), | ||||
|       darknessModifier: Number(formData?.darknessModifier || 0), | ||||
|       characterBonus: Number(this.characterBonus), | ||||
|       woundsModifier: Number(this.actor.system.modifiers.woundsModifier), | ||||
|       hitsPerRound: Number(formData.hitsPerRound), | ||||
|       isStunned: this.actor.system.state.stunned, | ||||
|       stunnedModifier: this.stunnedModifier, | ||||
|       rolls: [baseRoll], | ||||
|     } | ||||
|     if (baseRoll.result == 66) { | ||||
|       rollData.content = "You rolled a 66!"; | ||||
|     } | ||||
|     // Process the for low open ended rolls | ||||
|     if (rollKey === "open_ended" || rollKey === "low_open_ended") { | ||||
|       if (baseRoll.result < 6) { | ||||
|         rollData.lowopen = true | ||||
|         let newRoll = await new Roll("-1d100").roll(); | ||||
|         await this.showDiceSoNice(newRoll, game.settings.get("core", "rollMode")) | ||||
|         rollData.rolls.push(newRoll); | ||||
|         while (newRoll.result > 95) { | ||||
|           newRoll = await new Roll("-1d100").roll(); | ||||
|           await this.showDiceSoNice(newRoll, game.settings.get("core", "rollMode")) | ||||
|           rollData.rolls.push(newRoll); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     // Process the for high open ended rolls | ||||
|     if (rollKey === "open_ended" || rollKey === "high_open_ended") { | ||||
|       if (baseRoll.result > 95) { | ||||
|         rollData.highopen = true | ||||
|         let newRoll = await new Roll("1d100").roll(); | ||||
|         await this.showDiceSoNice(newRoll, game.settings.get("core", "rollMode")) | ||||
|         rollData.rolls.push(newRoll); | ||||
|         while (newRoll.result > 95) { | ||||
|           newRoll = await new Roll("1d100").roll(); | ||||
|           await this.showDiceSoNice(newRoll, game.settings.get("core", "rollMode")) | ||||
|           rollData.rolls.push(newRoll); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     // Compute total of rolls | ||||
|     rollData.totalRolls = rollData.rolls.reduce((acc, roll) => Number(acc) + Number(roll.result), 0); | ||||
|     rollData.totalFinal = rollData.totalRolls + Number(rollData.combatSituation) +   | ||||
|       Number(rollData.lightningModifier) + | ||||
|       Number(rollData.darknessModifier) + | ||||
|       Number(this.actor.system.modifiers.woundsModifier) +  | ||||
|       Number(formData.difficulty) +  | ||||
|       Number(rollData.hitsPerRound) + | ||||
|       Number(rollData.stunnedModifier) + | ||||
|       Number(this.characterBonus); | ||||
|     console.log(">>> Roll Data: ", rollData); | ||||
|  | ||||
|     // Define the Chat Message Template | ||||
|     let chatTemplate = "systems/fvtt-rolemaster-frp/templates/chat/chat_dice_roll.html"; | ||||
|  | ||||
|     // Pass the Data through to be used in the Chat Message | ||||
|     let chatData = rollData | ||||
|     // Render the Rolls to the Chat Window | ||||
|     renderTemplate(chatTemplate, chatData).then((html) => { | ||||
|       let chatOptions = { | ||||
|         style: CONST.CHAT_MESSAGE_STYLES.ROLL, | ||||
|         flavor: rollType, | ||||
|         rollMode: game.settings.get("core", "rollMode"), | ||||
|         content: html, | ||||
|       }; | ||||
|       ChatMessage.create(chatOptions); | ||||
|     }); | ||||
|   } | ||||
|  | ||||
| } | ||||
|  | ||||
| RMSSToolsDiceRoller.prototype.roll_one_to_onehundred = roll_one_to_onehundred; | ||||
| RMSSToolsDiceRoller.prototype.roll_low_open_ended = roll_low_open_ended; | ||||
| RMSSToolsDiceRoller.prototype.roll_high_open_ended = roll_high_open_ended; | ||||
| RMSSToolsDiceRoller.prototype.roll_open_ended = roll_open_ended; | ||||
|  | ||||
| RMSSToolsDiceRoller.prototype.getOpenEndedRollModifier = | ||||
|   getOpenEndedRollModifier; | ||||
| RMSSToolsDiceRoller.prototype.processOpenEndedSixtySixRoll = | ||||
|   processOpenEndedSixtySixRoll; | ||||
| RMSSToolsDiceRoller.prototype.processOpenEndedRoll = processOpenEndedRoll; | ||||
| RMSSToolsDiceRoller.prototype.processHighOpenEndedRoll = | ||||
|   processHighOpenEndedRoll; | ||||
| RMSSToolsDiceRoller.prototype.processLowOpenEndedRoll = processLowOpenEndedRoll; | ||||
|   | ||||
							
								
								
									
										131
									
								
								module/sheets/apps/rmss_dice_roller_processing.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								module/sheets/apps/rmss_dice_roller_processing.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,131 @@ | ||||
| export async function getOpenEndedRollModifier() { | ||||
|   return await new Roll("1d100x>95").roll({ async: true }); | ||||
| } | ||||
|  | ||||
| export function processOpenEndedSixtySixRoll(baseroll, rolltype) { | ||||
|   // Log the Roll to Chat | ||||
|   let chatOptions = { | ||||
|     type: CONST.CHAT_MESSAGE_TYPES.ROLL, | ||||
|     rolls: [baseroll], | ||||
|     flavor: rolltype, | ||||
|     rollMode: game.settings.get("core", "rollMode"), | ||||
|     content: "You rolled a 66!", | ||||
|   }; | ||||
|  | ||||
|   ChatMessage.create(chatOptions); | ||||
| } | ||||
|  | ||||
| export function processOpenEndedRoll(baseroll, rolltype) { | ||||
|   // Define the Chat Message Template | ||||
|   let chatTemplate = "systems/rmss/templates/chat/chat_dice_roll.html"; | ||||
|  | ||||
|   // Pass the Data through to be used in the Chat Message | ||||
|   let chatData = { | ||||
|     baseroll: baseroll, | ||||
|     total: baseroll.result, | ||||
|     highopen: false, | ||||
|     lowopen: false, | ||||
|   }; | ||||
|  | ||||
|   // Render the Rolls to the Chat Window | ||||
|   renderTemplate(chatTemplate, chatData).then((html) => { | ||||
|     let chatOptions = { | ||||
|       type: CONST.CHAT_MESSAGE_TYPES.ROLL, | ||||
|       rolls: [baseroll], | ||||
|       flavor: rolltype, | ||||
|       rollMode: game.settings.get("core", "rollMode"), | ||||
|       content: html, | ||||
|     }; | ||||
|  | ||||
|     ChatMessage.create(chatOptions); | ||||
|   }); | ||||
| } | ||||
|  | ||||
| export async function processHighOpenEndedRoll(baseroll, rolltype) { | ||||
|   // Get the Base Roll followed by the High Open Ended Roll | ||||
|   let originalRoll = baseroll; | ||||
|   let openendedRoll = await this.getOpenEndedRollModifier(); | ||||
|  | ||||
|   // Create a rolls array for Dice So Nice integration. | ||||
|   let rolls = [originalRoll, openendedRoll]; | ||||
|  | ||||
|   // Create an Array to hold the High Open Ended Roll Results and set the total to base roll | ||||
|   let openendedResults = []; | ||||
|   let total = Number(originalRoll.result); | ||||
|  | ||||
|   // Each time the High Open Ended Roll is triggered add the result to an array and add it to the total. | ||||
|   for (const rollResult of openendedRoll.dice[0].results) { | ||||
|     openendedResults.push(rollResult.result); | ||||
|     total = total + Number(rollResult.result); | ||||
|   } | ||||
|  | ||||
|   // Define the Chat Message Template | ||||
|   let chatTemplate = "systems/rmss/templates/chat/chat_dice_roll.html"; | ||||
|  | ||||
|   // Pass the Data through to be used in the Chat Message | ||||
|   let chatData = { | ||||
|     baseroll: baseroll, | ||||
|     opeendedresults: [openendedResults], | ||||
|     highopen: true, | ||||
|     lowopen: false, | ||||
|     total: total, | ||||
|   }; | ||||
|  | ||||
|   // Render the Rolls to the Chat Window | ||||
|   renderTemplate(chatTemplate, chatData).then((html) => { | ||||
|     let chatOptions = { | ||||
|       type: CONST.CHAT_MESSAGE_TYPES.ROLL, | ||||
|       rolls: rolls, | ||||
|       flavor: rolltype, | ||||
|       rollMode: game.settings.get("core", "rollMode"), | ||||
|       content: html, | ||||
|     }; | ||||
|  | ||||
|     ChatMessage.create(chatOptions); | ||||
|   }); | ||||
| } | ||||
|  | ||||
| export async function processLowOpenEndedRoll(baseroll, rolltype) { | ||||
|   // Get the Base Roll followed by the Low Open Ended Roll | ||||
|   let originalRoll = baseroll; | ||||
|   let openendedRoll = await this.getOpenEndedRollModifier(); | ||||
|  | ||||
|   // Create a rolls array for Dice So Nice integration. | ||||
|   let rolls = [originalRoll, openendedRoll]; | ||||
|  | ||||
|   // Create an Array to hold the Low Open Ended Roll Results and set the total to base roll | ||||
|   let openendedResults = []; | ||||
|   let total = Number(originalRoll.result); | ||||
|  | ||||
|   // Each time the Low Open Ended Roll is triggered add the result to an array and subtract it from the total. | ||||
|   for (const rollResult of openendedRoll.dice[0].results) { | ||||
|     openendedResults.push(rollResult.result); | ||||
|     total = total - Number(rollResult.result); | ||||
|   } | ||||
|  | ||||
|   // Define the Chat Message Template | ||||
|   let chatTemplate = "systems/rmss/templates/chat/chat_dice_roll.html"; | ||||
|  | ||||
|   // Pass the Data through to be used in the Chat Message | ||||
|   let chatData = { | ||||
|     baseroll: baseroll, | ||||
|     rolls: rolls, | ||||
|     opeendedresults: [openendedResults], | ||||
|     highopen: false, | ||||
|     lowopen: true, | ||||
|     total: total, | ||||
|   }; | ||||
|  | ||||
|   // Render the Rolls to the Chat Window | ||||
|   renderTemplate(chatTemplate, chatData).then((html) => { | ||||
|     let chatOptions = { | ||||
|       type: CONST.CHAT_MESSAGE_TYPES.ROLL, | ||||
|       rolls: rolls, | ||||
|       flavor: rolltype, | ||||
|       rollMode: game.settings.get("core", "rollMode"), | ||||
|       content: html, | ||||
|     }; | ||||
|  | ||||
|     ChatMessage.create(chatOptions); | ||||
|   }); | ||||
| } | ||||
							
								
								
									
										71
									
								
								module/sheets/apps/rmss_dice_roller_rolls.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								module/sheets/apps/rmss_dice_roller_rolls.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | ||||
| export async function roll_one_to_onehundred() { | ||||
|     // Construct the Roll instance | ||||
|     let baseroll = await new Roll("1d100 + @characterBonus", {characterBonus: this.characterBonus}).roll({async: true}); | ||||
|     let rolltype = "Roll Type: 1-100"; | ||||
|      | ||||
|     // Log the Roll to Chat | ||||
|     let chatOptions = { | ||||
|         type: CONST.CHAT_MESSAGE_TYPES.ROLL, | ||||
|         rolls: [baseroll], | ||||
|         flavor: rolltype, | ||||
|         rollMode: game.settings.get("core", "rollMode") | ||||
|     }; | ||||
|      | ||||
|     ChatMessage.create(chatOptions); | ||||
|     this.close(); | ||||
| }; | ||||
|  | ||||
| export async function roll_low_open_ended() {  | ||||
|     // Construct the Roll instance | ||||
|     let baseroll = await new Roll("1d100").roll({async: true}); | ||||
|     console.log(baseroll.result); | ||||
|     let rolltype = "Roll Type: Low Open-Ended"; | ||||
|      | ||||
|     switch (true) { | ||||
|         case (baseroll.result < 6): | ||||
|         this.processLowOpenEndedRoll(baseroll, rolltype); | ||||
|         break; | ||||
|         case (baseroll.result === 66): | ||||
|         this.processOpenEndedSixtySixRoll(baseroll, rolltype); | ||||
|         break; | ||||
|         default: | ||||
|         this.processOpenEndedRoll(baseroll, rolltype); | ||||
|     } | ||||
| } | ||||
|  | ||||
| export async function roll_high_open_ended() { | ||||
|     // Construct the Roll instance | ||||
|     let baseroll = await new Roll("1d100").roll({async: true}); | ||||
|     console.log(baseroll.result); | ||||
|     let rolltype = "Roll Type: High Open-Ended"; | ||||
|     switch (true) { | ||||
|         case (baseroll.result === 66): | ||||
|         this.processOpenEndedSixtySixRoll(baseroll, rolltype); | ||||
|         break; | ||||
|         case (baseroll.result > 95): | ||||
|         this.processHighOpenEndedRoll(baseroll, rolltype); | ||||
|         break; | ||||
|         default: | ||||
|         this.processOpenEndedRoll(baseroll, rolltype); | ||||
|     } | ||||
| } | ||||
|  | ||||
| export async function roll_open_ended() {  | ||||
|     // Construct the Roll instance | ||||
|     let baseroll = await new Roll("1d100").roll({async: true}); | ||||
|     console.log(baseroll.result); | ||||
|     let rolltype = "Roll Type: Open-Ended"; | ||||
|     switch (true) { | ||||
|         case (baseroll.result < 6): | ||||
|         this.processLowOpenEndedRoll(baseroll, rolltype); | ||||
|         break; | ||||
|         case (baseroll.result === 66): | ||||
|         this.processOpenEndedSixtySixRoll(baseroll, rolltype); | ||||
|         break; | ||||
|         case (baseroll.result > 95): | ||||
|         this.processHighOpenEndedRoll(baseroll, rolltype); | ||||
|         break; | ||||
|         default: | ||||
|         this.processOpenEndedRoll(baseroll, rolltype); | ||||
|     } | ||||
| } | ||||
| @@ -7,11 +7,11 @@ export default class RMSSToolsSCImporter extends FormApplication { | ||||
|   } | ||||
|  | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       classes: ["form"], | ||||
|       popOut: true, | ||||
|       title: "Import Skill Categories", | ||||
|       template: "systems/fvtt-rolemaster-frp/templates/sheets/apps/app_skill_category_importer.html" | ||||
|       template: "systems/rmss/templates/sheets/apps/app_skill_category_importer.html" | ||||
|     }); | ||||
|   } | ||||
|  | ||||
| @@ -27,27 +27,23 @@ export default class RMSSToolsSCImporter extends FormApplication { | ||||
|   } | ||||
|  | ||||
|   async _updateObject(event, formData) { | ||||
|     //console.log("Update ", event, formData); | ||||
|     let itemType = event.submitter.value; | ||||
|     let toDelete = []; | ||||
|     console.log("Deleting Old Skill Categories."); | ||||
|     for (const item of this.character.items) { | ||||
|       if (item.type === itemType) { | ||||
|         toDelete.push(item.id); | ||||
|       if (item.type === "skill_category") { | ||||
|         item.delete(); | ||||
|       } | ||||
|     } | ||||
|     this.character.deleteEmbeddedDocuments("Item", toDelete); | ||||
|  | ||||
|     let comp = (itemType == "skill") ? formData.selectOptionsSkills : formData.selectOptionsCategories; | ||||
|     const pack = game.packs.get(comp); | ||||
|     const pack = game.packs.get(formData.selectOptions); | ||||
|     const skillCategoryData = await pack.getIndex(); | ||||
|  | ||||
|     console.log("Importing New Skills/Skill Categories."); | ||||
|     console.log("Importing New Skill Categories."); | ||||
|  | ||||
|     for (const sc of skillCategoryData) { | ||||
|       const newitem = await pack.getDocument(sc._id); | ||||
|  | ||||
|       let newDocuments = []; | ||||
|       if (newitem.type === itemType) { | ||||
|       if (newitem.type === "skill_category") { | ||||
|         console.log(newitem); | ||||
|         newDocuments.push(newitem); | ||||
|       } | ||||
|   | ||||
| @@ -3,17 +3,17 @@ export default class RMSSArmorSheet extends ItemSheet { | ||||
|  | ||||
|   // Set the height and width | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       width: 530, | ||||
|       height: 440, | ||||
|       template: "systems/fvtt-rolemaster-frp/templates/sheets/items/rmss-armor-sheet.html", | ||||
|       template: "systems/rmss/templates/sheets/items/rmss-armor-sheet.html", | ||||
|       classes: ["rmss", "sheet", "item"] | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   // If our sheet is called here it is. | ||||
|   get template() { | ||||
|     return "systems/fvtt-rolemaster-frp/templates/sheets/items/rmss-armor-sheet.html"; | ||||
|     return "systems/rmss/templates/sheets/items/rmss-armor-sheet.html"; | ||||
|   } | ||||
|  | ||||
|   // Make the data available to the sheet template | ||||
|   | ||||
| @@ -3,17 +3,17 @@ export default class RMSSHerbAndPoisonSheet extends ItemSheet { | ||||
|  | ||||
|   // Set the height and width | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       width: 530, | ||||
|       height: 440, | ||||
|       template: "systems/fvtt-rolemaster-frp/templates/sheets/items/rmss-herb-or-poison-sheet.html", | ||||
|       template: "systems/rmss/templates/sheets/items/rmss-herb-or-poison-sheet.html", | ||||
|       classes: ["rmss", "sheet", "item"] | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   // If our sheet is called here it is. | ||||
|   get template() { | ||||
|     return "systems/fvtt-rolemaster-frp/templates/sheets/items/rmss-herb-or-poison-sheet.html"; | ||||
|     return "systems/rmss/templates/sheets/items/rmss-herb-or-poison-sheet.html"; | ||||
|   } | ||||
|  | ||||
|   // Make the data available to the sheet template | ||||
|   | ||||
| @@ -3,17 +3,17 @@ export default class RMSSItemSheet extends ItemSheet { | ||||
|  | ||||
|   // Set the height and width | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       width: 530, | ||||
|       height: 440, | ||||
|       template: "systems/fvtt-rolemaster-frp/templates/sheets/items/rmss-item-sheet.html", | ||||
|       template: "systems/rmss/templates/sheets/items/rmss-item-sheet.html", | ||||
|       classes: ["rmss", "sheet", "item"] | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   // If our sheet is called here it is. | ||||
|   get template() { | ||||
|     return "systems/fvtt-rolemaster-frp/templates/sheets/items/rmss-item-sheet.html"; | ||||
|     return "systems/rmss/templates/sheets/items/rmss-item-sheet.html"; | ||||
|   } | ||||
|  | ||||
|   // Make the data available to the sheet template | ||||
|   | ||||
| @@ -3,17 +3,17 @@ export default class RMSSTransportSheet extends ItemSheet { | ||||
|  | ||||
|   // Set the height and width | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       width: 530, | ||||
|       height: 440, | ||||
|       template: "systems/fvtt-rolemaster-frp/templates/sheets/items/rmss-transport-sheet.html", | ||||
|       template: "systems/rmss/templates/sheets/items/rmss-transport-sheet.html", | ||||
|       classes: ["rmss", "sheet", "item"] | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   // If our sheet is called here it is. | ||||
|   get template() { | ||||
|     return "systems/fvtt-rolemaster-frp/templates/sheets/items/rmss-transport-sheet.html"; | ||||
|     return "systems/rmss/templates/sheets/items/rmss-transport-sheet.html"; | ||||
|   } | ||||
|  | ||||
|   // Make the data available to the sheet template | ||||
|   | ||||
| @@ -3,17 +3,17 @@ export default class RMSSWeaponSheet extends ItemSheet { | ||||
|  | ||||
|   // Set the height and width | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       width: 530, | ||||
|       height: 440, | ||||
|       template: "systems/fvtt-rolemaster-frp/templates/sheets/items/rmss-weapon-sheet.html", | ||||
|       template: "systems/rmss/templates/sheets/items/rmss-weapon-sheet.html", | ||||
|       classes: ["rmss", "sheet", "item"] | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   // If our sheet is called here it is. | ||||
|   get template() { | ||||
|     return "systems/fvtt-rolemaster-frp/templates/sheets/items/rmss-weapon-sheet.html"; | ||||
|     return "systems/rmss/templates/sheets/items/rmss-weapon-sheet.html"; | ||||
|   } | ||||
|  | ||||
|   // Make the data available to the sheet template | ||||
|   | ||||
| @@ -3,17 +3,17 @@ export default class RMSSSkillCategorySheet extends ItemSheet { | ||||
|  | ||||
|   // Set the height and width | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       width: 580, | ||||
|       height: 440, | ||||
|       template: "systems/fvtt-rolemaster-frp/templates/sheets/skills/rmss-skill-category-sheet.html", | ||||
|       template: "systems/rmss/templates/sheets/skills/rmss-skill-category-sheet.html", | ||||
|       classes: ["rmss", "sheet", "item"] | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   // If our sheet is called here it is. | ||||
|   get template() { | ||||
|     return "systems/fvtt-rolemaster-frp/templates/sheets/skills/rmss-skill-category-sheet.html"; | ||||
|     return "systems/rmss/templates/sheets/skills/rmss-skill-category-sheet.html"; | ||||
|   } | ||||
|  | ||||
|   // Make the data available to the sheet template | ||||
|   | ||||
| @@ -1,28 +1,26 @@ | ||||
| import { RFRPUtility } from "../../rfrp-utility.js"; | ||||
|  | ||||
| // Our Item Sheet extends the default | ||||
| export default class RMSSSkillSheet extends ItemSheet { | ||||
|  | ||||
|   // Set the height and width | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       width: 530, | ||||
|       height: 440, | ||||
|       template: "systems/fvtt-rolemaster-frp/templates/sheets/skills/rmss-skill-sheet.html", | ||||
|       template: "systems/rmss/templates/sheets/skills/rmss-skill-sheet.html", | ||||
|       classes: ["rmss", "sheet", "item"] | ||||
|     }); | ||||
|   } | ||||
|  | ||||
|   // If our sheet is called here it is. | ||||
|   get template() { | ||||
|     return "systems/fvtt-rolemaster-frp/templates/sheets/skills/rmss-skill-sheet.html"; | ||||
|     return "systems/rmss/templates/sheets/skills/rmss-skill-sheet.html"; | ||||
|   } | ||||
|  | ||||
|   // Make the data available to the sheet template | ||||
|   async getData() { | ||||
|     const baseData = await super.getData(); | ||||
|  | ||||
|     let enrichedDescription = await TextEditor.enrichHTML(this.item.system.description, { async: true }); | ||||
|     let enrichedDescription = await TextEditor.enrichHTML(this.item.system.description, {async: true}); | ||||
|  | ||||
|     // Get a list of the parent item's skill categories for the dropdown | ||||
|     let ownedSkillCategories = this.prepareSkillCategoryValues(); | ||||
| @@ -53,16 +51,16 @@ export default class RMSSSkillSheet extends ItemSheet { | ||||
|     html.find(".skillsheet-newrank").click(ev => { | ||||
|       switch (ev.currentTarget.getAttribute("value")) { | ||||
|         case "0": | ||||
|           this.object.update({ system: { new_ranks: { value: 1 } } }); | ||||
|           this.object.update({system: {new_ranks: { value: 1 }}}); | ||||
|           break; | ||||
|         case "1": | ||||
|           this.object.update({ system: { new_ranks: { value: 2 } } }); | ||||
|           this.object.update({system: {new_ranks: { value: 2 }}}); | ||||
|           break; | ||||
|         case "2": | ||||
|           this.object.update({ system: { new_ranks: { value: 3 } } }); | ||||
|           this.object.update({system: {new_ranks: { value: 3 }}}); | ||||
|           break; | ||||
|         case "3": | ||||
|           this.object.update({ system: { new_ranks: { value: 0 } } }); | ||||
|           this.object.update({system: {new_ranks: { value: 0 }}}); | ||||
|           break; | ||||
|       } | ||||
|     }); | ||||
| @@ -72,20 +70,23 @@ export default class RMSSSkillSheet extends ItemSheet { | ||||
|   // If this Skill is owned then we will return a list of Skill Categories and allow them to choose | ||||
|   // Otherwise we'll just return 'Skill has no owner' | ||||
|   prepareSkillCategoryValues() { | ||||
|     let skillCategories = RFRPUtility.getSkillCategories(); | ||||
|     if (this.item.isEmbedded) { | ||||
|       skillCategories = this.item.parent.items.filter(it => it.type == "skill_category"); | ||||
|     let skillNoOwner = {None: "Skill Has No Owner"}; | ||||
|  | ||||
|     if (this.item.isEmbedded === null) { | ||||
|       return (skillNoOwner); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|       const skillCategories = this.item.parent.getOwnedItemsByType("skill_category"); | ||||
|       return (skillCategories); | ||||
|     } | ||||
|     //console.log("CATEG", skillCategories); | ||||
|     return (skillCategories); | ||||
|   } | ||||
|  | ||||
|   // Determine which Skill Category is selected and test that it is in the current list of categories. | ||||
|   // If it isn't set it to None. | ||||
|   prepareSelectedSkillCategory(ownedSkillCategories, selectedSkillCategory) { | ||||
|     let defaultSelectedCategory = "None"; | ||||
|     let skillC = ownedSkillCategories.find(it => it.name.toLowerCase() == selectedSkillCategory.toLowerCase()); | ||||
|     if (skillC) { | ||||
|     if (Object.keys(ownedSkillCategories).includes(selectedSkillCategory)) { | ||||
|       return (selectedSkillCategory); | ||||
|     } else { | ||||
|       return (defaultSelectedCategory); | ||||
| @@ -96,14 +97,19 @@ export default class RMSSSkillSheet extends ItemSheet { | ||||
|   // Iterate through the owned skill categories and if one of them matches the item id of currently | ||||
|   // selected skill category then set the Skill Category Bonus field to the Total Bonus field of the Skill Category | ||||
|   prepareSelectedSkillCategoryBonus(selected_skillcat) { | ||||
|     let skillC = this.parent?.items || RFRPUtility.getSkillCategories(); | ||||
|     if (skillC) { | ||||
|       let item = skillC.find(it => it.type == "skill_category" && it.name.toLowerCase() == itemData.system.category.toLowerCase()); | ||||
|       if (item) { | ||||
|         this.system.category_bonus = item.system.total_bonus; | ||||
|         return | ||||
|     if (this.item.isEmbedded === null) { | ||||
|       console.log("Skill has no owner"); | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|       const items = this.object.parent.items; | ||||
|  | ||||
|       for (const item of items) { | ||||
|         if (item.type === "skill_category" && item._id === selected_skillcat) { | ||||
|           console.log(`rmss | rmss_skill_sheet | Calculating Skill Category bonus for skill: ${this.object.name}`); | ||||
|           this.object.system.category_bonus = item.system.total_bonus; | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     ui.notifications.warn("No Skill Categories found for " + this.name + ". Please create and link a Skill Category."); | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -3,7 +3,7 @@ export default class RMSSSpellSheet extends ItemSheet { | ||||
|  | ||||
|   // Set the height and width | ||||
|   static get defaultOptions() { | ||||
|     return foundry.utils.mergeObject(super.defaultOptions, { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       width: 530, | ||||
|       height: 440, | ||||
|       classes: ["rmss", "sheet", "item"] | ||||
| @@ -12,7 +12,7 @@ export default class RMSSSpellSheet extends ItemSheet { | ||||
|  | ||||
|   // If our sheet is called here it is. | ||||
|   get template() { | ||||
|     return "systems/fvtt-rolemaster-frp/templates/sheets/spells/rmss-spell-sheet.html"; | ||||
|     return "systems/rmss/templates/sheets/spells/rmss-spell-sheet.html"; | ||||
|   } | ||||
|  | ||||
|   // Make the data available to the sheet template | ||||
|   | ||||
							
								
								
									
										53
									
								
								packs/rmss_skill_categories.db
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								packs/rmss_skill_categories.db
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| {"name":"Weapon • Missile Artillery","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Ag/Re","app_stat_1":"In","app_stat_2":"Ag","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.swVilWoSF4JH0yhZ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898842718,"modifiedTime":1663840828472,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"1HevhbCbvMonyQXe"} | ||||
| {"name":"Armor • Medium","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.ENiEBop9Kgrn9pBt"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897408501,"modifiedTime":1663840704830,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"2fdM9ICcj7vp8nFd"} | ||||
| {"name":"Athletic • Gymnastics","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/Qu/Ag","app_stat_1":"Ag","app_stat_2":"Qu","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.TASzGNEwHMQUz1AV"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897573841,"modifiedTime":1663840718046,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"2rw9aaYaiTiuKX6p"} | ||||
| {"name":"Weapon • Missile","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.8a1d0Z2MfJe0R1Eb"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898823756,"modifiedTime":1663840820736,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"2sTx95Y88soBT6Xm"} | ||||
| {"name":"Technical/Trade • General","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/SD","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.1td9QGD20b4nkD6h"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898674902,"modifiedTime":1663840807018,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"3mHLFWrWHEA8Fmyq"} | ||||
| {"name":"Lore • Obscure","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/Me","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.bsDoIUKcNUeqxQQO"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897997337,"modifiedTime":1663840747755,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"47foBA6Yk70CVg2i"} | ||||
| {"name":"Weapon • Thown","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.kCtfktVNlH414NL2"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898881742,"modifiedTime":1663840832033,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"5e3r6vHlLHjZzyTu"} | ||||
| {"name":"Technical/Trade • Professional","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/In","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.xNTn6oV9yMOmfP0Z"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898699996,"modifiedTime":1663840810513,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"67oz5EUQCrxKsh5e"} | ||||
| {"name":"Spells • Other Realm Open Lists","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.AUzgIWYzrE15qCt9"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898456160,"modifiedTime":1663840790383,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"7z1BmP1Qlx11GL1C"} | ||||
| {"name":"Lore • Technical","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/Me","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.Tw2FXIQb5HA89kbX"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898032616,"modifiedTime":1663840749775,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"9XA38iy0DxyhUaaC"} | ||||
| {"name":"Armor • Light","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.TMGapmlYutNuQaw8"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897388838,"modifiedTime":1663840702933,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"AIvpcHWyipCtWLvT"} | ||||
| {"name":"Combat Maneuvers","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/Qu/SD","app_stat_1":"Ag","app_stat_2":"Qu","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.bwL0nMJePO6OQNue"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897819566,"modifiedTime":1663840727979,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"Aa5S1GaRJmkyDjIR"} | ||||
| {"name":"Awareness • Perceptions","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/SD/In","app_stat_1":"In","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.gJHBJS3aEz62XbxE"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897610482,"modifiedTime":1663840719487,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"BJlyds9J8ILwLIyW"} | ||||
| {"name":"Martial Arts • Sweeps","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.n9WaU79Ctzmf6JbC"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898139942,"modifiedTime":1663840757073,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"Bj3no8mNboD8qKTn"} | ||||
| {"name":"Crafts","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/Me/SD","app_stat_1":"Ag","app_stat_2":"Me","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.6nErPtcQ33WXkyH4"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897865848,"modifiedTime":1663840734368,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"CcUHr6zfVpRuu4xv"} | ||||
| {"name":"Body Development","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Co/SD/Co","app_stat_1":"Co","app_stat_2":"SD","app_stat_3":"Co","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.cWtQ0YU3kGBhL8iR"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897724809,"modifiedTime":1663840726119,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"DL9XZU3P2Bw87PJa"} | ||||
| {"name":"Weapon • Pole Arms","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.hpmgFsJPXxBQHJSE"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898862386,"modifiedTime":1663840830247,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"HkZMP2SZyRVqzzCJ"} | ||||
| {"name":"Self Control","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"SD/Pr/SD","app_stat_1":"SD","app_stat_2":"Pr","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.1B82OxRKQ781NEa9"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898315491,"modifiedTime":1663840773057,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"IIQQyaCr7KJeeMGp"} | ||||
| {"name":"Special Defenses","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.eH1iaAuxyIwDmuA8"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898371453,"modifiedTime":1663840778477,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"JmokU4vzQQ4lPicS"} | ||||
| {"name":"Spells • Own Realm Open Lists","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.w8xibKSY2EShkDJq"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898482739,"modifiedTime":1663840794007,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"KICAwOwrP1cMTRKf"} | ||||
| {"name":"Subterfuge • Stealth","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/SD/In","app_stat_1":"Ag","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.FM9stBeKGFVdAPdc"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898591826,"modifiedTime":1663840803256,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"KmFEWAhhqtmRZCQv"} | ||||
| {"name":"Subterfuge • Mechanics","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Ag/Re","app_stat_1":"In","app_stat_2":"Ag","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.O0Zwk5hAhCMx6ajP"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898576285,"modifiedTime":1663840801090,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"P6lna8uCBQeVNgau"} | ||||
| {"name":"Influence","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Pr/Em/In","app_stat_1":"Pr","app_stat_2":"Em","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.zOKTXAFd6bK3XJZ5"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897929958,"modifiedTime":1663840741277,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"PnBxiNuUS8b3KjGE"} | ||||
| {"name":"Spells • Own Realm Other Base Lists","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.HeAonlDHotwBy2lx"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898530167,"modifiedTime":1663840795735,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"QolQRsysF7O5XJo8"} | ||||
| {"name":"Power Awareness","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Em/In/Pr","app_stat_1":"Em","app_stat_2":"In","app_stat_3":"Pr","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.cnnhsP9vAOoN7VMn"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898233748,"modifiedTime":1663840766010,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"R2wZUOFxekV1mBgc"} | ||||
| {"name":"Spells • Arcane Open Lists","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.R3lQNaGBdz7C5Fhs"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898407655,"modifiedTime":1663840780153,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"RpiCBmS6DKnI8Pok"} | ||||
| {"name":"Athletic • Endurance","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Co/Ag/St","app_stat_1":"Co","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.ldmZhkHo8m4VvV2V"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897539929,"modifiedTime":1663840716358,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"Rug8mq3LdUxGhHXK"} | ||||
| {"name":"Directed Spells","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/SD/Ag","app_stat_1":"Ag","app_stat_2":"SD","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.RA46DfHavzTTrp99"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897900117,"modifiedTime":1663840738205,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"US94Sx46Vn1Rs9D5"} | ||||
| {"name":"Lore • Magical","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/Me","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.V9otC0Kh0y0B3P8Q"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897982070,"modifiedTime":1663840745751,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"X8RmCDRpojxc6u09"} | ||||
| {"name":"Weapon • 1-H Concussion","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.CXllZNGgTe80uZRQ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898744329,"modifiedTime":1663840814331,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"YZw0sLV7fZwXD85n"} | ||||
| {"name":"Weapon • 1-H Edged","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.MV3UkzR77MTPHTau"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898787439,"modifiedTime":1663840817273,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"ZS8ikAjF41M7eZg5"} | ||||
| {"name":"Awareness • Searching","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Re/SD","app_stat_1":"In","app_stat_2":"Re","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.NZl30XPdtYjHqtwp"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897647294,"modifiedTime":1663840720922,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"ZaUdmzJSrTeI0gsl"} | ||||
| {"name":"Lore • General","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/Me","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.5fCeVMz6xVnkmH8o"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897962808,"modifiedTime":1663840744241,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"brpsxpqHEnUfC8a1"} | ||||
| {"name":"Science/Analytic • Basic","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/Re","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.BfDFjciYPFezmes0"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898290307,"modifiedTime":1663840771526,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"dKHsLzvDinagbTCm"} | ||||
| {"name":"Power Manipulation","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Em/In/Pr","app_stat_1":"Em","app_stat_2":"In","app_stat_3":"Pr","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.CQX0326xax4K3lEP"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898250959,"modifiedTime":1663840767601,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"g64EdTWn0WxJXJFq"} | ||||
| {"name":"Subterfuge • Attack","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/SD/In","app_stat_1":"Ag","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.Zva3DO0Zmk3G5xWT"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898559045,"modifiedTime":1663840799076,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"gYP00F897jg2I6pC"} | ||||
| {"name":"Artistic • Passive","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Em/In/Pr","app_stat_1":"Em","app_stat_2":"In","app_stat_3":"Pr","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.NTMvAPWeh5G55Kjs"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897462965,"modifiedTime":1663840713026,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"hFi8bJUxX2HvSoDj"} | ||||
| {"name":"Athletic • Brawn","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Co/Ag","app_stat_1":"St","app_stat_2":"Co","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.VufLKW42mP7RtinG"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897509473,"modifiedTime":1663840714620,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"iC37JIsE5RETzyd6"} | ||||
| {"name":"Spells • Own Realm Own Base Lists","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.eEAr5sqnGKej7eiC"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898544500,"modifiedTime":1663840797285,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"iWL7y95CGF7Y1dAq"} | ||||
| {"name":"Artistic • Active","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Pr/Em/Ag","app_stat_1":"Pr","app_stat_2":"Em","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.cEffILww7nn8vqJ7"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897441727,"modifiedTime":1663840706776,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"iZn6Hzq4cr0zY7Uk"} | ||||
| {"name":"Power Point Development","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.Q7rKLS4gJwH2Lygw"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898277091,"modifiedTime":1663840769117,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"jOywgkFX58CVDn7z"} | ||||
| {"name":"Armor • Heavy","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.7UA8xwzcBrKZfFk9"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897366792,"modifiedTime":1663840700907,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"k4IOyyJU8t7MAySl"} | ||||
| {"name":"Spells • Other Realm Closed Lists","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.7ka2nD2kPq6ixwWu"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898426199,"modifiedTime":1663840788519,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"kbOWBGenZjWIVqrC"} | ||||
| {"name":"Awareness • Senses","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/SD/In","app_stat_1":"In","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.QplAVXReCFVlKVB8"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897666266,"modifiedTime":1663840724332,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"pApyCNOxQb5sIOsf"} | ||||
| {"name":"Weapon • 2-Handed","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.JiH6JhVoH9jrqptT"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898804378,"modifiedTime":1663840819146,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"qRNUoJcWrF2EmLSP"} | ||||
| {"name":"Spells • Own Realm Closed Lists","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.cyNDeZDye15gUFzA"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898478099,"modifiedTime":1663840792427,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"ruxbCKHjuGsdQ79z"} | ||||
| {"name":"Outdoor • Animal","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Em/Ag/Em","app_stat_1":"Em","app_stat_2":"Ag","app_stat_3":"Em","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.6UjbXeI6IFrsdTEy"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898166391,"modifiedTime":1663840758805,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"v6tHhdaL7amLDnzR"} | ||||
| {"name":"Outdoor • Environmental","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"SD/In/Me","app_stat_1":"SD","app_stat_2":"In","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.49iK0oluVd5Z1fpc"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898214394,"modifiedTime":1663840760505,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"vM8rePr9QRXnG6HK"} | ||||
| {"name":"Spells • Other Realm Base Lists","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.Wo1SrqGsgMYNoApO"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898426199,"modifiedTime":1663840786314,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"vlFr24F5zJ9fYzs7"} | ||||
| {"name":"Urban","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Pr/Re","app_stat_1":"In","app_stat_2":"Pr","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.JAY4cM0lv1wZm3vo"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898721300,"modifiedTime":1663840812646,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"xHqAlnQjgEScetvh"} | ||||
| {"name":"Martial Arts • Striking","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.HVistg0XNoVGsSKZ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898114714,"modifiedTime":1663840754969,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"xJXObXAQcdPbSXg9"} | ||||
| {"name":"Communcations","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/Em","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"Em","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.fh63pdckz6VYGAFc"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897838640,"modifiedTime":1663840730283,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"xTzO3HPhQe5OS255"} | ||||
| {"name":"Special Attacks","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/SD","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.by1LH6XYGWd5d9bs"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898332987,"modifiedTime":1663840775989,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"yRIFroc5VC9Oj3qY"} | ||||
| @@ -1,53 +0,0 @@ | ||||
| {"name":"Weapon • Missile Artillery","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Ag/Re","app_stat_1":"In","app_stat_2":"Ag","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.swVilWoSF4JH0yhZ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898842718,"modifiedTime":1663840828472,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"1HevhbCbvMonyQXe"} | ||||
| {"name":"Armor • Medium","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.ENiEBop9Kgrn9pBt"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897408501,"modifiedTime":1663840704830,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"2fdM9ICcj7vp8nFd"} | ||||
| {"name":"Athletic • Gymnastics","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/Qu/Ag","app_stat_1":"Ag","app_stat_2":"Qu","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.TASzGNEwHMQUz1AV"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897573841,"modifiedTime":1663840718046,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"2rw9aaYaiTiuKX6p"} | ||||
| {"name":"Weapon • Missile","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.8a1d0Z2MfJe0R1Eb"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898823756,"modifiedTime":1663840820736,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"2sTx95Y88soBT6Xm"} | ||||
| {"name":"Technical/Trade • General","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/SD","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.1td9QGD20b4nkD6h"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898674902,"modifiedTime":1663840807018,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"3mHLFWrWHEA8Fmyq"} | ||||
| {"name":"Lore • Obscure","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/Me","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.bsDoIUKcNUeqxQQO"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897997337,"modifiedTime":1663840747755,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"47foBA6Yk70CVg2i"} | ||||
| {"name":"Weapon • Thown","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.kCtfktVNlH414NL2"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898881742,"modifiedTime":1663840832033,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"5e3r6vHlLHjZzyTu"} | ||||
| {"name":"Technical/Trade • Professional","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/In","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.xNTn6oV9yMOmfP0Z"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898699996,"modifiedTime":1663840810513,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"67oz5EUQCrxKsh5e"} | ||||
| {"name":"Spells • Other Realm Open Lists","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.AUzgIWYzrE15qCt9"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898456160,"modifiedTime":1663840790383,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"7z1BmP1Qlx11GL1C"} | ||||
| {"name":"Lore • Technical","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/Me","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.Tw2FXIQb5HA89kbX"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898032616,"modifiedTime":1663840749775,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"9XA38iy0DxyhUaaC"} | ||||
| {"name":"Armor • Light","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.TMGapmlYutNuQaw8"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897388838,"modifiedTime":1663840702933,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"AIvpcHWyipCtWLvT"} | ||||
| {"name":"Combat Maneuvers","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/Qu/SD","app_stat_1":"Ag","app_stat_2":"Qu","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.bwL0nMJePO6OQNue"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897819566,"modifiedTime":1663840727979,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"Aa5S1GaRJmkyDjIR"} | ||||
| {"name":"Awareness • Perceptions","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/SD/In","app_stat_1":"In","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.gJHBJS3aEz62XbxE"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897610482,"modifiedTime":1663840719487,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"BJlyds9J8ILwLIyW"} | ||||
| {"name":"Martial Arts • Sweeps","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.n9WaU79Ctzmf6JbC"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898139942,"modifiedTime":1663840757073,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"Bj3no8mNboD8qKTn"} | ||||
| {"name":"Crafts","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/Me/SD","app_stat_1":"Ag","app_stat_2":"Me","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.6nErPtcQ33WXkyH4"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897865848,"modifiedTime":1663840734368,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"CcUHr6zfVpRuu4xv"} | ||||
| {"name":"Body Development","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Co/SD/Co","app_stat_1":"Co","app_stat_2":"SD","app_stat_3":"Co","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.cWtQ0YU3kGBhL8iR"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897724809,"modifiedTime":1663840726119,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"DL9XZU3P2Bw87PJa"} | ||||
| {"name":"Weapon • Pole Arms","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.hpmgFsJPXxBQHJSE"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898862386,"modifiedTime":1663840830247,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"HkZMP2SZyRVqzzCJ"} | ||||
| {"name":"Self Control","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"SD/Pr/SD","app_stat_1":"SD","app_stat_2":"Pr","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.1B82OxRKQ781NEa9"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898315491,"modifiedTime":1663840773057,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"IIQQyaCr7KJeeMGp"} | ||||
| {"name":"Special Defenses","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.eH1iaAuxyIwDmuA8"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898371453,"modifiedTime":1663840778477,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"JmokU4vzQQ4lPicS"} | ||||
| {"name":"Spells • Own Realm Open Lists","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.w8xibKSY2EShkDJq"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898482739,"modifiedTime":1663840794007,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"KICAwOwrP1cMTRKf"} | ||||
| {"name":"Subterfuge • Stealth","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/SD/In","app_stat_1":"Ag","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.FM9stBeKGFVdAPdc"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898591826,"modifiedTime":1663840803256,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"KmFEWAhhqtmRZCQv"} | ||||
| {"name":"Subterfuge • Mechanics","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Ag/Re","app_stat_1":"In","app_stat_2":"Ag","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.O0Zwk5hAhCMx6ajP"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898576285,"modifiedTime":1663840801090,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"P6lna8uCBQeVNgau"} | ||||
| {"name":"Influence","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Pr/Em/In","app_stat_1":"Pr","app_stat_2":"Em","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.zOKTXAFd6bK3XJZ5"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897929958,"modifiedTime":1663840741277,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"PnBxiNuUS8b3KjGE"} | ||||
| {"name":"Spells • Own Realm Other Base Lists","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.HeAonlDHotwBy2lx"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898530167,"modifiedTime":1663840795735,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"QolQRsysF7O5XJo8"} | ||||
| {"name":"Power Awareness","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Em/In/Pr","app_stat_1":"Em","app_stat_2":"In","app_stat_3":"Pr","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.cnnhsP9vAOoN7VMn"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898233748,"modifiedTime":1663840766010,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"R2wZUOFxekV1mBgc"} | ||||
| {"name":"Spells • Arcane Open Lists","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.R3lQNaGBdz7C5Fhs"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898407655,"modifiedTime":1663840780153,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"RpiCBmS6DKnI8Pok"} | ||||
| {"name":"Athletic • Endurance","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Co/Ag/St","app_stat_1":"Co","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.ldmZhkHo8m4VvV2V"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897539929,"modifiedTime":1663840716358,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"Rug8mq3LdUxGhHXK"} | ||||
| {"name":"Directed Spells","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/SD/Ag","app_stat_1":"Ag","app_stat_2":"SD","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.RA46DfHavzTTrp99"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897900117,"modifiedTime":1663840738205,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"US94Sx46Vn1Rs9D5"} | ||||
| {"name":"Lore • Magical","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/Me","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.V9otC0Kh0y0B3P8Q"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897982070,"modifiedTime":1663840745751,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"X8RmCDRpojxc6u09"} | ||||
| {"name":"Weapon • 1-H Concussion","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.CXllZNGgTe80uZRQ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898744329,"modifiedTime":1663840814331,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"YZw0sLV7fZwXD85n"} | ||||
| {"name":"Weapon • 1-H Edged","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.MV3UkzR77MTPHTau"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898787439,"modifiedTime":1663840817273,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"ZS8ikAjF41M7eZg5"} | ||||
| {"name":"Awareness • Searching","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Re/SD","app_stat_1":"In","app_stat_2":"Re","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.NZl30XPdtYjHqtwp"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897647294,"modifiedTime":1663840720922,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"ZaUdmzJSrTeI0gsl"} | ||||
| {"name":"Lore • General","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/Me","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.5fCeVMz6xVnkmH8o"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897962808,"modifiedTime":1663840744241,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"brpsxpqHEnUfC8a1"} | ||||
| {"name":"Science/Analytic • Basic","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/Re","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.BfDFjciYPFezmes0"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898290307,"modifiedTime":1663840771526,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"dKHsLzvDinagbTCm"} | ||||
| {"name":"Power Manipulation","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Em/In/Pr","app_stat_1":"Em","app_stat_2":"In","app_stat_3":"Pr","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.CQX0326xax4K3lEP"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898250959,"modifiedTime":1663840767601,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"g64EdTWn0WxJXJFq"} | ||||
| {"name":"Subterfuge • Attack","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/SD/In","app_stat_1":"Ag","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.Zva3DO0Zmk3G5xWT"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898559045,"modifiedTime":1663840799076,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"gYP00F897jg2I6pC"} | ||||
| {"name":"Artistic • Passive","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Em/In/Pr","app_stat_1":"Em","app_stat_2":"In","app_stat_3":"Pr","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.NTMvAPWeh5G55Kjs"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897462965,"modifiedTime":1663840713026,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"hFi8bJUxX2HvSoDj"} | ||||
| {"name":"Athletic • Brawn","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Co/Ag","app_stat_1":"St","app_stat_2":"Co","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.VufLKW42mP7RtinG"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897509473,"modifiedTime":1663840714620,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"iC37JIsE5RETzyd6"} | ||||
| {"name":"Spells • Own Realm Own Base Lists","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.eEAr5sqnGKej7eiC"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898544500,"modifiedTime":1663840797285,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"iWL7y95CGF7Y1dAq"} | ||||
| {"name":"Artistic • Active","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Pr/Em/Ag","app_stat_1":"Pr","app_stat_2":"Em","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.cEffILww7nn8vqJ7"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897441727,"modifiedTime":1663840706776,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"iZn6Hzq4cr0zY7Uk"} | ||||
| {"name":"Power Point Development","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.Q7rKLS4gJwH2Lygw"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898277091,"modifiedTime":1663840769117,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"jOywgkFX58CVDn7z"} | ||||
| {"name":"Armor • Heavy","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.7UA8xwzcBrKZfFk9"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897366792,"modifiedTime":1663840700907,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"k4IOyyJU8t7MAySl"} | ||||
| {"name":"Spells • Other Realm Closed Lists","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.7ka2nD2kPq6ixwWu"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898426199,"modifiedTime":1663840788519,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"kbOWBGenZjWIVqrC"} | ||||
| {"name":"Awareness • Senses","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/SD/In","app_stat_1":"In","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.QplAVXReCFVlKVB8"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897666266,"modifiedTime":1663840724332,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"pApyCNOxQb5sIOsf"} | ||||
| {"name":"Weapon • 2-Handed","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.JiH6JhVoH9jrqptT"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898804378,"modifiedTime":1663840819146,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"qRNUoJcWrF2EmLSP"} | ||||
| {"name":"Spells • Own Realm Closed Lists","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.cyNDeZDye15gUFzA"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898478099,"modifiedTime":1663840792427,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"ruxbCKHjuGsdQ79z"} | ||||
| {"name":"Outdoor • Animal","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Em/Ag/Em","app_stat_1":"Em","app_stat_2":"Ag","app_stat_3":"Em","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.6UjbXeI6IFrsdTEy"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898166391,"modifiedTime":1663840758805,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"v6tHhdaL7amLDnzR"} | ||||
| {"name":"Outdoor • Environmental","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"SD/In/Me","app_stat_1":"SD","app_stat_2":"In","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.49iK0oluVd5Z1fpc"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898214394,"modifiedTime":1663840760505,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"vM8rePr9QRXnG6HK"} | ||||
| {"name":"Spells • Other Realm Base Lists","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"None","app_stat_1":"None","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.Wo1SrqGsgMYNoApO"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898426199,"modifiedTime":1663840786314,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"vlFr24F5zJ9fYzs7"} | ||||
| {"name":"Urban","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Pr/Re","app_stat_1":"In","app_stat_2":"Pr","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.JAY4cM0lv1wZm3vo"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898721300,"modifiedTime":1663840812646,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"xHqAlnQjgEScetvh"} | ||||
| {"name":"Martial Arts • Striking","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.HVistg0XNoVGsSKZ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898114714,"modifiedTime":1663840754969,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"xJXObXAQcdPbSXg9"} | ||||
| {"name":"Communcations","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/Em","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"Em","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.fh63pdckz6VYGAFc"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662897838640,"modifiedTime":1663840730283,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"xTzO3HPhQe5OS255"} | ||||
| {"name":"Special Attacks","type":"skill_category","img":"systems/fvtt-rolemaster-frp/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/SD","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"ownership":{"default":0,"jFAyH93PxEe1ncxK":3},"flags":{"core":{"sourceId":"Item.by1LH6XYGWd5d9bs"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.2","coreVersion":"10.285","createdTime":1662898332987,"modifiedTime":1663840775989,"lastModifiedBy":"jFAyH93PxEe1ncxK"},"folder":null,"sort":0,"_id":"yRIFroc5VC9Oj3qY"} | ||||
										
											Binary file not shown.
										
									
								
							| @@ -1 +0,0 @@ | ||||
| MANIFEST-000101 | ||||
| @@ -1,3 +0,0 @@ | ||||
| 2024/08/09-23:57:39.252249 7f92874006c0 Recovering log #99 | ||||
| 2024/08/09-23:57:39.263715 7f92874006c0 Delete type=3 #97 | ||||
| 2024/08/09-23:57:39.263837 7f92874006c0 Delete type=0 #99 | ||||
| @@ -1,8 +0,0 @@ | ||||
| 2024/08/09-23:54:12.263425 7f92874006c0 Recovering log #95 | ||||
| 2024/08/09-23:54:12.272735 7f92874006c0 Delete type=3 #93 | ||||
| 2024/08/09-23:54:12.272785 7f92874006c0 Delete type=0 #95 | ||||
| 2024/08/09-23:56:47.698844 7f9285a006c0 Level-0 table #100: started | ||||
| 2024/08/09-23:56:47.698916 7f9285a006c0 Level-0 table #100: 0 bytes OK | ||||
| 2024/08/09-23:56:47.705094 7f9285a006c0 Delete type=0 #98 | ||||
| 2024/08/09-23:56:47.744132 7f9285a006c0 Manual compaction at level-0 from '!items!1HevhbCbvMonyQXe' @ 72057594037927935 : 1 .. '!items!yRIFroc5VC9Oj3qY' @ 0 : 0; will stop at (end) | ||||
| 2024/08/09-23:56:47.760291 7f9285a006c0 Manual compaction at level-1 from '!items!1HevhbCbvMonyQXe' @ 72057594037927935 : 1 .. '!items!yRIFroc5VC9Oj3qY' @ 0 : 0; will stop at (end) | ||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -1 +0,0 @@ | ||||
| MANIFEST-000019 | ||||
| @@ -1,3 +0,0 @@ | ||||
| 2024/08/09-23:57:39.267134 7f9287e006c0 Recovering log #17 | ||||
| 2024/08/09-23:57:39.276489 7f9287e006c0 Delete type=3 #15 | ||||
| 2024/08/09-23:57:39.276571 7f9287e006c0 Delete type=0 #17 | ||||
| @@ -1,8 +0,0 @@ | ||||
| 2024/08/09-23:54:12.275641 7f928cc006c0 Recovering log #13 | ||||
| 2024/08/09-23:54:12.285878 7f928cc006c0 Delete type=3 #11 | ||||
| 2024/08/09-23:54:12.285936 7f928cc006c0 Delete type=0 #13 | ||||
| 2024/08/09-23:56:47.736686 7f9285a006c0 Level-0 table #18: started | ||||
| 2024/08/09-23:56:47.736717 7f9285a006c0 Level-0 table #18: 0 bytes OK | ||||
| 2024/08/09-23:56:47.743954 7f9285a006c0 Delete type=0 #16 | ||||
| 2024/08/09-23:56:47.760260 7f9285a006c0 Manual compaction at level-0 from '!folders!Lr9SCthdWWHecwEI' @ 72057594037927935 : 1 .. '!items!zvdsAxlRZnL6gqms' @ 0 : 0; will stop at (end) | ||||
| 2024/08/09-23:56:47.760325 7f9285a006c0 Manual compaction at level-1 from '!folders!Lr9SCthdWWHecwEI' @ 72057594037927935 : 1 .. '!items!zvdsAxlRZnL6gqms' @ 0 : 0; will stop at (end) | ||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										48
									
								
								packs/smss_skill_categories.db
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								packs/smss_skill_categories.db
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| {"name":"Special Attacks","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/SD","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.by1LH6XYGWd5d9bs"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898332987,"modifiedTime":1670979889250,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"19mzrZOIjHOQMJRb"} | ||||
| {"name":"Athletic • Gymnastics","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/Qu/Ag","app_stat_1":"Ag","app_stat_2":"Qu","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.TASzGNEwHMQUz1AV"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897573841,"modifiedTime":1670979417390,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"1pzqttjfJqGkCio2"} | ||||
| {"name":"Lore • Technical","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/Me","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.Tw2FXIQb5HA89kbX"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898032616,"modifiedTime":1670979629255,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"8b1DqVmR2w3aFZ9H"} | ||||
| {"name":"Armor • Medium","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.ENiEBop9Kgrn9pBt"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897408501,"modifiedTime":1670979376804,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"9tRVGNuqiUXLkt7X"} | ||||
| {"name":"Outdoor • Environmental","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"SD/In/Me","app_stat_1":"SD","app_stat_2":"In","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.49iK0oluVd5Z1fpc"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898214394,"modifiedTime":1670979688946,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"AleqAY3hcYEWwKOx"} | ||||
| {"name":"Awareness • Perceptions","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/SD/In","app_stat_1":"In","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.gJHBJS3aEz62XbxE"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897610482,"modifiedTime":1670979421091,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"CYkI6APa2sQ772D0"} | ||||
| {"name":"Directed Powers","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/SD/Ag","app_stat_1":"Ag","app_stat_2":"SD","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.RA46DfHavzTTrp99"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897900117,"modifiedTime":1670979547990,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"CjTPpZGQoacSBAyu"} | ||||
| {"name":"Science/Analytic • Medical","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/In","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.BfDFjciYPFezmes0"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898290307,"modifiedTime":1670979824114,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"DAwVBEPE5QJHoxIt"} | ||||
| {"name":"Science/Analytic • Basic","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/Re","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.BfDFjciYPFezmes0"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898290307,"modifiedTime":1670979752303,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"FEqpspsCMjUJz7FE"} | ||||
| {"name":"Awareness • Senses","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/SD/In","app_stat_1":"In","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.QplAVXReCFVlKVB8"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897666266,"modifiedTime":1670979423515,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"KJZRbH17p30EJa04"} | ||||
| {"name":"Weapon • 1-H Melee","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.CXllZNGgTe80uZRQ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898744329,"modifiedTime":1670980248154,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"KZeBMZBjBkGctBb0"} | ||||
| {"name":"Athletic • Endurance","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Co/Ag/St","app_stat_1":"Co","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.ldmZhkHo8m4VvV2V"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897539929,"modifiedTime":1670979416149,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"Ko33CPZI7C0rSIRl"} | ||||
| {"name":"Subterfuge • Stealth","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/SD/In","app_stat_1":"Ag","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.FM9stBeKGFVdAPdc"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898591826,"modifiedTime":1670979913428,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"LBLcWrV4qjxllEw9"} | ||||
| {"name":"Weapon • 2-H Melee","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.CXllZNGgTe80uZRQ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898744329,"modifiedTime":1670980269575,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"Ld41o7ekmwzXwXgQ"} | ||||
| {"name":"Subterfuge • Mechanics","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Ag/Re","app_stat_1":"In","app_stat_2":"Ag","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.O0Zwk5hAhCMx6ajP"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898576285,"modifiedTime":1670979911668,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"Mspp4CJDKjuqxVxU"} | ||||
| {"name":"Weapon • 1-H Firearms","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.CXllZNGgTe80uZRQ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898744329,"modifiedTime":1670980265600,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"NZXsMbVcm9kYd1gB"} | ||||
| {"name":"Weapon • 1-H Energy","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/Ag/Ag","app_stat_1":"Ag","app_stat_2":"Ag","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.CXllZNGgTe80uZRQ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898744329,"modifiedTime":1670980254758,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"On5jQJQVDflVDAp7"} | ||||
| {"name":"Technical/Trade • Professional","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/In","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.xNTn6oV9yMOmfP0Z"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898699996,"modifiedTime":1670979981424,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"PtPyhFeSb8OuqGIt"} | ||||
| {"name":"Lore • Academic","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/Me","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.V9otC0Kh0y0B3P8Q"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897982070,"modifiedTime":1670979619507,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"Q1fe44wicIwgiOW0"} | ||||
| {"name":"Weapon • 2-H Firearms","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.CXllZNGgTe80uZRQ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898744329,"modifiedTime":1670980274500,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"QYXxP8bwKoLYf2IJ"} | ||||
| {"name":"Psychic  •","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"SD/SD","app_stat_1":"SD","app_stat_2":"SD","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":-15,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.oAwFLBD7uNUBdNgI"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1670979716214,"modifiedTime":1670979743085,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"RNo0LJNOdgcTVuVk"} | ||||
| {"name":"Outdoor • Animal","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Em/Ag/Em","app_stat_1":"Em","app_stat_2":"Ag","app_stat_3":"Em","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.6UjbXeI6IFrsdTEy"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898166391,"modifiedTime":1670979687230,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"SWttx3JsJVR6WG5e"} | ||||
| {"name":"Artistic • Passive","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Em/In/Pr","app_stat_1":"Em","app_stat_2":"In","app_stat_3":"Pr","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.NTMvAPWeh5G55Kjs"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897462965,"modifiedTime":1670979379203,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"U8rN3zps2go0IS6O"} | ||||
| {"name":"Weapon • Missile/Thrown","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.8a1d0Z2MfJe0R1Eb"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898823756,"modifiedTime":1670980277959,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"V7IAKktApiLkKNbB"} | ||||
| {"name":"Combat Maneuvers","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/Qu/SD","app_stat_1":"Ag","app_stat_2":"Qu","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.bwL0nMJePO6OQNue"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897819566,"modifiedTime":1670979488179,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"Yj8rbirDtPSyFxKe"} | ||||
| {"name":"Lore • General","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/Me","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"Me","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.5fCeVMz6xVnkmH8o"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897962808,"modifiedTime":1670979625749,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"b969dpNiQSpqaDsH"} | ||||
| {"name":"Technical/Trade • Gunnery","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Ag/Ag","app_stat_1":"In","app_stat_2":"Ag","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.1td9QGD20b4nkD6h"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898674902,"modifiedTime":1670979967399,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"bgDehY2PthlhPUai"} | ||||
| {"name":"Martial Arts • Striking","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.HVistg0XNoVGsSKZ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898114714,"modifiedTime":1670979640244,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"cSJMJ97JBsfZO8Ge"} | ||||
| {"name":"Technical/Trade • Vocational","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/In/Re","app_stat_1":"Me","app_stat_2":"In","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.1td9QGD20b4nkD6h"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898674902,"modifiedTime":1670980052328,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"e6RrjsyHbvz6OuZF"} | ||||
| {"name":"Influence","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Pr/Em/In","app_stat_1":"Pr","app_stat_2":"Em","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.zOKTXAFd6bK3XJZ5"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897929958,"modifiedTime":1670979557055,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"ehfUJPUyO2Fzme35"} | ||||
| {"name":"Self Control","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"SD/Pr/SD","app_stat_1":"SD","app_stat_2":"Pr","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.1B82OxRKQ781NEa9"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898315491,"modifiedTime":1670979881437,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"fjpVO4rOlSIbrsly"} | ||||
| {"name":"Crafts","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/Me/SD","app_stat_1":"Ag","app_stat_2":"Me","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.6nErPtcQ33WXkyH4"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897865848,"modifiedTime":1670979490274,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"iKc4n9ZubKtG6SvK"} | ||||
| {"name":"Science/Analytic • Engineering","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Me/Re/In","app_stat_1":"Me","app_stat_2":"Re","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.BfDFjciYPFezmes0"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898290307,"modifiedTime":1670979792357,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"jT4YOfJEKXOjW7yN"} | ||||
| {"name":"Technical/Trade • General","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/SD","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.1td9QGD20b4nkD6h"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898674902,"modifiedTime":1670979941026,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"k1fYuSWiGncFKqYq"} | ||||
| {"name":"Artistic • Active","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Pr/Em/Ag","app_stat_1":"Pr","app_stat_2":"Em","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.cEffILww7nn8vqJ7"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897441727,"modifiedTime":1670979378056,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"mM8gBxoxUWs9JwaZ"} | ||||
| {"name":"Subterfuge • Attack","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/SD/In","app_stat_1":"Ag","app_stat_2":"SD","app_stat_3":"In","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.Zva3DO0Zmk3G5xWT"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898559045,"modifiedTime":1670979909587,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"nel3MMlV6G6UbUqz"} | ||||
| {"name":"Armor • Light","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.TMGapmlYutNuQaw8"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897388838,"modifiedTime":1670979375450,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"oUBH3ZiQhwgyEwuC"} | ||||
| {"name":"Athletic • Brawn","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Co/Ag","app_stat_1":"St","app_stat_2":"Co","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.VufLKW42mP7RtinG"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897509473,"modifiedTime":1670979414458,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"omcYQ5goZenLxv1d"} | ||||
| {"name":"Awareness • Searching","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Re/SD","app_stat_1":"In","app_stat_2":"Re","app_stat_3":"SD","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.NZl30XPdtYjHqtwp"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897647294,"modifiedTime":1670979422361,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"pa35A84DZkI6I611"} | ||||
| {"name":"Weapon • Support","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/St/Ag","app_stat_1":"Ag","app_stat_2":"St","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.8a1d0Z2MfJe0R1Eb"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898823756,"modifiedTime":1670980279746,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"pkxuna2rIm1ZjyEK"} | ||||
| {"name":"Armor • Heavy","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"St/Ag/St","app_stat_1":"St","app_stat_2":"Ag","app_stat_3":"St","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.7UA8xwzcBrKZfFk9"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897366792,"modifiedTime":1670979372753,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"r6D1tALgD1wR0GGj"} | ||||
| {"name":"Weapon • 2-H Energy","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Ag/Ag/Ag","app_stat_1":"Ag","app_stat_2":"Ag","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.CXllZNGgTe80uZRQ"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898744329,"modifiedTime":1670980272057,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"rw987ZssCMcfx8n7"} | ||||
| {"name":"Urban","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"In/Pr/Re","app_stat_1":"In","app_stat_2":"Pr","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.JAY4cM0lv1wZm3vo"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898721300,"modifiedTime":1670980058009,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"sV50mwPLEO7ju9nT"} | ||||
| {"name":"Communcations","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/Em","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"Em","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.fh63pdckz6VYGAFc"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897838640,"modifiedTime":1670979489034,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"tXyzk5v0PTLAxmFk"} | ||||
| {"name":"Body Development","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Co/SD/Co","app_stat_1":"Co","app_stat_2":"SD","app_stat_3":"Co","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.cWtQ0YU3kGBhL8iR"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662897724809,"modifiedTime":1670979475450,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"y6Tq2DSvZm0dIZ7A"} | ||||
| {"name":"Science/Analytic • Specialized","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/Re","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"Re","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.BfDFjciYPFezmes0"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898290307,"modifiedTime":1670979851643,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"yHwwkDNq6DuylHYa"} | ||||
| {"name":"Science/Analytic • Technical","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"Re/Me/Ag","app_stat_1":"Re","app_stat_2":"Me","app_stat_3":"Ag","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.BfDFjciYPFezmes0"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898290307,"modifiedTime":1670979874641,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"z1Z1K02tzG1JU5wN"} | ||||
| {"name":"Mind Point Development","type":"skill_category","img":"systems/rmss/assets/default/skill_category.svg","system":{"description":"Description here.","applicable_stats":"SD","app_stat_1":"SD","app_stat_2":"None","app_stat_3":"None","development_cost":"0","ranks":0,"new_ranks":{"value":0,"max":3,"max_default":3},"rank_bonus":0,"stat_bonus":0,"prof_bonus":0,"special_bonus_1":0,"special_bonus_2":0,"total_bonus":0,"favorite":false},"effects":[],"flags":{"core":{"sourceId":"Item.Q7rKLS4gJwH2Lygw"}},"_stats":{"systemId":"rmss","systemVersion":"0.0.3","coreVersion":"10.291","createdTime":1662898277091,"modifiedTime":1670979677773,"lastModifiedBy":"AKzFUDVFn0NcwQv9"},"folder":null,"sort":0,"ownership":{"default":0,"AKzFUDVFn0NcwQv9":3},"_id":"zYUB46z7lYODAIK2"} | ||||
							
								
								
									
										18
									
								
								rmss.css
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								rmss.css
									
									
									
									
									
								
							| @@ -41,10 +41,6 @@ | ||||
|   border-bottom: 1px solid; | ||||
|   background-image: linear-gradient(rgba(0, 0, 0, 0.1) 0 0); | ||||
| } | ||||
| .skill-box { | ||||
|   margin-left: 1.2rem; | ||||
|   background-color: lightgrey; | ||||
| } | ||||
| .container { | ||||
|   display: flex; | ||||
| } | ||||
| @@ -203,6 +199,7 @@ | ||||
|   padding-bottom: 3px; | ||||
|   display: flex; | ||||
|   justify-content: flex-end; | ||||
|   flex-direction: column; | ||||
|   justify-content: center; | ||||
| } | ||||
| .skills-grid-container > div:nth-child(22n+1), | ||||
| @@ -224,6 +221,7 @@ | ||||
|   padding-bottom: 3px; | ||||
|   display: flex; | ||||
|   justify-content: flex-end; | ||||
|   flex-direction: column; | ||||
|   justify-content: center; | ||||
|   background-image: linear-gradient(rgba(0, 0, 0, 0.1) 0 0); | ||||
| } | ||||
| @@ -494,9 +492,6 @@ | ||||
|   font-size: 12px; | ||||
|   text-align: center; | ||||
| } | ||||
| .select-fixed-width { | ||||
|   width: 100px; | ||||
| } | ||||
| .applicable-stats-grid-container { | ||||
|   display: grid; | ||||
|   grid-template-columns: [app-stat-1] 33% [app-stat-2] 33% [app-stat-3] 33%; | ||||
| @@ -527,13 +522,8 @@ | ||||
| } | ||||
| .roll-button-container { | ||||
|   display: flex; | ||||
|   flex-direction: row; | ||||
|   justify-content: flex-start; | ||||
| } | ||||
| .roll-button { | ||||
|   margin-top: 2px; | ||||
|   width: 96px; | ||||
|   max-width: 96px; | ||||
|   flex-direction: column; | ||||
|   justify-content: flex-end; | ||||
| } | ||||
| .sheet form { | ||||
|   display: flex; | ||||
|   | ||||
							
								
								
									
										74
									
								
								rmss.js
									
									
									
									
									
								
							
							
						
						
									
										74
									
								
								rmss.js
									
									
									
									
									
								
							| @@ -19,13 +19,40 @@ import RMSSSkillSheet from "./module/sheets/skills/rmss_skill_sheet.js"; | ||||
| import RMSSPlayerSheet from "./module/sheets/actors/rmss_player_sheet.js"; | ||||
| import RMSSToolsSCImporter from "./module/sheets/apps/rmss_import_skill_categories.js"; | ||||
| import RMSSToolsDiceRoller from "./module/sheets/apps/rmss_dice_roller.js"; | ||||
| import { RFRPUtility } from "./module/rfrp-utility.js"; | ||||
|  | ||||
| /**  Preload handlebars templates for character sheets */ | ||||
| async function preloadHandlebarsTemplates() { | ||||
|   const templatePaths = [ | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-stats.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-fixed-info.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-armor-info.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-resistance.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-race-stat-fixed-info.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-role-traits.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-background-info.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-skill-categories.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-skills.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-fav-skills.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-items.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-weapons.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-money.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-skill-categories.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-skills.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-armor.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-herbs.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-spells.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-fav-spells.html", | ||||
|     "systems/rmss/templates/sheets/actors/parts/actor-fav-items.html", | ||||
|     "systems/rmss/templates/sheets/apps/app_skill_category_importer.html" | ||||
|   ]; | ||||
|   return loadTemplates(templatePaths); | ||||
| } | ||||
|  | ||||
| // Register Scene Controls | ||||
| // registerGetSceneControlButtonsHook(); | ||||
|  | ||||
| // Hook the init function and set up our system | ||||
| Hooks.once("init", function () { | ||||
| Hooks.once("init", function() { | ||||
|   console.log("rmss | Initialising Rolemaster Standard System"); | ||||
|  | ||||
|   // Load our custom actor and item classes | ||||
| @@ -47,7 +74,7 @@ Hooks.once("init", function () { | ||||
|   CONFIG.fontDefinitions["PragRoman"] = { | ||||
|     editor: true, | ||||
|     fonts: [ | ||||
|       { urls: ["systems/fvtt-rolemaster-frp/assets/fonts/PragRoman.woff2"] } | ||||
|       {urls: ["systems/rmss/assets/fonts/PragRoman.woff2"]} | ||||
|     ] | ||||
|   }; | ||||
|  | ||||
| @@ -64,30 +91,35 @@ Hooks.once("init", function () { | ||||
|   console.log("rmss | Registering RMSS sheets"); | ||||
|  | ||||
|   // Items | ||||
|   Items.registerSheet("fvtt-rolemaster-frp", RMSSItemSheet, { makeDefault: true, label: "rmss.entity_sheet.item", types: ["item"] }); | ||||
|   Items.registerSheet("fvtt-rolemaster-frp", RMSSArmorSheet, { makeDefault: true, label: "rmss.entity_sheet.armor", types: ["armor"] }); | ||||
|   Items.registerSheet("fvtt-rolemaster-frp", RMSSTransportSheet, { makeDefault: true, label: "rmss.entity_sheet.transport", types: ["transport"] }); | ||||
|   Items.registerSheet("fvtt-rolemaster-frp", RMSSWeaponSheet, { makeDefault: true, label: "rmss.entity_sheet.weapon", types: ["weapon"] }); | ||||
|   Items.registerSheet("fvtt-rolemaster-frp", RMSSHerbOrPoisonSheet, { makeDefault: true, label: "rmss.entity_sheet.herb_or_poison", types: ["herb_or_poison"] }); | ||||
|   Items.registerSheet("rmss", RMSSItemSheet, {makeDefault: true, label: "rmss.entity_sheet.item", types: ["item"]}); | ||||
|   Items.registerSheet("rmss", RMSSArmorSheet, {makeDefault: true, label: "rmss.entity_sheet.armor", types: ["armor"]}); | ||||
|   Items.registerSheet("rmss", RMSSTransportSheet, {makeDefault: true, label: "rmss.entity_sheet.transport", types: ["transport"]}); | ||||
|   Items.registerSheet("rmss", RMSSWeaponSheet, {makeDefault: true, label: "rmss.entity_sheet.weapon", types: ["weapon"]}); | ||||
|   Items.registerSheet("rmss", RMSSHerbOrPoisonSheet, {makeDefault: true, label: "rmss.entity_sheet.herb_or_poison", types: ["herb_or_poison"]}); | ||||
|  | ||||
|   // Spells | ||||
|   Items.registerSheet("fvtt-rolemaster-frp", RMSSSpellSheet, { makeDefault: true, label: "rmss.entity_sheet.spell", types: ["spell"] }); | ||||
|   Items.registerSheet("rmss", RMSSSpellSheet, {makeDefault: true, label: "rmss.entity_sheet.spell", types: ["spell"]}); | ||||
|  | ||||
|   // Skills | ||||
|   Items.registerSheet("fvtt-rolemaster-frp", RMSSSkillCategorySheet, { makeDefault: true, label: "rmss.entity_sheet.skill_category", types: ["skill_category"] }); | ||||
|   Items.registerSheet("fvtt-rolemaster-frp", RMSSSkillSheet, { makeDefault: true, label: "rmss.entity_sheet.skill", types: ["skill"] }); | ||||
|   Items.registerSheet("rmss", RMSSSkillCategorySheet, {makeDefault: true, label: "rmss.entity_sheet.skill_category", types: ["skill_category"]}); | ||||
|   Items.registerSheet("rmss", RMSSSkillSheet, {makeDefault: true, label: "rmss.entity_sheet.skill", types: ["skill"]}); | ||||
|  | ||||
|   // Actors | ||||
|   Actors.registerSheet("fvtt-rolemaster-frp", RMSSPlayerSheet, { makeDefault: true, label: "rmss.entity_sheet.player_characrer", types: ["character"] }); | ||||
|   Actors.registerSheet("rmss", RMSSPlayerSheet, {makeDefault: true, label: "rmss.entity_sheet.player_characrer", types: ["character"]}); | ||||
|  | ||||
|   RFRPUtility.loadHandlebarsTemplates(); | ||||
|   RFRPUtility.loadHandlebarsHelpers(); | ||||
|   // Preload Handlebars Templates | ||||
|   console.log("rmss | Preloading Handlebars Templates"); | ||||
|   preloadHandlebarsTemplates(); | ||||
|  | ||||
|   // Handlebars Helpers | ||||
|   Handlebars.registerHelper("switch", function(value, options) { | ||||
|     this.switch_value = value; | ||||
|     return options.fn(this); | ||||
|   }); | ||||
|  | ||||
|   Handlebars.registerHelper("case", function(value, options) { | ||||
|     if (value === this.switch_value) { | ||||
|       return options.fn(this); | ||||
|     } | ||||
|   }); | ||||
| }); | ||||
|  | ||||
| Hooks.once("ready", async function () { | ||||
|   console.log("rmss | Ready"); | ||||
|  | ||||
|   // Load Utility | ||||
|   await RFRPUtility.ready(); | ||||
| }) | ||||
|   | ||||
							
								
								
									
										50
									
								
								system.json
									
									
									
									
									
								
							
							
						
						
									
										50
									
								
								system.json
									
									
									
									
									
								
							| @@ -1,40 +1,32 @@ | ||||
| { | ||||
|   "id": "fvtt-rolemaster-frp", | ||||
|   "title": "Rolemaster FRP System", | ||||
|   "description": "The Rolemaster FRP system for FoundryVTT.", | ||||
|   "manifest": "https://www.uberwald.me/gitea/public/fvtt-rolemaster-frp/raw/branch/develop/system.json", | ||||
|   "download": "https://www.uberwald.me/gitea/public/fvtt-rolemaster-frp/archive/v12.0.12.zip", | ||||
|   "authors": [ | ||||
|     { | ||||
|       "name": "Cynicide", | ||||
|       "email": "" | ||||
|     }, | ||||
|     { | ||||
|       "name": "LeRatierBretonnien", | ||||
|       "email": "" | ||||
|     } | ||||
|   ], | ||||
|   "version": "12.0.12", | ||||
|   "name": "rmss", | ||||
|   "title": "Rolemaster Standard System", | ||||
|   "description": "The Rolemaster Standard System system for FoundryVTT.", | ||||
|   "authors": [{ | ||||
|     "name": "Cynicide" | ||||
|   }], | ||||
|   "version": "0.0.3", | ||||
|   "compatibility": { | ||||
|     "minimum": "12", | ||||
|     "verified": "12" | ||||
|     "minimum": 10, | ||||
|     "verified": "11.315", | ||||
|     "maximum": 11 | ||||
|   }, | ||||
|   "esmodules":[ | ||||
|     "rmss.js" | ||||
|   ], | ||||
|   "styles": ["rmss.css"], | ||||
|   "packs": [    { | ||||
|     "name": "skill_categories", | ||||
|     "label": "Skill Categories", | ||||
|     "system": "fvtt-rolemaster-frp", | ||||
|     "path": "./packs/skill_categories", | ||||
|     "name": "rmss_skill_categories", | ||||
|     "label": "RMSS Skill Categories", | ||||
|     "system": "rmss", | ||||
|     "path": "./packs/rmss_skill_categories.db", | ||||
|     "type": "Item" | ||||
|   }, | ||||
|   { | ||||
|     "name": "skill", | ||||
|     "label": "Skills", | ||||
|     "system": "fvtt-rolemaster-frp", | ||||
|     "path": "./packs/skills", | ||||
|     "name": "smss_skill_categories", | ||||
|     "label": "Spacemaster Skill Categories", | ||||
|     "system": "rmss", | ||||
|     "path": "./packs/smss_skill_categories.db", | ||||
|     "type": "Item" | ||||
|   } | ||||
|   ], | ||||
| @@ -45,9 +37,7 @@ | ||||
|       "path": "lang/en.json" | ||||
|     } | ||||
|   ], | ||||
|   "grid": { | ||||
|     "distance": 5, | ||||
|     "units": "ft" | ||||
|   }, | ||||
|   "gridDistance": 5, | ||||
|   "gridUnits": "ft", | ||||
|   "license": "LICENSE.txt" | ||||
| } | ||||
|   | ||||
| @@ -222,14 +222,6 @@ | ||||
|     }, | ||||
|     "character": { | ||||
|       "templates": ["background", "stats", "resistance_rolls", "armor_info", "fixed_info", "race_stat_fixed_info", "role_traits", "money", "description"], | ||||
|       "modifiers":  { | ||||
|         "woundsModifier": 0 | ||||
|       }, | ||||
|       "state": { | ||||
|         "stunned": false, | ||||
|         "prone": false, | ||||
|         "noparry": false | ||||
|       }, | ||||
|       "attributes": { | ||||
|         "level": { | ||||
|           "value": 1 | ||||
| @@ -313,7 +305,6 @@ | ||||
|     "skill": { | ||||
|       "templates": ["base"], | ||||
|       "category" : "", | ||||
|       "game_system": "common", | ||||
|       "ranks": 0, | ||||
|       "new_ranks": { | ||||
|         "value": 0, | ||||
| @@ -327,13 +318,11 @@ | ||||
|       "special_bonus_2": 0, | ||||
|       "total_bonus": 0, | ||||
|       "favorite": false, | ||||
|       "bonus_progression": "standard", | ||||
|       "designation": "None" | ||||
|     }, | ||||
|     "skill_category": { | ||||
|       "templates": ["base"], | ||||
|       "applicable_stats": "None", | ||||
|       "game_system": "common", | ||||
|       "app_stat_1": "None", | ||||
|       "app_stat_2": "None", | ||||
|       "app_stat_3": "None",       | ||||
| @@ -350,7 +339,6 @@ | ||||
|       "special_bonus_1": 0, | ||||
|       "special_bonus_2": 0, | ||||
|       "total_bonus": 0, | ||||
|       "bonus_progression": "standard", | ||||
|       "favorite": false | ||||
|     }, | ||||
|     "spell": { | ||||
|   | ||||
| @@ -1,70 +1,28 @@ | ||||
| <div class="dice-roll"> | ||||
|   <div class="dice-result"> | ||||
|     Rolling for : {{name}} | ||||
|   </div> | ||||
|   {{#if highopen }} | ||||
|   <div class=dice-result> | ||||
|     Rolled over 95 - High Open-Ended! | ||||
|   </div> | ||||
|   {{/if}} | ||||
|   {{#if lowopen }} | ||||
|   <div class=dice-result> | ||||
|     Rolled under 6 - Low Open-Ended! | ||||
|   </div> | ||||
|   {{/if}} | ||||
|     <div class="dice-result"> | ||||
|         Original Roll: | ||||
|         <h4 class="dice-total" >{{ baseroll.result }}</h4> | ||||
|     </div> | ||||
|     {{#if highopen }} | ||||
|     <div class=dice-result> | ||||
|         Rolled over 95 - High Open-Ended! | ||||
|         {{#each opeendedresults as |rollresult|}} | ||||
|         <h4 class="dice-total" >{{ rollresult }}</h4> | ||||
|         {{/each}} | ||||
|     </div> | ||||
|     {{/if}} | ||||
|  | ||||
|   {{#if difficulty}} | ||||
|   <div class=dice-result> | ||||
|     Difficulty : {{difficulty}} | ||||
|   </div> | ||||
|   {{/if}} | ||||
|     {{#if lowopen }} | ||||
|     <div class=dice-result> | ||||
|         Rolled under 6 - Low Open-Ended! | ||||
|         {{#each opeendedresults as |rollresult|}} | ||||
|         <h4 class="dice-total" >{{ rollresult }}</h4> | ||||
|         {{/each}} | ||||
|     </div> | ||||
|     {{/if}} | ||||
|  | ||||
|   {{#if combatSituation}} | ||||
|   <div class=dice-result> | ||||
|     Combat situation : {{combatSituation}} | ||||
|   </div> | ||||
|   {{/if}} | ||||
|  | ||||
|   {{#if stunnedModifier}} | ||||
|   <div class=dice-result> | ||||
|     Stunned : {{stunnedModifier}} | ||||
|   </div> | ||||
|   {{/if}} | ||||
|  | ||||
|   {{#if hitsPerRound}} | ||||
|   <div class=dice-result> | ||||
|     Hits/round malus : {{hitsPerRound}} | ||||
|   </div> | ||||
|   {{/if}} | ||||
|  | ||||
|   {{#if lightningModifier}} | ||||
|   <div class=dice-result> | ||||
|     Lightning modifierLight : {{lightningModifier}} | ||||
|   </div> | ||||
|   {{/if}} | ||||
|   {{#if darknessModifier}} | ||||
|   <div class=dice-result> | ||||
|     Darkness modifierDark : {{darknessModifier}} | ||||
|   </div> | ||||
|   {{/if}}   | ||||
|  | ||||
|   {{#if woundsModifier}} | ||||
|   <div class="dice-result"> | ||||
|     <div>% of hits malus : {{woundsModifier}}</div> | ||||
|   </div> | ||||
|   {{/if}} | ||||
|  | ||||
|   <div class="dice-result"> | ||||
|     Total of d100 rolls: | ||||
|     <h4 class="dice-total">{{totalRolls}}<br> | ||||
|     ({{#each rolls as |roll|}}{{roll.total}}{{#unless @last}}, {{/unless}}{{/each}})</h4> | ||||
|   </div> | ||||
|   <div class=dice-result> | ||||
|     Character Bonus : {{characterBonus}} | ||||
|   </div> | ||||
|  | ||||
|   <div class="dice-result"> | ||||
|     Total : | ||||
|     <h4 class="dice-total">{{totalFinal}}</h4> | ||||
|   </div> | ||||
|     <div class="dice-result"> | ||||
|         Total: | ||||
|         <h4 class="dice-total" >{{ total }}</h4> | ||||
|     </div>   | ||||
| </div> | ||||
| @@ -15,10 +15,7 @@ | ||||
|         <button type="button" class="import-skillcats" title="Import" acotr_id="">{{ localize "rmss.pc_sheet.import_skillcat" }}</button> | ||||
|       </div> | ||||
|     </div> | ||||
| </div> | ||||
|   {{#each skillcat as |skill_category id|}} | ||||
|   <div class="skillcat-grid-container"> | ||||
|  | ||||
|       <div>{{skill_category.name}}</div> | ||||
|       <div>{{skill_category.system.applicable_stats}}</div> | ||||
|       <div>{{skill_category.system.development_cost}}</div> | ||||
| @@ -42,12 +39,5 @@ | ||||
|         <a class="item-delete item" title="Delete Category" data-item-id="{{skill_category._id}}"><i class="fas fa-trash"></i></a> | ||||
|         <a class="item-roll" title="Roll Check" data-item-id="{{skill_category._id}}"><i class="fas fa-dice"></i></a> | ||||
|       </div>     | ||||
|     </div> | ||||
|      | ||||
|     {{#if (count skill_category.skills)}} | ||||
|       <div class="skill-box"> | ||||
|         {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-skills.html" }} | ||||
|       </div> | ||||
|     {{/if}} | ||||
|  | ||||
|   {{/each}} | ||||
| </div> | ||||
| @@ -10,13 +10,10 @@ | ||||
|     <div class="skills-grid-heading">{{ localize "rmss.pc_sheet_skills.special_bonus" }}</div> | ||||
|     <div class="skills-grid-heading">{{ localize "rmss.pc_sheet_skills.total_bonus" }}</div> | ||||
|     <div class="skills-grid-heading"> | ||||
|       <a class="item-create" title="Create Skill" data-type="skill"><i class="fas fa-plus"></i>{{ localize "rmss.pc_sheet_skills.add_skill" }}</a> | ||||
|       <!--<a class="item-create" title="Create Skill" data-type="skill"><i class="fas fa-plus"></i>{{ localize "rmss.pc_sheet_skills.add_skill" }}</a>--> | ||||
|     </div> | ||||
| </div> | ||||
|  | ||||
| {{#each skills as |skill id|}} | ||||
|   <div class="skills-grid-container"> | ||||
|     {{#if skill.system.favorite}} | ||||
|   {{#each playerskill as |skill id|}} | ||||
|       {{#if skill.system.favorite}} | ||||
|         <div><a class="skill-favorite" data-item-id="{{skill._id}}"><i class="fa-regular fa-square-check"></i></a></div> | ||||
|       {{else}} | ||||
|         <div><a class="skill-favorite" data-item-id="{{skill._id}}"><i class="fa-regular fa-square"></i></a></div> | ||||
| @@ -38,11 +35,9 @@ | ||||
|       <div>{{skill.system.special_bonus_1}}</div> | ||||
|       <div>{{skill.system.special_bonus_2}}</div> | ||||
|       <div>{{skill.system.total_bonus}}</div> | ||||
|       <div > | ||||
|       <div> | ||||
|         <a class="item-edit" title="Edit Skill" data-item-id="{{skill._id}}"><i class="fas fa-edit"></i></a> | ||||
|         <a class="item-delete" title="Delete Skill" data-item-id="{{skill._id}}"><i class="fas fa-trash"></i></a> | ||||
|         <a class="item-roll" title="Roll Check" data-item-id="{{skill._id}}"><i class="fas fa-dice"></i></a> | ||||
|       </div> | ||||
|   </div> | ||||
|    | ||||
|   {{/each}} | ||||
| </div> | ||||
| @@ -19,7 +19,6 @@ | ||||
|         <div class="resource-entry"> | ||||
|           {{ localize "rmss.player_character.resources.hits" }} | ||||
|           <h4><input name="system.attributes.hits.current" type="Number" value="{{system.attributes.hits.current}}"/>/<input name="system.attributes.hits.max" type="Number" value="{{system.attributes.hits.max}}"/></h4> | ||||
|           <div>Wounds Modifier : {{system.modifiers.woundsModifier}}</div> | ||||
|         </div> | ||||
|          | ||||
|         <div class="resource-entry"> | ||||
| @@ -71,9 +70,9 @@ | ||||
|     {{!-- Default tab is specified in actor-sheet.mjs --}} | ||||
|     <a class="item" data-tab="Record">{{ localize "rmss.pc_sheet_tabs.record" }}</a> | ||||
|     <a class="item" data-tab="SkillCategory">{{ localize "rmss.pc_sheet_tabs.skill_categories" }}</a> | ||||
|     <a class="item" data-tab="Skills">{{ localize "rmss.pc_sheet_tabs.skills" }}</a> | ||||
|     <a class="item" data-tab="Equipment">{{ localize "rmss.pc_sheet_tabs.equipment" }}</a> | ||||
|     <a class="item" data-tab="Spells">{{ localize "rmss.pc_sheet_tabs.spells" }}</a>     | ||||
|     <a class="item" data-tab="Background">{{ localize "rmss.pc_sheet_tabs.background" }}</a> | ||||
|     <a class="item" data-tab="StatusRecord">{{ localize "rmss.pc_sheet_tabs.status_record" }}</a> | ||||
|     <a class="item" data-tab="ExperiencePoints">{{ localize "rmss.pc_sheet_tabs.experience_points" }}</a> | ||||
|   </nav> | ||||
| @@ -82,74 +81,65 @@ | ||||
|     <div class="tab record" data-group="primary" data-tab="Record"> | ||||
|       <div class="container"> | ||||
|         <div class="fixed-info-container"> | ||||
|           {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-fixed-info.html" }} | ||||
|           {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-armor-info.html" }} | ||||
|           {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-resistance.html" }} | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-fixed-info.html" }} | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-armor-info.html" }} | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-resistance.html" }} | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-race-stat-fixed-info.html" }} | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-role-traits.html" }} | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-background-info.html" }} | ||||
|         </div> | ||||
|          | ||||
|         <div class="stat-container"> | ||||
|           {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-stats.html" }} | ||||
|  | ||||
|           <div class="favorite-container"> | ||||
|             <span class="label-name">Stunned : </span><input type="checkbox" name="system.state.stunned" {{checked system.state.stunned}}/> | ||||
|             <span class="label-name">Prone : </span><input type="checkbox" name="system.state.prone" {{checked system.state.prone}}/> | ||||
|           </div> | ||||
|  | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-stats.html" }} | ||||
|            | ||||
|           <div class="favorite-container"> | ||||
|             <h2>Favorite Skills</h2> | ||||
|             {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-fav-skills.html" }} | ||||
|             {{> "systems/rmss/templates/sheets/actors/parts/actor-fav-skills.html" }} | ||||
|             <h2>Favorite Spells</h2> | ||||
|             {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-fav-spells.html" }}           | ||||
|             {{> "systems/rmss/templates/sheets/actors/parts/actor-fav-spells.html" }}           | ||||
|             <h2>Equipped Items</h2> | ||||
|             {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-fav-items.html" }}  | ||||
|             {{> "systems/rmss/templates/sheets/actors/parts/actor-fav-items.html" }}  | ||||
|             <h2>Description</h2> | ||||
|             {{editor enrichedDescription target="system.description" button=true owner=owner editable=editable}} | ||||
|           </div> | ||||
|         </div> | ||||
|  | ||||
|  | ||||
|       </div> | ||||
|     </div> | ||||
|      | ||||
|     <div class="tab skill_categories" data-group="primary" data-tab="SkillCategory"> | ||||
|       {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-skill-categories.html" }} | ||||
|       {{> "systems/rmss/templates/sheets/actors/parts/actor-skill-categories.html" }} | ||||
|     </div> | ||||
|      | ||||
|     <div class="tab skills" data-group="primary" data-tab="Skills"> | ||||
|       {{> "systems/rmss/templates/sheets/actors/parts/actor-skills.html" }} | ||||
|     </div> | ||||
|  | ||||
|     <div class="tab equipment" data-group="primary" data-tab="Equipment"> | ||||
|       <div class="container"> | ||||
|         <div class="equipment-container"> | ||||
|           <h2>Items</h2> | ||||
|           {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-items.html" }} | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-items.html" }} | ||||
|           <h2>Weapons</h2> | ||||
|           {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-weapons.html" }} | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-weapons.html" }} | ||||
|           <h2>Armor and Equipables</h2> | ||||
|           {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-armor.html" }} | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-armor.html" }} | ||||
|           <h2>Herbs and Poisons</h2> | ||||
|           {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-herbs.html" }}           | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-herbs.html" }}           | ||||
|         </div> | ||||
|          | ||||
|         <div class="money-container"> | ||||
|         <h2>Wealth</h2> | ||||
|           {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-money.html" }} | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-money.html" }} | ||||
|         </div>  | ||||
|       </div> | ||||
|     </div> | ||||
|     <div class="tab spells" data-group="primary" data-tab="Spells"> | ||||
|         <div class="spell-container"> | ||||
|           {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-spells.html" }} | ||||
|           {{> "systems/rmss/templates/sheets/actors/parts/actor-spells.html" }} | ||||
|         </div>        | ||||
|   </div> | ||||
|  | ||||
|   <div class="tab background" data-group="primary" data-tab="Background"> | ||||
|     <div class="container"> | ||||
|       <div class="fixed-info-container"> | ||||
|         {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-race-stat-fixed-info.html" }} | ||||
|       </div> | ||||
|       <div class="fixed-info-container"> | ||||
|         {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-role-traits.html" }} | ||||
|         {{> "systems/fvtt-rolemaster-frp/templates/sheets/actors/parts/actor-background-info.html" }} | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
|  | ||||
|   </section> | ||||
| </form> | ||||
|  | ||||
|   | ||||
| @@ -1,96 +1,27 @@ | ||||
| <form> | ||||
|   <div class="dice-roller-container"> | ||||
|     <div class="dice-roller-options"> | ||||
|       <div class="dice-roller-item"> | ||||
|         <div>Rolling for:</div> | ||||
|         <div>{{itemName}}</div> | ||||
|       </div> | ||||
|       <div class="dice-roller-item"> | ||||
|         <div>Character Bonus:</div> | ||||
|         <div>{{characterBonus}}</div> | ||||
|       </div> | ||||
|       <div class="dice-roller-item"> | ||||
|         <div>Difficulty:</div> | ||||
|         <div> | ||||
|           <select name="difficulty"> | ||||
|             {{selectOptions config.difficulties selected="0" valueKey="value" labelKey="label"}} | ||||
|           </select> | ||||
|     <div class="dice-roller-container"> | ||||
|         <div class="dice-roller-options"> | ||||
|             <div class="dice-roller-item"> | ||||
|                 <div>Rolling for:</div><div>{{itemName}}</div> | ||||
|             </div> | ||||
|             <div class="dice-roller-item"> | ||||
|                 <div>Character Bonus:</div><div>{{characterBonus}}</div> | ||||
|             </div> | ||||
|             <div class="dice-roller-item"> | ||||
|                 <div>Misc Bonus:</div><div><input name="miscBonus" value="0" /></div> | ||||
|             </div> | ||||
|             <div class="dice-roller-item"> | ||||
|                 <div>Select Roll Type:</div> | ||||
|                 <div> | ||||
|                     <select name="rollType" value="None" itemid="blah"> | ||||
|                     {{#each selectOptions as |option|}} | ||||
|                         <option value="{{option.value}}" {{#if option.selected}}selected{{/if}}>{{option.text}}</option> | ||||
|                     {{/each}} | ||||
|                 </select> | ||||
|             </div> | ||||
|         </div> | ||||
|       </div> | ||||
|        | ||||
|       <div class="dice-roller-item"> | ||||
|         <div>% of hits taken malus:</div> | ||||
|         <div>{{woundsModifier}}</div> | ||||
|       </div> | ||||
|        | ||||
|       {{#if isStunned}} | ||||
|       <div class="dice-roller-item"> | ||||
|         <div>Stunned:</div> | ||||
|         <div>{{stunnedModifier}}</div> | ||||
|       </div> | ||||
|       {{/if}} | ||||
|        | ||||
|       <div class="dice-roller-item"> | ||||
|         <div>Combat situations:</div> | ||||
|         <div> | ||||
|           <select name="combatSituation"> | ||||
|             {{#select combatSituation}} | ||||
|             {{#each config.combatSituations as |situation|}} | ||||
|               <option value="{{situation.modifier}}">{{situation.label}}</option> | ||||
|             {{/each}} | ||||
|             {{/select}} | ||||
|           </select> | ||||
|         <div class="roll-button-container"> | ||||
|             <button type="submit">Roll</button> | ||||
|         </div> | ||||
|       </div> | ||||
|  | ||||
|       <div class="dice-roller-item"> | ||||
|         <div>Hits/round taken:</div> | ||||
|         <div> | ||||
|           <select name="hitsPerRound"> | ||||
|             {{#select hitsPerRound}} | ||||
|             {{#each config.hitsPerRound as |hit|}} | ||||
|               <option value="{{hit.modifier}}">{{hit.label}}</option> | ||||
|             {{/each}} | ||||
|             {{/select}} | ||||
|           </select> | ||||
|         </div> | ||||
|       </div> | ||||
|  | ||||
|       <div class="dice-roller-item"> | ||||
|         <div>Lightning, if required:</div> | ||||
|         <div> | ||||
|           <select name="lightningModifier"> | ||||
|             {{#select lightningModifier}} | ||||
|             {{#each config.lightOrDarknessModifiers as |lightning|}} | ||||
|               <option value="{{lightning.modifierLight}}">{{lightning.label}}</option> | ||||
|             {{/each}} | ||||
|             {{/select}} | ||||
|           </select> | ||||
|         </div> | ||||
|       </div> | ||||
|  | ||||
|       <div class="dice-roller-item"> | ||||
|         <div>Darkness, if advantageous:</div> | ||||
|         <div> | ||||
|           <select name="darknessModifier"> | ||||
|             {{#select lightningModifier}} | ||||
|             {{#each config.lightOrDarknessModifiers as |darkness|}} | ||||
|               <option value="{{darkness.modifierDark}}">{{darkness.label}}</option> | ||||
|             {{/each}} | ||||
|             {{/select}} | ||||
|           </select> | ||||
|         </div> | ||||
|       </div> | ||||
|  | ||||
|       <div class="dice-roller-item"> | ||||
|         <div>Misc Bonus:</div> | ||||
|         <div><input name="miscBonus" value="0" /></div> | ||||
|       </div> | ||||
|       <div class="roll-button-container"> | ||||
|         {{#each selectOptions as |option|}} | ||||
|         <button type="submit" class="roll-button" data-value="{{option.value}}">{{option.text}}</button> | ||||
|         {{/each}} | ||||
|       </div> | ||||
|     </div> | ||||
|   </div> | ||||
| </form> | ||||
| @@ -1,25 +1,17 @@ | ||||
| <form> | ||||
| <div> | ||||
|  | ||||
|     <h3>Import Skill Categories/Skills</h3> | ||||
|     <h3>Import Skill Categories</h3> | ||||
|     <div> | ||||
|         WARNING: This will erase your existing Skill Categories or Skills and import all Skill Categories/Skills from the selected Compendium.  | ||||
|         WARNING: This will erase your existing Skill Categories and import all Skill Categories from the selected Compendium.  | ||||
|     </div> | ||||
|     <div class="flexrow"> | ||||
|         <span >Select Skill Categories Compendium:</span> | ||||
|         <select name="selectOptionsCategories" class="compendium-selector" value="None" itemid="blah"> | ||||
|     <div> | ||||
|         Select Compendium: | ||||
|         <select name="selectOptions" class="compendium-selector" value="None" itemid="blah"> | ||||
|             {{selectOptions selectOptions}} | ||||
|         </select> | ||||
|         <button class="import-skillcats" value="skill_category"  name="skill_category" title="Import">Import Skill Categories</button> | ||||
|         </select></div> | ||||
|     <div> | ||||
|         <button class="import-skillcats" title="Import">Import</button> | ||||
|     </div> | ||||
|  | ||||
|     <div class="flexrow"> | ||||
|       <span>Select Skills Compendium:</span> | ||||
|       <select name="selectOptionsSkills" class="compendium-selector" value="None" itemid="blah"> | ||||
|           {{selectOptions selectOptions}} | ||||
|       </select> | ||||
|       <button class="import-skills" value="skill" name="skill" title="Import">Import Skills</button> | ||||
|   </div> | ||||
|  | ||||
| </div> | ||||
| </form> | ||||
| @@ -4,19 +4,7 @@ | ||||
|         <h1><input name="name" type="text" value="{{item.name}}" placeholder="{{ localize 'Name' }}"/></h1> | ||||
|     </header> | ||||
|     <div class="sheet-content"> | ||||
|       <div class="flexrow"> | ||||
|         <div>Rank Bonus Progression | ||||
|           <select class="select-fixed-width" name="system.bonus_progression" value="{{system.bonus_progression}}" itemid="{{ item._id }}"> | ||||
|               {{selectOptions config.rankBonusProgressionList selected=system.bonus_progression valueAttr="key" labelAttr="label"}} | ||||
|           </select> | ||||
|         </div> | ||||
|         <div>Game system | ||||
|           <select class="select-fixed-width" name="system.game_system" value="{{system.game_system}}" itemid="{{ item._id }}"> | ||||
|               {{selectOptions config.gameSystems selected=system.game_system valueAttr="key" labelAttr="label"}} | ||||
|           </select> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="applicable-stats-grid-container"> | ||||
|         <div class="applicable-stats-grid-container"> | ||||
|             <div> | ||||
|                 Applicable Stat 1 | ||||
|                 <select name="system.app_stat_1" class="app-stat-selector" value="{{system.app_stat_1}}" itemid="{{ item._id }}"> | ||||
|   | ||||
| @@ -4,22 +4,10 @@ | ||||
|         <h1><input name="name" type="text" value="{{item.name}}" placeholder="{{ localize 'Name' }}"/></h1> | ||||
|     </header> | ||||
|     <div class="sheet-content"> | ||||
|       <div class="flexrow"> | ||||
|         <div>Rank Bonus Progression | ||||
|           <select class="select-fixed-width" name="system.bonus_progression" value="{{system.bonus_progression}}" itemid="{{ item._id }}"> | ||||
|               {{selectOptions config.rankBonusProgressionList selected=system.bonus_progression valueAttr="key" labelAttr="label"}} | ||||
|           </select> | ||||
|         </div> | ||||
|         <div>Game system | ||||
|           <select class="select-fixed-width" name="system.game_system" value="{{system.game_system}}" itemid="{{ item._id }}"> | ||||
|               {{selectOptions config.gameSystems selected=system.game_system valueAttr="key" labelAttr="label"}} | ||||
|           </select> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div> | ||||
|         <div> | ||||
|             Skill Category | ||||
|             <select name="system.category" class="app-stat-selector" value="{{system.category}}"> | ||||
|                 {{selectOptions owned_skillcats selected=selected_skillcat nameAttr="name" valueAttr="name" labelAttr="name"}} | ||||
|             <select name="system.category" class="app-stat-selector" value="{{system.category}}" itemid="{{ item._id }}"> | ||||
|                 {{selectOptions owned_skillcats selected=selected_skillcat }} | ||||
|             </select> | ||||
|         </div> | ||||
|         <div> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user