Git Product home page Git Product logo

destiny-loadout-builder's People

Contributors

jbccollins avatar nokynokes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

destiny-loadout-builder's Issues

Add analtyics

Maybe just google analytics for now. But check out what vercel offers.

Only show options that the user actually has access to

  1. Does the user have enough hunter armor to actually make a hunter build? Do they even have a hunter character?
  2. Does the user have all mods unlocked?
  3. Does the user have all aspects/fragments/grenades unlocked?
  4. Does the user have all shaders unlocked?

Perhaps control this with a setting? Where we can show the user everything or only the stuff they actually currently have access to.

Add the ability to share a loadout with a URL

The application should be able to set the store state based on url params. If the urls get really long maybe we need to do a tiny url like DIM does? Not sure how that would work

It would be super awesome if the URL could contain desired stats as a priority list and the loadout builder would attempt to get as close to those stats as possible.

Move the armor processing to a web worker

The computational expense of armor processing can hang the application for a bit as it executes on the main thread. It blocks all actions like button clicks, hover effects, user input, etc... Move it to a web worker.

When initially processing armor pull out important stats for usage in other components

  1. The count of each exotic piece
  2. The count of each slot that has artifice slot, raid slot, plunderer's trappings etc...
  3. The tiers still possible to achieve for each stat. Useful for hinting to the user that they can select more specific stats and still get results. D2Armorpicker does this well. It may be a bit tricky to implement this perfectly in cases where not all 5 mods are needed to achieve the userโ€™s desired stats. Actually... probably not... just add 10 * (5 - numRequiredStatMods) to each stat.

Add a dropdown for each armor slot to force special characteristics

Force this slot to contain "artificer" armor, or "iron banner" armor or "plunderer's trappings" or "king's fall" armor.

There are a few categories here:

  1. Sockets: Raid and artifice armor have special extra sockets
  2. Perks: Stuff like "Plunderer's trappings" are just built in armor perks
  3. Type: Iron Banner armor is just... Iron Banner armor. And it provides bonus rep in Iron Banner

Perhaps we can exclude raid armor from this dropdown if we just let the user pick from an extra socket dropdown for raid mods. We would want to disable either the entire socket when the user has no raid gear for that slot, and/or disable individual mods from each raid if the user has not acquired them or if the user doesn't have gear from that raid for that slot.

Depending on if the +3 for artifice extra stats has a cost we may or may not really need to prioritize including this. If artifice extra stats have no cost then armor processing can just factor that in for each piece and the user doesn't have to think about it at all. But even then.... the user might want to enforce artificer armor.

I have no fking clue how to force IB armor since some of it has perks (I think?) and some doesn't. Might just be a hardcoded list of hashes/names/

Warn the user if they select mod combinations that do nothing or have unintended negative effects

D2 allows the user to equip mod combinations that make no sense. It would be nice to warn the user if they have selected any of these combinations. This is probably not an exhaustive list. Make sure to write this logic in a generic an extensible way.

Known Negative Combinations:

  • Multiple copies of Powerful Friends and Radiant Light will cancel out the +20 stat bonus that each of those mods give
  • Does stacking multiple CWL void mods have any benefit? If not then they are just a straight up negative and probably a mistake.

Known Useless Combinations

  • multiple well generation mods without bountiful wells
  • Powerful Friends without another arc mod

Known Invalid Combinations

  • Some mods like finisher mods are not allowed to be equipped at the same time
    image

Relevant spreadsheet: https://docs.google.com/spreadsheets/d/1WaxvbLx7UoSZaBqdFr1u32F2uWVLo-CJunJB4nlGUE4/edit#gid=1925335732
Discord discussion: https://discord.com/channels/296008008956248066/296008136785920001/1054495928293269525

Questions: Do artifact mods like triple reloader or unflinching stack three times or only two?

honestly this might be expanded in scope. Warning about other stuff too. Like equipping contraverse hold when on dawnblade. Perhaps it makes sense to create a warning level system and classify certain dumb things as different warning levels. Let the user select the minimum warning tier they want to see in settings.

Refactor selectedFragmentsSlice

I was a dumbass and thought making the selectedFragmentsSlice require passing an elementId and a fragments[] was a good idea. Simplify this reducer to act like every other reducer and just accept SelectedFragmentsState as the type.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.