-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfixSpecificSetData.php
96 lines (69 loc) · 2.89 KB
/
fixSpecificSetData.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php
if (php_sapi_name() != "cli") die("Can only be run from command line!");
require("/home/uesp/secrets/esolog.secrets");
$db = new mysqli($uespEsoLogWriteDBHost, $uespEsoLogWriteUser, $uespEsoLogWritePW, $uespEsoLogDatabase);
if ($db->connect_error) exit("Error: Could not connect to mysql database!");
$TABLE_SUFFIX = "";
$totalFixed = 0;
$totalFound = 0;
$query = "SELECT * FROM minedItemSummary$TABLE_SUFFIX WHERE setName=\"Vastarie's Tutelage\";";
$result = $db->query($query);
if ($result === false || $result->num_rows <= 0) die("No items found!");
$items = array();
while (($row = $result->fetch_assoc()))
{
$items[] = $row;
}
$count = count($items);
print("Loaded $count items matching set...\n");
foreach ($items as $i => $item)
{
$itemId = $item['itemId'];
print("\tFixing item #$itemId...\n");
$set4 = $item['setBonusDesc4'];
$set5 = $item['setBonusDesc5'];
//(5 items) Adds 1-129 Stamina Recovery (5 items) When you resurrect an ally, you and your ally gain 3-258 Weapon and Spell Damage and 10% cost reduction to non-Ultimate abilities for 10 seconds.
$result = preg_match('/(\(5 items\) Adds [0-9\-]+ Stamina Recovery)\s*(.*)/', $set5, $matches);
if (!$result)
{
print("\tError: Failed to parse set description string!\n");
continue;
}
$set5Prefix = $matches[1];
$set5Suffix = $matches[2];
//print("\tPrefix: $set5Prefix\n");
//print("\tSuffix: $set5Suffix\n");
$newSet4 = $set4 . "\n" . $set5Prefix;
$newSet5 = $set5Suffix;
$safeBonus4 = $db->real_escape_string($newSet4);
$safeBonus5 = $db->real_escape_string($newSet5);
$query = "UPDATE minedItemSummary$TABLE_SUFFIX SET setBonusDesc4='$safeBonus4', setBonusDesc5='$safeBonus5' WHERE itemId='$itemId';";
$result = $db->query($query);
if ($result === false) print("\t\tError: Failed to update summary table data!\n" . $db->error);
$query = "SELECT * FROM minedItem$TABLE_SUFFIX WHERE itemId=$itemId;";
$result = $db->query($query);
if ($result === false) die("Failed to load item data!");
while (($row = $result->fetch_assoc()))
{
$recordId = $row['id'];
$set4 = $row['setBonusDesc4'];
$set5 = $row['setBonusDesc5'];
$matchResult = preg_match('/(\(5 items\) Adds [0-9\-]+ Stamina Recovery)\s*(.*)/', $set5, $matches);
if (!$matchResult)
{
print("\tError: Failed to parse item set description string!\n");
continue;
}
$set5Prefix = $matches[1];
$set5Suffix = $matches[2];
$newSet4 = $set4 . "\n" . $set5Prefix;
$newSet5 = $set5Suffix;
//print("\tPrefix: $set5Prefix\n");
//print("\tSuffix: $set5Suffix\n");
$safeBonus4 = $db->real_escape_string($newSet4);
$safeBonus5 = $db->real_escape_string($newSet5);
$query = "UPDATE minedItem$TABLE_SUFFIX SET setBonusDesc4='$safeBonus4', setBonusDesc5='$safeBonus5' WHERE id='$recordId';";
$writeResult = $db->query($query);
if ($writeResult === false) print("\t\tError: Failed to update item table data!\n" . $db->error);
}
}