Open DrLove73 opened 4 years ago
WOw! That seems muck work to do. Maybe we need to have some priorities. I can try adding features slowly.
Il giorno mar 6 ott 2020 alle ore 14:53 Ljubomir Ljubojevic < notifications@github.com> ha scritto:
Hi. I have few suggestions for MaelstromTools Dev. It is not a critical problem, but could improvements could be made.
When "Upgrade priority overview" is selected:
1.
It there is larger number of bases it is very slow to select/deselect individual bases because every click on a base trigers script to read all of the buildings on all of the (selected) bases. It would be good to somehow prevent that behavior. For example, when someone clicks on base checkbox script could wait 1 sec before it refreshes the buildings in selected bases. That would allow us to click several bases quickly before script starts the refresh of data. 2.
It would be nice if there was "select all bases" and "deselect all bases" (and/or reverse selected bases) buttons. 3.
It would be nice if script could remember which bases were selected in previous login on which screen and specially which tab was selected last time. 4.
It would be nice if there was a list desired upgrades (like a todo list) so script could show us what we wanted to do for specific base on specific world on specific account. Playing on several worlds can mess with your memory and it is easy to forget what was the upgrade plan. Even simple note taking that is preserved between logins would be helpful. 5.
There is a problem where building list is not updated after a click, it stays the same building. It takes to select/deselect any chechbox to triger the refresh of data/buildings on the list. "Refresh" button and/or indicator when retrieving data is finished (red light/font when data is being retrieved and green/normal when retrieval is finished) would be helpful. I play with 2 Firefox profiles on Linux at the same time, and it is possible that CPU gets clogged and it needs time to finish, or script gets stuck. 6.
Upgrade script is ignorant if building is damaged and can not be upgraded, and clicking to upgrade it will not give any indication of the failure. Some indication of building status could be provided (red if building health is bellow 100%?)
7.If you rapidly click on the same up-arrow/building very fast, it is possible to upgrade same building several times before you realize it. It would be good if script would mark building in the current list (no need to remember it between refreshing of base/building data) as already upgrade it, and prevent further upgrades before refresh of the data is finished.
1.
Script seams to calculate "factor" only in reference to the base building is in, not all selected bases. If I am to upgrade the buildings with best cost/gain ratio, it would be good to prefer the base that has best factor across all selected bases, not just in current base. Script could ignore new base with much better ratio. 2.
Attached to the item 8, script is sorting buildings one base at the time, and every time I upgrade something sort is forgotten and I have to click to sort the buildings according to factor, tib or power cost to see what I want to upgrade next. Start would be that script remembers chosen sort at least in current session. 3.
When silos are calculated, script gives priority to silos with max number of harvesters of specific kind, Tiberium or Crystal. Mixed silos are ignored. This is good behavior when you want to boost certain production, but if you keep levels of both Tib and Xtal the same level, script will ignore such silos, ignoring them for ever. It would be good to have option for "joint/unified production" or "calculate mixed fields as equal" that would treat only level of harvester regardless of type (tib/xtal), or maybe to have option to show and sort "unified factor" column for those who want to balance mixed-harvester silos, and/or maybe columns that show increase of secondary gain. I am guessing upgrading Power Plants could show gain in cash production also. 4.
This one could be harder to implement, or more time consuming. Script is not able to properly predict that some building needs to be upgraded multiple times before it's factor is worse then building bellow it. It would be nice if script would do several iterations of calculations, each iteration after building being calculated was hypothetically upgraded.
- It could be shown as multiple rows of the same building with incrementing building level (and summed cost) and clicking of arrow 5 levels above current building level would upgrade it 5 times in sequence, or some similar option (small dialog to choose number of levels?)
If you decide to implement any of these ideas you can open separate issue and add me so I can help test solutions. Or just tell me to open separate issues for what items and I will do it.
- Script could have "Manually refresh" checkbox (and Refresh button) so that script does not imports data from the game after every building upgrade but to update level for that building inside the list, to reduce latency. It should always be disabled when Upgrade widow is opened, but would be welcomed option in cases game is slow. I understand it is possible that upgrade command is not seen through, so this could be implemented only after several of previous points. Optionally, list could have checkboxes in each row or allow selection of multiple rows to cut the time needed to click and wait to refresh for larger number of upgrades.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/netquik/CnCTA-SoO-SCRIPT-PACK/issues/6, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF5GOXXF7PV7YKNMVCAIN43SJMHLVANCNFSM4SF7O3FQ .
Well, that was all that iritated me for several months when I restarted TA. I think it was better to put everything into one text because some things are connected.
It is very possible that I will stop playing TA in next few days, I think I had enough, but I can try explain some items if you decide to implement any of this. So consider this as wishful thinking you can and do not have to implement.
@netquik I have an easy thing to fix thats bothering me, but I cannot find the location in the file. should be here in the maelstrom tools tho
I havent looked to see if it effects other buildings, but I noticed it with harvesters, so i assume it at least is a bug with other buildings that have packages (power plants and refineries)
simple math error, for buildings under L.12 (before they reach 6hr packages) the priority upgrade tool seems to define gain/h incorrectly.
basic example so it should make sense:
Harvester Level 7
1120/1hr
Harvester Level 8
2660/2hrs
naturally it should be 2660/2=1330 & 1330-1120=210gain/h
but the priority checker calculates it as (2260-1120)/2=770gain/h
like i said, simple math error, i just cant find where it is. :( and its killing my OCD.
The game even displays these correct calculations, but the priority tool is bugged for these buildings that are under L.12.
@poop-creator thanks for sharing. I will look into it as soon as i can.
it seems like it would be in here. https://github.com/netquik/CnCTA-SoO-SCRIPT-PACK/blob/7fad565326573755ac854bb8795fa7d514b2ab25/TA_MaelstromTools_Dev_Mod_MCV.user.js#L3050 I'm just not a programmer so I dont think I would fix it properly uwu
btw, is it possible to export all of the building costs and gains to a text file? I was making a spreadsheet thing, and its of course tedious to do it by hand, especially cause I need to actually level the things up in game to see. my spreadsheet thing: https://docs.google.com/spreadsheets/d/1DGauaeD0Rb57klbOZMTxWl1jlr4kaVciEu4ZdczpkMI/edit?usp=sharing
@poop-creator i found where the code calculates those values i have yet to investigate further but i asap i will publish a test version in testing branch if you want to try it and see
yes i didn't see your suggestion but yes the calculation is in that switch. seems the easier way is to if the level and adjust.. but should bet here a a more cleaner way
ah, I see your change. Ill try out the test version, if it can simply be added with the checkbox in the pack. very useful feature that thing is.
@poop-creator what do you mean with added with checkbox.. unfortunately the pack lives with its own scrips can't load anything external (this is for security reasons first). I checked the test fix and i think it will not work as intended. FIrst i have to dig in the game code to see what they do for the same calculation.. after that we should probably rewrite the function mentioned to copycat the original game code (this should be the best way). the script takes some variable directly from the city object from the game. like GetBuildingDetailViewInfo(city_building) .OwnProdModifiers.d[ModifierType].NewLvlDelta ... i have to find it in game code to see. note that the test fix "could" work with level 1 building but not with higher level to 12. I will first have to test with all levels to 12 to understand better.
@poop-creator ok let's try new version. I modified the function. yet to find if there is a smarter way to do that. https://github.com/netquik/CnCTA-SoO-SCRIPT-PACK/blob/Testing/TA_MaelstromTools_Dev_Mod_MCV.user.js
ok seems that my code works alone for all... i'm uploading new version that use my code for all gain check.. please test. thanks.
Hi. I have few suggestions for MaelstromTools Dev. It is not a critical problem, but could improvements could be made.
When "Upgrade priority overview" is selected:
It there is larger number of bases it is very slow to select/deselect individual bases because every click on a base trigers script to read all of the buildings on all of the (selected) bases. It would be good to somehow prevent that behavior. For example, when someone clicks on base checkbox script could wait 1 sec before it refreshes the buildings in selected bases. That would allow us to click several bases quickly before script starts the refresh of data.
It would be nice if there was "select all bases" and "deselect all bases" (and/or reverse selected bases) buttons.
It would be nice if script could remember which bases were selected in previous login on which screen and specially which tab was selected last time.
It would be nice if there was a list desired upgrades (like a todo list) so script could show us what we wanted to do for specific base on specific world on specific account. Playing on several worlds can mess with your memory and it is easy to forget what was the upgrade plan. Even simple note taking that is preserved between logins would be helpful.
There is a problem where building list is not updated after a click, it stays the same building. It takes to select/deselect any chechbox to triger the refresh of data/buildings on the list. "Refresh" button and/or indicator when retrieving data is finished (red light/font when data is being retrieved and green/normal when retrieval is finished) would be helpful. I play with 2 Firefox profiles on Linux at the same time, and it is possible that CPU gets clogged and it needs time to finish, or script gets stuck.
Upgrade script is ignorant if building is damaged and can not be upgraded, and clicking to upgrade it will not give any indication of the failure. Some indication of building status could be provided (red if building health is bellow 100%?)
7.If you rapidly click on the same up-arrow/building very fast, it is possible to upgrade same building several times before you realize it. It would be good if script would mark building in the current list (no need to remember it between refreshing of base/building data) as already upgrade it, and prevent further upgrades before refresh of the data is finished.
Script seams to calculate "factor" only in reference to the base building is in, not all selected bases. If I am to upgrade the buildings with best cost/gain ratio, it would be good to prefer the base that has best factor across all selected bases, not just in current base. Script could ignore new base with much better ratio.
Attached to the item 8, script is sorting buildings one base at the time, and every time I upgrade something sort is forgotten and I have to click to sort the buildings according to factor, tib or power cost to see what I want to upgrade next. Start would be that script remembers chosen sort at least in current session.
When silos are calculated, script gives priority to silos with max number of harvesters of specific kind, Tiberium or Crystal. Mixed silos are ignored. This is good behavior when you want to boost certain production, but if you keep levels of both Tib and Xtal the same level, script will ignore such silos, ignoring them for ever. It would be good to have option for "joint/unified production" or "calculate mixed fields as equal" that would treat only level of harvester regardless of type (tib/xtal), or maybe to have option to show and sort "unified factor" column for those who want to balance mixed-harvester silos, and/or maybe columns that show increase of secondary gain. I am guessing upgrading Power Plants could show gain in cash production also.
This one could be harder to implement, or more time consuming. Script is not able to properly predict that some building needs to be upgraded multiple times before it's factor is worse then building bellow it. It would be nice if script would do several iterations of calculations, each iteration after building being calculated was hypothetically upgraded.
Script could have "Manually refresh" checkbox (and Refresh button) so that script does not imports data from the game after every building upgrade but to update level for that building inside the list, to reduce latency. It should always be disabled when Upgrade widow is opened, but would be welcomed option in cases game is slow. I understand it is possible that upgrade command is not seen through, so this could be implemented only after several of previous points. Optionally, list could have checkboxes in each row or allow selection of multiple rows to cut the time needed to click and wait to refresh for larger number of upgrades.
*If you decide to implement any of these ideas you can open separate issue and add me so I can help test solutions. Or just tell me to open separate issues for what items and I will do it.