m-h-c-t / mh-helper-extension

A Chrome / Firefox browser extension that helps collect data for HitGrab's MouseHunt game
https://www.mhct.win
MIT License
14 stars 15 forks source link

WRift stages are not implemented yet #58

Open logicalup opened 7 years ago

logicalup commented 7 years ago

This includes WRift, and MoPi

logicalup commented 7 years ago

so in WRift there are 3 factions. Now i know when a specific mouse can show up, for example when faction 1 is in second rage mode. Right now in my map helper i have stages like faction1-rage1, faction1-rage2, faction2-rage1, etc. Now when i get a hunt from a user and i know the levels of all 3 factions, which faction do i attribute the hunt to?

seems like i have to attribute it to all 3 of them... but that would mess up attraction rates, even if implemented.

Mistborn94 commented 7 years ago

The slightly messy way that Tran's tools handle this is by concatenating them eg. "High / Low / Low". That might be sufficient for now and then you can always later try to split it out?

logicalup commented 7 years ago

From my experience trying to split it out later is usually a bad plan. I am thinking of hardcoding specific faction mice to record only that faction rage level as the stage, and then all the other mice record all 3 faction rage levels. The thing is this will break a lot of my code, so i definitely need some time to accomplish this. But it's possible through creating a separate translation table from main hunts table to the stages table, which would create a one (hunt) to multiple (stages) relationship.

logicalup commented 7 years ago

@Babalela01 what you are suggesting is a good way too, I'd separate the mice by rage/rage/rage... total 27 combinations if my math is not failing me. The problem with this is my map tool groups by stage, and having 27 stages in one location is bad. I'd rather have as few stages as possible.

So for example searching my map tool for Mossy Moosker would produce only "CC 0-24" stage using my way, but all these using your way: CC|GGT|DL Low|Low|Low Low|Low|Med Low|Med|Low Low|Med|Med Low|Low|High Low|High|Low Low|High|Med Low|Med|High Low|High|High

We can do two different ways: One for attraction tools and one for map tool.

I guess the attraction of faction specific mice would be affected by rage levels of other factions as the population changes. So I might have to do it your way. I just think there must be a better way.

AardWolf commented 7 years ago

I made an assumption in my solver that the rage in one faction does not affect the ARs of the other factions. Then I have my mice listed with thing like "DL High" (4 mice possible), "DL Low" (4 mice possible), and "DL Boss" (1 mouse possible) - Gold Leaf is treated specially. For the purposes of my solver - mostly locating the required rage levels for the mice in question - this was fine. For a catch rate calculator it might not be accurate enough.

My justification was that I really just need to remember where "watcher owl" lives and get the appropriate area to the appropriate rage level, not caring what the other areas are doing.

logicalup commented 7 years ago

I might just have to spend the time and convert hunt-stage relationship from one-to-one to one-to-many.

This will affect:

logicalup commented 7 years ago

implemented client side to send all 3 stages to the server in 1.12.0

logicalup commented 6 years ago

the next step here is to update aggregation for loot and attraction to combine multiple stages into one. then verify that it matches what map helper has for stages and clean any extras in map helper

groupsky commented 6 years ago

Just stumbled here, and can't really understand the change you're planning. Are the 3 rages levels still being recorded (even in concatenated form) or only the relevant rage? In case it's the latter I would ask to still record the other rages in the details table.

logicalup commented 6 years ago

good question. So the recording part is done. We are recording all 3 stages (in a many to one relationship to hunt). But the display (attraction and loot tools) are still displaying 1 stage per line. This needs to change to make it better.

Usually, i'd be like:what's the big deal? when someone requests the page just sql query all 3 stages and concat. But in this case, since we are dealing with more than 2 million records now, i can't query all 2 million records every time someone looks at the page. So to deal with big data, i have hourly scripts in database (events with stored procedures and cursors) that update a table that already has that info aggregated. So the next step is to update those hourly scripts to do what we initially want (concat 3 stages into one).

Example: we have 20000 hunts recorded all have 3 stages for each hunt right now we have attractions table (aggregated table) that shows 3 rows for each setup after we will have attractions table that shows 1 row for each setup

attraction tool display before: Location - Stage1 - Cheese - Rate Location - Stage2 - Cheese - Rate Location - Stage3 - Cheese - Rate

after: Location - Stage1/Stage2/Stage3 - Cheese - Rate

groupsky commented 6 years ago

Sounds good to me, while at it, you may do the same for mopi - there the 2 stages (rain and wind) work similarly.