More refactoring and features

This commit is contained in:
Colin McLeod
2015-05-04 18:31:34 -07:00
parent c5cdebc5a7
commit f4df56e34a
57 changed files with 1186 additions and 708 deletions

BIN
app/fonts/icons.eot Executable file

Binary file not shown.

105
app/fonts/icons.svg Executable file
View File

@@ -0,0 +1,105 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Generated by IcoMoon</metadata>
<defs>
<font id="icons" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="970.24" descent="-53.76" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" d="" horiz-adv-x="512" />
<glyph unicode="&#xe93b;" d="M480 896c-265.096 0-480-214.904-480-480 0-265.098 214.904-480 480-480 265.098 0 480 214.902 480 480 0 265.096-214.902 480-480 480zM480 32c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384s-171.922-384-384-384zM512 448v128h128v64h-128v64h-64v-64h-128v-256h128v-128h-128v-64h128v-64h64v64h128.002l-0.002 256h-128zM448 448h-64v128h64v-128zM576.002 256h-64.002v128h64.002v-128z" />
<glyph unicode="&#xe960;" d="M512 384l256 256h-192v256h-128v-256h-192zM744.726 488.728l-71.74-71.742 260.080-96.986-421.066-157.018-421.066 157.018 260.080 96.986-71.742 71.742-279.272-104.728v-256l512-192 512 192v256z" />
<glyph unicode="&#xe961;" d="M448 384h128v256h192l-256 256-256-256h192zM640 528v-98.712l293.066-109.288-421.066-157.018-421.066 157.018 293.066 109.288v98.712l-384-144v-256l512-192 512 192v256z" />
<glyph unicode="&#xe962;" d="M896 960h-896v-1024h1024v896l-128 128zM512 832h128v-256h-128v256zM896 64h-768v768h64v-320h576v320h74.978l53.022-53.018v-714.982z" />
<glyph unicode="&#xe97d;" d="M192 448c0 12.18 0.704 24.196 2.030 36.022l-184.98 60.104c-5.916-31.14-9.050-63.264-9.050-96.126 0-147.23 62.166-279.922 161.654-373.324l114.284 157.296c-52.124 56.926-83.938 132.758-83.938 216.028zM832 448c0-83.268-31.812-159.102-83.938-216.028l114.284-157.296c99.488 93.402 161.654 226.094 161.654 373.324 0 32.862-3.132 64.986-9.048 96.126l-184.98-60.104c1.324-11.828 2.028-23.842 2.028-36.022zM576 761.592c91.934-18.662 169.544-76.742 214.45-155.826l184.978 60.102c-73.196 155.42-222.24 268.060-399.428 290.156v-194.432zM233.55 605.768c44.906 79.084 122.516 137.164 214.45 155.826v194.43c-177.188-22.096-326.23-134.736-399.426-290.154l184.976-60.102zM644.556 156.672c-40.39-18.408-85.272-28.672-132.556-28.672s-92.166 10.264-132.554 28.67l-114.292-157.31c73.206-40.366 157.336-63.36 246.846-63.36s173.64 22.994 246.848 63.36l-114.292 157.312z" />
<glyph unicode="&#xe984;" d="M1024 576h-384l143.53 143.53c-72.53 72.526-168.96 112.47-271.53 112.47s-199-39.944-271.53-112.47c-72.526-72.53-112.47-168.96-112.47-271.53s39.944-199 112.47-271.53c72.53-72.526 168.96-112.47 271.53-112.47s199 39.944 271.528 112.472c6.056 6.054 11.86 12.292 17.456 18.668l96.32-84.282c-93.846-107.166-231.664-174.858-385.304-174.858-282.77 0-512 229.23-512 512s229.23 512 512 512c141.386 0 269.368-57.326 362.016-149.984l149.984 149.984v-384z" />
<glyph unicode="&#xe989;" d="M1024 960h-416l160-160-192-192 96-96 192 192 160-160zM1024-64v416l-160-160-192 192-96-96 192-192-160-160zM0-64h416l-160 160 192 192-96 96-192-192-160 160zM0 960v-416l160 160 192-192 96 96-192 192 160 160z" />
<glyph unicode="&#xe98a;" d="M576 512h416l-160 160 192 192-96 96-192-192-160 160zM576 384v-416l160 160 192-192 96 96-192 192 160 160zM448 384.004h-416l160-160-192-192 96-96 192 192 160-160zM448 512v416l-160-160-192 192-96-96 192-192-160-160z" />
<glyph unicode="&#xe98b;" d="M1024 960v-416l-160 160-192-192-96 96 192 192-160 160zM448 288l-192-192 160-160h-416v416l160-160 192 192z" />
<glyph unicode="&#xe98c;" d="M448 384v-416l-160 160-192-192-96 96 192 192-160 160zM1024 864l-192-192 160-160h-416v416l160-160 192 192z" />
<glyph unicode="&#xe991;" d="M1002.934 142.124l-460.552 394.76c21.448 40.298 33.618 86.282 33.618 135.116 0 159.058-128.942 288-288 288-29.094 0-57.172-4.332-83.646-12.354l166.39-166.39c24.89-24.89 24.89-65.62 0-90.51l-101.49-101.49c-24.89-24.89-65.62-24.89-90.51 0l-166.39 166.39c-8.022-26.474-12.354-54.552-12.354-83.646 0-159.058 128.942-288 288-288 48.834 0 94.818 12.17 135.116 33.62l394.76-460.552c22.908-26.724 62.016-28.226 86.904-3.338l101.492 101.492c24.888 24.888 23.386 63.994-3.338 86.902z" />
<glyph unicode="&#xe992;" d="M448 832v16c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576zM256 704v128h128v-128h-128zM832 528c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-576v-128h576v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h192v128h-192v16zM640 384v128h128v-128h-128zM448 208c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576v16zM256 64v128h128v-128h-128z" />
<glyph unicode="&#xe993;" d="M896 512h16c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-16v192h-128v-192h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h16v-576h128v576zM768 704h128v-128h-128v128zM592 128c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-16v576h-128v-576h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h16v-192h128v192h16zM448 320h128v-128h-128v128zM272 512c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-16v192h-128v-192h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h16v-576h128v576h16zM128 704h128v-128h-128v128z" />
<glyph unicode="&#xe994;" d="M933.79 349.75c-53.726 93.054-21.416 212.304 72.152 266.488l-100.626 174.292c-28.75-16.854-62.176-26.518-97.846-26.518-107.536 0-194.708 87.746-194.708 195.99h-201.258c0.266-33.41-8.074-67.282-25.958-98.252-53.724-93.056-173.156-124.702-266.862-70.758l-100.624-174.292c28.97-16.472 54.050-40.588 71.886-71.478 53.638-92.908 21.512-211.92-71.708-266.224l100.626-174.292c28.65 16.696 61.916 26.254 97.4 26.254 107.196 0 194.144-87.192 194.7-194.958h201.254c-0.086 33.074 8.272 66.57 25.966 97.218 53.636 92.906 172.776 124.594 266.414 71.012l100.626 174.29c-28.78 16.466-53.692 40.498-71.434 71.228zM512 240.668c-114.508 0-207.336 92.824-207.336 207.334 0 114.508 92.826 207.334 207.336 207.334 114.508 0 207.332-92.826 207.332-207.334-0.002-114.51-92.824-207.334-207.332-207.334z" />
<glyph unicode="&#xe995;" d="M363.722 237.948l41.298 57.816-45.254 45.256-57.818-41.296c-10.722 5.994-22.204 10.774-34.266 14.192l-11.682 70.084h-64l-11.68-70.086c-12.062-3.418-23.544-8.198-34.266-14.192l-57.818 41.298-45.256-45.256 41.298-57.816c-5.994-10.72-10.774-22.206-14.192-34.266l-70.086-11.682v-64l70.086-11.682c3.418-12.060 8.198-23.544 14.192-34.266l-41.298-57.816 45.254-45.256 57.818 41.296c10.722-5.994 22.204-10.774 34.266-14.192l11.682-70.084h64l11.68 70.086c12.062 3.418 23.544 8.198 34.266 14.192l57.818-41.296 45.254 45.256-41.298 57.816c5.994 10.72 10.774 22.206 14.192 34.266l70.088 11.68v64l-70.086 11.682c-3.418 12.060-8.198 23.544-14.192 34.266zM224 96c-35.348 0-64 28.654-64 64s28.652 64 64 64 64-28.654 64-64-28.652-64-64-64zM1024 576v64l-67.382 12.25c-1.242 8.046-2.832 15.978-4.724 23.79l57.558 37.1-24.492 59.128-66.944-14.468c-4.214 6.91-8.726 13.62-13.492 20.13l39.006 56.342-45.256 45.254-56.342-39.006c-6.512 4.766-13.22 9.276-20.13 13.494l14.468 66.944-59.128 24.494-37.1-57.558c-7.812 1.892-15.744 3.482-23.79 4.724l-12.252 67.382h-64l-12.252-67.382c-8.046-1.242-15.976-2.832-23.79-4.724l-37.098 57.558-59.128-24.492 14.468-66.944c-6.91-4.216-13.62-8.728-20.13-13.494l-56.342 39.006-45.254-45.254 39.006-56.342c-4.766-6.51-9.278-13.22-13.494-20.13l-66.944 14.468-24.492-59.128 57.558-37.1c-1.892-7.812-3.482-15.742-4.724-23.79l-67.384-12.252v-64l67.382-12.25c1.242-8.046 2.832-15.978 4.724-23.79l-57.558-37.1 24.492-59.128 66.944 14.468c4.216-6.91 8.728-13.618 13.494-20.13l-39.006-56.342 45.254-45.256 56.342 39.006c6.51-4.766 13.22-9.276 20.13-13.492l-14.468-66.944 59.128-24.492 37.102 57.558c7.81-1.892 15.742-3.482 23.788-4.724l12.252-67.384h64l12.252 67.382c8.044 1.242 15.976 2.832 23.79 4.724l37.1-57.558 59.128 24.492-14.468 66.944c6.91 4.216 13.62 8.726 20.13 13.492l56.342-39.006 45.256 45.256-39.006 56.342c4.766 6.512 9.276 13.22 13.492 20.13l66.944-14.468 24.492 59.13-57.558 37.1c1.892 7.812 3.482 15.742 4.724 23.79l67.382 12.25zM672 468.8c-76.878 0-139.2 62.322-139.2 139.2s62.32 139.2 139.2 139.2 139.2-62.322 139.2-139.2c0-76.878-62.32-139.2-139.2-139.2z" />
<glyph unicode="&#xe996;" d="M1009.996 131.024l-301.544 301.544c-18.668 18.668-49.214 18.668-67.882 0l-22.626-22.626-184 184 302.056 302.058h-320l-142.058-142.058-14.060 14.058h-67.882v-67.882l14.058-14.058-206.058-206.060 160-160 206.058 206.058 184-184-22.626-22.626c-18.668-18.668-18.668-49.214 0-67.882l301.544-301.544c18.668-18.668 49.214-18.668 67.882 0l113.136 113.136c18.67 18.666 18.67 49.214 0.002 67.882z" />
<glyph unicode="&#xe99a;" d="M448 384v448c-247.424 0-448-200.576-448-448s200.576-448 448-448 448 200.576 448 448c0 72.034-17.028 140.084-47.236 200.382l-400.764-200.382zM912.764 712.382c-73.552 146.816-225.374 247.618-400.764 247.618v-448l400.764 200.382z" />
<glyph unicode="&#xe99b;" d="M128 64h896v-128h-1024v1024h128zM288 128c-53.020 0-96 42.98-96 96s42.98 96 96 96c2.828 0 5.622-0.148 8.388-0.386l103.192 171.986c-9.84 15.070-15.58 33.062-15.58 52.402 0 53.020 42.98 96 96 96s96-42.98 96-96c0-19.342-5.74-37.332-15.58-52.402l103.192-171.986c2.766 0.238 5.56 0.386 8.388 0.386 2.136 0 4.248-0.094 6.35-0.23l170.356 298.122c-10.536 15.408-16.706 34.036-16.706 54.11 0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96-2.14 0-4.248 0.094-6.35 0.232l-170.356-298.124c10.536-15.406 16.706-34.036 16.706-54.11 0-53.020-42.98-96-96-96s-96 42.98-96 96c0 19.34 5.74 37.332 15.578 52.402l-103.19 171.984c-2.766-0.238-5.56-0.386-8.388-0.386s-5.622 0.146-8.388 0.386l-103.192-171.986c9.84-15.068 15.58-33.060 15.58-52.4 0-53.020-42.98-96-96-96z" />
<glyph unicode="&#xe99c;" d="M0 128h1024v-128h-1024zM128 384h128v-192h-128zM320 640h128v-448h-128zM512 448h128v-256h-128zM704 832h128v-640h-128z" />
<glyph unicode="&#xe99d;" d="M288 576h-192c-17.6 0-32-14.4-32-32v-576c0-17.6 14.4-32 32-32h192c17.6 0 32 14.4 32 32v576c0 17.6-14.4 32-32 32zM288 0h-192v256h192v-256zM608 704h-192c-17.6 0-32-14.4-32-32v-704c0-17.6 14.4-32 32-32h192c17.6 0 32 14.4 32 32v704c0 17.6-14.4 32-32 32zM608 0h-192v320h192v-320zM928 832h-192c-17.6 0-32-14.4-32-32v-832c0-17.6 14.4-32 32-32h192c17.6 0 32 14.4 32 32v832c0 17.6-14.4 32-32 32zM928 0h-192v384h192v-384z" />
<glyph unicode="&#xe9a5;" d="M704 896l-320-320h-192l-192-256c0 0 203.416 56.652 322.066 30.084l-322.066-414.084 421.902 328.144c58.838-134.654-37.902-328.144-37.902-328.144l256 192v192l320 320 64 320-320-64z" />
<glyph unicode="&#xe9a6;" d="M512 896c282.77 0 512-229.23 512-512 0-192.792-106.576-360.666-264.008-448h-495.984c-157.432 87.334-264.008 255.208-264.008 448 0 282.77 229.23 512 512 512zM801.914 94.086c77.438 77.44 120.086 180.398 120.086 289.914h-90v64h85.038c-7.014 44.998-21.39 88.146-42.564 128h-106.474v64h64.284c-9.438 11.762-19.552 23.096-30.37 33.914-46.222 46.22-101.54 80.038-161.914 99.798v-69.712h-64v85.040c-20.982 3.268-42.36 4.96-64 4.96s-43.018-1.69-64-4.96v-85.040h-64v69.712c-60.372-19.76-115.692-53.576-161.914-99.798-10.818-10.818-20.932-22.152-30.37-33.914h64.284v-64h-106.476c-21.174-39.854-35.552-83.002-42.564-128h85.040v-64h-90c0-109.516 42.648-212.474 120.086-289.914 10.71-10.71 21.924-20.728 33.56-30.086h192.354l36.572 512h54.856l36.572-512h192.354c11.636 9.358 22.852 19.378 33.56 30.086z" />
<glyph unicode="&#xe9a7;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM302.836 125.848c11.106 30.632 17.164 63.688 17.164 98.152 0 124.35-78.81 230.292-189.208 270.606 10.21 84.924 48.254 163.498 109.678 224.924 72.53 72.526 168.96 112.47 271.53 112.47s199-39.944 271.53-112.47c61.428-61.426 99.468-140 109.682-224.924-110.402-40.314-189.212-146.256-189.212-270.606 0-34.468 6.060-67.52 17.166-98.15-61.706-40.242-133.77-61.85-209.166-61.85-75.394 0-147.458 21.608-209.164 61.848zM551.754 319.004c13.878-3.494 24.246-16.080 24.246-31.004v-64c0-17.6-14.4-32-32-32h-64c-17.6 0-32 14.4-32 32v64c0 14.924 10.368 27.51 24.246 31.004l23.754 448.996h32l23.754-448.996z" />
<glyph unicode="&#xe9ac;" d="M128 640v-640c0-35.2 28.8-64 64-64h576c35.2 0 64 28.8 64 64v640h-704zM320 64h-64v448h64v-448zM448 64h-64v448h64v-448zM576 64h-64v448h64v-448zM704 64h-64v448h64v-448zM848 832h-208v80c0 26.4-21.6 48-48 48h-224c-26.4 0-48-21.6-48-48v-80h-208c-26.4 0-48-21.6-48-48v-80h832v80c0 26.4-21.6 48-48 48zM576 832h-192v63.198h192v-63.198z" />
<glyph unicode="&#xe9b3;" d="M1024 512h-100.924c-27.64 178.24-168.836 319.436-347.076 347.076v100.924h-128v-100.924c-178.24-27.64-319.436-168.836-347.076-347.076h-100.924v-128h100.924c27.64-178.24 168.836-319.436 347.076-347.076v-100.924h128v100.924c178.24 27.64 319.436 168.836 347.076 347.076h100.924v128zM792.822 512h-99.762c-19.284 54.55-62.51 97.778-117.060 117.060v99.762c107.514-24.49 192.332-109.31 216.822-216.822zM512 384c-35.346 0-64 28.654-64 64s28.654 64 64 64c35.346 0 64-28.654 64-64s-28.654-64-64-64zM448 728.822v-99.762c-54.55-19.282-97.778-62.51-117.060-117.060h-99.762c24.49 107.512 109.31 192.332 216.822 216.822zM231.178 384h99.762c19.282-54.55 62.51-97.778 117.060-117.060v-99.762c-107.512 24.49-192.332 109.308-216.822 216.822zM576 167.178v99.762c54.55 19.284 97.778 62.51 117.060 117.060h99.762c-24.49-107.514-109.308-192.332-216.822-216.822z" />
<glyph unicode="&#xe9b4;" d="M960 960l-448-128-448 128c0 0-4.5-51.698 0-128l448-140.090 448 140.090c4.498 76.302 0 128 0 128zM72.19 764.894c23.986-250.696 113.49-672.234 439.81-828.894 326.32 156.66 415.824 578.198 439.81 828.894l-439.81-165.358-439.81 165.358z" />
<glyph unicode="&#xe9b5;" d="M384 960l-384-512h384l-256-512 896 640h-512l384 384z" />
<glyph unicode="&#xe9b6;" d="M640 813.412v-135.958c36.206-15.804 69.5-38.408 98.274-67.18 60.442-60.44 93.726-140.8 93.726-226.274s-33.286-165.834-93.726-226.274c-60.44-60.44-140.798-93.726-226.274-93.726s-165.834 33.286-226.274 93.726c-60.44 60.44-93.726 140.8-93.726 226.274s33.286 165.834 93.726 226.274c28.774 28.774 62.068 51.378 98.274 67.182v135.956c-185.048-55.080-320-226.472-320-429.412 0-247.424 200.578-448 448-448 247.424 0 448 200.576 448 448 0 202.94-134.95 374.332-320 429.412zM448 960h128v-512h-128z" />
<glyph unicode="&#xe9b7;" d="M1024 677.5l-90.506 90.5-178.746-178.752-101.5 101.502 178.75 178.75-90.5 90.5-178.75-178.75-114.748 114.75-86.626-86.624 512.002-512 86.624 86.622-114.752 114.752 178.752 178.75zM794.040 286.21l-443.824 443.824c-95.818-114.904-204.52-292.454-129.396-445.216l-132.248-132.248c-31.112-31.114-31.112-82.024 0-113.136l14.858-14.858c31.114-31.114 82.026-31.114 113.138 0l132.246 132.244c152.764-75.132 330.318 33.566 445.226 129.39z" />
<glyph unicode="&#xe9b8;" d="M928 832h-288c0 70.692-57.306 128-128 128-70.692 0-128-57.308-128-128h-288c-17.672 0-32-14.328-32-32v-832c0-17.674 14.328-32 32-32h832c17.674 0 32 14.326 32 32v832c0 17.672-14.326 32-32 32zM512 896c35.346 0 64-28.654 64-64s-28.654-64-64-64c-35.346 0-64 28.654-64 64s28.654 64 64 64zM896 0h-768v768h128v-96c0-17.672 14.328-32 32-32h448c17.674 0 32 14.328 32 32v96h128v-768zM448 101.49l-205.254 237.254 58.508 58.51 146.746-114.744 274.742 242.744 58.514-58.508z" />
<glyph unicode="&#xe9bc;" d="M976 192h-16v208c0 61.756-50.242 112-112 112h-272v128h16c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h16v-128h-272c-61.756 0-112-50.244-112-112v-208h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-16v192h256v-192h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48h-16v192h256v-192h-16c-26.4 0-48-21.6-48-48v-160c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v160c0 26.4-21.6 48-48 48zM192 0h-128v128h128v-128zM576 0h-128v128h128v-128zM448 704v128h128v-128h-128zM960 0h-128v128h128v-128z" />
<glyph unicode="&#xe9bd;" d="M64 768h896v-192h-896zM64 512h896v-192h-896zM64 256h896v-192h-896z" />
<glyph unicode="&#xe9be;" d="M0 768h896v-192h-896v192zM0 512h896v-192h-896v192zM0 256h896v-192h-896v192zM992 384l192-192 192 192zM1376 448l-192 192-192-192z" horiz-adv-x="1408" />
<glyph unicode="&#xe9bf;" d="M0 768h896v-192h-896v192zM0 512h896v-192h-896v192zM0 256h896v-192h-896v192zM992 512l192-192 192 192z" horiz-adv-x="1408" />
<glyph unicode="&#xe9c0;" d="M0 768h896v-192h-896v192zM0 512h896v-192h-896v192zM0 256h896v-192h-896v192zM992 320l192 192 192-192z" horiz-adv-x="1408" />
<glyph unicode="&#xe9c1;" d="M1024 302.458c0 82.090-56.678 150.9-132.996 169.48-3.242 128.7-108.458 232.062-237.862 232.062-75.792 0-143.266-35.494-186.854-90.732-24.442 31.598-62.69 51.96-105.708 51.96-73.81 0-133.642-59.874-133.642-133.722 0-6.436 0.48-12.76 1.364-18.954-11.222 2.024-22.766 3.138-34.57 3.138-106.998 0.002-193.732-86.786-193.732-193.842 0-107.062 86.734-193.848 193.73-193.848l656.262 0.012c96.138 0.184 174.008 78.212 174.008 174.446z" />
<glyph unicode="&#xe9c2;" d="M891.004 599.94c-3.242 128.698-108.458 232.060-237.862 232.060-75.792 0-143.266-35.494-186.854-90.732-24.442 31.598-62.69 51.96-105.708 51.96-73.81 0-133.642-59.876-133.642-133.722 0-6.436 0.48-12.76 1.364-18.954-11.222 2.024-22.766 3.138-34.57 3.138-106.998 0.002-193.732-86.786-193.732-193.842 0-107.062 86.734-193.848 193.73-193.848h91.76l226.51-234.51 226.51 234.51 111.482 0.012c96.138 0.184 174.008 78.21 174.008 174.446 0 82.090-56.678 150.9-132.996 169.482zM512 128l-192 192h128v192h128v-192h128l-192-192z" />
<glyph unicode="&#xe9c3;" d="M892.268 573.51c2.444 11.11 3.732 22.648 3.732 34.49 0 88.366-71.634 160-160 160-14.222 0-28.014-1.868-41.132-5.352-24.798 77.352-97.29 133.352-182.868 133.352-87.348 0-161.054-58.336-184.326-138.17-22.742 6.622-46.792 10.17-71.674 10.17-141.384 0-256-114.616-256-256 0-141.388 114.616-256 256-256h128v-192h256v192h224c88.366 0 160 71.632 160 160 0 78.72-56.854 144.162-131.732 157.51zM576 320v-192h-128v192h-160l224 224 224-224h-160z" />
<glyph unicode="&#xe9c4;" d="M892.268 445.51c2.442 11.108 3.732 22.646 3.732 34.49 0 88.366-71.634 160-160 160-14.224 0-28.014-1.868-41.134-5.352-24.796 77.352-97.288 133.352-182.866 133.352-87.348 0-161.054-58.336-184.326-138.17-22.742 6.62-46.792 10.17-71.674 10.17-141.384 0-256-114.616-256-256 0-141.382 114.616-256 256-256h608c88.366 0 160 71.632 160 160 0 78.718-56.854 144.16-131.732 157.51zM416 192l-160 160 64 64 96-96 224 224 64-64-288-288z" />
<glyph unicode="&#xe9cb;" d="M440.236 324.234c-13.31 0-26.616 5.076-36.77 15.23-95.134 95.136-95.134 249.934 0 345.070l192 192c46.088 46.086 107.36 71.466 172.534 71.466s126.448-25.38 172.536-71.464c95.132-95.136 95.132-249.934 0-345.070l-87.766-87.766c-20.308-20.308-53.23-20.308-73.54 0-20.306 20.306-20.306 53.232 0 73.54l87.766 87.766c54.584 54.586 54.584 143.404 0 197.99-26.442 26.442-61.6 41.004-98.996 41.004s-72.552-14.562-98.996-41.006l-192-191.998c-54.586-54.586-54.586-143.406 0-197.992 20.308-20.306 20.306-53.232 0-73.54-10.15-10.152-23.462-15.23-36.768-15.23zM256-52c-65.176 0-126.45 25.38-172.534 71.464-95.134 95.136-95.134 249.934 0 345.070l87.764 87.764c20.308 20.306 53.234 20.306 73.54 0 20.308-20.306 20.308-53.232 0-73.54l-87.764-87.764c-54.586-54.586-54.586-143.406 0-197.992 26.44-26.44 61.598-41.002 98.994-41.002s72.552 14.562 98.998 41.006l192 191.998c54.584 54.586 54.584 143.406 0 197.992-20.308 20.308-20.306 53.232 0 73.54 20.306 20.306 53.232 20.306 73.54-0.002 95.132-95.134 95.132-249.932 0.002-345.068l-192.002-192c-46.090-46.088-107.364-71.466-172.538-71.466z" />
<glyph unicode="&#xea07;" d="M512 867.226l429.102-855.226h-858.206l429.104 855.226zM512 960c-22.070 0-44.14-14.882-60.884-44.648l-437.074-871.112c-33.486-59.532-5-108.24 63.304-108.24h869.308c68.3 0 96.792 48.708 63.3 108.24h0.002l-437.074 871.112c-16.742 29.766-38.812 44.648-60.882 44.648v0zM576 128c0-35.346-28.654-64-64-64s-64 28.654-64 64c0 35.346 28.654 64 64 64s64-28.654 64-64zM512 256c-35.346 0-64 28.654-64 64v192c0 35.346 28.654 64 64 64s64-28.654 64-64v-192c0-35.346-28.654-64-64-64z" />
<glyph unicode="&#xea08;" d="M512 864c-111.118 0-215.584-43.272-294.156-121.844s-121.844-183.038-121.844-294.156c0-111.118 43.272-215.584 121.844-294.156s183.038-121.844 294.156-121.844c111.118 0 215.584 43.272 294.156 121.844s121.844 183.038 121.844 294.156c0 111.118-43.272 215.584-121.844 294.156s-183.038 121.844-294.156 121.844zM512 960v0c282.77 0 512-229.23 512-512s-229.23-512-512-512c-282.77 0-512 229.23-512 512s229.23 512 512 512zM448 256h128v-128h-128zM448 768h128v-384h-128z" />
<glyph unicode="&#xea09;" d="M448 256h128v-128h-128zM704 704c35.346 0 64-28.654 64-64v-192l-192-128h-128v64l192 128v64h-320v128h384zM512 864c-111.118 0-215.584-43.272-294.156-121.844s-121.844-183.038-121.844-294.156c0-111.118 43.272-215.584 121.844-294.156s183.038-121.844 294.156-121.844c111.118 0 215.584 43.272 294.156 121.844s121.844 183.038 121.844 294.156c0 111.118-43.272 215.584-121.844 294.156s-183.038 121.844-294.156 121.844zM512 960v0c282.77 0 512-229.23 512-512s-229.23-512-512-512c-282.77 0-512 229.23-512 512s229.23 512 512 512z" />
<glyph unicode="&#xea0a;" d="M992 576h-352v352c0 17.672-14.328 32-32 32h-192c-17.672 0-32-14.328-32-32v-352h-352c-17.672 0-32-14.328-32-32v-192c0-17.672 14.328-32 32-32h352v-352c0-17.672 14.328-32 32-32h192c17.672 0 32 14.328 32 32v352h352c17.672 0 32 14.328 32 32v192c0 17.672-14.328 32-32 32z" />
<glyph unicode="&#xea0b;" d="M0 544v-192c0-17.672 14.328-32 32-32h960c17.672 0 32 14.328 32 32v192c0 17.672-14.328 32-32 32h-960c-17.672 0-32-14.328-32-32z" />
<glyph unicode="&#xea0c;" d="M448 656c0 26.4 21.6 48 48 48h32c26.4 0 48-21.6 48-48v-32c0-26.4-21.6-48-48-48h-32c-26.4 0-48 21.6-48 48v32zM640 192h-256v64h64v192h-64v64h192v-256h64zM512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 32c-229.75 0-416 186.25-416 416s186.25 416 416 416 416-186.25 416-416-186.25-416-416-416z" />
<glyph unicode="&#xea0d;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 32c-229.75 0-416 186.25-416 416s186.25 416 416 416 416-186.25 416-416-186.25-416-416-416zM672 704l-160-160-160 160-96-96 160-160-160-160 96-96 160 160 160-160 96 96-160 160 160 160z" />
<glyph unicode="&#xea0e;" d="M874.040 810.040c-96.706 96.702-225.28 149.96-362.040 149.96s-265.334-53.258-362.040-149.96c-96.702-96.706-149.96-225.28-149.96-362.040s53.258-265.334 149.96-362.040c96.706-96.702 225.28-149.96 362.040-149.96s265.334 53.258 362.040 149.96c96.702 96.706 149.96 225.28 149.96 362.040s-53.258 265.334-149.96 362.040zM896 448c0-82.814-26.354-159.588-71.112-222.38l-535.266 535.268c62.792 44.758 139.564 71.112 222.378 71.112 211.738 0 384-172.262 384-384zM128 448c0 82.814 26.354 159.586 71.112 222.378l535.27-535.268c-62.794-44.756-139.568-71.11-222.382-71.11-211.738 0-384 172.262-384 384z" />
<glyph unicode="&#xea0f;" d="M1014.662 137.34c-0.004 0.004-0.008 0.008-0.012 0.010l-310.644 310.65 310.644 310.65c0.004 0.004 0.008 0.006 0.012 0.010 3.344 3.346 5.762 7.254 7.312 11.416 4.246 11.376 1.824 24.682-7.324 33.83l-146.746 146.746c-9.148 9.146-22.45 11.566-33.828 7.32-4.16-1.55-8.070-3.968-11.418-7.31 0-0.004-0.004-0.006-0.008-0.010l-310.648-310.652-310.648 310.65c-0.004 0.004-0.006 0.006-0.010 0.010-3.346 3.342-7.254 5.76-11.414 7.31-11.38 4.248-24.682 1.826-33.83-7.32l-146.748-146.748c-9.148-9.148-11.568-22.452-7.322-33.828 1.552-4.16 3.97-8.072 7.312-11.416 0.004-0.002 0.006-0.006 0.010-0.010l310.65-310.648-310.65-310.652c-0.002-0.004-0.006-0.006-0.008-0.010-3.342-3.346-5.76-7.254-7.314-11.414-4.248-11.376-1.826-24.682 7.322-33.83l146.748-146.746c9.15-9.148 22.452-11.568 33.83-7.322 4.16 1.552 8.070 3.97 11.416 7.312 0.002 0.004 0.006 0.006 0.010 0.010l310.648 310.65 310.648-310.65c0.004-0.002 0.008-0.006 0.012-0.008 3.348-3.344 7.254-5.762 11.414-7.314 11.378-4.246 24.684-1.826 33.828 7.322l146.746 146.748c9.148 9.148 11.57 22.454 7.324 33.83-1.552 4.16-3.97 8.068-7.314 11.414z" />
<glyph unicode="&#xea10;" d="M864 832l-480-480-224 224-160-160 384-384 640 640z" />
<glyph unicode="&#xea11;" d="M397.434 42.304l-397.868 391.6 197.378 194.27 200.49-197.332 429.62 422.852 197.378-194.27-626.998-617.12zM107.912 433.904l289.524-284.962 518.656 510.482-89.036 87.632-429.62-422.852-200.49 197.334-89.034-87.634z" />
<glyph unicode="&#xea2d;" d="M128 640h640v-192l256 256-256 256v-192h-768v-384h128zM896 256h-640v192l-256-256 256-256v192h768v384h-128z" />
<glyph unicode="&#xea2e;" d="M889.68 793.68c-93.608 102.216-228.154 166.32-377.68 166.32-282.77 0-512-229.23-512-512h96c0 229.75 186.25 416 416 416 123.020 0 233.542-53.418 309.696-138.306l-149.696-149.694h352v352l-134.32-134.32zM928 448c0-229.75-186.25-416-416-416-123.020 0-233.542 53.418-309.694 138.306l149.694 149.694h-352v-352l134.32 134.32c93.608-102.216 228.154-166.32 377.68-166.32 282.77 0 512 229.23 512 512h-96z" />
<glyph unicode="&#xea2f;" d="M783.988 207.988c-64.104 0-124.372 24.96-169.7 70.288l-102.288 102.282-102.276-102.27c-45.332-45.336-105.6-70.3-169.706-70.3-64.118 0-124.39 24.964-169.722 70.3-45.332 45.334-70.296 105.604-70.296 169.712s24.964 124.38 70.296 169.714c45.334 45.332 105.608 70.296 169.714 70.296 64.108 0 124.38-24.964 169.712-70.296l102.278-102.276 102.276 102.276c45.332 45.332 105.604 70.298 169.712 70.298 64.112 0 124.384-24.966 169.71-70.298 45.338-45.334 70.302-105.606 70.302-169.714 0-64.112-24.964-124.382-70.3-169.71-45.326-45.336-105.598-70.302-169.712-70.302zM681.72 345.712c27.322-27.31 63.64-42.354 102.268-42.352 38.634 0 74.958 15.044 102.276 42.362 27.316 27.322 42.364 63.644 42.364 102.278s-15.046 74.956-42.364 102.274c-27.32 27.318-63.64 42.364-102.276 42.364-38.632 0-74.956-15.044-102.278-42.364l-102.268-102.274 102.278-102.288zM240.012 592.638c-38.634 0-74.956-15.044-102.274-42.364-27.32-27.318-42.364-63.64-42.364-102.274 0-38.632 15.044-74.954 42.364-102.276 27.32-27.316 63.642-42.364 102.274-42.364 38.634 0 74.956 15.044 102.272 42.362l102.276 102.278-102.276 102.274c-27.318 27.32-63.64 42.366-102.272 42.364v0z" />
<glyph unicode="&#xea30;" d="M768 256h-101.49l-160 160 160 160h101.49v-160l224 224-224 224v-160h-128c-16.974 0-33.252-6.744-45.254-18.746l-178.746-178.744-178.746 178.746c-12 12-28.28 18.744-45.254 18.744h-192v-128h165.49l160-160-160-160h-165.49v-128h192c16.974 0 33.252 6.742 45.254 18.746l178.746 178.744 178.746-178.744c12.002-12.004 28.28-18.746 45.254-18.746h128v-160l224 224-224 224v-160z" />
<glyph unicode="&#xea31;" d="M0 224l256 256 544-544 224 224-544 544 255.998 256h-735.998v-736z" />
<glyph unicode="&#xea32;" d="M512 928l-480-480h288v-512h384v512h288z" />
<glyph unicode="&#xea33;" d="M288 960l256-256-544-544 224-224 544 544 256-255.998v735.998h-736z" />
<glyph unicode="&#xea34;" d="M992 448l-480 480v-288h-512v-384h512v-288z" />
<glyph unicode="&#xea35;" d="M1024 672l-256-256-544 544-224-224 544-544-255.998-256h735.998v736z" />
<glyph unicode="&#xea36;" d="M512-32l480 480h-288v512h-384v-512h-288z" />
<glyph unicode="&#xea37;" d="M736-64l-256 256 544 544-224 224-544-544-256 255.998v-735.998h736z" />
<glyph unicode="&#xea38;" d="M32 448l480-480v288h512v384h-512v288z" />
<glyph unicode="&#xea39;" d="M877.254 173.254l-530.744 530.746h229.49c35.346 0 64 28.654 64 64s-28.654 64-64 64h-384c-25.886 0-49.222-15.592-59.128-39.508-3.282-7.924-4.84-16.242-4.838-24.492h-0.034v-384c0-35.346 28.654-64 64-64s64 28.654 64 64v229.49l530.746-530.744c12.496-12.498 28.876-18.746 45.254-18.746s32.758 6.248 45.254 18.746c24.994 24.992 24.994 65.516 0 90.508z" />
<glyph unicode="&#xea3a;" d="M877.254 557.254l-320 320c-24.992 24.994-65.514 24.994-90.508 0l-320-320c-24.994-24.994-24.994-65.516 0-90.51 24.994-24.996 65.516-24.996 90.51 0l210.744 210.746v-613.49c0-35.346 28.654-64 64-64s64 28.654 64 64v613.49l210.746-210.746c12.496-12.496 28.876-18.744 45.254-18.744s32.758 6.248 45.254 18.746c24.994 24.994 24.994 65.514 0 90.508z" />
<glyph unicode="&#xea3b;" d="M237.254 82.746l530.746 530.744v-229.49c0-35.346 28.654-64 64-64s64 28.654 64 64v384c0 25.884-15.594 49.222-39.508 59.126-7.924 3.284-16.242 4.84-24.492 4.838v0.036h-384c-35.346 0-64-28.654-64-64 0-35.348 28.654-64 64-64h229.49l-530.744-530.746c-12.498-12.496-18.746-28.876-18.746-45.254s6.248-32.758 18.746-45.254c24.992-24.994 65.516-24.994 90.508 0z" />
<glyph unicode="&#xea3c;" d="M621.254 82.746l320 320c24.994 24.992 24.994 65.516 0 90.51l-320 320c-24.994 24.992-65.516 24.992-90.51 0-24.994-24.994-24.994-65.516 0-90.51l210.746-210.746h-613.49c-35.346 0-64-28.654-64-64s28.654-64 64-64h613.49l-210.746-210.746c-12.496-12.496-18.744-28.876-18.744-45.254s6.248-32.758 18.744-45.254c24.994-24.994 65.516-24.994 90.51 0z" />
<glyph unicode="&#xea3d;" d="M146.746 722.746l530.742-530.746h-229.488c-35.346 0-64-28.654-64-64s28.654-64 64-64h384c25.884 0 49.222 15.594 59.126 39.508 3.284 7.924 4.84 16.242 4.838 24.492h0.036v384c0 35.346-28.654 64-64 64-35.348 0-64-28.654-64-64v-229.49l-530.746 530.744c-12.496 12.498-28.874 18.746-45.254 18.746s-32.758-6.248-45.254-18.746c-24.994-24.992-24.994-65.516 0-90.508z" />
<glyph unicode="&#xea3e;" d="M877.254 338.746l-320-320c-24.992-24.994-65.514-24.994-90.508 0l-320 320c-24.994 24.994-24.994 65.516 0 90.51 24.994 24.996 65.516 24.996 90.51 0l210.744-210.746v613.49c0 35.346 28.654 64 64 64s64-28.654 64-64v-613.49l210.746 210.746c12.496 12.496 28.876 18.744 45.254 18.744s32.758-6.248 45.254-18.746c24.994-24.994 24.994-65.514 0-90.508z" />
<glyph unicode="&#xea3f;" d="M786.744 813.256l-530.744-530.744v229.49c0 35.346-28.654 64-64 64s-64-28.654-64-64v-384.002c0-25.886 15.592-49.222 39.508-59.128 7.924-3.282 16.242-4.84 24.492-4.836v-0.036l384 0.002c35.344 0 64 28.654 64 63.998 0 35.348-28.656 64-64 64h-229.49l530.744 530.746c12.496 12.496 18.746 28.876 18.746 45.256 0 16.376-6.25 32.758-18.746 45.254-24.992 24.992-65.518 24.992-90.51 0v0z" />
<glyph unicode="&#xea40;" d="M402.746 82.746l-320 320c-24.994 24.992-24.994 65.516 0 90.51l320 320c24.994 24.992 65.516 24.992 90.51 0 24.994-24.994 24.994-65.516 0-90.51l-210.746-210.746h613.49c35.346 0 64-28.654 64-64s-28.654-64-64-64h-613.49l210.746-210.746c12.496-12.496 18.744-28.876 18.744-45.254s-6.248-32.758-18.744-45.254c-24.994-24.994-65.516-24.994-90.51 0z" />
<glyph unicode="&#xea41;" d="M0 448c0-282.77 229.23-512 512-512s512 229.23 512 512-229.23 512-512 512-512-229.23-512-512zM928 448c0-229.75-186.25-416-416-416s-416 186.25-416 416 186.25 416 416 416 416-186.25 416-416zM706.744 290.744l90.512 90.512-285.256 285.254-285.254-285.256 90.508-90.508 194.746 194.744z" />
<glyph unicode="&#xea42;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 32c-229.75 0-416 186.25-416 416s186.25 416 416 416 416-186.25 416-416-186.25-416-416-416zM354.744 253.256l90.512-90.512 285.254 285.256-285.256 285.254-90.508-90.508 194.744-194.746z" />
<glyph unicode="&#xea43;" d="M1024 448c0 282.77-229.23 512-512 512s-512-229.23-512-512 229.23-512 512-512 512 229.23 512 512zM96 448c0 229.75 186.25 416 416 416s416-186.25 416-416-186.25-416-416-416-416 186.25-416 416zM317.256 605.256l-90.512-90.512 285.256-285.254 285.254 285.256-90.508 90.508-194.746-194.744z" />
<glyph unicode="&#xea44;" d="M512-64c282.77 0 512 229.23 512 512s-229.23 512-512 512-512-229.23-512-512 229.23-512 512-512zM512 864c229.75 0 416-186.25 416-416s-186.25-416-416-416-416 186.25-416 416 186.25 416 416 416zM669.256 642.744l-90.512 90.512-285.254-285.256 285.256-285.254 90.508 90.508-194.744 194.746z" />
<glyph unicode="&#xea45;" d="M960 960h64v-512h-64v512zM0 448h64v-512h-64v512zM320 256h704v-128h-704v-160l-224 224 224 224v-160zM704 640h-704v128h704v160l224-224-224-224z" />
<glyph unicode="&#xea46;" d="M704 448v-384h64v384h160l-192 192-192-192zM64 768h96v-64h-96v64zM192 768h96v-64h-96v64zM320 768h64v-96h-64v96zM64 544h64v-96h-64v96zM160 512h96v-64h-96v64zM288 512h96v-64h-96v64zM64 672h64v-96h-64v96zM320 640h64v-96h-64v96zM320 256v-192h-192v192h192zM384 320h-320v-320h320v320z" />
<glyph unicode="&#xea47;" d="M768 256v384h-64v-384h-160l192-192 192 192zM320 704v-192h-192v192h192zM384 768h-320v-320h320v320zM64 320h96v-64h-96v64zM192 320h96v-64h-96v64zM320 320h64v-96h-64v96zM64 96h64v-96h-64v96zM160 64h96v-64h-96v64zM288 64h96v-64h-96v64zM64 224h64v-96h-64v96zM320 192h64v-96h-64v96z" />
<glyph unicode="&#xea48;" d="M320 192v768h-128v-768h-160l224-224 224 224h-160zM928-64h-256c-11.8 0-22.644 6.496-28.214 16.9-5.566 10.404-4.958 23.030 1.59 32.85l222.832 334.25h-196.208c-17.672 0-32 14.328-32 32s14.328 32 32 32h256c11.8 0 22.644-6.496 28.214-16.9 5.566-10.404 4.958-23.030-1.59-32.85l-222.83-334.25h196.206c17.672 0 32-14.328 32-32s-14.328-32-32-32zM1020.622 558.314l-192.002 384c-5.42 10.842-16.502 17.69-28.622 17.69-12.122 0-23.202-6.848-28.624-17.69l-191.996-384c-7.904-15.806-1.496-35.030 14.31-42.932 4.594-2.296 9.476-3.386 14.288-3.386 11.736 0 23.040 6.484 28.644 17.698l55.156 110.31h216.446l55.156-110.31c7.902-15.806 27.124-22.21 42.932-14.31 15.808 7.902 22.216 27.124 14.312 42.93zM723.778 704.004l76.22 152.446 76.224-152.446h-152.444z" />
<glyph unicode="&#xea49;" d="M320 192v768h-128v-768h-160l224-224 224 224h-160zM928 512h-256c-11.8 0-22.644 6.496-28.214 16.9-5.566 10.406-4.958 23.030 1.59 32.85l222.832 334.25h-196.208c-17.672 0-32 14.328-32 32s14.328 32 32 32h256c11.8 0 22.644-6.496 28.214-16.9 5.566-10.406 4.958-23.030-1.59-32.85l-222.83-334.25h196.206c17.672 0 32-14.328 32-32s-14.328-32-32-32zM1020.622-17.69l-192.002 384c-5.42 10.842-16.502 17.69-28.622 17.69-12.122 0-23.202-6.848-28.624-17.69l-191.996-384c-7.904-15.806-1.496-35.030 14.31-42.932 4.594-2.296 9.476-3.386 14.288-3.386 11.736 0 23.040 6.484 28.644 17.698l55.158 110.31h216.446l55.156-110.31c7.902-15.806 27.124-22.21 42.932-14.31 15.806 7.902 22.214 27.124 14.31 42.93zM723.778 128l76.22 152.446 76.226-152.446h-152.446z" />
<glyph unicode="&#xea4a;" d="M320 192v768h-128v-768h-160l224-224 224 224h-160zM864 512c-17.674 0-32 14.328-32 32v352h-32c-17.674 0-32 14.328-32 32s14.326 32 32 32h64c17.674 0 32-14.328 32-32v-384c0-17.672-14.326-32-32-32zM928 384h-192c-17.674 0-32-14.326-32-32v-192c0-17.674 14.326-32 32-32h160v-128h-160c-17.674 0-32-14.326-32-32s14.326-32 32-32h192c17.674 0 32 14.326 32 32v384c0 17.674-14.326 32-32 32zM768 320h128v-128h-128v128z" />
<glyph unicode="&#xea4b;" d="M320 192v768h-128v-768h-160l224-224 224 224h-160zM864-64c-17.674 0-32 14.328-32 32v352h-32c-17.674 0-32 14.328-32 32s14.326 32 32 32h64c17.674 0 32-14.328 32-32v-384c0-17.672-14.326-32-32-32zM928 960h-192c-17.674 0-32-14.326-32-32v-192c0-17.674 14.326-32 32-32h160v-128h-160c-17.674 0-32-14.326-32-32s14.326-32 32-32h192c17.674 0 32 14.326 32 32v384c0 17.674-14.326 32-32 32zM768 896h128v-128h-128v128z" />
<glyph unicode="&#xea4c;" d="M320 192v768h-128v-768h-160l224-224 224 224h-160zM448 384h576v-128h-576v128zM448 576h448v-128h-448v128zM448 768h320v-128h-320v128zM448 960h192v-128h-192v128z" />
<glyph unicode="&#xea4d;" d="M320 192v768h-128v-768h-160l224-224 224 224h-160zM448 960h576v-128h-576v128zM448 768h448v-128h-448v128zM448 576h320v-128h-320v128zM448 384h192v-128h-192v128z" />
<glyph unicode="&#xea52;" d="M896 960h-768c-70.4 0-128-57.6-128-128v-768c0-70.4 57.6-128 128-128h768c70.4 0 128 57.6 128 128v768c0 70.4-57.6 128-128 128zM448 165.49l-237.254 237.256 90.51 90.508 146.744-146.744 306.746 306.746 90.508-90.51-397.254-397.256z" />
<glyph unicode="&#xea53;" d="M896 960h-768c-70.4 0-128-57.6-128-128v-768c0-70.4 57.6-128 128-128h768c70.4 0 128 57.6 128 128v768c0 70.4-57.6 128-128 128zM896 64h-768v768h768v-768z" />
<glyph unicode="&#xea54;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 64c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384s-171.922-384-384-384zM320 448c0 106.039 85.961 192 192 192s192-85.961 192-192c0-106.039-85.961-192-192-192s-192 85.961-192 192z" />
<glyph unicode="&#xea55;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 320c-70.692 0-128 57.306-128 128 0 70.692 57.308 128 128 128 70.694 0 128-57.308 128-128 0-70.694-57.306-128-128-128z" />
<glyph unicode="&#xea56;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 64c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384s-171.922-384-384-384z" />
<glyph unicode="&#xea70;" d="M0 768v-704h1024v704h-1024zM384 320v128h256v-128h-256zM640 256v-128h-256v128h256zM640 640v-128h-256v128h256zM320 640v-128h-256v128h256zM64 448h256v-128h-256v128zM704 448h256v-128h-256v128zM704 512v128h256v-128h-256zM64 256h256v-128h-256v128zM704 128v128h256v-128h-256z" />
<glyph unicode="&#xea71;" d="M0 896v-896h1024v896h-1024zM384 320v192h256v-192h-256zM640 256v-192h-256v192h256zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM64 512h256v-192h-256v192zM704 512h256v-192h-256v192zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192zM704 64v192h256v-192h-256z" />
<glyph unicode="&#xea7d;" d="M256 320c0 0 58.824 192 384 192v-192l384 256-384 256v-192c-256 0-384-159.672-384-320zM704 192h-576v384h125.876c10.094 11.918 20.912 23.334 32.488 34.18 43.964 41.19 96.562 72.652 156.114 93.82h-442.478v-640h832v268.624l-128-85.334v-55.29z" />
<glyph unicode="&#xea82;" d="M864 256c-45.16 0-85.92-18.738-115.012-48.83l-431.004 215.502c1.314 8.252 2.016 16.706 2.016 25.328s-0.702 17.076-2.016 25.326l431.004 215.502c29.092-30.090 69.852-48.828 115.012-48.828 88.366 0 160 71.634 160 160s-71.634 160-160 160-160-71.634-160-160c0-8.622 0.704-17.076 2.016-25.326l-431.004-215.504c-29.092 30.090-69.852 48.83-115.012 48.83-88.366 0-160-71.636-160-160 0-88.368 71.634-160 160-160 45.16 0 85.92 18.738 115.012 48.828l431.004-215.502c-1.312-8.25-2.016-16.704-2.016-25.326 0-88.368 71.634-160 160-160s160 71.632 160 160c0 88.364-71.634 160-160 160z" />
<glyph unicode="&#xeab1;" d="M512.008 947.358c-282.738 0-512.008-229.218-512.008-511.998 0-226.214 146.704-418.132 350.136-485.836 25.586-4.738 34.992 11.11 34.992 24.632 0 12.204-0.48 52.542-0.696 95.324-142.448-30.976-172.504 60.41-172.504 60.41-23.282 59.176-56.848 74.916-56.848 74.916-46.452 31.778 3.51 31.124 3.51 31.124 51.4-3.61 78.476-52.766 78.476-52.766 45.672-78.27 119.776-55.64 149.004-42.558 4.588 33.086 17.852 55.68 32.506 68.464-113.73 12.942-233.276 56.85-233.276 253.032 0 55.898 20.004 101.574 52.76 137.428-5.316 12.9-22.854 64.972 4.952 135.5 0 0 43.006 13.752 140.84-52.49 40.836 11.348 84.636 17.036 128.154 17.234 43.502-0.198 87.336-5.886 128.256-17.234 97.734 66.244 140.656 52.49 140.656 52.49 27.872-70.528 10.35-122.6 5.036-135.5 32.82-35.856 52.694-81.532 52.694-137.428 0-196.654-119.778-239.95-233.79-252.624 18.364-15.89 34.724-47.046 34.724-94.812 0-68.508-0.596-123.644-0.596-140.508 0-13.628 9.222-29.594 35.172-24.566 203.322 67.776 349.842 259.626 349.842 485.768 0 282.78-229.234 511.998-511.992 511.998z" />
<glyph unicode="&#xeab4;" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM816.056 143.944c-39.518-39.516-85.512-70.532-136.708-92.186-13.006-5.5-26.214-10.328-39.6-14.492v76.734c0 40.334-13.834 70-41.5 89 17.334 1.666 33.25 4 47.75 7s29.834 7.334 46 13 30.666 12.416 43.5 20.25 25.166 18 37 30.5 21.75 26.666 29.75 42.5 14.334 34.834 19 57 7 46.584 7 73.25c0 51.666-16.834 95.666-50.5 132 15.334 40 13.666 83.5-5 130.5l-12.5 1.5c-8.666 1-24.25-2.666-46.75-11s-47.75-22-75.75-41c-39.666 11-80.834 16.5-123.5 16.5-43 0-84-5.5-123-16.5-17.666 12-34.416 21.916-50.25 29.75s-28.5 13.166-38 16-18.334 4.584-26.5 5.25-13.416 0.834-15.75 0.5-4-0.666-5-1c-18.666-47.334-20.334-90.834-5-130.5-33.666-36.334-50.5-80.334-50.5-132 0-26.666 2.334-51.084 7-73.25s11-41.166 19-57 17.916-30 29.75-42.5 24.166-22.666 37-30.5 27.334-14.584 43.5-20.25 31.5-10 46-13 30.416-5.334 47.75-7c-27.334-18.666-41-48.334-41-89v-78.23c-15.098 4.494-29.98 9.804-44.6 15.988-51.194 21.654-97.188 52.67-136.706 92.186-39.516 39.518-70.534 85.512-92.186 136.708-22.398 52.958-33.756 109.262-33.756 167.348s11.358 114.39 33.758 167.35c21.654 51.194 52.67 97.188 92.186 136.706s85.512 70.534 136.706 92.186c52.96 22.4 109.264 33.758 167.35 33.758s114.39-11.358 167.35-33.758c51.196-21.654 97.19-52.67 136.708-92.186 39.516-39.516 70.532-85.512 92.186-136.706 22.398-52.96 33.756-109.264 33.756-167.35s-11.358-114.39-33.758-167.35c-21.654-51.194-52.67-97.19-92.186-136.706z" />
</font></defs></svg>

After

Width:  |  Height:  |  Size: 39 KiB

BIN
app/fonts/icons.ttf Executable file

Binary file not shown.

BIN
app/fonts/icons.woff Executable file

Binary file not shown.

View File

@@ -22,9 +22,9 @@
<meta name="theme-color" content="#000000"> <meta name="theme-color" content="#000000">
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' /> <meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
</head> </head>
<body ng-class="bodyClass"> <body ng-class="bodyClass" ng-click="bgClicked($event)">
<shipyard-header></shipyard-header> <shipyard-header></shipyard-header>
<div id="main" ui-view ng-click="bgClicked($event)"></div> <div id="main" ui-view></div>
<footer> <footer>
<div class="right"> <div class="right">
@@ -35,6 +35,7 @@
It is not endorsed by nor reflects the views or opinions of Frontier Developments and no employee of Frontier Developments was involved in the making of it. It is not endorsed by nor reflects the views or opinions of Frontier Developments and no employee of Frontier Developments was involved in the making of it.
</div> </div>
</footer> </footer>
<script src="lib.js" type="text/javascript"></script> <script src="lib.js" type="text/javascript"></script>
<script src="app.js" type="text/javascript"></script> <script src="app.js" type="text/javascript"></script>
</body> </body>

View File

@@ -55,21 +55,22 @@ angular.module('app').controller('OutfitController', ['$rootScope','$scope', '$s
*/ */
$scope.select = function(type, slot, e) { $scope.select = function(type, slot, e) {
e.stopPropagation(); e.stopPropagation();
if (e.srcElement.id) { var id = angular.element(e.srcElement).attr('cpid'); // Get component ID
if(type == 'h') { if (id) {
ship.use(slot, e.srcElement.id, Components.hardpoints(e.srcElement.id)); if (id == 'empty') {
} else if (type == 'c') {
ship.use(slot, e.srcElement.id, Components.common(ship.common.indexOf(slot), e.srcElement.id));
} else if (type == 'i') {
ship.use(slot, e.srcElement.id, Components.internal(e.srcElement.id));
} else if (type == 'b') {
ship.useBulkhead(e.srcElement.id);
} else {
ship.use(slot, null, null); ship.use(slot, null, null);
} else if(type == 'h') {
ship.use(slot, id, Components.hardpoints(id));
} else if (type == 'c') {
ship.use(slot, id, Components.common(ship.common.indexOf(slot), id));
} else if (type == 'i') {
ship.use(slot, id, Components.internal(id));
} else if (type == 'b') {
ship.useBulkhead(id);
} }
$scope.selectedSlot = null; $scope.selectedSlot = null;
$scope.code = Serializer.fromShip(ship); $scope.code = Serializer.fromShip(ship);
$state.go('outfit', {shipId: ship.id, code: $scope.code, bn: $scope.buildName}, {location:'replace', notify:false}); updateState();
} }
} }
@@ -80,7 +81,7 @@ angular.module('app').controller('OutfitController', ['$rootScope','$scope', '$s
if ($scope.buildName && $scope.savedCode) { if ($scope.buildName && $scope.savedCode) {
Serializer.toShip(ship, $scope.savedCode); // Repopulate with components from last save Serializer.toShip(ship, $scope.savedCode); // Repopulate with components from last save
$scope.code = $scope.savedCode; $scope.code = $scope.savedCode;
$state.go('outfit', {shipId: ship.id, code: $scope.savedCode, bn: $scope.buildName}, {location:'replace', notify:false}); updateState();
} }
}; };
@@ -89,11 +90,18 @@ angular.module('app').controller('OutfitController', ['$rootScope','$scope', '$s
* for this ship & with the exact name. * for this ship & with the exact name.
*/ */
$scope.saveBuild = function() { $scope.saveBuild = function() {
if($scope.buildName && $scope.code != $scope.savedCode) { if (!$scope.buildName) {
return;
}
// No change hav been made, i.e. save ship default build under a name
if (!$scope.code) {
$scope.code = Serializer.fromShip(ship);
}
// Only save if there a build name and a change has been made or the build has never been saved
if ($scope.code != $scope.savedCode) {
Persist.saveBuild(ship.id, $scope.buildName, $scope.code); Persist.saveBuild(ship.id, $scope.buildName, $scope.code);
$scope.savedCode = $scope.code; $scope.savedCode = $scope.code;
// Edge case TODO: comment more updateState();
$state.go('outfit', {shipId: ship.id, code: $scope.savedCode, bn: $scope.buildName}, {location:'replace', notify:false});
} }
} }
@@ -111,6 +119,22 @@ angular.module('app').controller('OutfitController', ['$rootScope','$scope', '$s
$scope.savedCode = Persist.getBuild(ship.id, $scope.buildName); $scope.savedCode = Persist.getBuild(ship.id, $scope.buildName);
} }
$scope.toggleCost = function(item) {
item.incCost = !item.incCost;
ship.updateTotals();
};
$scope.togglePwr = function(item) {
item.enabled = !item.enabled;
ship.updateTotals();
};
// Utilify functions
function updateState() {
$state.go('outfit', {shipId: ship.id, code: $scope.code, bn: $scope.buildName}, {location:'replace', notify:false});
}
// Event listeners
$rootScope.$on('keyup', function (e, keyEvent) { $rootScope.$on('keyup', function (e, keyEvent) {
// CTRL + S or CMD + S will override the default and save the build is possible // CTRL + S or CMD + S will override the default and save the build is possible
if (keyEvent.keycode == 83 && keyEvent.ctrlKey) { if (keyEvent.keycode == 83 && keyEvent.ctrlKey) {

View File

@@ -1,41 +1,68 @@
angular.module('app').directive('componentSelect', [ function() { angular.module('app').directive('componentSelect', function() {
// Generting the HTML in this manner is MUCH faster than using an angular template.
function appendGroup(list, opts, cid, mass) {
var prevClass = null, prevRating = null;
var count = Object.keys(opts).length;
for (id in opts) {
var o = opts[id];
list.push('<li class="', o.name? 'lc' : 'c');
if(o.class != prevClass && count > 6) list.push(' cl');
if (cid == id) list.push(' active');
list.push((o.maxmass && mass > o.maxmass)? ' disabled"' : '" cpid="', id, '">', o.class, o.rating);
if(o.mode) {
list.push('/' + o.mode);
if(o.missile) {
list.push(o.missile);
}
}
if(o.name) list.push(' ' + o.name);
list.push('</li>');
prevClass = o.class;
prevRating= o.rating;
}
}
return { return {
restrict: 'A', restrict: 'A',
scope:{ scope:{
opts: '=', // Component Options object opts: '=', // Component Options object
mass: '=' // Current ship mass groups: '=', // Groups of Component Options
mass: '=', // Current ship unladen mass
s: '=' // Current Slot
}, },
link: function(scope, element) { link: function(scope, element) {
var list = [], o, id; var list = [];
var cid = scope.s.id; // Slot's current component id
var component = scope.s.c; // Slot's Current Component (may be null/undefined)
var opts = scope.opts; var opts = scope.opts;
var groups = scope.groups;
var mass = scope.mass || 0; var mass = scope.mass || 0;
// Generting the HTML in this manner is MUCH faster than using an angular template.
for (id in opts) { if(groups) {
o = opts[id]; // At present time slots with grouped options (Hardpoints and Internal) can be empty
list.push('<li class="'); list.push('<div class="empty-c" cpid="empty">EMPTY</div>');
list.push(o.name? 'lc' : 'c'); for (g in groups) {
if (o.maxmass && mass > o.maxmass) { // Omit id if mass is exceeded making it 'disabled' var grp = groups[g];
list.push(' disabled"'); var grpCode = grp[Object.keys(grp)[0]].grp; // Nasty operation to get the grp property of the first/any single component
} else { list.push('<div id="', grpCode ,'" class="select-group">', g, '</div><ul>');
list.push('" id="'); appendGroup(list, grp, cid, mass);
list.push('</ul>');
} }
list.push(id); } else {
list.push('">'); list.push('<ul>');
list.push(o.class); appendGroup(list, opts, cid, mass);
list.push(o.rating); list.push('</ul>');
if(o.mode) {
list.push('/' + o.mode);
if(o.missile) {
list.push(o.missile);
}
}
if(o.name) {
list.push(' ' + o.name);
}
list.push('</li>');
} }
element.html('<ul>' + list.join('') + '</ul>'); element.html(list.join(''));
// If groups are present and a component is already selectd
if (groups && component && component.grp) {
var groupElement = angular.element(document.getElementById(component.grp));
var parentElem = element[0].parentElement;
parentElem.scrollTop = groupElement[0].offsetTop; // Scroll to currently selected group
}
} }
}; };
}]); });

View File

@@ -1,4 +1,4 @@
angular.module('app').directive('shipyardHeader', ['$rootScope', 'Persist', function ($rootScope, Persist) { angular.module('app').directive('shipyardHeader', ['lodash','$rootScope', 'Persist', function (_, $rootScope, Persist) {
return { return {
restrict: 'E', restrict: 'E',
@@ -10,15 +10,33 @@ angular.module('app').directive('shipyardHeader', ['$rootScope', 'Persist', func
scope.allBuilds = Persist.builds; scope.allBuilds = Persist.builds;
scope.bs = Persist.state; scope.bs = Persist.state;
// Insurance options and management here for now.
$rootScope.insurance = {
opts: [
{ name:'Standard', pct: 0.05 },
{ name:'Alpha', pct: 0.025 },
{ name:'Beta', pct: 0.035 }
]
}
var insIndex = _.findIndex($rootScope.insurance.opts, 'name', localStorage.getItem('insurance'));
$rootScope.insurance.current = $rootScope.insurance.opts[insIndex != -1? insIndex : 0];
// Close menus if a navigation change event occurs
$rootScope.$on('$stateChangeStart',function(){ $rootScope.$on('$stateChangeStart',function(){
scope.openedMenu = null; scope.openedMenu = null;
}); });
$rootScope.$on('close', function (e, keyEvent) { $rootScope.$on('close', function () {
scope.openedMenu = null; scope.openedMenu = null;
}); });
scope.openMenu = function (menu) { scope.updateInsurance = function(){
localStorage.setItem('insurance', $rootScope.insurance.current.name);
}
scope.openMenu = function (e, menu) {
e.stopPropagation();
if(menu == scope.openedMenu) { if(menu == scope.openedMenu) {
scope.openedMenu = null; scope.openedMenu = null;
return; return;

View File

@@ -1,28 +0,0 @@
angular.module('app').directive('costList', ['$rootScope', function ($r) {
return {
restrict: 'A',
scope: {
ship: '='
},
templateUrl: 'views/costs.html',
link: function (scope) {
scope.expanded = false;
scope.$r = $r;
scope.insuranceOptions = {
Alpha: 0.975,
Beta: 0.965,
Standard: 0.95
};
scope.insurance = scope.insuranceOptions.Standard;
scope.toggleExpand = function() {
scope.expanded = !scope.expanded;
}
scope.toggle = function(item) {
item.incCost = !item.incCost;
scope.ship.updateTotals();
};
}
};
}]);

View File

@@ -1,23 +0,0 @@
angular.module('app')
.directive('powerList', ['$rootScope', function ($r) {
return {
restrict: 'A',
scope: {
ship: '=ship'
},
templateUrl: 'views/power.html',
link: function (scope) {
scope.expanded = false;
scope.$r = $r;
scope.toggleExpand = function() {
scope.expanded = !scope.expanded;
}
scope.toggle = function(slot) {
slot.enabled = !slot.enabled;
scope.ship.updateTotals();
};
}
};
}]);

View File

@@ -1,52 +0,0 @@
angular.module('app').directive('shipRange', ['$rootScope','calcJumpRange', function ($r, calcJumpRange) {
return {
restrict: 'A',
scope:{
ship: '='
},
templateUrl: 'views/ship-range.html',
link: function(scope, element) {
scope.$r = $r;
scope.expanded = false;
var fsd = scope.ship.common[2].c;
scope.toggleExpand = function() {
scope.expanded = !scope.expanded;
}
function ranges(fsd, unladenMass, ladenMass) {
var ranges = [];
for(var m = unladenMass; m <= ladenMass; m++) {
ranges.push({x:m, y: calcJumpRange(m, fsd)});
}
return ranges;
}
//var fDist = d3.format(',.2f');
//scope.data = ranges(fsd, scope.ship.unladenMass, scope.ship.ladenMass);
/*scope.options = {
axes: {
x: {key: 'x', type: 'linear', ticks: 10},
y: {type: 'linear', ticks: 5, }
},
series: [
{y: 'y', color: '#FF8C0D', thickness: '2px', type: 'area', striped: false, label: 'Range'}
],
lineMode: 'basis',
tension: 0.7,
tooltip: {
mode: 'scrubber',
formatter: function(x, y, series) {
return fDist(y) + ' Light Years';
}
},
drawLegend: false,
drawDots: false,
columnsHGap: 5
};*/
}
};
}]);

View File

@@ -6,7 +6,7 @@ angular.module('app').directive('slotHardpoint', ['$rootScope', function ($r) {
size: '=', size: '=',
lbl: '=', lbl: '=',
}, },
templateUrl: 'views/slot-hardpoint.html', templateUrl: 'views/_slot-hardpoint.html',
link: function (scope) { link: function (scope) {
scope.$r = $r; scope.$r = $r;
} }

View File

@@ -6,7 +6,7 @@ angular.module('app').directive('slotInternal', ['$rootScope', function ($r) {
lbl: '=', lbl: '=',
opts: '=' opts: '='
}, },
templateUrl: 'views/slot-internal.html', templateUrl: 'views/_slot-internal.html',
link: function(scope) { link: function(scope) {
scope.$r = $r; scope.$r = $r;
} }

View File

@@ -15,7 +15,7 @@ angular.module('app').service('Serializer', ['lodash', function (_) {
_.map(ship.hardpoints, idToStr), _.map(ship.hardpoints, idToStr),
_.map(ship.internal, idToStr), _.map(ship.internal, idToStr),
]; ];
console.log('code',_.flatten(data).join(''));
return _.flatten(data).join(''); return _.flatten(data).join('');
}; };

View File

@@ -16,9 +16,9 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
for (p in properties) { this[p] = properties[p]; } // Copy all base properties from shipData for (p in properties) { this[p] = properties[p]; } // Copy all base properties from shipData
for (groupName in slots) { // Initialize all slots for (slotType in slots) { // Initialize all slots
var slotGroup = slots[groupName]; var slotGroup = slots[slotType];
var group = this[groupName] = []; // Initialize Slot group (Common, Hardpoints, Internal) var group = this[slotType] = []; // Initialize Slot group (Common, Hardpoints, Internal)
for(var i = 0; i < slotGroup.length; i++){ for(var i = 0; i < slotGroup.length; i++){
group.push({id: null, c: null, enabled: true, incCost: true, maxClass: slotGroup[i]}); group.push({id: null, c: null, enabled: true, incCost: true, maxClass: slotGroup[i]});
} }
@@ -115,10 +115,6 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
return sum; return sum;
} }
function findInternal(slots, group) {
}
Ship.prototype.useBulkhead = function(index) { Ship.prototype.useBulkhead = function(index) {
this.bulkheads.id = index; this.bulkheads.id = index;
this.bulkheads.c = DB.components.bulkheads[this.id][index]; this.bulkheads.c = DB.components.bulkheads[this.id][index];
@@ -145,7 +141,7 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength',
} }
} else { } else {
// Selected component is a Shield Generator // Selected component is a Shield Generator
if(component.group == 'sg') { if(component.grp == 'sg') {
// You can only have one shield Generator // You can only have one shield Generator
if (this.sgSI !== null && this.sgSI != slotIndex) { if (this.sgSI !== null && this.sgSI != slotIndex) {
// A shield generator is already selected in a different slot // A shield generator is already selected in a different slot

View File

@@ -44,7 +44,6 @@
url('fonts/sintony-bold-webfont.svg#sintonybold') format('svg'); url('fonts/sintony-bold-webfont.svg#sintonybold') format('svg');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }
@font-face { @font-face {
@@ -57,7 +56,6 @@
url('fonts/sintony-regular-webfont.svg#sintonyregular') format('svg'); url('fonts/sintony-regular-webfont.svg#sintonyregular') format('svg');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }
@font-face { @font-face {
@@ -70,7 +68,17 @@
url('fonts/eurocaps-webfont.svg#euro_capsregular') format('svg'); url('fonts/eurocaps-webfont.svg#euro_capsregular') format('svg');
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
}
@font-face {
font-family: 'icons';
src:url('fonts/icons.eot?-dwuzoa');
src:url('fonts/icons.eot?#iefix-dwuzoa') format('embedded-opentype'),
url('fonts/icons.woff?-dwuzoa') format('woff'),
url('fonts/icons.ttf?-dwuzoa') format('truetype'),
url('fonts/icons.svg?-dwuzoa#icons') format('svg');
font-weight: normal;
font-style: normal;
} }
@fStandard: 'eurocaps', Helvetica, sans-serif; @fStandard: 'eurocaps', Helvetica, sans-serif;

View File

@@ -14,6 +14,12 @@ header {
position: relative; position: relative;
z-index: 1; z-index: 1;
cursor: default; cursor: default;
&.r {
.menu-list {
right: 0;
}
}
} }
.menu-header { .menu-header {
@@ -37,14 +43,18 @@ header {
} }
.menu-list { .menu-list {
width: 250%; width: 25em;
font-family: @fStandard; font-family: @fStandard;
position: absolute; position: absolute;
margin-right: 1em;
padding: 0 0 1em 1em; padding: 0 0 1em 1em;
overflow: hidden; overflow: hidden;
background-color: @bgBlack; background-color: @bgBlack;
font-size: 0.8em; font-size: 0.8em;
&.sm {
width: 15em;
}
} }
ul { ul {

View File

@@ -31,28 +31,407 @@
height: 3em; height: 3em;
} }
.mount-T {
background-image: url(images/icons/mount-t.svg);
}
.mount-F {
background-image: url(images/icons/mount-f.svg);
}
.mount-G {
background-image: url(images/icons/mount-g.svg);
}
.shipyard { .shipyard {
background-image: url(images/icons/logo.svg); background-image: url(images/icons/logo.svg);
} }
.github {
background-image: url(images/icons/github-mark.svg);
}
.reddit { .reddit {
background-image: url(images/icons/reddit.svg); background-image: url(images/icons/reddit.svg);
} }
.elite-dangerous {
background-image: url(images/ed-logo-sm.png); .ico-l {
font-size: 2em;
}
.ico-xl {
font-size: 3em;
}
.ico {
font-family: 'icons';
font-variant: normal;
text-transform: none;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ico-coin-dollar:before {
content: "\e93b";
}
.ico-download:before {
content: "\e960";
}
.ico-upload:before {
content: "\e961";
}
.ico-floppy-disk:before {
content: "\e962";
}
.ico-spinner4:before {
content: "\e97d";
}
.ico-spinner11:before {
content: "\e984";
}
.ico-enlarge:before {
content: "\e989";
}
.ico-shrink:before {
content: "\e98a";
}
.ico-enlarge2:before {
content: "\e98b";
}
.ico-shrink2:before {
content: "\e98c";
}
.ico-wrench:before {
content: "\e991";
}
.ico-equalizer:before {
content: "\e992";
}
.ico-equalizer2:before {
content: "\e993";
}
.ico-cog:before {
content: "\e994";
}
.ico-cogs:before {
content: "\e995";
}
.ico-hammer:before {
content: "\e996";
}
.ico-pie-chart:before {
content: "\e99a";
}
.ico-stats-dots:before {
content: "\e99b";
}
.ico-stats-bars:before {
content: "\e99c";
}
.ico-stats-bars2:before {
content: "\e99d";
}
.ico-rocket:before {
content: "\e9a5";
}
.ico-meter:before {
content: "\e9a6";
}
.ico-meter2:before {
content: "\e9a7";
}
.ico-bin:before {
content: "\e9ac";
}
.ico-target:before {
content: "\e9b3";
}
.ico-shield:before {
content: "\e9b4";
}
.ico-power:before {
content: "\e9b5";
}
.ico-switch:before {
content: "\e9b6";
}
.ico-power-cord:before {
content: "\e9b7";
}
.ico-clipboard:before {
content: "\e9b8";
}
.ico-tree:before {
content: "\e9bc";
}
.ico-menu:before {
content: "\e9bd";
}
.ico-menu2:before {
content: "\e9be";
}
.ico-menu3:before {
content: "\e9bf";
}
.ico-menu4:before {
content: "\e9c0";
}
.ico-cloud:before {
content: "\e9c1";
}
.ico-cloud-download:before {
content: "\e9c2";
}
.ico-cloud-upload:before {
content: "\e9c3";
}
.ico-cloud-check:before {
content: "\e9c4";
}
.ico-link:before {
content: "\e9cb";
}
.ico-warning:before {
content: "\ea07";
}
.ico-notification:before {
content: "\ea08";
}
.ico-question:before {
content: "\ea09";
}
.ico-plus:before {
content: "\ea0a";
}
.ico-minus:before {
content: "\ea0b";
}
.ico-info:before {
content: "\ea0c";
}
.ico-cancel-circle:before {
content: "\ea0d";
}
.ico-blocked:before {
content: "\ea0e";
}
.ico-cross:before {
content: "\ea0f";
}
.ico-checkmark:before {
content: "\ea10";
}
.ico-checkmark2:before {
content: "\ea11";
}
.ico-loop:before {
content: "\ea2d";
}
.ico-loop2:before {
content: "\ea2e";
}
.ico-infinite:before {
content: "\ea2f";
}
.ico-shuffle:before {
content: "\ea30";
}
.ico-arrow-up-left:before {
content: "\ea31";
}
.ico-arrow-up:before {
content: "\ea32";
}
.ico-arrow-up-right:before {
content: "\ea33";
}
.ico-arrow-right:before {
content: "\ea34";
}
.ico-arrow-down-right:before {
content: "\ea35";
}
.ico-arrow-down:before {
content: "\ea36";
}
.ico-arrow-down-left:before {
content: "\ea37";
}
.ico-arrow-left:before {
content: "\ea38";
}
.ico-arrow-up-left2:before {
content: "\ea39";
}
.ico-arrow-up2:before {
content: "\ea3a";
}
.ico-arrow-up-right2:before {
content: "\ea3b";
}
.ico-arrow-right2:before {
content: "\ea3c";
}
.ico-arrow-down-right2:before {
content: "\ea3d";
}
.ico-arrow-down2:before {
content: "\ea3e";
}
.ico-arrow-down-left2:before {
content: "\ea3f";
}
.ico-arrow-left2:before {
content: "\ea40";
}
.ico-circle-up:before {
content: "\ea41";
}
.ico-circle-right:before {
content: "\ea42";
}
.ico-circle-down:before {
content: "\ea43";
}
.ico-circle-left:before {
content: "\ea44";
}
.ico-tab:before {
content: "\ea45";
}
.ico-move-up:before {
content: "\ea46";
}
.ico-move-down:before {
content: "\ea47";
}
.ico-sort-alpha-asc:before {
content: "\ea48";
}
.ico-sort-alpha-desc:before {
content: "\ea49";
}
.ico-sort-numeric-asc:before {
content: "\ea4a";
}
.ico-sort-numberic-desc:before {
content: "\ea4b";
}
.ico-sort-amount-asc:before {
content: "\ea4c";
}
.ico-sort-amount-desc:before {
content: "\ea4d";
}
.ico-checkbox-checked:before {
content: "\ea52";
}
.ico-checkbox-unchecked:before {
content: "\ea53";
}
.ico-radio-checked:before {
content: "\ea54";
}
.ico-radio-checked2:before {
content: "\ea55";
}
.ico-radio-unchecked:before {
content: "\ea56";
}
.ico-table:before {
content: "\ea70";
}
.ico-table2:before {
content: "\ea71";
}
.ico-share:before {
content: "\ea7d";
}
.ico-share2:before {
content: "\ea82";
}
.ico-github:before {
content: "\eab1";
}
.ico-github4:before {
content: "\eab4";
} }

View File

@@ -69,11 +69,3 @@ u { // Unit (Mj, Km, etc)
cursor: pointer; cursor: pointer;
} }
.expandable {
display: none;
&.expanded {
display: block;
}
}

View File

@@ -31,6 +31,9 @@
cursor: not-allowed; cursor: not-allowed;
color: @disabled; color: @disabled;
} }
&.active {
color: @secondary;
}
} }
@optionSpacing: 1.8em; @optionSpacing: 1.8em;
@@ -48,12 +51,12 @@
&.hardpoint { &.hardpoint {
.c { .c {
width: 4em; width: 4em;
&:nth-child(3n + 1) { /* &:nth-child(3n + 1) {
clear: left; clear: left;
} }
&:nth-child(5n +1) { &:nth-child(5n +1) {
clear: none; clear: none;
} }*/
} }
} }
@@ -71,13 +74,16 @@
border:1px solid @warning; border:1px solid @warning;
} }
&:nth-child(5n +1) { /*&:nth-child(5n +1) {
clear: left; clear: left;
} }*/
&.disabled { &.disabled {
border:1px solid @disabled; border:1px solid @disabled;
} }
&.active {
border:1px solid @secondary;
}
} }
ul { ul {
@@ -87,6 +93,4 @@
list-style: none; list-style: none;
overflow: hidden; overflow: hidden;
} }
} }

View File

@@ -2,15 +2,15 @@
<div class="l" style="margin-right: 2em;"><a ui-sref="shipyard" class="icon icon-xl shipyard"></a></div> <div class="l" style="margin-right: 2em;"><a ui-sref="shipyard" class="icon icon-xl shipyard"></a></div>
<div class="l menu"> <div class="l menu">
<div class="menu-header" ng-class="{selected: openedMenu=='s'}" ng-click="openMenu('s')">Ships</div> <div class="menu-header" ng-class="{selected: openedMenu=='s'}" ng-click="openMenu($event,'s')">Ships</div>
<div class="menu-list" ng-if="openedMenu=='s'"> <div class="menu-list sm" ng-if="openedMenu=='s'">
<a class="block" ng-repeat="(shipId,ship) in ships" ui-sref-active="active" ui-sref="outfit({shipId:shipId, code:null, bn:null})">{{::ship.properties.name}}</a> <a class="block" ng-repeat="(shipId,ship) in ships" ui-sref-active="active" ui-sref="outfit({shipId:shipId, code:null, bn:null})">{{::ship.properties.name}}</a>
</div> </div>
</div> </div>
<div class="l menu"> <div class="l menu">
<div class="menu-header" ng-class="{selected: openedMenu=='b', disabled: !bs.hasBuilds}" ng-click="openMenu('b')">Builds</div> <div class="menu-header" ng-class="{selected: openedMenu=='b', disabled: !bs.hasBuilds}" ng-click="openMenu($event,'b')">Builds</div>
<div class="menu-list" ng-if="openedMenu=='b'"> <div class="menu-list" ng-if="openedMenu=='b'" ng-click="$event.stopPropagation();">
<ul class="l" ng-repeat="(shipId,builds) in allBuilds"> <ul class="l" ng-repeat="(shipId,builds) in allBuilds">
{{ships[shipId].properties.name}} {{ships[shipId].properties.name}}
<li ng-repeat="(name, build) in builds"> <li ng-repeat="(name, build) in builds">
@@ -20,6 +20,23 @@
</div> </div>
</div> </div>
<div class="r menu">
<div class="menu-header" ng-class="{selected: openedMenu=='settings'}" ng-click="openMenu($event,'settings')">
<span class="ico ico-cog"></span>
</div>
<div class="menu-list sm" ng-if="openedMenu=='settings'" ng-click="$event.stopPropagation();">
<ul class="">
Insurance
<li><select ng-model="insurance.current" ng-options="ins.name for (i,ins) in insurance.opts" ng-change="updateInsurance()"></select></li>
</ul>
<ul class="">
Builds
<li>Export All</li>
<li>Import</li>
</ul>
</div>
</div>
<div class="r"> <div class="r">
<a class="icon icon-xl reddit" href="#" target="_blank" title="Reddit Thread"></a> <a class="icon icon-xl reddit" href="#" target="_blank" title="Reddit Thread"></a>
</div> </div>

View File

@@ -3,17 +3,15 @@
<div ng-if="hp.c"> <div ng-if="hp.c">
<div class="l">{{hp.c.name || lbl}}</div><div class="r">{{hp.c.class}}{{hp.c.rating}}<span ng-if="hp.c.mode">/{{hp.c.mode}}{{hp.c.missile}}</span></div> <div class="l">{{hp.c.name || lbl}}</div><div class="r">{{hp.c.class}}{{hp.c.rating}}<span ng-if="hp.c.mode">/{{hp.c.mode}}{{hp.c.missile}}</span></div>
<div class="cb"> <div class="cb">
<div class="cb meters" ng-if="hp.c.damage" > <div class="l" ng-if="hp.c.damage">DMG: {{hp.c.damage}}</div>
<div class="l">Damage: {{hp.c.damage}}</div> <div class="l" ng-if="hp.c.dps">DPS: {{hp.c.dps}}</div>
<div class="l">DPS: {{hp.c.dps}}</div> <div class="l" ng-if="hp.c.thermload">T-Load: {{hp.c.thermload}}</div>
<div class="l">T-Load: {{hp.c.thermload}}</div> <div class="l" ng-if="hp.c.type">Type: {{hp.c.type}}</div>
</div>
<div class="l" ng-if="hp.c.ammo">Ammo: {{$r.fCrd(hp.c.clip)}}/{{$r.fCrd(hp.c.ammo)}}</div>
<div class="l" ng-if="hp.c.rof">ROF: {{hp.c.rof}}<u>/s</u></div> <div class="l" ng-if="hp.c.rof">ROF: {{hp.c.rof}}<u>/s</u></div>
<div class="l" ng-if="hp.c.armourpen">Pen: {{hp.c.armourpen}}</div> <div class="l" ng-if="hp.c.armourpen">Pen: {{hp.c.armourpen}}</div>
<div class="l" ng-if="hp.c.type">Type: {{hp.c.type}}</div>
<div class="l" ng-if="hp.c.shieldmul">+{{$r.fRPct(hp.c.shieldmul)}}</div> <div class="l" ng-if="hp.c.shieldmul">+{{$r.fRPct(hp.c.shieldmul)}}</div>
<div class="l" ng-if="hp.c.range">{{hp.c.range}} <u>KM</u></div> <div class="l" ng-if="hp.c.range">{{hp.c.range}} <u>KM</u></div>
<div class="l" ng-if="hp.c.ammo">Ammo: {{$r.fCrd(hp.c.clip)}}/{{$r.fCrd(hp.c.ammo)}}</div>
<div class="r">{{hp.c.mass}} <u>T</u></div> <div class="r">{{hp.c.mass}} <u>T</u></div>
</div> </div>
</div> </div>

View File

@@ -1,29 +0,0 @@
<div class="header toggle" ng-click="toggleExpand()">Costs</div>
<div class="expandable items" ng-class="{expanded: expanded}">
<div class="item" ng-class="{enabled:ship.incCost}" ng-click="toggle(ship)">
<div class="lbl">{{ship.name}}</div><div class="val">{{$r.fCrd(ship.cost)}}</div>
</div>
<div class="item" ng-class="{enabled:ship.bulkheads.incCost}" ng-click="toggle(ship.bulkheads)" ng-if="ship.bulkheads.c.cost">
<div class="lbl">{{ship.bulkheads.c.name}}</div><div class="val">{{$r.fCrd(ship.bulkheads.c.cost)}}</div>
</div>
<div ng-repeat="c in ship.common" ng-if="c.c.cost" class="item common" ng-class="{enabled:c.incCost}" ng-click="toggle(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{$r.CArr[$index]}}</div><div class="val">{{$r.fCrd(c.c.cost)}}</div>
</div>
<div ng-repeat="c in ship.hardpoints" ng-if="c.c.cost" class="item hardpoints" ng-class="{enabled:c.incCost}" ng-click="toggle(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{c.c.name || $r.hgMap[c.c.grp]}}</div><div class="val">{{$r.fCrd(c.c.cost)}}</div>
</div>
<div ng-repeat="c in ship.internal" ng-if="c.c.cost" class="item internal" ng-class="{enabled:c.incCost}" ng-click="toggle(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{c.c.name || $r.igMap[c.c.group]}}</div><div class="val">{{$r.fCrd(c.c.cost)}}</div>
</div>
</div>
<div class="summary toggle" ng-click="toggleExpand()">
<div class="item">
<div class="lbl">Total</div>
<div class="val">{{$r.fCrd(ship.totalCost)}} <u>CR</u></div>
</div>
<div class="item">
<div class="lbl">Insurance</div>
<div class="val">{{$r.fCrd(ship.totalCost * (1-insurance))}} <u>CR</u></div>
</div>
</div>

View File

@@ -12,7 +12,7 @@
<div>Browser:<br>{{browser}}</div> <div>Browser:<br>{{browser}}</div>
<div ng-if="path" >Path:<br>{{path}}</div> <div ng-if="path" >Path:<br>{{path}}</div>
<div ng-if="type">Error:<br>{{type}}</div> <div ng-if="type">Error:<br>{{type}}</div>
<div ng-if="errorMessage">Message:<br>{{errorMessage}}</div> <div ng-if="errorMessage">Message:<pre>{{errorMessage}}</pre></div>
<div ng-if="details">Details:<br><pre>{{details}}<pre></div> <div ng-if="details">Details:<br><pre>{{details}}<pre></div>
</div> </div>
</div> </div>

View File

@@ -4,11 +4,8 @@
<div class="slot" ng-repeat="h in ship.hardpoints" ng-click="selectSlot($event, h)" ng-class="{selected: selectedSlot==h}"> <div class="slot" ng-repeat="h in ship.hardpoints" ng-click="selectSlot($event, h)" ng-class="{selected: selectedSlot==h}">
<div slot-hardpoint class="details" hp="h" size="HPC[h.maxClass]" lbl="hgMap[h.c.grp]"></div> <div slot-hardpoint class="details" hp="h" size="HPC[h.maxClass]" lbl="hgMap[h.c.grp]"></div>
<div class="select" ng-class="{hardpoint: h.maxClass > 0}" ng-if="selectedSlot==h" ng-click="select('h',h,$event)"> <div class="select" ng-class="{hardpoint: h.maxClass > 0}" ng-if="selectedSlot==h" ng-click="select('h',h,$event)">
<div class="empty-c" id="empty" ng-click="select(null, h, $event)">EMPTY</div> <div component-select s="h" groups="availCS.getHps(h.maxClass)"></div>
<div ng-repeat="(grp, data) in availCS.getHps(h.maxClass)"> </div>
<div class="select-group">{{grp}}</div>
<div component-select opts="data"></div>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -23,11 +20,11 @@
<div class="r cr">{{ship.bulkheads.c.mass}} <u>T</u></div> <div class="r cr">{{ship.bulkheads.c.mass}} <u>T</u></div>
</div> </div>
<div class="select" ng-if="selectedSlot==ship.bulkheads" ng-click="select('b',ship.bulkheads,$event)"><ul> <div class="select" ng-if="selectedSlot==ship.bulkheads" ng-click="select('b',ship.bulkheads,$event)"><ul>
<li class="lc" id="0">Lightweight Alloy</li> <li class="lc" ng-class="{active: ship.bulkheads.id=='0'}" cpid="0">Lightweight Alloy</li>
<li class="lc" id="1">Reinforced Alloy</li> <li class="lc" ng-class="{active: ship.bulkheads.id=='1'}" cpid="1">Reinforced Alloy</li>
<li class="lc" id="2">Military Grade Composite</li> <li class="lc" ng-class="{active: ship.bulkheads.id=='2'}" cpid="2">Military Grade Composite</li>
<li class="lc" id="3">Mirrored Surface Composite</li> <li class="lc" ng-class="{active: ship.bulkheads.id=='3'}" cpid="3">Mirrored Surface Composite</li>
<li class="lc" id="4">Reactive Surface Composite</li> <li class="lc" ng-class="{active: ship.bulkheads.id=='4'}" cpid="4">Reactive Surface Composite</li>
</ul></div> </ul></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, pp)" ng-class="{selected: selectedSlot==pp}"> <div class="slot" ng-click="selectSlot($event, pp)" ng-class="{selected: selectedSlot==pp}">
@@ -40,7 +37,7 @@
<div class="l">Power: {{pp.c.pGen}} <u>MW</span></div> <div class="l">Power: {{pp.c.pGen}} <u>MW</span></div>
<div class="r">{{pp.c.mass}} <u><u>T</u></span></div> <div class="r">{{pp.c.mass}} <u><u>T</u></span></div>
</div> </div>
<div component-select class="select" opts="availCS.common[0]" ng-if="selectedSlot==pp" ng-click="select('c',pp,$event)"></div> <div component-select class="select" s="pp" opts="availCS.common[0]" ng-if="selectedSlot==pp" ng-click="select('c',pp,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, th)" ng-class="{selected: selectedSlot==th}"> <div class="slot" ng-click="selectSlot($event, th)" ng-class="{selected: selectedSlot==th}">
<div class="details"> <div class="details">
@@ -52,7 +49,7 @@
<div class="l">Max: {{th.c.maxmass}} <u>T</u></div> <div class="l">Max: {{th.c.maxmass}} <u>T</u></div>
<div class="r">{{th.c.mass}} <u>T</u></div> <div class="r">{{th.c.mass}} <u>T</u></div>
</div> </div>
<div component-select class="select" mass="ship.unladenMass" opts="availCS.common[1]" ng-if="selectedSlot==th" ng-click="select('c',th,$event)"></div> <div component-select class="select" s="th" mass="ship.unladenMass" opts="availCS.common[1]" ng-if="selectedSlot==th" ng-click="select('c',th,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, fsd)" ng-class="{selected: selectedSlot==fsd}"> <div class="slot" ng-click="selectSlot($event, fsd)" ng-class="{selected: selectedSlot==fsd}">
<div class="details"> <div class="details">
@@ -64,7 +61,7 @@
<div class="l">Max Fuel: {{fsd.c.maxfuel}} <u>T</u></div> <div class="l">Max Fuel: {{fsd.c.maxfuel}} <u>T</u></div>
<div class="r cr">{{fsd.c.mass}} <u>T</u></div> <div class="r cr">{{fsd.c.mass}} <u>T</u></div>
</div> </div>
<div component-select class="select" opts="availCS.common[2]" ng-if="selectedSlot==fsd" ng-click="select('c',fsd,$event)"></div> <div component-select class="select" s="fsd" opts="availCS.common[2]" ng-if="selectedSlot==fsd" ng-click="select('c',fsd,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, ls)" ng-class="{selected: selectedSlot==ls}"> <div class="slot" ng-click="selectSlot($event, ls)" ng-class="{selected: selectedSlot==ls}">
<div class="details"> <div class="details">
@@ -75,7 +72,7 @@
<div class="l">Time: {{fTime(ls.c.time)}}</div> <div class="l">Time: {{fTime(ls.c.time)}}</div>
<div class="r cr">{{ls.c.mass}} <u>T</u></div> <div class="r cr">{{ls.c.mass}} <u>T</u></div>
</div> </div>
<div component-select class="select" opts="availCS.common[3]" ng-if="selectedSlot==ls" ng-click="select('c',ls,$event)"></div> <div component-select class="select" s="ls" opts="availCS.common[3]" ng-if="selectedSlot==ls" ng-click="select('c',ls,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, pd)" ng-class="{selected: selectedSlot==pd}"> <div class="slot" ng-click="selectSlot($event, pd)" ng-class="{selected: selectedSlot==pd}">
<div class="details"> <div class="details">
@@ -88,7 +85,7 @@
<div class="l">Eng: {{pd.c.enginecapacity}} <u>Mj</u> {{pd.c.enginerecharge}}<u>Mj/s</u></div> <div class="l">Eng: {{pd.c.enginecapacity}} <u>Mj</u> {{pd.c.enginerecharge}}<u>Mj/s</u></div>
<div class="r cr">{{pd.c.mass}} <u>T</u></div> <div class="r cr">{{pd.c.mass}} <u>T</u></div>
</div> </div>
<div component-select class="select" opts="availCS.common[4]" ng-if="selectedSlot==pd" ng-click="select('c',pd,$event)"></div> <div component-select class="select" s="pd" opts="availCS.common[4]" ng-if="selectedSlot==pd" ng-click="select('c',pd,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, ss)" ng-class="{selected: selectedSlot==ss}"> <div class="slot" ng-click="selectSlot($event, ss)" ng-class="{selected: selectedSlot==ss}">
<div class="details"> <div class="details">
@@ -99,7 +96,7 @@
<div class="l">{{ss.c.range}} <u>KM</u></div> <div class="l">{{ss.c.range}} <u>KM</u></div>
<div class="r cr">{{ss.c.mass}} <u>T</u></div> <div class="r cr">{{ss.c.mass}} <u>T</u></div>
</div> </div>
<div component-select class="select" opts="availCS.common[5]" ng-if="selectedSlot==ss" ng-click="select('c',ss,$event)"></div> <div component-select class="select" s="ss" opts="availCS.common[5]" ng-if="selectedSlot==ss" ng-click="select('c',ss,$event)"></div>
</div> </div>
<div class="slot" ng-click="selectSlot($event, ft)" ng-class="{selected: selectedSlot==ft}"> <div class="slot" ng-click="selectSlot($event, ft)" ng-class="{selected: selectedSlot==ft}">
<div class="details"> <div class="details">
@@ -108,20 +105,16 @@
<div class="r">{{ft.id}}</div> <div class="r">{{ft.id}}</div>
<div class="r cr">{{ft.c.capacity}} <u>T</u></div> <div class="r cr">{{ft.c.capacity}} <u>T</u></div>
</div> </div>
<div component-select class="select" opts="availCS.common[6]" ng-if="selectedSlot==ft" ng-click="select('c',ft,$event)"></div> <div component-select class="select" s="ft" opts="availCS.common[6]" ng-if="selectedSlot==ft" ng-click="select('c',ft,$event)"></div>
</div> </div>
</div> </div>
<div id="internal" class="slot-group"> <div id="internal" class="slot-group">
<h1>Internal Compartments</h1> <h1>Internal Compartments</h1>
<div class="slot" ng-repeat="i in ship.internal" ng-click="selectSlot($event, i)" ng-class="{selected: selectedSlot==i}"> <div class="slot" ng-repeat="i in ship.internal" ng-click="selectSlot($event, i)" ng-class="{selected: selectedSlot==i}">
<div slot-internal class="details" slot="i" lbl="igMap[i.c.group]"></div> <div slot-internal class="details" slot="i" lbl="igMap[i.c.grp]"></div>
<div class="select" ng-if="selectedSlot==i" ng-click="select('i',i,$event)"> <div class="select" ng-if="selectedSlot==i" ng-click="select('i',i,$event)">
<div class="empty-c" id="empty" ng-click="select(null, i, $event)">EMPTY</div> <div component-select s="i" groups="availCS.getInts(i.maxClass)"></div>
<div ng-repeat="(grp, data) in availCS.getInts(i.maxClass)">
<div class="select-group">{{grp}}</div>
<div component-select opts="data"></div>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -131,12 +124,13 @@
<h1 ng-bind="ship.name"></h1> <h1 ng-bind="ship.name"></h1>
<div id="build"> <div id="build">
<input ng-model="buildName" ng-change="bnChange()" placeholder="Enter Build Name" /> <input ng-model="buildName" ng-change="bnChange()" placeholder="Enter Build Name" />
<button ng-click="saveBuild()" ng-disabled="!buildName && code == savedCode">Save</button> <button ng-click="saveBuild()" ng-disabled="!buildName || savedCode && code == savedCode">Save</button>
<button ng-click="reloadBuild()" ng-disabled="!savedCode && code == savedCode">Reload</button> <button ng-click="reloadBuild()" ng-disabled="!savedCode || code == savedCode">Reload</button>
<button ng-click="deleteBuild()" ng-disabled="!savedCode">Delete</button> <button ng-click="deleteBuild()" ng-disabled="!savedCode">Delete</button>
<button ui-sref="outfit({shipId: ship.id,code:null})" ng-disabled="!code">Reset</button> <button ui-sref="outfit({shipId: ship.id,code:null, bn: buildName})" ng-disabled="!code">Reset</button>
</div> </div>
</div> </div>
<div class="list"> <div class="list">
<div class="header">Maneuverability</div> <div class="header">Maneuverability</div>
<div class="summary"> <div class="summary">
@@ -145,6 +139,7 @@
<div class="item"><div class="lbl">Agility</div><div class="val">{{ship.agility}} / 10</div></div> <div class="item"><div class="lbl">Agility</div><div class="val">{{ship.agility}} / 10</div></div>
</div> </div>
</div> </div>
<div class="list"> <div class="list">
<div class="header">Shields</div> <div class="header">Shields</div>
<div class="summary"> <div class="summary">
@@ -155,6 +150,7 @@
<div class="item"><div class="lbl">Multiplier</div><div class="val">{{fRPct(ship.shieldMultiplier)}}</div></div> <div class="item"><div class="lbl">Multiplier</div><div class="val">{{fRPct(ship.shieldMultiplier)}}</div></div>
</div> </div>
</div> </div>
<div class="list"> <div class="list">
<div class="header">Armor</div> <div class="header">Armor</div>
<div class="summary"> <div class="summary">
@@ -163,6 +159,7 @@
<div class="item"><div class="lbl">Base</div><div class="val">{{ship.armour}}</div></div> <div class="item"><div class="lbl">Base</div><div class="val">{{ship.armour}}</div></div>
</div> </div>
</div> </div>
<div class="list"> <div class="list">
<div class="header">Mass</div> <div class="header">Mass</div>
<div class="summary"> <div class="summary">
@@ -171,7 +168,46 @@
<div class="item"><div class="lbl">Unladen</div><div class="val">{{fRound(ship.unladenMass)}} <u>T</u></div></div> <div class="item"><div class="lbl">Unladen</div><div class="val">{{fRound(ship.unladenMass)}} <u>T</u></div></div>
</div> </div>
</div> </div>
<div class="list" power-list ship="ship"></div>
<div class="list" ship="ship">
<div class="header toggle" ng-click="powerExp = !powerExp">Power Use</div>
<div class="items" ng-if="powerExp">
<div ng-if="pp.c.pGen" class="item common enabled untoggleable">
<div class="lbl">{{pp.c.class}}{{pp.c.rating}} Power Plant</div><div class="val">{{fPwr(pp.c.pGen)}}</div>
</div>
<div ng-repeat="c in ship.common" ng-if="c.c.power" class="item common" ng-class="{enabled:c.enabled, consumer:c.c.power}" ng-click="togglePwr(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{CArr[$index]}}</div><div class="val">{{fPwr(c.c.power)}}</div>
</div>
<div class="item common consumer" ng-class="{enabled:ship.cargoScoop.enabled}" ng-click="togglePwr(ship.cargoScoop)">
<div class="lbl">1H Cargo Scoop</div><div class="val">{{fPwr(ship.cargoScoop.c.power)}}</div>
</div>
<div ng-repeat="c in ship.hardpoints" ng-if="c.c.power" class="item hardpoints" ng-class="{enabled:c.enabled, consumer:c.c.power}" ng-click="togglePwr(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{c.c.name || hgMap[c.c.grp]}}</div><div class="val">{{fPwr(c.c.power)}}</div>
</div>
<div ng-repeat="c in ship.internal" ng-if="c.c.power" class="item internal" ng-class="{enabled:c.enabled, consumer:c.c.power}" ng-click="togglePwrtogglePwr(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{c.c.name || igMap[c.c.grp]}}</div><div class="val">{{fPwr(c.c.power)}}</div>
</div>
</div>
<div class="summary toggle" ng-click="powerExp = !powerExp">
<div class="item">
<div class="lbl">Available</div>
<div class="val">{{fPwr(ship.powerAvailable)}} <u>MW</u></div>
</div>
<div class="item">
<div class="lbl">Deployed</div>
<div class="val">{{fPwr(ship.powerDeployed)}} <u>MW</u> ({{fPct(ship.powerDeployed/ship.powerAvailable)}})</div>
</div>
<div class="item">
<div class="lbl">Retracted</div>
<div class="val">{{fPwr(ship.powerRetracted)}} <u>MW</u> ({{fPct(ship.powerRetracted/ship.powerAvailable)}})</div>
</div>
</div>
</div>
<div class="list"> <div class="list">
<div class="header">Capacity</div> <div class="header">Capacity</div>
<div class="summary"> <div class="summary">
@@ -179,8 +215,55 @@
<div class="item"><div class="lbl">Fuel</div><div class="val">{{fRound(ship.fuelCapacity)}} <u>T</u></div></div> <div class="item"><div class="lbl">Fuel</div><div class="val">{{fRound(ship.fuelCapacity)}} <u>T</u></div></div>
</div> </div>
</div> </div>
<div class="list" ship-range ship="ship"></div>
<div class="list" cost-list ship="ship"></div> <div class="list">
<div class="header toggle" ng-click="rangeExp = !rangeExp">Jump Range</div>
<div class="items" ng-if="rangeExp">
<!---<linechart data="data" options="options" mode="" width="" height=""></linechart>/-->
Stuff!
</div>
<div class="summary toggle" ng-click="rangeExp = !rangeExp">
<div class="item">
<div class="lbl">Laden</div>
<div class="val">{{fRound(ship.ladenJumpRange)}} <u>LY</u></div>
</div>
<div class="item">
<div class="lbl">Unladen</div>
<div class="val">{{fRound(ship.unladenJumpRange)}} <u>LY</u></div>
</div>
</div>
</div>
<div class="list">
<div class="header toggle" ng-click="costsExpanded = !costsExpanded">Costs</div>
<div class="items" ng-if="costsExpanded">
<div class="item" ng-class="{enabled:ship.incCost}" ng-click="toggleCost()">
<div class="lbl">{{ship.name}}</div><div class="val">{{fCrd(ship.cost)}}</div>
</div>
<div class="item" ng-class="{enabled:ship.bulkheads.incCost}" ng-click="toggleCost()" ng-if="ship.bulkheads.c.cost">
<div class="lbl">{{ship.bulkheads.c.name}}</div><div class="val">{{fCrd(ship.bulkheads.c.cost)}}</div>
</div>
<div ng-repeat="c in ship.common" ng-if="c.c.cost" class="item common" ng-class="{enabled:c.incCost}" ng-click="toggleCost(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{CArr[$index]}}</div><div class="val">{{fCrd(c.c.cost)}}</div>
</div>
<div ng-repeat="c in ship.hardpoints" ng-if="c.c.cost" class="item hardpoints" ng-class="{enabled:c.incCost}" ng-click="toggleCost(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{c.c.name || hgMap[c.c.grp]}}</div><div class="val">{{fCrd(c.c.cost)}}</div>
</div>
<div ng-repeat="c in ship.internal" ng-if="c.c.cost" class="item internal" ng-class="{enabled:c.incCost}" ng-click="toggleCost(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{c.c.name || igMap[c.c.grp]}}</div><div class="val">{{fCrd(c.c.cost)}}</div>
</div>
</div>
<div class="summary toggle" ng-click="costsExpanded = !costsExpanded">
<div class="item">
<div class="lbl">Total</div>
<div class="val">{{fCrd(ship.totalCost)}} <u>CR</u></div>
</div>
<div class="item">
<div class="lbl">Insurance</div>
<div class="val">{{fCrd(ship.totalCost * insurance.current.pct)}} <u>CR</u></div>
</div>
</div>
</div>
</div> </div>
</div> </div>

View File

@@ -3,8 +3,8 @@
<h2 ng-bind="s.properties.name"></h2> <h2 ng-bind="s.properties.name"></h2>
<small ng-bind="s.properties.manufacturer"></small> <small ng-bind="s.properties.manufacturer"></small>
<div class="subtitle"> <div class="subtitle">
<div class="purpose" ng-bind="SP[s.properties.group]"></div> <div class="purpose" ng-bind="SP[s.properties.grp]"></div>
</div> </div>
{{fCrd(s.properties.cost)}} CR {{fCrd(s.properties.cost)}} <span class="ico ico-coin-dollar"></span>
</a> </a>
</div> </div>

View File

@@ -1,37 +0,0 @@
<div class="header toggle" ng-click="toggleExpand()">Power Use</div>
<div class="expandable items" ng-class="{expanded: expanded}">
<div ng-if="ship.common[0].c.pGen" class="item common enabled untoggleable">
<div class="lbl">{{ship.common[0].c.class}}{{ship.common[0].c.rating}} {{$r.CArr[0]}}</div><div class="val">{{$r.fPwr(ship.common[0].c.pGen)}}</div>
</div>
<div ng-repeat="c in ship.common" ng-if="c.c.power" class="item common" ng-class="{enabled:c.enabled, consumer:c.c.power}" ng-click="toggle(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{$r.CArr[$index]}}</div><div class="val">{{$r.fPwr(c.c.power)}}</div>
</div>
<div class="item common consumer" ng-class="{enabled:ship.cargoScoop.enabled}" ng-click="toggle(ship.cargoScoop)">
<div class="lbl">1H Cargo Scoop</div><div class="val">{{$r.fPwr(ship.cargoScoop.c.power)}}</div>
</div>
<div ng-repeat="c in ship.hardpoints" ng-if="c.c.power" class="item hardpoints" ng-class="{enabled:c.enabled, consumer:c.c.power}" ng-click="toggle(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{c.c.name || $r.hgMap[c.c.grp]}}</div><div class="val">{{$r.fPwr(c.c.power)}}</div>
</div>
<div ng-repeat="c in ship.internal" ng-if="c.c.power" class="item internal" ng-class="{enabled:c.enabled, consumer:c.c.power}" ng-click="toggle(c)">
<div class="lbl">{{c.c.class}}{{c.c.rating}} {{c.c.name || $r.igMap[c.c.group]}}</div><div class="val">{{$r.fPwr(c.c.power)}}</div>
</div>
</div>
<div class="summary toggle" ng-click="toggleExpand()">
<div class="item">
<div class="lbl">Available</div>
<div class="val">{{$r.fPwr(ship.powerAvailable)}} <u>MW</u></div>
</div>
<div class="item">
<div class="lbl">Deployed</div>
<div class="val">{{$r.fPwr(ship.powerDeployed)}} <u>MW</u> ({{$r.fPct(ship.powerDeployed/ship.powerAvailable)}})</div>
</div>
<div class="item">
<div class="lbl">Retracted</div>
<div class="val">{{$r.fPwr(ship.powerRetracted)}} <u>MW</u> ({{$r.fPct(ship.powerRetracted/ship.powerAvailable)}})</div>
</div>
</div>

View File

@@ -1,15 +0,0 @@
<div class="header toggle" ng-click="toggleExpand()">Jump Range</div>
<div class="expandable items" ng-class="{expanded: expanded}">
<!---<linechart data="data" options="options" mode="" width="" height=""></linechart>/-->
Stuff!
</div>
<div class="summary toggle" ng-click="toggleExpand()">
<div class="item">
<div class="lbl">Laden</div>
<div class="val">{{$r.fRound(ship.ladenJumpRange)}} <u>LY</u></div>
</div>
<div class="item">
<div class="lbl">Unladen</div>
<div class="val">{{$r.fRound(ship.unladenJumpRange)}} <u>LY</u></div>
</div>
</div>

View File

@@ -1,7 +1,7 @@
{ {
"Auto Field-Maintenance Units": { "Auto Field-Maintenance Units": {
"10": { "10": {
"group": "am", "grp": "am",
"class": 5, "class": 5,
"rating": "E", "rating": "E",
"cost": 104976, "cost": 104976,
@@ -10,7 +10,7 @@
"repair": 73.2 "repair": 73.2
}, },
"11": { "11": {
"group": "am", "grp": "am",
"class": 6, "class": 6,
"rating": "A", "rating": "A",
"cost": 15305501, "cost": 15305501,
@@ -19,7 +19,7 @@
"repair": 226.8 "repair": 226.8
}, },
"12": { "12": {
"group": "am", "grp": "am",
"class": 6, "class": 6,
"rating": "B", "rating": "B",
"cost": 5101834, "cost": 5101834,
@@ -28,7 +28,7 @@
"repair": 204.7 "repair": 204.7
}, },
"13": { "13": {
"group": "am", "grp": "am",
"class": 6, "class": 6,
"rating": "C", "rating": "C",
"cost": 1700611, "cost": 1700611,
@@ -37,7 +37,7 @@
"repair": 148 "repair": 148
}, },
"14": { "14": {
"group": "am", "grp": "am",
"class": 6, "class": 6,
"rating": "D", "rating": "D",
"cost": 566870, "cost": 566870,
@@ -46,7 +46,7 @@
"repair": 107.2 "repair": 107.2
}, },
"15": { "15": {
"group": "am", "grp": "am",
"class": 6, "class": 6,
"rating": "E", "rating": "E",
"cost": 188957, "cost": 188957,
@@ -55,7 +55,7 @@
"repair": 88.8 "repair": 88.8
}, },
"16": { "16": {
"group": "am", "grp": "am",
"class": 7, "class": 7,
"rating": "A", "rating": "A",
"cost": 27549901, "cost": 27549901,
@@ -64,7 +64,7 @@
"repair": 268.8 "repair": 268.8
}, },
"17": { "17": {
"group": "am", "grp": "am",
"class": 7, "class": 7,
"rating": "B", "rating": "B",
"cost": 9183300, "cost": 9183300,
@@ -73,7 +73,7 @@
"repair": 239.2 "repair": 239.2
}, },
"18": { "18": {
"group": "am", "grp": "am",
"class": 7, "class": 7,
"rating": "C", "rating": "C",
"cost": 3061100, "cost": 3061100,
@@ -82,7 +82,7 @@
"repair": 174 "repair": 174
}, },
"19": { "19": {
"group": "am", "grp": "am",
"class": 7, "class": 7,
"rating": "D", "rating": "D",
"cost": 1020367, "cost": 1020367,
@@ -91,7 +91,7 @@
"repair": 124.8 "repair": 124.8
}, },
"08": { "08": {
"group": "am", "grp": "am",
"class": 1, "class": 1,
"rating": "A", "rating": "A",
"cost": 810000, "cost": 810000,
@@ -100,7 +100,7 @@
"repair": 30.8 "repair": 30.8
}, },
"09": { "09": {
"group": "am", "grp": "am",
"class": 1, "class": 1,
"rating": "B", "rating": "B",
"cost": 270000, "cost": 270000,
@@ -109,7 +109,7 @@
"repair": 27.6 "repair": 27.6
}, },
"0a": { "0a": {
"group": "am", "grp": "am",
"class": 1, "class": 1,
"rating": "C", "rating": "C",
"cost": 90000, "cost": 90000,
@@ -118,7 +118,7 @@
"repair": 20 "repair": 20
}, },
"0b": { "0b": {
"group": "am", "grp": "am",
"class": 1, "class": 1,
"rating": "D", "rating": "D",
"cost": 30000, "cost": 30000,
@@ -127,7 +127,7 @@
"repair": 14.4 "repair": 14.4
}, },
"0c": { "0c": {
"group": "am", "grp": "am",
"class": 1, "class": 1,
"rating": "E", "rating": "E",
"cost": 10000, "cost": 10000,
@@ -136,7 +136,7 @@
"repair": 12 "repair": 12
}, },
"0d": { "0d": {
"group": "am", "grp": "am",
"class": 2, "class": 2,
"rating": "A", "rating": "A",
"cost": 1458000, "cost": 1458000,
@@ -145,7 +145,7 @@
"repair": 70 "repair": 70
}, },
"0e": { "0e": {
"group": "am", "grp": "am",
"class": 2, "class": 2,
"rating": "B", "rating": "B",
"cost": 486000, "cost": 486000,
@@ -154,7 +154,7 @@
"repair": 64.4 "repair": 64.4
}, },
"0f": { "0f": {
"group": "am", "grp": "am",
"class": 2, "class": 2,
"rating": "C", "rating": "C",
"cost": 162000, "cost": 162000,
@@ -163,7 +163,7 @@
"repair": 46 "repair": 46
}, },
"0g": { "0g": {
"group": "am", "grp": "am",
"class": 2, "class": 2,
"rating": "D", "rating": "D",
"cost": 54000, "cost": 54000,
@@ -172,7 +172,7 @@
"repair": 33.6 "repair": 33.6
}, },
"0h": { "0h": {
"group": "am", "grp": "am",
"class": 2, "class": 2,
"rating": "E", "rating": "E",
"cost": 18000, "cost": 18000,
@@ -181,7 +181,7 @@
"repair": 27.6 "repair": 27.6
}, },
"0i": { "0i": {
"group": "am", "grp": "am",
"class": 3, "class": 3,
"rating": "A", "rating": "A",
"cost": 2624400, "cost": 2624400,
@@ -190,7 +190,7 @@
"repair": 112 "repair": 112
}, },
"0j": { "0j": {
"group": "am", "grp": "am",
"class": 3, "class": 3,
"rating": "B", "rating": "B",
"cost": 874800, "cost": 874800,
@@ -199,7 +199,7 @@
"repair": 98.9 "repair": 98.9
}, },
"0k": { "0k": {
"group": "am", "grp": "am",
"class": 3, "class": 3,
"rating": "C", "rating": "C",
"cost": 291600, "cost": 291600,
@@ -208,7 +208,7 @@
"repair": 72 "repair": 72
}, },
"0l": { "0l": {
"group": "am", "grp": "am",
"class": 3, "class": 3,
"rating": "D", "rating": "D",
"cost": 97200, "cost": 97200,
@@ -217,7 +217,7 @@
"repair": 51.2 "repair": 51.2
}, },
"0m": { "0m": {
"group": "am", "grp": "am",
"class": 3, "class": 3,
"rating": "E", "rating": "E",
"cost": 32400, "cost": 32400,
@@ -226,7 +226,7 @@
"repair": 43.2 "repair": 43.2
}, },
"0n": { "0n": {
"group": "am", "grp": "am",
"class": 4, "class": 4,
"rating": "A", "rating": "A",
"cost": 4723920, "cost": 4723920,
@@ -235,7 +235,7 @@
"repair": 151.2 "repair": 151.2
}, },
"0o": { "0o": {
"group": "am", "grp": "am",
"class": 4, "class": 4,
"rating": "B", "rating": "B",
"cost": 1574640, "cost": 1574640,
@@ -244,7 +244,7 @@
"repair": 135.7 "repair": 135.7
}, },
"0p": { "0p": {
"group": "am", "grp": "am",
"class": 4, "class": 4,
"rating": "C", "rating": "C",
"cost": 524880, "cost": 524880,
@@ -253,7 +253,7 @@
"repair": 98 "repair": 98
}, },
"0q": { "0q": {
"group": "am", "grp": "am",
"class": 4, "class": 4,
"rating": "D", "rating": "D",
"cost": 174960, "cost": 174960,
@@ -262,7 +262,7 @@
"repair": 70.4 "repair": 70.4
}, },
"0r": { "0r": {
"group": "am", "grp": "am",
"class": 4, "class": 4,
"rating": "E", "rating": "E",
"cost": 58320, "cost": 58320,
@@ -271,7 +271,7 @@
"repair": 58.8 "repair": 58.8
}, },
"0s": { "0s": {
"group": "am", "grp": "am",
"class": 5, "class": 5,
"rating": "A", "rating": "A",
"cost": 8503056, "cost": 8503056,
@@ -280,7 +280,7 @@
"repair": 187.6 "repair": 187.6
}, },
"0t": { "0t": {
"group": "am", "grp": "am",
"class": 5, "class": 5,
"rating": "B", "rating": "B",
"cost": 2834352, "cost": 2834352,
@@ -289,7 +289,7 @@
"repair": 167.9 "repair": 167.9
}, },
"0u": { "0u": {
"group": "am", "grp": "am",
"class": 5, "class": 5,
"rating": "C", "rating": "C",
"cost": 944784, "cost": 944784,
@@ -298,7 +298,7 @@
"repair": 122 "repair": 122
}, },
"0v": { "0v": {
"group": "am", "grp": "am",
"class": 5, "class": 5,
"rating": "D", "rating": "D",
"cost": 314928, "cost": 314928,
@@ -307,7 +307,7 @@
"repair": 88 "repair": 88
}, },
"1a": { "1a": {
"group": "am", "grp": "am",
"class": 7, "class": 7,
"rating": "E", "rating": "E",
"cost": 340122, "cost": 340122,
@@ -316,7 +316,7 @@
"repair": 104.4 "repair": 104.4
}, },
"1b": { "1b": {
"group": "am", "grp": "am",
"class": 8, "class": 8,
"rating": "A", "rating": "A",
"cost": 49589823, "cost": 49589823,
@@ -325,7 +325,7 @@
"repair": 308 "repair": 308
}, },
"1c": { "1c": {
"group": "am", "grp": "am",
"class": 8, "class": 8,
"rating": "B", "rating": "B",
"cost": 16529941, "cost": 16529941,
@@ -334,7 +334,7 @@
"repair": 276 "repair": 276
}, },
"1d": { "1d": {
"group": "am", "grp": "am",
"class": 8, "class": 8,
"rating": "C", "rating": "C",
"cost": 5509980, "cost": 5509980,
@@ -343,7 +343,7 @@
"repair": 200 "repair": 200
}, },
"1e": { "1e": {
"group": "am", "grp": "am",
"class": 8, "class": 8,
"rating": "D", "rating": "D",
"cost": 1836660, "cost": 1836660,
@@ -352,7 +352,7 @@
"repair": 144 "repair": 144
}, },
"1f": { "1f": {
"group": "am", "grp": "am",
"class": 8, "class": 8,
"rating": "E", "rating": "E",
"cost": 612220, "cost": 612220,

View File

@@ -1,7 +1,7 @@
{ {
"Cargo Racks": { "Cargo Racks": {
"00": { "00": {
"group": "cr", "grp": "cr",
"name": "Cargo Rack (Capacity: 2)", "name": "Cargo Rack (Capacity: 2)",
"class": 1, "class": 1,
"rating": "E", "rating": "E",
@@ -9,7 +9,7 @@
"capacity": 2 "capacity": 2
}, },
"01": { "01": {
"group": "cr", "grp": "cr",
"name": "Cargo Rack (Capacity: 4)", "name": "Cargo Rack (Capacity: 4)",
"class": 2, "class": 2,
"rating": "E", "rating": "E",
@@ -17,7 +17,7 @@
"capacity": 4 "capacity": 4
}, },
"02": { "02": {
"group": "cr", "grp": "cr",
"name": "Cargo Rack (Capacity: 8)", "name": "Cargo Rack (Capacity: 8)",
"class": 3, "class": 3,
"rating": "E", "rating": "E",
@@ -25,7 +25,7 @@
"capacity": 8 "capacity": 8
}, },
"03": { "03": {
"group": "cr", "grp": "cr",
"name": "Cargo Rack (Capacity: 16)", "name": "Cargo Rack (Capacity: 16)",
"class": 4, "class": 4,
"rating": "E", "rating": "E",
@@ -33,7 +33,7 @@
"capacity": 16 "capacity": 16
}, },
"04": { "04": {
"group": "cr", "grp": "cr",
"name": "Cargo Rack (Capacity: 32)", "name": "Cargo Rack (Capacity: 32)",
"class": 5, "class": 5,
"rating": "E", "rating": "E",
@@ -41,7 +41,7 @@
"capacity": 32 "capacity": 32
}, },
"05": { "05": {
"group": "cr", "grp": "cr",
"name": "Cargo Rack (Capacity: 64)", "name": "Cargo Rack (Capacity: 64)",
"class": 6, "class": 6,
"rating": "E", "rating": "E",
@@ -49,7 +49,7 @@
"capacity": 64 "capacity": 64
}, },
"06": { "06": {
"group": "cr", "grp": "cr",
"name": "Cargo Rack (Capacity: 128)", "name": "Cargo Rack (Capacity: 128)",
"class": 7, "class": 7,
"rating": "E", "rating": "E",
@@ -57,7 +57,7 @@
"capacity": 128 "capacity": 128
}, },
"07": { "07": {
"group": "cr", "grp": "cr",
"name": "Cargo Rack (Capacity: 256)", "name": "Cargo Rack (Capacity: 256)",
"class": 8, "class": 8,
"rating": "E", "rating": "E",

View File

@@ -1,7 +1,7 @@
{ {
"Docking Computers": { "Docking Computers": {
"24": { "24": {
"group": "dc", "grp": "dc",
"name": "Standard Docking Computer", "name": "Standard Docking Computer",
"class": 1, "class": 1,
"rating": "E", "rating": "E",

View File

@@ -1,7 +1,7 @@
{ {
"FSD Interdictors": { "FSD Interdictors": {
"66": { "66": {
"group": "fi", "grp": "fi",
"class": 1, "class": 1,
"rating": "A", "rating": "A",
"cost": 972000, "cost": 972000,
@@ -10,7 +10,7 @@
"rangeRating": "C" "rangeRating": "C"
}, },
"67": { "67": {
"group": "fi", "grp": "fi",
"class": 1, "class": 1,
"rating": "B", "rating": "B",
"cost": 324000, "cost": 324000,
@@ -19,7 +19,7 @@
"rangeRating": "D" "rangeRating": "D"
}, },
"68": { "68": {
"group": "fi", "grp": "fi",
"class": 1, "class": 1,
"rating": "C", "rating": "C",
"cost": 108000, "cost": 108000,
@@ -28,7 +28,7 @@
"rangeRating": "D" "rangeRating": "D"
}, },
"69": { "69": {
"group": "fi", "grp": "fi",
"class": 1, "class": 1,
"rating": "D", "rating": "D",
"cost": 36000, "cost": 36000,
@@ -37,7 +37,7 @@
"rangeRating": "D" "rangeRating": "D"
}, },
"6a": { "6a": {
"group": "fi", "grp": "fi",
"class": 1, "class": 1,
"rating": "E", "rating": "E",
"cost": 12000, "cost": 12000,
@@ -46,7 +46,7 @@
"rangeRating": "E" "rangeRating": "E"
}, },
"6b": { "6b": {
"group": "fi", "grp": "fi",
"class": 2, "class": 2,
"rating": "A", "rating": "A",
"cost": 2721600, "cost": 2721600,
@@ -55,7 +55,7 @@
"rangeRating": "B" "rangeRating": "B"
}, },
"6c": { "6c": {
"group": "fi", "grp": "fi",
"class": 2, "class": 2,
"rating": "B", "rating": "B",
"cost": 907200, "cost": 907200,
@@ -64,7 +64,7 @@
"rangeRating": "C" "rangeRating": "C"
}, },
"6d": { "6d": {
"group": "fi", "grp": "fi",
"class": 2, "class": 2,
"rating": "C", "rating": "C",
"cost": 302400, "cost": 302400,
@@ -73,7 +73,7 @@
"rangeRating": "C" "rangeRating": "C"
}, },
"6e": { "6e": {
"group": "fi", "grp": "fi",
"class": 2, "class": 2,
"rating": "D", "rating": "D",
"cost": 100800, "cost": 100800,
@@ -82,7 +82,7 @@
"rangeRating": "C" "rangeRating": "C"
}, },
"6f": { "6f": {
"group": "fi", "grp": "fi",
"class": 2, "class": 2,
"rating": "E", "rating": "E",
"cost": 33600, "cost": 33600,
@@ -91,7 +91,7 @@
"rangeRating": "D" "rangeRating": "D"
}, },
"6g": { "6g": {
"group": "fi", "grp": "fi",
"class": 3, "class": 3,
"rating": "A", "rating": "A",
"cost": 7620480, "cost": 7620480,
@@ -100,7 +100,7 @@
"rangeRating": "A" "rangeRating": "A"
}, },
"6h": { "6h": {
"group": "fi", "grp": "fi",
"class": 3, "class": 3,
"rating": "B", "rating": "B",
"cost": 2540160, "cost": 2540160,
@@ -109,7 +109,7 @@
"rangeRating": "B" "rangeRating": "B"
}, },
"6i": { "6i": {
"group": "fi", "grp": "fi",
"class": 3, "class": 3,
"rating": "C", "rating": "C",
"cost": 846720, "cost": 846720,
@@ -118,7 +118,7 @@
"rangeRating": "B" "rangeRating": "B"
}, },
"6j": { "6j": {
"group": "fi", "grp": "fi",
"class": 3, "class": 3,
"rating": "D", "rating": "D",
"cost": 282240, "cost": 282240,
@@ -127,7 +127,7 @@
"rangeRating": "B" "rangeRating": "B"
}, },
"6k": { "6k": {
"group": "fi", "grp": "fi",
"class": 3, "class": 3,
"rating": "E", "rating": "E",
"cost": 94080, "cost": 94080,
@@ -136,7 +136,7 @@
"rangeRating": "C" "rangeRating": "C"
}, },
"6l": { "6l": {
"group": "fi", "grp": "fi",
"class": 4, "class": 4,
"rating": "A", "rating": "A",
"cost": 21337344, "cost": 21337344,
@@ -145,7 +145,7 @@
"rangeRating": "A" "rangeRating": "A"
}, },
"6m": { "6m": {
"group": "fi", "grp": "fi",
"class": 4, "class": 4,
"rating": "B", "rating": "B",
"cost": 7112448, "cost": 7112448,
@@ -154,7 +154,7 @@
"rangeRating": "A" "rangeRating": "A"
}, },
"6n": { "6n": {
"group": "fi", "grp": "fi",
"class": 4, "class": 4,
"rating": "C", "rating": "C",
"cost": 2370816, "cost": 2370816,
@@ -163,7 +163,7 @@
"rangeRating": "A" "rangeRating": "A"
}, },
"6o": { "6o": {
"group": "fi", "grp": "fi",
"class": 4, "class": 4,
"rating": "D", "rating": "D",
"cost": 790272, "cost": 790272,
@@ -172,7 +172,7 @@
"rangeRating": "A" "rangeRating": "A"
}, },
"6p": { "6p": {
"group": "fi", "grp": "fi",
"class": 4, "class": 4,
"rating": "E", "rating": "E",
"cost": 263424, "cost": 263424,

View File

@@ -1,7 +1,7 @@
{ {
"Fuel Scoops": { "Fuel Scoops": {
"30": { "30": {
"group": "fs", "grp": "fs",
"class": 3, "class": 3,
"rating": "D", "rating": "D",
"cost": 14109, "cost": 14109,
@@ -9,7 +9,7 @@
"rate": 100 "rate": 100
}, },
"31": { "31": {
"group": "fs", "grp": "fs",
"class": 3, "class": 3,
"rating": "E", "rating": "E",
"cost": 3386, "cost": 3386,
@@ -17,7 +17,7 @@
"rate": 75 "rate": 75
}, },
"32": { "32": {
"group": "fs", "grp": "fs",
"class": 4, "class": 4,
"rating": "A", "rating": "A",
"cost": 2862364, "cost": 2862364,
@@ -25,7 +25,7 @@
"rate": 342 "rate": 342
}, },
"33": { "33": {
"group": "fs", "grp": "fs",
"class": 4, "class": 4,
"rating": "B", "rating": "B",
"cost": 715591, "cost": 715591,
@@ -33,7 +33,7 @@
"rate": 294 "rate": 294
}, },
"34": { "34": {
"group": "fs", "grp": "fs",
"class": 4, "class": 4,
"rating": "C", "rating": "C",
"cost": 178898, "cost": 178898,
@@ -41,7 +41,7 @@
"rate": 245 "rate": 245
}, },
"35": { "35": {
"group": "fs", "grp": "fs",
"class": 4, "class": 4,
"rating": "D", "rating": "D",
"cost": 44724, "cost": 44724,
@@ -49,7 +49,7 @@
"rate": 196 "rate": 196
}, },
"36": { "36": {
"group": "fs", "grp": "fs",
"class": 4, "class": 4,
"rating": "E", "rating": "E",
"cost": 10734, "cost": 10734,
@@ -57,7 +57,7 @@
"rate": 147 "rate": 147
}, },
"37": { "37": {
"group": "fs", "grp": "fs",
"class": 5, "class": 5,
"rating": "A", "rating": "A",
"cost": 9073694, "cost": 9073694,
@@ -65,7 +65,7 @@
"rate": 577 "rate": 577
}, },
"38": { "38": {
"group": "fs", "grp": "fs",
"class": 5, "class": 5,
"rating": "B", "rating": "B",
"cost": 2268424, "cost": 2268424,
@@ -73,7 +73,7 @@
"rate": 494 "rate": 494
}, },
"39": { "39": {
"group": "fs", "grp": "fs",
"class": 5, "class": 5,
"rating": "C", "rating": "C",
"cost": 567106, "cost": 567106,
@@ -81,7 +81,7 @@
"rate": 412 "rate": 412
}, },
"2j": { "2j": {
"group": "fs", "grp": "fs",
"class": 1, "class": 1,
"rating": "A", "rating": "A",
"cost": 82270, "cost": 82270,
@@ -89,7 +89,7 @@
"rate": 42 "rate": 42
}, },
"2k": { "2k": {
"group": "fs", "grp": "fs",
"class": 1, "class": 1,
"rating": "B", "rating": "B",
"cost": 20568, "cost": 20568,
@@ -97,7 +97,7 @@
"rate": 36 "rate": 36
}, },
"2l": { "2l": {
"group": "fs", "grp": "fs",
"class": 1, "class": 1,
"rating": "C", "rating": "C",
"cost": 5142, "cost": 5142,
@@ -105,7 +105,7 @@
"rate": 30 "rate": 30
}, },
"2m": { "2m": {
"group": "fs", "grp": "fs",
"class": 1, "class": 1,
"rating": "D", "rating": "D",
"cost": 1285, "cost": 1285,
@@ -113,7 +113,7 @@
"rate": 24 "rate": 24
}, },
"2n": { "2n": {
"group": "fs", "grp": "fs",
"class": 1, "class": 1,
"rating": "E", "rating": "E",
"cost": 309, "cost": 309,
@@ -121,7 +121,7 @@
"rate": 18 "rate": 18
}, },
"2o": { "2o": {
"group": "fs", "grp": "fs",
"class": 2, "class": 2,
"rating": "A", "rating": "A",
"cost": 284844, "cost": 284844,
@@ -129,7 +129,7 @@
"rate": 75 "rate": 75
}, },
"2p": { "2p": {
"group": "fs", "grp": "fs",
"class": 2, "class": 2,
"rating": "B", "rating": "B",
"cost": 71211, "cost": 71211,
@@ -137,7 +137,7 @@
"rate": 65 "rate": 65
}, },
"2q": { "2q": {
"group": "fs", "grp": "fs",
"class": 2, "class": 2,
"rating": "C", "rating": "C",
"cost": 17803, "cost": 17803,
@@ -145,7 +145,7 @@
"rate": 54 "rate": 54
}, },
"2r": { "2r": {
"group": "fs", "grp": "fs",
"class": 2, "class": 2,
"rating": "D", "rating": "D",
"cost": 4451, "cost": 4451,
@@ -153,7 +153,7 @@
"rate": 43 "rate": 43
}, },
"2s": { "2s": {
"group": "fs", "grp": "fs",
"class": 2, "class": 2,
"rating": "E", "rating": "E",
"cost": 1068, "cost": 1068,
@@ -161,7 +161,7 @@
"rate": 32 "rate": 32
}, },
"2t": { "2t": {
"group": "fs", "grp": "fs",
"class": 3, "class": 3,
"rating": "A", "rating": "A",
"cost": 902954, "cost": 902954,
@@ -169,7 +169,7 @@
"rate": 176 "rate": 176
}, },
"2u": { "2u": {
"group": "fs", "grp": "fs",
"class": 3, "class": 3,
"rating": "B", "rating": "B",
"cost": 225738, "cost": 225738,
@@ -177,7 +177,7 @@
"rate": 151 "rate": 151
}, },
"2v": { "2v": {
"group": "fs", "grp": "fs",
"class": 3, "class": 3,
"rating": "C", "rating": "C",
"cost": 56435, "cost": 56435,
@@ -185,7 +185,7 @@
"rate": 126 "rate": 126
}, },
"3a": { "3a": {
"group": "fs", "grp": "fs",
"class": 5, "class": 5,
"rating": "D", "rating": "D",
"cost": 141776, "cost": 141776,
@@ -193,7 +193,7 @@
"rate": 330 "rate": 330
}, },
"3b": { "3b": {
"group": "fs", "grp": "fs",
"class": 5, "class": 5,
"rating": "E", "rating": "E",
"cost": 34026, "cost": 34026,
@@ -201,7 +201,7 @@
"rate": 247 "rate": 247
}, },
"3c": { "3c": {
"group": "fs", "grp": "fs",
"class": 6, "class": 6,
"rating": "A", "rating": "A",
"cost": 28763610, "cost": 28763610,
@@ -209,7 +209,7 @@
"rate": 878 "rate": 878
}, },
"3d": { "3d": {
"group": "fs", "grp": "fs",
"class": 6, "class": 6,
"rating": "B", "rating": "B",
"cost": 7190903, "cost": 7190903,
@@ -217,7 +217,7 @@
"rate": 752 "rate": 752
}, },
"3e": { "3e": {
"group": "fs", "grp": "fs",
"class": 6, "class": 6,
"rating": "C", "rating": "C",
"cost": 1797726, "cost": 1797726,
@@ -225,7 +225,7 @@
"rate": 627 "rate": 627
}, },
"3f": { "3f": {
"group": "fs", "grp": "fs",
"class": 6, "class": 6,
"rating": "D", "rating": "D",
"cost": 449431, "cost": 449431,
@@ -233,7 +233,7 @@
"rate": 502 "rate": 502
}, },
"3g": { "3g": {
"group": "fs", "grp": "fs",
"class": 6, "class": 6,
"rating": "E", "rating": "E",
"cost": 107864, "cost": 107864,
@@ -241,7 +241,7 @@
"rate": 376 "rate": 376
}, },
"3h": { "3h": {
"group": "fs", "grp": "fs",
"class": 7, "class": 7,
"rating": "A", "rating": "A",
"cost": 91180644, "cost": 91180644,
@@ -249,7 +249,7 @@
"rate": 1245 "rate": 1245
}, },
"3i": { "3i": {
"group": "fs", "grp": "fs",
"class": 7, "class": 7,
"rating": "B", "rating": "B",
"cost": 22795161, "cost": 22795161,
@@ -257,7 +257,7 @@
"rate": 1068 "rate": 1068
}, },
"3j": { "3j": {
"group": "fs", "grp": "fs",
"class": 7, "class": 7,
"rating": "C", "rating": "C",
"cost": 5698790, "cost": 5698790,
@@ -265,7 +265,7 @@
"rate": 890 "rate": 890
}, },
"3k": { "3k": {
"group": "fs", "grp": "fs",
"class": 7, "class": 7,
"rating": "D", "rating": "D",
"cost": 1424698, "cost": 1424698,
@@ -273,7 +273,7 @@
"rate": 712 "rate": 712
}, },
"3l": { "3l": {
"group": "fs", "grp": "fs",
"class": 7, "class": 7,
"rating": "E", "rating": "E",
"cost": 341927, "cost": 341927,
@@ -281,7 +281,7 @@
"rate": 534 "rate": 534
}, },
"3m": { "3m": {
"group": "fs", "grp": "fs",
"class": 8, "class": 8,
"rating": "A", "rating": "A",
"cost": 289042541, "cost": 289042541,
@@ -289,7 +289,7 @@
"rate": 1680 "rate": 1680
}, },
"3n": { "3n": {
"group": "fs", "grp": "fs",
"class": 8, "class": 8,
"rating": "B", "rating": "B",
"cost": 72260660, "cost": 72260660,
@@ -297,7 +297,7 @@
"rate": 1440 "rate": 1440
}, },
"3o": { "3o": {
"group": "fs", "grp": "fs",
"class": 8, "class": 8,
"rating": "C", "rating": "C",
"cost": 18065165, "cost": 18065165,
@@ -305,7 +305,7 @@
"rate": 1200 "rate": 1200
}, },
"3p": { "3p": {
"group": "fs", "grp": "fs",
"class": 8, "class": 8,
"rating": "D", "rating": "D",
"cost": 4516291, "cost": 4516291,
@@ -313,7 +313,7 @@
"rate": 960 "rate": 960
}, },
"3q": { "3q": {
"group": "fs", "grp": "fs",
"class": 8, "class": 8,
"rating": "E", "rating": "E",
"cost": 1083910, "cost": 1083910,

View File

@@ -1,7 +1,7 @@
{ {
"Hatch Breaker Limpet Controllers": { "Hatch Breaker Limpet Controllers": {
"70": { "70": {
"group": "hb", "grp": "hb",
"class": 3, "class": 3,
"rating": "B", "rating": "B",
"cost": 43200, "cost": 43200,
@@ -11,7 +11,7 @@
"time": 21 "time": 21
}, },
"71": { "71": {
"group": "hb", "grp": "hb",
"class": 3, "class": 3,
"rating": "C", "rating": "C",
"cost": 21600, "cost": 21600,
@@ -21,7 +21,7 @@
"time": 26 "time": 26
}, },
"72": { "72": {
"group": "hb", "grp": "hb",
"class": 3, "class": 3,
"rating": "D", "rating": "D",
"cost": 10800, "cost": 10800,
@@ -31,7 +31,7 @@
"time": 31 "time": 31
}, },
"73": { "73": {
"group": "hb", "grp": "hb",
"class": 3, "class": 3,
"rating": "E", "rating": "E",
"cost": 5400, "cost": 5400,
@@ -41,7 +41,7 @@
"time": 36 "time": 36
}, },
"74": { "74": {
"group": "hb", "grp": "hb",
"class": 5, "class": 5,
"rating": "A", "rating": "A",
"cost": 777600, "cost": 777600,
@@ -51,7 +51,7 @@
"time": 13 "time": 13
}, },
"75": { "75": {
"group": "hb", "grp": "hb",
"class": 5, "class": 5,
"rating": "B", "rating": "B",
"cost": 388800, "cost": 388800,
@@ -61,7 +61,7 @@
"time": 18 "time": 18
}, },
"76": { "76": {
"group": "hb", "grp": "hb",
"class": 5, "class": 5,
"rating": "C", "rating": "C",
"cost": 194400, "cost": 194400,
@@ -71,7 +71,7 @@
"time": 22 "time": 22
}, },
"77": { "77": {
"group": "hb", "grp": "hb",
"class": 5, "class": 5,
"rating": "D", "rating": "D",
"cost": 97200, "cost": 97200,
@@ -81,7 +81,7 @@
"time": 26 "time": 26
}, },
"78": { "78": {
"group": "hb", "grp": "hb",
"class": 5, "class": 5,
"rating": "E", "rating": "E",
"cost": 48600, "cost": 48600,
@@ -91,7 +91,7 @@
"time": 31 "time": 31
}, },
"79": { "79": {
"group": "hb", "grp": "hb",
"class": 7, "class": 7,
"rating": "A", "rating": "A",
"cost": 6998400, "cost": 6998400,
@@ -101,7 +101,7 @@
"time": 11 "time": 11
}, },
"6q": { "6q": {
"group": "hb", "grp": "hb",
"class": 1, "class": 1,
"rating": "A", "rating": "A",
"cost": 9600, "cost": 9600,
@@ -111,7 +111,7 @@
"time": 18 "time": 18
}, },
"6r": { "6r": {
"group": "hb", "grp": "hb",
"class": 1, "class": 1,
"rating": "B", "rating": "B",
"cost": 4800, "cost": 4800,
@@ -121,7 +121,7 @@
"time": 24 "time": 24
}, },
"6s": { "6s": {
"group": "hb", "grp": "hb",
"class": 1, "class": 1,
"rating": "C", "rating": "C",
"cost": 2400, "cost": 2400,
@@ -131,7 +131,7 @@
"time": 30 "time": 30
}, },
"6t": { "6t": {
"group": "hb", "grp": "hb",
"class": 1, "class": 1,
"rating": "D", "rating": "D",
"cost": 1200, "cost": 1200,
@@ -141,7 +141,7 @@
"time": 36 "time": 36
}, },
"6u": { "6u": {
"group": "hb", "grp": "hb",
"class": 1, "class": 1,
"rating": "E", "rating": "E",
"cost": 600, "cost": 600,
@@ -151,7 +151,7 @@
"time": 42 "time": 42
}, },
"6v": { "6v": {
"group": "hb", "grp": "hb",
"class": 3, "class": 3,
"rating": "A", "rating": "A",
"cost": 86400, "cost": 86400,
@@ -161,7 +161,7 @@
"time": 16 "time": 16
}, },
"7a": { "7a": {
"group": "hb", "grp": "hb",
"class": 7, "class": 7,
"rating": "B", "rating": "B",
"cost": 3499200, "cost": 3499200,
@@ -171,7 +171,7 @@
"time": 14 "time": 14
}, },
"7b": { "7b": {
"group": "hb", "grp": "hb",
"class": 7, "class": 7,
"rating": "C", "rating": "C",
"cost": 1749600, "cost": 1749600,
@@ -181,7 +181,7 @@
"time": 18 "time": 18
}, },
"7c": { "7c": {
"group": "hb", "grp": "hb",
"class": 7, "class": 7,
"rating": "D", "rating": "D",
"cost": 874800, "cost": 874800,
@@ -191,7 +191,7 @@
"time": 22 "time": 22
}, },
"7d": { "7d": {
"group": "hb", "grp": "hb",
"class": 7, "class": 7,
"rating": "E", "rating": "E",
"cost": 437400, "cost": 437400,

View File

@@ -1,7 +1,7 @@
{ {
"Hull Reinforcement Packages": { "Hull Reinforcement Packages": {
"25": { "25": {
"group": "hr", "grp": "hr",
"class": 1, "class": 1,
"rating": "D", "rating": "D",
"cost": 15000, "cost": 15000,
@@ -9,7 +9,7 @@
"armouradd": 15 "armouradd": 15
}, },
"26": { "26": {
"group": "hr", "grp": "hr",
"class": 1, "class": 1,
"rating": "E", "rating": "E",
"cost": 5000, "cost": 5000,
@@ -17,7 +17,7 @@
"armouradd": 10 "armouradd": 10
}, },
"27": { "27": {
"group": "hr", "grp": "hr",
"class": 2, "class": 2,
"rating": "D", "rating": "D",
"cost": 36000, "cost": 36000,
@@ -25,7 +25,7 @@
"armouradd": 30 "armouradd": 30
}, },
"28": { "28": {
"group": "hr", "grp": "hr",
"class": 2, "class": 2,
"rating": "E", "rating": "E",
"cost": 12000, "cost": 12000,
@@ -33,7 +33,7 @@
"armouradd": 20 "armouradd": 20
}, },
"29": { "29": {
"group": "hr", "grp": "hr",
"class": 3, "class": 3,
"rating": "D", "rating": "D",
"cost": 84000, "cost": 84000,
@@ -41,7 +41,7 @@
"armouradd": 60 "armouradd": 60
}, },
"2a": { "2a": {
"group": "hr", "grp": "hr",
"class": 3, "class": 3,
"rating": "E", "rating": "E",
"cost": 28000, "cost": 28000,
@@ -49,7 +49,7 @@
"armouradd": 40 "armouradd": 40
}, },
"2b": { "2b": {
"group": "hr", "grp": "hr",
"class": 4, "class": 4,
"rating": "D", "rating": "D",
"cost": 195000, "cost": 195000,
@@ -57,7 +57,7 @@
"armouradd": 120 "armouradd": 120
}, },
"2c": { "2c": {
"group": "hr", "grp": "hr",
"class": 4, "class": 4,
"rating": "E", "rating": "E",
"cost": 65000, "cost": 65000,
@@ -65,7 +65,7 @@
"armouradd": 80 "armouradd": 80
}, },
"2d": { "2d": {
"group": "hr", "grp": "hr",
"class": 5, "class": 5,
"rating": "D", "rating": "D",
"cost": 450000, "cost": 450000,
@@ -73,7 +73,7 @@
"armouradd": 240 "armouradd": 240
}, },
"2e": { "2e": {
"group": "hr", "grp": "hr",
"class": 5, "class": 5,
"rating": "E", "rating": "E",
"cost": 150000, "cost": 150000,

View File

@@ -1,7 +1,7 @@
{ {
"Refineries": { "Refineries": {
"20": { "20": {
"group": "rf", "grp": "rf",
"class": 4, "class": 4,
"rating": "B", "rating": "B",
"cost": 1500282, "cost": 1500282,
@@ -9,7 +9,7 @@
"bins": 9 "bins": 9
}, },
"21": { "21": {
"group": "rf", "grp": "rf",
"class": 4, "class": 4,
"rating": "C", "rating": "C",
"cost": 500094, "cost": 500094,
@@ -17,7 +17,7 @@
"bins": 7 "bins": 7
}, },
"22": { "22": {
"group": "rf", "grp": "rf",
"class": 4, "class": 4,
"rating": "D", "rating": "D",
"cost": 166698, "cost": 166698,
@@ -25,7 +25,7 @@
"bins": 5 "bins": 5
}, },
"23": { "23": {
"group": "rf", "grp": "rf",
"class": 4, "class": 4,
"rating": "E", "rating": "E",
"cost": 55566, "cost": 55566,
@@ -33,7 +33,7 @@
"bins": 4 "bins": 4
}, },
"1g": { "1g": {
"group": "rf", "grp": "rf",
"class": 1, "class": 1,
"rating": "A", "rating": "A",
"cost": 486000, "cost": 486000,
@@ -41,7 +41,7 @@
"bins": 4 "bins": 4
}, },
"1h": { "1h": {
"group": "rf", "grp": "rf",
"class": 1, "class": 1,
"rating": "B", "rating": "B",
"cost": 162000, "cost": 162000,
@@ -49,7 +49,7 @@
"bins": 3 "bins": 3
}, },
"1i": { "1i": {
"group": "rf", "grp": "rf",
"class": 1, "class": 1,
"rating": "C", "rating": "C",
"cost": 54000, "cost": 54000,
@@ -57,7 +57,7 @@
"bins": 2 "bins": 2
}, },
"1j": { "1j": {
"group": "rf", "grp": "rf",
"class": 1, "class": 1,
"rating": "D", "rating": "D",
"cost": 18000, "cost": 18000,
@@ -65,7 +65,7 @@
"bins": 1 "bins": 1
}, },
"1k": { "1k": {
"group": "rf", "grp": "rf",
"class": 1, "class": 1,
"rating": "E", "rating": "E",
"cost": 6000, "cost": 6000,
@@ -73,7 +73,7 @@
"bins": 1 "bins": 1
}, },
"1l": { "1l": {
"group": "rf", "grp": "rf",
"class": 2, "class": 2,
"rating": "A", "rating": "A",
"cost": 1020600, "cost": 1020600,
@@ -81,7 +81,7 @@
"bins": 6 "bins": 6
}, },
"1m": { "1m": {
"group": "rf", "grp": "rf",
"class": 2, "class": 2,
"rating": "B", "rating": "B",
"cost": 340200, "cost": 340200,
@@ -89,7 +89,7 @@
"bins": 5 "bins": 5
}, },
"1n": { "1n": {
"group": "rf", "grp": "rf",
"class": 2, "class": 2,
"rating": "C", "rating": "C",
"cost": 113400, "cost": 113400,
@@ -97,7 +97,7 @@
"bins": 4 "bins": 4
}, },
"1o": { "1o": {
"group": "rf", "grp": "rf",
"class": 2, "class": 2,
"rating": "D", "rating": "D",
"cost": 37800, "cost": 37800,
@@ -105,7 +105,7 @@
"bins": 3 "bins": 3
}, },
"1p": { "1p": {
"group": "rf", "grp": "rf",
"class": 2, "class": 2,
"rating": "E", "rating": "E",
"cost": 12600, "cost": 12600,
@@ -113,7 +113,7 @@
"bins": 2 "bins": 2
}, },
"1q": { "1q": {
"group": "rf", "grp": "rf",
"class": 3, "class": 3,
"rating": "A", "rating": "A",
"cost": 2143260, "cost": 2143260,
@@ -121,7 +121,7 @@
"bins": 8 "bins": 8
}, },
"1r": { "1r": {
"group": "rf", "grp": "rf",
"class": 3, "class": 3,
"rating": "B", "rating": "B",
"cost": 714420, "cost": 714420,
@@ -129,7 +129,7 @@
"bins": 7 "bins": 7
}, },
"1s": { "1s": {
"group": "rf", "grp": "rf",
"class": 3, "class": 3,
"rating": "C", "rating": "C",
"cost": 238140, "cost": 238140,
@@ -137,7 +137,7 @@
"bins": 6 "bins": 6
}, },
"1t": { "1t": {
"group": "rf", "grp": "rf",
"class": 3, "class": 3,
"rating": "D", "rating": "D",
"cost": 79380, "cost": 79380,
@@ -145,7 +145,7 @@
"bins": 4 "bins": 4
}, },
"1u": { "1u": {
"group": "rf", "grp": "rf",
"class": 3, "class": 3,
"rating": "E", "rating": "E",
"cost": 26460, "cost": 26460,
@@ -153,7 +153,7 @@
"bins": 3 "bins": 3
}, },
"1v": { "1v": {
"group": "rf", "grp": "rf",
"class": 4, "class": 4,
"rating": "A", "rating": "A",
"cost": 4500846, "cost": 4500846,

View File

@@ -1,7 +1,7 @@
{ {
"Scanners": { "Scanners": {
"2f": { "2f": {
"group": "sc", "grp": "sc",
"name": "Adv. Discovery Scanner", "name": "Adv. Discovery Scanner",
"class": 1, "class": 1,
"rating": "C", "rating": "C",
@@ -11,7 +11,7 @@
"range": null "range": null
}, },
"2g": { "2g": {
"group": "sc", "grp": "sc",
"name": "Inter. Discovery Scanner", "name": "Inter. Discovery Scanner",
"class": 1, "class": 1,
"rating": "D", "rating": "D",
@@ -21,7 +21,7 @@
"range": 1000 "range": 1000
}, },
"2h": { "2h": {
"group": "sc", "grp": "sc",
"name": "Basic Discovery Scanner", "name": "Basic Discovery Scanner",
"class": 1, "class": 1,
"rating": "E", "rating": "E",
@@ -31,7 +31,7 @@
"range": 500 "range": 500
}, },
"2i": { "2i": {
"group": "sc", "grp": "sc",
"name": "Detailed Surface Scanner", "name": "Detailed Surface Scanner",
"class": 1, "class": 1,
"rating": "C", "rating": "C",

View File

@@ -1,7 +1,7 @@
{ {
"Shield Cell Banks": { "Shield Cell Banks": {
"50": { "50": {
"group": "sb", "grp": "sb",
"class": 1, "class": 1,
"rating": "C", "rating": "C",
"cost": 3231, "cost": 3231,
@@ -11,7 +11,7 @@
"rate": "D" "rate": "D"
}, },
"51": { "51": {
"group": "sb", "grp": "sb",
"class": 1, "class": 1,
"rating": "D", "rating": "D",
"cost": 1293, "cost": 1293,
@@ -21,7 +21,7 @@
"rate": "E" "rate": "E"
}, },
"52": { "52": {
"group": "sb", "grp": "sb",
"class": 1, "class": 1,
"rating": "E", "rating": "E",
"cost": 517, "cost": 517,
@@ -31,7 +31,7 @@
"rate": "E" "rate": "E"
}, },
"53": { "53": {
"group": "sb", "grp": "sb",
"class": 2, "class": 2,
"rating": "A", "rating": "A",
"cost": 56547, "cost": 56547,
@@ -41,7 +41,7 @@
"rate": "C" "rate": "C"
}, },
"54": { "54": {
"group": "sb", "grp": "sb",
"class": 2, "class": 2,
"rating": "B", "rating": "B",
"cost": 22619, "cost": 22619,
@@ -51,7 +51,7 @@
"rate": "D" "rate": "D"
}, },
"55": { "55": {
"group": "sb", "grp": "sb",
"class": 2, "class": 2,
"rating": "C", "rating": "C",
"cost": 9048, "cost": 9048,
@@ -61,7 +61,7 @@
"rate": "D" "rate": "D"
}, },
"56": { "56": {
"group": "sb", "grp": "sb",
"class": 2, "class": 2,
"rating": "D", "rating": "D",
"cost": 3619, "cost": 3619,
@@ -71,7 +71,7 @@
"rate": "D" "rate": "D"
}, },
"57": { "57": {
"group": "sb", "grp": "sb",
"class": 2, "class": 2,
"rating": "E", "rating": "E",
"cost": 1448, "cost": 1448,
@@ -81,7 +81,7 @@
"rate": "E" "rate": "E"
}, },
"58": { "58": {
"group": "sb", "grp": "sb",
"class": 3, "class": 3,
"rating": "A", "rating": "A",
"cost": 158331, "cost": 158331,
@@ -91,7 +91,7 @@
"rate": "C" "rate": "C"
}, },
"59": { "59": {
"group": "sb", "grp": "sb",
"class": 3, "class": 3,
"rating": "B", "rating": "B",
"cost": 63333, "cost": 63333,
@@ -101,7 +101,7 @@
"rate": "C" "rate": "C"
}, },
"60": { "60": {
"group": "sb", "grp": "sb",
"class": 7, "class": 7,
"rating": "E", "rating": "E",
"cost": 249137, "cost": 249137,
@@ -111,7 +111,7 @@
"rate": "D" "rate": "D"
}, },
"61": { "61": {
"group": "sb", "grp": "sb",
"class": 8, "class": 8,
"rating": "A", "rating": "A",
"cost": 27249391, "cost": 27249391,
@@ -121,7 +121,7 @@
"rate": "A" "rate": "A"
}, },
"62": { "62": {
"group": "sb", "grp": "sb",
"class": 8, "class": 8,
"rating": "B", "rating": "B",
"cost": 10899756, "cost": 10899756,
@@ -131,7 +131,7 @@
"rate": "A" "rate": "A"
}, },
"63": { "63": {
"group": "sb", "grp": "sb",
"class": 8, "class": 8,
"rating": "C", "rating": "C",
"cost": 4359903, "cost": 4359903,
@@ -141,7 +141,7 @@
"rate": "B" "rate": "B"
}, },
"64": { "64": {
"group": "sb", "grp": "sb",
"class": 8, "class": 8,
"rating": "D", "rating": "D",
"cost": 1743961, "cost": 1743961,
@@ -151,7 +151,7 @@
"rate": "C" "rate": "C"
}, },
"65": { "65": {
"group": "sb", "grp": "sb",
"class": 8, "class": 8,
"rating": "E", "rating": "E",
"cost": 697584, "cost": 697584,
@@ -161,7 +161,7 @@
"rate": "C" "rate": "C"
}, },
"4u": { "4u": {
"group": "sb", "grp": "sb",
"class": 1, "class": 1,
"rating": "A", "rating": "A",
"cost": 20195, "cost": 20195,
@@ -171,7 +171,7 @@
"rate": "D" "rate": "D"
}, },
"4v": { "4v": {
"group": "sb", "grp": "sb",
"class": 1, "class": 1,
"rating": "B", "rating": "B",
"cost": 8078, "cost": 8078,
@@ -181,7 +181,7 @@
"rate": "D" "rate": "D"
}, },
"5a": { "5a": {
"group": "sb", "grp": "sb",
"class": 3, "class": 3,
"rating": "C", "rating": "C",
"cost": 25333, "cost": 25333,
@@ -191,7 +191,7 @@
"rate": "D" "rate": "D"
}, },
"5b": { "5b": {
"group": "sb", "grp": "sb",
"class": 3, "class": 3,
"rating": "D", "rating": "D",
"cost": 10133, "cost": 10133,
@@ -201,7 +201,7 @@
"rate": "D" "rate": "D"
}, },
"5c": { "5c": {
"group": "sb", "grp": "sb",
"class": 3, "class": 3,
"rating": "E", "rating": "E",
"cost": 4053, "cost": 4053,
@@ -211,7 +211,7 @@
"rate": "D" "rate": "D"
}, },
"5d": { "5d": {
"group": "sb", "grp": "sb",
"class": 4, "class": 4,
"rating": "A", "rating": "A",
"cost": 443328, "cost": 443328,
@@ -221,7 +221,7 @@
"rate": "B" "rate": "B"
}, },
"5e": { "5e": {
"group": "sb", "grp": "sb",
"class": 4, "class": 4,
"rating": "B", "rating": "B",
"cost": 177331, "cost": 177331,
@@ -231,7 +231,7 @@
"rate": "C" "rate": "C"
}, },
"5f": { "5f": {
"group": "sb", "grp": "sb",
"class": 4, "class": 4,
"rating": "C", "rating": "C",
"cost": 70932, "cost": 70932,
@@ -241,7 +241,7 @@
"rate": "C" "rate": "C"
}, },
"5g": { "5g": {
"group": "sb", "grp": "sb",
"class": 4, "class": 4,
"rating": "D", "rating": "D",
"cost": 28373, "cost": 28373,
@@ -251,7 +251,7 @@
"rate": "D" "rate": "D"
}, },
"5h": { "5h": {
"group": "sb", "grp": "sb",
"class": 4, "class": 4,
"rating": "E", "rating": "E",
"cost": 11349, "cost": 11349,
@@ -261,7 +261,7 @@
"rate": "D" "rate": "D"
}, },
"5i": { "5i": {
"group": "sb", "grp": "sb",
"class": 5, "class": 5,
"rating": "A", "rating": "A",
"cost": 1241317, "cost": 1241317,
@@ -271,7 +271,7 @@
"rate": "B" "rate": "B"
}, },
"5j": { "5j": {
"group": "sb", "grp": "sb",
"class": 5, "class": 5,
"rating": "B", "rating": "B",
"cost": 496527, "cost": 496527,
@@ -281,7 +281,7 @@
"rate": "B" "rate": "B"
}, },
"5k": { "5k": {
"group": "sb", "grp": "sb",
"class": 5, "class": 5,
"rating": "C", "rating": "C",
"cost": 198611, "cost": 198611,
@@ -291,7 +291,7 @@
"rate": "C" "rate": "C"
}, },
"5l": { "5l": {
"group": "sb", "grp": "sb",
"class": 5, "class": 5,
"rating": "D", "rating": "D",
"cost": 79444, "cost": 79444,
@@ -301,7 +301,7 @@
"rate": "C" "rate": "C"
}, },
"5m": { "5m": {
"group": "sb", "grp": "sb",
"class": 5, "class": 5,
"rating": "E", "rating": "E",
"cost": 31778, "cost": 31778,
@@ -311,7 +311,7 @@
"rate": "D" "rate": "D"
}, },
"5n": { "5n": {
"group": "sb", "grp": "sb",
"class": 6, "class": 6,
"rating": "A", "rating": "A",
"cost": 3475688, "cost": 3475688,
@@ -321,7 +321,7 @@
"rate": "A" "rate": "A"
}, },
"5o": { "5o": {
"group": "sb", "grp": "sb",
"class": 6, "class": 6,
"rating": "B", "rating": "B",
"cost": 1390275, "cost": 1390275,
@@ -331,7 +331,7 @@
"rate": "B" "rate": "B"
}, },
"5p": { "5p": {
"group": "sb", "grp": "sb",
"class": 6, "class": 6,
"rating": "C", "rating": "C",
"cost": 556110, "cost": 556110,
@@ -341,7 +341,7 @@
"rate": "C" "rate": "C"
}, },
"5q": { "5q": {
"group": "sb", "grp": "sb",
"class": 6, "class": 6,
"rating": "D", "rating": "D",
"cost": 222444, "cost": 222444,
@@ -351,7 +351,7 @@
"rate": "C" "rate": "C"
}, },
"5r": { "5r": {
"group": "sb", "grp": "sb",
"class": 6, "class": 6,
"rating": "E", "rating": "E",
"cost": 88978, "cost": 88978,
@@ -361,7 +361,7 @@
"rate": "D" "rate": "D"
}, },
"5s": { "5s": {
"group": "sb", "grp": "sb",
"class": 7, "class": 7,
"rating": "A", "rating": "A",
"cost": 9731925, "cost": 9731925,
@@ -371,7 +371,7 @@
"rate": "A" "rate": "A"
}, },
"5t": { "5t": {
"group": "sb", "grp": "sb",
"class": 7, "class": 7,
"rating": "B", "rating": "B",
"cost": 3892770, "cost": 3892770,
@@ -381,7 +381,7 @@
"rate": "B" "rate": "B"
}, },
"5u": { "5u": {
"group": "sb", "grp": "sb",
"class": 7, "class": 7,
"rating": "C", "rating": "C",
"cost": 1557108, "cost": 1557108,
@@ -391,7 +391,7 @@
"rate": "B" "rate": "B"
}, },
"5v": { "5v": {
"group": "sb", "grp": "sb",
"class": 7, "class": 7,
"rating": "D", "rating": "D",
"cost": 622843, "cost": 622843,

View File

@@ -1,147 +1,7 @@
{ {
"Shield Generators": { "Shield Generators": {
"40": {
"group": "sg",
"class": 3,
"rating": "A",
"cost": 507912,
"mass": 5,
"power": 2.52,
"minmass": 83,
"optmass": 165,
"maxmass": 413,
"minmul": 1.7,
"optmul": 1.2,
"maxmul": 0.7
},
"41": {
"group": "sg",
"class": 3,
"rating": "B",
"cost": 169304,
"mass": 8,
"power": 2.16,
"minmass": 83,
"optmass": 165,
"maxmass": 413,
"minmul": 1.6,
"optmul": 1.1,
"maxmul": 0.6
},
"42": {
"group": "sg",
"class": 3,
"rating": "C",
"cost": 56435,
"mass": 5,
"power": 1.8,
"minmass": 83,
"optmass": 165,
"maxmass": 413,
"minmul": 1.5,
"optmul": 1,
"maxmul": 0.5
},
"43": {
"group": "sg",
"class": 3,
"rating": "D",
"cost": 18812,
"mass": 2,
"power": 1.44,
"minmass": 83,
"optmass": 165,
"maxmass": 413,
"minmul": 1.4,
"optmul": 0.9,
"maxmul": 0.4
},
"44": {
"group": "sg",
"class": 3,
"rating": "E",
"cost": 6271,
"mass": 5,
"power": 1.08,
"minmass": 83,
"optmass": 165,
"maxmass": 413,
"minmul": 1.3,
"optmul": 0.8,
"maxmul": 0.3
},
"45": {
"group": "sg",
"class": 4,
"rating": "A",
"cost": 1610080,
"mass": 10,
"power": 3.08,
"minmass": 143,
"optmass": 285,
"maxmass": 713,
"minmul": 1.7,
"optmul": 1.2,
"maxmul": 0.7
},
"46": {
"group": "sg",
"class": 4,
"rating": "B",
"cost": 536693,
"mass": 16,
"power": 2.64,
"minmass": 143,
"optmass": 285,
"maxmass": 713,
"minmul": 1.6,
"optmul": 1.1,
"maxmul": 0.6
},
"47": {
"group": "sg",
"class": 4,
"rating": "C",
"cost": 178898,
"mass": 10,
"power": 2.2,
"minmass": 143,
"optmass": 285,
"maxmass": 713,
"minmul": 1.5,
"optmul": 1,
"maxmul": 0.5
},
"48": {
"group": "sg",
"class": 4,
"rating": "D",
"cost": 59633,
"mass": 4,
"power": 1.76,
"minmass": 143,
"optmass": 285,
"maxmass": 713,
"minmul": 1.4,
"optmul": 0.9,
"maxmul": 0.4
},
"49": {
"group": "sg",
"class": 4,
"rating": "E",
"cost": 19878,
"mass": 10,
"power": 1.32,
"minmass": 143,
"optmass": 285,
"maxmass": 713,
"minmul": 1.3,
"optmul": 0.8,
"maxmul": 0.3
},
"3r": { "3r": {
"group": "sg", "grp": "sg",
"class": 2, "class": 2,
"rating": "A", "rating": "A",
"cost": 160224, "cost": 160224,
@@ -155,7 +15,7 @@
"maxmul": 0.7 "maxmul": 0.7
}, },
"3s": { "3s": {
"group": "sg", "grp": "sg",
"class": 2, "class": 2,
"rating": "B", "rating": "B",
"cost": 53408, "cost": 53408,
@@ -169,7 +29,7 @@
"maxmul": 0.6 "maxmul": 0.6
}, },
"3t": { "3t": {
"group": "sg", "grp": "sg",
"class": 2, "class": 2,
"rating": "C", "rating": "C",
"cost": 17803, "cost": 17803,
@@ -183,7 +43,7 @@
"maxmul": 0.5 "maxmul": 0.5
}, },
"3u": { "3u": {
"group": "sg", "grp": "sg",
"class": 2, "class": 2,
"rating": "D", "rating": "D",
"cost": 5934, "cost": 5934,
@@ -197,7 +57,7 @@
"maxmul": 0.4 "maxmul": 0.4
}, },
"3v": { "3v": {
"group": "sg", "grp": "sg",
"class": 2, "class": 2,
"rating": "E", "rating": "E",
"cost": 1978, "cost": 1978,
@@ -210,8 +70,148 @@
"optmul": 0.8, "optmul": 0.8,
"maxmul": 0.3 "maxmul": 0.3
}, },
"40": {
"grp": "sg",
"class": 3,
"rating": "A",
"cost": 507912,
"mass": 5,
"power": 2.52,
"minmass": 83,
"optmass": 165,
"maxmass": 413,
"minmul": 1.7,
"optmul": 1.2,
"maxmul": 0.7
},
"41": {
"grp": "sg",
"class": 3,
"rating": "B",
"cost": 169304,
"mass": 8,
"power": 2.16,
"minmass": 83,
"optmass": 165,
"maxmass": 413,
"minmul": 1.6,
"optmul": 1.1,
"maxmul": 0.6
},
"42": {
"grp": "sg",
"class": 3,
"rating": "C",
"cost": 56435,
"mass": 5,
"power": 1.8,
"minmass": 83,
"optmass": 165,
"maxmass": 413,
"minmul": 1.5,
"optmul": 1,
"maxmul": 0.5
},
"43": {
"grp": "sg",
"class": 3,
"rating": "D",
"cost": 18812,
"mass": 2,
"power": 1.44,
"minmass": 83,
"optmass": 165,
"maxmass": 413,
"minmul": 1.4,
"optmul": 0.9,
"maxmul": 0.4
},
"44": {
"grp": "sg",
"class": 3,
"rating": "E",
"cost": 6271,
"mass": 5,
"power": 1.08,
"minmass": 83,
"optmass": 165,
"maxmass": 413,
"minmul": 1.3,
"optmul": 0.8,
"maxmul": 0.3
},
"45": {
"grp": "sg",
"class": 4,
"rating": "A",
"cost": 1610080,
"mass": 10,
"power": 3.08,
"minmass": 143,
"optmass": 285,
"maxmass": 713,
"minmul": 1.7,
"optmul": 1.2,
"maxmul": 0.7
},
"46": {
"grp": "sg",
"class": 4,
"rating": "B",
"cost": 536693,
"mass": 16,
"power": 2.64,
"minmass": 143,
"optmass": 285,
"maxmass": 713,
"minmul": 1.6,
"optmul": 1.1,
"maxmul": 0.6
},
"47": {
"grp": "sg",
"class": 4,
"rating": "C",
"cost": 178898,
"mass": 10,
"power": 2.2,
"minmass": 143,
"optmass": 285,
"maxmass": 713,
"minmul": 1.5,
"optmul": 1,
"maxmul": 0.5
},
"48": {
"grp": "sg",
"class": 4,
"rating": "D",
"cost": 59633,
"mass": 4,
"power": 1.76,
"minmass": 143,
"optmass": 285,
"maxmass": 713,
"minmul": 1.4,
"optmul": 0.9,
"maxmul": 0.4
},
"49": {
"grp": "sg",
"class": 4,
"rating": "E",
"cost": 19878,
"mass": 10,
"power": 1.32,
"minmass": 143,
"optmass": 285,
"maxmass": 713,
"minmul": 1.3,
"optmul": 0.8,
"maxmul": 0.3
},
"4a": { "4a": {
"group": "sg", "grp": "sg",
"class": 5, "class": 5,
"rating": "A", "rating": "A",
"cost": 5103953, "cost": 5103953,
@@ -225,7 +225,7 @@
"maxmul": 0.7 "maxmul": 0.7
}, },
"4b": { "4b": {
"group": "sg", "grp": "sg",
"class": 5, "class": 5,
"rating": "B", "rating": "B",
"cost": 1701318, "cost": 1701318,
@@ -239,7 +239,7 @@
"maxmul": 0.6 "maxmul": 0.6
}, },
"4c": { "4c": {
"group": "sg", "grp": "sg",
"class": 5, "class": 5,
"rating": "C", "rating": "C",
"cost": 567106, "cost": 567106,
@@ -253,7 +253,7 @@
"maxmul": 0.5 "maxmul": 0.5
}, },
"4d": { "4d": {
"group": "sg", "grp": "sg",
"class": 5, "class": 5,
"rating": "D", "rating": "D",
"cost": 189035, "cost": 189035,
@@ -267,7 +267,7 @@
"maxmul": 0.4 "maxmul": 0.4
}, },
"4e": { "4e": {
"group": "sg", "grp": "sg",
"class": 5, "class": 5,
"rating": "E", "rating": "E",
"cost": 63012, "cost": 63012,
@@ -281,7 +281,7 @@
"maxmul": 0.3 "maxmul": 0.3
}, },
"4f": { "4f": {
"group": "sg", "grp": "sg",
"class": 6, "class": 6,
"rating": "A", "rating": "A",
"cost": 16179531, "cost": 16179531,
@@ -295,7 +295,7 @@
"maxmul": 0.7 "maxmul": 0.7
}, },
"4g": { "4g": {
"group": "sg", "grp": "sg",
"class": 6, "class": 6,
"rating": "B", "rating": "B",
"cost": 5393177, "cost": 5393177,
@@ -309,7 +309,7 @@
"maxmul": 0.6 "maxmul": 0.6
}, },
"4h": { "4h": {
"group": "sg", "grp": "sg",
"class": 6, "class": 6,
"rating": "C", "rating": "C",
"cost": 1797726, "cost": 1797726,
@@ -323,7 +323,7 @@
"maxmul": 0.5 "maxmul": 0.5
}, },
"4i": { "4i": {
"group": "sg", "grp": "sg",
"class": 6, "class": 6,
"rating": "D", "rating": "D",
"cost": 599242, "cost": 599242,
@@ -337,7 +337,7 @@
"maxmul": 0.4 "maxmul": 0.4
}, },
"4j": { "4j": {
"group": "sg", "grp": "sg",
"class": 6, "class": 6,
"rating": "E", "rating": "E",
"cost": 199747, "cost": 199747,
@@ -351,7 +351,7 @@
"maxmul": 0.3 "maxmul": 0.3
}, },
"4k": { "4k": {
"group": "sg", "grp": "sg",
"class": 7, "class": 7,
"rating": "A", "rating": "A",
"cost": 51289112, "cost": 51289112,
@@ -365,7 +365,7 @@
"maxmul": 0.7 "maxmul": 0.7
}, },
"4l": { "4l": {
"group": "sg", "grp": "sg",
"class": 7, "class": 7,
"rating": "B", "rating": "B",
"cost": 17096371, "cost": 17096371,
@@ -379,7 +379,7 @@
"maxmul": 0.6 "maxmul": 0.6
}, },
"4m": { "4m": {
"group": "sg", "grp": "sg",
"class": 7, "class": 7,
"rating": "C", "rating": "C",
"cost": 5698790, "cost": 5698790,
@@ -393,7 +393,7 @@
"maxmul": 0.5 "maxmul": 0.5
}, },
"4n": { "4n": {
"group": "sg", "grp": "sg",
"class": 7, "class": 7,
"rating": "D", "rating": "D",
"cost": 1899597, "cost": 1899597,
@@ -407,7 +407,7 @@
"maxmul": 0.4 "maxmul": 0.4
}, },
"4o": { "4o": {
"group": "sg", "grp": "sg",
"class": 7, "class": 7,
"rating": "E", "rating": "E",
"cost": 633199, "cost": 633199,
@@ -421,7 +421,7 @@
"maxmul": 0.3 "maxmul": 0.3
}, },
"4p": { "4p": {
"group": "sg", "grp": "sg",
"class": 8, "class": 8,
"rating": "A", "rating": "A",
"cost": 162586486, "cost": 162586486,
@@ -435,7 +435,7 @@
"maxmul": 0.7 "maxmul": 0.7
}, },
"4q": { "4q": {
"group": "sg", "grp": "sg",
"class": 8, "class": 8,
"rating": "B", "rating": "B",
"cost": 54195495, "cost": 54195495,
@@ -449,7 +449,7 @@
"maxmul": 0.6 "maxmul": 0.6
}, },
"4r": { "4r": {
"group": "sg", "grp": "sg",
"class": 8, "class": 8,
"rating": "C", "rating": "C",
"cost": 18065165, "cost": 18065165,
@@ -463,7 +463,7 @@
"maxmul": 0.5 "maxmul": 0.5
}, },
"4s": { "4s": {
"group": "sg", "grp": "sg",
"class": 8, "class": 8,
"rating": "D", "rating": "D",
"cost": 6021722, "cost": 6021722,
@@ -477,7 +477,7 @@
"maxmul": 0.4 "maxmul": 0.4
}, },
"4t": { "4t": {
"group": "sg", "grp": "sg",
"class": 8, "class": 8,
"rating": "E", "rating": "E",
"cost": 2007241, "cost": 2007241,

View File

@@ -1,7 +1,7 @@
{ {
"adder": { "adder": {
"properties": { "properties": {
"group": "ex", "grp": "ex",
"name": "Adder", "name": "Adder",
"manufacturer": "Zorgon Peterson", "manufacturer": "Zorgon Peterson",
"class": 1, "class": 1,

View File

@@ -1,7 +1,7 @@
{ {
"anaconda": { "anaconda": {
"properties": { "properties": {
"group": "mp", "grp": "mp",
"name": "Anaconda", "name": "Anaconda",
"manufacturer": "Faulcon DeLacy", "manufacturer": "Faulcon DeLacy",
"class": 3, "class": 3,

View File

@@ -1,7 +1,7 @@
{ {
"asp": { "asp": {
"properties": { "properties": {
"group": "ex", "grp": "ex",
"name": "Asp", "name": "Asp",
"manufacturer": "Lakon", "manufacturer": "Lakon",
"class": 2, "class": 2,

View File

@@ -1,7 +1,7 @@
{ {
"cobra_mk_iii": { "cobra_mk_iii": {
"properties": { "properties": {
"group": "mp", "grp": "mp",
"name": "Cobra Mk III", "name": "Cobra Mk III",
"manufacturer": "Faulcon DeLacy", "manufacturer": "Faulcon DeLacy",
"class": 1, "class": 1,

View File

@@ -1,7 +1,7 @@
{ {
"eagle": { "eagle": {
"properties": { "properties": {
"group": "co", "grp": "co",
"name": "Eagle", "name": "Eagle",
"manufacturer": "Core Dynamics", "manufacturer": "Core Dynamics",
"class": 1, "class": 1,

View File

@@ -1,7 +1,7 @@
{ {
"federal_dropship": { "federal_dropship": {
"properties": { "properties": {
"group": "mp", "grp": "mp",
"name": "Federal Dropship", "name": "Federal Dropship",
"manufacturer": "Core Dynamics", "manufacturer": "Core Dynamics",
"class": 2, "class": 2,

View File

@@ -1,7 +1,7 @@
{ {
"fer_de_lance": { "fer_de_lance": {
"properties": { "properties": {
"group": "co", "grp": "co",
"name": "Fer-de-Lance", "name": "Fer-de-Lance",
"manufacturer": "Zorgon Peterson", "manufacturer": "Zorgon Peterson",
"class": 2, "class": 2,

View File

@@ -1,7 +1,7 @@
{ {
"hauler": { "hauler": {
"properties": { "properties": {
"group": "fr", "grp": "fr",
"name": "Hauler", "name": "Hauler",
"manufacturer": "Zorgon Peterson", "manufacturer": "Zorgon Peterson",
"class": 1, "class": 1,

View File

@@ -1,7 +1,7 @@
{ {
"imperial_clipper": { "imperial_clipper": {
"properties": { "properties": {
"group": "mp", "grp": "mp",
"name": "Imperial Clipper", "name": "Imperial Clipper",
"manufacturer": "Gutamaya", "manufacturer": "Gutamaya",
"class": 3, "class": 3,

View File

@@ -1,7 +1,7 @@
{ {
"orca": { "orca": {
"properties": { "properties": {
"group": "pa", "grp": "pa",
"name": "Orca", "name": "Orca",
"manufacturer": "Saud Kruger", "manufacturer": "Saud Kruger",
"class": 3, "class": 3,

View File

@@ -1,7 +1,7 @@
{ {
"python": { "python": {
"properties": { "properties": {
"group": "mp", "grp": "mp",
"name": "Python", "name": "Python",
"manufacturer": "Faulcon DeLacy", "manufacturer": "Faulcon DeLacy",
"class": 2, "class": 2,

View File

@@ -1,7 +1,7 @@
{ {
"sidewinder": { "sidewinder": {
"properties": { "properties": {
"group": "mp", "grp": "mp",
"name": "Sidewinder", "name": "Sidewinder",
"manufacturer": "Faulcon DeLacy", "manufacturer": "Faulcon DeLacy",
"class": 1, "class": 1,

View File

@@ -1,7 +1,7 @@
{ {
"type_6_transporter": { "type_6_transporter": {
"properties": { "properties": {
"group": "fr", "grp": "fr",
"name": "Type-6 Transporter", "name": "Type-6 Transporter",
"manufacturer": "Lakon", "manufacturer": "Lakon",
"class": 2, "class": 2,

View File

@@ -1,7 +1,7 @@
{ {
"type_7_transport": { "type_7_transport": {
"properties": { "properties": {
"group": "fr", "grp": "fr",
"name": "Type-7 Transport", "name": "Type-7 Transport",
"manufacturer": "Lakon", "manufacturer": "Lakon",
"class": 3, "class": 3,

View File

@@ -1,7 +1,7 @@
{ {
"type_9_heavy": { "type_9_heavy": {
"properties": { "properties": {
"group": "fr", "grp": "fr",
"name": "Type-9 Heavy", "name": "Type-9 Heavy",
"manufacturer": "Lakon", "manufacturer": "Lakon",
"class": 3, "class": 3,

View File

@@ -1,7 +1,7 @@
{ {
"viper": { "viper": {
"properties": { "properties": {
"group": "co", "grp": "co",
"name": "Viper", "name": "Viper",
"manufacturer": "Faulcon DeLacy", "manufacturer": "Faulcon DeLacy",
"class": 1, "class": 1,

View File

@@ -1,7 +1,7 @@
{ {
"vulture": { "vulture": {
"properties": { "properties": {
"group": "co", "grp": "co",
"name": "Vulture", "name": "Vulture",
"manufacturer": "Core Dynamics", "manufacturer": "Core Dynamics",
"class": 1, "class": 1,