GithubHelp home page GithubHelp logo

nasicus / d2-holy-grail Goto Github PK

View Code? Open in Web Editor NEW
58.0 58.0 28.0 6.97 MB

Home Page: https://d2-holy-grail.herokuapp.com

TypeScript 99.68% HTML 0.32%
blizzard diablo diablo-ii diablo2 typescript

d2-holy-grail's People

Contributors

abaran30 avatar cdanek avatar cyhyraethz avatar dependabot[bot] avatar imtbl avatar jkupcho avatar mpherman avatar narfbg avatar nasicus avatar soundasleep avatar squeek502 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

d2-holy-grail's Issues

Add keyboard shortcuts

  • CTRL + S to save
  • Escape to discad (?)
  • CTRL + F to search (probably only when not on search page? or never?)

Ability to erase everything

And start over from scratch. I just nuked my save files and am starting over, but don't see a way to reset my account.

Rainbow Facets

The app has listed 4 Rainbow Facets, one for each type of elemental damage. While this would make sense if the CtC on death/level-up was a random affix on them, that's not really the case and the actual count of unique jewels (i.e. facets) is 8, the only random affixes being the percentage ranges for damage/negative resists.

This is easily verifiable by looking at the game files (convenient link). Drop calculators such as http://dropcalc.silospen.com/item.php, http://mfb.bplaced.net/dropcalc/dropcalc.php?lang=en and the one in ATMA also make this distinction.

This creates 2 problems:

  1. The actual number of grail items should be 506, not the current 502.
  2. Fixing it isn't as easy as simply adding the 4 new types, because people have already marked 4 types of facets as found, without the necessary CtC on death/level-up distinction. This is also why I'm not just submitting a PR.

The optimal solution would be to replace the current 4 with a new array of 8 facets, making sure there's no way for someone who's already ticked them to match the old ones, and then emailing users about the change, but IIRC that's not possible as the app doesn't collect emails on registration.
On that note, kudos for completely detaching yourself from privacy issues, though it does also mean if I ever forget my password I'm kinda screwed. :D If you decide to change that, I'd be happy to help you with the security-related issues that come with it as I do have expertise in the area.

So, I suppose the doable solution is to put up a notice on the site instead of emailing, maybe using a cookie to determine who has seen it and who hasn't?

Add perfect grail feature

  • Just add a "Perfect" checkbox to each item callout (where you can add notes)
  • If it's perfect, render a crown next to an item
  • In the table show a perfect column next to each column

Can't see any items

Hi,

i can't see any items. I use Chrome and also tested it in incognito window. The picture can be loaded in a seperate tab, but not in the item frame. Any idea what I'm doing wrong?

Image from Gyazo

Ladder-only items in single player

I noticed that a lot of items have the following note:

Originally found in Ladder only, but has been reportedly found in single player games.

Well, ladder only items can drop in single player ... not just reportedly, not just certain items, but for real.

I've seen confusion about this in other places too, so I'll explicitly say I'm not talking about PlugY, PoD or other mods - all ladder-only uniques (except the Annihilus and Hellfire Torch charms) and horadric cube recipes are available in vanilla single player, without any mods. Only the runewords and ubers (hence why no "torch & anni") don't work.

Oddly enough, the unique charms don't have the above note, while being ladder-only items. :)

Sync user signup/management

When you refresh the page on the manage page, and in the mean time somebody new requested to join, you have to reload again (so 2 x times in total) to see the request

Should we be fetching updates periodically?
Also how can we make sure the current data displayed on manage page is most up to date.

Marking perfect Rainbow Facets

So, I found a 5/5 Cold Up facet and went to the app to log the find, but when I submitted the changes, the star was appended to the Die one instead. If I bring up the modal window for either kind, they both show "Is Perfect" as ticked, and unmarking either one causes the same change to both.

Played around with the other elements a bit, and it appears that marking any of the Level Up ones as perfect alters the Die one instead. Weirdly enough, this didn't happen a couple of days ago when I marked a Lightning Up facet as perfect, but the difference is I already had the Die one marked previously (didn't unmark it after the #22 migration).

I realize this reads a bit hard, so here's a visual (left both cold ones unmarked) of my last saved state:

Facets

Add ability to have a party title and description

The party title could prepend or replace "Holy Grail Leaders" on the leaderboard data table.
A party description could then be put in smaller font underneath to give some context to who runs the party and who should be a member, etc.

Will need to modify:
-party database model
-party leaderboard page
-party manage page
-api methods for updating these

Docker setup for production

First of all, thank you for this tool, very neat. :)

Since I needed an easy way to self-host this (and I prefer to deploy pretty much everything using containers these days), I created a simple Docker setup for production usage: https://github.com/imtbl/d2-holy-grail-docker

I thought I'd post it here in case that's something you (or other users) are interested in; feel free to use anything from that repository as you see fit in case you decide you want to provide an official Docker setup.

Please close this issue at your discretion; it's not really a feature request, but I wasn't sure if closing it right after opening would be appropriate.

Add more depth of info on party leaderboard

I'm envisioning a feature where you click on a users name on the loader board and a row underneath drops down with some extra info.

Top 5 rarest items found? -> by itemscore
Link to grail?

Creating API for d2-holy-grail

I am writing an automatic run counter https://github.com/oskros/MF_counter_releases which has the ability to log found drops. I would like to be able to synchronize this app with your holy-grail user.

For this I would love an API with 2 features

  1. Pass username, password, item name and boolean to check/uncheck whether a given item is found
  2. Pass username to return all found items for the given user

Make it possible to disable the custom CTRL + F function

I used your Holy Grail every day! Big fan of it. Best way to track and log stuff. I would like to be able to use the cntrl+f function though. Reason why I like it more than your built in search function is because I can see what items are around it and how I am supposed to order things in my stash.

PS. Do you have a Discord you can share?

[Feature]: Clear search

Just a little quality of life enhancement would be to clear the search without having to select all and delete. This would either replace the current search icon or be next to it. As I see it, search button doesn't have much functionality given it automatically searches.

Allow to mark an item as "Found Ethereal" in Holy Grail to apply to Eth Grail

As I am finding Holy Grail items, some of them turn out to be ethereal. Instead of having to manually mark the item as found in both the Holy Grail and Eth Grail, it would nice to mark the item as found in the Holy Grail, and mark it as "Found Ethereal" (similar to "Is Perfect"). Doing this will mark the same item as found in the Eth Grail.

Of course, not all items can be ethereal. According to the Diablo Wiki:
Ethereal items are representative of weapons and armor (but never amulets, rings, arrows, bolts, bows, crossbows, Phase Blades or set items) crafted from other-worldly material.

Furthermore, I believe items that have the property "Indestructible" cannot be found ethereal. Hence, the logic to determine whether or not to show the "Found Ethereal" option might get verbose.

Just a thought! Let me know what you think!

Add "reset password" feature?

(Would be useful as I forgot my password and cannot create a new account with the same email adress on the herokuapp instance.)

Possible update

I forked this project last week because I'm interested in using the site locally for grail tracking in D2R. My main goal was to add the ability to track runes as part of the main grail progress. At the bottom you can see the change log entry for the work.

Don't know if any of the changes would be worthwhile for your main branch. As a React noob, there were a number of "hacks" that are probably bad form (like the global stylesheet). Either way figured I'd give visibility here. If interested in any part, go for it. If anyone is willing to review the changes and provide feedback in a 'new issue' on my branch, I'm open to feedback to learn better approaches and to clean things up.

Feel free to close out this issue once you've read it.

github.com/theredsox/d2-holy-grail/

"2.1.1": [
    {
      change: `Added rune tracking for grail, D2R images, and UI tweaks:`,
      children: [
        "Updated and added D2R images for all existing uniques, sets, runes",
        "Reorg of right side buttons and main menu",
        "Added rune tracking towards main grail",
        "Added flex layout to better utilize space at various screen sizes",
        "Reduced padding in various places to better utilize screen space",
        "Sets tab now uses a 'cards' layout, added completed set pics, and fullsize on click"
      ]
    }
  ],

Making items searchable by base item type

The item display + search only works by the item's actual name, not its base type.

Example: "Bloodletter Gladius"

Gladius doesn't appear in the list (less important), but you also can't find Bloodletter by searching for "Gladius"

A common usecase for me is finding an item on the ground but not remembering what it's called before identifying it or whether I've found it before. Would be great to be able to do a quick search without having to identify it first in-game.

Unindentified names

Having the unindentifed name of items maybe in () after real name would be a very nice addition. It would help to know what I need to pickup in the first place to identify.

Add option to show Treasure class for each item

As per title, an option to display treasure class value near each item's name would be welcome, for example:
Gull (TC3)
Tyrael's Might (TC87)

Since TC is somewhat an indicator of the rarity of each item, this could easily add some excitement when inputting our last finds.

Make it possible to copy a grail site to a new address

It would be helpful if we'd add a button to the right side called "copy" which bascially just creates a copy of the entire grail data.
We could just somehow display the initial dialog:

image

.. and add some infos to it "Will create based on grail of XYZ".

I have quite a few "I forgot my password" requests from time to time. Usuaally I reset it for them.
But with this you could just copy the grail to a new address and then continue from there (helpful in case I cannot be sure if the person asking me is really the owner of an address).

Calculate PartyData (score, missing items, etc.) on client instead of server

We are already calculating a lot of the stuff already on the client (missing items).
Plus it would take the work away from the server which is in this case good.

However currently this is done in the table component on "render" (I think). We'd need to move this out somewhere, maybe to the GrailManager?

Before implementing this we should first discuss how we want to do it.

Try to remove code duplication

Some stuff is now duplicated:

  • LoginForm
  • RegisterForm
  • LeftSideButtons
  • GrailErrorHandler
  • DbInitializer (index creators)
  • other? => check "all the code"

We should try to make common components with properties of them, so they can all be reused.

Note:
Only do 1 file / area per PullRequest - do not make them all in one!

Add a deniedUserlist to each party data

=> this way the user can check if he has been denied (by entering his address in the join screen again)
=> party owners have an overview who they already denied
=> show a third list on the manage page with the denied users
=> denied users can also be deleted

Ability to Reset Passwords

I lost the password to my account.

If you can help me out or just delete my username off the database as you said you could do for someone else in a previous Issue thread, I'd appreciate it.

I've contacted you on Discord too, and I don't know which you'll see first but this might be a fine place to put this request just for the future.

Thank you very much!

Update readme

  • Check if dev setup is still correct
  • Update with newest features
  • Add other missing stuff (if any)
  • Remove deprecated stuff (if any)

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.