Jump to content


Mathematics Contributor
  • Content Count

  • Joined

  • Last visited

Everything posted by Gryphon_

  1. The T100LT is the king of camo, but to use that advantage you have to work hard to position yourself no closer than a certain distance to likely enemy positions. For my crew + equipment I find that 300m is the right limit. I use the 'circles' file in xvm to draw a red circle on the minimap at 300m radius around the tank, then in game I take care to run that up to but not over enemy positions so you can spot them but 95% of the time they cant spot you. The extra spotting you get by mastering that will raise your winrate. Its an amazing active scout but - due to not class leading VR - its not really a passive scout in the general sense. Keep moving!! Exception: the high camo, coupled with bush camo, makes it amazing as a 'stay behind' passive scout sitting in a bush as the enemy advance. In these cases, with my crew and equipment, they wont spot me in the bush until about 80m away. This is a great tactic to use if your team loses a flank. Get to know suitable bushes near your own cap. As for doing damage, its not your job. Just be aware of whats behind you, and use their guns by spotting to win. The gun is trash, mainly due to dispersion and pen. However, the aim time is nothing, so drop the vstab and take vents instead. Pen dropoff over range is huge, so only shoot stuff thats close, in the end game, or to defend yourself while running away. I second the suggestion to watch Ilya Red on youtube - loads of good info.
  2. I rebought it, having forgotten why I sold it. Dammit.... take a toolbox and repair skill to the max to preserve sanity.
  3. That 268-4 did it for me too. I stopped playing CW, then stopped playing for months. I've recently returned and played a few hundred battles in my lights and meds, only to discover that almost all my tanks are now officially out the meta. The only good news is that when playing the T49 without the DERP I've been having some gg's, so there is hope.
  4. Its an improvement for scouts. there are rows of bushes where there was nothing before. And the bushes all seem to have great camo. The scout + shooter combo = win.
  5. Well the way to win games is find one of these on your team and follow him. 2 games in a row in my last session the 268-4 ate pushed right up a corridor and ended the game undamaged.
  6. If it's toast, the first thing I'd do is try the 'oven trick' (google it). I've resurrected 2 cards using it.
  7. If the GPU is artifacting or does odd things, google the 'oven trick'. I've resurrected a few cards using it but if you do it: 1) make sure you understand the directions (are the in degrees C or in F?) 2) set the TIMER so you dont leave it in too long What this does is melt and reflow the solder on the card, fixing any micro cracks in the connections Oven Trick
  8. 4 months? Ouch. Mine was just a 10 day stay of which 3 were in ICU. Cured me of motorcycles.. almost cured me of life entirely. Play safely, my friends..
  9. The ultimate glass autoloader. If anything hits you, you lose modules AND crew, every time. So it teaches a lot of hard lessons about positioning and how to time your attack and possibly make it out. Definitely not a keeper. Sold the instant the almighty Batchat 25t was in the garage.
  10. If you haven't tried it, the female voices mod is wonderful. 2 lines of code, it changes the default voices to all female ones. Exact mod is 'mod_ElkAllFemale'
  11. It has its place; try the wall with the slot in Siegfried Line to not only snipe the field in a medium-like way but also spot everything there without even trying. It seems to accrue lots of assisted when you are trying for damage. Lately I have been using its speed to drive around all over the place, take sneaky shots at stuff - especially their lights - and light up stuff in passing. It might be big and not have the best camo, but its very fast and has the best view range. Even without vents I'm getting 503 with food.
  12. I was wrong about vstab. I took vents off and put it back on, and now I'm getting better results both on Sheridan and Fatton. One has to wonder how good aimtime has to be before vstab isnt worth it, as we are sub 2 second on both those and even though the difference is hardly noticeable the results seem to be positive.
  13. The weakness is the camo, the strengths are the VR and gun handling. If you want to make the gun handling one iota better than it already is, use VStab. If you want to mitigate the camo, use vents and gain even more VR at same time (11m). My 'does it need Vstab' test is to snap aim at something and figure whether you could even settle and fire before the circle is minimized.If the circle beats you, you dont need Vstab.
  14. But....I always thought the official forums were for serial posters with nothing to say....?
  15. Interesting. I've seen my winrate do same; I got to the magic '54%' overall, then along comes 9.20 and it goes into reverse - hard. Now, every night I'm struggling to attain high 40's WR. No matter what I play, even when I should have carried, I rarely do anymore. I just cant figure it out in terms of 'what changed'. The only clue I have is that in early days of the new MM (9.18) I was cleaning up in tier 7 with the T71 and in tier 9 with the Lwt, but now the MM is far less kind - my T71 is hardly ever top tier now, whereas back in 9.18 is was almost all the time(!).
  16. Please bear in mind that if you update the values every day, all the other sites out there using your values will be constantly updating, as not all do it automatically. Just because you have the server power to update every day doesnt mean thats a good use of your resources - the values of any tank shouldn't change by a noticeable amount in a day.... It would be far better to update every month, and do the averages every 6. More frequent changes than that will be a pain for all the sites and modders to keep up with.
  17. Are we playing the same tank? I have a BIA crew and I'm getting sub-2 sec aim time and a dispersion of 0.3 - none better at tier 9. If you can't hit stuff at 300m with this tank, you don't have any better options. But - it has to be said that this tank is the medium of choice for those who normally play lights. It is not the medium of choice for those who play heavies (T-54, 430, etc).
  18. Its only a POS if you try to brawl with it. Put 300m between you and the other guys and its very good indeed. Of course, discussion is about the elite tank...dont play it when not elite, especially not without the L7 gun
  19. Its still bad. Amazing they can release crap like this and creep it up ever so slowly (and too slowly) then in same timeframe drop Defenders, Scorpions, and other ridiculously OP prems into the game.
  20. And you can take the vstab off if playing the 105, add vents, +12m VR, boss with a 390 punch. I've also noticed that for a tier ten light in CW, a 300 pen HEAT round > 248 pen AP round (T-100LT) - especially at long range.
  21. According to some people who've obviously never played it. The Sheridans advantage is VR, but is poor on camo, so it has no useful advantage unless passive
  22. On wotlabs, most sites, and some mods, yes. However, the xvm team is close to having an automated way of producing per-tank values so you will see a slightly different WN8 score in XVM (mine is 4 different overall)
  23. 50 was what the original WN8 team came up with. I think while WN9 was being researched we found that raising it didn't really make any difference. The big change that sirmax is making is to raise the account threshold to 10,000 battles (was 1000). THAT makes a big difference, if you have a huge dataset.
  24. Update: I had some thoughts on how to update the averages the 'hard' way. I figured it out and the following R script works. #apply filters as needed userTankStats <- dataMaster[dataMaster$battles > 50,] userTankStats$damage_dealt <- as.double(userTankStats$damage_dealt) userTankStats <- userTankStats[,c("userid", "compDescr","title", "type", "tier", "countryid", "battles", "victories","damage_dealt","frags", "spotted","defence_points")] userTankStats$userid <- as.factor(userTankStats$userid) any(is.na(userTankStats)) # number of battles in dataset sum(userTankStats$battles) #calc actuals userTankStats$aFRAG <- userTankStats$frags/userTankStats$battles userTankStats$aDAMAGE <- userTankStats$damage_dealt/userTankStats$battles userTankStats$aSPOT <- userTankStats$spotted/userTankStats$battles userTankStats$aDEF <- userTankStats$defence_points/userTankStats$battles userTankStats$aWIN <- 100*userTankStats$victories/userTankStats$battles any(is.na(userTankStats)) #load average expected values from wnefficiency.net - currently version 31 wnefficiencyURL <- "http://www.wnefficiency.net/exp/expected_tank_values_31.csv" expectedValues <- read.csv(wnefficiencyURL) names(expectedValues) <- c("type","tier", "eFRAG", "eDAMAGE","eSPOT", "eDEF", "eWIN") head(expectedValues) any(is.na(expectedValues)) # add the expected values data to the user tanks data require(dplyr) userTankStats <- inner_join(x=userTankStats, y=expectedValues, by = c("type","tier") ) # fix chars that upset file naming userTankStats$title <- chartr("*/", "_-", userTankStats$title) any(is.na(userTankStats)) # calculate the user rSTATS userTankStats$rFRAG <- userTankStats$aFRAG/userTankStats$eFRAG userTankStats$rDAMAGE <- userTankStats$aDAMAGE/userTankStats$eDAMAGE userTankStats$rSPOT <- userTankStats$aSPOT/userTankStats$eSPOT userTankStats$rDEF <- userTankStats$aDEF/userTankStats$eDEF userTankStats$rWIN <- userTankStats$aWIN/userTankStats$eWIN userTankStats$rFRAGproduct <- userTankStats$rFRAG * userTankStats$battles userTankStats$rDAMAGEproduct <- userTankStats$rDAMAGE * userTankStats$battles userTankStats$rSPOTproduct <- userTankStats$rSPOT * userTankStats$battles userTankStats$rDEFproduct <- userTankStats$rDEF * userTankStats$battles userTankStats$rWINproduct <- userTankStats$rWIN * userTankStats$battles any(is.na(userTankStats)) # calculate the user rSTATc's userTankStats$rWINc <- pmax(0,(userTankStats$rWIN - 0.71)/(1 - 0.71)) userTankStats$rDAMAGEc <- pmax(0,(userTankStats$rDAMAGE - 0.22)/(1 - 0.22)) userTankStats$rFRAGc <- pmax(0,pmin(userTankStats$rDAMAGEc + 0.2,((userTankStats$rFRAG - 0.12)/(1 - 0.12)))) userTankStats$rSPOTc <- pmax(0,pmin(userTankStats$rDAMAGEc + 0.1,((userTankStats$rSPOT - 0.38)/(1 - 0.38)))) userTankStats$rDEFc <- pmax(0,pmin(userTankStats$rDAMAGEc + 0.1,((userTankStats$rDEF - 0.10)/(1 - 0.10)))) userTankStats$rWINcproduct <- userTankStats$rWINc * userTankStats$battles userTankStats$rDAMAGEcproduct <- userTankStats$rDAMAGEc * userTankStats$battles userTankStats$rFRAGcproduct <- userTankStats$rFRAGc * userTankStats$battles userTankStats$rSPOTcproduct <- userTankStats$rSPOTc * userTankStats$battles userTankStats$rDEFcproduct <- userTankStats$rDEFc * userTankStats$battles any(is.na(userTankStats)) # calculate the user WN8 per tank userTankStats$WN8 <- with(userTankStats, 980*rDAMAGEc + 210*rDAMAGEc*rFRAGc + 155*rFRAGc*rSPOTc + 75*rDEFc*rFRAGc + 145*pmin(1.8,rWINc)) userTankStats$WN8product <- userTankStats$battles * userTankStats$WN8 any(is.na(userTankStats)) # filter out all tanks where WN8 is below median WN8 for every users' tanks require(dplyr) median.userTankStatsWN8 <- summarize(group_by(userTankStats,userid), median_WN8 = median(WN8, na.rm=TRUE)) userTankStatsFiltered <- inner_join(x=userTankStats, y=median.userTankStatsWN8, by = "userid") userTankStatsFiltered <- userTankStatsFiltered[userTankStatsFiltered$WN8 >= userTankStatsFiltered$median_WN8,] nrow(userTankStatsFiltered) any(is.na(userTankStatsFiltered)) rm(median.userTankStatsWN8) #calculate the user account WN8, rSTATs, and rSTATSc require(dplyr) userAccountStats <- summarize(group_by(userTankStatsFiltered, userid), WN8product = sum(WN8product), rWINproduct = sum(rWINproduct), rDAMAGEproduct = sum(rDAMAGEproduct), rFRAGproduct = sum(rFRAGproduct), rSPOTproduct = sum(rSPOTproduct), rDEFproduct = sum(rDEFproduct), rWINcproduct = sum(rWINcproduct), rDAMAGEcproduct = sum(rDAMAGEcproduct), rFRAGcproduct = sum(rFRAGcproduct), rSPOTcproduct = sum(rSPOTcproduct), rDEFcproduct = sum(rDEFcproduct), battles = sum(battles)) userAccountStats$user_WN8 <- userAccountStats$WN8product / userAccountStats$battles userAccountStats$user_rWIN <- userAccountStats$rWINproduct / userAccountStats$battles userAccountStats$user_rDAMAGE <- userAccountStats$rDAMAGEproduct / userAccountStats$battles userAccountStats$user_rFRAG <- userAccountStats$rFRAGproduct / userAccountStats$battles userAccountStats$user_rSPOT <- userAccountStats$rSPOTproduct / userAccountStats$battles userAccountStats$user_rDEF <- userAccountStats$rDEFproduct / userAccountStats$battles userAccountStats$user_rWINc <- userAccountStats$rWINcproduct / userAccountStats$battles userAccountStats$user_rDAMAGEc <- userAccountStats$rDAMAGEcproduct / userAccountStats$battles userAccountStats$user_rFRAGc <- userAccountStats$rFRAGcproduct / userAccountStats$battles userAccountStats$user_rSPOTc <- userAccountStats$rSPOTcproduct / userAccountStats$battles userAccountStats$user_rDEFc <- userAccountStats$rDEFcproduct / userAccountStats$battles userAccountStats <- userAccountStats[,c("userid", "user_WN8", "user_rWIN", "user_rDAMAGE", "user_rFRAG", "user_rSPOT", "user_rDEF", "user_rWINc", "user_rDAMAGEc", "user_rFRAGc", "user_rSPOTc", "user_rDEFc")] any(is.na(userAccountStats)) #merge back require(dplyr) userTankStatsFiltered <- inner_join(x=userTankStatsFiltered, y=userAccountStats, by = c("userid")) any(is.na(userTankStatsFiltered)) # create table of compDescr and title as index for the loop require(dplyr) listOfTanks <- summarize(group_by(userTankStatsFiltered, tier, type ), users = n() ) any(is.na(listOfTanks)) # loop to do linear regression for each rSTAT vs user account rSTAT, derive corrected average expected values newExpectedValues <- expectedValues for (i in 1:10) { for (j in 1:5) {0 sample <- subset(x = userTankStatsFiltered, tier == i & type == j) if (nrow(sample) == 0){ next } rDAMAGEmodel <- lm(rDAMAGE ~ user_rDAMAGE, data = sample) rDAMAGEcorrection <- rDAMAGEmodel$coef[[1]] + rDAMAGEmodel$coef[[2]] eDAMAGE_new <- round(rDAMAGEcorrection * expectedValues$eDAMAGE[which(expectedValues$tier == i & expectedValues$type == j)], 2) newExpectedValues$eDAMAGE[which(newExpectedValues$tier == i & newExpectedValues$type == j)] <- eDAMAGE_new rFRAGmodel <- lm(rFRAG ~ user_rFRAG, data = sample) rFRAGcorrection <- rFRAGmodel$coef[[1]] + rFRAGmodel$coef[[2]] eFRAG_new <- round(rFRAGcorrection * expectedValues$eFRAG[which(expectedValues$tier == i & expectedValues$type == j)], 2) newExpectedValues$eFRAG[which(newExpectedValues$tier == i & newExpectedValues$type == j)] <- eFRAG_new rSPOTmodel <- lm(rSPOT ~ user_rSPOT, data = sample) rSPOTcorrection <- rSPOTmodel$coef[[1]] + rSPOTmodel$coef[[2]] eSPOT_new <- round(rSPOTcorrection * expectedValues$eSPOT[which(expectedValues$tier == i & expectedValues$type == j)], 2) newExpectedValues$eSPOT[which(newExpectedValues$tier == i & newExpectedValues$type == j)] <- eSPOT_new rDEFmodel <- lm(rDEF ~ user_rDEF, data = sample) rDEFcorrection <- rDEFmodel$coef[[1]] + rDEFmodel$coef[[2]] eDEF_new <- round(rDEFcorrection * expectedValues$eDEF[which(expectedValues$tier == i & expectedValues$type == j)], 2) newExpectedValues$eDEF[which(newExpectedValues$tier == i & newExpectedValues$type == j)] <- eDEF_new rWINmodel <- lm(rWIN ~ user_rWIN, data = sample) rWINcorrection <- rWINmodel$coef[[1]] + rWINmodel$coef[[2]] eWIN_new <- round(rWINcorrection * expectedValues$eWIN[which(expectedValues$tier == i & expectedValues$type == j)], 2) newExpectedValues$eWIN[which(newExpectedValues$tier == i & newExpectedValues$type == j)] <- eWIN_new } } any(is.na(newExpectedValues)) names(newExpectedValues) <- c("type","tier", "frag", "dmg","spot", "def", "win") #export new values date <- as.Date(Sys.Date(), "%m/%d/%Y" ) expected_value_filename <- paste("~/R/WN8 Averaged/averaged_expected_values_",date,".csv") write.csv(x=newExpectedValues,file=expected_value_filename ,row.names = FALSE)
  • Create New...