Version 0.8.8 introduced something new in the battle results; under the personal.details key, one could always find the details for vehicles you shot at, for example grabbing one:

'1393312' => { 'damageAssistedRadio' => 12, 'damageAssistedTrack' => 0, 'he_hits' => 0, 'spotted' => 0, 'crits' => 18, 'pierced' => 1, 'hits' => 1, 'damageDealt' => 165, 'fire' => 0, 'deathReason' => -1},The above one is from 0.8.8 actually, in 0.8.7, only damageAssisted was available, this has since been split into 2 values. The deathReason is also new. What changed is the value found in crits. You will see the number 18 there, and I really honestly did not do 18 critical hits, as you can see from the hits field. So what exactly is in there then?
That’s an interesting question. In fact, it’s a packed integer that contains not only the number of critical hits done, but contains the modules and crew that got damaged or destroyed. How cool is that? Pretty cool…
To get to that information, you will want to decode it, here’s my Perl implementation:

package WR::Util::CritDetails;use Mojo::Base '-base';use WR::Constants qw//;# strangely enough, the crits now contain the mask of things that got zapped# so... yeha.has 'crit' => undef;sub parse { my $self = shift; my $crits = $self->crit; my $destroyed_tankmen = $crits >> 24 & 255; my $destroyed_devices = $crits >> 12 & 4095; my $critical_devices = $crits & 4095; my $count = 0; my $c_dev_list = []; my $d_dev_list = []; my $d_tm_list = []; for(my $i = 0; $i < scalar(@{WR::Constants->VEHICLE_DEVICE_TYPE_NAMES}); $i++) { if(1 VEHICLE_DEVICE_TYPE_NAMES->[$i]); } if(1 VEHICLE_DEVICE_TYPE_NAMES->[$i]); } } for(my $i = 0; $i < scalar(@{WR::Constants->VEHICLE_TANKMAN_TYPE_NAMES}); $i++) { if(1 VEHICLE_TANKMAN_TYPE_NAMES->[$i]); } } return { count => $count, critical_devices => $c_dev_list, destroyed_devices => $d_dev_list, destroyed_tankmen => $d_tm_list, };}1;The relevant constants are as follows:

use constant VEHICLE_DEVICE_TYPE_NAMES => [qw/engine ammoBay fuelTank radio track gun turretRotator surveyingDevice/];use constant VEHICLE_TANKMAN_TYPE_NAMES => [qw/commander driver radioman gunner loader/];And a short explanation; the first 3 lines of code split apart the single integer value into 3 masks, one for destroyed modules, one for damaged modules, and one for crew. We then loop over the vehicle device type names, and check to see if it’s in the mask, if it is, then we critical hit it and we increase our hit count, and shove the device name into the list. Similarly for destroyed modules, and crewmembers.