172 lines
7.0 KiB
PHP
172 lines
7.0 KiB
PHP
|
#!/usr/bin/php
|
||
|
|
||
|
<?php
|
||
|
|
||
|
$listEncounters = array(
|
||
|
## The Dread Fortress
|
||
|
'Nefra, Who Bars the Way {3266533082005504}','Gate Commander Draxus {3273924720721920}','Grob\'thok, Who Feeds the Forge {3273929015689216}','Corruptor Zero {3273933310656512}','Dread Master Brontes {3273937605623808}',
|
||
|
## Eternity Vault
|
||
|
'Soa {2289823159156736}',
|
||
|
## Assation
|
||
|
'The Writhing Horror {2938874321960960}','Heirad {2938002443599872}','Ciphas {2938011033534464}','Kel\'sara {2938006738567168}','Operator IX {2942606648541184}','Kephess the Undying {2937620191510528}','The Terror From Beyond {2978340776443904}',
|
||
|
##
|
||
|
'The Eyeless {3328380611067904}',
|
||
|
## Toborro
|
||
|
'Golden Fury {3232800408862720}', 'Golden Fury {3232817588731904}',
|
||
|
## The False Emperor
|
||
|
'Tregg the Destroyer {1690314444111872}','Jindo Krey {770959514533888}','HK-47 {770955219566592}','Chondrus Berani {1690331623981056}','Sith Entity {1695962326106112}','Forsaken Sith Lord {781830076760064}','Darth Malgus {770963809501184}',
|
||
|
## Battle of Rishi
|
||
|
'Marko Ka {3533564083699712}','Rarrook {3533559788732416}','Lord Vodd {3533585558536192}','Shield Squadron Unit 1 {3533594148470784}','Darth Yun {4257506591244288}',
|
||
|
## Objective Meridian
|
||
|
'Commander Aster {4258021987319808}','Darth Malgus {4257502296276992}',
|
||
|
## Heart of Ruin
|
||
|
'Colossal Monolith {3541140406009856}',
|
||
|
##
|
||
|
'Toxxun {3340011382505472}',
|
||
|
## Mutated Geonosian Queen
|
||
|
'Mutated Geonosian Queen {4197299739688960}'
|
||
|
);
|
||
|
|
||
|
$dmgTypes = array('energy','elemental','kinetic','internal');
|
||
|
$instTypes = array('Story','Veteran','Master');
|
||
|
$zoneNames = array(
|
||
|
# Planet zones
|
||
|
'Corellia','Coruscant','CZ-198','Rishi','Taris','Tatooine','Voss','Yavin 4','Ziost',
|
||
|
# Instances zones
|
||
|
'Lair of the Eyeless','Toborro\'s Palace Courtyard','The False Emperor','Battle of Rishi','Objective Meridian','Hive of the Mountain Queen'
|
||
|
);
|
||
|
|
||
|
class loadFile
|
||
|
{
|
||
|
// Declare properties
|
||
|
public $filename = "";
|
||
|
public $handle = null;
|
||
|
|
||
|
// Constructor
|
||
|
public function __construct(){
|
||
|
// echo 'The class "' . __CLASS__ . '" was initiated!<br>';
|
||
|
$this->fileName = "";
|
||
|
$this->handle = null;
|
||
|
}
|
||
|
|
||
|
// Destructor
|
||
|
public function __destruct(){
|
||
|
// echo 'The class "' . __CLASS__ . '" was destroyed.<br>';
|
||
|
}
|
||
|
|
||
|
// Method to get the filename
|
||
|
public function getFileName(){
|
||
|
return $this->fileName;
|
||
|
}
|
||
|
|
||
|
// Method to set the filename
|
||
|
public function setFileName($filename){
|
||
|
$this->fileName = $filename;
|
||
|
}
|
||
|
|
||
|
// Method to get the handle content
|
||
|
public function getHandle(){
|
||
|
// TODO Check file exists
|
||
|
$this->handle = fopen($this->fileName, "r");
|
||
|
// if($this->handle) {
|
||
|
// while (($line = fgets($this->handle)) !== false) {
|
||
|
// echo $line;
|
||
|
// }
|
||
|
// fclose($this->handle);
|
||
|
// } else {
|
||
|
// $this->handle = False;
|
||
|
// }
|
||
|
|
||
|
return $this->handle;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// class Event:
|
||
|
// regex = r'[\[<\(]([^\[<\(\]>\)]*)[\]>\)]'
|
||
|
// def __init__(self, x):
|
||
|
// data = re.findall(Event.regex, x)
|
||
|
// data.append('')
|
||
|
// self.to_string = ' '.join(data)
|
||
|
//
|
||
|
// dateandtime = datetime.strptime(list(sys.argv[1].split("_"))[1]+" "+data[0], '%Y-%m-%d %H:%M:%S.%f')
|
||
|
//
|
||
|
// self.date = dateandtime
|
||
|
// self.source = Entity(data[1])
|
||
|
// self.target = Entity(data[2])
|
||
|
// self.ability = Ability(data[3])
|
||
|
// self.effect = Effect(data[4])
|
||
|
// self.value = Value(data[5])
|
||
|
// self.threat = Threat(data[6])
|
||
|
|
||
|
class LogEvent
|
||
|
{
|
||
|
// Properties declaration
|
||
|
public $event = "";
|
||
|
// public $date = "";
|
||
|
// public $source = "";
|
||
|
// public $target = "";
|
||
|
// public $ability = "";
|
||
|
// public $effect = "";
|
||
|
// public $value = 0;
|
||
|
// public $threat = 0;
|
||
|
|
||
|
// Constructor
|
||
|
public function __construct()
|
||
|
{
|
||
|
// echo 'The class "' . __CLASS__ . '" was initiated!<br>';
|
||
|
$this->event = "";
|
||
|
// $this->date = $date;
|
||
|
// $this->source = $source;
|
||
|
// $this->target = $target;
|
||
|
// $this->ability = $ability;
|
||
|
// $this->effect = $effect;
|
||
|
// $this->value = $value;
|
||
|
// $this->threat = $threat;
|
||
|
}
|
||
|
|
||
|
// Destructor
|
||
|
public function __destruct(){
|
||
|
// echo 'The class "' . __CLASS__ . '" was destroyed.<br>';
|
||
|
}
|
||
|
|
||
|
// Method to set the event
|
||
|
public function arrayEvent($logEvent){
|
||
|
// [23:40:42.150] [@Comendatore] [Combat Training Target MK-10 {2816257300627456}:133000004817] [Ion Pulse {2199843594305536}] [ApplyEffect {836045448945477}: Damage {836045448945501}] (7659* elemental {836045448940875}) <19146>
|
||
|
// [date] [src] [target] [ability] [effect] (value) <threat>
|
||
|
$isMatching = preg_match_all('/[\[<\(]([^\[<\(\]>\)]*)[\]>\)]/m', $logEvent, $this->event, PREG_SET_ORDER, 0);
|
||
|
return $this->event;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// $handle = fopen("combat_2020-06-11_18_06_42_493608.txt", "r");
|
||
|
$handlecontent = new loadFile;
|
||
|
$handlecontent->setFileName("combat_2020-07-25_22_39_58_532658.txt");
|
||
|
$handleresult = $handlecontent->getHandle();
|
||
|
|
||
|
if($handleresult) {
|
||
|
$totalAmount=0;$totalThreat=0;
|
||
|
while (($line = fgets($handleresult)) !== false) {
|
||
|
$log = new LogEvent;
|
||
|
$log = $log->arrayEvent($line);
|
||
|
if( array_key_exists(6, $log) );
|
||
|
// print_r($log);
|
||
|
$logDate = $log[0][1];
|
||
|
$logSource = $log[1][1];
|
||
|
$logTarget = $log[2][1];
|
||
|
$logAbility = $log[3][1];
|
||
|
$logEffect = $log[4][1];
|
||
|
$logValue = (isset($log[5][1]) && ($log[5][1] != 0))?$log[5][1]:null;
|
||
|
$logThreat = isset($log[6][1])?$log[6][1]:null;
|
||
|
print("Date : ".$logDate." Source : ".$logSource." Target : ".$logTarget." Ability : ".$logAbility." Effect : ".$logEffect." Amount : ".$logValue." Menace : ".$logThreat."\n");
|
||
|
|
||
|
// if( $log[1][1]
|
||
|
|
||
|
$totalAmount+=$logValue;$totalThreat+=$logThreat;
|
||
|
}
|
||
|
print("Total Damages : ".$totalAmount."\n");
|
||
|
print("Total Menace : ".$totalThreat."\n");
|
||
|
} else {
|
||
|
echo "Error while loading file handle !";
|
||
|
}
|
||
|
?>
|