stt-datacore / website

https://datacore.app/
MIT License
24 stars 24 forks source link

Feature Request: Polestar Combos For Multiple Crew #294

Open AdmiralMemo opened 3 years ago

AdmiralMemo commented 3 years ago

I don't know how computationally-intensive this would be, or how hard it would be to program, but I'll ask anyway. (And if it's not feasible, I understand.) Would it be possible to show combinations of polestars you own that may not specify a SINGLE crew, but the combination will only result in crew that you need? For example, a combination of 4 specific polestars can result in like 5 different crew, but if you have none of those 5 fully-fused, any one of them that you get would be useful. So instead of a 100% shot at a specific crew, it's still a 100% shot of something you could use.

ylluminate commented 2 years ago

Some functionality for this area of the game would be amazing indeed.

praguepride commented 1 year ago

This would be an interesting challenge but based on tagging not insurmountable. I plugged in some basic info into chatGPT as a starting point and I think it gets you most of the way there. Obviously a lot of work still has to be done but.....

import pandas as pd from itertools import combinations

-- Assuming you have the dataframes polestarsOWNED, polestarLookup, and maxedCrew

--Step 1: Read in dataframe polestarsOWNED --(Replace 'file_path' with the actual path to your dataframe or use other methods to read the dataframe) polestarsOWNED = pd.read_csv('file_path')

--Step 2: Create new dataframe with unique combinations combinations_list = [] for i in range(1, 5): combinations_list.extend(combinations(polestarsOWNED['polestarsOwned'], i))

unique_combinations_df = pd.DataFrame(combinations_list, columns=['Combination'])

-- Step 3: Look up against dataframe polestarLookup and get returnedCrew result_df = unique_combinations_df.merge(polestarLookup, left_on='Combination', right_on=['polestar1', 'polestar2', 'polestar3', 'polestar4'], how='left')

-- Step 4: Filter out results based on maxedCrew filtered_result_df = result_df[~result_df['returnedCrew'].isin(maxedCrew['maxedCrew'])]

-- Display the filtered results print(filtered_result_df)

So basically the idea is to read in all your polestars and create unique combinations of them between 1 and 4 polestars in length.

Take those polestar values and look up to see what crew would return for those combinations (and filter out any combos that return no crew).

For each combination you now have a list of crew members that will be returned and you look up that list vs. a list of maxed out crewmembers and remove any combinations that have a crew member already maxed.

As a final step a filter or sort function that would estimate the Credit and Quantum cost so you could find the most efficient combo that would return only crew needed.

nmoschkin commented 1 year ago

Hi there. So... it may appear as if we neglect the site, but in fact, a lot of the devs don't have time to triage the github, much... most of the development conversations take place on the stt-community-core discord server.

That said. ... I have been with this project for a few months, now... and this is something I would personally find very useful, so perhaps I will get this one, next.

However ... when you want to bring things directly to the attention of the devs, we encourage people to use the discord server.

AdmiralMemo commented 1 year ago

most of the development conversations take place on the stt-community-core discord server.

However ... when you want to bring things directly to the attention of the devs, we encourage people to use the discord server.

This type of response grates on me significantly, because... WHY. DOES. EVERYTHING. NEED. TO. BE. A. DISCORD?!

You tell me to use the Discord... I'm at max servers currently. Tell me which server I should leave to join yours and why I should leave it. Once you can do that, perhaps I will consider it.

ylluminate commented 1 year ago

@AdmiralMemo et al - I might suggest that feature requests be made here and then brought to the surface on Discord. I find this to be most effective in the projects I deal with and on the servers that I moderate. Discord (even its new forum function) does make things very difficult to find and followup on and thus this kind of workflow would be most productive since often times folks do find one or the other more productive in their own usecases.