Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # To manually test a scenario, simply use the following formula template:
- #
- # dps(xxx=XXX+n)/dps()
- #
- # where xxx is the stat being tested (dr, cr, cdr, br, bdr, pdr) and XXX is the same stat, but written in all caps, and n is its change in value.
- # Capital stats represent your current, static values. Lowercase stats represent your hypothetical new values.
- # You can test multiple changes simultaneously by separating with commas
- # and you can use negative values to simulate losing stats, ie testing one artifact against another. For example:
- #
- # dps(cr=CR+122,cdr=CDR+591,dr=DR-150,br=BR-141)/dps()
- #
- # would simluate your DPS change if you gained 122 Critical Rating, 591 Critical Damage Rating, but lost 150 Damage Rating and 141 Brutal Rating.
- # dps() is your current total damage multiplier.
- # The change is expressed as a percentile, so 1.015 would mean you'd gain 1.5% total damage multiplier (essentially 1.5% DPS) with the
- # simulated change versus your current numbers.
- # IAS changes need to be modeled separately using this formula:
- #
- # (1+(speed(IAS+n)/100))/(1+(speed(IAS)/100)
- #
- # and replace n with the positive or negative change in IAS in full percent (ie +5% IAS would replace n with 5).
- # As with dps, IAS changes are expressed as a percentile that expresses total DPS change; remember that IAS changes will only affect powers
- # that have an Attack Speed in their tooltip, and will not benefit DOT dps.
- #Input current ratings as they appear in your Character Sheet
- IAS <- 19.8 #Increased Attack Speed as a full percentage (ie 12.5%)
- DR <- 3899+846 #Total Damage Rating for applicable types (ie, Energy/Physical/Mental rating plus Ranged/Melee rating)
- CR <- 3182+3182+3813-2*3182 #Total Critical Strike rating for applicable types (E/P/M rating plus R/M rating plus Area rating minus 2*base Critical Rating)
- CDR <- 4227 #Critical Damage Rating
- BR <- 1318 #Brutal Strike Rating
- BDR <- 2408 #Brutal Damage Rating
- hela <-20 #Brutal Strike Chance flat bonuses (ie 5% per Blessing of Hela)
- PDR <- 18+32+2 #Total percentage damage bonuses (Base plus E/P/M plus R/M)
- #calculate DPS
- dps <- function(dr=DR, cr=CR, cdr=CDR, br=BR, bdr=BDR, pdr=PDR) {
- dam <- ((dr/60)*1.5/100)+(pdr/100)
- crit <- (99*cr)/((cr+(60*60))+1)/100
- cdam <- (150+(cdr/60*.75))/100
- brut <- (((br*75)/(br+3601))/100)+(hela/100)
- bdam <- (300+((bdr+cdr)/60*.75))/100
- calc <- (1+dam)*(1+((crit-(crit*brut))*cdam))*(1+((crit*brut)*bdam))
- return(calc)
- }
- #This is your current total damage multiplier
- dps()
- #calculate IAS
- speed <- function(ias=IAS){
- if (ias<=12.5){
- return(ias)
- } else {
- s1 <- (40*(1-exp((-3*(ias/100)))))
- return(s1)
- }
- }
- #iterate for increased stats
- a <- round(dps(dr=DR+100)/dps(), digits=3)
- b <- round(dps(cr=CR+100)/dps(), digits=3)
- c <- round(dps(cdr=CDR+100)/dps(), digits=3)
- d <- round(dps(br=BR+100)/dps(), digits=3)
- e <- round(dps(bdr=BDR+100)/dps(), digits=3)
- f <- round(dps(pdr=PDR+1)/dps(), digits=3)
- g <- round((1+(speed(IAS+1)/100))/(1+(speed(IAS)/100)), digits=3)
- # Ratings displayed here roughly equate to "weights" for stats. Ie, if CR shows 1.015 and DR shows 1.010, that means getting 100 points of CR is
- # better than 100 points of DR. All things being equal, try to add the stat with the highest weight for the most increase to your DPS.
- matrix(c("100 more DR","100 more CR","100 more CDR","100 more BR","100 more BDR","1% more Damage","1% more IAS",a,b,c,d,e,f,g),ncol=2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement