326 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			326 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
|   if ( !defined('IN_UPDATER') )
 | |
|   {
 | |
|     die('Do not access this file directly.');
 | |
|   }    
 | |
| 
 | |
|   $dbversion = 65;
 | |
|   $version = "1.6.14";
 | |
| 
 | |
|   // Tracker #1421 - New TF2 weapons - Uber Update
 | |
|   $tfgames = array();
 | |
|   $result = $db->query("SELECT code FROM hlstats_Games WHERE realgame = 'tf'");
 | |
|   while ($rowdata = $db->fetch_row($result))
 | |
|   { 
 | |
|     array_push($tfgames, $db->escape($rowdata[0]));
 | |
|   }
 | |
| 
 | |
|   $weapons = array(
 | |
|     array(
 | |
|       "code" => "atomizer",
 | |
|       "name" => "Atomizer",
 | |
|       "verb" => "Atomizer kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Atoms Split"),
 | |
|     array(
 | |
|       "code" => "bazaar_bargain",
 | |
|       "name" => "Bazaar Bargain",
 | |
|       "verb" => "Bazaar Bargain kills",
 | |
|       "modifier" => "1.00",
 | |
|       "award_name" => "Bargins Earned"),
 | |
|     array(
 | |
|       "code" => "demokatana",
 | |
|       "name" => "Half-Zatoichi",
 | |
|       "verb" => "Half-Zatoichi kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Samurai Swipes"),
 | |
|     array(
 | |
|       "code" => "detonator",
 | |
|       "name" => "Detonator",
 | |
|       "verb" => "Detonator kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Detonations Served"),
 | |
|     array(
 | |
|       "code" => "disciplinary_action",
 | |
|       "name" => "Disciplinary Action",
 | |
|       "verb" => "Disciplinary Action kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Disciplined to Death"),
 | |
|     array(
 | |
|       "code" => "enforcer",
 | |
|       "name" => "Enforcer",
 | |
|       "verb" => "Enforcer kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Deaths Enforced"),
 | |
|     array(
 | |
|       "code" => "eviction_notice",
 | |
|       "name" => "Eviction Notice",
 | |
|       "verb" => "Eviction Notice kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Souls Evicted"),
 | |
|     array(
 | |
|       "code" => "family_business",
 | |
|       "name" => "Family Business",
 | |
|       "verb" => "Family Business kills",
 | |
|       "modifier" => "1.00",
 | |
|       "award_name" => "Cement Shoes Dispensed"),
 | |
|     array(
 | |
|       "code" => "kunai",
 | |
|       "name" => "Conniver's Kunai",
 | |
|       "verb" => "Conniver's Kunai kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Spikes Implanted"),
 | |
|     array(
 | |
|       "code" => "lava_axe",
 | |
|       "name" => "Sharpened Volcano Fragment",
 | |
|       "verb" => "Sharpened Volcano Fragment kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Fragments Fragged"),
 | |
|     array(
 | |
|       "code" => "lava_bat",
 | |
|       "name" => "Sun-on-a-Stick",
 | |
|       "verb" => "Sun-on-a-Stick kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Afterlives Brightened"),
 | |
|     array(
 | |
|       "code" => "liberty_launcher",
 | |
|       "name" => "Liberty Launcher",
 | |
|       "verb" => "Liberty Launcher kills",
 | |
|       "modifier" => "1.00",
 | |
|       "award_name" => "Lives Liberated"),
 | |
|     array(
 | |
|       "code" => "mantreads",
 | |
|       "name" => "Mantreads",
 | |
|       "verb" => "Mantreads kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Goombas Stomped"),
 | |
|     array(
 | |
|       "code" => "market_gardener",
 | |
|       "name" => "Market Gardener",
 | |
|       "verb" => "Market Gardener kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Garden Graves Dug"),
 | |
|     array(
 | |
|       "code" => "persian_persuader",
 | |
|       "name" => "Persian Persuader",
 | |
|       "verb" => "Persian Persuader kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Persons Persuaded"),
 | |
|     array(
 | |
|       "code" => "proto_syringe",
 | |
|       "name" => "Overdose",
 | |
|       "verb" => "Overdose kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Patients Overdosed"),
 | |
|     array(
 | |
|       "code" => "reserve_shooter",
 | |
|       "name" => "Reserve Shooter",
 | |
|       "verb" => "Reserve Shooter kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Reservations Made"),
 | |
|     array(
 | |
|       "code" => "scout_sword",
 | |
|       "name" => "Three-Rune Blade",
 | |
|       "verb" => "Three-Rune Blade kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Rune Slices Served"),
 | |
|     array(
 | |
|       "code" => "shahanshah",
 | |
|       "name" => "Shahanshah",
 | |
|       "verb" => "Shahanshah kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Shahaha UR Dead"),
 | |
|     array(
 | |
|       "code" => "soda_popper",
 | |
|       "name" => "Soda Popper",
 | |
|       "verb" => "Soda Popper kills",
 | |
|       "modifier" => "1.25",
 | |
|       "award_name" => "Souls Popped"),
 | |
|     array(
 | |
|       "code" => "solemn_vow",
 | |
|       "name" => "Solemn Vow",
 | |
|       "verb" => "Solemn Vow kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Busts Busted"),
 | |
|     array(
 | |
|       "code" => "the_maul",
 | |
|       "name" => "Maul",
 | |
|       "verb" => "Maul kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Men Mauled"),
 | |
|     array(
 | |
|       "code" => "the_winger",
 | |
|       "name" => "Winger",
 | |
|       "verb" => "Winger kills",
 | |
|       "modifier" => "1.00",
 | |
|       "award_name" => "Warriors Winged"),
 | |
|     array(
 | |
|       "code" => "tomislav",
 | |
|       "name" => "Tomislav",
 | |
|       "verb" => "Tomislav kills",
 | |
|       "modifier" => "1.00",
 | |
|       "award_name" => "Tomis Tapped"),
 | |
|     array(
 | |
|       "code" => "warfan",
 | |
|       "name" => "Fan O'War",
 | |
|       "verb" => "Fan O'War kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Fans Made"),
 | |
|     array(
 | |
|       "code" => "big_earner",
 | |
|       "name" => "Big Earner",
 | |
|       "verb" => "Big Earner kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Suckers Stuck"),
 | |
|     array(
 | |
|       "code" => "saxxy",
 | |
|       "name" => "Saxxy",
 | |
|       "verb" => "Saxxy kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Hale No"),
 | |
|     array(
 | |
|       "code" => "splendid_screen",
 | |
|       "name" => "Splendid Screen",
 | |
|       "verb" => "Splendid Screen kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Full Speed Ahead"),
 | |
|     array(
 | |
|       "code" => "taunt_soldier_lumbricus",
 | |
|       "name" => "Kamikaze (Lumbricus Lid)",
 | |
|       "verb" => "Kamikaze (Lumbricus Lid) kills",
 | |
|       "modifier" => "5.00",
 | |
|       "award_name" => "Hallelujah!"),
 | |
|     array(
 | |
|       "code" => "nessieclub",
 | |
|       "name" => "Nessie's Nine Iron",
 | |
|       "verb" => "Nessie's Nine Iron kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Hole in One"),
 | |
|     array(
 | |
|       "code" => "mailbox",
 | |
|       "name" => "Postal Pummeler",
 | |
|       "verb" => "Postal Pummeler kills",
 | |
|       "modifier" => "2.00",
 | |
|       "award_name" => "Mail's Here")
 | |
|   );
 | |
|   
 | |
|   foreach ($tfgames as $game)
 | |
|   {
 | |
|   
 | |
|     // Insert new awards
 | |
|     $query = "INSERT IGNORE INTO `hlstats_Awards` (`awardType`, `game`, `code`, `name`, `verb`) VALUES ";
 | |
|     foreach ($weapons as $key => $weapon)
 | |
|     {
 | |
|       $code = $db->escape($weapon['code']);
 | |
|       $award_name = $db->escape($weapon['award_name']);
 | |
|       $verb = $db->escape($weapon['verb']);
 | |
|       $query .= "('W', '$game', '$code', '$award_name', '$verb')" .
 | |
|       // Finish query line -- Check if this is the last index.  If so, add a semi-colon.  Otherwise, colon.
 | |
|       ($key == count($weapons)-1 ? ";" : ",");
 | |
|     }
 | |
|     $db->query($query);
 | |
|     unset($weapon);
 | |
|     unset($query);
 | |
|     
 | |
|     // Insert new weapons
 | |
|     $query = "INSERT IGNORE INTO `hlstats_Weapons` (`game`, `code`, `name`, `modifier`) VALUES ";
 | |
|     foreach ($weapons as $key => $weapon)
 | |
|     {
 | |
|       $code = $db->escape($weapon['code']);
 | |
|       $name = $db->escape($weapon['name']);
 | |
|       $modifier = $db->escape($weapon['modifier']);
 | |
|       $query .= "('$game', '$code', '$name', $modifier)" .
 | |
|       // Finish query line -- Check if this is the last index.  If so, add a semi-colon.  Otherwise, colon.
 | |
|       ($key == count($weapons)-1 ? ";" : ",");      
 | |
|     }
 | |
|     $db->query($query);
 | |
|     unset($weapon);
 | |
|     unset($query);
 | |
|     
 | |
|     // Insert new ribbons
 | |
|     $query = "INSERT IGNORE INTO `hlstats_Ribbons` (`awardCode`, `awardCount`, `special`, `game`, `image`, `ribbonName`) VALUES ";
 | |
|     foreach ($weapons as $key => $weapon)
 | |
|     {
 | |
|       $code = $db->escape($weapon['code']);
 | |
|       $name = $db->escape($weapon['name']);
 | |
|       for ($ribbon_count = 1; $ribbon_count <= 3; $ribbon_count++)
 | |
|       {
 | |
|         switch ($ribbon_count) {
 | |
|           case 1:
 | |
|             $color = "Bronze";
 | |
|             $award_count = 1;
 | |
|             break;
 | |
|           case 2:
 | |
|             $color = "Silver";
 | |
|             $award_count = 5;
 | |
|             break;
 | |
|           case 3:
 | |
|             $color = "Gold";
 | |
|             $award_count = 10;
 | |
|             break;
 | |
|         }    
 | |
|         $query .= "('$code', $award_count, 0, '$game', '" . $ribbon_count . "_" . $code . ".png', '$color $name')" .
 | |
|           // Finish query line -- Check if this is the last index.  If so, add a semi-colon.  Otherwise, colon.
 | |
|           ($key == count($weapons)-1 && $ribbon_count == 3 ? ";" : ",");
 | |
|       }
 | |
|     }
 | |
|     $db->query($query);
 | |
|     unset($weapon);
 | |
|     unset($query);
 | |
|     
 | |
|     // Update kill count for new weapons
 | |
|     $tfservers = array();
 | |
|     
 | |
|     $result = $db->query("SELECT serverId FROM hlstats_Servers WHERE game = '$game'");
 | |
|     while ($rowdata = $db->fetch_row($result))
 | |
|     { 
 | |
|       array_push($tfservers, $db->escape($rowdata[0]));
 | |
|     }
 | |
|     if (count($tfservers) > 0)
 | |
|     {
 | |
|       $serverstring = implode (',', $tfservers);
 | |
|       foreach ($weapons as $weapon) {
 | |
|         $code = $db->escape($weapon['code']);
 | |
|         $db->query("UPDATE hlstats_Weapons SET `kills` = `kills` + (IFNULL((SELECT count(weapon) FROM hlstats_Events_Frags WHERE `weapon` = '$code' AND `serverId` IN ($serverstring)),0)) WHERE `code` = '$code' AND `game` = '$game'");
 | |
|       }
 | |
|       unset($weapon);
 | |
|     }
 | |
|   }
 | |
|   
 | |
|   // Tracker #1421 - End
 | |
|   
 | |
|   
 | |
|   // Tracker #1423 - Update weapon names in TF2
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Grenade Launcher' WHERE `code` = 'tf_projectile_pipe' AND `name` = 'Pipe'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Rocket Launcher' WHERE `code` = 'tf_projectile_rocket' AND `name` = 'Rocket'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Kukri' WHERE `code` = 'club' AND `name` = 'Club'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Organ Grinder' WHERE `code` = 'robot_arm_blender_kill' AND `name` = 'Engineer Taunt (Gunslinger)'");    
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Decapitation' WHERE `code` = 'taunt_demoman' AND `name` = 'Demoman Taunt'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Dischord' WHERE `code` = 'taunt_guitar_kill' AND `name` = 'Engineer Taunt (Guitar)'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Showdown' WHERE `code` = 'taunt_heavy' AND `name` = 'Heavy taunt'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Spinal Tap' WHERE `code` = 'taunt_medic' AND `name` = 'Medic Taunt'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Home Run' WHERE `code` = 'taunt_scout' AND `name` = 'Grand Slam'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Skewer' WHERE `code` = 'taunt_sniper' AND `name` = 'Sniper Taunt'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Kamikaze' WHERE `code` = 'taunt_soldier' AND `name` = 'Soldier Taunt'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Fencing' WHERE `code` = 'taunt_spy' AND `name` = 'Spy Taunt'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Stickybomb Launcher' WHERE `code` = 'tf_projectile_pipe_remote' AND `name` = 'Remote Pipe'");
 | |
|   $db->query("UPDATE hlstats_Weapons SET `name` = 'Flamethower' WHERE `code` = 'flamethrower' AND `name` = 'Flame'");
 | |
|   // Tracker #1423 - End
 | |
|   
 | |
|   // Tracker #1397 - Add an extinguished teammate for scout action
 | |
|   foreach ($tfgames as $game)
 | |
|   {
 | |
| 			$db->query("INSERT IGNORE INTO `hlstats_Actions` (`game`, `code`, `reward_player`, `reward_team`, `team`, `description`, `for_PlayerActions`, `for_PlayerPlayerActions`, `for_TeamActions`, `for_WorldActions`) VALUES ('$game', 'scout_extinguish', 1, 0, '', 'Extinguished Teammate (Scout)', '1', '', '', '');");
 | |
|       $db->query("INSERT IGNORE INTO `hlstats_Awards` (`awardType`, `game`, `code`, `name`, `verb`) VALUES ('O','$game','scout_extinguish', 'Milk - does a body good', 'extinguishes with Mad Milk');");
 | |
|       $db->query("INSERT IGNORE INTO `hlstats_Ribbons` (`awardCode`, `awardCount`, `special`, `game`, `image`, `ribbonName`) VALUES 
 | |
|         ('scout_extinguish', 1, 0, '$game', '1_scout_extinguish.png', 'Bronze Scout Extinguish'),
 | |
|         ('scout_extinguish', 5, 0, '$game', '2_scout_extinguish.png', 'Silver Scout Extinguish'),
 | |
|         ('scout_extinguish', 10, 0, '$game', '3_scout_extinguish.png', 'Gold Scout Extinguish');
 | |
|       ");
 | |
|   }
 | |
|   
 | |
|   // Tracker #1397 - End
 | |
|   $db->query("UPDATE hlstats_Options SET `value` = '$version' WHERE `keyname` = 'version'");
 | |
|   $db->query("UPDATE hlstats_Options SET `value` = '$dbversion' WHERE `keyname` = 'dbversion'");
 | |
| ?>
 |