├── .browserslistrc ├── .editorconfig ├── .github └── workflows │ └── main.yml ├── .gitignore ├── .prettierrc ├── README.md ├── angular.json ├── e2e ├── protractor.conf.js ├── src │ ├── app.e2e-spec.ts │ └── app.po.ts └── tsconfig.e2e.json ├── package-lock.json ├── package.json ├── src ├── app │ ├── app-routing.module.ts │ ├── app.component.css │ ├── app.component.html │ ├── app.component.ts │ ├── app.module.ts │ ├── arcane-force │ │ ├── arcane-force-routing.module.ts │ │ ├── arcane-force.module.ts │ │ └── containers │ │ │ ├── arcane-force.component.css │ │ │ ├── arcane-force.component.html │ │ │ └── arcane-force.component.ts │ ├── core │ │ ├── core.module.ts │ │ └── services │ │ │ └── core.service.ts │ ├── deal │ │ ├── components │ │ │ ├── ability-stat.component.html │ │ │ ├── ability-stat.component.ts │ │ │ ├── arcane-symbol-stat.component.html │ │ │ ├── arcane-symbol-stat.component.ts │ │ │ ├── buff-stat.component.html │ │ │ ├── buff-stat.component.ts │ │ │ ├── disposition-stat.component.html │ │ │ ├── disposition-stat.component.ts │ │ │ ├── hyper-stat.component.html │ │ │ ├── hyper-stat.component.ts │ │ │ ├── level-stat.component.html │ │ │ ├── level-stat.component.ts │ │ │ ├── skill-stat.component.html │ │ │ ├── skill-stat.component.ts │ │ │ ├── union-stat.component.html │ │ │ ├── union-stat.component.ts │ │ │ ├── v-matrix-stat.component.html │ │ │ └── v-matrix-stat.component.ts │ │ ├── containers │ │ │ ├── deal.component.html │ │ │ └── deal.component.ts │ │ ├── deal-routing.module.ts │ │ ├── deal.module.ts │ │ ├── entities │ │ │ ├── item.ts │ │ │ ├── job.ts │ │ │ ├── skill.ts │ │ │ ├── skill │ │ │ │ ├── skill-common.ts │ │ │ │ ├── skill-link.ts │ │ │ │ ├── skill-mechanic.ts │ │ │ │ ├── skill-v-common.ts │ │ │ │ ├── skill-v-pirate.ts │ │ │ │ └── skill-v-warrior.ts │ │ │ └── union.ts │ │ ├── models │ │ │ ├── charcacter.model.ts │ │ │ ├── core.model.ts │ │ │ ├── item.model.ts │ │ │ ├── job.model.ts │ │ │ ├── skill.model.ts │ │ │ ├── stat.model.ts │ │ │ └── union.model.ts │ │ └── services │ │ │ └── stat.service.ts │ ├── grinding │ │ ├── containers │ │ │ ├── grinding.component.html │ │ │ └── grinding.component.ts │ │ ├── grinding-routing.module.ts │ │ ├── grinding.module.ts │ │ ├── models │ │ │ └── map.ts │ │ └── services │ │ │ └── grinding.service.ts │ ├── material │ │ └── material.module.ts │ ├── randombox │ │ ├── containers │ │ │ ├── randombox-table-datasource.ts │ │ │ ├── randombox.component.css │ │ │ ├── randombox.component.html │ │ │ └── randombox.component.ts │ │ ├── randombox-routing.module.ts │ │ ├── randombox.module.ts │ │ └── services │ │ │ └── randombox.service.ts │ ├── skill │ │ ├── canvas.service.ts │ │ ├── containers │ │ │ ├── canvas-setting.component.html │ │ │ ├── canvas-setting.component.ts │ │ │ ├── canvas.component.html │ │ │ ├── canvas.component.ts │ │ │ ├── draggable.component.html │ │ │ ├── draggable.component.ts │ │ │ ├── layer.component.html │ │ │ ├── layer.component.ts │ │ │ ├── search.component.html │ │ │ ├── search.component.ts │ │ │ ├── skill.component.html │ │ │ └── skill.component.ts │ │ ├── layer.service.ts │ │ ├── models │ │ │ ├── canvas-setting.ts │ │ │ ├── layer.ts │ │ │ └── skill-data.ts │ │ ├── skill-routing.module.ts │ │ └── skill.module.ts │ └── upgrade │ │ ├── containers │ │ ├── upgrade-matrix.component.css │ │ ├── upgrade-matrix.component.html │ │ ├── upgrade-matrix.component.ts │ │ ├── upgrade.component.css │ │ ├── upgrade.component.html │ │ └── upgrade.component.ts │ │ ├── upgrade-routing.module.ts │ │ └── upgrade.module.ts ├── assets │ ├── .gitkeep │ ├── absolutekill.png │ ├── abysschargedrive1.png │ ├── abysschargedrive2.png │ ├── abysschaser.png │ ├── abyssterror.png │ ├── adordnance.png │ ├── adordnance_shoot.png │ ├── advancedearthbreak.png │ ├── advancedearthbreak_shockwave.png │ ├── advancedpowerstomp.png │ ├── advancedpowerstomp_shockwave.png │ ├── advancedrollingassulter.png │ ├── advancedrollingcurve.png │ ├── advancedspincutter.png │ ├── advancedstormbreak.png │ ├── advancedwheelwind.png │ ├── amsal1.png │ ├── amsal2.png │ ├── amsal2_kill.png │ ├── ancientastra_discharge.png │ ├── ancientastra_transition.png │ ├── apocalypse.png │ ├── armorbreak.png │ ├── arrowrain.png │ ├── asura.png │ ├── aurablade.png │ ├── bailofshadow.png │ ├── balkanpunch.png │ ├── balkanpunch_init.png │ ├── battlekingbar1.png │ ├── battlekingbar2.png │ ├── beyonder1.png │ ├── beyonder2.png │ ├── beyonder3.png │ ├── bfgcannonball.png │ ├── bigbang.png │ ├── binding_tempest.png │ ├── blackmage1.png │ ├── bladedancing.png │ ├── bladefury.png │ ├── bladestorminit.png │ ├── bladestormrepeat.png │ ├── bladetornado.png │ ├── bladetornado_shoot.png │ ├── blast.png │ ├── blazingorbitalflame.png │ ├── blizzard.png │ ├── bloodfist.png │ ├── blossom.png │ ├── bomb.png │ ├── bombpunch1.png │ ├── bombpunch2.png │ ├── bombpunch3.png │ ├── bombpunch4.png │ ├── bong1.png │ ├── bong2.png │ ├── brandishmaha.png │ ├── breakback.png │ ├── breathofearth.png │ ├── breathofwind.png │ ├── brick.png │ ├── bulletparty.png │ ├── burningregion.png │ ├── cannonbazooka.png │ ├── cardinalblast.png │ ├── cardinaldischarge.png │ ├── cardinaltransition.png │ ├── cataclysm.png │ ├── cerberus.png │ ├── chainsickle1.png │ ├── chainsickle2.png │ ├── chargedarrow_full.png │ ├── chtr.png │ ├── circle_of_suppression.png │ ├── circleofearth.png │ ├── circleofmana1.png │ ├── circleofmana2.png │ ├── circleofthunder.png │ ├── circleofwind.png │ ├── claw.png │ ├── clonesunin.png │ ├── comboassult_blast_arrow.png │ ├── comboassult_discharge_arrow.png │ ├── comboassult_discharge_bow.png │ ├── comboassult_transition_arrow.png │ ├── combodesfort.png │ ├── comboinstinct1.png │ ├── comboinstinct2.png │ ├── comboinstinct3.png │ ├── creation.png │ ├── crescentdivide.png │ ├── crestofthesolar.png │ ├── crestofthesolar_summon.png │ ├── crossthestyx.png │ ├── cruelstab.png │ ├── crush.png │ ├── danceofmoon.png │ ├── darkaura.png │ ├── darkflare.png │ ├── darkimpale.png │ ├── darknessaura.png │ ├── darknessaurafinal.png │ ├── darkspear.png │ ├── deadlycharge.png │ ├── deathstar.png │ ├── deathtrigger.png │ ├── debuffaura.png │ ├── demonbane1.png │ ├── demonbane2.png │ ├── demonexplosion1.png │ ├── demonexplosion2.png │ ├── demonfrenzy.png │ ├── demonimpact.png │ ├── demonslash1.png │ ├── demonslash2.png │ ├── demonslash3.png │ ├── demonslash4.png │ ├── destroy.png │ ├── devilcry.png │ ├── deviousdream.png │ ├── deviousnightmare.png │ ├── dimensionsword1.png │ ├── dimensionsword2.png │ ├── distortionfield.png │ ├── diveofearth1.png │ ├── diveofearth2.png │ ├── diveofearth3.png │ ├── diveofearth4.png │ ├── divide.png │ ├── divinecharge.png │ ├── divinepunishment.png │ ├── divinestigma.png │ ├── divinestigma_explode.png │ ├── doublepang.png │ ├── dracoslasher.png │ ├── dracoslasher_final.png │ ├── dracoslasher_final_shoot.png │ ├── dracoslasher_shoot.png │ ├── dragonbreak1.png │ ├── dragonbreak2.png │ ├── dragonbreak3.png │ ├── dragonbreak4.png │ ├── dragonbreath.png │ ├── dragonburst.png │ ├── dragondive.png │ ├── dragonslave.png │ ├── dragonswift.png │ ├── dragpulling_front.png │ ├── earthquake.png │ ├── earthquake2.png │ ├── edgeofresonance.png │ ├── elementalblast.png │ ├── endlessdream.png │ ├── endlessnightmare.png │ ├── endlesspain.png │ ├── enhancepiercing.png │ ├── ensizing.png │ ├── exceedexecution.png │ ├── exceedmoonlightslash.png │ ├── fairyturn.png │ ├── falling_sakura.png │ ├── fatalblitz.png │ ├── finalblow.png │ ├── finaleribbon.png │ ├── finishblow.png │ ├── fireaura.png │ ├── fistenrage.png │ ├── flame.png │ ├── flame2.png │ ├── flamedischarge.png │ ├── flamesweep.png │ ├── flashassulter.png │ ├── frontslash.png │ ├── fullburstshot.png │ ├── fulldrive.png │ ├── gateoflight.png │ ├── genesis.png │ ├── ghost_yaksha_1.png │ ├── ghost_yaksha_2.png │ ├── ghost_yaksha_3.png │ ├── ghost_yaksha_4.png │ ├── ghost_yaksha_great_oni.png │ ├── gigacrash.png │ ├── gigaslasher.png │ ├── gigaslasher_final.png │ ├── gioatan.png │ ├── grandcrossbig.png │ ├── grandcrosssmall.png │ ├── greviouswound.png │ ├── gungnirdescent.png │ ├── gustchargedrive.png │ ├── gustdive.png │ ├── gwicham.png │ ├── hauntededge_nachal.png │ ├── heavensdoor.png │ ├── hologramfusion.png │ ├── homingmissile.png │ ├── hookbomber.png │ ├── howlingfist.png │ ├── howlingfist_final.png │ ├── iceage.png │ ├── illusionaryshot.png │ ├── imperialbreath.png │ ├── infantry.png │ ├── infinite.png │ ├── infinityflamecircle.png │ ├── insatiablehunger.png │ ├── irkallaswrath.png │ ├── jingwicham.png │ ├── jointattack_alpha_1.png │ ├── jointattack_alpha_2.png │ ├── jointattack_alpha_3.png │ ├── jointattack_beta_1.png │ ├── jointattack_beta_2.png │ ├── jointattack_beta_3.png │ ├── jointattack_final.png │ ├── joker.png │ ├── jumpingcrash.png │ ├── jumpingcrash_shockwave.png │ ├── karmafury.png │ ├── knife.png │ ├── leaptornado.png │ ├── legendaryspear.png │ ├── liberated_spirit_circle.png │ ├── lightanddarkness.png │ ├── lightforceray.png │ ├── lightningsphere.png │ ├── longrangetrueshot.png │ ├── lotus1.png │ ├── lucidsoul.png │ ├── mabong.png │ ├── maelstrom.png │ ├── magnumpunch.png │ ├── markofphantom.png │ ├── megasmasher.png │ ├── memoryofroot.png │ ├── metalarmorfullburst.png │ ├── metamorphosis.png │ ├── meteor.png │ ├── microblackhole.png │ ├── micromissilecontainer.png │ ├── monsoon.png │ ├── moonstrike.png │ ├── multipleoption.png │ ├── nautilusassult_ship.png │ ├── nautilusassult_shot.png │ ├── needlebat1.png │ ├── needlebat2.png │ ├── needlebat3.png │ ├── nine_tailed_fury.png │ ├── nobility.png │ ├── order.png │ ├── orochi_unbound.png │ ├── overloadmode.png │ ├── pacho.png │ ├── pantheon.png │ ├── peacemaker.png │ ├── peacemaker_final.png │ ├── penrilcrash.png │ ├── persillade.png │ ├── phantomblade.png │ ├── phantomblow.png │ ├── piercecyclone.png │ ├── piercethrust.png │ ├── piercing.png │ ├── pirateflag.png │ ├── plainchargedrive.png │ ├── poisonneedleshoot.png │ ├── poisonneedlespin.png │ ├── pray.png │ ├── primalroar.png │ ├── psychicground2.png │ ├── psychicsmashing2.png │ ├── psychictornado.png │ ├── psychobreak.png │ ├── psychometry.png │ ├── punishingresonator_dark.png │ ├── punishingresonator_equalibrium.png │ ├── punishingresonator_light.png │ ├── purgebombard.png │ ├── purgebombardment.png │ ├── purgesnipe.png │ ├── rageuprizing.png │ ├── ragingblow.png │ ├── ragingblow_enrage.png │ ├── reaperscythe.png │ ├── releasepilebunker.png │ ├── releasepilebunker_a.png │ ├── releasepilebunker_b.png │ ├── releasepilebunker_c.png │ ├── releasepilebunker_d.png │ ├── restore.png │ ├── revenant.png │ ├── rhoaias.png │ ├── riftbreak.png │ ├── rollingcannonrainbow.png │ ├── royalguard.png │ ├── royalguard5.png │ ├── ruin1.png │ ├── ruin2.png │ ├── sanctuary.png │ ├── scarletchargedrive.png │ ├── scimitar.png │ ├── seaserpentburst.png │ ├── seaserpentenrage.png │ ├── serpantscrew.png │ ├── serpentassultenrage.png │ ├── shadowstrike.png │ ├── shelter.png │ ├── shikigami.png │ ├── shikigami_doppelganger.png │ ├── shiningcross.png │ ├── shockwavepunch.png │ ├── shockwavepunch_wave.png │ ├── shotgun1.png │ ├── shotgun2.png │ ├── shotgun3.png │ ├── showdown.png │ ├── silhouettemirage.png │ ├── smashingmultipunch.png │ ├── smashingmultipunch_final.png │ ├── smoke.png │ ├── solarpierce.png │ ├── solunardivide.png │ ├── songofsky.png │ ├── sonicblow.png │ ├── soulassult.png │ ├── souleclipse.png │ ├── soullightslash.png │ ├── soulresonance.png │ ├── soulseeker.png │ ├── soultent_large.png │ ├── soultent_small.png │ ├── speedingsunset.png │ ├── spiderinmirror.png │ ├── spiderinmirror_summon.png │ ├── spiralofmana.png │ ├── spiritofsnow.png │ ├── squall.png │ ├── storm.png │ ├── strangebomb.png │ ├── strikearrow1.png │ ├── strikearrow2.png │ ├── strikearrow3.png │ ├── stroke1.png │ ├── stroke2.png │ ├── suddenraid.png │ ├── supernova.png │ ├── supportwaver.png │ ├── swiftofthunder1.png │ ├── swiftofthunder2.png │ ├── swiftofthunder3.png │ ├── swiftofthunder4.png │ ├── swiftofthunder5.png │ ├── swiftofwind.png │ ├── swordillusion.png │ ├── swordofburningsoul.png │ ├── swordofburningsoul_enrage.png │ ├── swordoflight5.png │ ├── tearingknife.png │ ├── tempestofcard_large.png │ ├── tempestofcard_small.png │ ├── tenaciousinstinct.png │ ├── territory.png │ ├── territory_final.png │ ├── thousandsword.png │ ├── thunder.png │ ├── tiger1.png │ ├── tiger2.png │ ├── topa.png │ ├── trinity1.png │ ├── trinity2.png │ ├── trinity3.png │ ├── trinityfusion.png │ ├── turningdrive.png │ ├── typoon.png │ ├── ultimate_bpm.png │ ├── ultimate_material.png │ ├── ultimate_movingmatter.png │ ├── ultimate_psychicbullet.png │ ├── ultimatedrive.png │ ├── unbridledchaos.png │ ├── uncountablearrow.png │ ├── unicornspike.png │ ├── unionaura.png │ ├── unstoppableimpulse.png │ ├── upperslash.png │ ├── vanquishers_charm.png │ ├── veritable_pandemonium.png │ ├── verushilla1.png │ ├── verushilla2.png │ ├── verushilla3.png │ ├── waryu.png │ ├── weaponvariety.png │ ├── weaponvarietyfinale.png │ ├── whale.png │ ├── wildbalkantypex.png │ ├── will_1_1.png │ ├── will_1_2.png │ ├── will_1_3.png │ ├── will_2_1.png │ ├── will_2_2.png │ ├── will_2_3.png │ ├── will_2_4.png │ ├── will_2_5.png │ ├── will_3_1.png │ ├── will_3_2.png │ ├── will_3_3.png │ ├── windcutter.png │ ├── windofpray.png │ ├── windstrike.png │ ├── wrathofenril.png │ ├── yeouisun.png │ ├── yeouisun_wind.png │ ├── yuki_musume_shoukan_1.png │ ├── yuki_musume_shoukan_2.png │ └── zodiacray.png ├── environments │ ├── environment.prod.ts │ └── environment.ts ├── favicon.ico ├── index.html ├── karma.conf.js ├── main.ts ├── polyfills.ts ├── styles.css ├── test.ts ├── tsconfig.app.json ├── tsconfig.spec.json └── tslint.json ├── tsconfig.json └── tslint.json /.browserslistrc: -------------------------------------------------------------------------------- 1 | # This file is currently used by autoprefixer to adjust CSS to support the below specified browsers 2 | # For additional information regarding the format and rule options, please see: 3 | # https://github.com/browserslist/browserslist#queries 4 | # For IE 9-11 support, please uncomment the last line of the file and adjust as needed 5 | > 0.5% 6 | last 2 versions 7 | Firefox ESR 8 | not dead 9 | # IE 9-11 -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | max_line_length = off 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Deploy to GitHub Pages via angular-cli-ghpages 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build-and-deploy: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - name: Checkout 11 | uses: actions/checkout@v2 12 | 13 | - name: Use Node.js 10.x 14 | uses: actions/setup-node@v1 15 | with: 16 | node-version: 10.x 17 | 18 | - name: Prepare and deploy 19 | env: 20 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 21 | run: | 22 | npm install 23 | npm run ng -- deploy --name="icepeng" --email="typ0@naver.com" --no-silent -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See http://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | 8 | # dependencies 9 | /node_modules 10 | 11 | # IDEs and editors 12 | /.idea 13 | .project 14 | .classpath 15 | .c9/ 16 | *.launch 17 | .settings/ 18 | *.sublime-workspace 19 | 20 | # IDE - VSCode 21 | .vscode/* 22 | !.vscode/settings.json 23 | !.vscode/tasks.json 24 | !.vscode/launch.json 25 | !.vscode/extensions.json 26 | 27 | # misc 28 | /.sass-cache 29 | /connect.lock 30 | /coverage 31 | /libpeerconnection.log 32 | npm-debug.log 33 | yarn-error.log 34 | testem.log 35 | /typings 36 | 37 | # System Files 38 | .DS_Store 39 | Thumbs.db 40 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all" 4 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MapleCalc 2 | 3 | This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 6.1.4. 4 | 5 | ## Development server 6 | 7 | Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. 8 | 9 | ## Code scaffolding 10 | 11 | Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. 12 | 13 | ## Build 14 | 15 | Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. 16 | 17 | ## Running unit tests 18 | 19 | Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). 20 | 21 | ## Running end-to-end tests 22 | 23 | Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). 24 | 25 | ## Further help 26 | 27 | To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). 28 | -------------------------------------------------------------------------------- /e2e/protractor.conf.js: -------------------------------------------------------------------------------- 1 | // Protractor configuration file, see link for more information 2 | // https://github.com/angular/protractor/blob/master/lib/config.ts 3 | 4 | const { SpecReporter } = require('jasmine-spec-reporter'); 5 | 6 | exports.config = { 7 | allScriptsTimeout: 11000, 8 | specs: [ 9 | './src/**/*.e2e-spec.ts' 10 | ], 11 | capabilities: { 12 | 'browserName': 'chrome' 13 | }, 14 | directConnect: true, 15 | baseUrl: 'http://localhost:4200/', 16 | framework: 'jasmine', 17 | jasmineNodeOpts: { 18 | showColors: true, 19 | defaultTimeoutInterval: 30000, 20 | print: function() {} 21 | }, 22 | onPrepare() { 23 | require('ts-node').register({ 24 | project: require('path').join(__dirname, './tsconfig.e2e.json') 25 | }); 26 | jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); 27 | } 28 | }; -------------------------------------------------------------------------------- /e2e/src/app.e2e-spec.ts: -------------------------------------------------------------------------------- 1 | import { AppPage } from './app.po'; 2 | 3 | describe('workspace-project App', () => { 4 | let page: AppPage; 5 | 6 | beforeEach(() => { 7 | page = new AppPage(); 8 | }); 9 | 10 | it('should display welcome message', () => { 11 | page.navigateTo(); 12 | expect(page.getParagraphText()).toEqual('Welcome to maple-calc!'); 13 | }); 14 | }); 15 | -------------------------------------------------------------------------------- /e2e/src/app.po.ts: -------------------------------------------------------------------------------- 1 | import { browser, by, element } from 'protractor'; 2 | 3 | export class AppPage { 4 | navigateTo() { 5 | return browser.get('/'); 6 | } 7 | 8 | getParagraphText() { 9 | return element(by.css('app-root h1')).getText(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /e2e/tsconfig.e2e.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "module": "commonjs", 6 | "target": "es5", 7 | "types": [ 8 | "jasmine", 9 | "jasminewd2", 10 | "node" 11 | ] 12 | } 13 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "maple-calc", 3 | "version": "0.0.0", 4 | "scripts": { 5 | "ng": "ng", 6 | "start": "ng serve", 7 | "build": "ng build", 8 | "test": "ng test", 9 | "lint": "ng lint", 10 | "e2e": "ng e2e", 11 | "postinstall": "ngcc" 12 | }, 13 | "private": true, 14 | "dependencies": { 15 | "@angular/animations": "^11.0.5", 16 | "@angular/cdk": "^11.0.3", 17 | "@angular/common": "^11.0.5", 18 | "@angular/compiler": "^11.0.5", 19 | "@angular/core": "^11.0.5", 20 | "@angular/forms": "^11.0.5", 21 | "@angular/material": "^11.0.3", 22 | "@angular/platform-browser": "^11.0.5", 23 | "@angular/platform-browser-dynamic": "^11.0.5", 24 | "@angular/router": "^11.0.5", 25 | "angulartics2": "^8.3.0", 26 | "core-js": "^2.5.4", 27 | "echarts": "^4.1.0", 28 | "mathjs": "^5.1.1", 29 | "ngx-echarts": "^4.0.0", 30 | "rxjs": "^6.5.4", 31 | "tslib": "^2.0.0", 32 | "zone.js": "~0.10.3" 33 | }, 34 | "devDependencies": { 35 | "@angular-devkit/build-angular": "~0.1100.5", 36 | "@angular/cli": "^11.0.5", 37 | "@angular/compiler-cli": "^11.0.5", 38 | "@angular/language-service": "^11.0.5", 39 | "@types/jasmine": "~3.6.0", 40 | "@types/jasminewd2": "~2.0.3", 41 | "@types/node": "^12.11.1", 42 | "angular-cli-ghpages": "^1.0.0-rc.1", 43 | "codelyzer": "^6.0.0", 44 | "jasmine-core": "~3.6.0", 45 | "jasmine-spec-reporter": "~5.0.0", 46 | "karma": "~5.1.1", 47 | "karma-chrome-launcher": "~3.1.0", 48 | "karma-coverage-istanbul-reporter": "~3.0.2", 49 | "karma-jasmine": "~4.0.0", 50 | "karma-jasmine-html-reporter": "^1.5.0", 51 | "prettier": "^1.19.1", 52 | "protractor": "~7.0.0", 53 | "ts-node": "~5.0.1", 54 | "tslint": "~6.1.0", 55 | "typescript": "~4.0.5" 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /src/app/app-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { Routes, RouterModule } from '@angular/router'; 3 | 4 | const routes: Routes = [ 5 | { 6 | path: '', 7 | pathMatch: 'full', 8 | redirectTo: 'upgrade' 9 | } 10 | ]; 11 | 12 | @NgModule({ 13 | imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })], 14 | exports: [RouterModule] 15 | }) 16 | export class AppRoutingModule { } 17 | -------------------------------------------------------------------------------- /src/app/app.component.css: -------------------------------------------------------------------------------- 1 | .sidenav-container { 2 | height: 100%; 3 | } 4 | 5 | .sidenav { 6 | width: 200px; 7 | } 8 | 9 | .mat-toolbar.mat-primary { 10 | position: sticky; 11 | top: 0; 12 | z-index: 1000; 13 | } 14 | -------------------------------------------------------------------------------- /src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 4 | Menu 5 | 6 |

주문의 흔적

7 | 8 | bar_chart 9 | 그래프 10 | 11 | 12 | format_list_numbered 13 | 최적화 14 | 15 | 16 |

사냥

17 | 18 | place 19 | 사냥터 20 | 21 | 27 | 28 |

기타

29 | 30 | blur_circular 31 | 아케인포스 32 | 33 | 34 | photo_size_select_small 35 | 스킬 범위 36 | 37 |
38 |
39 | 40 | 41 | 44 | Maple Calculator 45 | 46 | 47 | 48 |
-------------------------------------------------------------------------------- /src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout'; 2 | import { Component } from '@angular/core'; 3 | import { Angulartics2GoogleGlobalSiteTag } from 'angulartics2/gst'; 4 | import { Observable } from 'rxjs'; 5 | import { map } from 'rxjs/operators'; 6 | 7 | @Component({ 8 | selector: 'app-root', 9 | templateUrl: './app.component.html', 10 | styleUrls: ['./app.component.css'], 11 | }) 12 | export class AppComponent { 13 | isHandset$: Observable = this.breakpointObserver 14 | .observe(Breakpoints.Handset) 15 | .pipe(map(result => result.matches)); 16 | 17 | constructor( 18 | private breakpointObserver: BreakpointObserver, 19 | angulartics: Angulartics2GoogleGlobalSiteTag, 20 | ) { 21 | angulartics.startTracking(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/app/app.module.ts: -------------------------------------------------------------------------------- 1 | import { HttpClientModule } from '@angular/common/http'; 2 | import { NgModule } from '@angular/core'; 3 | import { BrowserModule } from '@angular/platform-browser'; 4 | import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; 5 | import { Angulartics2Module } from 'angulartics2'; 6 | import { AppRoutingModule } from './app-routing.module'; 7 | import { AppComponent } from './app.component'; 8 | import { ArcaneForceModule } from './arcane-force/arcane-force.module'; 9 | import { GrindingModule } from './grinding/grinding.module'; 10 | import { MaterialModule } from './material/material.module'; 11 | import { SkillModule } from './skill/skill.module'; 12 | import { UpgradeModule } from './upgrade/upgrade.module'; 13 | 14 | @NgModule({ 15 | declarations: [AppComponent], 16 | imports: [ 17 | BrowserModule, 18 | BrowserAnimationsModule, 19 | HttpClientModule, 20 | MaterialModule, 21 | UpgradeModule, 22 | ArcaneForceModule, 23 | // DealModule, 24 | GrindingModule, 25 | SkillModule, 26 | Angulartics2Module.forRoot(), 27 | AppRoutingModule, 28 | ], 29 | providers: [], 30 | bootstrap: [AppComponent], 31 | }) 32 | export class AppModule {} 33 | -------------------------------------------------------------------------------- /src/app/arcane-force/arcane-force-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { RouterModule, Routes } from '@angular/router'; 3 | import { ArcaneForceComponent } from './containers/arcane-force.component'; 4 | 5 | const routes: Routes = [ 6 | { 7 | path: 'arcane-force', 8 | component: ArcaneForceComponent, 9 | }, 10 | ]; 11 | 12 | @NgModule({ 13 | imports: [RouterModule.forChild(routes)], 14 | exports: [RouterModule], 15 | }) 16 | export class ArcaneForceRoutingModule {} 17 | -------------------------------------------------------------------------------- /src/app/arcane-force/arcane-force.module.ts: -------------------------------------------------------------------------------- 1 | import { CommonModule } from '@angular/common'; 2 | import { NgModule } from '@angular/core'; 3 | import { FormsModule, ReactiveFormsModule } from '@angular/forms'; 4 | import { NgxEchartsModule } from 'ngx-echarts'; 5 | import { MaterialModule } from '../material/material.module'; 6 | import { ArcaneForceRoutingModule } from './arcane-force-routing.module'; 7 | import { ArcaneForceComponent } from './containers/arcane-force.component'; 8 | 9 | @NgModule({ 10 | imports: [ 11 | CommonModule, 12 | ArcaneForceRoutingModule, 13 | MaterialModule, 14 | FormsModule, 15 | ReactiveFormsModule, 16 | NgxEchartsModule, 17 | ], 18 | declarations: [ArcaneForceComponent], 19 | }) 20 | export class ArcaneForceModule {} 21 | -------------------------------------------------------------------------------- /src/app/arcane-force/containers/arcane-force.component.css: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | margin: 20px; 3 | } 4 | 5 | .symbol-grid { 6 | display: flex; 7 | flex-direction: column; 8 | } 9 | 10 | .symbol-grid-row { 11 | width: 100%; 12 | display: flex; 13 | flex-direction: row; 14 | } 15 | 16 | .symbol-grid-cell { 17 | width: 100%; 18 | margin: 8px; 19 | padding: 12px; 20 | border: 1px solid rgba(0,0,0,.12); 21 | } 22 | 23 | .symbol-grid-cell mat-form-field { 24 | width: 100%; 25 | } 26 | 27 | .chart { 28 | width: 100%; 29 | height: 480px; 30 | } 31 | -------------------------------------------------------------------------------- /src/app/core/core.module.ts: -------------------------------------------------------------------------------- 1 | import { CommonModule } from '@angular/common'; 2 | import { NgModule } from '@angular/core'; 3 | 4 | @NgModule({ 5 | imports: [CommonModule], 6 | declarations: [], 7 | }) 8 | export class CoreModule {} 9 | -------------------------------------------------------------------------------- /src/app/core/services/core.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | import { FormGroup } from '@angular/forms'; 3 | 4 | @Injectable({ 5 | providedIn: 'root', 6 | }) 7 | export class CoreService { 8 | constructor() {} 9 | 10 | setLocalStorage(key: string, value: object) { 11 | localStorage.setItem(key, JSON.stringify(value)); 12 | } 13 | 14 | getLocalStorage(key: string) { 15 | return JSON.parse(localStorage.getItem(key)); 16 | } 17 | 18 | removeLocalStorage(key: string) { 19 | localStorage.removeItem(key); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/app/deal/components/ability-stat.component.html: -------------------------------------------------------------------------------- 1 |

2 | ability-stat works! 3 |

4 | -------------------------------------------------------------------------------- /src/app/deal/components/ability-stat.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-ability-stat', 5 | templateUrl: './ability-stat.component.html', 6 | styles: [], 7 | changeDetection: ChangeDetectionStrategy.OnPush 8 | }) 9 | export class AbilityStatComponent implements OnInit { 10 | 11 | constructor() { } 12 | 13 | ngOnInit() { 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/app/deal/components/arcane-symbol-stat.component.ts: -------------------------------------------------------------------------------- 1 | import { 2 | ChangeDetectionStrategy, 3 | Component, 4 | Input, 5 | OnInit, 6 | } from '@angular/core'; 7 | import { JOB_CODE } from '../models/job.model'; 8 | import { FormGroup, FormControl, Validators } from '@angular/forms'; 9 | import { Stat } from '../models/stat.model'; 10 | import { startWith } from 'rxjs/operators'; 11 | import { StatService } from '../services/stat.service'; 12 | 13 | @Component({ 14 | selector: 'app-arcane-symbol-stat', 15 | templateUrl: './arcane-symbol-stat.component.html', 16 | styles: [ 17 | ` 18 | mat-card { 19 | margin: 12px; 20 | flex: 1; 21 | } 22 | 23 | .wrapper { 24 | display: flex; 25 | } 26 | 27 | .symbol-grid { 28 | display: flex; 29 | flex-direction: column; 30 | } 31 | 32 | .symbol-grid-row { 33 | width: 100%; 34 | display: flex; 35 | flex-direction: row; 36 | } 37 | 38 | .symbol-grid-cell { 39 | width: 100%; 40 | margin: 8px; 41 | padding: 12px; 42 | border: 1px solid rgba(0, 0, 0, 0.12); 43 | } 44 | 45 | .symbol-grid-cell mat-form-field { 46 | width: 100%; 47 | } 48 | `, 49 | ], 50 | changeDetection: ChangeDetectionStrategy.OnPush, 51 | }) 52 | export class ArcaneSymbolStatComponent implements OnInit { 53 | @Input() 54 | job: JOB_CODE; 55 | 56 | formGroup = new FormGroup({ 57 | vanishing: new FormControl(0, [ 58 | Validators.required, 59 | Validators.min(0), 60 | Validators.max(20), 61 | ]), 62 | chewchew: new FormControl(0, [ 63 | Validators.required, 64 | Validators.min(0), 65 | Validators.max(20), 66 | ]), 67 | lacheln: new FormControl(0, [ 68 | Validators.required, 69 | Validators.min(0), 70 | Validators.max(20), 71 | ]), 72 | arcana: new FormControl(0, [ 73 | Validators.required, 74 | Validators.min(0), 75 | Validators.max(20), 76 | ]), 77 | morass: new FormControl(0, [ 78 | Validators.required, 79 | Validators.min(0), 80 | Validators.max(20), 81 | ]), 82 | esfera: new FormControl(0, [ 83 | Validators.required, 84 | Validators.min(0), 85 | Validators.max(20), 86 | ]), 87 | }); 88 | 89 | stat: Partial = {}; 90 | 91 | constructor(private statService: StatService) {} 92 | 93 | ngOnInit() { 94 | this.formGroup.valueChanges 95 | .pipe(startWith(this.formGroup.value)) 96 | .subscribe(form => { 97 | this.stat = this.statService.convertArcaneSymbols(this.job, form); 98 | }); 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /src/app/deal/components/buff-stat.component.html: -------------------------------------------------------------------------------- 1 |

2 | buff-stat works! 3 |

4 | -------------------------------------------------------------------------------- /src/app/deal/components/buff-stat.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-buff-stat', 5 | templateUrl: './buff-stat.component.html', 6 | styles: [], 7 | changeDetection: ChangeDetectionStrategy.OnPush 8 | }) 9 | export class BuffStatComponent implements OnInit { 10 | 11 | constructor() { } 12 | 13 | ngOnInit() { 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/app/deal/components/disposition-stat.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core'; 2 | import { Stat } from '../models/stat.model'; 3 | import { StatService } from '../services/stat.service'; 4 | import { startWith } from 'rxjs/operators'; 5 | import { FormGroup, FormControl, Validators } from '@angular/forms'; 6 | 7 | @Component({ 8 | selector: 'app-disposition-stat', 9 | templateUrl: './disposition-stat.component.html', 10 | styles: [ 11 | ` 12 | mat-card { 13 | margin: 12px; 14 | flex: 1; 15 | } 16 | 17 | .wrapper { 18 | display: flex; 19 | } 20 | 21 | .symbol-grid { 22 | display: flex; 23 | flex-direction: column; 24 | } 25 | 26 | .symbol-grid-row { 27 | width: 100%; 28 | display: flex; 29 | flex-direction: row; 30 | } 31 | 32 | .symbol-grid-cell { 33 | width: 100%; 34 | margin: 8px; 35 | padding: 12px; 36 | border: 1px solid rgba(0, 0, 0, 0.12); 37 | } 38 | 39 | .symbol-grid-cell mat-form-field { 40 | width: 100%; 41 | } 42 | `, 43 | ], 44 | changeDetection: ChangeDetectionStrategy.OnPush, 45 | }) 46 | export class DispositionStatComponent implements OnInit { 47 | formGroup = new FormGroup({ 48 | charisma: new FormControl(0, [ 49 | Validators.required, 50 | Validators.min(0), 51 | Validators.max(100), 52 | ]), 53 | sensivity: new FormControl(0, [ 54 | Validators.required, 55 | Validators.min(0), 56 | Validators.max(100), 57 | ]), 58 | dexterity: new FormControl(0, [ 59 | Validators.required, 60 | Validators.min(0), 61 | Validators.max(100), 62 | ]), 63 | will: new FormControl(0, [ 64 | Validators.required, 65 | Validators.min(0), 66 | Validators.max(100), 67 | ]), 68 | insight: new FormControl(0, [ 69 | Validators.required, 70 | Validators.min(0), 71 | Validators.max(100), 72 | ]), 73 | charm: new FormControl(0, [ 74 | Validators.required, 75 | Validators.min(0), 76 | Validators.max(100), 77 | ]), 78 | }); 79 | 80 | stat: Partial = {}; 81 | 82 | constructor(private statService: StatService) {} 83 | 84 | ngOnInit() { 85 | this.formGroup.valueChanges 86 | .pipe(startWith(this.formGroup.value)) 87 | .subscribe(form => { 88 | this.stat = this.statService.convertDisposition(form); 89 | }); 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /src/app/deal/components/level-stat.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 환산 스탯 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
STR{{ stat?.STR }}
DEX{{ stat?.DEX }}
INT{{ stat?.INT }}
LUK{{ stat?.LUK }}
MaxHP{{ stat?.maxHP }}
MaxMP{{ stat?.maxMP }}
35 |
36 |
37 |
-------------------------------------------------------------------------------- /src/app/deal/components/level-stat.component.ts: -------------------------------------------------------------------------------- 1 | import { 2 | ChangeDetectionStrategy, 3 | Component, 4 | Input, 5 | OnChanges, 6 | OnInit, 7 | } from '@angular/core'; 8 | import { JOB_CODE } from '../models/job.model'; 9 | import { Stat } from '../models/stat.model'; 10 | import { StatService } from '../services/stat.service'; 11 | 12 | @Component({ 13 | selector: 'app-level-stat', 14 | templateUrl: './level-stat.component.html', 15 | styles: [ 16 | ` 17 | mat-card { 18 | margin: 12px; 19 | flex: 1; 20 | } 21 | 22 | .wrapper { 23 | display: flex; 24 | } 25 | `, 26 | ], 27 | changeDetection: ChangeDetectionStrategy.OnPush, 28 | }) 29 | export class LevelStatComponent implements OnInit, OnChanges { 30 | @Input() 31 | level: number; 32 | @Input() 33 | job: JOB_CODE; 34 | 35 | stat: Partial; 36 | 37 | constructor(private statService: StatService) {} 38 | 39 | ngOnInit() {} 40 | 41 | ngOnChanges() { 42 | if (!this.level || !this.job) { 43 | return; 44 | } 45 | this.stat = this.statService.getLevelStat(this.job, this.level, false); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/app/deal/components/skill-stat.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 링크 스킬 4 | 5 | 6 | 7 | 9 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
8 | 10 | 11 | 12 | 스킬명{{element.name}}스킬레벨2
28 |
29 |
30 | 31 | 32 | 스킬 목록 33 | 34 | 35 |
36 | {{skill.name}} 37 |
38 |
39 |
40 | 41 | 42 | 환산 스탯 (패시브) 43 | 44 | 45 |
-------------------------------------------------------------------------------- /src/app/deal/components/skill-stat.component.ts: -------------------------------------------------------------------------------- 1 | import { SelectionModel } from '@angular/cdk/collections'; 2 | import { 3 | ChangeDetectionStrategy, 4 | Component, 5 | Input, 6 | OnChanges, 7 | OnInit, 8 | } from '@angular/core'; 9 | import { jobEntities } from '../entities/job'; 10 | import { JOB_CODE } from '../models/job.model'; 11 | import { skillEntities } from '../entities/skill'; 12 | import { linkSkills } from '../entities/skill/skill-link'; 13 | import { Skill } from '../models/skill.model'; 14 | 15 | @Component({ 16 | selector: 'app-skill-stat', 17 | templateUrl: './skill-stat.component.html', 18 | styles: [ 19 | ` 20 | mat-card { 21 | margin: 12px; 22 | flex: 1; 23 | } 24 | 25 | .wrapper { 26 | display: flex; 27 | } 28 | 29 | table { 30 | width: 100%; 31 | } 32 | `, 33 | ], 34 | changeDetection: ChangeDetectionStrategy.OnPush, 35 | }) 36 | export class SkillStatComponent implements OnInit, OnChanges { 37 | @Input() 38 | job: JOB_CODE; 39 | 40 | skills: Skill[]; 41 | dataSource = linkSkills; 42 | displayedColumns = ['select', 'name', 'level']; 43 | selection = new SelectionModel(true, []); 44 | 45 | constructor() {} 46 | 47 | ngOnInit() {} 48 | 49 | ngOnChanges() { 50 | if (!this.job) { 51 | return; 52 | } 53 | const job = jobEntities[this.job]; 54 | this.skills = job.skills.map(code => skillEntities[code]); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/app/deal/components/union-stat.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 유니온 레벨, 공격대원 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 37 | 38 | 39 | 40 | 41 |
선택 12 | 14 | 15 | 직업{{row.name}}랭크 26 | 27 | 28 | 없음 29 | B 30 | A 31 | S 32 | SS 33 | SSS 34 | 35 | 36 |
42 |
43 |
44 | 45 | 유니온 배치 46 | 남은 칸: 47 | 48 | 49 | 50 | 환산 스탯 51 | {{ ranks.value | json }} 52 | 53 |
-------------------------------------------------------------------------------- /src/app/deal/components/union-stat.component.ts: -------------------------------------------------------------------------------- 1 | import { SelectionModel } from '@angular/cdk/collections'; 2 | import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; 3 | import { FormControl, FormGroup } from '@angular/forms'; 4 | import { jobNames } from '../entities/job'; 5 | import { unionCardEffectEntities } from '../entities/union'; 6 | import { JOB_CODE } from '../models/job.model'; 7 | 8 | @Component({ 9 | selector: 'app-union-stat', 10 | templateUrl: './union-stat.component.html', 11 | styles: [ 12 | ` 13 | mat-card { 14 | margin: 12px; 15 | flex: 1; 16 | } 17 | 18 | .wrapper { 19 | display: flex; 20 | } 21 | 22 | table { 23 | width: 100%; 24 | } 25 | `, 26 | ], 27 | changeDetection: ChangeDetectionStrategy.OnPush, 28 | }) 29 | export class UnionStatComponent implements OnInit { 30 | unionLevel = new FormControl(null); 31 | ranks = new FormGroup( 32 | Object.keys(unionCardEffectEntities).reduce( 33 | (obj, x) => ({ ...obj, [x]: new FormControl(null) }), 34 | {}, 35 | ), 36 | ); 37 | dataSource = Object.keys(unionCardEffectEntities).map(x => ({ 38 | code: x, 39 | name: jobNames[x], 40 | })); 41 | displayedColumns = ['select', 'name', 'rank']; 42 | selection = new SelectionModel(true, []); 43 | 44 | constructor() {} 45 | 46 | ngOnInit() {} 47 | } 48 | -------------------------------------------------------------------------------- /src/app/deal/components/v-matrix-stat.component.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 스킬코어 4 | 5 | 6 | 7 | 9 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 27 | 28 | 29 | 30 | 31 |
8 | 10 | 11 | 12 | 스킬명{{row.name}}스킬레벨 23 | 24 | 25 | 26 |
32 |
33 |
34 | 35 | 36 | 환산 스탯 (패시브) 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 |
STR{{ stat?.STR }}
DEX{{ stat?.DEX }}
INT{{ stat?.INT }}
LUK{{ stat?.LUK }}
공격력{{ stat?.weaponAttack }}
체력{{ stat?.maxHP }}
상태이상 내성{{ stat?.ccImmune }}
71 |
72 |
73 |
-------------------------------------------------------------------------------- /src/app/deal/components/v-matrix-stat.component.ts: -------------------------------------------------------------------------------- 1 | import { SelectionModel } from '@angular/cdk/collections'; 2 | import { 3 | ChangeDetectionStrategy, 4 | Component, 5 | Input, 6 | OnChanges, 7 | OnInit, 8 | } from '@angular/core'; 9 | import { BehaviorSubject, Observable } from 'rxjs'; 10 | import { combineLatest, map } from 'rxjs/operators'; 11 | import { jobEntities } from '../entities/job'; 12 | import { skillEntities } from '../entities/skill'; 13 | import { JOB_CODE } from '../models/job.model'; 14 | import { Skill } from '../models/skill.model'; 15 | import { Stat } from '../models/stat.model'; 16 | import { StatService } from '../services/stat.service'; 17 | 18 | @Component({ 19 | selector: 'app-v-matrix-stat', 20 | templateUrl: './v-matrix-stat.component.html', 21 | styles: [ 22 | ` 23 | mat-card { 24 | margin: 12px; 25 | flex: 1; 26 | } 27 | 28 | .wrapper { 29 | display: flex; 30 | } 31 | 32 | table { 33 | width: 100%; 34 | } 35 | `, 36 | ], 37 | changeDetection: ChangeDetectionStrategy.OnPush, 38 | }) 39 | export class VMatrixStatComponent implements OnInit, OnChanges { 40 | @Input() 41 | job: JOB_CODE; 42 | 43 | skillCores: Skill[]; 44 | displayedColumns = ['select', 'name', 'level']; 45 | selection = new SelectionModel(true, []); 46 | 47 | skillLevels$ = new BehaviorSubject<{ [code: string]: number }>({}); 48 | stat$: Observable>; 49 | 50 | constructor(private statService: StatService) {} 51 | 52 | ngOnInit() { 53 | this.stat$ = this.selection.changed.pipe( 54 | map(() => this.selection.selected), 55 | combineLatest(this.skillLevels$), 56 | map(([selected, levels]) => { 57 | return this.statService.convertPassiveSkills( 58 | selected.reduce((obj, skill) => { 59 | obj[skill.code] = levels[skill.code]; 60 | return obj; 61 | }, {}), 62 | ); 63 | }), 64 | ); 65 | } 66 | 67 | ngOnChanges() { 68 | if (!this.job) { 69 | return; 70 | } 71 | 72 | const job = jobEntities[this.job]; 73 | this.skillLevels$.next( 74 | job.skillCores.reduce((obj, x) => { 75 | obj[x] = 0; 76 | return obj; 77 | }, {}), 78 | ); 79 | this.skillCores = job.skillCores.map(x => skillEntities[x]); 80 | } 81 | 82 | changeSkillLevel(skill: Skill, value: number) { 83 | const levels = this.skillLevels$.getValue(); 84 | levels[skill.code] = Number.isInteger(value) ? value : 0; 85 | this.skillLevels$.next(levels); 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /src/app/deal/containers/deal.component.html: -------------------------------------------------------------------------------- 1 |
2 |

캐릭터 스펙

3 | 4 | 5 | {{ item.name }} 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
38 |
-------------------------------------------------------------------------------- /src/app/deal/containers/deal.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core'; 2 | import { FormControl, FormGroup, Validators } from '@angular/forms'; 3 | import { jobEntities } from '../entities/job'; 4 | import { Observable } from 'rxjs'; 5 | import { startWith, map, combineLatest } from 'rxjs/operators'; 6 | import { StatService } from '../services/stat.service'; 7 | import { Stat } from '../models/stat.model'; 8 | 9 | @Component({ 10 | selector: 'app-deal', 11 | templateUrl: './deal.component.html', 12 | styles: [ 13 | ` 14 | .grid-container { 15 | margin: 20px; 16 | } 17 | 18 | mat-form-field { 19 | margin-right: 12px; 20 | } 21 | 22 | mat-tab-group { 23 | width: 100%; 24 | } 25 | 26 | mat-tab { 27 | padding: 12px; 28 | } 29 | 30 | .layout { 31 | } 32 | `, 33 | ], 34 | changeDetection: ChangeDetectionStrategy.OnPush, 35 | }) 36 | export class DealComponent implements OnInit { 37 | availableJobs = Object.values(jobEntities); 38 | 39 | job = new FormControl(null); 40 | level = new FormControl(200); 41 | levelStat$: Observable>; 42 | 43 | constructor(private statService: StatService) {} 44 | 45 | ngOnInit() {} 46 | } 47 | -------------------------------------------------------------------------------- /src/app/deal/deal-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { RouterModule, Routes } from '@angular/router'; 3 | import { DealComponent } from './containers/deal.component'; 4 | 5 | const routes: Routes = [ 6 | { 7 | path: 'deal', 8 | component: DealComponent, 9 | }, 10 | ]; 11 | 12 | @NgModule({ 13 | imports: [RouterModule.forChild(routes)], 14 | exports: [RouterModule], 15 | }) 16 | export class DealRoutingModule {} 17 | -------------------------------------------------------------------------------- /src/app/deal/deal.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { DealComponent } from './containers/deal.component'; 4 | import { FormsModule, ReactiveFormsModule } from '@angular/forms'; 5 | import { MaterialModule } from '../material/material.module'; 6 | import { DealRoutingModule } from './deal-routing.module'; 7 | import { HyperStatComponent } from './components/hyper-stat.component'; 8 | import { LevelStatComponent } from './components/level-stat.component'; 9 | import { ArcaneSymbolStatComponent } from './components/arcane-symbol-stat.component'; 10 | import { AbilityStatComponent } from './components/ability-stat.component'; 11 | import { UnionStatComponent } from './components/union-stat.component'; 12 | import { SkillStatComponent } from './components/skill-stat.component'; 13 | import { DispositionStatComponent } from './components/disposition-stat.component'; 14 | import { VMatrixStatComponent } from './components/v-matrix-stat.component'; 15 | import { BuffStatComponent } from './components/buff-stat.component'; 16 | 17 | @NgModule({ 18 | imports: [ 19 | CommonModule, 20 | FormsModule, 21 | ReactiveFormsModule, 22 | MaterialModule, 23 | DealRoutingModule, 24 | ], 25 | declarations: [ 26 | DealComponent, 27 | HyperStatComponent, 28 | LevelStatComponent, 29 | ArcaneSymbolStatComponent, 30 | AbilityStatComponent, 31 | UnionStatComponent, 32 | SkillStatComponent, 33 | DispositionStatComponent, 34 | VMatrixStatComponent, 35 | BuffStatComponent, 36 | ], 37 | }) 38 | export class DealModule {} 39 | -------------------------------------------------------------------------------- /src/app/deal/entities/job.ts: -------------------------------------------------------------------------------- 1 | import { Job, JOB_CODE } from '../models/job.model'; 2 | import * as Mechanic from './skill/skill-mechanic'; 3 | import * as VCommon from './skill/skill-v-common'; 4 | import * as VPirate from './skill/skill-v-pirate'; 5 | 6 | export const jobEntities: { [code in JOB_CODE]?: Job } = { 7 | ARCHMAGE_ICE_LIGHTNING: { 8 | code: 'ARCHMAGE_ICE_LIGHTNING', 9 | category: 'MAGE', 10 | mainStat: 'INT', 11 | name: '아크메이지(썬, 콜)', 12 | mastery: 0.25, 13 | skills: [], 14 | skillCores: [], 15 | }, 16 | NIGHTLORD: { 17 | code: 'NIGHTLORD', 18 | category: 'ROGUE', 19 | mainStat: 'LUK', 20 | name: '나이트로드', 21 | mastery: 0.15, 22 | skills: [], 23 | skillCores: [], 24 | }, 25 | DEMONAVENGER: { 26 | code: 'DEMONAVENGER', 27 | category: 'WARRIOR', 28 | mainStat: 'maxHP', 29 | name: '데몬어벤져', 30 | mastery: 0.2, 31 | skills: [], 32 | skillCores: [], 33 | }, 34 | BISHOP: { 35 | code: 'BISHOP', 36 | category: 'MAGE', 37 | mainStat: 'INT', 38 | name: '비숍', 39 | mastery: 0.25, 40 | skills: [], 41 | skillCores: [], 42 | }, 43 | MECHANIC: { 44 | code: 'MECHANIC', 45 | category: 'PIRATE', 46 | mainStat: 'DEX', 47 | name: '메카닉', 48 | mastery: 0.15, 49 | skills: [...Mechanic.skillCodes], 50 | skillCores: [...VCommon.skillCodes, ...VPirate.skillCodes], 51 | }, 52 | }; 53 | 54 | export const jobNames: { [code in JOB_CODE | 'M']: string } = { 55 | HERO: '히어로', 56 | PALADIN: '팔라딘', 57 | DARK_KNIGHT: '다크나이트', 58 | ARCHMAGE_FIRE_POISON: '아크메이지 (불, 독)', 59 | ARCHMAGE_ICE_LIGHTNING: '아크메이지 (썬, 콜)', 60 | BISHOP: '비숍', 61 | BOWMASTER: '보우마스터', 62 | MARKSMAN: '신궁', 63 | NIGHTLORD: '나이트로드', 64 | SHADOWER: '섀도어', 65 | DUALBLADE: '듀얼블레이드', 66 | VIPER: '바이퍼', 67 | CAPTAIN: '캡틴', 68 | CANNONSHOOTER: '캐논슈터', 69 | SOULMASTER: '소울마스터', 70 | MIHILE: '미하일', 71 | FLAMEWIZARD: '플레임위자드', 72 | WINDBREAKER: '윈드브레이커', 73 | NIGHTWALKER: '나이트워커', 74 | STRIKER: '스트라이커', 75 | ARAN: '아란', 76 | EVAN: '에반', 77 | LUMINOUS: '루미너스', 78 | MERCEDES: '메르세데스', 79 | PHANTOM: '팬텀', 80 | EUNWOL: '은월', 81 | BLASTER: '블래스터', 82 | DEMONSLAYER: '데몬슬레이어', 83 | DEMONAVENGER: '데몬어벤져', 84 | BATTLEMAGE: '배틀메이지', 85 | WILDHUNTER: '와일드헌터', 86 | MECHANIC: '메카닉', 87 | XENON: '제논', 88 | KAISER: '카이저', 89 | CADENA: '카데나', 90 | ANGELICBUSTER: '엔젤릭버스터', 91 | ZERO: '제로', 92 | KINESIS: '키네시스', 93 | ILLIUM: '일리움', 94 | ARK: '아크', 95 | M: '메이플M', 96 | }; 97 | -------------------------------------------------------------------------------- /src/app/deal/entities/skill.ts: -------------------------------------------------------------------------------- 1 | import { Skill } from '../models/skill.model'; 2 | import * as Common from './skill/skill-common'; 3 | import * as Link from './skill/skill-link'; 4 | import * as Mechanic from './skill/skill-mechanic'; 5 | import * as VCommon from './skill/skill-v-common'; 6 | import * as VPirate from './skill/skill-v-pirate'; 7 | 8 | export const skillEntities: { [code: string]: Skill } = { 9 | ...Common.skillEntities, 10 | ...Link.skillEntities, 11 | ...VCommon.skillEntities, 12 | ...VPirate.skillEntities, 13 | ...Mechanic.skillEntities, 14 | }; 15 | -------------------------------------------------------------------------------- /src/app/deal/entities/skill/skill-common.ts: -------------------------------------------------------------------------------- 1 | import { Skill } from '../../models/skill.model'; 2 | 3 | export const skillEntities: { [code: string]: Skill } = { 4 | BLESS_OF_SOUL: { 5 | code: 'BLESS_OF_SOUL', 6 | name: '정령의 축복', 7 | maxLevel: 20, 8 | passive: level => ({ stat: { weaponAttack: level, magicAttack: level } }), 9 | }, 10 | BLESS_OF_EMPRESS: { 11 | code: 'BLESS_OF_EMPRESS', 12 | name: '여제의 축복', 13 | maxLevel: 30, 14 | passive: level => ({ stat: { weaponAttack: level, magicAttack: level } }), 15 | }, 16 | ECHO_OF_HERO: { 17 | code: 'ECHO_OF_HERO', 18 | name: '영웅의 메아리', 19 | maxLevel: 1, 20 | buff: level => ({ 21 | cooldown: 60 * 60 * 2, 22 | persist: 60 * 40, 23 | stat: { 24 | weaponAttackPercent: 4, 25 | magicAttackPercent: 4, 26 | }, 27 | }), 28 | }, 29 | MAPLE_WARRIOR: { 30 | code: 'MAPLE_WARRIOR', 31 | name: '메이플 용사', 32 | maxLevel: 30, 33 | buff: level => ({ 34 | persist: 900, 35 | stat: {}, 36 | }), 37 | }, 38 | WILL_OF_LIBERTY: { 39 | code: 'WILL_OF_LIBERTY', 40 | name: '윌 오브 리버티', 41 | maxLevel: 1, 42 | buff: level => ({ 43 | persist: 60, 44 | cooldown: 120, 45 | stat: { 46 | totalDamage: 10, 47 | }, 48 | }), 49 | }, 50 | }; 51 | 52 | export const skillCodes = Object.keys(skillEntities); 53 | -------------------------------------------------------------------------------- /src/app/deal/entities/skill/skill-v-common.ts: -------------------------------------------------------------------------------- 1 | import { Skill } from '../../models/skill.model'; 2 | 3 | export const skillEntities: { [code: string]: Skill } = { 4 | DECENT_COMBAT_ORDERS: { 5 | code: 'DECENT_COMBAT_ORDERS', 6 | name: '쓸만한 컴뱃 오더스', 7 | maxLevel: 30, 8 | passive: level => ({ stat: { ccImmune: Math.ceil(level * 0.2) } }), 9 | }, 10 | DECENT_SHARP_EYES: { 11 | code: 'DECENT_SHARP_EYES', 12 | name: '쓸만한 샤프 아이즈', 13 | maxLevel: 30, 14 | buff: level => ({ 15 | persist: level * 3 + 180, 16 | cooldown: 180, 17 | stat: { 18 | criticalRate: 10, 19 | criticalDamage: 8, 20 | }, 21 | }), 22 | passive: level => ({ 23 | stat: { 24 | STR: Math.ceil(level * 0.2), 25 | DEX: Math.ceil(level * 0.2), 26 | INT: Math.ceil(level * 0.2), 27 | LUK: Math.ceil(level * 0.2), 28 | }, 29 | }), 30 | }, 31 | DECENT_HOLY_SYMBOL: { 32 | code: 'DECENT_HOLY_SYMBOL', 33 | name: '쓸만한 홀리 심볼', 34 | maxLevel: 30, 35 | buff: level => ({ 36 | persist: level * 3 + 180, 37 | cooldown: 180, 38 | stat: { 39 | expGain: Math.floor(level / 2 + 20), 40 | dropRate: Math.floor(level / 3 + 14), 41 | }, 42 | }), 43 | }, 44 | DECENT_WIND_BOOSTER: { 45 | code: 'DECENT_WIND_BOOSTER', 46 | name: '쓸만한 윈드 부스터', 47 | maxLevel: 30, 48 | buff: level => ({ 49 | persist: level * 3 + 180, 50 | cooldown: 180, 51 | stat: { 52 | attackSpeed: -1, 53 | }, 54 | }), 55 | }, 56 | DECENT_ADVANCED_BLESS: { 57 | code: 'DECENT_ADVANCED_BLESS', 58 | name: '쓸만한 어드밴스드 블레스', 59 | maxLevel: 30, 60 | buff: level => ({ 61 | persist: level * 3 + 180, 62 | cooldown: 180, 63 | stat: { 64 | weaponAttack: 20, 65 | magicAttack: 20, 66 | defense: 425, 67 | maxHP: 475, 68 | maxMP: 475, 69 | }, 70 | }), 71 | }, 72 | DECENT_HYPER_BODY: { 73 | code: 'DECENT_HYPER_BODY', 74 | name: '쓸만한 하이퍼 바디', 75 | maxLevel: 30, 76 | buff: level => ({ 77 | persist: level * 3 + 180, 78 | cooldown: 180, 79 | stat: { 80 | maxHPPercent: 40, 81 | maxMPPercent: 40, 82 | }, 83 | }), 84 | }, 85 | ROPE_CONNECT_V: { 86 | code: 'ROPE_CONNECT_V', 87 | name: '로프 커넥트', 88 | maxLevel: 30, 89 | passive: level => ({ 90 | stat: { 91 | STR: level, 92 | DEX: level, 93 | INT: level, 94 | LUK: level, 95 | }, 96 | }), 97 | }, 98 | }; 99 | 100 | export const skillCodes = Object.keys(skillEntities); 101 | -------------------------------------------------------------------------------- /src/app/deal/entities/skill/skill-v-pirate.ts: -------------------------------------------------------------------------------- 1 | import { Skill } from '../../models/skill.model'; 2 | 3 | export const skillEntities: { [code: string]: Skill } = { 4 | LOADED_DICE: { 5 | code: 'LOADED_DICE', 6 | name: '로디드 다이스', 7 | maxLevel: 30, 8 | passive: level => ({ stat: { weaponAttack: level + 10 } }), 9 | }, 10 | }; 11 | 12 | export const skillCodes = Object.keys(skillEntities); 13 | -------------------------------------------------------------------------------- /src/app/deal/entities/skill/skill-v-warrior.ts: -------------------------------------------------------------------------------- 1 | import { Skill } from '../../models/skill.model'; 2 | 3 | export const skillEntities: { [code: string]: Skill } = { 4 | BODY_OF_STEEL: { 5 | code: 'BODY_OF_STEEL', 6 | name: '바디 오브 스틸', 7 | maxLevel: 30, 8 | passive: level => ({ stat: { STR: level, maxHP: level * 50 } }), 9 | }, 10 | }; 11 | 12 | export const skillCodes = Object.keys(skillEntities); 13 | -------------------------------------------------------------------------------- /src/app/deal/models/charcacter.model.ts: -------------------------------------------------------------------------------- 1 | import { Core } from './core.model'; 2 | import { JOB_CODE } from './job.model'; 3 | import { Stat } from './stat.model'; 4 | import { UnionCard, UnionControl } from './union.model'; 5 | 6 | export interface HyperStat { 7 | STR: number; 8 | DEX: number; 9 | INT: number; 10 | LUK: number; 11 | maxHP: number; 12 | maxMP: number; 13 | DFTF: number; 14 | criticalRate: number; 15 | criticalDamage: number; 16 | ignoreDefense: number; 17 | totalDamage: number; 18 | bossDamage: number; 19 | stance: number; 20 | moveSpeed: number; 21 | jumpPower: number; 22 | ccImmune: number; 23 | elementImmune: number; 24 | } 25 | 26 | export interface Ability { 27 | stat?: Partial; 28 | } 29 | 30 | export interface Disposition { 31 | charisma: number; // 카리스마 32 | sensivity: number; // 감성 33 | dexterity: number; // 손재주 34 | will: number; // 의지 35 | insight: number; // 통찰력 36 | charm: number; // 매력 37 | } 38 | 39 | export interface CharacterItems { 40 | weapon: number; 41 | subweapon: number; 42 | emblem: number; 43 | cap: number; 44 | clothes: number; 45 | pants: number; 46 | overall: number; 47 | shoes: number; 48 | gloves: number; 49 | cape: number; 50 | ring1: number; 51 | ring2: number; 52 | ring3: number; 53 | ring4: number; 54 | pendant1: number; 55 | pendant2: number; 56 | forehead: number; 57 | eyeacc: number; 58 | shoulder: number; 59 | earacc: number; 60 | poket: number; 61 | badge: number; 62 | medal: number; 63 | belt: number; 64 | heart: number; 65 | } 66 | 67 | export interface ArcaneSymbols { 68 | vanishing: number; 69 | chewchew: number; 70 | lacheln: number; 71 | arcana: number; 72 | morass: number; 73 | esfera: number; 74 | } 75 | 76 | export interface Character { 77 | job: JOB_CODE; 78 | level: number; 79 | hyperStat: HyperStat; 80 | abilities: Ability[]; 81 | unionCards: UnionCard[]; 82 | unionControl: UnionControl; 83 | disposition: Disposition; 84 | items: CharacterItems; 85 | arcaneSymbols: ArcaneSymbols; 86 | skillLevels: { 87 | [code: string]: number; 88 | }; 89 | stacks: { 90 | [code: string]: number; 91 | }; 92 | cores: Core[]; 93 | buffs: string[]; 94 | } 95 | -------------------------------------------------------------------------------- /src/app/deal/models/core.model.ts: -------------------------------------------------------------------------------- 1 | export interface Core { 2 | type: 'UPGRADE' | 'SKILL' | 'SPECIAL'; 3 | level: number; 4 | slotLevel: number; 5 | skillCode?: string; 6 | } 7 | -------------------------------------------------------------------------------- /src/app/deal/models/item.model.ts: -------------------------------------------------------------------------------- 1 | import { Stat } from './stat.model'; 2 | 3 | export type ARMOR_CATEGORY = 4 | | 'CAP' 5 | | 'CLOTHES' 6 | | 'PANTS' 7 | | 'OVERALL' 8 | | 'SHOES' 9 | | 'GLOVES' 10 | | 'CAPE'; 11 | export type ACC_CATEGORY = 12 | | 'RING' 13 | | 'FOREHEAD' 14 | | 'EYEACC' 15 | | 'SHOULDER' 16 | | 'EARACC' 17 | | 'POKET' 18 | | 'PENDANT' 19 | | 'BELT' 20 | | 'BADGE'; 21 | export type WEAPON_CATEGORY = 22 | | 'SHININGROD' 23 | | 'SOULSHOOTER' 24 | | 'DESPERADO' 25 | | 'ENERGYSWORD' 26 | | 'ONE_HANDED_SWORD' 27 | | 'GUN'; 28 | 29 | export type ITEM_CATEGORY = 30 | | ARMOR_CATEGORY 31 | | ACC_CATEGORY 32 | | WEAPON_CATEGORY 33 | | 'MEDAL' 34 | | 'EMBLEM' 35 | | 'SUBWEAPON' 36 | | 'HEART'; 37 | 38 | export interface BaseItem { 39 | code: string; 40 | name: string; 41 | category: ITEM_CATEGORY; 42 | requiredLevel: number; 43 | stat: Partial; 44 | maxUpgrade: number; 45 | attackSpeed?: number; 46 | } 47 | 48 | export interface Item { 49 | id: number; 50 | baseItem: string; 51 | description: string; 52 | additionalStat: Partial; 53 | upgradeStat: Partial; 54 | upgrade: number; 55 | hammerApplied: boolean; 56 | starForce: number; 57 | potential?: Potential[]; 58 | additionalPotential?: Potential[]; 59 | soul?: Soul; 60 | } 61 | 62 | export interface Soul { 63 | prefix: string; 64 | boss: string; 65 | type: string; 66 | amount: number; 67 | } 68 | 69 | export interface Potential { 70 | stat?: Partial; 71 | } 72 | -------------------------------------------------------------------------------- /src/app/deal/models/job.model.ts: -------------------------------------------------------------------------------- 1 | export type WARRIOR = 2 | | 'HERO' 3 | | 'PALADIN' 4 | | 'DARK_KNIGHT' 5 | | 'SOULMASTER' 6 | | 'MIHILE' 7 | | 'ARAN' 8 | | 'BLASTER' 9 | | 'DEMONSLAYER' 10 | | 'DEMONAVENGER' 11 | | 'KAISER' 12 | | 'ZERO'; 13 | 14 | export type MAGE = 15 | | 'ARCHMAGE_FIRE_POISON' 16 | | 'ARCHMAGE_ICE_LIGHTNING' 17 | | 'BISHOP' 18 | | 'FLAMEWIZARD' 19 | | 'EVAN' 20 | | 'LUMINOUS' 21 | | 'BATTLEMAGE' 22 | | 'KINESIS' 23 | | 'ILLIUM'; 24 | 25 | export type ARCHER = 26 | | 'BOWMASTER' 27 | | 'MARKSMAN' 28 | | 'WINDBREAKER' 29 | | 'MERCEDES' 30 | | 'WILDHUNTER'; 31 | 32 | export type ROGUE = 33 | | 'NIGHTLORD' 34 | | 'SHADOWER' 35 | | 'DUALBLADE' 36 | | 'NIGHTWALKER' 37 | | 'PHANTOM' 38 | | 'CADENA' 39 | | 'XENON'; 40 | 41 | export type PIRATE = 42 | | 'VIPER' 43 | | 'CAPTAIN' 44 | | 'CANNONSHOOTER' 45 | | 'STRIKER' 46 | | 'EUNWOL' 47 | | 'MECHANIC' 48 | | 'ANGELICBUSTER' 49 | | 'ARK' 50 | | 'XENON'; 51 | 52 | export type JOB_CODE = WARRIOR | MAGE | ARCHER | ROGUE | PIRATE; 53 | export type JOB_CATEGORY = 'WARRIOR' | 'MAGE' | 'ARCHER' | 'ROGUE' | 'PIRATE'; 54 | 55 | export type MainStat = 'STR' | 'DEX' | 'INT' | 'LUK' | 'maxHP'; 56 | 57 | export interface Job { 58 | code: JOB_CODE; 59 | category: JOB_CATEGORY; 60 | name: string; 61 | mainStat: MainStat; 62 | mastery: number; 63 | skills: string[]; 64 | skillCores: string[]; 65 | } 66 | -------------------------------------------------------------------------------- /src/app/deal/models/skill.model.ts: -------------------------------------------------------------------------------- 1 | import { Stat } from './stat.model'; 2 | 3 | export interface Skill { 4 | code: string; 5 | name: string; 6 | maxLevel: number; 7 | passive?: PassiveSkill; 8 | buff?: BuffSkill; 9 | } 10 | 11 | export type PassiveSkill = ( 12 | level: number, 13 | options?: { stack?: number }, 14 | ) => { stat: Partial }; 15 | 16 | export type BuffSkill = ( 17 | level: number, 18 | options?: { stack?: number }, 19 | ) => { cooldown?: number; persist?: number; stat: Partial }; 20 | -------------------------------------------------------------------------------- /src/app/deal/models/stat.model.ts: -------------------------------------------------------------------------------- 1 | export interface Stat { 2 | STR: number; 3 | DEX: number; 4 | INT: number; 5 | LUK: number; 6 | STRPercent: number; 7 | DEXPercent: number; 8 | INTPercent: number; 9 | LUKPercent: number; 10 | allStatPercent: number; 11 | STRFixed: number; 12 | DEXFixed: number; 13 | INTFixed: number; 14 | LUKFixed: number; 15 | maxHP: number; 16 | maxHPPercent: number; 17 | maxHPFixed: number; 18 | maxMP: number; 19 | maxMPPercent: number; 20 | 21 | weaponAttack: number; 22 | magicAttack: number; 23 | weaponAttackPercent: number; 24 | magicAttackPercent: number; 25 | 26 | mastery: number; 27 | totalDamage: number; 28 | bossDamage: number; 29 | ignoreDefense: number; 30 | finalDamage: number; 31 | criticalRate: number; 32 | criticalDamage: number; 33 | 34 | attackSpeed: number; 35 | 36 | defense: number; 37 | stance: number; 38 | 39 | cooldownReduce: number; 40 | cooldownReducePercent: number; 41 | 42 | summonPersist: number; 43 | buffPersist: number; 44 | 45 | dropRate: number; 46 | mesoGain: number; 47 | expGain: number; 48 | 49 | ccImmune: number; 50 | elementImmune: number; 51 | elementReset: number; 52 | 53 | moveSpeed: number; 54 | jumpPower: number; 55 | 56 | starForce: number; 57 | arcaneForce: number; 58 | } 59 | -------------------------------------------------------------------------------- /src/app/deal/models/union.model.ts: -------------------------------------------------------------------------------- 1 | import { Stat } from './stat.model'; 2 | import { JOB_CODE } from './job.model'; 3 | 4 | export interface UnionCard { 5 | job: JOB_CODE | 'M'; 6 | rank: 'SSS' | 'SS' | 'S' | 'A' | 'B'; 7 | } 8 | 9 | export interface UnionCardEffect { 10 | job: JOB_CODE | 'M'; 11 | stat: [ 12 | Partial, 13 | Partial, 14 | Partial, 15 | Partial, 16 | Partial 17 | ]; 18 | } 19 | 20 | export interface UnionControl { 21 | STR: number; 22 | DEX: number; 23 | INT: number; 24 | LUK: number; 25 | maxHP: number; 26 | maxMP: number; 27 | weaponAttack: number; 28 | magicAttack: number; 29 | criticalRate: number; 30 | criticalDamage: number; 31 | bossDamage: number; 32 | ignoreDefense: number; 33 | buffPersist: number; 34 | stance: number; 35 | ccImmune: number; 36 | expGain: number; 37 | } 38 | -------------------------------------------------------------------------------- /src/app/grinding/grinding-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { RouterModule, Routes } from '@angular/router'; 3 | import { GrindingComponent } from './containers/grinding.component'; 4 | 5 | const routes: Routes = [ 6 | { 7 | path: 'grinding', 8 | component: GrindingComponent, 9 | }, 10 | ]; 11 | 12 | @NgModule({ 13 | imports: [RouterModule.forChild(routes)], 14 | exports: [RouterModule], 15 | }) 16 | export class GrindingRoutingModule {} 17 | -------------------------------------------------------------------------------- /src/app/grinding/grinding.module.ts: -------------------------------------------------------------------------------- 1 | import { CommonModule } from '@angular/common'; 2 | import { NgModule } from '@angular/core'; 3 | import { MaterialModule } from '../material/material.module'; 4 | import { GrindingComponent } from './containers/grinding.component'; 5 | import { GrindingRoutingModule } from './grinding-routing.module'; 6 | import { FormsModule, ReactiveFormsModule } from '@angular/forms'; 7 | 8 | @NgModule({ 9 | declarations: [GrindingComponent], 10 | imports: [ 11 | CommonModule, 12 | MaterialModule, 13 | GrindingRoutingModule, 14 | FormsModule, 15 | ReactiveFormsModule, 16 | ], 17 | }) 18 | export class GrindingModule {} 19 | -------------------------------------------------------------------------------- /src/app/material/material.module.ts: -------------------------------------------------------------------------------- 1 | import { LayoutModule } from '@angular/cdk/layout'; 2 | import { NgModule } from '@angular/core'; 3 | import { MatButtonModule } from '@angular/material/button'; 4 | import { MatCardModule } from '@angular/material/card'; 5 | import { MatCheckboxModule } from '@angular/material/checkbox'; 6 | import { MatFormFieldModule } from '@angular/material/form-field'; 7 | import { MatGridListModule } from '@angular/material/grid-list'; 8 | import { MatIconModule } from '@angular/material/icon'; 9 | import { MatInputModule } from '@angular/material/input'; 10 | import { MatListModule } from '@angular/material/list'; 11 | import { MatMenuModule } from '@angular/material/menu'; 12 | import { MatPaginatorModule } from '@angular/material/paginator'; 13 | import { MatSelectModule } from '@angular/material/select'; 14 | import { MatSidenavModule } from '@angular/material/sidenav'; 15 | import { MatSortModule } from '@angular/material/sort'; 16 | import { MatStepperModule } from '@angular/material/stepper'; 17 | import { MatTableModule } from '@angular/material/table'; 18 | import { MatTabsModule } from '@angular/material/tabs'; 19 | import { MatToolbarModule } from '@angular/material/toolbar'; 20 | import { MatSliderModule } from '@angular/material/slider'; 21 | import { MatSlideToggleModule } from '@angular/material/slide-toggle'; 22 | 23 | @NgModule({ 24 | imports: [ 25 | LayoutModule, 26 | MatSidenavModule, 27 | MatToolbarModule, 28 | MatIconModule, 29 | MatListModule, 30 | MatGridListModule, 31 | MatCardModule, 32 | MatMenuModule, 33 | MatButtonModule, 34 | MatFormFieldModule, 35 | MatInputModule, 36 | MatCheckboxModule, 37 | MatTableModule, 38 | MatSortModule, 39 | MatPaginatorModule, 40 | MatTabsModule, 41 | MatStepperModule, 42 | MatSelectModule, 43 | MatSliderModule, 44 | MatSlideToggleModule, 45 | ], 46 | exports: [ 47 | LayoutModule, 48 | MatSidenavModule, 49 | MatToolbarModule, 50 | MatIconModule, 51 | MatListModule, 52 | MatGridListModule, 53 | MatCardModule, 54 | MatMenuModule, 55 | MatButtonModule, 56 | MatFormFieldModule, 57 | MatInputModule, 58 | MatCheckboxModule, 59 | MatTableModule, 60 | MatSortModule, 61 | MatPaginatorModule, 62 | MatTabsModule, 63 | MatStepperModule, 64 | MatSelectModule, 65 | MatSliderModule, 66 | MatSlideToggleModule, 67 | ], 68 | declarations: [], 69 | }) 70 | export class MaterialModule {} 71 | -------------------------------------------------------------------------------- /src/app/randombox/containers/randombox-table-datasource.ts: -------------------------------------------------------------------------------- 1 | import { DataSource } from '@angular/cdk/collections'; 2 | import { MatSort } from '@angular/material/sort'; 3 | import { BehaviorSubject, Observable, merge } from 'rxjs'; 4 | import { map, switchMap } from 'rxjs/operators'; 5 | 6 | // TODO: Replace this with your own data model type 7 | export interface RandomboxTableItem { 8 | id: number; 9 | name: string; 10 | percentage: string; 11 | } 12 | 13 | /** 14 | * Data source for the RandomboxTable view. This class should 15 | * encapsulate all logic for fetching and manipulating the displayed data 16 | * (including sorting, pagination, and filtering). 17 | */ 18 | export class RandomboxTableDataSource extends DataSource { 19 | data$ = new BehaviorSubject([]); 20 | 21 | constructor(private sort: MatSort) { 22 | super(); 23 | } 24 | 25 | setData(data: RandomboxTableItem[]) { 26 | this.data$.next(data); 27 | } 28 | 29 | /** 30 | * Connect this data source to the table. The table will only update when 31 | * the returned stream emits new items. 32 | * @returns A stream of the items to be rendered. 33 | */ 34 | connect(): Observable { 35 | // Combine everything that affects the rendered data into one update 36 | // stream for the data-table to consume. 37 | const dataMutations = [this.data$, this.sort.sortChange]; 38 | 39 | return merge(...dataMutations).pipe( 40 | switchMap(() => this.data$), 41 | map(data => { 42 | return this.getSortedData([...data]); 43 | }), 44 | ); 45 | } 46 | 47 | /** 48 | * Called when the table is being destroyed. Use this function, to clean up 49 | * any open connections or free any held resources that were set up during connect. 50 | */ 51 | disconnect() {} 52 | 53 | /** 54 | * Sort the data (client-side). If you're using server-side sorting, 55 | * this would be replaced by requesting the appropriate data from the server. 56 | */ 57 | private getSortedData(data: RandomboxTableItem[]) { 58 | if (!this.sort.active || this.sort.direction === '') { 59 | return data; 60 | } 61 | 62 | return data.sort((a, b) => { 63 | const isAsc = this.sort.direction === 'asc'; 64 | switch (this.sort.active) { 65 | case 'name': 66 | return compare(a.name, b.name, isAsc); 67 | case 'percentage': 68 | return compare(+a.percentage, +b.percentage, isAsc); 69 | default: 70 | return 0; 71 | } 72 | }); 73 | } 74 | } 75 | 76 | /** Simple sort comparator for example ID/Name columns (for client-side sorting). */ 77 | function compare(a, b, isAsc) { 78 | return (a < b ? -1 : 1) * (isAsc ? 1 : -1); 79 | } 80 | -------------------------------------------------------------------------------- /src/app/randombox/containers/randombox.component.css: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | margin: 20px; 3 | } 4 | 5 | .table-container { 6 | margin: 10px; 7 | height: 60vh; 8 | overflow: auto; 9 | } 10 | 11 | .calc-container { 12 | display: flex; 13 | align-items: center; 14 | margin: 10px; 15 | width: 100%; 16 | max-width: 300px; 17 | height: 60px; 18 | background-color: #fff; 19 | padding: 12px; 20 | } 21 | 22 | table { 23 | width: 100%; 24 | } 25 | -------------------------------------------------------------------------------- /src/app/randombox/containers/randombox.component.html: -------------------------------------------------------------------------------- 1 |
2 |

확률형 아이템

3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 25 | 26 | 27 | 28 | 29 |
아이템명{{row.name}}확률{{row.percentage}}%가격 21 | 22 | 23 | 24 |
30 |
31 | 32 |
기대값: {{ appleExpect | number }}
33 |
34 | 35 | 36 |
37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 56 | 57 | 58 | 59 | 60 |
아이템명{{row.name}}확률{{row.percentage}}%가격 52 | 53 | 54 | 55 |
61 |
62 | 63 |
기대값: {{ royalExpect | number }}
64 |
65 |
66 |
-------------------------------------------------------------------------------- /src/app/randombox/containers/randombox.component.ts: -------------------------------------------------------------------------------- 1 | import { 2 | ChangeDetectionStrategy, 3 | Component, 4 | OnInit, 5 | ViewChild, 6 | } from '@angular/core'; 7 | import { MatSort } from '@angular/material/sort'; 8 | import { RandomboxService } from '../services/randombox.service'; 9 | import { RandomboxTableDataSource } from './randombox-table-datasource'; 10 | 11 | @Component({ 12 | selector: 'app-randombox', 13 | templateUrl: './randombox.component.html', 14 | styleUrls: ['./randombox.component.css'], 15 | changeDetection: ChangeDetectionStrategy.OnPush, 16 | }) 17 | export class RandomboxComponent implements OnInit { 18 | @ViewChild('apple', { static: true }) 19 | appleSort: MatSort; 20 | @ViewChild('royal', { static: true }) 21 | royalSort: MatSort; 22 | 23 | appleDataSource: RandomboxTableDataSource; 24 | royalDataSource: RandomboxTableDataSource; 25 | 26 | displayedColumns = ['name', 'percentage', 'price']; 27 | 28 | appleExpect = 0; 29 | royalExpect = 0; 30 | 31 | applePrice: { [id: number]: string } = {}; 32 | royalPrice: { [id: number]: string } = {}; 33 | 34 | constructor(private randomboxService: RandomboxService) {} 35 | 36 | async ngOnInit() { 37 | this.appleDataSource = new RandomboxTableDataSource(this.appleSort); 38 | this.royalDataSource = new RandomboxTableDataSource(this.royalSort); 39 | 40 | const data = await this.randomboxService.getAll().toPromise(); 41 | const appleData = data.lists.find(x => x.type === 'NORMAL').items; 42 | const royalData = data.lists.find(x => x.type === 'DECORATION').items; 43 | 44 | this.applePrice = appleData.reduce( 45 | (obj, x) => ({ ...obj, [x.id]: '' }), 46 | {}, 47 | ); 48 | this.royalPrice = royalData.reduce( 49 | (obj, x) => ({ ...obj, [x.id]: '' }), 50 | {}, 51 | ); 52 | 53 | this.appleDataSource.setData(appleData); 54 | this.royalDataSource.setData(royalData); 55 | } 56 | 57 | setApplePrice(id: number, price: string) { 58 | this.applePrice[id] = price; 59 | this.appleExpect = this.appleDataSource.data$ 60 | .getValue() 61 | .reduce((sum, x) => { 62 | return sum + +this.applePrice[x.id] * +x.percentage / 100; 63 | }, 0); 64 | } 65 | 66 | setRoyalPrice(id: number, price: string) { 67 | this.royalPrice[id] = price; 68 | this.royalExpect = this.royalDataSource.data$ 69 | .getValue() 70 | .reduce((sum, x) => { 71 | return sum + +this.royalPrice[x.id] * +x.percentage / 100; 72 | }, 0); 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/app/randombox/randombox-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { RouterModule, Routes } from '@angular/router'; 3 | import { RandomboxComponent } from './containers/randombox.component'; 4 | 5 | const routes: Routes = [ 6 | { 7 | path: 'randombox', 8 | component: RandomboxComponent, 9 | }, 10 | ]; 11 | 12 | @NgModule({ 13 | imports: [RouterModule.forChild(routes)], 14 | exports: [RouterModule], 15 | }) 16 | export class RandomboxRoutingModule {} 17 | -------------------------------------------------------------------------------- /src/app/randombox/randombox.module.ts: -------------------------------------------------------------------------------- 1 | import { CommonModule } from '@angular/common'; 2 | import { NgModule } from '@angular/core'; 3 | import { FormsModule, ReactiveFormsModule } from '@angular/forms'; 4 | import { MaterialModule } from '../material/material.module'; 5 | import { RandomboxComponent } from './containers/randombox.component'; 6 | import { RandomboxRoutingModule } from './randombox-routing.module'; 7 | import { RandomboxService } from './services/randombox.service'; 8 | 9 | @NgModule({ 10 | imports: [ 11 | CommonModule, 12 | RandomboxRoutingModule, 13 | MaterialModule, 14 | FormsModule, 15 | ReactiveFormsModule, 16 | ], 17 | declarations: [RandomboxComponent], 18 | providers: [RandomboxService], 19 | }) 20 | export class RandomboxModule {} 21 | -------------------------------------------------------------------------------- /src/app/randombox/services/randombox.service.ts: -------------------------------------------------------------------------------- 1 | import { HttpClient } from '@angular/common/http'; 2 | import { Injectable } from '@angular/core'; 3 | 4 | @Injectable() 5 | export class RandomboxService { 6 | constructor(private http: HttpClient) {} 7 | 8 | getAll() { 9 | return this.http.get<{ 10 | lists: { 11 | id: number; 12 | createTime: string; 13 | type: 'NORMAL' | 'DECORATION'; 14 | items: { 15 | id: number; 16 | name: string; 17 | percentage: string; 18 | }[]; 19 | }[]; 20 | }>(`https://api.icepeng.com:3003`); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/app/skill/canvas.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from '@angular/core'; 2 | import { BehaviorSubject } from 'rxjs'; 3 | import { CanvasSetting } from './models/canvas-setting'; 4 | 5 | @Injectable({ 6 | providedIn: 'root', 7 | }) 8 | export class CanvasService { 9 | private _setting$ = new BehaviorSubject({ 10 | background: '투명', 11 | showGrid: true, 12 | }); 13 | setting$ = this._setting$.asObservable(); 14 | 15 | constructor() {} 16 | 17 | dispatch(setting: CanvasSetting) { 18 | this._setting$.next(setting); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/app/skill/containers/canvas-setting.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 배경색 4 | 5 | 6 |
7 | {{ formGroup.value.background }} 8 |
12 |
13 |
14 | 15 |
16 | {{ color }} 17 |
18 |
19 |
20 |
21 |
22 |
23 | 눈금선 표시 24 | 25 |
26 |
27 | -------------------------------------------------------------------------------- /src/app/skill/containers/canvas-setting.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; 2 | import { FormControl, FormGroup } from '@angular/forms'; 3 | import { take } from 'rxjs/operators'; 4 | import { CanvasService } from '../canvas.service'; 5 | 6 | @Component({ 7 | selector: 'app-canvas-setting', 8 | templateUrl: './canvas-setting.component.html', 9 | styles: [ 10 | ` 11 | .canvas-container { 12 | display: flex; 13 | justify-content: flex-start; 14 | align-items: center; 15 | background: white; 16 | border: solid 1px #ccc; 17 | border-radius: 0px 0px 4px; 18 | padding: 20px 10px; 19 | font-size: 14px; 20 | } 21 | .control { 22 | margin-right: 12px; 23 | } 24 | .label { 25 | margin-right: 12px; 26 | } 27 | .vcenter { 28 | display: flex; 29 | align-items: center; 30 | } 31 | .color-box { 32 | width: 16px; 33 | height: 16px; 34 | margin-left: 8px; 35 | border: 1px solid black; 36 | } 37 | 38 | mat-select { 39 | width: 160px; 40 | } 41 | `, 42 | ], 43 | changeDetection: ChangeDetectionStrategy.OnPush, 44 | }) 45 | export class CanvasSettingComponent implements OnInit { 46 | formGroup = new FormGroup({ 47 | background: new FormControl(), 48 | showGrid: new FormControl(), 49 | }); 50 | 51 | backgrounds = ['투명', '#ffffff', '#fafafa', '#000000']; 52 | 53 | constructor(private canvasService: CanvasService) {} 54 | 55 | ngOnInit(): void { 56 | this.canvasService.setting$ 57 | .pipe(take(1)) 58 | .subscribe(setting => 59 | this.formGroup.setValue(setting, { emitEvent: false }), 60 | ); 61 | this.formGroup.valueChanges.subscribe(form => 62 | this.canvasService.dispatch(form), 63 | ); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/app/skill/containers/canvas.component.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/app/skill/containers/draggable.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 6 | 7 |
8 | 9 |
10 | -------------------------------------------------------------------------------- /src/app/skill/containers/draggable.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit, ChangeDetectionStrategy } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-draggable', 5 | templateUrl: './draggable.component.html', 6 | styles: [ 7 | ` 8 | .handle { 9 | display: flex; 10 | justify-content: center; 11 | align-items: center; 12 | color: #ccc; 13 | cursor: move; 14 | width: 100%; 15 | height: 16px; 16 | box-sizing: border-box; 17 | border: solid 1px #ccc; 18 | border-bottom: none; 19 | border-radius: 4px 4px 0 0; 20 | background: #eee; 21 | } 22 | `, 23 | ], 24 | changeDetection: ChangeDetectionStrategy.OnPush, 25 | }) 26 | export class DraggableComponent implements OnInit { 27 | constructor() {} 28 | 29 | ngOnInit(): void {} 30 | } 31 | -------------------------------------------------------------------------------- /src/app/skill/containers/search.component.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 직업 4 | 5 | 스킬명 6 | 7 |
8 | 9 | {{ skill.job }} | {{ skill.name }} 15 | 16 |
17 | -------------------------------------------------------------------------------- /src/app/skill/containers/search.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; 2 | import { FormControl, FormGroup } from '@angular/forms'; 3 | import { combineLatest, Observable } from 'rxjs'; 4 | import { map, startWith } from 'rxjs/operators'; 5 | import { LayerService } from '../layer.service'; 6 | import { skillData, SkillData } from '../models/skill-data'; 7 | 8 | @Component({ 9 | selector: 'app-search', 10 | templateUrl: './search.component.html', 11 | styles: [ 12 | ` 13 | .search-container { 14 | border: solid 1px #ccc; 15 | border-radius: 0px 0px 4px; 16 | background: white; 17 | padding: 20px 10px; 18 | font-size: 14px; 19 | } 20 | 21 | form { 22 | display: flex; 23 | } 24 | 25 | input { 26 | border: none; 27 | border-bottom: 1px solid black; 28 | margin-left: 8px; 29 | margin-right: 8px; 30 | } 31 | 32 | .skill-input { 33 | flex: 1 1 auto; 34 | } 35 | 36 | .skill-list { 37 | height: 320px; 38 | overflow-y: scroll; 39 | } 40 | 41 | .clickable { 42 | cursor: pointer; 43 | } 44 | .clickable:hover { 45 | background: rgba(0, 0, 0, 0.04); 46 | } 47 | `, 48 | ], 49 | changeDetection: ChangeDetectionStrategy.OnPush, 50 | }) 51 | export class SearchComponent implements OnInit { 52 | layers$ = this.layerService.layers$; 53 | skillList$: Observable; 54 | formGroup = new FormGroup({ 55 | job: new FormControl(''), 56 | skill: new FormControl(''), 57 | }); 58 | 59 | constructor(private layerService: LayerService) {} 60 | 61 | ngOnInit(): void { 62 | this.skillList$ = combineLatest([ 63 | this.layerService.layers$, 64 | this.formGroup.valueChanges.pipe(startWith(this.formGroup.value)), 65 | ]).pipe( 66 | map(([layers, form]) => 67 | skillData.filter( 68 | s => 69 | s.job.includes(form.job) && 70 | s.name.includes(form.skill) && 71 | !layers.find(x => x.skill === s.name), 72 | ), 73 | ), 74 | ); 75 | } 76 | 77 | addLayer(skill: SkillData) { 78 | this.layerService.addLayer(skill); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /src/app/skill/containers/skill.component.html: -------------------------------------------------------------------------------- 1 |
2 |

3 | 스킬 범위(베타) 4 |

5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 | 17 | 18 | 19 |
20 |
21 | -------------------------------------------------------------------------------- /src/app/skill/containers/skill.component.ts: -------------------------------------------------------------------------------- 1 | import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; 2 | 3 | @Component({ 4 | selector: 'app-skill', 5 | templateUrl: './skill.component.html', 6 | styles: [ 7 | ` 8 | .wrapper { 9 | margin: 20px; 10 | font-family: 'Noto sans KR'; 11 | } 12 | 13 | .container { 14 | display: flex; 15 | align-items: flex-start; 16 | width: 1366px; 17 | margin-top: 12px; 18 | } 19 | 20 | .layer { 21 | width: 480px; 22 | box-sizing: border-box; 23 | } 24 | 25 | .search { 26 | flex: 1 1 auto; 27 | margin-left: 12px; 28 | } 29 | 30 | .canvas-setting { 31 | width: 480px; 32 | box-sizing: border-box; 33 | } 34 | `, 35 | ], 36 | changeDetection: ChangeDetectionStrategy.OnPush, 37 | }) 38 | export class SkillComponent implements OnInit { 39 | constructor() {} 40 | 41 | ngOnInit() {} 42 | } 43 | -------------------------------------------------------------------------------- /src/app/skill/layer.service.ts: -------------------------------------------------------------------------------- 1 | import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'; 2 | import { Injectable } from '@angular/core'; 3 | import { BehaviorSubject } from 'rxjs'; 4 | import { Layer, NamePosition } from './models/layer'; 5 | import { SkillData } from './models/skill-data'; 6 | 7 | @Injectable({ 8 | providedIn: 'root', 9 | }) 10 | export class LayerService { 11 | private _layers$ = new BehaviorSubject([]); 12 | layers$ = this._layers$.asObservable(); 13 | 14 | constructor() {} 15 | 16 | dropLayer(event: CdkDragDrop) { 17 | const layers = [...this._layers$.getValue()]; 18 | moveItemInArray(layers, event.previousIndex, event.currentIndex); 19 | this._layers$.next(layers); 20 | } 21 | 22 | addLayer(skill: SkillData) { 23 | const layers = this._layers$.getValue(); 24 | if (layers.find(layer => layer.skill === skill.name)) { 25 | return; 26 | } 27 | this._layers$.next([ 28 | { 29 | skill: skill.name, 30 | namePosition: '좌측 상단', 31 | alpha: 0.5, 32 | color: '#000000', 33 | visible: true, 34 | }, 35 | ...layers, 36 | ]); 37 | } 38 | 39 | deleteLayer(index: number) { 40 | const layers = this._layers$.getValue(); 41 | this._layers$.next([...layers.slice(0, index), ...layers.slice(index + 1)]); 42 | } 43 | 44 | private setLayerAttr(index: number, attr: string, value: unknown) { 45 | const layers = this._layers$.getValue(); 46 | this._layers$.next([ 47 | ...layers.slice(0, index), 48 | { 49 | ...layers[index], 50 | [attr]: value, 51 | }, 52 | ...layers.slice(index + 1), 53 | ]); 54 | } 55 | 56 | setLayerColor(index: number, color: string) { 57 | this.setLayerAttr(index, 'color', color); 58 | } 59 | 60 | setLayerNamePosition(index: number, pos: NamePosition) { 61 | this.setLayerAttr(index, 'namePosition', pos); 62 | } 63 | 64 | setLayerAlpha(index: number, alpha: number) { 65 | this.setLayerAttr(index, 'alpha', alpha); 66 | } 67 | 68 | setLayerVisible(index: number, visible: boolean) { 69 | this.setLayerAttr(index, 'visible', visible); 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /src/app/skill/models/canvas-setting.ts: -------------------------------------------------------------------------------- 1 | export interface CanvasSetting { 2 | background: string; 3 | showGrid: boolean; 4 | } 5 | -------------------------------------------------------------------------------- /src/app/skill/models/layer.ts: -------------------------------------------------------------------------------- 1 | export type NamePosition = '좌측 상단' | '우측 상단' | '좌측 하단' | '우측 하단'; 2 | 3 | export interface Layer { 4 | skill: string; 5 | color: string; 6 | namePosition: NamePosition; 7 | alpha: number; 8 | visible: boolean; 9 | } 10 | -------------------------------------------------------------------------------- /src/app/skill/skill-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { RouterModule, Routes } from '@angular/router'; 3 | import { SkillComponent } from './containers/skill.component'; 4 | 5 | const routes: Routes = [ 6 | { 7 | path: 'skill', 8 | component: SkillComponent, 9 | }, 10 | ]; 11 | 12 | @NgModule({ 13 | imports: [RouterModule.forChild(routes)], 14 | exports: [RouterModule], 15 | }) 16 | export class SkillRoutingModule {} 17 | -------------------------------------------------------------------------------- /src/app/skill/skill.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { SkillComponent } from './containers/skill.component'; 4 | import { MaterialModule } from '../material/material.module'; 5 | import { SkillRoutingModule } from './skill-routing.module'; 6 | import { FormsModule, ReactiveFormsModule } from '@angular/forms'; 7 | import { DragDropModule } from '@angular/cdk/drag-drop'; 8 | import { LayerComponent } from './containers/layer.component'; 9 | import { CanvasComponent } from './containers/canvas.component'; 10 | import { SearchComponent } from './containers/search.component'; 11 | import { DraggableComponent } from './containers/draggable.component'; 12 | import { CanvasSettingComponent } from './containers/canvas-setting.component'; 13 | 14 | @NgModule({ 15 | declarations: [SkillComponent, LayerComponent, CanvasComponent, SearchComponent, DraggableComponent, CanvasSettingComponent], 16 | imports: [ 17 | CommonModule, 18 | MaterialModule, 19 | SkillRoutingModule, 20 | FormsModule, 21 | ReactiveFormsModule, 22 | DragDropModule, 23 | ], 24 | }) 25 | export class SkillModule {} 26 | -------------------------------------------------------------------------------- /src/app/upgrade/containers/upgrade-matrix.component.css: -------------------------------------------------------------------------------- 1 | .U { 2 | background-color: #fff9c4; 3 | } 4 | 5 | .I { 6 | background-color: #d1c4e9; 7 | } 8 | 9 | .H { 10 | background-color: #f9a825; 11 | } 12 | 13 | .W { 14 | background-color: #e0f7fa; 15 | } 16 | 17 | .F { 18 | background-color: #f3e5e5; 19 | } 20 | 21 | .X { 22 | background-color: #616161; 23 | } 24 | -------------------------------------------------------------------------------- /src/app/upgrade/containers/upgrade.component.css: -------------------------------------------------------------------------------- 1 | .grid-container { 2 | margin: 20px; 3 | } 4 | 5 | .dashboard-card { 6 | position: absolute; 7 | top: 15px; 8 | left: 15px; 9 | right: 15px; 10 | bottom: 15px; 11 | } 12 | 13 | .upgrade-form mat-form-field { 14 | width: 100%; 15 | } 16 | 17 | .chart { 18 | height: 240px; 19 | width: 100%; 20 | } 21 | 22 | :host /deep/ .elegant-card .mat-card-header-text { 23 | margin: 0; 24 | } -------------------------------------------------------------------------------- /src/app/upgrade/upgrade-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from '@angular/core'; 2 | import { RouterModule, Routes } from '@angular/router'; 3 | import { UpgradeMatrixComponent } from './containers/upgrade-matrix.component'; 4 | import { UpgradeComponent } from './containers/upgrade.component'; 5 | 6 | const routes: Routes = [ 7 | { 8 | path: 'upgrade', 9 | component: UpgradeComponent, 10 | }, 11 | { 12 | path: 'upgrade-matrix', 13 | component: UpgradeMatrixComponent, 14 | }, 15 | ]; 16 | 17 | @NgModule({ 18 | imports: [RouterModule.forChild(routes)], 19 | exports: [RouterModule], 20 | }) 21 | export class UpgradeRoutingModule {} 22 | -------------------------------------------------------------------------------- /src/app/upgrade/upgrade.module.ts: -------------------------------------------------------------------------------- 1 | import { CommonModule } from '@angular/common'; 2 | import { NgModule } from '@angular/core'; 3 | import { FormsModule, ReactiveFormsModule } from '@angular/forms'; 4 | import { NgxEchartsModule } from 'ngx-echarts'; 5 | import { MaterialModule } from '../material/material.module'; 6 | import { UpgradeComponent } from './containers/upgrade.component'; 7 | import { UpgradeRoutingModule } from './upgrade-routing.module'; 8 | import { UpgradeMatrixComponent } from './containers/upgrade-matrix.component'; 9 | 10 | @NgModule({ 11 | imports: [ 12 | CommonModule, 13 | UpgradeRoutingModule, 14 | MaterialModule, 15 | FormsModule, 16 | ReactiveFormsModule, 17 | NgxEchartsModule, 18 | ], 19 | declarations: [UpgradeComponent, UpgradeMatrixComponent], 20 | }) 21 | export class UpgradeModule {} 22 | -------------------------------------------------------------------------------- /src/assets/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/.gitkeep -------------------------------------------------------------------------------- /src/assets/absolutekill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/absolutekill.png -------------------------------------------------------------------------------- /src/assets/abysschargedrive1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/abysschargedrive1.png -------------------------------------------------------------------------------- /src/assets/abysschargedrive2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/abysschargedrive2.png -------------------------------------------------------------------------------- /src/assets/abysschaser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/abysschaser.png -------------------------------------------------------------------------------- /src/assets/abyssterror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/abyssterror.png -------------------------------------------------------------------------------- /src/assets/adordnance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/adordnance.png -------------------------------------------------------------------------------- /src/assets/adordnance_shoot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/adordnance_shoot.png -------------------------------------------------------------------------------- /src/assets/advancedearthbreak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/advancedearthbreak.png -------------------------------------------------------------------------------- /src/assets/advancedearthbreak_shockwave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/advancedearthbreak_shockwave.png -------------------------------------------------------------------------------- /src/assets/advancedpowerstomp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/advancedpowerstomp.png -------------------------------------------------------------------------------- /src/assets/advancedpowerstomp_shockwave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/advancedpowerstomp_shockwave.png -------------------------------------------------------------------------------- /src/assets/advancedrollingassulter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/advancedrollingassulter.png -------------------------------------------------------------------------------- /src/assets/advancedrollingcurve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/advancedrollingcurve.png -------------------------------------------------------------------------------- /src/assets/advancedspincutter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/advancedspincutter.png -------------------------------------------------------------------------------- /src/assets/advancedstormbreak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/advancedstormbreak.png -------------------------------------------------------------------------------- /src/assets/advancedwheelwind.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/advancedwheelwind.png -------------------------------------------------------------------------------- /src/assets/amsal1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/amsal1.png -------------------------------------------------------------------------------- /src/assets/amsal2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/amsal2.png -------------------------------------------------------------------------------- /src/assets/amsal2_kill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/amsal2_kill.png -------------------------------------------------------------------------------- /src/assets/ancientastra_discharge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ancientastra_discharge.png -------------------------------------------------------------------------------- /src/assets/ancientastra_transition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ancientastra_transition.png -------------------------------------------------------------------------------- /src/assets/apocalypse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/apocalypse.png -------------------------------------------------------------------------------- /src/assets/armorbreak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/armorbreak.png -------------------------------------------------------------------------------- /src/assets/arrowrain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/arrowrain.png -------------------------------------------------------------------------------- /src/assets/asura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/asura.png -------------------------------------------------------------------------------- /src/assets/aurablade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/aurablade.png -------------------------------------------------------------------------------- /src/assets/bailofshadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bailofshadow.png -------------------------------------------------------------------------------- /src/assets/balkanpunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/balkanpunch.png -------------------------------------------------------------------------------- /src/assets/balkanpunch_init.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/balkanpunch_init.png -------------------------------------------------------------------------------- /src/assets/battlekingbar1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/battlekingbar1.png -------------------------------------------------------------------------------- /src/assets/battlekingbar2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/battlekingbar2.png -------------------------------------------------------------------------------- /src/assets/beyonder1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/beyonder1.png -------------------------------------------------------------------------------- /src/assets/beyonder2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/beyonder2.png -------------------------------------------------------------------------------- /src/assets/beyonder3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/beyonder3.png -------------------------------------------------------------------------------- /src/assets/bfgcannonball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bfgcannonball.png -------------------------------------------------------------------------------- /src/assets/bigbang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bigbang.png -------------------------------------------------------------------------------- /src/assets/binding_tempest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/binding_tempest.png -------------------------------------------------------------------------------- /src/assets/blackmage1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/blackmage1.png -------------------------------------------------------------------------------- /src/assets/bladedancing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bladedancing.png -------------------------------------------------------------------------------- /src/assets/bladefury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bladefury.png -------------------------------------------------------------------------------- /src/assets/bladestorminit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bladestorminit.png -------------------------------------------------------------------------------- /src/assets/bladestormrepeat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bladestormrepeat.png -------------------------------------------------------------------------------- /src/assets/bladetornado.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bladetornado.png -------------------------------------------------------------------------------- /src/assets/bladetornado_shoot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bladetornado_shoot.png -------------------------------------------------------------------------------- /src/assets/blast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/blast.png -------------------------------------------------------------------------------- /src/assets/blazingorbitalflame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/blazingorbitalflame.png -------------------------------------------------------------------------------- /src/assets/blizzard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/blizzard.png -------------------------------------------------------------------------------- /src/assets/bloodfist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bloodfist.png -------------------------------------------------------------------------------- /src/assets/blossom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/blossom.png -------------------------------------------------------------------------------- /src/assets/bomb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bomb.png -------------------------------------------------------------------------------- /src/assets/bombpunch1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bombpunch1.png -------------------------------------------------------------------------------- /src/assets/bombpunch2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bombpunch2.png -------------------------------------------------------------------------------- /src/assets/bombpunch3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bombpunch3.png -------------------------------------------------------------------------------- /src/assets/bombpunch4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bombpunch4.png -------------------------------------------------------------------------------- /src/assets/bong1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bong1.png -------------------------------------------------------------------------------- /src/assets/bong2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bong2.png -------------------------------------------------------------------------------- /src/assets/brandishmaha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/brandishmaha.png -------------------------------------------------------------------------------- /src/assets/breakback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/breakback.png -------------------------------------------------------------------------------- /src/assets/breathofearth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/breathofearth.png -------------------------------------------------------------------------------- /src/assets/breathofwind.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/breathofwind.png -------------------------------------------------------------------------------- /src/assets/brick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/brick.png -------------------------------------------------------------------------------- /src/assets/bulletparty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/bulletparty.png -------------------------------------------------------------------------------- /src/assets/burningregion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/burningregion.png -------------------------------------------------------------------------------- /src/assets/cannonbazooka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/cannonbazooka.png -------------------------------------------------------------------------------- /src/assets/cardinalblast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/cardinalblast.png -------------------------------------------------------------------------------- /src/assets/cardinaldischarge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/cardinaldischarge.png -------------------------------------------------------------------------------- /src/assets/cardinaltransition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/cardinaltransition.png -------------------------------------------------------------------------------- /src/assets/cataclysm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/cataclysm.png -------------------------------------------------------------------------------- /src/assets/cerberus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/cerberus.png -------------------------------------------------------------------------------- /src/assets/chainsickle1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/chainsickle1.png -------------------------------------------------------------------------------- /src/assets/chainsickle2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/chainsickle2.png -------------------------------------------------------------------------------- /src/assets/chargedarrow_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/chargedarrow_full.png -------------------------------------------------------------------------------- /src/assets/chtr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/chtr.png -------------------------------------------------------------------------------- /src/assets/circle_of_suppression.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/circle_of_suppression.png -------------------------------------------------------------------------------- /src/assets/circleofearth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/circleofearth.png -------------------------------------------------------------------------------- /src/assets/circleofmana1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/circleofmana1.png -------------------------------------------------------------------------------- /src/assets/circleofmana2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/circleofmana2.png -------------------------------------------------------------------------------- /src/assets/circleofthunder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/circleofthunder.png -------------------------------------------------------------------------------- /src/assets/circleofwind.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/circleofwind.png -------------------------------------------------------------------------------- /src/assets/claw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/claw.png -------------------------------------------------------------------------------- /src/assets/clonesunin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/clonesunin.png -------------------------------------------------------------------------------- /src/assets/comboassult_blast_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/comboassult_blast_arrow.png -------------------------------------------------------------------------------- /src/assets/comboassult_discharge_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/comboassult_discharge_arrow.png -------------------------------------------------------------------------------- /src/assets/comboassult_discharge_bow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/comboassult_discharge_bow.png -------------------------------------------------------------------------------- /src/assets/comboassult_transition_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/comboassult_transition_arrow.png -------------------------------------------------------------------------------- /src/assets/combodesfort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/combodesfort.png -------------------------------------------------------------------------------- /src/assets/comboinstinct1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/comboinstinct1.png -------------------------------------------------------------------------------- /src/assets/comboinstinct2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/comboinstinct2.png -------------------------------------------------------------------------------- /src/assets/comboinstinct3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/comboinstinct3.png -------------------------------------------------------------------------------- /src/assets/creation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/creation.png -------------------------------------------------------------------------------- /src/assets/crescentdivide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/crescentdivide.png -------------------------------------------------------------------------------- /src/assets/crestofthesolar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/crestofthesolar.png -------------------------------------------------------------------------------- /src/assets/crestofthesolar_summon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/crestofthesolar_summon.png -------------------------------------------------------------------------------- /src/assets/crossthestyx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/crossthestyx.png -------------------------------------------------------------------------------- /src/assets/cruelstab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/cruelstab.png -------------------------------------------------------------------------------- /src/assets/crush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/crush.png -------------------------------------------------------------------------------- /src/assets/danceofmoon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/danceofmoon.png -------------------------------------------------------------------------------- /src/assets/darkaura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/darkaura.png -------------------------------------------------------------------------------- /src/assets/darkflare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/darkflare.png -------------------------------------------------------------------------------- /src/assets/darkimpale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/darkimpale.png -------------------------------------------------------------------------------- /src/assets/darknessaura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/darknessaura.png -------------------------------------------------------------------------------- /src/assets/darknessaurafinal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/darknessaurafinal.png -------------------------------------------------------------------------------- /src/assets/darkspear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/darkspear.png -------------------------------------------------------------------------------- /src/assets/deadlycharge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/deadlycharge.png -------------------------------------------------------------------------------- /src/assets/deathstar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/deathstar.png -------------------------------------------------------------------------------- /src/assets/deathtrigger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/deathtrigger.png -------------------------------------------------------------------------------- /src/assets/debuffaura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/debuffaura.png -------------------------------------------------------------------------------- /src/assets/demonbane1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/demonbane1.png -------------------------------------------------------------------------------- /src/assets/demonbane2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/demonbane2.png -------------------------------------------------------------------------------- /src/assets/demonexplosion1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/demonexplosion1.png -------------------------------------------------------------------------------- /src/assets/demonexplosion2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/demonexplosion2.png -------------------------------------------------------------------------------- /src/assets/demonfrenzy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/demonfrenzy.png -------------------------------------------------------------------------------- /src/assets/demonimpact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/demonimpact.png -------------------------------------------------------------------------------- /src/assets/demonslash1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/demonslash1.png -------------------------------------------------------------------------------- /src/assets/demonslash2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/demonslash2.png -------------------------------------------------------------------------------- /src/assets/demonslash3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/demonslash3.png -------------------------------------------------------------------------------- /src/assets/demonslash4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/demonslash4.png -------------------------------------------------------------------------------- /src/assets/destroy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/destroy.png -------------------------------------------------------------------------------- /src/assets/devilcry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/devilcry.png -------------------------------------------------------------------------------- /src/assets/deviousdream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/deviousdream.png -------------------------------------------------------------------------------- /src/assets/deviousnightmare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/deviousnightmare.png -------------------------------------------------------------------------------- /src/assets/dimensionsword1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dimensionsword1.png -------------------------------------------------------------------------------- /src/assets/dimensionsword2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dimensionsword2.png -------------------------------------------------------------------------------- /src/assets/distortionfield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/distortionfield.png -------------------------------------------------------------------------------- /src/assets/diveofearth1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/diveofearth1.png -------------------------------------------------------------------------------- /src/assets/diveofearth2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/diveofearth2.png -------------------------------------------------------------------------------- /src/assets/diveofearth3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/diveofearth3.png -------------------------------------------------------------------------------- /src/assets/diveofearth4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/diveofearth4.png -------------------------------------------------------------------------------- /src/assets/divide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/divide.png -------------------------------------------------------------------------------- /src/assets/divinecharge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/divinecharge.png -------------------------------------------------------------------------------- /src/assets/divinepunishment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/divinepunishment.png -------------------------------------------------------------------------------- /src/assets/divinestigma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/divinestigma.png -------------------------------------------------------------------------------- /src/assets/divinestigma_explode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/divinestigma_explode.png -------------------------------------------------------------------------------- /src/assets/doublepang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/doublepang.png -------------------------------------------------------------------------------- /src/assets/dracoslasher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dracoslasher.png -------------------------------------------------------------------------------- /src/assets/dracoslasher_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dracoslasher_final.png -------------------------------------------------------------------------------- /src/assets/dracoslasher_final_shoot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dracoslasher_final_shoot.png -------------------------------------------------------------------------------- /src/assets/dracoslasher_shoot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dracoslasher_shoot.png -------------------------------------------------------------------------------- /src/assets/dragonbreak1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dragonbreak1.png -------------------------------------------------------------------------------- /src/assets/dragonbreak2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dragonbreak2.png -------------------------------------------------------------------------------- /src/assets/dragonbreak3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dragonbreak3.png -------------------------------------------------------------------------------- /src/assets/dragonbreak4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dragonbreak4.png -------------------------------------------------------------------------------- /src/assets/dragonbreath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dragonbreath.png -------------------------------------------------------------------------------- /src/assets/dragonburst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dragonburst.png -------------------------------------------------------------------------------- /src/assets/dragondive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dragondive.png -------------------------------------------------------------------------------- /src/assets/dragonslave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dragonslave.png -------------------------------------------------------------------------------- /src/assets/dragonswift.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dragonswift.png -------------------------------------------------------------------------------- /src/assets/dragpulling_front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/dragpulling_front.png -------------------------------------------------------------------------------- /src/assets/earthquake.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/earthquake.png -------------------------------------------------------------------------------- /src/assets/earthquake2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/earthquake2.png -------------------------------------------------------------------------------- /src/assets/edgeofresonance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/edgeofresonance.png -------------------------------------------------------------------------------- /src/assets/elementalblast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/elementalblast.png -------------------------------------------------------------------------------- /src/assets/endlessdream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/endlessdream.png -------------------------------------------------------------------------------- /src/assets/endlessnightmare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/endlessnightmare.png -------------------------------------------------------------------------------- /src/assets/endlesspain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/endlesspain.png -------------------------------------------------------------------------------- /src/assets/enhancepiercing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/enhancepiercing.png -------------------------------------------------------------------------------- /src/assets/ensizing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ensizing.png -------------------------------------------------------------------------------- /src/assets/exceedexecution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/exceedexecution.png -------------------------------------------------------------------------------- /src/assets/exceedmoonlightslash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/exceedmoonlightslash.png -------------------------------------------------------------------------------- /src/assets/fairyturn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/fairyturn.png -------------------------------------------------------------------------------- /src/assets/falling_sakura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/falling_sakura.png -------------------------------------------------------------------------------- /src/assets/fatalblitz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/fatalblitz.png -------------------------------------------------------------------------------- /src/assets/finalblow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/finalblow.png -------------------------------------------------------------------------------- /src/assets/finaleribbon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/finaleribbon.png -------------------------------------------------------------------------------- /src/assets/finishblow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/finishblow.png -------------------------------------------------------------------------------- /src/assets/fireaura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/fireaura.png -------------------------------------------------------------------------------- /src/assets/fistenrage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/fistenrage.png -------------------------------------------------------------------------------- /src/assets/flame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/flame.png -------------------------------------------------------------------------------- /src/assets/flame2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/flame2.png -------------------------------------------------------------------------------- /src/assets/flamedischarge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/flamedischarge.png -------------------------------------------------------------------------------- /src/assets/flamesweep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/flamesweep.png -------------------------------------------------------------------------------- /src/assets/flashassulter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/flashassulter.png -------------------------------------------------------------------------------- /src/assets/frontslash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/frontslash.png -------------------------------------------------------------------------------- /src/assets/fullburstshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/fullburstshot.png -------------------------------------------------------------------------------- /src/assets/fulldrive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/fulldrive.png -------------------------------------------------------------------------------- /src/assets/gateoflight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/gateoflight.png -------------------------------------------------------------------------------- /src/assets/genesis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/genesis.png -------------------------------------------------------------------------------- /src/assets/ghost_yaksha_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ghost_yaksha_1.png -------------------------------------------------------------------------------- /src/assets/ghost_yaksha_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ghost_yaksha_2.png -------------------------------------------------------------------------------- /src/assets/ghost_yaksha_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ghost_yaksha_3.png -------------------------------------------------------------------------------- /src/assets/ghost_yaksha_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ghost_yaksha_4.png -------------------------------------------------------------------------------- /src/assets/ghost_yaksha_great_oni.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ghost_yaksha_great_oni.png -------------------------------------------------------------------------------- /src/assets/gigacrash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/gigacrash.png -------------------------------------------------------------------------------- /src/assets/gigaslasher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/gigaslasher.png -------------------------------------------------------------------------------- /src/assets/gigaslasher_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/gigaslasher_final.png -------------------------------------------------------------------------------- /src/assets/gioatan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/gioatan.png -------------------------------------------------------------------------------- /src/assets/grandcrossbig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/grandcrossbig.png -------------------------------------------------------------------------------- /src/assets/grandcrosssmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/grandcrosssmall.png -------------------------------------------------------------------------------- /src/assets/greviouswound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/greviouswound.png -------------------------------------------------------------------------------- /src/assets/gungnirdescent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/gungnirdescent.png -------------------------------------------------------------------------------- /src/assets/gustchargedrive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/gustchargedrive.png -------------------------------------------------------------------------------- /src/assets/gustdive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/gustdive.png -------------------------------------------------------------------------------- /src/assets/gwicham.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/gwicham.png -------------------------------------------------------------------------------- /src/assets/hauntededge_nachal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/hauntededge_nachal.png -------------------------------------------------------------------------------- /src/assets/heavensdoor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/heavensdoor.png -------------------------------------------------------------------------------- /src/assets/hologramfusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/hologramfusion.png -------------------------------------------------------------------------------- /src/assets/homingmissile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/homingmissile.png -------------------------------------------------------------------------------- /src/assets/hookbomber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/hookbomber.png -------------------------------------------------------------------------------- /src/assets/howlingfist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/howlingfist.png -------------------------------------------------------------------------------- /src/assets/howlingfist_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/howlingfist_final.png -------------------------------------------------------------------------------- /src/assets/iceage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/iceage.png -------------------------------------------------------------------------------- /src/assets/illusionaryshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/illusionaryshot.png -------------------------------------------------------------------------------- /src/assets/imperialbreath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/imperialbreath.png -------------------------------------------------------------------------------- /src/assets/infantry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/infantry.png -------------------------------------------------------------------------------- /src/assets/infinite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/infinite.png -------------------------------------------------------------------------------- /src/assets/infinityflamecircle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/infinityflamecircle.png -------------------------------------------------------------------------------- /src/assets/insatiablehunger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/insatiablehunger.png -------------------------------------------------------------------------------- /src/assets/irkallaswrath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/irkallaswrath.png -------------------------------------------------------------------------------- /src/assets/jingwicham.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/jingwicham.png -------------------------------------------------------------------------------- /src/assets/jointattack_alpha_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/jointattack_alpha_1.png -------------------------------------------------------------------------------- /src/assets/jointattack_alpha_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/jointattack_alpha_2.png -------------------------------------------------------------------------------- /src/assets/jointattack_alpha_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/jointattack_alpha_3.png -------------------------------------------------------------------------------- /src/assets/jointattack_beta_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/jointattack_beta_1.png -------------------------------------------------------------------------------- /src/assets/jointattack_beta_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/jointattack_beta_2.png -------------------------------------------------------------------------------- /src/assets/jointattack_beta_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/jointattack_beta_3.png -------------------------------------------------------------------------------- /src/assets/jointattack_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/jointattack_final.png -------------------------------------------------------------------------------- /src/assets/joker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/joker.png -------------------------------------------------------------------------------- /src/assets/jumpingcrash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/jumpingcrash.png -------------------------------------------------------------------------------- /src/assets/jumpingcrash_shockwave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/jumpingcrash_shockwave.png -------------------------------------------------------------------------------- /src/assets/karmafury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/karmafury.png -------------------------------------------------------------------------------- /src/assets/knife.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/knife.png -------------------------------------------------------------------------------- /src/assets/leaptornado.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/leaptornado.png -------------------------------------------------------------------------------- /src/assets/legendaryspear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/legendaryspear.png -------------------------------------------------------------------------------- /src/assets/liberated_spirit_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/liberated_spirit_circle.png -------------------------------------------------------------------------------- /src/assets/lightanddarkness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/lightanddarkness.png -------------------------------------------------------------------------------- /src/assets/lightforceray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/lightforceray.png -------------------------------------------------------------------------------- /src/assets/lightningsphere.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/lightningsphere.png -------------------------------------------------------------------------------- /src/assets/longrangetrueshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/longrangetrueshot.png -------------------------------------------------------------------------------- /src/assets/lotus1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/lotus1.png -------------------------------------------------------------------------------- /src/assets/lucidsoul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/lucidsoul.png -------------------------------------------------------------------------------- /src/assets/mabong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/mabong.png -------------------------------------------------------------------------------- /src/assets/maelstrom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/maelstrom.png -------------------------------------------------------------------------------- /src/assets/magnumpunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/magnumpunch.png -------------------------------------------------------------------------------- /src/assets/markofphantom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/markofphantom.png -------------------------------------------------------------------------------- /src/assets/megasmasher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/megasmasher.png -------------------------------------------------------------------------------- /src/assets/memoryofroot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/memoryofroot.png -------------------------------------------------------------------------------- /src/assets/metalarmorfullburst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/metalarmorfullburst.png -------------------------------------------------------------------------------- /src/assets/metamorphosis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/metamorphosis.png -------------------------------------------------------------------------------- /src/assets/meteor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/meteor.png -------------------------------------------------------------------------------- /src/assets/microblackhole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/microblackhole.png -------------------------------------------------------------------------------- /src/assets/micromissilecontainer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/micromissilecontainer.png -------------------------------------------------------------------------------- /src/assets/monsoon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/monsoon.png -------------------------------------------------------------------------------- /src/assets/moonstrike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/moonstrike.png -------------------------------------------------------------------------------- /src/assets/multipleoption.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/multipleoption.png -------------------------------------------------------------------------------- /src/assets/nautilusassult_ship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/nautilusassult_ship.png -------------------------------------------------------------------------------- /src/assets/nautilusassult_shot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/nautilusassult_shot.png -------------------------------------------------------------------------------- /src/assets/needlebat1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/needlebat1.png -------------------------------------------------------------------------------- /src/assets/needlebat2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/needlebat2.png -------------------------------------------------------------------------------- /src/assets/needlebat3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/needlebat3.png -------------------------------------------------------------------------------- /src/assets/nine_tailed_fury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/nine_tailed_fury.png -------------------------------------------------------------------------------- /src/assets/nobility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/nobility.png -------------------------------------------------------------------------------- /src/assets/order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/order.png -------------------------------------------------------------------------------- /src/assets/orochi_unbound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/orochi_unbound.png -------------------------------------------------------------------------------- /src/assets/overloadmode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/overloadmode.png -------------------------------------------------------------------------------- /src/assets/pacho.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/pacho.png -------------------------------------------------------------------------------- /src/assets/pantheon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/pantheon.png -------------------------------------------------------------------------------- /src/assets/peacemaker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/peacemaker.png -------------------------------------------------------------------------------- /src/assets/peacemaker_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/peacemaker_final.png -------------------------------------------------------------------------------- /src/assets/penrilcrash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/penrilcrash.png -------------------------------------------------------------------------------- /src/assets/persillade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/persillade.png -------------------------------------------------------------------------------- /src/assets/phantomblade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/phantomblade.png -------------------------------------------------------------------------------- /src/assets/phantomblow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/phantomblow.png -------------------------------------------------------------------------------- /src/assets/piercecyclone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/piercecyclone.png -------------------------------------------------------------------------------- /src/assets/piercethrust.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/piercethrust.png -------------------------------------------------------------------------------- /src/assets/piercing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/piercing.png -------------------------------------------------------------------------------- /src/assets/pirateflag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/pirateflag.png -------------------------------------------------------------------------------- /src/assets/plainchargedrive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/plainchargedrive.png -------------------------------------------------------------------------------- /src/assets/poisonneedleshoot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/poisonneedleshoot.png -------------------------------------------------------------------------------- /src/assets/poisonneedlespin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/poisonneedlespin.png -------------------------------------------------------------------------------- /src/assets/pray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/pray.png -------------------------------------------------------------------------------- /src/assets/primalroar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/primalroar.png -------------------------------------------------------------------------------- /src/assets/psychicground2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/psychicground2.png -------------------------------------------------------------------------------- /src/assets/psychicsmashing2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/psychicsmashing2.png -------------------------------------------------------------------------------- /src/assets/psychictornado.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/psychictornado.png -------------------------------------------------------------------------------- /src/assets/psychobreak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/psychobreak.png -------------------------------------------------------------------------------- /src/assets/psychometry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/psychometry.png -------------------------------------------------------------------------------- /src/assets/punishingresonator_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/punishingresonator_dark.png -------------------------------------------------------------------------------- /src/assets/punishingresonator_equalibrium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/punishingresonator_equalibrium.png -------------------------------------------------------------------------------- /src/assets/punishingresonator_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/punishingresonator_light.png -------------------------------------------------------------------------------- /src/assets/purgebombard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/purgebombard.png -------------------------------------------------------------------------------- /src/assets/purgebombardment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/purgebombardment.png -------------------------------------------------------------------------------- /src/assets/purgesnipe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/purgesnipe.png -------------------------------------------------------------------------------- /src/assets/rageuprizing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/rageuprizing.png -------------------------------------------------------------------------------- /src/assets/ragingblow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ragingblow.png -------------------------------------------------------------------------------- /src/assets/ragingblow_enrage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ragingblow_enrage.png -------------------------------------------------------------------------------- /src/assets/reaperscythe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/reaperscythe.png -------------------------------------------------------------------------------- /src/assets/releasepilebunker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/releasepilebunker.png -------------------------------------------------------------------------------- /src/assets/releasepilebunker_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/releasepilebunker_a.png -------------------------------------------------------------------------------- /src/assets/releasepilebunker_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/releasepilebunker_b.png -------------------------------------------------------------------------------- /src/assets/releasepilebunker_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/releasepilebunker_c.png -------------------------------------------------------------------------------- /src/assets/releasepilebunker_d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/releasepilebunker_d.png -------------------------------------------------------------------------------- /src/assets/restore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/restore.png -------------------------------------------------------------------------------- /src/assets/revenant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/revenant.png -------------------------------------------------------------------------------- /src/assets/rhoaias.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/rhoaias.png -------------------------------------------------------------------------------- /src/assets/riftbreak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/riftbreak.png -------------------------------------------------------------------------------- /src/assets/rollingcannonrainbow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/rollingcannonrainbow.png -------------------------------------------------------------------------------- /src/assets/royalguard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/royalguard.png -------------------------------------------------------------------------------- /src/assets/royalguard5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/royalguard5.png -------------------------------------------------------------------------------- /src/assets/ruin1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ruin1.png -------------------------------------------------------------------------------- /src/assets/ruin2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ruin2.png -------------------------------------------------------------------------------- /src/assets/sanctuary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/sanctuary.png -------------------------------------------------------------------------------- /src/assets/scarletchargedrive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/scarletchargedrive.png -------------------------------------------------------------------------------- /src/assets/scimitar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/scimitar.png -------------------------------------------------------------------------------- /src/assets/seaserpentburst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/seaserpentburst.png -------------------------------------------------------------------------------- /src/assets/seaserpentenrage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/seaserpentenrage.png -------------------------------------------------------------------------------- /src/assets/serpantscrew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/serpantscrew.png -------------------------------------------------------------------------------- /src/assets/serpentassultenrage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/serpentassultenrage.png -------------------------------------------------------------------------------- /src/assets/shadowstrike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/shadowstrike.png -------------------------------------------------------------------------------- /src/assets/shelter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/shelter.png -------------------------------------------------------------------------------- /src/assets/shikigami.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/shikigami.png -------------------------------------------------------------------------------- /src/assets/shikigami_doppelganger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/shikigami_doppelganger.png -------------------------------------------------------------------------------- /src/assets/shiningcross.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/shiningcross.png -------------------------------------------------------------------------------- /src/assets/shockwavepunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/shockwavepunch.png -------------------------------------------------------------------------------- /src/assets/shockwavepunch_wave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/shockwavepunch_wave.png -------------------------------------------------------------------------------- /src/assets/shotgun1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/shotgun1.png -------------------------------------------------------------------------------- /src/assets/shotgun2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/shotgun2.png -------------------------------------------------------------------------------- /src/assets/shotgun3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/shotgun3.png -------------------------------------------------------------------------------- /src/assets/showdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/showdown.png -------------------------------------------------------------------------------- /src/assets/silhouettemirage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/silhouettemirage.png -------------------------------------------------------------------------------- /src/assets/smashingmultipunch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/smashingmultipunch.png -------------------------------------------------------------------------------- /src/assets/smashingmultipunch_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/smashingmultipunch_final.png -------------------------------------------------------------------------------- /src/assets/smoke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/smoke.png -------------------------------------------------------------------------------- /src/assets/solarpierce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/solarpierce.png -------------------------------------------------------------------------------- /src/assets/solunardivide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/solunardivide.png -------------------------------------------------------------------------------- /src/assets/songofsky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/songofsky.png -------------------------------------------------------------------------------- /src/assets/sonicblow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/sonicblow.png -------------------------------------------------------------------------------- /src/assets/soulassult.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/soulassult.png -------------------------------------------------------------------------------- /src/assets/souleclipse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/souleclipse.png -------------------------------------------------------------------------------- /src/assets/soullightslash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/soullightslash.png -------------------------------------------------------------------------------- /src/assets/soulresonance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/soulresonance.png -------------------------------------------------------------------------------- /src/assets/soulseeker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/soulseeker.png -------------------------------------------------------------------------------- /src/assets/soultent_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/soultent_large.png -------------------------------------------------------------------------------- /src/assets/soultent_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/soultent_small.png -------------------------------------------------------------------------------- /src/assets/speedingsunset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/speedingsunset.png -------------------------------------------------------------------------------- /src/assets/spiderinmirror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/spiderinmirror.png -------------------------------------------------------------------------------- /src/assets/spiderinmirror_summon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/spiderinmirror_summon.png -------------------------------------------------------------------------------- /src/assets/spiralofmana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/spiralofmana.png -------------------------------------------------------------------------------- /src/assets/spiritofsnow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/spiritofsnow.png -------------------------------------------------------------------------------- /src/assets/squall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/squall.png -------------------------------------------------------------------------------- /src/assets/storm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/storm.png -------------------------------------------------------------------------------- /src/assets/strangebomb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/strangebomb.png -------------------------------------------------------------------------------- /src/assets/strikearrow1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/strikearrow1.png -------------------------------------------------------------------------------- /src/assets/strikearrow2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/strikearrow2.png -------------------------------------------------------------------------------- /src/assets/strikearrow3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/strikearrow3.png -------------------------------------------------------------------------------- /src/assets/stroke1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/stroke1.png -------------------------------------------------------------------------------- /src/assets/stroke2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/stroke2.png -------------------------------------------------------------------------------- /src/assets/suddenraid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/suddenraid.png -------------------------------------------------------------------------------- /src/assets/supernova.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/supernova.png -------------------------------------------------------------------------------- /src/assets/supportwaver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/supportwaver.png -------------------------------------------------------------------------------- /src/assets/swiftofthunder1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/swiftofthunder1.png -------------------------------------------------------------------------------- /src/assets/swiftofthunder2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/swiftofthunder2.png -------------------------------------------------------------------------------- /src/assets/swiftofthunder3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/swiftofthunder3.png -------------------------------------------------------------------------------- /src/assets/swiftofthunder4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/swiftofthunder4.png -------------------------------------------------------------------------------- /src/assets/swiftofthunder5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/swiftofthunder5.png -------------------------------------------------------------------------------- /src/assets/swiftofwind.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/swiftofwind.png -------------------------------------------------------------------------------- /src/assets/swordillusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/swordillusion.png -------------------------------------------------------------------------------- /src/assets/swordofburningsoul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/swordofburningsoul.png -------------------------------------------------------------------------------- /src/assets/swordofburningsoul_enrage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/swordofburningsoul_enrage.png -------------------------------------------------------------------------------- /src/assets/swordoflight5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/swordoflight5.png -------------------------------------------------------------------------------- /src/assets/tearingknife.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/tearingknife.png -------------------------------------------------------------------------------- /src/assets/tempestofcard_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/tempestofcard_large.png -------------------------------------------------------------------------------- /src/assets/tempestofcard_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/tempestofcard_small.png -------------------------------------------------------------------------------- /src/assets/tenaciousinstinct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/tenaciousinstinct.png -------------------------------------------------------------------------------- /src/assets/territory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/territory.png -------------------------------------------------------------------------------- /src/assets/territory_final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/territory_final.png -------------------------------------------------------------------------------- /src/assets/thousandsword.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/thousandsword.png -------------------------------------------------------------------------------- /src/assets/thunder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/thunder.png -------------------------------------------------------------------------------- /src/assets/tiger1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/tiger1.png -------------------------------------------------------------------------------- /src/assets/tiger2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/tiger2.png -------------------------------------------------------------------------------- /src/assets/topa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/topa.png -------------------------------------------------------------------------------- /src/assets/trinity1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/trinity1.png -------------------------------------------------------------------------------- /src/assets/trinity2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/trinity2.png -------------------------------------------------------------------------------- /src/assets/trinity3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/trinity3.png -------------------------------------------------------------------------------- /src/assets/trinityfusion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/trinityfusion.png -------------------------------------------------------------------------------- /src/assets/turningdrive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/turningdrive.png -------------------------------------------------------------------------------- /src/assets/typoon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/typoon.png -------------------------------------------------------------------------------- /src/assets/ultimate_bpm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ultimate_bpm.png -------------------------------------------------------------------------------- /src/assets/ultimate_material.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ultimate_material.png -------------------------------------------------------------------------------- /src/assets/ultimate_movingmatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ultimate_movingmatter.png -------------------------------------------------------------------------------- /src/assets/ultimate_psychicbullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ultimate_psychicbullet.png -------------------------------------------------------------------------------- /src/assets/ultimatedrive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/ultimatedrive.png -------------------------------------------------------------------------------- /src/assets/unbridledchaos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/unbridledchaos.png -------------------------------------------------------------------------------- /src/assets/uncountablearrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/uncountablearrow.png -------------------------------------------------------------------------------- /src/assets/unicornspike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/unicornspike.png -------------------------------------------------------------------------------- /src/assets/unionaura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/unionaura.png -------------------------------------------------------------------------------- /src/assets/unstoppableimpulse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/unstoppableimpulse.png -------------------------------------------------------------------------------- /src/assets/upperslash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/upperslash.png -------------------------------------------------------------------------------- /src/assets/vanquishers_charm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/vanquishers_charm.png -------------------------------------------------------------------------------- /src/assets/veritable_pandemonium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/veritable_pandemonium.png -------------------------------------------------------------------------------- /src/assets/verushilla1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/verushilla1.png -------------------------------------------------------------------------------- /src/assets/verushilla2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/verushilla2.png -------------------------------------------------------------------------------- /src/assets/verushilla3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/verushilla3.png -------------------------------------------------------------------------------- /src/assets/waryu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/waryu.png -------------------------------------------------------------------------------- /src/assets/weaponvariety.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/weaponvariety.png -------------------------------------------------------------------------------- /src/assets/weaponvarietyfinale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/weaponvarietyfinale.png -------------------------------------------------------------------------------- /src/assets/whale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/whale.png -------------------------------------------------------------------------------- /src/assets/wildbalkantypex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/wildbalkantypex.png -------------------------------------------------------------------------------- /src/assets/will_1_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/will_1_1.png -------------------------------------------------------------------------------- /src/assets/will_1_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/will_1_2.png -------------------------------------------------------------------------------- /src/assets/will_1_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/will_1_3.png -------------------------------------------------------------------------------- /src/assets/will_2_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/will_2_1.png -------------------------------------------------------------------------------- /src/assets/will_2_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/will_2_2.png -------------------------------------------------------------------------------- /src/assets/will_2_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/will_2_3.png -------------------------------------------------------------------------------- /src/assets/will_2_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/will_2_4.png -------------------------------------------------------------------------------- /src/assets/will_2_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/will_2_5.png -------------------------------------------------------------------------------- /src/assets/will_3_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/will_3_1.png -------------------------------------------------------------------------------- /src/assets/will_3_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/will_3_2.png -------------------------------------------------------------------------------- /src/assets/will_3_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/will_3_3.png -------------------------------------------------------------------------------- /src/assets/windcutter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/windcutter.png -------------------------------------------------------------------------------- /src/assets/windofpray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/windofpray.png -------------------------------------------------------------------------------- /src/assets/windstrike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/windstrike.png -------------------------------------------------------------------------------- /src/assets/wrathofenril.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/wrathofenril.png -------------------------------------------------------------------------------- /src/assets/yeouisun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/yeouisun.png -------------------------------------------------------------------------------- /src/assets/yeouisun_wind.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/yeouisun_wind.png -------------------------------------------------------------------------------- /src/assets/yuki_musume_shoukan_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/yuki_musume_shoukan_1.png -------------------------------------------------------------------------------- /src/assets/yuki_musume_shoukan_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/yuki_musume_shoukan_2.png -------------------------------------------------------------------------------- /src/assets/zodiacray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/assets/zodiacray.png -------------------------------------------------------------------------------- /src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /src/environments/environment.ts: -------------------------------------------------------------------------------- 1 | // This file can be replaced during build by using the `fileReplacements` array. 2 | // `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`. 3 | // The list of file replacements can be found in `angular.json`. 4 | 5 | export const environment = { 6 | production: false 7 | }; 8 | 9 | /* 10 | * In development mode, for easier debugging, you can ignore zone related error 11 | * stack frames such as `zone.run`/`zoneDelegate.invokeTask` by importing the 12 | * below file. Don't forget to comment it out in production mode 13 | * because it will have a performance impact when errors are thrown 14 | */ 15 | // import 'zone.js/dist/zone-error'; // Included with Angular CLI. 16 | -------------------------------------------------------------------------------- /src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icepeng/maple-calc/7d97d5de55fff1014bf195b51a9daa2b9d0f3080/src/favicon.ico -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | MapleCalc 10 | 11 | 12 | 13 | 14 | 15 | 16 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/karma.conf.js: -------------------------------------------------------------------------------- 1 | // Karma configuration file, see link for more information 2 | // https://karma-runner.github.io/1.0/config/configuration-file.html 3 | 4 | module.exports = function (config) { 5 | config.set({ 6 | basePath: '', 7 | frameworks: ['jasmine', '@angular-devkit/build-angular'], 8 | plugins: [ 9 | require('karma-jasmine'), 10 | require('karma-chrome-launcher'), 11 | require('karma-jasmine-html-reporter'), 12 | require('karma-coverage-istanbul-reporter'), 13 | require('@angular-devkit/build-angular/plugins/karma') 14 | ], 15 | client: { 16 | clearContext: false // leave Jasmine Spec Runner output visible in browser 17 | }, 18 | coverageIstanbulReporter: { 19 | dir: require('path').join(__dirname, '../coverage'), 20 | reports: ['html', 'lcovonly'], 21 | fixWebpackSourcePaths: true 22 | }, 23 | reporters: ['progress', 'kjhtml'], 24 | port: 9876, 25 | colors: true, 26 | logLevel: config.LOG_INFO, 27 | autoWatch: true, 28 | browsers: ['Chrome'], 29 | singleRun: false 30 | }); 31 | }; -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { enableProdMode } from '@angular/core'; 2 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 3 | 4 | import { AppModule } from './app/app.module'; 5 | import { environment } from './environments/environment'; 6 | 7 | if (environment.production) { 8 | enableProdMode(); 9 | } 10 | 11 | platformBrowserDynamic().bootstrapModule(AppModule) 12 | .catch(err => console.log(err)); 13 | -------------------------------------------------------------------------------- /src/polyfills.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | /** 5 | * Web Animations `@angular/platform-browser/animations` 6 | * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. 7 | * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). 8 | **/ 9 | // import 'web-animations-js'; // Run `npm install --save web-animations-js`. 10 | 11 | /** 12 | * By default, zone.js will patch all possible macroTask and DomEvents 13 | * user can disable parts of macroTask/DomEvents patch by setting following flags 14 | */ 15 | 16 | // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame 17 | // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick 18 | // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames 19 | 20 | /* 21 | * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js 22 | * with the following flag, it will bypass `zone.js` patch for IE/Edge 23 | */ 24 | // (window as any).__Zone_enable_cross_context_check = true; 25 | 26 | /*************************************************************************************************** 27 | * Zone JS is required by default for Angular itself. 28 | */ 29 | import 'zone.js/dist/zone'; // Included with Angular CLI. 30 | 31 | 32 | 33 | /*************************************************************************************************** 34 | * APPLICATION IMPORTS 35 | */ 36 | -------------------------------------------------------------------------------- /src/styles.css: -------------------------------------------------------------------------------- 1 | /* You can add global styles to this file, and also import other style files */ 2 | 3 | html, 4 | body { 5 | height: 100%; 6 | } 7 | body { 8 | margin: 0; 9 | font-family: 'Roboto', sans-serif; 10 | } 11 | 12 | table.vertical-table { 13 | border-collapse: separate; 14 | border: 1px solid #ccc; 15 | border-radius: 2px; 16 | border-spacing: 0; 17 | } 18 | 19 | table.vertical-table th { 20 | border-right: 1px solid #ccc; 21 | background-color: #fafafa; 22 | border-top: 1px solid #ccc; 23 | padding: 12px; 24 | } 25 | 26 | table.vertical-table td { 27 | min-width: 200px; 28 | padding: 12px; 29 | border-top: 1px solid #ccc; 30 | } 31 | 32 | table.vertical-table tr:first-child > th, 33 | table.vertical-table tr:first-child > td { 34 | border-top: 0; 35 | } 36 | 37 | .w-100 { 38 | width: 100%; 39 | } 40 | 41 | .h-100 { 42 | height: 100%; 43 | } 44 | 45 | .no-margin { 46 | margin: 0 !important; 47 | } 48 | 49 | .flexible-box { 50 | display: flex; 51 | } 52 | 53 | .vertical-center { 54 | align-items: center; 55 | } 56 | 57 | .horizontal-split { 58 | justify-content: space-between; 59 | } 60 | 61 | .mr-5 { margin-right: 5px !important; } 62 | .mb-5 { margin-bottom: 5px !important; } 63 | -------------------------------------------------------------------------------- /src/test.ts: -------------------------------------------------------------------------------- 1 | // This file is required by karma.conf.js and loads recursively all the .spec and framework files 2 | 3 | import 'zone.js/dist/zone-testing'; 4 | import { getTestBed } from '@angular/core/testing'; 5 | import { 6 | BrowserDynamicTestingModule, 7 | platformBrowserDynamicTesting 8 | } from '@angular/platform-browser-dynamic/testing'; 9 | 10 | declare const require: any; 11 | 12 | // First, initialize the Angular testing environment. 13 | getTestBed().initTestEnvironment( 14 | BrowserDynamicTestingModule, 15 | platformBrowserDynamicTesting() 16 | ); 17 | // Then we find all the tests. 18 | const context = require.context('./', true, /\.spec\.ts$/); 19 | // And load the modules. 20 | context.keys().map(context); 21 | -------------------------------------------------------------------------------- /src/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/app", 5 | "types": [] 6 | }, 7 | "files": [ 8 | "main.ts", 9 | "polyfills.ts" 10 | ], 11 | "include": [ 12 | "src/**/*.d.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /src/tsconfig.spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "compilerOptions": { 4 | "outDir": "../out-tsc/spec", 5 | "types": [ 6 | "jasmine", 7 | "node" 8 | ] 9 | }, 10 | "files": [ 11 | "test.ts", 12 | "polyfills.ts" 13 | ], 14 | "include": [ 15 | "**/*.spec.ts", 16 | "**/*.d.ts" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /src/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tslint.json", 3 | "rules": { 4 | "directive-selector": [ 5 | true, 6 | "attribute", 7 | "app", 8 | "camelCase" 9 | ], 10 | "component-selector": [ 11 | true, 12 | "element", 13 | "app", 14 | "kebab-case" 15 | ] 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compileOnSave": false, 3 | "compilerOptions": { 4 | "baseUrl": "./", 5 | "downlevelIteration": true, 6 | "importHelpers": true, 7 | "outDir": "./dist/out-tsc", 8 | "sourceMap": true, 9 | "declaration": false, 10 | "module": "es2020", 11 | "moduleResolution": "node", 12 | "emitDecoratorMetadata": true, 13 | "experimentalDecorators": true, 14 | "target": "es2015", 15 | "typeRoots": [ 16 | "node_modules/@types" 17 | ], 18 | "lib": [ 19 | "es2017", 20 | "dom" 21 | ] 22 | } 23 | } 24 | --------------------------------------------------------------------------------