本文整理汇总了PHP中Items::SocketDescription方法的典型用法代码示例。如果您正苦于以下问题:PHP Items::SocketDescription方法的具体用法?PHP Items::SocketDescription怎么用?PHP Items::SocketDescription使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Items
的用法示例。
在下文中一共展示了Items::SocketDescription方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: GetItemInfo
public static function GetItemInfo($ItemID)
{
global $FCCore;
$Statement = Items::$WConnection->prepare('
SELECT
it.*,
LOWER(fi.iconname) as icon
FROM
item_template it
LEFT JOIN ' . $FCCore['Database']['database'] . '.freedomcore_icons fi ON
it.displayid = fi.id
WHERE
entry = :itemid
');
$Statement->bindParam(':itemid', $ItemID);
$Statement->execute();
$Result = $Statement->fetch(PDO::FETCH_ASSOC);
if (empty($Result) || $ItemID != $Result['entry']) {
return false;
} else {
$Result['subclass'] = Items::ItemSubClass($Result['class'], $Result['subclass']);
$Result['class'] = Items::ItemClass($Result['class']);
$Result['BuyPrice'] = Text::MoneyToCoins($Result['BuyPrice']);
$Result['SellPrice'] = Text::MoneyToCoins($Result['SellPrice']);
$Result['bond_translation'] = Items::BondTranslation($Result['bonding']);
$Result['it_translation'] = Items::InventoryTypeTranslation($Result['InventoryType']);
if ($Result['RequiredSkill'] != 0) {
$Result['SkillData'] = Items::GetSkillReqs($Result['RequiredSkill'], $Result['RequiredSkillRank']);
}
$StatsCount = 0;
for ($i = 1; $i <= 10; $i++) {
if ($Result['stat_type' . $i] != 0) {
$StatsCount++;
}
}
if ($StatsCount > 0) {
for ($i = 1; $i <= $StatsCount; $i++) {
$Result['stat_translation' . $i] = Items::StatTranslation($Result['stat_type' . $i]);
}
}
for ($i = 1; $i <= 3; $i++) {
if ($Result['socketColor_' . $i] != 0) {
$Result['socket' . $i] = Items::SocketDescription($Result['socketColor_' . $i]);
}
}
for ($i = 1; $i <= 5; $i++) {
if ($Result['spellid_' . $i] != 0 && $Result['spellid_' . $i] != -1) {
$Result['spt_translation' . $i] = Items::SpellTrigger($Result['spelltrigger_' . $i]);
$Result['spell_data' . $i] = Spells::SpellInfo($Result['spellid_' . $i]);
if (strstr($Result['name'], $Result['spell_data' . $i]['Name'])) {
$Result['spell_data' . $i]['SearchForCreature'] = Items::FindCreatureBySpell($Result['spellid_' . $i]);
}
}
}
if ($Result['socketBonus'] != 0) {
$Result['socketBonusDescription'] = Items::SocketBonus($Result['socketBonus']);
}
$Result['itemsetinfo'] = Items::GetItemSetInfo($ItemID);
if ($Result['GemProperties'] != 0) {
$Result['gem_bonus'] = Items::getGemBonus($Result['GemProperties']);
}
return $Result;
}
}
示例2: GetSingleItem
public static function GetSingleItem($ItemID, $JSONP)
{
$NewArray = [];
$Item = Items::GetItemInfo($ItemID);
if ($Item != false) {
$NewArray['id'] = $Item['entry'];
foreach (array('description', 'name', 'icon', 'stackable') as $Field) {
$NewArray[$Field] = $Item[$Field];
}
$NewArray['allowableClasses'] = 'NYI';
$NewArray['itemBind'] = $Item['bonding'];
for ($i = 1; $i <= 10; $i++) {
if ($Item['stat_type' . $i] != 0) {
$NewArray['bonusStats'][] = ['stat' => $Item['stat_type' . $i], 'amount' => $Item['stat_value' . $i]];
}
}
for ($i = 1; $i <= 5; $i++) {
if ($Item['spellid_' . $i] != -1 && $Item['spellid_' . $i] != 0) {
$NewArray['itemSpells'][] = ['spellId' => $Item['spell_data' . $i]['SpellID'], 'spell' => ['id' => $Item['spell_data' . $i]['SpellID'], 'name' => $Item['spell_data' . $i]['Name'], 'icon' => $Item['spell_data' . $i]['icon'], 'description' => $Item['spell_data' . $i]['Description']]];
}
}
if (isset($Item['BuyPrice']['gold'])) {
$FinalBuyPrice = $Item['BuyPrice']['gold'];
}
if (isset($Item['BuyPrice']['silver'])) {
$FinalBuyPrice = $Item['BuyPrice']['silver'];
}
if (isset($Item['BuyPrice']['copper'])) {
$FinalBuyPrice = $Item['BuyPrice']['copper'];
}
$NewArray['buyPrice'] = $FinalBuyPrice;
$NewArray['itemClass'] = $Item['class']['class'];
$NewArray['itemSubClass'] = $Item['subclass']['subclass'];
$NewArray['containerSlots'] = $Item['ContainerSlots'];
if ($Item['class']['class'] == 2) {
if ($Item['dmg_min1'] != 0) {
$DPS = ($Item['dmg_min1'] + $Item['dmg_max1']) / 2 / ($Item['delay'] / 1000);
$DamageMin = $Item['dmg_min1'];
$DamageMax = $Item['dmg_max1'];
} elseif ($Item['dmg_min2'] != 0) {
$DPS = ($Item['dmg_min2'] + $Item['dmg_max2']) / 2 / ($Item['delay'] / 1000);
$DamageMin = $Item['dmg_min2'];
$DamageMax = $Item['dmg_max2'];
}
$NewArray['weaponInfo'] = ['damage' => ['min' => $DamageMin, 'max' => $DamageMax, 'exactMin' => number_format((double) $DamageMin, 1, '.', ''), 'exactMax' => number_format((double) $DamageMax, 1, '.', '')], 'weaponSpeed' => $Item['delay'] / 1000, 'dps' => $DPS];
}
$NewArray['inventoryType'] = $Item['InventoryType'];
$NewArray['itemLevel'] = $Item['ItemLevel'];
$NewArray['maxCount'] = $Item['maxcount'];
$NewArray['maxDurability'] = $Item['MaxDurability'];
$NewArray['minFactionId'] = $Item['RequiredReputationFaction'];
$NewArray['minReputation'] = $Item['RequiredReputationRank'];
$NewArray['quality'] = $Item['Quality'];
if (isset($Item['SellPrice']['gold'])) {
$FinalSellPrice = $Item['SellPrice']['gold'];
}
if (isset($Item['SellPrice']['silver'])) {
$FinalSellPrice = $Item['SellPrice']['silver'];
}
if (isset($Item['SellPrice']['copper'])) {
$FinalSellPrice = $Item['SellPrice']['copper'];
}
$NewArray['sellPrice'] = $FinalSellPrice;
$NewArray['requiredSkill'] = $Item['RequiredSkill'];
$NewArray['requiredLevel'] = $Item['RequiredLevel'];
$NewArray['requiredSkillRank'] = $Item['RequiredSkillRank'];
$SocketsCount = 0;
for ($i = 1; $i <= 3; $i++) {
if ($Item['socketColor_' . $i] != 0) {
$NewArray['socketInfo']['sockets'][] = ['type' => Items::SocketDescription($Item['socketColor_' . $i])['type']];
$SocketsCount++;
}
}
if ($SocketsCount > 0) {
$NewArray['socketInfo']['socketBonus'] = $Item['socketBonusDescription'];
}
$NewArray['baseArmor'] = $Item['armor'];
if ($SocketsCount > 0) {
$NewArray['hasSockets'] = true;
} else {
$NewArray['hasSockets'] = false;
}
$NewArray['displayInfoId'] = $Item['displayid'];
return parent::Encode($NewArray, $JSONP);
} else {
return parent::GenerateResponse(404, true);
}
}