| Author |
Thread Statistics | Show CCP posts - 0 post(s) |

Mintoko
Gallente Taedium In Perpetuam
|
Posted - 2011.07.12 22:04:00 -
[1]
If by "most killboards" you mean the Eve Development killboard, the procedure is below.
For all non-NPC parties involved, (NPCs and rogue drones do not count)
vicpoints = the victim's points based upon the ship class
invpoints = total points of all other ships involved.
maxpoints = round(vicpoints * 1.2)
if vicpoints + invpoints > 0
gankfactor = vicpoints / (vicpoints + invpoints) points = ceil(vicpoints * (gankfactor / 0.75))
else points = 0
if points > maxpoints then points = maxpoints
eliminate any fraction of a point.
Example:
a Covert Ops frigate (50) was destroyed. (vicpoints = 80) The single party involved was in a Drake (Battlecruiser) (250) (invpoints=250)
maxpoints = vicpoints * 1.2 maxpoints = 80 * 1.2 maxpoints = 96
since vicpoints and invpoints total more than 0, gankfactor = vicpoints / (vicpoints + invpoints) gankfactor = 80 / (80 + 250) gankfactor = 80 / 330 gankfactor = 0.2424
points = vicpoints * (gankfactor / 0.75) points = 80 * (0.2424/ 0.75) points = 80 * 0.3232 points = 25.856, rounded up to points = 26
since points of 26 do not total more than the maxpoints of 96, the number of points will stand at 26
The relevant code from `common/includes/class.killwrapper`
function calculateKillPoints() { if (!$this->involvedparties_) $this->execQuery();
$ship = $this->getVictimShip(); $shipclass = $ship->getClass(); $vicpoints = $shipclass->getPoints(); $maxpoints = round($vicpoints * 1.2);
foreach ($this->involvedparties_ as $inv) { $shipinv = $inv->getShip(); $shipclassinv = $shipinv->getClass(); $invpoints += $shipclassinv->getPoints(); }
if($vicpoints + $invpoints > 0) { $gankfactor = $vicpoints / ($vicpoints + $invpoints); $points = ceil($vicpoints * ($gankfactor / 0.75)); } else $points = 0; if ($points > $maxpoints) $points = $maxpoints;
$points = round($points, 0); return $points; }
located in `ship_classes` table under column `scl_points`
Drone = 0 Capsule / Rookie Ship / Shuttle = 5 Exhumer / Barge / Industrial = 20 Transport ship = 30 Frigate = 50 Interdictor / Interceptor / Destroyer = 60 Covert Ops / Assault Frigate = 80 Cruiser = 100 Logistics = 175 Electronic Attack Ship = 200 Battlecruiser = 250 Recon Ship = 350 Heavy Assault Cruiser= 400 Command Ship = 450 Heavy Interdictor = 600 Battleship = 750 Marauder = 1000 Freighter = 1500 Black Ops = 1800 Jump Freighter = 2000 Carrier = 3000 Dreadnought = 4000 Capital Industrial = 5000 Mothership = 6000 Titan = 20000
|

Mintoko
Gallente Taedium In Perpetuam
|
Posted - 2011.07.13 09:48:00 -
[2]
Unfortunately, I'm not experienced with .NET, but the one thing that stands out to me is 0.75D in the computation of the points. Is the 'D' required?
|

Mintoko
Gallente Taedium In Perpetuam
|
Posted - 2011.07.13 10:19:00 -
[3]
Edited by: Mintoko on 13/07/2011 10:20:07 took me too long to find this... :)
points = Math.Ceiling(gankfactor / 0.75D)
should be
points = Math.Ceiling(vicpoints * (gankfactor / 0.75D))
|

Mintoko
Gallente Taedium In Perpetuam
|
Posted - 2011.07.13 10:47:00 -
[4]
Sorry about that. The database I was looking at earlier did not have these.
POS Small = 750 POS Medium = 1500 POS Large = 2250 POS Modules = 500 Industrial Command Ship = 2500 Strategic Cruiser = 750 Infrastructure Modules = 500 Territory Modules = 500 Prototype Exploration Ship = 5 Unknown = 0
|
| |
|