Core/Items: Add loot scaling support
This commit is contained in:
@@ -339,7 +339,7 @@ namespace Framework.Constants
|
|||||||
RepairCostMuliplier = 10,
|
RepairCostMuliplier = 10,
|
||||||
ScalingStatDistribution = 11,
|
ScalingStatDistribution = 11,
|
||||||
DisenchantLootId = 12,
|
DisenchantLootId = 12,
|
||||||
ScalingStatDistribution2 = 13,
|
ScalingStatDistributionFixed = 13,
|
||||||
ItemLevelCanIncrease = 14, // Displays a + next to item level indicating it can warforge
|
ItemLevelCanIncrease = 14, // Displays a + next to item level indicating it can warforge
|
||||||
RandomEnchantment = 15, // Responsible for showing "<Random additional stats>" or "+%d Rank Random Minor Trait" in the tooltip before item is obtained
|
RandomEnchantment = 15, // Responsible for showing "<Random additional stats>" or "+%d Rank Random Minor Trait" in the tooltip before item is obtained
|
||||||
Bounding = 16,
|
Bounding = 16,
|
||||||
|
|||||||
@@ -543,7 +543,7 @@ namespace Game
|
|||||||
if (quality != 0xffffffff && (uint)proto.GetQuality() != quality)
|
if (quality != 0xffffffff && (uint)proto.GetQuality() != quality)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (levelmin != 0 && (proto.GetBaseRequiredLevel() < levelmin || (levelmax != 0x00 && proto.GetBaseRequiredLevel() > levelmax)))
|
if (levelmin != 0 && (item.GetRequiredLevel() < levelmin || (levelmax != 0 && item.GetRequiredLevel() > levelmax)))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (usable && player.CanUseItem(item) != InventoryResult.Ok)
|
if (usable && player.CanUseItem(item) != InventoryResult.Ok)
|
||||||
|
|||||||
@@ -429,18 +429,6 @@ namespace Game.Entities
|
|||||||
|
|
||||||
SetUInt32Value(ItemFields.Flags, itemFlags);
|
SetUInt32Value(ItemFields.Flags, itemFlags);
|
||||||
|
|
||||||
_LoadIntoDataField(fields.Read<string>(8), (uint)ItemFields.Enchantment, (uint)EnchantmentSlot.Max * (uint)EnchantmentOffset.Max);
|
|
||||||
m_randomEnchantment.Type = (ItemRandomEnchantmentType)fields.Read<byte>(9);
|
|
||||||
m_randomEnchantment.Id = fields.Read<uint>(10);
|
|
||||||
if (m_randomEnchantment.Type == ItemRandomEnchantmentType.Property)
|
|
||||||
SetUInt32Value(ItemFields.RandomPropertiesId, m_randomEnchantment.Id);
|
|
||||||
else if (m_randomEnchantment.Type == ItemRandomEnchantmentType.Suffix)
|
|
||||||
{
|
|
||||||
SetInt32Value(ItemFields.RandomPropertiesId, -(int)m_randomEnchantment.Id);
|
|
||||||
// recalculate suffix factor
|
|
||||||
UpdateItemSuffixFactor();
|
|
||||||
}
|
|
||||||
|
|
||||||
uint durability = fields.Read<uint>(11);
|
uint durability = fields.Read<uint>(11);
|
||||||
SetUInt32Value(ItemFields.Durability, durability);
|
SetUInt32Value(ItemFields.Durability, durability);
|
||||||
// update max durability (and durability) if need
|
// update max durability (and durability) if need
|
||||||
@@ -518,6 +506,19 @@ namespace Game.Entities
|
|||||||
SetModifier(ItemModifier.ScalingStatDistributionFixedLevel, fields.Read<uint>(43));
|
SetModifier(ItemModifier.ScalingStatDistributionFixedLevel, fields.Read<uint>(43));
|
||||||
SetModifier(ItemModifier.ArtifactKnowledgeLevel, fields.Read<uint>(44));
|
SetModifier(ItemModifier.ArtifactKnowledgeLevel, fields.Read<uint>(44));
|
||||||
|
|
||||||
|
// Enchants must be loaded after all other bonus/scaling data
|
||||||
|
_LoadIntoDataField(fields.Read<string>(8), (uint)ItemFields.Enchantment, (uint)EnchantmentSlot.Max * (uint)EnchantmentOffset.Max);
|
||||||
|
m_randomEnchantment.Type = (ItemRandomEnchantmentType)fields.Read<byte>(9);
|
||||||
|
m_randomEnchantment.Id = fields.Read<uint>(10);
|
||||||
|
if (m_randomEnchantment.Type == ItemRandomEnchantmentType.Property)
|
||||||
|
SetUInt32Value(ItemFields.RandomPropertiesId, m_randomEnchantment.Id);
|
||||||
|
else if (m_randomEnchantment.Type == ItemRandomEnchantmentType.Suffix)
|
||||||
|
{
|
||||||
|
SetInt32Value(ItemFields.RandomPropertiesId, -(int)m_randomEnchantment.Id);
|
||||||
|
// recalculate suffix factor
|
||||||
|
UpdateItemSuffixFactor();
|
||||||
|
}
|
||||||
|
|
||||||
// Remove bind flag for items vs NO_BIND set
|
// Remove bind flag for items vs NO_BIND set
|
||||||
if (IsSoulBound() && GetBonding() == ItemBondingType.None)
|
if (IsSoulBound() && GetBonding() == ItemBondingType.None)
|
||||||
{
|
{
|
||||||
@@ -699,9 +700,19 @@ namespace Game.Entities
|
|||||||
|
|
||||||
void UpdateItemSuffixFactor()
|
void UpdateItemSuffixFactor()
|
||||||
{
|
{
|
||||||
uint suffixFactor = ItemEnchantment.GenerateEnchSuffixFactor(GetEntry());
|
if (GetTemplate().GetRandomSuffix() == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
uint suffixFactor = 0;
|
||||||
|
Player owner = GetOwner();
|
||||||
|
if (owner)
|
||||||
|
suffixFactor = ItemEnchantment.GetRandomPropertyPoints(GetItemLevel(owner), GetQuality(), GetTemplate().GetInventoryType(), GetTemplate().GetSubClass());
|
||||||
|
else
|
||||||
|
suffixFactor = ItemEnchantment.GenerateEnchSuffixFactor(GetEntry());
|
||||||
|
|
||||||
if (GetItemSuffixFactor() == suffixFactor)
|
if (GetItemSuffixFactor() == suffixFactor)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SetUInt32Value(ItemFields.PropertySeed, suffixFactor);
|
SetUInt32Value(ItemFields.PropertySeed, suffixFactor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2388,6 +2399,35 @@ namespace Game.Entities
|
|||||||
SetState(ItemUpdateState.Changed, owner);
|
SetState(ItemUpdateState.Changed, owner);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetFixedLevel(uint level)
|
||||||
|
{
|
||||||
|
if (!_bonusData.HasFixedLevel || GetModifier(ItemModifier.ScalingStatDistributionFixedLevel) != 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
ScalingStatDistributionRecord ssd = CliDB.ScalingStatDistributionStorage.LookupByKey(_bonusData.ScalingStatDistribution);
|
||||||
|
if (ssd != null)
|
||||||
|
{
|
||||||
|
level = Math.Min(Math.Max(level, ssd.MinLevel), ssd.MaxLevel);
|
||||||
|
|
||||||
|
SandboxScalingRecord sandbox = CliDB.SandboxScalingStorage.LookupByKey(_bonusData.SandboxScalingId);
|
||||||
|
if (sandbox != null)
|
||||||
|
if ((sandbox.Flags.HasAnyFlag(2u) || sandbox.MinLevel != 0 || sandbox.MaxLevel != 0) && !sandbox.Flags.HasAnyFlag(4u))
|
||||||
|
level = Math.Min(Math.Max(level, sandbox.MinLevel), sandbox.MaxLevel);
|
||||||
|
|
||||||
|
SetModifier(ItemModifier.ScalingStatDistributionFixedLevel, level);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int GetRequiredLevel()
|
||||||
|
{
|
||||||
|
if (_bonusData.RequiredLevelOverride != 0)
|
||||||
|
return _bonusData.RequiredLevelOverride;
|
||||||
|
else if (_bonusData.HasFixedLevel)
|
||||||
|
return (int)GetModifier(ItemModifier.ScalingStatDistributionFixedLevel);
|
||||||
|
else
|
||||||
|
return _bonusData.RequiredLevel;
|
||||||
|
}
|
||||||
|
|
||||||
public static void AddItemsSetItem(Player player, Item item)
|
public static void AddItemsSetItem(Player player, Item item)
|
||||||
{
|
{
|
||||||
ItemTemplate proto = item.GetTemplate();
|
ItemTemplate proto = item.GetTemplate();
|
||||||
@@ -2582,7 +2622,6 @@ namespace Game.Entities
|
|||||||
public bool IsConjuredConsumable() { return GetTemplate().IsConjuredConsumable(); }
|
public bool IsConjuredConsumable() { return GetTemplate().IsConjuredConsumable(); }
|
||||||
public bool IsRangedWeapon() { return GetTemplate().IsRangedWeapon(); }
|
public bool IsRangedWeapon() { return GetTemplate().IsRangedWeapon(); }
|
||||||
public ItemQuality GetQuality() { return _bonusData.Quality; }
|
public ItemQuality GetQuality() { return _bonusData.Quality; }
|
||||||
public int GetRequiredLevel() { return _bonusData.RequiredLevel; }
|
|
||||||
public int GetItemStatType(uint index)
|
public int GetItemStatType(uint index)
|
||||||
{
|
{
|
||||||
Contract.Assert(index < ItemConst.MaxStats);
|
Contract.Assert(index < ItemConst.MaxStats);
|
||||||
@@ -2793,6 +2832,8 @@ namespace Game.Entities
|
|||||||
ScalingStatDistribution = proto.GetScalingStatDistribution();
|
ScalingStatDistribution = proto.GetScalingStatDistribution();
|
||||||
RelicType = -1;
|
RelicType = -1;
|
||||||
HasItemLevelBonus = false;
|
HasItemLevelBonus = false;
|
||||||
|
HasFixedLevel = false;
|
||||||
|
RequiredLevelOverride = 0;
|
||||||
|
|
||||||
_state.AppearanceModPriority = int.MaxValue;
|
_state.AppearanceModPriority = int.MaxValue;
|
||||||
_state.ScalingStatDistributionPriority = int.MaxValue;
|
_state.ScalingStatDistributionPriority = int.MaxValue;
|
||||||
@@ -2873,12 +2914,13 @@ namespace Game.Entities
|
|||||||
RepairCostMultiplier *= Convert.ToSingle(values[0]) * 0.01f;
|
RepairCostMultiplier *= Convert.ToSingle(values[0]) * 0.01f;
|
||||||
break;
|
break;
|
||||||
case ItemBonusType.ScalingStatDistribution:
|
case ItemBonusType.ScalingStatDistribution:
|
||||||
case ItemBonusType.ScalingStatDistribution2:
|
case ItemBonusType.ScalingStatDistributionFixed:
|
||||||
if (values[1] < _state.ScalingStatDistributionPriority)
|
if (values[1] < _state.ScalingStatDistributionPriority)
|
||||||
{
|
{
|
||||||
ScalingStatDistribution = (uint)values[0];
|
ScalingStatDistribution = (uint)values[0];
|
||||||
SandboxScalingId = (uint)values[2];
|
SandboxScalingId = (uint)values[2];
|
||||||
_state.ScalingStatDistributionPriority = values[1];
|
_state.ScalingStatDistributionPriority = values[1];
|
||||||
|
HasFixedLevel = type == ItemBonusType.ScalingStatDistributionFixed;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ItemBonusType.Bounding:
|
case ItemBonusType.Bounding:
|
||||||
@@ -2888,7 +2930,7 @@ namespace Game.Entities
|
|||||||
RelicType = values[0];
|
RelicType = values[0];
|
||||||
break;
|
break;
|
||||||
case ItemBonusType.OverrideRequiredLevel:
|
case ItemBonusType.OverrideRequiredLevel:
|
||||||
RequiredLevel = values[0];
|
RequiredLevelOverride = values[0];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2911,7 +2953,9 @@ namespace Game.Entities
|
|||||||
public int[] GemRelicType = new int[ItemConst.MaxGemSockets];
|
public int[] GemRelicType = new int[ItemConst.MaxGemSockets];
|
||||||
public ushort[] GemRelicRankBonus = new ushort[ItemConst.MaxGemSockets];
|
public ushort[] GemRelicRankBonus = new ushort[ItemConst.MaxGemSockets];
|
||||||
public int RelicType;
|
public int RelicType;
|
||||||
|
public int RequiredLevelOverride;
|
||||||
public bool HasItemLevelBonus;
|
public bool HasItemLevelBonus;
|
||||||
|
public bool HasFixedLevel;
|
||||||
State _state;
|
State _state;
|
||||||
|
|
||||||
struct State
|
struct State
|
||||||
|
|||||||
@@ -1274,7 +1274,6 @@ namespace Game.Entities
|
|||||||
UpdateCriteria(CriteriaTypes.OwnItem, itemId, 1);
|
UpdateCriteria(CriteriaTypes.OwnItem, itemId, 1);
|
||||||
|
|
||||||
item.SetFlag(ItemFields.Flags, ItemFieldFlags.NewItem);
|
item.SetFlag(ItemFields.Flags, ItemFieldFlags.NewItem);
|
||||||
item.SetItemRandomProperties(randomPropertyId);
|
|
||||||
|
|
||||||
uint upgradeID = Global.DB2Mgr.GetRulesetItemUpgrade(itemId);
|
uint upgradeID = Global.DB2Mgr.GetRulesetItemUpgrade(itemId);
|
||||||
if (upgradeID != 0)
|
if (upgradeID != 0)
|
||||||
@@ -1289,6 +1288,9 @@ namespace Game.Entities
|
|||||||
|
|
||||||
item = StoreItem(pos, item, update);
|
item = StoreItem(pos, item, update);
|
||||||
|
|
||||||
|
item.SetFixedLevel(getLevel());
|
||||||
|
item.SetItemRandomProperties(randomPropertyId);
|
||||||
|
|
||||||
if (allowedLooters != null && allowedLooters.Count > 1 && item.GetTemplate().GetMaxStackSize() == 1 && item.IsSoulBound())
|
if (allowedLooters != null && allowedLooters.Count > 1 && item.GetTemplate().GetMaxStackSize() == 1 && item.IsSoulBound())
|
||||||
{
|
{
|
||||||
item.SetSoulboundTradeable(allowedLooters);
|
item.SetSoulboundTradeable(allowedLooters);
|
||||||
@@ -1414,6 +1416,9 @@ namespace Game.Entities
|
|||||||
if (pItem.IsBindedNotWith(this))
|
if (pItem.IsBindedNotWith(this))
|
||||||
return InventoryResult.NotOwner;
|
return InventoryResult.NotOwner;
|
||||||
|
|
||||||
|
if (getLevel() < pItem.GetRequiredLevel())
|
||||||
|
return InventoryResult.CantEquipLevelI;
|
||||||
|
|
||||||
InventoryResult res = CanUseItem(pProto);
|
InventoryResult res = CanUseItem(pProto);
|
||||||
if (res != InventoryResult.Ok)
|
if (res != InventoryResult.Ok)
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
@@ -520,9 +520,7 @@ namespace Game
|
|||||||
{
|
{
|
||||||
_player.ModifyMoney(-price);
|
_player.ModifyMoney(-price);
|
||||||
_player.RemoveItemFromBuyBackSlot(packet.Slot, false);
|
_player.RemoveItemFromBuyBackSlot(packet.Slot, false);
|
||||||
_player.ItemAddedQuestCheck(pItem.GetEntry(), pItem.GetCount());
|
_player.MoveItemToInventory(dest, pItem, true);
|
||||||
_player.UpdateCriteria(CriteriaTypes.ReceiveEpicItem, pItem.GetEntry(), pItem.GetCount());
|
|
||||||
_player.StoreItem(dest, pItem, true);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_player.SendEquipError(msg, pItem);
|
_player.SendEquipError(msg, pItem);
|
||||||
|
|||||||
@@ -3562,7 +3562,8 @@ INSERT INTO `updates` VALUES
|
|||||||
('2018_02_03_00_characters.sql','73E9BFD848D7A22F2A7DD89CF64E30E3A8689512','ARCHIVED','2018-02-03 23:52:42',0),
|
('2018_02_03_00_characters.sql','73E9BFD848D7A22F2A7DD89CF64E30E3A8689512','ARCHIVED','2018-02-03 23:52:42',0),
|
||||||
('2018_02_08_00_characters.sql','75FA162A9B85D678B26F972371265F1EC2C75187','ARCHIVED','2018-02-08 22:23:28',0),
|
('2018_02_08_00_characters.sql','75FA162A9B85D678B26F972371265F1EC2C75187','ARCHIVED','2018-02-08 22:23:28',0),
|
||||||
('2018_02_19_00_characters.sql','75A0FFAFD0633921708DB0F72F9CC9796ACB960B','RELEASED','2018-02-19 22:33:32',117),
|
('2018_02_19_00_characters.sql','75A0FFAFD0633921708DB0F72F9CC9796ACB960B','RELEASED','2018-02-19 22:33:32',117),
|
||||||
('2018_03_04_00_characters.sql','2A4CD2EE2547E718490706FADC78BF36F0DED8D6','RELEASED','2018-03-04 18:15:24',0);
|
('2018_03_04_00_characters.sql','2A4CD2EE2547E718490706FADC78BF36F0DED8D6','RELEASED','2018-03-04 18:15:24',0),
|
||||||
|
('2018_04_28_00_characters.sql','CBD0FDC0F32DE3F456F7CE3D9CAD6933CD6A50F5','RELEASED','2018-04-28 12:44:09',0);
|
||||||
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,803 @@
|
|||||||
|
-- Setup temporary table with list of fixed-scaling item bonuses, and their scaling limits
|
||||||
|
DROP TABLE IF EXISTS `tmp_scale_data`;
|
||||||
|
CREATE TEMPORARY TABLE `tmp_scale_data` (
|
||||||
|
`BonusListID` int(10) unsigned NOT NULL,
|
||||||
|
`MinLevel` int(10) unsigned NOT NULL,
|
||||||
|
`MaxLevel` int(10) unsigned NOT NULL,
|
||||||
|
PRIMARY KEY (`BonusListID`)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
INSERT INTO `tmp_scale_data` (`BonusListID`, `MinLevel`, `MaxLevel`) VALUES
|
||||||
|
(615,1,110),
|
||||||
|
(645,1,110),
|
||||||
|
(656,1,110),
|
||||||
|
(664,98,110),
|
||||||
|
(692,1,110),
|
||||||
|
(767,98,110),
|
||||||
|
(768,98,110),
|
||||||
|
(1723,0,110),
|
||||||
|
(1724,0,110),
|
||||||
|
(1725,0,110),
|
||||||
|
(1729,0,110),
|
||||||
|
(1730,0,110),
|
||||||
|
(1731,0,110),
|
||||||
|
(1732,98,110),
|
||||||
|
(1733,98,110),
|
||||||
|
(1734,0,110),
|
||||||
|
(1735,0,110),
|
||||||
|
(1736,0,110),
|
||||||
|
(1737,0,110),
|
||||||
|
(1738,0,110),
|
||||||
|
(1739,0,110),
|
||||||
|
(1740,0,110),
|
||||||
|
(1741,0,110),
|
||||||
|
(1788,0,110),
|
||||||
|
(1789,0,110),
|
||||||
|
(1790,0,110),
|
||||||
|
(1791,0,110),
|
||||||
|
(1792,0,110),
|
||||||
|
(1793,0,110),
|
||||||
|
(1794,98,110),
|
||||||
|
(1795,0,110),
|
||||||
|
(1796,0,110),
|
||||||
|
(1812,98,110),
|
||||||
|
(3342,98,110),
|
||||||
|
(3380,0,110),
|
||||||
|
(3387,1,100),
|
||||||
|
(3388,1,100),
|
||||||
|
(3389,1,100),
|
||||||
|
(3398,0,110),
|
||||||
|
(3448,0,110),
|
||||||
|
(3502,1,110),
|
||||||
|
(3578,1,110),
|
||||||
|
(3585,1,110),
|
||||||
|
(3589,1,110),
|
||||||
|
(3590,1,110),
|
||||||
|
(3596,1,110),
|
||||||
|
(3621,1,110),
|
||||||
|
(3622,1,110),
|
||||||
|
(3623,1,110),
|
||||||
|
(3624,1,110),
|
||||||
|
(3625,1,110),
|
||||||
|
(3626,1,110),
|
||||||
|
(3627,1,110),
|
||||||
|
(3628,1,110),
|
||||||
|
(3631,0,120),
|
||||||
|
(3633,10,60),
|
||||||
|
(3634,10,60),
|
||||||
|
(3635,10,60),
|
||||||
|
(3636,10,60),
|
||||||
|
(3637,10,60),
|
||||||
|
(3638,10,60),
|
||||||
|
(3639,10,60),
|
||||||
|
(3640,10,60),
|
||||||
|
(3641,15,60),
|
||||||
|
(3642,15,60),
|
||||||
|
(3643,15,60),
|
||||||
|
(3644,20,60),
|
||||||
|
(3645,20,60),
|
||||||
|
(3646,20,60),
|
||||||
|
(3647,25,60),
|
||||||
|
(3648,25,60),
|
||||||
|
(3649,25,60),
|
||||||
|
(3650,30,60),
|
||||||
|
(3651,30,60),
|
||||||
|
(3652,40,60),
|
||||||
|
(3653,35,60),
|
||||||
|
(3654,35,60),
|
||||||
|
(3655,30,60),
|
||||||
|
(3656,35,60),
|
||||||
|
(3657,40,60),
|
||||||
|
(3658,40,60),
|
||||||
|
(3659,40,60),
|
||||||
|
(3660,40,60),
|
||||||
|
(3661,40,60),
|
||||||
|
(3662,40,60),
|
||||||
|
(3663,40,60),
|
||||||
|
(3664,40,60),
|
||||||
|
(3665,40,60),
|
||||||
|
(3666,40,60),
|
||||||
|
(3667,40,60),
|
||||||
|
(3668,5,20),
|
||||||
|
(3669,4,20),
|
||||||
|
(3670,5,20),
|
||||||
|
(3671,4,20),
|
||||||
|
(3672,5,20),
|
||||||
|
(3673,4,20),
|
||||||
|
(3674,5,20),
|
||||||
|
(3675,5,20),
|
||||||
|
(3676,5,20),
|
||||||
|
(3677,5,20),
|
||||||
|
(3678,5,20),
|
||||||
|
(3679,58,80),
|
||||||
|
(3680,60,80),
|
||||||
|
(3681,62,80),
|
||||||
|
(3682,65,80),
|
||||||
|
(3683,67,80),
|
||||||
|
(3684,67,80),
|
||||||
|
(3685,58,80),
|
||||||
|
(3686,58,80),
|
||||||
|
(3687,61,80),
|
||||||
|
(3688,63,80),
|
||||||
|
(3689,64,80),
|
||||||
|
(3690,66,80),
|
||||||
|
(3691,67,80),
|
||||||
|
(3692,67,80),
|
||||||
|
(3693,80,90),
|
||||||
|
(3694,80,90),
|
||||||
|
(3695,82,90),
|
||||||
|
(3696,83,90),
|
||||||
|
(3697,84,90),
|
||||||
|
(3698,80,90),
|
||||||
|
(3699,81,90),
|
||||||
|
(3700,81,90),
|
||||||
|
(3701,82,90),
|
||||||
|
(3702,83,90),
|
||||||
|
(3703,84,90),
|
||||||
|
(3704,85,90),
|
||||||
|
(3705,90,100),
|
||||||
|
(3706,90,100),
|
||||||
|
(3707,94,100),
|
||||||
|
(3708,92,100),
|
||||||
|
(3709,96,100),
|
||||||
|
(3710,98,100),
|
||||||
|
(3711,90,100),
|
||||||
|
(3712,10,60),
|
||||||
|
(3713,10,60),
|
||||||
|
(3714,10,60),
|
||||||
|
(3715,10,60),
|
||||||
|
(3716,10,60),
|
||||||
|
(3717,10,60),
|
||||||
|
(3718,10,60),
|
||||||
|
(3719,10,60),
|
||||||
|
(3720,15,60),
|
||||||
|
(3721,15,60),
|
||||||
|
(3722,15,60),
|
||||||
|
(3723,20,60),
|
||||||
|
(3724,20,60),
|
||||||
|
(3725,20,60),
|
||||||
|
(3726,25,60),
|
||||||
|
(3727,25,60),
|
||||||
|
(3728,25,60),
|
||||||
|
(3729,30,60),
|
||||||
|
(3730,30,60),
|
||||||
|
(3731,40,60),
|
||||||
|
(3732,35,60),
|
||||||
|
(3733,35,60),
|
||||||
|
(3734,30,60),
|
||||||
|
(3735,35,60),
|
||||||
|
(3736,40,60),
|
||||||
|
(3737,40,60),
|
||||||
|
(3738,40,60),
|
||||||
|
(3739,40,60),
|
||||||
|
(3740,40,60),
|
||||||
|
(3741,40,60),
|
||||||
|
(3742,40,60),
|
||||||
|
(3743,40,60),
|
||||||
|
(3744,40,60),
|
||||||
|
(3745,40,60),
|
||||||
|
(3746,40,60),
|
||||||
|
(3747,5,20),
|
||||||
|
(3748,4,20),
|
||||||
|
(3749,5,20),
|
||||||
|
(3750,4,20),
|
||||||
|
(3751,5,20),
|
||||||
|
(3752,4,20),
|
||||||
|
(3753,5,20),
|
||||||
|
(3754,5,20),
|
||||||
|
(3755,5,20),
|
||||||
|
(3756,5,20),
|
||||||
|
(3757,5,20),
|
||||||
|
(3758,58,80),
|
||||||
|
(3759,60,80),
|
||||||
|
(3760,62,80),
|
||||||
|
(3761,65,80),
|
||||||
|
(3762,67,80),
|
||||||
|
(3763,67,80),
|
||||||
|
(3764,58,80),
|
||||||
|
(3765,58,80),
|
||||||
|
(3766,61,80),
|
||||||
|
(3767,63,80),
|
||||||
|
(3768,64,80),
|
||||||
|
(3769,66,80),
|
||||||
|
(3770,67,80),
|
||||||
|
(3771,67,80),
|
||||||
|
(3772,80,90),
|
||||||
|
(3773,80,90),
|
||||||
|
(3774,82,90),
|
||||||
|
(3775,83,90),
|
||||||
|
(3776,84,90),
|
||||||
|
(3777,85,90),
|
||||||
|
(3778,81,90),
|
||||||
|
(3779,81,90),
|
||||||
|
(3780,82,90),
|
||||||
|
(3781,83,90),
|
||||||
|
(3782,84,90),
|
||||||
|
(3783,85,90),
|
||||||
|
(3784,90,100),
|
||||||
|
(3785,90,100),
|
||||||
|
(3786,94,100),
|
||||||
|
(3787,92,100),
|
||||||
|
(3788,96,100),
|
||||||
|
(3789,98,100),
|
||||||
|
(3790,90,100),
|
||||||
|
(3791,64,80),
|
||||||
|
(3792,64,80),
|
||||||
|
(3793,5,20),
|
||||||
|
(3794,4,20),
|
||||||
|
(3795,5,20),
|
||||||
|
(3796,4,20),
|
||||||
|
(3797,5,20),
|
||||||
|
(3798,4,20),
|
||||||
|
(3799,0,120),
|
||||||
|
(3800,5,20),
|
||||||
|
(3801,5,20),
|
||||||
|
(3802,5,20),
|
||||||
|
(3803,5,20),
|
||||||
|
(3804,67,80),
|
||||||
|
(3805,84,90),
|
||||||
|
(3806,83,90),
|
||||||
|
(3807,0,120),
|
||||||
|
(3808,0,120),
|
||||||
|
(3809,0,120),
|
||||||
|
(3810,0,120),
|
||||||
|
(3811,0,120),
|
||||||
|
(3812,0,120),
|
||||||
|
(3813,0,120),
|
||||||
|
(3814,0,120),
|
||||||
|
(3815,0,120),
|
||||||
|
(3816,0,120),
|
||||||
|
(3817,0,120),
|
||||||
|
(3818,0,120),
|
||||||
|
(3819,0,120),
|
||||||
|
(3820,85,90),
|
||||||
|
(3821,85,90),
|
||||||
|
(3823,40,60),
|
||||||
|
(3828,0,120),
|
||||||
|
(3829,0,120),
|
||||||
|
(3830,0,120),
|
||||||
|
(3831,0,120),
|
||||||
|
(3832,0,120),
|
||||||
|
(3833,0,120),
|
||||||
|
(3834,0,120),
|
||||||
|
(3835,0,120),
|
||||||
|
(3836,0,120),
|
||||||
|
(3837,0,120),
|
||||||
|
(3838,0,120),
|
||||||
|
(3839,0,120),
|
||||||
|
(3840,0,120),
|
||||||
|
(3841,0,120),
|
||||||
|
(3842,0,120),
|
||||||
|
(3843,0,120),
|
||||||
|
(3844,0,120),
|
||||||
|
(3845,0,120),
|
||||||
|
(3846,0,120),
|
||||||
|
(3847,0,120),
|
||||||
|
(3848,0,120),
|
||||||
|
(3849,0,120),
|
||||||
|
(3850,0,120),
|
||||||
|
(3851,0,120),
|
||||||
|
(3852,0,120),
|
||||||
|
(3853,0,120),
|
||||||
|
(3854,0,120),
|
||||||
|
(3855,0,120),
|
||||||
|
(3856,0,120),
|
||||||
|
(3857,0,120),
|
||||||
|
(3858,0,120),
|
||||||
|
(3859,0,120),
|
||||||
|
(3860,0,120),
|
||||||
|
(3861,0,120),
|
||||||
|
(3862,0,120),
|
||||||
|
(3863,0,120),
|
||||||
|
(3864,0,120),
|
||||||
|
(3865,0,120),
|
||||||
|
(3866,0,120),
|
||||||
|
(3867,0,120),
|
||||||
|
(3868,0,120),
|
||||||
|
(3869,0,120),
|
||||||
|
(3870,0,120),
|
||||||
|
(3871,0,120),
|
||||||
|
(3872,0,120),
|
||||||
|
(3873,0,120),
|
||||||
|
(3874,0,120),
|
||||||
|
(3875,0,120),
|
||||||
|
(3876,0,120),
|
||||||
|
(3877,0,120),
|
||||||
|
(3878,0,120),
|
||||||
|
(3879,0,120),
|
||||||
|
(3880,0,120),
|
||||||
|
(3881,0,120),
|
||||||
|
(3882,0,120),
|
||||||
|
(3883,0,120),
|
||||||
|
(3884,0,120),
|
||||||
|
(3885,0,120),
|
||||||
|
(3886,0,120),
|
||||||
|
(3887,0,120),
|
||||||
|
(3888,0,120),
|
||||||
|
(3889,0,120),
|
||||||
|
(3890,0,120),
|
||||||
|
(3891,0,120),
|
||||||
|
(3892,0,120),
|
||||||
|
(3893,0,120),
|
||||||
|
(3894,0,120),
|
||||||
|
(3895,0,120),
|
||||||
|
(3896,0,120),
|
||||||
|
(3897,0,120),
|
||||||
|
(3898,0,120),
|
||||||
|
(3899,0,120),
|
||||||
|
(3900,0,120),
|
||||||
|
(3901,0,120),
|
||||||
|
(3902,0,120),
|
||||||
|
(3903,0,120),
|
||||||
|
(3904,0,120),
|
||||||
|
(3905,0,120),
|
||||||
|
(3906,0,120),
|
||||||
|
(3907,0,120),
|
||||||
|
(3908,0,120),
|
||||||
|
(3909,0,120),
|
||||||
|
(3910,0,120),
|
||||||
|
(3911,0,120),
|
||||||
|
(3912,0,120),
|
||||||
|
(3913,0,120),
|
||||||
|
(3914,0,120),
|
||||||
|
(3915,0,120),
|
||||||
|
(3916,0,120),
|
||||||
|
(3917,0,120),
|
||||||
|
(3918,0,120),
|
||||||
|
(3919,0,120),
|
||||||
|
(3920,0,120),
|
||||||
|
(3921,0,120),
|
||||||
|
(3922,0,120),
|
||||||
|
(3923,0,120),
|
||||||
|
(3924,0,120),
|
||||||
|
(3925,0,120),
|
||||||
|
(3926,0,120),
|
||||||
|
(3927,0,120),
|
||||||
|
(3928,0,120),
|
||||||
|
(3929,0,120),
|
||||||
|
(3930,0,120),
|
||||||
|
(3931,0,120),
|
||||||
|
(3932,0,120),
|
||||||
|
(3933,0,120),
|
||||||
|
(3934,0,120),
|
||||||
|
(3935,0,120),
|
||||||
|
(3936,0,120),
|
||||||
|
(3937,0,120),
|
||||||
|
(3938,0,120),
|
||||||
|
(3939,0,120),
|
||||||
|
(3940,0,120),
|
||||||
|
(3941,0,120),
|
||||||
|
(3942,0,120),
|
||||||
|
(3943,0,120),
|
||||||
|
(3944,0,120),
|
||||||
|
(3945,0,120),
|
||||||
|
(3946,0,120),
|
||||||
|
(3947,0,120),
|
||||||
|
(3948,0,120),
|
||||||
|
(3949,0,120),
|
||||||
|
(3950,0,120),
|
||||||
|
(3951,0,120),
|
||||||
|
(3952,0,120),
|
||||||
|
(3953,0,120),
|
||||||
|
(3954,0,120),
|
||||||
|
(3955,0,120),
|
||||||
|
(3956,0,120),
|
||||||
|
(3957,0,120),
|
||||||
|
(3958,0,120),
|
||||||
|
(3959,0,120),
|
||||||
|
(3960,0,120),
|
||||||
|
(3961,0,120),
|
||||||
|
(3962,0,120),
|
||||||
|
(3963,0,120),
|
||||||
|
(3964,0,120),
|
||||||
|
(3965,0,120),
|
||||||
|
(3966,0,120),
|
||||||
|
(3967,0,120),
|
||||||
|
(3968,0,120),
|
||||||
|
(3969,0,120),
|
||||||
|
(3970,0,120),
|
||||||
|
(3971,0,120),
|
||||||
|
(3972,0,120),
|
||||||
|
(3973,0,120),
|
||||||
|
(3974,0,120),
|
||||||
|
(3975,0,120),
|
||||||
|
(3976,0,120),
|
||||||
|
(3977,0,120),
|
||||||
|
(3978,0,120),
|
||||||
|
(3979,0,120),
|
||||||
|
(3980,0,120),
|
||||||
|
(3981,0,120),
|
||||||
|
(3982,0,120),
|
||||||
|
(3998,20,60),
|
||||||
|
(3999,47,60),
|
||||||
|
(4000,47,60),
|
||||||
|
(4001,47,60),
|
||||||
|
(4002,20,60),
|
||||||
|
(4003,20,60),
|
||||||
|
(4004,15,60),
|
||||||
|
(4005,15,60),
|
||||||
|
(4006,15,60),
|
||||||
|
(4007,36,60),
|
||||||
|
(4008,36,60),
|
||||||
|
(4009,36,60),
|
||||||
|
(4010,42,60),
|
||||||
|
(4011,42,60),
|
||||||
|
(4012,42,60),
|
||||||
|
(4013,39,60),
|
||||||
|
(4014,39,60),
|
||||||
|
(4015,39,60),
|
||||||
|
(4016,24,60),
|
||||||
|
(4017,24,60),
|
||||||
|
(4018,24,60),
|
||||||
|
(4019,55,60),
|
||||||
|
(4020,55,60),
|
||||||
|
(4021,55,60),
|
||||||
|
(4022,34,60),
|
||||||
|
(4023,34,60),
|
||||||
|
(4024,34,60),
|
||||||
|
(4025,30,60),
|
||||||
|
(4026,30,60),
|
||||||
|
(4027,30,60),
|
||||||
|
(4028,32,60),
|
||||||
|
(4029,32,60),
|
||||||
|
(4030,32,60),
|
||||||
|
(4031,15,60),
|
||||||
|
(4032,15,60),
|
||||||
|
(4033,15,60),
|
||||||
|
(4034,35,60),
|
||||||
|
(4035,35,60),
|
||||||
|
(4036,35,60),
|
||||||
|
(4037,30,60),
|
||||||
|
(4038,30,60),
|
||||||
|
(4039,30,60),
|
||||||
|
(4040,26,60),
|
||||||
|
(4041,26,60),
|
||||||
|
(4042,28,60),
|
||||||
|
(4043,28,60),
|
||||||
|
(4044,28,60),
|
||||||
|
(4045,38,60),
|
||||||
|
(4046,38,60),
|
||||||
|
(4047,38,60),
|
||||||
|
(4048,17,60),
|
||||||
|
(4049,17,60),
|
||||||
|
(4050,17,60),
|
||||||
|
(4051,46,60),
|
||||||
|
(4052,46,60),
|
||||||
|
(4053,46,60),
|
||||||
|
(4054,26,60),
|
||||||
|
(4055,42,60),
|
||||||
|
(4056,42,60),
|
||||||
|
(4057,42,60),
|
||||||
|
(4058,20,60),
|
||||||
|
(4059,20,60),
|
||||||
|
(4060,20,60),
|
||||||
|
(4061,50,60),
|
||||||
|
(4062,50,60),
|
||||||
|
(4063,50,60),
|
||||||
|
(4064,40,60),
|
||||||
|
(4065,40,60),
|
||||||
|
(4066,40,60),
|
||||||
|
(4067,17,60),
|
||||||
|
(4068,17,60),
|
||||||
|
(4069,17,60),
|
||||||
|
(4070,44,60),
|
||||||
|
(4071,44,60),
|
||||||
|
(4072,44,60),
|
||||||
|
(4074,63,80),
|
||||||
|
(4075,63,80),
|
||||||
|
(4076,58,80),
|
||||||
|
(4077,58,80),
|
||||||
|
(4079,68,80),
|
||||||
|
(4080,68,80),
|
||||||
|
(4082,62,80),
|
||||||
|
(4083,62,80),
|
||||||
|
(4085,64,80),
|
||||||
|
(4086,64,80),
|
||||||
|
(4088,65,80),
|
||||||
|
(4089,65,80),
|
||||||
|
(4090,67,80),
|
||||||
|
(4091,67,80),
|
||||||
|
(4092,68,80),
|
||||||
|
(4093,68,80),
|
||||||
|
(4094,68,80),
|
||||||
|
(4095,68,80),
|
||||||
|
(4096,59,80),
|
||||||
|
(4097,59,80),
|
||||||
|
(4098,67,80),
|
||||||
|
(4099,67,80),
|
||||||
|
(4100,67,80),
|
||||||
|
(4101,67,80),
|
||||||
|
(4102,67,80),
|
||||||
|
(4103,67,80),
|
||||||
|
(4104,60,80),
|
||||||
|
(4105,60,80),
|
||||||
|
(4106,67,80),
|
||||||
|
(4107,67,80),
|
||||||
|
(4108,61,80),
|
||||||
|
(4109,61,80),
|
||||||
|
(4110,61,80),
|
||||||
|
(4111,61,80),
|
||||||
|
(4112,60,80),
|
||||||
|
(4113,60,80),
|
||||||
|
(4114,62,80),
|
||||||
|
(4115,62,80),
|
||||||
|
(4116,64,80),
|
||||||
|
(4117,64,80),
|
||||||
|
(4118,67,80),
|
||||||
|
(4119,67,80),
|
||||||
|
(4120,70,80),
|
||||||
|
(4121,70,80),
|
||||||
|
(4122,65,80),
|
||||||
|
(4123,65,80),
|
||||||
|
(4124,70,80),
|
||||||
|
(4125,70,80),
|
||||||
|
(4126,68,80),
|
||||||
|
(4127,68,80),
|
||||||
|
(4128,70,80),
|
||||||
|
(4129,70,80),
|
||||||
|
(4130,59,80),
|
||||||
|
(4131,59,80),
|
||||||
|
(4132,67,80),
|
||||||
|
(4133,67,80),
|
||||||
|
(4134,63,80),
|
||||||
|
(4135,63,80),
|
||||||
|
(4136,68,80),
|
||||||
|
(4137,68,80),
|
||||||
|
(4138,58,80),
|
||||||
|
(4139,58,80),
|
||||||
|
(4140,67,80),
|
||||||
|
(4141,67,80),
|
||||||
|
(4142,80,90),
|
||||||
|
(4143,80,90),
|
||||||
|
(4144,0,120),
|
||||||
|
(4145,0,120),
|
||||||
|
(4146,84,90),
|
||||||
|
(4147,84,90),
|
||||||
|
(4148,84,90),
|
||||||
|
(4149,84,90),
|
||||||
|
(4150,0,120),
|
||||||
|
(4151,0,120),
|
||||||
|
(4152,84,90),
|
||||||
|
(4153,84,90),
|
||||||
|
(4154,81,90),
|
||||||
|
(4155,81,90),
|
||||||
|
(4156,81,90),
|
||||||
|
(4157,81,90),
|
||||||
|
(4158,80,90),
|
||||||
|
(4159,80,90),
|
||||||
|
(4160,0,120),
|
||||||
|
(4161,0,120),
|
||||||
|
(4162,80,90),
|
||||||
|
(4163,80,90),
|
||||||
|
(4164,80,90),
|
||||||
|
(4165,80,90),
|
||||||
|
(4166,83,90),
|
||||||
|
(4167,83,90),
|
||||||
|
(4168,82,90),
|
||||||
|
(4169,82,90),
|
||||||
|
(4170,82,90),
|
||||||
|
(4171,82,90),
|
||||||
|
(4172,83,90),
|
||||||
|
(4173,83,90),
|
||||||
|
(4174,80,90),
|
||||||
|
(4175,80,90),
|
||||||
|
(4176,80,90),
|
||||||
|
(4177,80,90),
|
||||||
|
(4178,94,100),
|
||||||
|
(4179,94,100),
|
||||||
|
(4180,90,100),
|
||||||
|
(4181,90,100),
|
||||||
|
(4182,100,100),
|
||||||
|
(4183,100,100),
|
||||||
|
(4184,92,100),
|
||||||
|
(4185,92,100),
|
||||||
|
(4186,100,100),
|
||||||
|
(4187,100,100),
|
||||||
|
(4188,97,100),
|
||||||
|
(4189,97,100),
|
||||||
|
(4190,100,100),
|
||||||
|
(4191,100,100),
|
||||||
|
(4192,100,100),
|
||||||
|
(4193,100,100),
|
||||||
|
(4194,0,120),
|
||||||
|
(4195,0,120),
|
||||||
|
(4196,0,120),
|
||||||
|
(4197,0,120),
|
||||||
|
(4198,0,120),
|
||||||
|
(4199,0,120),
|
||||||
|
(4200,0,120),
|
||||||
|
(4201,0,120),
|
||||||
|
(4202,0,120),
|
||||||
|
(4204,0,120),
|
||||||
|
(4205,82,90),
|
||||||
|
(4206,84,90),
|
||||||
|
(4207,83,90),
|
||||||
|
(4208,67,80),
|
||||||
|
(4209,81,90),
|
||||||
|
(4210,80,90),
|
||||||
|
(4211,85,90),
|
||||||
|
(4212,85,90),
|
||||||
|
(4214,0,120),
|
||||||
|
(4215,0,120),
|
||||||
|
(4216,0,120),
|
||||||
|
(4217,0,120),
|
||||||
|
(4218,0,120),
|
||||||
|
(4219,0,120),
|
||||||
|
(4220,0,120),
|
||||||
|
(4221,0,120),
|
||||||
|
(4222,0,120),
|
||||||
|
(4223,0,120),
|
||||||
|
(4224,0,120),
|
||||||
|
(4225,0,120),
|
||||||
|
(4226,0,120),
|
||||||
|
(4227,0,120),
|
||||||
|
(4228,0,120),
|
||||||
|
(4229,0,120),
|
||||||
|
(4233,80,90),
|
||||||
|
(4234,80,90),
|
||||||
|
(4235,80,90),
|
||||||
|
(4236,0,120),
|
||||||
|
(4237,0,120),
|
||||||
|
(4238,90,100),
|
||||||
|
(4239,80,90),
|
||||||
|
(4240,0,120),
|
||||||
|
(4241,80,90),
|
||||||
|
(4242,58,80),
|
||||||
|
(4243,58,80),
|
||||||
|
(4244,1,60),
|
||||||
|
(4246,0,120),
|
||||||
|
(4247,0,120),
|
||||||
|
(4248,0,120),
|
||||||
|
(4249,0,120),
|
||||||
|
(4250,0,120),
|
||||||
|
(4251,0,120),
|
||||||
|
(4252,0,120),
|
||||||
|
(4253,0,120),
|
||||||
|
(4254,0,120),
|
||||||
|
(4255,0,120),
|
||||||
|
(4256,0,120),
|
||||||
|
(4257,0,120),
|
||||||
|
(4258,0,120),
|
||||||
|
(4259,0,120),
|
||||||
|
(4260,0,120),
|
||||||
|
(4261,0,120),
|
||||||
|
(4262,0,120),
|
||||||
|
(4263,0,120),
|
||||||
|
(4264,0,120),
|
||||||
|
(4265,0,120),
|
||||||
|
(4266,0,120),
|
||||||
|
(4267,0,120),
|
||||||
|
(4268,0,120),
|
||||||
|
(4269,0,120),
|
||||||
|
(4270,0,120),
|
||||||
|
(4271,0,120),
|
||||||
|
(4272,0,120),
|
||||||
|
(4273,0,120),
|
||||||
|
(4274,0,120),
|
||||||
|
(4275,0,120),
|
||||||
|
(4276,0,120),
|
||||||
|
(4277,0,120),
|
||||||
|
(4278,0,120),
|
||||||
|
(4279,0,120),
|
||||||
|
(4280,0,120),
|
||||||
|
(4281,0,120),
|
||||||
|
(4282,0,120),
|
||||||
|
(4283,0,120),
|
||||||
|
(4284,0,120),
|
||||||
|
(4285,0,120),
|
||||||
|
(4286,0,120),
|
||||||
|
(4287,0,120),
|
||||||
|
(4288,0,120),
|
||||||
|
(4289,0,120),
|
||||||
|
(4290,0,120),
|
||||||
|
(4291,0,120),
|
||||||
|
(4292,0,120),
|
||||||
|
(4293,0,120),
|
||||||
|
(4294,0,120),
|
||||||
|
(4295,0,120),
|
||||||
|
(4296,0,120),
|
||||||
|
(4297,0,120),
|
||||||
|
(4298,0,120),
|
||||||
|
(4299,0,120),
|
||||||
|
(4300,0,120),
|
||||||
|
(4301,0,120),
|
||||||
|
(4302,0,120),
|
||||||
|
(4303,0,120),
|
||||||
|
(4304,0,120),
|
||||||
|
(4305,0,120),
|
||||||
|
(4306,0,120),
|
||||||
|
(4307,0,120),
|
||||||
|
(4308,0,120),
|
||||||
|
(4309,0,120),
|
||||||
|
(4310,0,120),
|
||||||
|
(4311,0,120),
|
||||||
|
(4312,0,120),
|
||||||
|
(4313,0,120),
|
||||||
|
(4314,0,120),
|
||||||
|
(4315,0,120),
|
||||||
|
(4316,0,120),
|
||||||
|
(4317,0,120),
|
||||||
|
(4318,90,100),
|
||||||
|
(4319,90,100),
|
||||||
|
(4320,90,100),
|
||||||
|
(4321,92,100),
|
||||||
|
(4322,92,100),
|
||||||
|
(4323,92,100),
|
||||||
|
(4324,98,100),
|
||||||
|
(4325,98,100),
|
||||||
|
(4326,98,100),
|
||||||
|
(4327,90,100),
|
||||||
|
(4328,90,100),
|
||||||
|
(4329,90,100),
|
||||||
|
(4330,96,100),
|
||||||
|
(4331,96,100),
|
||||||
|
(4332,96,100),
|
||||||
|
(4333,94,100),
|
||||||
|
(4334,94,100),
|
||||||
|
(4335,94,100),
|
||||||
|
(4336,90,100),
|
||||||
|
(4337,90,100),
|
||||||
|
(4338,90,100),
|
||||||
|
(4493,0,120),
|
||||||
|
(4503,0,120),
|
||||||
|
(4738,0,120),
|
||||||
|
(4739,0,120),
|
||||||
|
(4740,0,120),
|
||||||
|
(4741,94,100),
|
||||||
|
(4742,90,100),
|
||||||
|
(4743,100,100),
|
||||||
|
(4744,92,100),
|
||||||
|
(4745,100,100),
|
||||||
|
(4746,90,100),
|
||||||
|
(4747,97,100),
|
||||||
|
(4748,100,100),
|
||||||
|
(4749,100,100),
|
||||||
|
(4750,0,120),
|
||||||
|
(4751,0,120),
|
||||||
|
(4752,0,120),
|
||||||
|
(4753,0,120),
|
||||||
|
(4754,0,120),
|
||||||
|
(4755,0,120),
|
||||||
|
(4756,0,120),
|
||||||
|
(4757,0,120),
|
||||||
|
(4758,0,120),
|
||||||
|
(4759,0,120),
|
||||||
|
(4760,0,120),
|
||||||
|
(4761,0,120),
|
||||||
|
(4762,0,120),
|
||||||
|
(4763,0,120),
|
||||||
|
(4764,0,120),
|
||||||
|
(4765,0,120),
|
||||||
|
(4766,0,120),
|
||||||
|
(4767,0,120),
|
||||||
|
(4768,0,120),
|
||||||
|
(4769,0,120),
|
||||||
|
(4770,0,120),
|
||||||
|
(4771,0,120),
|
||||||
|
(4772,0,120),
|
||||||
|
(4773,0,120),
|
||||||
|
(4774,0,120);
|
||||||
|
|
||||||
|
-- Set fixedScalingLevel to current character level, constrained by DB2 limits in tmp_scale_data
|
||||||
|
-- If item has no owner, it defaults character level to 1
|
||||||
|
-- Items that already have scale data are not modified
|
||||||
|
|
||||||
|
UPDATE character_void_storage vs
|
||||||
|
INNER JOIN tmp_scale_data s ON FIND_IN_SET(s.BonusListID, REPLACE(vs.bonusListIDs, ' ', ','))
|
||||||
|
LEFT JOIN characters c ON c.guid = vs.playerGuid
|
||||||
|
SET fixedScalingLevel = LEAST(GREATEST(IFNULL(c.level, 1), s.MinLevel), s.MaxLevel)
|
||||||
|
WHERE fixedScalingLevel = 0;
|
||||||
|
|
||||||
|
UPDATE item_instance_modifiers SET fixedScalingLevel = (SELECT LEAST(GREATEST(IFNULL(c.level, 1), s.MinLevel), s.MaxLevel)
|
||||||
|
FROM tmp_scale_data s
|
||||||
|
INNER JOIN item_instance i ON FIND_IN_SET(s.BonusListID, REPLACE(i.bonusListIDs, ' ', ','))
|
||||||
|
LEFT JOIN characters c ON c.guid = i.owner_guid
|
||||||
|
WHERE i.guid = itemGuid) WHERE fixedScalingLevel = 0;
|
||||||
|
|
||||||
|
INSERT IGNORE INTO item_instance_modifiers (itemGuid, fixedScalingLevel)
|
||||||
|
SELECT i.guid, LEAST(GREATEST(IFNULL(c.level, 1), s.MinLevel), s.MaxLevel)
|
||||||
|
FROM tmp_scale_data s
|
||||||
|
INNER JOIN item_instance i ON FIND_IN_SET(s.BonusListID, REPLACE(i.bonusListIDs, ' ', ','))
|
||||||
|
LEFT JOIN characters c ON c.guid = i.owner_guid;
|
||||||
|
|
||||||
|
DROP TABLE `tmp_scale_data`;
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
--
|
||||||
|
-- Table structure for table `quest_greeting_locale`
|
||||||
|
--
|
||||||
|
DROP TABLE IF EXISTS `quest_greeting_locale`;
|
||||||
|
CREATE TABLE `quest_greeting_locale` (
|
||||||
|
`ID` int(10) unsigned NOT NULL DEFAULT '0',
|
||||||
|
`type` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||||
|
`locale` varchar(4) NOT NULL,
|
||||||
|
`Greeting` text,
|
||||||
|
`VerifiedBuild` smallint(6) NOT NULL DEFAULT '0',
|
||||||
|
PRIMARY KEY (`ID`,`type`,`locale`)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||||
Reference in New Issue
Block a user