revolution-rotation-calculator-'s People
Forkers
tapnert17 ditiae andreoliveira31 chirophobic eztouch imnotaprogrammer tbterra linbarbell jayathompson tlachtlirevolution-rotation-calculator-'s Issues
Possible miscalculation bug
When trying to determine the optimal bar using these skills (Cleave, Dismember, Sever, Smash, Slice, Fury), the result is this:
http://runescape.wikia.com/wiki/Calculator:Revolution?cbclass=melee&hand=2&ice=0&stuns=1&slayer=0&ticks=3000&cycle=0&cycleticks=1000&anythinggoes=0&bar=Cleave%2CSmash%2CSever%2CDismember%2CFury%2CSlice
However, according to the wiki, the optimal bar should have been this:
http://runescape.wikia.com/wiki/Calculator:Revolution?cbclass=melee&hand=2&ice=0&stuns=1&slayer=0&ticks=3000&cycle=0&cycleticks=1000&anythinggoes=0&bar=Cleave%2CDismember%2CSever%2CSmash%2CSlice%2CFury
Either the wiki is wrong, or there's a bug in the algorithm, or it could be just me ๐ค
Possibly helpful links:
http://runescape.wikia.com/wiki/Module:Revolution_AADPT
http://runescape.wikia.com/wiki/MediaWiki:Common.js/revocalc.js
http://runescape.wikia.com/wiki/Calculator:Revolution/Details
Should the Cycle print-out be optional
Most users don't need it, and it takes a lot of space on the screen when used with long rotations.
Would you like to print-out the cycle? (y/n)
Should tell user to press "enter" after they are satisfied with entering the number of abilities they want to consider in the calculation
I was a bit confused on my initial run of the program and entered 21 different abilities until I pressed "enter."
There should be a global maximum limit of how many abilities you can enter and/or it should tell you that you can press "enter" to stop entering abilities.
Should assert that user enters the correct abilities for specified attack style
Magic abilities for magic attack style, ranged abilities for ranged, melee for melee. Universal abilities (like sacrifice, tuska's wrath) should be applicable to all 3 attack styles.
For example, users can choose "melee" attack style, however are able to add in non-melee abilities like "snap shot", "asphyxiate", etc. to their bars. In these cases, the bar calculations are rendered inaccurate/not useful.
It's fine if we assume good faith on the user to provide the correct abilities for the correct styles, but we don't want the scenario of having to rewrite all of the dictionaries down the line to accommodate for this.
I suggest creating an Abilities class from which the 3 distinct styles can be derived as children (Melee, Mage, Range) and then appropriate abilities added in the respective buckets.
Can work on something like that if you'd wish on a feature branch or something lol.
Just my 2 cents :)
Possibility of a web interface
Are there any thoughts on turning this program into a web app? I think it would greatly improve usability and allow non-tech savvy players to use it.
GitHub allows free hosting through the use of GitHub pages.
Possible adrenaline miscalculation
@NightShadeI
We're modifying the adrenaline for basic and threshold abilities, but what about the ultimate abilities? Am I missing something here?
Revolution-Rotation-Calculator-/Revolution Rotation Calculator.py
Lines 254 to 259 in 7debb23
Possible bug in cooldown algorithm
def AdjustCooldowns(Current_Buff, Adrenaline, Time):
for Ability in TrackCooldown:
TrackCooldown[Ability] += Time
TrackCooldown[Ability] = round(TrackCooldown[Ability], 1)
if TrackCooldown[Ability] >= AbilityCooldown[Ability]:
TrackCooldown[Ability] = 0
if Ability in ThresholdIterator and Adrenaline >= 50:
Ready[Ability] = True
elif Ability in UltimateIterator and Adrenaline == 100:
Ready[Ability] = True
else:
Ready[Ability] = True
...
return Current_Buff
@NightShadeI
I'm not sure if I understood the algorithm properly, but it looks to me as if threshold and ultimate abilities without sufficient adrenaline will be activated because of else: Ready[Ability] = True
If this is indeed the case, it could be solved by replacing else with an elif to check if its a basic ability
Config file
Add example text for configuration file or a description of what the configuration file is looking for. The only way to get an idea currently is to guess, run the program, and read off the errors which people may not know to do that.
Like config file, have a results file?
Title.
oh also, dragon rider amulet support? or nah
Input-safe
What's the point of the "What style will you be using?" line? And should it be type safe and check for "Melee," "Ranged," "Magic," "Mage," or other inputs. At the moment I'm not sure what it does, nor do I know if it's necessary, but I don't think "Your mom" is gonna be too helpful. ๐
That goes for the other lines as well.
Should we cache optimal abilities until the algorithm can be made faster?
Algorithm:
User inputs their config settings.
User inputs set of abilities.
If user config settings and abilities have been used by us before
Print optimal bar to the user, saving hours/days of their time.
Ideally, there would be another app, Revolution Rotation Browser, which shows abilities with the highest AADPT (Average Ability Damage Per Tick), where both apps communicate with one another, allowing submitting ability bar from Revolution Rotation Calculator to the Revolution Calculation Browser.
Toggle off unlockable abilities
my bad was at work and didn't see
Missing Abilities
Some of the missing offensive abilities:
Meteor Strike(Ultimate) http://runescape.wikia.com/wiki/Meteor_Strike
Since we can't predict critical strikes (which will restore 10% adrenaline), we should ignore that part of the ability I think ๐ค.
Defensive Abilities:- Many people want to include some defensive abilities in their action bar. I think that they should be defined as the rest of abilities, with their damage set to 0. The algorithm would then find the highest damaging bar with the specified abilities.
Possible bug in auto-attack adrenaline calculations
Revolution-Rotation-Calculator-/Revolution Rotation Calculator.py
Lines 513 to 519 in 7debb23
From http://runescape.wikia.com/wiki/Abilities
Auto-attack with main-hand: +2%
Auto-attack with off-hand: +1%
Auto-attack with two-hand: +3%
Note that auto-attacks need to deal damage to grant adrenaline, while abilities do not.
Magic two-handed auto-attacks will always give +2% adrenaline, Ranged two-handed auto-attacks will always alternate between +2% and +3%, and Melee two-handed auto-attacks will always give +3% adrenaline.
Single handed magic attacks in the calculator currently generate 3% adrenaline, which is wrong I guess. We should probably inquire about whether the user uses one of the following:
- Main-hand weapon
- Off-hand wepaon
- Main-hand + off-hand weapons
- two-handed weapon
- Magic
- Melee
- Ranged
Note: I did not have the time to test whether this information is correct or not.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.