class Tooltip extends UICommonAPI;
const TOOLTIP_MINIMUM_WIDTH = 250;
const TOOLTIP_SETITEM_MAX = 3;
const ATTRIBUTE_FIRE = 0;
const ATTRIBUTE_WATER = 1;
const ATTRIBUTE_WIND = 2;
const ATTRIBUTE_EARTH = 3;
const ATTRIBUTE_HOLY = 4;
const ATTRIBUTE_UNHOLY = 5;
const DEFAULT_ATTACK = 10;
var CustomTooltip m_Tooltip;
var DrawItemInfo m_Info;
var Array<int> AttackAttLevel;
var Array<int> AttackAttCurrValue;
var Array<int> AttackAttMaxValue; //모든 공격 속성의 레벨, 현재레벨에서의 값, 현재레벨에서의 최대값을 여기에 저장한다.
var Array<int> DefAttLevel;
var Array<int> DefAttCurrValue;
var Array<int> DefAttMaxValue; //모든 방어 속성의 레벨, 현재레벨에서의 값, 현재레벨에서의 최대값을 여기에 저장한다.
var int NowAttrLv;
var int NowMaxValue;
var int NowValue;
var bool BoolSelect;
function OnRegisterEvent()
{
RegisterEvent( EV_RequestTooltipInfo );
}
function OnLoad()
{
BoolSelect = true; // 숏컷 툴팁 켜기/끄기 기본값을 켜기로(TTP#41925) 2010.8.23 - winkey
if(CREATE_ON_DEMAND==0)
OnRegisterEvent();
}
function OnEvent(int Event_ID, string param)
{
switch( Event_ID )
{
case EV_RequestTooltipInfo:
//debug("툴팁이벤트 넘어오냐");
HandleRequestTooltipInfo(param);
break;
}
}
function setBoolSelect( bool b )
{
BoolSelect = b;
}
function HandleRequestTooltipInfo(string param)
{
local String TooltipType;
local int SourceType;
local ETooltipSourceType eSourceType;
ClearTooltip();
if (!ParseString(param, "TooltipType", TooltipType))
return;
if (!ParseInt(param, "SourceType", SourceType))
return;
//GetChatWindowHandle( "ChatWnd.NormalChat" ).AddStringToChatWindow("TT:" $ TooltipType, GetChatColorByType(0) );
eSourceType = ETooltipSourceType(SourceType);
//////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////// Normal Tooltip /////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//debug("Tooltip타입:"$TooltipType);
if (TooltipType == "Text")
{
ReturnTooltip_NTT_TEXT(param, eSourceType, false);
}
else if (TooltipType == "Description")
{
ReturnTooltip_NTT_TEXT(param, eSourceType, true);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////// ItemWnd Tooltip ////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
else if (TooltipType == "Action")
{
ReturnTooltip_NTT_ACTION(param, eSourceType);
}
else if (TooltipType == "Skill")
{
ReturnTooltip_NTT_SKILL(param, eSourceType);
}
else if (TooltipType == "NormalItem")
{
ReturnTooltip_NTT_NORMALITEM(param, eSourceType);
}
else if (TooltipType == "Shortcut")
{
ReturnTooltip_NTT_SHORTCUT(param, eSourceType);
}
else if (TooltipType == "AbnormalStatus")
{
ReturnTooltip_NTT_ABNORMALSTATUS(param, eSourceType);
}
else if (TooltipType == "RecipeManufacture")
{
ReturnTooltip_NTT_RECIPE_MANUFACTURE(param, eSourceType);
}
else if (TooltipType == "Recipe")
{
ReturnTooltip_NTT_RECIPE(param, eSourceType, false);
}
else if (TooltipType == "RecipePrice")
{
ReturnTooltip_NTT_RECIPE(param, eSourceType, true);
}
else if (TooltipType == "Inventory"
|| TooltipType == "InventoryPrice1"
|| TooltipType == "InventoryPrice2"
|| TooltipType == "InventoryPrice1HideEnchant"
|| TooltipType == "InventoryPrice1HideEnchantStackable"
|| TooltipType == "InventoryPrice2PrivateShop"
|| TooltipType == "InventoryWithIcon"
|| TooltipType == "InventoryPawnViewer") // PawnViewer용 추가 - lancelot 2007. 10. 16.
{
//~ debug("툴팁보여주세요.");
ReturnTooltip_NTT_ITEM(param, TooltipType, eSourceType);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////// ListCtrl Tooltip ///////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//선준 수정(2010.02.22 ~ 03.08) 완료
else if ( TooltipType == "RoomList" )
{
ReturnTooltip_NTT_ROOMLIST(param, eSourceType);
}
else if ( TooltipType == "UserList" )
{
ReturnTooltip_NTT_USERLIST(param, eSourceType);
}
else if (TooltipType == "PartyMatch")
{
ReturnTooltip_NTT_PARTYMATCH(param, eSourceType);
}
else if (TooltipType == "UnionList")
{
ReturnTooltip_NTT_UNIONLIST(param, eSourceType);
}
else if (TooltipType == "QuestInfo")
{
ReturnTooltip_NTT_QUESTINFO(param, eSourceType);
}
else if (TooltipType == "QuestList")
{
ReturnTooltip_NTT_QUESTLIST(param, eSourceType);
}
else if (TooltipType == "RaidList")
{
ReturnTooltip_NTT_RAIDLIST(param, eSourceType);
}
else if (TooltipType == "ClanInfo")
{
ReturnTooltip_NTT_CLANINFO(param, eSourceType);
}
//선준 수정( 10.03.30 ) 완료
//우편함에 툴팁 추가.
else if (TooltipType == "PostInfo")
{
ReturnTooltip_NTT_POSTINFO(param, eSourceType);
}
/////////////////////////////////////////////////////
// MANOR
else if (TooltipType == "ManorSeedInfo"
|| TooltipType == "ManorCropInfo"
|| TooltipType == "ManorSeedSetting"
|| TooltipType == "ManorCropSetting"
|| TooltipType == "ManorDefaultInfo"
|| TooltipType == "ManorCropSell")
{
ReturnTooltip_NTT_MANOR(param, TooltipType, eSourceType);
}
// [퀘스트 아이템 툴팁 추가]
else if (TooltipType == "QuestItem")
{
ReturnTooltip_NTT_QUESTREWARDS(param, eSourceType);
}
}
function bool IsEnchantableItem(EItemParamType Type)
{
return (Type == ITEMP_WEAPON || Type == ITEMP_ARMOR || Type == ITEMP_ACCESSARY || Type == ITEMP_SHIELD);
}
function ClearTooltip()
{
m_Tooltip.SimpleLineCount = 0;
m_Tooltip.MinimumWidth = 0;
m_Tooltip.DrawList.Remove(0, m_Tooltip.DrawList.Length);
}
function StartItem()
{
local DrawItemInfo infoClear;
m_Info = infoClear;
}
function EndItem()
{
m_Tooltip.DrawList.Length = m_Tooltip.DrawList.Length + 1;
m_Tooltip.DrawList[m_Tooltip.DrawList.Length-1] = m_Info;
}
function TooltipInsertItemLine()
{
AddTooltipItemBlank(4);
StartItem();
m_Info.eType = DIT_SPLITLINE;
m_Info.u_nTextureUWidth = 50;
m_Info.u_nTextureWidth = 200;
m_Info.u_nTextureHeight = 1;
m_Info.u_strTexture ="L2ui_ch3.tooltip_line";
EndItem();
AddTooltipItemBlank(4);
}
function TooltipInsertItemLine2()
{
StartItem();
m_Info.eType = DIT_SPLITLINE;
m_Info.u_nTextureUWidth = 50;
m_Info.u_nTextureWidth = 200;
//m_Info.u_nTextureHeight = 1;
m_Info.u_strTexture ="L2ui_ch3.tooltip_line";
EndItem();
}
/////////////////////////////////////////////////////////////////////////////////
// TEXT
function ReturnTooltip_NTT_TEXT(string param, ETooltipSourceType eSourceType, bool bDesc)
{
local string strText;
local int ID;
if (eSourceType == NTST_TEXT)
{
if (ParseString( param, "Text", strText))
{
if (Len(strText)>0)
{
if (bDesc)
{
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = strText;
EndItem();
}
else
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = strText;
EndItem();
}
}
}
else if (ParseInt( param, "ID", ID))
{
if (ID>0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_ID = ID;
EndItem();
}
}
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// INVENTORY Etc
function ReturnTooltip_NTT_ITEM(string param, String TooltipType, ETooltipSourceType eSourceType)
{
local ItemInfo Item;
local EItemType eItemType;
local EEtcItemType eEtcItemType;
local bool bLargeWidth;
local string SlotString;
local string strTmp;
local int nTmp;
local int idx;
//제련효과
local string ItemName;
local int Quality;
local int ColorR;
local int ColorG;
local int ColorB;
local string strDesc1;
local string strDesc2;
local string strDesc3;
// 보급형 아이템
local int ItemNameClass;
//셋트아이템
//~ local array<ItemID> arrItemID;
local int SetID;
//~ local int SetID2;
//아데나읽어주기
local string strAdena;
local string strAdenaComma;
local color AdenaColor;
local ItemID tmpItemID;
local ItemInfo info;
if (eSourceType == NTST_ITEM)
{
ParamToItemInfo(param, Item);
eItemType = EItemType(Item.ItemType);
eEtcItemType = EEtcItemType(Item.ItemSubType);
//아이콘 표시
if (TooltipType == "InventoryWithIcon")
{
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.u_nTextureWidth = 32;
m_Info.u_nTextureHeight = 32;
m_Info.u_strTexture = Item.IconName;
EndItem();
AddTooltipItemBlank(4);
}
//아이템 이름 취득
ItemName = class'UIDATA_ITEM'.static.GetRefineryItemName( Item.Name, Item.RefineryOp1, Item.RefineryOp2 );
ItemNameClass = class'UIDATA_ITEM'.static.GetItemNameClass(Item.ID);
//GetChatWindowHandle( "ChatWnd.NormalChat" ).AddStringToChatWindow("NTT_ITEM:" $ ItemNameClass, GetChatColorByType(0) );
//branch
AddPrimeItemSymbol(Item);
//end of branch
//TooltipInsertItemLine2();
//인첸트 ex) "+10"
if (TooltipType != "InventoryPrice1HideEnchant"
&& TooltipType != "InventoryPrice1HideEnchantStackable")
AddTooltipItemEnchant(Item);
//아이템 이름
AddTooltipItemName(ItemName, Item, ItemNameClass);
//Grade Mark
AddTooltipItemGrade(Item);
//아이템 갯수
if (TooltipType != "InventoryPrice1HideEnchantStackable")
{
// 2009 10. 15
// 퀘스트 보상 아이템 타입이면 아이템 개수를 표기 하지 않는다.
if (TooltipType != "QuestReward")
{
AddTooltipItemCount(Item);
}
}
//아이템이 아데나면, 읽어주기 스트링
if (IsAdena(Item.ID))
{
//SimpleTooltip을 읽어주기스트링까지 보여준다.
m_Tooltip.SimpleLineCount = 2;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = "(" $ ConvertNumToText(Int64ToString(Item.ItemNum)) $ ")";
EndItem();
}
//InventoryPrice1 타입
if (TooltipType == "InventoryPrice1"
|| TooltipType == "InventoryPrice1HideEnchant"
|| TooltipType == "InventoryPrice1HideEnchantStackable")
{
strAdena = Int64ToString(Item.Price);
strAdenaComma = MakeCostString(strAdena);
AdenaColor = GetNumericColor(strAdenaComma);
//가격 : xxx,xxx,xxx
AddTooltipItemOption(322, strAdenaComma $ " ", true, true, false);
SetTooltipItemColor(AdenaColor.R, AdenaColor.G, AdenaColor.B, 0);
//"아데나"
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = AdenaColor;
m_Info.t_ID= 469;
EndItem();
//SimpleTooltip을 가격까지 보여준다.
m_Tooltip.SimpleLineCount = 2;
//읽어주기 스트링
if (Item.Price>IntToInt64(0))
{
m_Tooltip.SimpleLineCount = 3;
AddTooltipItemOption(0, "(" $ ConvertNumToText(strAdena) $ ")", false, true, false);
SetTooltipItemColor(AdenaColor.R, AdenaColor.G, AdenaColor.B, 0);
}
}
//InventoryPrice2 타입
if (TooltipType == "InventoryPrice2"
|| TooltipType == "InventoryPrice2PrivateShop")
{
strAdena = Int64ToString(Item.Price);
strAdenaComma = MakeCostString(strAdena);
AdenaColor = GetNumericColor(strAdenaComma);
//가격 : 1개당
AddTooltipItemOption2(322, 468, true, true, false);
SetTooltipItemColor(AdenaColor.R, AdenaColor.G, AdenaColor.B, 0);
//"xxx,xxx,xxx "
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = AdenaColor;
m_Info.t_strText = " " $ strAdenaComma $ " ";
EndItem();
//"아데나"
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = AdenaColor;
m_Info.t_ID= 469;
EndItem();
//SimpleTooltip을 가격까지 보여준다.
m_Tooltip.SimpleLineCount = 2;
//읽어주기 스트링
if (Item.Price>IntToInt64(0))
{
m_Tooltip.SimpleLineCount = 3;
//"("
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = AdenaColor;
m_Info.t_strText = "(";
EndItem();
//"1개당"
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = AdenaColor;
m_Info.t_ID = 468;
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = AdenaColor;
m_Info.t_strText = " " $ ConvertNumToText(strAdena) $ ")";
EndItem();
}
}
//InventoryPrice2PrivateShop 타입
if (TooltipType == "InventoryPrice2PrivateShop")
{
if (IsStackableItem(Item.ConsumeType) && Item.Reserved64 > IntToInt64(0))
{
//"구매개수 : xx"
AddTooltipItemOption(808, Int64ToString(Item.Reserved64), true, true, false);
}
}
/////////////////////////////////////////////////////////////////////////////////////////
// 아이템에 따른 각종 정보
//SlotString = GetSlotTypeString(Item.ItemType, Item.SlotBitType, Item.ArmorType);
SlotString = GetSlotTypeString2(Item.ItemType, Item.SlotBitType, Item.ArmorType);
switch (eItemType)
{
// 1. WEAPON
case ITEM_WEAPON:
bLargeWidth = true;
//Slot Type
strTmp = GetWeaponTypeString(Item.WeaponType);
if (Len(strTmp)>0)
{
AddTooltipItemOption(0, strTmp $ " / " $ SlotString, false, true, false);
}
//D Качество : 1/5 Дешовый
addTooltipItemQuality(Item);
if(DEFAULT_ATTACK != Item.PhysicalDamage)
{
//D Добавить пустое место.
//AddTooltipItemBlank(12);
TooltipInsertItemLine();
// ################################### Физ. Характеристики ########################################
//5092 u,<Физ. Характеристики>\0
AddTooltipItemOption(5092, "", true, false, false);
SetTooltipItemColor(255, 255, 255, 0);
//Physical Damage
//AddTooltipItemOption(94, String(GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.PhysicalDamage)), true, true, false);
AddNewPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.PhysicalDamage);
// 96 u,Физ. Точность\0
AddTooltipItemOption(96, String((0x0000FFFF & Item.SoulshotCount)), true, true, false);
// 113 u,Физ. Крит. Атк.\0
AddTooltipItemOption(113, String((Item.SoulshotCount >> 16)), true, true, false);
// P Attack Speed 111 u,Скор. Атк.\0
AddTooltipItemOption(111, String((0x0000FFFF & Item.AttackSpeed)), true, true, false);
}
//SoulShot Count if (Item.SoulshotCount>0){//D 404 u,Исп. Заряд Души\0// AddTooltipItemOption(404, "X " $ Item.SoulshotCount, true, true, false);}
//SpiritShot Count if (Item.SpiritShotCount>0){// AddTooltipItemOption(496, "X " $ Item.SpiritshotCount, true, true, false);}
if(DEFAULT_ATTACK != Item.MagicalDamage)
{
//AddTooltipItemBlank(12);
TooltipInsertItemLine();
// ################################### Маг. Характеристики ########################################
// 5093 u,<Маг. Характеристики>\0
AddTooltipItemOption(5093, "", true, false, false);
SetTooltipItemColor(255, 255, 255, 0);
//Masical Damage
//AddTooltipItemOption(98, String(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage)), true, true, false);
AddNewMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage);
//5076 u,Маг. Точность\0
AddTooltipItemOption(5076, String((0x0000FFFF & Item.SpiritShotCount)), true, true, false);
//5078 u,Маг. Крит. Атк.\0
AddTooltipItemOption(5078, String((Item.SpiritShotCount >> 16)), true, true, false);
// M Attack Speed 112 u,Скор. Маг.\0
AddTooltipItemOption(112, String((Item.AttackSpeed >> 16)), true, true, false);
//################################################################################################
//AddTooltipItemBlank(12);
}
TooltipInsertItemLine();
//Weight
if (Item.Weight==0)
{
AddTooltipItemOption(52, " 0 ", true, true, false);
AddTooltipItemBlank(4);
}
else
{
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
AddTooltipItemBlank(4);
//AddTooltipItemOption(52, String(Item.Weight), true, true, false);
}
//MP Consume
if (Item.MpConsume != 0)
{
AddTooltipItemOption(320, String(Item.MpConsume), true, true, false);
}
// Уровень использования
//.AddTooltipItemBlank(4);
AddTooltipItemUseLevel(Item);
//AddTooltipItemBlank(4);
//제련효과
if (Item.RefineryOp1 != 0 || Item.RefineryOp2 != 0)
{
//빈공간
//AddTooltipItemBlank(12);
TooltipInsertItemLine();
// 1490 u,<Особое Свойство>\0
AddTooltipItemOption(1490, "", true, false, false);
SetTooltipItemColor(255, 255, 255, 0);
//컬러값 취득
if (Item.RefineryOp2 != 0)
{
Quality = class'UIDATA_REFINERYOPTION'.static.GetQuality( Item.RefineryOp2 );
GetRefineryColor(Quality, ColorR, ColorG, ColorB);
}
if (Item.RefineryOp1 != 0)
{
strDesc1 = "";
strDesc2 = "";
strDesc3 = "";
if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.RefineryOp1, strDesc1, strDesc2, strDesc3 ))
{
if (Len(strDesc1)>0)
{
AddTooltipItemOption(0, strDesc1, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc2)>0)
{
AddTooltipItemOption(0, strDesc2, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc3)>0)
{
AddTooltipItemOption(0, strDesc3, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
}
}
//TooltipInsertItemLine();
if (Item.RefineryOp2 != 0)
{
strDesc1 = "";
strDesc2 = "";
strDesc3 = "";
if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.RefineryOp2, strDesc1, strDesc2, strDesc3 ))
{
if (Len(strDesc1)>0)
{
AddTooltipItemOption(0, strDesc1, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc2)>0)
{
AddTooltipItemOption(0, strDesc2, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc3)>0)
{
AddTooltipItemOption(0, strDesc3, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
}
}
// 1491 u,Невозможно продать/выбросить\0
AddTooltipItemOption(1491, "", true, false, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
//TooltipInsertItemLine();
//빈공간
if (Len(Item.Description)>0)
{
//AddTooltipItemBlank(12);
TooltipInsertItemLine();
}
}
break;
// 2. ARMOR
case ITEM_ARMOR:
bLargeWidth = true;
// Sheild
if ( Item.SlotBitType == 256 && Item.ArmorType == 4 ) // ArmorType == 4 is sigil..
{
if (Len(SlotString)>0)
{
AddTooltipItemOption(0, SlotString, false, true, false);
//D Качество : 1/5 Дешовый
addTooltipItemQuality(Item);
}
if (Item.PhysicalDefense != 0)
{
//AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)), true, true, false);
AddNewPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense);
}
//Avoid Modify
if (Item.AvoidModify != 0)
{
// 97 u,Физ. Уклонение\0
AddTooltipItemOption(97, String(Item.AvoidModify), true, true, false);
}
if (Item.Weight != 0)
{
// 52 u,Вес\0
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
}
AddTooltipItemUseLevel(Item);
}
else if (Item.SlotBitType == 256 || Item.SlotBitType == 128) //SBT_LHAND or SBT_RHAND
{
if (Len(SlotString)>0)
{
AddTooltipItemOption(0, SlotString, false, true, false);
//D Качество : 1/5 Дешовый
addTooltipItemQuality(Item);
}
//Shield Defense
//debug("Shield Defense" $ Item.ShieldDefense);
if (Item.ShieldDefense != 0)
{
// 95 u,Физ. Защ.\0
//AddTooltipItemOption(95, String(GetShieldDefense(Item.CrystalType, Item.Enchanted, Item.ShieldDefense)), true, true, false);
AddNewPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.ShieldDefense);
}
//Shield Defense Rate
//debug("Shield Defense Rate" $ Item.ShieldDefenseRate);
if (Item.ShieldDefenseRate != 0)
AddTooltipItemOption(317, String(Item.ShieldDefenseRate), true, true, false);
//Avoid Modify
//debug("Avoid Modify" $ Item.AvoidModify);
if (Item.AvoidModify != 0)
AddTooltipItemOption(97, String(Item.AvoidModify), true, true, false);
//Weight
//debug("Weight" $ Item.Weight);
if (Item.Weight != 0)
{
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
}
AddTooltipItemUseLevel(Item);
}
// Magical Armor
else if (IsMagicalArmor(Item.ID))
{
//Slot Type
if (Len(SlotString)>0)
{
AddTooltipItemOption(0, SlotString, false, true, false);
//D Качество : 1/5 Дешовый
addTooltipItemQuality(Item);
}
//MP Bonus
AddTooltipItemOption(388, String(Item.MpBonus), true, true, false);
//Physical Defense
if (Item.SlotBitType == 65536)
{
}
else if ( Item.SlotBitType == 524288)
{
}
else if ( Item.SlotBitType == 262144)
{
}
else
{
if (Item.PhysicalDefense != 0)
{
//AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)), true, true, false);
AddNewPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense);
}
}
//Weight
if (Item.Weight != 0)
{
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
}
AddTooltipItemUseLevel(Item);
}
// Physical Armor
else
{
//Slot Type
//debug("Physical Armor1 " $ Item.SlotBitType $ Item.PhysicalDefense);
if (Len(SlotString)>0)
{
AddTooltipItemOption(0, SlotString, false, true, false);
}
//Physical Defense
if (Item.SlotBitType == 65536)
{
}
else if ( Item.SlotBitType == 524288)
{
}
else if ( Item.SlotBitType == 262144)
{
}
else
{
if (Item.PhysicalDefense != 0)
{
//D Качество : 1/5 Дешовый
addTooltipItemQuality(Item);
//AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)), true, true, false);
AddNewPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense);
}
}
//Weight
if (Item.Weight != 0)
{
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
}
AddTooltipItemUseLevel(Item);
}
//제련효과
if (Item.RefineryOp1 != 0 || Item.RefineryOp2 != 0)
{
//빈공간
AddTooltipItemBlank(12);
//"[제련효과]"
AddTooltipItemOption(1490, "", true, false, false);
SetTooltipItemColor(255, 255, 255, 0);
//컬러값 취득
if (Item.RefineryOp2 != 0)
{
Quality = class'UIDATA_REFINERYOPTION'.static.GetQuality( Item.RefineryOp2 );
GetRefineryColor(Quality, ColorR, ColorG, ColorB);
}
if (Item.RefineryOp1 != 0)
{
strDesc1 = "";
strDesc2 = "";
strDesc3 = "";
if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.RefineryOp1, strDesc1, strDesc2, strDesc3 ))
{
if (Len(strDesc1)>0)
{
AddTooltipItemOption(0, strDesc1, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc2)>0)
{
AddTooltipItemOption(0, strDesc2, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc3)>0)
{
AddTooltipItemOption(0, strDesc3, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
}
}
if (Item.RefineryOp2 != 0)
{
strDesc1 = "";
strDesc2 = "";
strDesc3 = "";
if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.RefineryOp2, strDesc1, strDesc2, strDesc3 ))
{
if (Len(strDesc1)>0)
{
AddTooltipItemOption(0, strDesc1, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc2)>0)
{
AddTooltipItemOption(0, strDesc2, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc3)>0)
{
AddTooltipItemOption(0, strDesc3, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
}
}
//빈공간
AddTooltipItemBlank(12);
}
break;
// 3. ACCESSARY
case ITEM_ACCESSARY:
bLargeWidth = true;
//Slot Type
if (Len(SlotString)>0)
AddTooltipItemOption(0, SlotString, false, true, false);
//D Качество : 1/5 Дешовый
addTooltipItemQuality(Item);
//Magical Defense
// 탈리스만은 아이템 마방을 보여주지 않는다.
// 왼팔찌 오른팔찌도 마방을 보여주지 않는다.
if ((Item.SlotBitType != 4194304 ) && (Item.SlotBitType != 1048576 ) && (Item.SlotBitType != 2097152 ))
{
if((Item.SlotBitType == 6)||(Item.SlotBitType == 8)||(Item.SlotBitType == 48))
{
AddNewMagicalDefense(Item.CrystalType, Item.Enchanted, Item.MagicalDefense);
}
else
{
AddTooltipItemOption(99, String(GetMagicalDefense(Item.CrystalType, Item.Enchanted, Item.MagicalDefense)), true, true, false);
}
// Debug2("ITEM_ACCESSARY: " $ Item.SlotBitType);
}
if (Item.Weight == 0)
{
AddTooltipItemOption(52, " 0 ", true, true, false);
}
else
{
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
}
AddTooltipItemUseLevel(Item);
//debug ("Refinery Result Accessotires" @ Item.RefineryOp1);
//제련효과
if (Item.RefineryOp1 != 0 || Item.RefineryOp2 != 0)
{
//빈공간
AddTooltipItemBlank(12);
//"[제련효과]"
AddTooltipItemOption(1490, "", true, false, false);
SetTooltipItemColor(255, 255, 255, 0);
//컬러값 취득
if (Item.RefineryOp2 != 0)
{
Quality = class'UIDATA_REFINERYOPTION'.static.GetQuality( Item.RefineryOp2 );
GetRefineryColor(Quality, ColorR, ColorG, ColorB);
}
if (Item.RefineryOp1 != 0)
{
strDesc1 = "";
strDesc2 = "";
strDesc3 = "";
if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.RefineryOp1, strDesc1, strDesc2, strDesc3 ))
{
if (Len(strDesc1)>0)
{
AddTooltipItemOption(0, strDesc1, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc2)>0)
{
AddTooltipItemOption(0, strDesc2, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc3)>0)
{
AddTooltipItemOption(0, strDesc3, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
}
}
if (Item.RefineryOp2 != 0)
{
strDesc1 = "";
strDesc2 = "";
strDesc3 = "";
if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.RefineryOp2, strDesc1, strDesc2, strDesc3 ))
{
if (Len(strDesc1)>0)
{
AddTooltipItemOption(0, strDesc1, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc2)>0)
{
AddTooltipItemOption(0, strDesc2, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc3)>0)
{
AddTooltipItemOption(0, strDesc3, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
}
}
//빈공간
AddTooltipItemBlank(12);
}
break;
// 4. QUEST
case ITEM_QUESTITEM:
bLargeWidth = true;
//Slot Type
if (Len(SlotString)>0)
AddTooltipItemOption(0, SlotString, false, true, false);
break;
// 5. ETC
case ITEM_ETCITEM:
bLargeWidth = true;
if (eEtcItemType == ITEME_PET_COLLAR)
{
//Pet Name
if (Item.Damaged == 0)
nTmp = 971;
else
nTmp = 970;
AddTooltipItemOption2(969, nTmp, true, true, false);
//Pet Level
AddTooltipItemOption(88, String(Item.Enchanted), true, true, false);
}
else if (eEtcItemType == ITEME_TICKET_OF_LORD)
{
AddTooltipItemOption(972, String(Item.Enchanted), true, true, false);
}
else if (eEtcItemType == ITEME_LOTTO)
{
// 복권에서는 bless가 회차, 몬스터레이스에서는 Enchant가 회차입니다. 주의하세요! - lancelot 2008. 11. 11.
// 회차
AddTooltipItemOption(670, String(Item.Blessed), true, true, false);
// 선택번호
AddTooltipItemOption(671, GetLottoString(Item.Enchanted, Item.Damaged), true, true, false);
}
else if (eEtcItemType == ITEME_RACE_TICKET)
{
// 회차
AddTooltipItemOption(670, String(Item.Enchanted), true, true, false);
// 선택번호
AddTooltipItemOption(671, GetRaceTicketString(Item.Blessed), true, true, false);
//Money
AddTooltipItemOption(744, String(Item.Damaged*100), true, true, false);
}
//Weight
//~ if (Item.Price!=0)
if (Item.Weight==0)
AddTooltipItemOption(52, " 0 ", true, true, false);
else
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
break;
}
/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
// [칠월칠석, 방어구 각인] item enchant option - by jin 09/08/05
if (Item.EnchantOption1 != 0 || Item.EnchantOption2 != 0 || Item.EnchantOption3 != 0)
{
//빈공간
AddTooltipItemBlank(12);
//TooltipInsertItemLine();
// 2214 u,<Эффект Модификации>\0
AddTooltipItemOption(2214, "", true, false, false);
SetTooltipItemColor(255, 255, 255, 0);
//컬러값 취득
if (Item.EnchantOption1 != 0)
{
// [칠월칠석, 방어구각인] 각인 효과는 일단 무조건 1번 색상을 사용. - by jin 09/08/06
GetRefineryColor(1, ColorR, ColorG, ColorB);
}
if (Item.EnchantOption1 != 0)
{
strDesc1 = "";
strDesc2 = "";
strDesc3 = "";
if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.EnchantOption1, strDesc1, strDesc2, strDesc3 ))
{
if (Len(strDesc1)>0)
{
AddTooltipItemOption(0, strDesc1, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc2)>0)
{
AddTooltipItemOption(0, strDesc2, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc3)>0)
{
AddTooltipItemOption(0, strDesc3, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
}
}
if (Item.EnchantOption2 != 0)
{
strDesc1 = "";
strDesc2 = "";
strDesc3 = "";
if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.EnchantOption2, strDesc1, strDesc2, strDesc3 ))
{
if (Len(strDesc1)>0)
{
AddTooltipItemOption(0, strDesc1, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc2)>0)
{
AddTooltipItemOption(0, strDesc2, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc3)>0)
{
AddTooltipItemOption(0, strDesc3, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
}
}
if (Item.EnchantOption3 != 0)
{
strDesc1 = "";
strDesc2 = "";
strDesc3 = "";
if (class'UIDATA_REFINERYOPTION'.static.GetOptionDescription( Item.EnchantOption3, strDesc1, strDesc2, strDesc3 ))
{
if (Len(strDesc1)>0)
{
AddTooltipItemOption(0, strDesc1, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc2)>0)
{
AddTooltipItemOption(0, strDesc2, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
if (Len(strDesc3)>0)
{
AddTooltipItemOption(0, strDesc3, false, true, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
}
}
}
//빈공간
AddTooltipItemBlank(12);
//TooltipInsertItemLine();
}
//내구도 아이템
if (Item.CurrentDurability >= 0 && Item.Durability > 0)
{
bLargeWidth = true;
//빈공간
AddTooltipItemBlank(12);
//<투영 병기 정보>
AddTooltipItemOption(1492, "", true, false, false);
SetTooltipItemColor(255, 255, 255, 0);
//사용가능 시간
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 1493;
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
if (Item.CurrentDurability+1 <= 5)
{
m_Info.t_color.R = 255;
m_Info.t_color.G = 0;
m_Info.t_color.B = 0;
}
else
{
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
}
m_Info.t_color.A = 255;
m_Info.t_strText = " " $ Item.CurrentDurability $ "/" $ Item.Durability;
EndItem();
//"교환/드롭 불가"
AddTooltipItemOption(1491, "", true, false, false);
//빈공간
if (Len(Item.Description)>0)
{
AddTooltipItemBlank(12);
}
}
//branch
//에너지 정보
if (Item.BR_MaxEnergy > 0)
{
//bLargeWidth = true;
//빈공간
AddTooltipItemBlank(12);
//<에너지 정보>
AddTooltipItemOption(5065, "", true, false, false);
SetTooltipItemColor(255, 255, 255, 0);
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 5066;
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.bLineBreak = true;
if ( Item.BR_CurrentEnergy==0 || (Item.BR_MaxEnergy / Item.BR_CurrentEnergy > 10) )
{
m_Info.t_color.R = 255;
m_Info.t_color.G = 0;
m_Info.t_color.B = 0;
}
else
{
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
}
m_Info.t_color.A = 255;
//m_Info.t_strText = " " $ Item.BR_CurrentEnergy $ "/" $ Item.BR_MaxEnergy;
m_Info.t_strText = " " ;
ParamAdd(m_Info.Condition, "Type", "CurrentEnergy");
EndItem();
}
//end of branch
//설명
if (Len(Item.Description)>0)
{
bLargeWidth = true;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = Item.Description;
EndItem();
}
//TooltipInsertItemLine();
/////////////////////////////////////////////////////////////////////////////////////////
// 셋트 아이템 정보
if (IsValidItemID(Item.ID))
{
for (idx=0; idx<TOOLTIP_SETITEM_MAX; idx++)
{
//셋트아이템 리스트
for (SetID=0; SetID<class'UIDATA_ITEM'.static.GetSetItemNum(Item.ID, idx); SetID++) //0,1,2번 세트아이템효과 에 대해서 각각 몇가지의 세트가 완비되야하나..
{
bLargeWidth = true;
if (!class'UIDATA_ITEM'.static.IsExistSetItem(Item.ID, idx, SetID))
{
tmpItemID.classID = class'UIDATA_ITEM'.static.GetSetItemFirstID(Item.ID, idx, SetID);
if (tmpItemID.classID > 0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 2;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
EndItem();
class'UIDATA_ITEM'.static.GetItemInfo(tmpItemID, info );
addItemIconSmallType(info,"");
strTmp = class'UIDATA_ITEM'.static.GetItemName(tmpItemID);
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetX = 4;
m_Info.nOffSetY = 4;
//m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 112;
m_Info.t_color.G = 115;
m_Info.t_color.B = 123;
m_Info.t_color.A = 255;
m_Info.t_strText = strTmp;
ParamAdd(m_info.Condition, "SetItemNum", string(idx));
ParamAdd(m_Info.Condition, "Type", "Equip");
ParamAddItemID(m_Info.Condition, Item.ID);
ParamAdd(m_Info.Condition, "CurTypeID", string(SetID)); //비교할 아이템의 Type 예(0번:흉갑 1번:각반 2번:헬멧 3번:팔 4번 다리 ..ItemName.txt에 들어있는순서
ParamAdd(m_Info.Condition, "NormalColor", "112,115,123");
ParamAdd(m_Info.Condition, "EnableColor", "176,185,205");
EndItem();
}
}else
{
TooltipInsertItemLine();
AddTooltipItemOption(5098, "", true, false, false);
AddTooltipItemBlank(4);
}
}
//셋트효과
strTmp = class'UIDATA_ITEM'.static.GetSetItemEffectDescription(Item.ID, idx);
if (Len(strTmp)>0)
{
bLargeWidth = true;
// оставить - полоска перед описание бонусов сета
TooltipInsertItemLine();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_color.R = 128;
m_Info.t_color.G = 127;
m_Info.t_color.B = 103;
m_Info.t_color.A = 255;
m_Info.t_strText = strTmp;
ParamAdd(m_Info.Condition, "Type", "SetEffect");
ParamAddItemID(m_Info.Condition, Item.ID);
ParamAdd(m_Info.Condition, "EffectID", String(idx));
ParamAdd(m_Info.Condition, "NormalColor", "128,127,103");
ParamAdd(m_Info.Condition, "EnableColor", "183,178,122");
EndItem();
}
}
//인첸트 셋트효과
strTmp = class'UIDATA_ITEM'.static.GetSetItemEnchantEffectDescription(Item.ID);
if (Len(strTmp)>0)
{
bLargeWidth = true;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_color.R = 74;
m_Info.t_color.G = 92;
m_Info.t_color.B = 104;
m_Info.t_color.A = 255;
m_Info.t_strText = strTmp;
ParamAdd(m_Info.Condition, "Type", "EnchantEffect");
ParamAddItemID(m_Info.Condition, Item.ID);
ParamAdd(m_Info.Condition, "NormalColor", "74,92,104");
ParamAdd(m_Info.Condition, "EnableColor", "111,146,169");
EndItem();
}
}
//퀘스트 정보를 표시한다.
AddTooltipItemQuestList(Item);
// 속성 게이지를 그려준다.
AddTooltipItemAttributeGage(Item);
// 기간제 아이템
if ( Item.CurrentPeriod > 0)
{
//빈공간
AddTooltipItemBlank(12);
//<기간제 아이템>
AddTooltipItemOption(1739, "", true, false, false);
SetTooltipItemColor(255, 255, 255, 0);
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 1199;
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = " : ";
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = "" $ MakeTimeStr(Item.CurrentPeriod);
ParamAdd(m_Info.Condition, "Type", "PeriodTime");
EndItem();
}
}
else
{
return;
}
if (bLargeWidth)
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
if(TooltipType == "InventoryPawnViewer") // PawnViewer용 추가 - lancelot 2007. 10. 16.
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.bLineBreak = true;
m_Info.t_strText ="ID : "$string(Item.Id.classID);
EndItem();
}
ReturnTooltipInfo(m_Tooltip);
}
function addItemIconSmallType (ItemInfo item, string ForeTexture)
{
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.u_nTextureWidth = 16;
m_Info.u_nTextureHeight = 16;
m_Info.u_nTextureUWidth = 32;
m_Info.u_nTextureUHeight = 32;
m_Info.nOffSetX = 4;
m_Info.nOffSetY = 2;
m_Info.u_strTexture = item.IconName;
EndItem();
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.u_nTextureWidth = 16;
m_Info.u_nTextureHeight = 16;
m_Info.u_nTextureUWidth = 32;
m_Info.u_nTextureUHeight = 32;
m_Info.nOffSetX = -16;
m_Info.nOffSetY = 2;
m_Info.u_strTexture = item.IconPanel;
EndItem();
if ( ForeTexture != "" )
{
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.u_nTextureWidth = 14;
m_Info.u_nTextureHeight = 14;
m_Info.u_nTextureUWidth = 32;
m_Info.u_nTextureUHeight = 32;
m_Info.nOffSetX = -20;
m_Info.nOffSetY = 2;
m_Info.u_strTexture = ForeTexture;
EndItem();
}
}
function string GetSlotTypeString2(int ItemType, int SlotBitType, int ArmorType )
{
local string SlotString;
// SlotString = GetSlotTypeString(ItemType, SlotBitType, ArmorType );
// Debug2("SlotString:" $ SlotString $" ItemType:" $ string(ItemType) $ " SlotBitType:" $ string(SlotBitType) $ " ArmorType:" $ string(ArmorType));
if(( ArmorType== 1 || ArmorType == 2 || ArmorType == 3 ) && ( SlotBitType == 1024 || SlotBitType == 2048 || SlotBitType == 32768 || SlotBitType == 512 || SlotBitType == 4096 ))
{
switch(SlotBitType)
{
case 1024:
SlotString = GetSystemString(235); // 235 Верх. доспех
break;
case 2048:
SlotString = GetSystemString(236); // 236 Ниж. доспех
break;
case 32768:
SlotString = GetSystemString(542); // 542 Ниж. и верх. доспехи
break;
case 512:
SlotString = GetSystemString(232); // 232 Перчатки
break;
case 4096:
SlotString = GetSystemString(233); // 233 Сапоги
break;
}
switch(ArmorType)
{
case 1:
SlotString = SlotString $ " / " $ GetSystemString(245); // 245 Легкий
break;
case 2:
SlotString = SlotString $ " / " $ GetSystemString(246); // 246 Тяжелый
break;
case 3:
SlotString = SlotString $ " / " $ GetSystemString(244); // 244 Роба
break;
}
return SlotString;
}
return GetSlotTypeString(ItemType, SlotBitType, ArmorType );
}
/////////////////////////////////////////////////////////////////////////////////
// ACTION
function ReturnTooltip_NTT_ACTION(string param, ETooltipSourceType eSourceType)
{
local ItemInfo Item;
if (eSourceType == NTST_ITEM)
{
ParseString( param, "Name", Item.Name);
ParseString( param, "Description", Item.Description);
//액션 이름
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = Item.Name;
EndItem();
//액션 설명
if (Len(Item.Description)>0)
{
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = false;
m_Info.bLineBreak = true;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = Item.Description;
EndItem();
}
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// SKILL
function ReturnTooltip_NTT_SKILL(string param, ETooltipSourceType eSourceType)
{
local ItemInfo Item;
local EItemParamType eItemParamType;
local EShortCutItemType eShortCutType;
local int nTmp;
local int hitTime;
local int reuseDelay;
local int SkillLevel;
//Debug2(param);
if (eSourceType == NTST_ITEM)
{
ParseItemID( param, Item.ID );
ParseString( param, "Name", Item.Name);
ParseString( param, "AdditionalName", Item.AdditionalName);
ParseString( param, "Description", Item.Description);
ParseInt( param, "Level", Item.Level);
eShortCutType = EShortCutItemType(Item.ItemSubType);
eItemParamType = EItemParamType(Item.ItemType);
SkillLevel = Item.Level;
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
//아이템 이름
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = Item.Name;
EndItem();
// 인챈트시 변환된 레벨을 원래 레벨로 변환시켜준다.
if (Len(Item.AdditionalName)>0)
{
SkillLevel = class'UIDATA_SKILL'.static.GetEnchantSkillLevel( Item.ID, Item.Level );
}
//ex) " Lv "
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = " ";
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 88;
EndItem();
//스킬 레빌
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = " " $ SkillLevel;
EndItem();
// 인챈트 내용을 뿌려주는 곳은 이곳
if (Len(Item.AdditionalName)>0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetX = 5;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 255;
m_Info.t_color.G = 217;
m_Info.t_color.B = 105;
m_Info.t_color.A = 255;
m_Info.t_strText = Item.AdditionalName;
EndItem();
}
//Operate Type
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = class'UIDATA_SKILL'.static.GetOperateType( Item.ID, Item.Level );
EndItem();
nTmp = class'UIDATA_SKILL'.static.GetHpConsume( Item.ID, Item.Level );
if (nTmp>0)
{
// 1195 u,Затрата HP\0 AddTooltipItemOption(1195, String(nTmp), true, true, false);
// 5095 u,Время применения\0 milliseconds'
hitTime = ( 0x0000FFFF & nTmp );
if( hitTime > 0 ) {
AddTooltipItemOption(5095, MakeTimeStringsFloat((hitTime * 100)/1000), true, true, false);
}
// 5096 u,Время перезарядки\0 second
reuseDelay = ( nTmp >> 16 );
if( reuseDelay > 0 ) {
AddTooltipItemOption(5096, MakeTimeStringSecond(reuseDelay), true, true, false);
}
}
nTmp = class'UIDATA_SKILL'.static.GetMpConsume( Item.ID, Item.Level );
if (nTmp>0)
{
// 320 a,MP\0
AddTooltipItemOption(320, String(nTmp), true, true, false);
}
nTmp = class'UIDATA_SKILL'.static.GetCastRange( Item.ID, Item.Level );
if (nTmp>=0)
{
// 321 u,Радиус\0
AddTooltipItemOption(321, String(nTmp), true, true, false);
}
//설명
if (Len(Item.Description)>0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = Item.Description;
EndItem();
}
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// ABNORMALSTATUS
function ReturnTooltip_NTT_ABNORMALSTATUS(string param, ETooltipSourceType eSourceType)
{
local ItemInfo Item;
local int ShowLevel;
local EItemParamType eItemParamType;
local EShortCutItemType eShortCutType;
if (eSourceType == NTST_ITEM)
{
ParseItemID( param, Item.ID );
ParseString( param, "Name", Item.Name);
ParseString( param, "AdditionalName", Item.AdditionalName);
ParseString( param, "Description", Item.Description);
ParseInt( param, "Level", Item.Level);
ParseInt( param, "Reserved", Item.Reserved);
eShortCutType = EShortCutItemType(Item.ItemSubType);
eItemParamType = EItemParamType(Item.ItemType);
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
//아이템 이름
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = Item.Name;
EndItem();
ShowLevel = Item.Level;
if (Len(Item.AdditionalName)>0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetX = 5;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 255;
m_Info.t_color.G = 217;
m_Info.t_color.B = 105;
m_Info.t_color.A = 255;
m_Info.t_strText = Item.AdditionalName;
EndItem();
ShowLevel = class'UIDATA_SKILL'.static.GetEnchantSkillLevel( Item.ID, Item.Level );
}
//ex) " Lv "
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = " ";
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 88;
EndItem();
//스킬 레벨
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = " " $ ShowLevel;
EndItem();
//남은시간
if (!IsDeBuff(Item.ID, Item.Level) && Item.Reserved>=0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 1199;
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = " : ";
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = MakeBuffTimeStr(Item.Reserved);
ParamAdd(m_Info.Condition, "Type", "RemainTime");
EndItem();
}
//설명
if (Len(Item.Description)>0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = Item.Description;
EndItem();
}
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// NORMALITEM
function ReturnTooltip_NTT_NORMALITEM(string param, ETooltipSourceType eSourceType)
{
local ItemInfo Item;
if (eSourceType == NTST_ITEM)
{
ParseString( param, "Name", Item.Name);
ParseString( param, "Description", Item.Description);
ParseString( param, "AdditionalName", Item.AdditionalName);
ParseInt( param, "CrystalType", Item.CrystalType);
// Цвет Название предметов
AddTooltipItemName(Item.Name, Item, 1);
//Grade Mark
AddTooltipItemGrade(Item);
//설명
if (Len(Item.Description)>0)
{
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = Item.Description;
EndItem();
}
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// RECIPE
function ReturnTooltip_NTT_RECIPE(string param, ETooltipSourceType eSourceType, bool bShowPrice)
{
local ItemInfo Item;
local string strAdena;
local string strAdenaComma;
local color AdenaColor;
local int ItemNameClass;
if (eSourceType == NTST_ITEM)
{
ParseItemID(param, Item.ID);
ParseString( param, "Name", Item.Name);
ParseString( param, "Description", Item.Description);
ParseString( param, "AdditionalName", Item.AdditionalName);
ParseInt( param, "CrystalType", Item.CrystalType);
ParseInt( param, "Weight", Item.Weight);
ParseINT64( param, "Price", Item.Price);
ItemNameClass = class'UIDATA_ITEM'.static.GetItemNameClass(Item.ID);
// Цвет Название предметов
// AddTooltipItemName(Item.Name, Item, 1);
AddTooltipItemName(Item.Name, Item, ItemNameClass);
//GetChatWindowHandle( "ChatWnd.NormalChat" ).AddStringToChatWindow("RECIPE:" $ ItemNameClass, GetChatColorByType(0) );
//Grade Mark
AddTooltipItemGrade(Item);
//D Качество : 1/5 Дешовый
addTooltipItemQuality(Item);
//가격
if (bShowPrice)
{
strAdena = Int64ToString(Item.Price);
strAdenaComma = MakeCostString(strAdena);
AdenaColor = GetNumericColor(strAdenaComma);
//가격 : xxx,xxx,xxx
AddTooltipItemOption(641, strAdenaComma $ " ", true, true, false);
SetTooltipItemColor(AdenaColor.R, AdenaColor.G, AdenaColor.B, 0);
//"아데나"
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = AdenaColor;
m_Info.t_ID= 469;
EndItem();
//읽어주기 스트링
AddTooltipItemOption(0, "(" $ ConvertNumToText(strAdena) $ ")", false, true, false);
SetTooltipItemColor(AdenaColor.R, AdenaColor.G, AdenaColor.B, 0);
}
//Weight
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
//설명
if (Len(Item.Description)>0)
{
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = Item.Description;
EndItem();
}
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// SHORTCUT
function ReturnTooltip_NTT_SHORTCUT(string param, ETooltipSourceType eSourceType)
{
local ItemInfo Item;
local EItemParamType eItemParamType;
local EShortCutItemType eShortCutType;
local string ItemName;
local ShortcutCommandItem commandItem;
local int shortcutID;
local string strShort;
local ShortcutAssignWnd Script;
Script = ShortcutAssignWnd( GetScript( "OptionWnd.ShortcutTab" ) );
strShort = "<" $ GetSystemString(1523) $ ": ";
if (eSourceType == NTST_ITEM)
{
if( BoolSelect )
{
ParseInt( param, "ItemSubType", Item.ItemSubType);
ParseString( param, "Name", Item.Name);
ParseInt( param, "RefineryOp1", Item.RefineryOp1);
ParseInt( param, "RefineryOp2", Item.RefineryOp2);
eShortCutType = EShortCutItemType(Item.ItemSubType);
//아이템 이름 취득
ItemName = class'UIDATA_ITEM'.static.GetRefineryItemName( Item.Name, Item.RefineryOp1, Item.RefineryOp2 );
switch (eShortCutType)
{
case SCIT_ITEM:
ReturnTooltip_NTT_ITEM(param, "inventory", eSourceType);
break;
case SCIT_SKILL:
ReturnTooltip_NTT_SKILL(param, eSourceType);
break;
case SCIT_ACTION:
case SCIT_MACRO:
if (eSourceType == NTST_ITEM)
{
ParseString( param, "Name", Item.Name);
ParseString( param, "Description", Item.Description);
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
//액션 이름
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = Item.Name;
EndItem();
//액션 설명
if (Len(Item.Description)>0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = false;
m_Info.bLineBreak = true;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = Item.Description;
EndItem();
}
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
break;
case SCIT_RECIPE:
case SCIT_BOOKMARK:
//아이템 이름
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
StartItem();
m_Info.eType = DIT_TEXT;
//m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = ItemName;
EndItem();
break;
default:
break;
}
ParseINT(param, "ShortcutID", shortcutID);
if( GetOptionBool( "Game", "EnterChatting" ) )
{
class'ShortcutAPI'.static.GetAssignedKeyFromCommand("TempStateShortcut", "UseShortcutItem Num=" $ shortcutID, commandItem);
}
else
{
class'ShortcutAPI'.static.GetAssignedKeyFromCommand("GamingStateShortcut", "UseShortcutItem Num=" $ shortcutID, commandItem);
}
//단축키 설명...
if( commandItem.subkey1 != "" )
{
strShort = strShort $ Script.GetUserReadableKeyName( commandItem.subkey1 ) $ "+";
}
if( commandItem.subkey2 != "" )
{
strShort = strShort $ Script.GetUserReadableKeyName( commandItem.subkey2 ) $ "+";
}
if( commandItem.Key != "" )
{
strShort = strShort $ Script.GetUserReadableKeyName( commandItem.Key ) $ ">";
}
if( commandItem.subkey1 == "" && commandItem.subkey2 == "" && commandItem.Key == "" )
{
strShort = strShort $ GetSystemString(27) $">";
}
//줄추가~
AddTooltipItemBlank(6);
StartItem();
m_Info.eType = DIT_SPLITLINE;
m_Info.u_nTextureWidth = TOOLTIP_MINIMUM_WIDTH;
m_Info.u_nTextureHeight = 1;
m_Info.u_strTexture ="L2ui_ch3.tooltip_line";
EndItem();
if( ItemName != "" )
{
AddTooltipItemBlank(5);
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_strText = strShort;
EndItem();
AddTooltipItemBlank(4);
ReturnTooltipInfo(m_Tooltip);
}
return;
}
else
{
ParseItemID( param, Item.ID );
ParseString( param, "Name", Item.Name);
ParseString( param, "AdditionalName", Item.AdditionalName);
ParseInt( param, "Level", Item.Level);
ParseInt( param, "Reserved", Item.Reserved);
ParseInt( param, "Enchanted", Item.Enchanted);
ParseInt( param, "ItemType", Item.ItemType);
ParseInt( param, "ItemSubType", Item.ItemSubType);
ParseInt( param, "CrystalType", Item.CrystalType);
ParseInt( param, "ConsumeType", Item.ConsumeType);
ParseInt( param, "RefineryOp1", Item.RefineryOp1);
ParseInt( param, "RefineryOp2", Item.RefineryOp2);
ParseINT64( param, "ItemNum", Item.ItemNum);
ParseInt( param, "MpConsume", Item.MpConsume);
//branch
ParseInt ( param, "IsBRPremium", Item.IsBRPremium);
//end of branch
eShortCutType = EShortCutItemType(Item.ItemSubType);
eItemParamType = EItemParamType(Item.ItemType);
//아이템 이름 취득
ItemName = class'UIDATA_ITEM'.static.GetRefineryItemName( Item.Name, Item.RefineryOp1, Item.RefineryOp2 );
switch (eShortCutType)
{
case SCIT_ITEM:
//branch
AddPrimeItemSymbol(Item);
//end of branch
//인첸트 ex) "+10"
AddTooltipItemEnchant(Item);
//아이템 이름
AddTooltipItemName(ItemName, Item, 1);
//Grade Mark
AddTooltipItemGrade(Item);
//아이템 갯수
AddTooltipItemCount(Item);
break;
case SCIT_SKILL:
//아이템 이름
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = ItemName;
EndItem();
if (Len(Item.AdditionalName)>0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetX = 5;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 255;
m_Info.t_color.G = 217;
m_Info.t_color.B = 105;
m_Info.t_color.A = 255;
m_Info.t_strText = Item.AdditionalName;
EndItem();
Item.Level = class'UIDATA_SKILL'.static.GetEnchantSkillLevel( Item.ID, Item.Level );
}
//ex) " Lv "
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = " ";
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 88;
EndItem();
//스킬 레빌
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = " " $ Item.Level;
EndItem();
//MP소모량
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = " (";
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_ID = 91;
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = ":" $ Item.MpConsume $ ")";
EndItem();
break;
case SCIT_ACTION:
case SCIT_MACRO:
case SCIT_RECIPE:
case SCIT_BOOKMARK:
//아이템 이름
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = ItemName;
EndItem();
break;
}
}
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// RECIPE_MANUFACTURE
function ReturnTooltip_NTT_RECIPE_MANUFACTURE(string param, ETooltipSourceType eSourceType)
{
local ItemInfo Item;
local int ItemNameClass;
if (eSourceType == NTST_ITEM)
{
ParseItemID(param, Item.ID);
ParseString( param, "Name", Item.Name);
ParseString( param, "Description", Item.Description);
ParseString( param, "AdditionalName", Item.AdditionalName);
ParseINT64( param, "Reserved64", Item.Reserved64);
ParseInt( param, "CrystalType", Item.CrystalType);
ParseINT64( param, "ItemNum", Item.ItemNum);
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
ItemNameClass = class'UIDATA_ITEM'.static.GetItemNameClass(Item.ID);
//GetChatWindowHandle( "ChatWnd.NormalChat" ).AddStringToChatWindow("MANUFACTURE:" $ ItemNameClass, GetChatColorByType(0) );
//GetChatWindowHandle( "ChatWnd.NormalChat" ).AddStringToChatWindow("MANUFACTURE:" $ param, GetChatColorByType(0) );
// Цвет Название предметов
// AddTooltipItemName(Item.Name, Item, 1);
AddTooltipItemName(Item.Name, Item, ItemNameClass);
//Grade Mark
AddTooltipItemGrade(Item);
//D Качество : 1/5 Дешовый
addTooltipItemQuality(Item);
//ex) "필요수 : 2"
AddTooltipItemOption(736, Int64ToString(Item.Reserved64), true, true, false);
//ex) "보유수 : 0"
AddTooltipItemOption(737, Int64ToString(Item.ItemNum), true, true, false);
//설명
if (Len(Item.Description)>0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = Item.Description;
EndItem();
}
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// PLEDGEINFO
function ReturnTooltip_NTT_CLANINFO(string param, ETooltipSourceType eSourceType)
{
local LVDataRecord record;
if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );
//ex) "직업 : 엘븐메이지"
AddTooltipItemOption(391, GetClassType(int(record.LVDataList[2].szData)), true, true, true);
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
//선준 수정(2010.03.30) 완료
function ReturnTooltip_NTT_POSTINFO(string param, ETooltipSourceType eSourceType)
{
local LVDataRecord record;
if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );
//ex) "직업 : 엘븐메이지"
AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true);
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
//선준 수정(2010.02.22 ~ 03.08) 완료
/////////////////////////////////////////////////////////////////////////////////
// ROOMLIST
function ReturnTooltip_NTT_ROOMLIST(string param, ETooltipSourceType eSourceType)
{
local int i;
local LVDataRecord record;
local int len;
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH + 40;
if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );
len = int( record.LVDataList[6].szData );
for( i = 0 ; i < len ; i++ )
{
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.u_nTextureWidth = 11;
m_Info.u_nTextureHeight = 11;
m_Info.u_strTexture = GetClassIconName2( record.LVDataList[7 + i].nReserved1 );
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = false;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = " " $ record.LVDataList[7 + i].szData;
EndItem();
if( i != len - 1 )
{
AddTooltipItemBlank(2);
}
}
//ex) "직업 : 엘븐메이지"
//AddTooltipItemOption(391, GetClassType(int(record.LVDataList[2].szData)), true, true, true);
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// USERLIST
function ReturnTooltip_NTT_USERLIST(string param, ETooltipSourceType eSourceType)
{
local LVDataRecord record;
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH + 80;
if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );
//ex) "직업 : 엘븐메이지"
AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true);
AddTooltipItemBlank(0);
//ex)귀속 지역 :
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = GetSystemString( 2276 ) $ " : ";
EndItem();
//설명
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
if( record.LVDataList[5].szData == "" )
{
m_Info.t_strText = GetSystemString( 27 );
}
else
{
m_Info.t_strText = record.LVDataList[5].szData;
}
EndItem();
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// PARTYMATCH
function ReturnTooltip_NTT_PARTYMATCH(string param, ETooltipSourceType eSourceType)
{
local LVDataRecord record;
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH + 80;
if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );
//ex) "직업 : 엘븐메이지"
AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true);
//선준 수정(2010.02.22 ~ 03.08) 완료
//ex)현재 위치 : 글루디오
AddTooltipItemOption(471, GetZoneNameWithZoneID(int(record.LVDataList[3].szReserved)), true, true, true);
/*
AddTooltipItemBlank(0);
//귀속지역
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = false;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = GetSystemString( 2276 ) @ ":";
EndItem();
//설명
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
if( record.LVDataList[4].szData == "" )
{
//m_Info.bLineBreak = true;
m_Info.t_strText = "" @ GetSystemString( 27 );
}
else
{
m_Info.bLineBreak = true;
m_Info.t_strText = record.LVDataList[4].szData;
}
EndItem();
*/
AddTooltipItemBlank(0);
//ex)귀속 지역 :
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = GetSystemString( 2276 ) $ " : ";
//m_Info.t_strText = "귀속 지역 : ";
EndItem();
//설명
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
if( record.LVDataList[4].szReserved == "" )
{
m_Info.t_strText = GetSystemString( 27 );
}
else
{
m_Info.t_strText = record.LVDataList[4].szReserved;
}
EndItem();
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
//선준 추가 UNION 예전 직업만 나오는 경우.
/////////////////////////////////////////////////////////////////////////////////
// UINONLIST
function ReturnTooltip_NTT_UNIONLIST(string param, ETooltipSourceType eSourceType)
{
local LVDataRecord record;
if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );
//ex) "직업 : 엘븐메이지"
AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true);
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// QUESTLIST
function ReturnTooltip_NTT_QUESTLIST(string param, ETooltipSourceType eSourceType)
{
local LVDataRecord record;
local int nTmp;
if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );
//퀘스트 이름
AddTooltipItemOption(1200, record.LVDataList[0].szData, true, true, true);
//반복성
switch(record.LVDataList[3].nReserved1)
{
case 0:
case 2:
nTmp = 861;
break;
case 1:
case 3:
nTmp = 862;
break;
}
AddTooltipItemOption2(1202, nTmp, true, true, false);
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// RAIDLIST
function ReturnTooltip_NTT_RAIDLIST(string param, ETooltipSourceType eSourceType)
{
local LVDataRecord record;
if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );
if (Len(record.szReserved)<1)
return;
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
//레이드 설명
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = false;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = record.szReserved;
EndItem();
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// QUESTINFO
function ReturnTooltip_NTT_QUESTINFO(string param, ETooltipSourceType eSourceType)
{
local LVDataRecord record;
local int nTmp;
local int Width1;
local int Width2;
local int Height;
if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );
//퀘스트 이름
AddTooltipItemOption(1200, record.LVDataList[0].szData, true, true, true);
//수행조건
AddTooltipItemOption(1201, record.LVDataList[1].szData, true, true, false);
//Width결정!
GetTextSizeDefault(GetSystemString(1200) $ " : " $ record.LVDataList[0].szData, Width1, Height);
GetTextSizeDefault(GetSystemString(1201) $ " : " $ record.LVDataList[1].szData, Width2, Height);
if (Width2>Width1)
Width1 = Width2;
if (TOOLTIP_MINIMUM_WIDTH>Width1)
Width1 = TOOLTIP_MINIMUM_WIDTH;
m_Tooltip.MinimumWidth = Width1 + 30;
//추천레벨
AddTooltipItemOption(922, record.LVDataList[2].szData, true, true, false);
//반복성
switch(record.LVDataList[3].nReserved1)
{
case 0:
case 2:
nTmp = 861;
break;
case 1:
case 3:
nTmp = 862;
break;
}
AddTooltipItemOption2(1202, nTmp, true, true, false);
//퀘스트설명
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = false;
m_Info.bLineBreak = true;
m_Info.t_color.R = 178;
m_Info.t_color.G = 190;
m_Info.t_color.B = 207;
m_Info.t_color.A = 255;
m_Info.t_strText = record.szReserved;
EndItem();
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
// MANOR
function ReturnTooltip_NTT_MANOR(string param, string TooltipType, ETooltipSourceType eSourceType)
{
local LVDataRecord record;
local int idx1;
local int idx2;
local int idx3;
if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );
if (TooltipType == "ManorSeedInfo")
{
idx1 = 4;
idx2 = 5;
idx3 = 6;
}
else if (TooltipType == "ManorCropInfo")
{
idx1 = 5;
idx2 = 6;
idx3 = 7;
}
else if (TooltipType == "ManorSeedSetting")
{
idx1 = 7;
idx2 = 8;
idx3 = 9;
}
else if (TooltipType == "ManorCropSetting")
{
idx1 = 9;
idx2 = 10;
idx3 = 11;
}
else if (TooltipType == "ManorDefaultInfo")
{
idx1 = 1;
idx2 = 4;
idx3 = 5;
}
else if (TooltipType == "ManorCropSell")
{
idx1 = 7;
idx2 = 8;
idx3 = 9;
}
// 씨앗 or 작물 이름
AddTooltipItemOption(0, record.LVDataList[0].szData, false, true, true);
// 레벨
AddTooltipItemOption(537, record.LVDataList[idx1].szData, true, true, false);
// 보상 타입1
AddTooltipItemOption(1134, record.LVDataList[idx2].szData, true, true, false);
// 보상 타입2
AddTooltipItemOption(1135, record.LVDataList[idx3].szData, true, true, false);
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
// [퀘스트 아이템 툴팁 추가]
function ReturnTooltip_NTT_QUESTREWARDS(string param, ETooltipSourceType eSourceType)
{
// [퀘스트 아이템 툴팁 추가] 이 부분에 퀘스트 아이템 툴팁에 걸맞는 코드가 들어가면 될 것 같습니다.
// 2009.10.14
// ReturnTooltip_NTT_ITEM(param, "Inventoty", eSourceType);
ReturnTooltip_NTT_ITEM(param, "QuestReward", eSourceType);
}
//"XXX : YYYY" 형태의 TooltipItem을 편하게 추가해 준다.
function AddTooltipItemOption(int TitleID, string Content, bool bTitle, bool bContent, bool IamFirst)
{
if (bTitle)
{
StartItem();
m_Info.eType = DIT_TEXT;
if (!IamFirst)
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = TitleID;
EndItem();
}
if (Content != "0")
{
if (bContent)
{
if (bTitle)
{
StartItem();
m_Info.eType = DIT_TEXT;
if (!IamFirst)
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = " : ";
EndItem();
}
StartItem();
m_Info.eType = DIT_TEXT;
if (!IamFirst)
m_Info.nOffSetY = 6;
if (!bTitle)
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = Content;
EndItem();
}
}
}
// Уровень Использования
function AddTooltipItemUseLevel(ItemInfo Item)
{
local int myLevel;
local int minLevel;
local int ColorR;
local int ColorG;
local int ColorB;
local int ColorA;
// 5099 u,Мин. Уровень\0
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 5099;
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = " : ";
EndItem();
myLevel = GetMyUserLevel();
minLevel = getItemMinLevel(Item);
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
isUseLevelColor(myLevel, minLevel, ColorR, ColorG, ColorB, ColorA);
m_Info.t_color.R = ColorR;
m_Info.t_color.G = ColorG;
m_Info.t_color.B = ColorB;
m_Info.t_color.A = ColorA;
m_Info.t_strText = String(minLevel);
EndItem();
}
// уровень персонажа
function int GetMyUserLevel()
{
local UserInfo PlayerInfo;
local int Level;
if( GetPlayerInfo( PlayerInfo ) )
{
Level = PlayerInfo.nLevel;
}
else
{
Level = 0;
}
return Level;
}
// Минимальный уровень использование предмета
function int getItemMinLevel(ItemInfo Item)
{
local int value;
value = 1;
switch (Item.CrystalType)
{
case 5: // S
value = 120;
break;
case 4: // A
value = 120;
break;
case 3: // B
value = 120;
break;
case 2: // C
value = 120;
break;
case 1: // D
value = getItemMinLevelD(Item);
break;
}
return value;
}
// мин лвл для д
function int getItemMinLevelD(ItemInfo Item)
{
local int value;
value = 1;
switch (class'UIDATA_ITEM'.static.GetItemNameClass(Item.ID))
{
case 0: // 0 Дешовый Тёмно бел 898989 137,137,137
value = 1;
break;
case 1: // 1 Обычный Белый FFFFFF 255,255,255
value = 20;
break;
case 2: // 2 Эпический Зеленый 00FF00 000,255,000
value = 40;
break;
case 3: // 3 Легендарный Жёлтый FFFF00 255,255,000
value = 60;
break;
case 4: // 4 Мифический Красный FF0000 255,000,000
value = 70;
break;
}
return value;
}
// зеленым возможно использование иначе красным нет
function isUseLevelColor(int myLevel, int minLevel, out int R, out int G, out int B, out int A)
{
if( myLevel >= minLevel )
{
// Зеленый 00FF00 000,255,000
R = 000;
G = 255;
B = 000;
A = 255;
}
else
{
// Красный FF0000 255,000,000
R = 255;
G = 000;
B = 000;
A = 255;
}
}
//"XXX : YYYY" 형태의 TooltipItem을 편하게 추가해 준다.
//SYSSTRING : SYSSTRING
function AddTooltipItemOption2(int TitleID, int ContentID, bool bTitle, bool bContent, bool IamFirst)
{
if (bTitle)
{
StartItem();
m_Info.eType = DIT_TEXT;
if (!IamFirst)
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = TitleID;
EndItem();
}
if (bContent)
{
if (bTitle)
{
StartItem();
m_Info.eType = DIT_TEXT;
if (!IamFirst)
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = " : ";
EndItem();
}
StartItem();
m_Info.eType = DIT_TEXT;
if (!IamFirst)
m_Info.nOffSetY = 6;
if (!bTitle)
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_ID = ContentID;
EndItem();
}
}
//아이템의 색상을 다시 설정해준다.
function SetTooltipItemColor(int R, int G, int B, int Offset)
{
local int idx;
idx = m_Tooltip.DrawList.Length-1-Offset;
m_Tooltip.DrawList[idx].t_color.R = R;
m_Tooltip.DrawList[idx].t_color.G = G;
m_Tooltip.DrawList[idx].t_color.B = B;
m_Tooltip.DrawList[idx].t_color.A = 255;
}
//D TooltipItem Добавить пустое место.
function AddTooltipItemBlank(int Height)
{
StartItem();
m_Info.eType = DIT_BLANK;
m_Info.b_nHeight = Height;
EndItem();
}
//인첸트
function AddTooltipItemEnchant(ItemInfo Item)
{
local EItemParamType eItemParamType;
eItemParamType = EItemParamType(Item.ItemType);
if (Item.Enchanted>0 && IsEnchantableItem(eItemParamType))
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = "+" $ Item.Enchanted $ " ";
EndItem();
}
}
//D Цвет Название предметов (качество) + AdditionalName
function AddTooltipItemName(string Name, ItemInfo Item, int AddTooltipItemName)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
switch (AddTooltipItemName)
{
case 0: // 0 Дешовый Тёмно бел 898989 137,137,137
m_Info.t_color.R = 137;
m_Info.t_color.G = 137;
m_Info.t_color.B = 137;
m_Info.t_color.A = 255;
break;
case 1: // 1 Обычный Белый FFFFFF 255,255,255
m_Info.t_color.R = 255;
m_Info.t_color.G = 255;
m_Info.t_color.B = 255;
m_Info.t_color.A = 255;
break;
case 2: // 2 Эпический Зеленый 00FF00 000,255,000
m_Info.t_color.R = 000;
m_Info.t_color.G = 255;
m_Info.t_color.B = 000;
m_Info.t_color.A = 255;
break;
case 3: // 3 Легендарный Жёлтый FFFF00 255,255,000
m_Info.t_color.R = 255;
m_Info.t_color.G = 255;
m_Info.t_color.B = 000;
m_Info.t_color.A = 255;
break;
case 4: // 4 Мифический Красный FF0000 255,000,000
m_Info.t_color.R = 255;
m_Info.t_color.G = 000;
m_Info.t_color.B = 000;
m_Info.t_color.A = 255;
break;
}
m_Info.t_strText = Name;
EndItem();
//Additional Name
if (Len(Item.AdditionalName)>0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 255;
m_Info.t_color.G = 217;
m_Info.t_color.B = 105;
m_Info.t_color.A = 255;
m_Info.t_strText = " " $ Item.AdditionalName;
EndItem();
}
}
function GetQualityColor(ItemInfo Item, out int R, out int G, out int B, out int A)
{
switch (class'UIDATA_ITEM'.static.GetItemNameClass(Item.ID))
{
case 0: // 0 Дешовый Тёмно бел 898989 137,137,137
R = 137;
G = 137;
B = 137;
A = 255;
break;
case 1: // 1 Обычный Белый FFFFFF 255,255,255
R = 255;
G = 255;
B = 255;
A = 255;
break;
case 2: // 2 Эпический Зеленый 00FF00 000,255,000
R = 000;
G = 255;
B = 000;
A = 255;
break;
case 3: // 3 Легендарный Жёлтый FFFF00 255,255,000
R = 255;
G = 255;
B = 000;
A = 255;
break;
case 4: // 4 Мифический Красный FF0000 255,000,000
R = 255;
G = 000;
B = 000;
A = 255;
break;
default:
R = 137;
G = 137;
B = 137;
A = 255;
break;
}
}
//D Качество : 1/5 Дешовый
function addTooltipItemQuality(ItemInfo Item)
{
local string Content;
local int ColorR;
local int ColorG;
local int ColorB;
local int ColorA;
//D 5084 Качество
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 5084;
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = " : ";
EndItem();
//D 1/5 Дешовый
Content = getInfoQualityType(Item) $ "/5 " ;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = Content;
EndItem();
//D
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
//m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
// m_Info.t_color.R = 163;
// m_Info.t_color.G = 163;
// m_Info.t_color.B = 163;
// m_Info.t_color.A = 255;
GetQualityColor(Item, ColorR, ColorG, ColorB, ColorA);
m_Info.t_color.R = ColorR;
m_Info.t_color.G = ColorG;
m_Info.t_color.B = ColorB;
m_Info.t_color.A = ColorA;
m_Info.t_ID = getSysStringQualityType(Item);
EndItem();
}
function int getSysStringQualityType(ItemInfo Item)
{
local int SysString;
switch (class'UIDATA_ITEM'.static.GetItemNameClass(Item.ID))
{
//D 5079 Дешовый
case 0:
SysString = 5079;
break;
//D 5080 Обычный
case 1:
SysString = 5080;
break;
//D 5081 Эпический
case 2:
SysString = 5081;
break;
//D 5082 Легендарный
case 3:
SysString = 5082;
break;
//D 5083 Мифический
case 4:
SysString = 5083;
break;
default:
SysString = 5079;
break;
}
return SysString;
}
function string getInfoQualityType(ItemInfo Item)
{
local string SysString;
switch (class'UIDATA_ITEM'.static.GetItemNameClass(Item.ID))
{
//D 5079 Дешовый
case 0:
SysString = "1";
break;
//D 5080 Обычный
case 1:
SysString = "2";
break;
//D 5081 Эпический
case 2:
SysString = "3";
break;
//D 5082 Легендарный
case 3:
SysString = "4";
break;
//D 5083 Мифический
case 4:
SysString = "5";
break;
default:
SysString = "1";
break;
}
return SysString;
}
// 95 u,Физ. Защ.\0
function AddNewPhysicalDefense(int CrystalType, int Enchanted, int PhysicalDefense)
{
//AddNewPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense);
//AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)), true, true, false);
local string Content;
local int overenchant;
local int enchant;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 95; // 95 u,Физ. Защ.\0
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = " : ";
EndItem();
if(Enchanted > 0)
{
enchant = Enchanted;
overenchant = 0;
if (Enchanted > 3)
{
overenchant = Enchanted - 3;
enchant = 3;
}
Content = string(PhysicalDefense + enchant + (3 * overenchant)) $ " (" $ string(PhysicalDefense) $ " +" $ string(enchant + (3 * overenchant)) $ ")";
}
else
{
Content = string(PhysicalDefense);
}
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = Content;
EndItem();
}
// 99 u,Маг. Защ.\0
function AddNewMagicalDefense(int CrystalType, int Enchanted, int MagicalDefense)
{
//AddTooltipItemOption(99, String(GetMagicalDefense(Item.CrystalType, Item.Enchanted, Item.MagicalDefense)), true, true, false);
local string Content;
local int overenchant;
local int enchant;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 99; // 99 u,Маг. Защ.\0
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = " : ";
EndItem();
if(Enchanted > 0)
{
enchant = Enchanted;
overenchant = 0;
if (Enchanted > 3)
{
overenchant = Enchanted - 3;
enchant = 3;
}
Content = string(MagicalDefense + enchant + (3 * overenchant)) $ " (" $ string(MagicalDefense) $ " +" $ string(enchant + (3 * overenchant)) $ ")";
}
else
{
Content = string(MagicalDefense);
}
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = Content;
EndItem();
}
// 94 u,Физ. Атк.\0
function AddNewPhysicalDamage( int WeaponType, int SlotBitType, int CrystalType, int Enchanted, int PhysicalDamage )
{
local string Content;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 94; // 94 u,Физ. Атк.\0
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = " : ";
EndItem();
if(Enchanted > 0)
{
Content = string(PhysicalDamage + getScrollEnchantBonus( CrystalType, Enchanted)) $ " (" $ string(PhysicalDamage) $ " +" $ string(getScrollEnchantBonus( CrystalType, Enchanted)) $ ")";
}
else
{
Content = string(PhysicalDamage);
}
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = Content;
EndItem();
}
// 98 u,Маг. Атк.\0
function AddNewMagicalDamage( int WeaponType, int SlotBitType, int CrystalType, int Enchanted, int MagicalDamage )
{
local string Content;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_ID = 98; // 98 u,Маг. Атк.\0
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.t_strText = " : ";
EndItem();
if(Enchanted > 0)
{
Content = string(MagicalDamage + getScrollEnchantBonus( CrystalType, Enchanted)) $ " (" $ string(MagicalDamage) $ " +" $ string(getScrollEnchantBonus( CrystalType, Enchanted)) $ ")";
}
else
{
Content = string(MagicalDamage);
}
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 176;
m_Info.t_color.G = 155;
m_Info.t_color.B = 121;
m_Info.t_color.A = 255;
m_Info.t_strText = Content;
EndItem();
}
function int getScrollEnchantBonus(int CrystalType, int Enchanted)
{
local int overenchant;
overenchant = 0;
if (Enchanted > 3)
{
overenchant = Enchanted - 3;
Enchanted = 3;
}
return (getWeaponCrystalEnchantP(CrystalType) * Enchanted) + ((getWeaponCrystalEnchantP(CrystalType) * 2) * overenchant);
}
function int getWeaponCrystalEnchantP(int CrystalType)
{
local int enchant;
switch (CrystalType)
{
case 5: // S
enchant = 10;
break;
case 4: // A
enchant = 8;
break;
case 3: // B
enchant = 6;
break;
case 2: // C
enchant = 4;
break;
case 0: // NONE
case 1: // D
enchant = 2;
break;
default:
enchant = 0;
break;
}
return enchant;
}
//Grade Mark
function AddTooltipItemGrade(ItemInfo Item)
{
local string TextureName;
TextureName = GetItemGradeTextureName(Item.CrystalType);
//debug ("TextureName" @ TextureName);
//debug (TextureName @ Item.CrystalType @ GetItemGradeTextureName(Item.CrystalType));
if (Len(TextureName)>0)
{
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.nOffSetX = 2;
m_Info.nOffSetY = 0;
//S80 그레이드일 경우에 한해 아이콘 텍스쳐 크기를 2배로 늘린다.
//debug ("텍스쳐 이름"@ Item.CrystalType );
if (Item.CrystalType == 6 || Item.CrystalType == 7)
{
m_Info.u_nTextureWidth = 32;
m_Info.u_nTextureHeight = 16;
m_Info.u_nTextureUWidth = 32;
m_Info.u_nTextureUHeight = 16;
//debug (TextureName @ Item.CrystalType @ GetItemGradeTextureName(Item.CrystalType));
}
//기타 그레이드에 대해 아이콘 텍스쳐 크기를 세팅한다.
else
{
m_Info.u_nTextureWidth = 16;
m_Info.u_nTextureHeight = 16;
m_Info.u_nTextureUWidth = 16;
m_Info.u_nTextureUHeight = 16;
}
m_Info.u_strTexture = TextureName;
EndItem();
}
}
//Stackable Count
function AddTooltipItemCount(ItemInfo Item)
{
if (IsStackableItem(Item.ConsumeType))
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = " (" $ MakeCostString(Int64ToString(Item.ItemNum)) $ ")";
EndItem();
}
}
//제련 색상
function GetRefineryColor(int Quality, out int R, out int G, out int B)
{
switch (Quality)
{
case 1:
R = 187;
G = 181;
B = 138;
break;
case 2:
R = 132;
G = 174;
B = 216;
break;
case 3:
R = 193;
G = 112;
B = 202;
break;
case 4:
R = 225;
G = 109;
B = 109;
break;
default:
R = 187;
G = 181;
B = 138;
break;
}
}
//속성 게이지 그려주기
function AddTooltipItemAttributeGage(ItemInfo Item)
{
local int i;
//local int highAttrValue[6];
local Array<string> textureName, tooltipStr;
for(i = 0; i < 6; i++)
{
textureName[i] = "";
tooltipStr[i] = "";
}
NowAttrLv =0;
NowMaxValue =0;
NowValue =0;
// 공격 아이템 속성
if (Item.AttackAttributeValue > 0)
{
SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_FIRE);
SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_WATER);
SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_WIND);
SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_EARTH);
SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_HOLY);
SetAttackAttribute(Item.AttackAttributeValue,ATTRIBUTE_UNHOLY); //레벨과 현제값등을 구한다.
switch(Item.AttackAttributeType)
{
case ATTRIBUTE_FIRE:
textureName[ATTRIBUTE_FIRE] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_FIRE";
tooltipStr[ATTRIBUTE_FIRE] =GetSystemString(1622) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_FIRE]) $ " ("$ GetSystemString(1622) $ " " $ GetSystemString(55) $ " " $ String(Item.AttackAttributeValue) $")";
break;
case ATTRIBUTE_WATER:
textureName[ATTRIBUTE_WATER] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_WATER";
tooltipStr[ATTRIBUTE_WATER] =GetSystemString(1623) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_WATER]) $ " ("$ GetSystemString(1623) $ " " $ GetSystemString(55) $ " " $String(Item.AttackAttributeValue) $ ")";
break;
case ATTRIBUTE_WIND:
textureName[ATTRIBUTE_WIND] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_WIND";
tooltipStr[ATTRIBUTE_WIND] =GetSystemString(1624) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_WIND]) $ " ("$ GetSystemString(1624) $ " " $ GetSystemString(55) $ " " $String(Item.AttackAttributeValue) $ ")";
break;
case ATTRIBUTE_EARTH:
textureName[ATTRIBUTE_EARTH] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_EARTH";
tooltipStr[ATTRIBUTE_EARTH] =GetSystemString(1625) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_EARTH]) $ " ("$ GetSystemString(1625) $ " " $ GetSystemString(55) $ " " $ String(Item.AttackAttributeValue) $")";
break;
case ATTRIBUTE_HOLY:
textureName[ATTRIBUTE_HOLY] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_DIVINE";
tooltipStr[ATTRIBUTE_HOLY] =GetSystemString(1626) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_HOLY]) $ " ("$ GetSystemString(1626) $ " " $ GetSystemString(55) $ " " $String(Item.AttackAttributeValue) $ ")";
break;
case ATTRIBUTE_UNHOLY:
textureName[ATTRIBUTE_UNHOLY] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_DARK";
tooltipStr[ATTRIBUTE_UNHOLY] =GetSystemString(1627) $ " Lv " $ String(AttackAttLevel[ATTRIBUTE_UNHOLY]) $ " ("$ GetSystemString(1627) $ " " $ GetSystemString(55) $ " " $String(Item.AttackAttributeValue) $ ")";
break;
}
}
else // 방어 아이템 속성
{
SetDefAttribute(Item.DefenseAttributeValueFire,ATTRIBUTE_FIRE);
SetDefAttribute(Item.DefenseAttributeValueWater,ATTRIBUTE_WATER);
SetDefAttribute(Item.DefenseAttributeValueWind,ATTRIBUTE_WIND);
SetDefAttribute(Item.DefenseAttributeValueEarth,ATTRIBUTE_EARTH);
SetDefAttribute(Item.DefenseAttributeValueHoly,ATTRIBUTE_HOLY);
SetDefAttribute(Item.DefenseAttributeValueUnholy,ATTRIBUTE_UNHOLY); //레벨과 현제값등을 구한다.
if(Item.DefenseAttributeValueFire != 0) //파이어 속성 툴팁 그리기
{
textureName[ATTRIBUTE_FIRE] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_FIRE";
tooltipStr[ATTRIBUTE_FIRE] =GetSystemString(1623) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_FIRE]) $ " ("$ GetSystemString(1622) $ " " $ GetSystemString(54) $ " " $ String(Item.DefenseAttributeValueFire) $")";
}
if(Item.DefenseAttributeValueWater != 0) //물 속성 툴팁 그리기
{
textureName[ATTRIBUTE_WATER] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_WATER";
tooltipStr[ATTRIBUTE_WATER] =GetSystemString(1622) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_WATER]) $ " ("$ GetSystemString(1623) $ " " $ GetSystemString(54) $ " " $String(Item.DefenseAttributeValueWater) $ ")";
}
if(Item.DefenseAttributeValueWind != 0) //바람 속성 툴팁 그리기
{
textureName[ATTRIBUTE_WIND] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_WIND";
tooltipStr[ATTRIBUTE_WIND] =GetSystemString(1625) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_WIND]) $ " ("$ GetSystemString(1624) $ " " $ GetSystemString(54) $ " " $String(Item.DefenseAttributeValueWind) $")";
}
if(Item.DefenseAttributeValueEarth != 0) //땅 속성 툴팁 그리기
{
textureName[ATTRIBUTE_EARTH] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_EARTH";
tooltipStr[ATTRIBUTE_EARTH] =GetSystemString(1624) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_EARTH]) $ " ("$ GetSystemString(1625) $ " " $ GetSystemString(54) $ " " $String(Item.DefenseAttributeValueEarth) $ ")";
}
if(Item.DefenseAttributeValueHoly != 0) //신성 속성 툴팁 그리기
{
textureName[ATTRIBUTE_HOLY] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_DIVINE";
tooltipStr[ATTRIBUTE_HOLY] =GetSystemString(1627) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_HOLY]) $ " ("$ GetSystemString(1626) $ " " $ GetSystemString(54) $ " " $ String(Item.DefenseAttributeValueHoly) $")";
}
if(Item.DefenseAttributeValueUnholy != 0) //암흑 속성 툴팁 그리기
{
textureName[ATTRIBUTE_UNHOLY] = "L2UI_CT1.Gauges.Gauge_DF_Attribute_DARK";
tooltipStr[ATTRIBUTE_UNHOLY] =GetSystemString(1626) $ " Lv " $ String(DefAttLevel[ATTRIBUTE_UNHOLY]) $ " ("$ GetSystemString(1627) $ " " $ GetSystemString(54) $ " " $String(Item.DefenseAttributeValueUnholy) $ ")";
}
// 방어 아이템 속성
}
if (Item.AttackAttributeValue > 0)//공격속성일경우
{
for(i = 0; i < 6; i++)
{
if(tooltipStr[i] == "") continue;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 10;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = tooltipStr[i];
EndItem();
//텍스쳐 두장을 겹쳐 그려야 한다.
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.nOffSetX = 0;
m_Info.nOffSetY = 2;
m_Info.u_nTextureWidth = 140;
m_Info.u_nTextureHeight = 7;
m_Info.u_strTexture = textureName[i] $ "_BG";
EndItem();
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.nOffSetX = 0;
m_Info.nOffSetY = -7;
m_Info.u_nTextureWidth = AttackAttCurrValue[i] * 140 / AttackAttMaxValue[i] ;
if( m_Info.u_nTextureWidth > 140) m_Info.u_nTextureWidth = 140; //넘어가면 걍 140이라는.. ㅋ
m_Info.u_nTextureHeight = 7;
m_Info.u_strTexture = textureName[i];
EndItem();
}
}
else{ //방어 속성일 경우
for(i = 0; i < 6; i++)
{
if(tooltipStr[i] == "") continue;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 10;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = tooltipStr[i];
EndItem();
//텍스쳐 두장을 겹쳐 그려야 한다.
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.nOffSetX = 0;
m_Info.nOffSetY = 2;
m_Info.u_nTextureWidth = 140;
m_Info.u_nTextureHeight = 7;
m_Info.u_strTexture = textureName[i] $ "_BG";
EndItem();
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.nOffSetX = 0;
m_Info.nOffSetY = -7;
m_Info.u_nTextureWidth = DefAttCurrValue[i] * 140 / DefAttMaxValue[i] ;
if( m_Info.u_nTextureWidth > 140) m_Info.u_nTextureWidth = 140; //넘어가면 걍 140이라는.. ㅋ
m_Info.u_nTextureHeight = 7;
m_Info.u_strTexture = textureName[i];
EndItem();
}
}
}
// function StartItem()
// {
// local DrawItemInfo infoClear;
// m_Info = infoClear;
// }
//
// function EndItem()
// {
// m_Tooltip.DrawList.Length = m_Tooltip.DrawList.Length + 1;
// m_Tooltip.DrawList[m_Tooltip.DrawList.Length-1] = m_Info;
// }
//퀘스트 아이템의 퀘스트 이름 표시
function AddTooltipItemQuestList(ItemInfo Item)
{
local int i;
//<관련 퀘스트>
if(Item.RelatedQuestID[0] != 0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 10;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = GetSystemString(1721);
EndItem();
}
for(i = 0 ; i<MAX_RELATED_QUEST ; i++)
{
if(Item.RelatedQuestID[i] != 0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_color.R = 163;
m_Info.t_color.G = 163;
m_Info.t_color.B = 163;
m_Info.t_color.A = 255;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = class'UIDATA_QUEST'.static.GetQuestName(Item.RelatedQuestID[i]);;
EndItem();
}
}
}
// 속성의 레벨값을 전역변수에 저장 //자료가 많아서 전역변수에 집어넣는다.
function SetAttackAttribute(int Attvalue, int type)
{
if( AttValue >= 375) // 9렙 375 ~ 450
{
AttackAttLevel[type] = 9;
AttackAttMaxValue[type] = 75;
AttackAttCurrValue[type] = AttValue - 375;
}
else if( AttValue >= 325) // 8렙 325 ~ 375
{
AttackAttLevel[type] = 8;
AttackAttMaxValue[type] = 50;
AttackAttCurrValue[type] = AttValue - 325;
}
else if( AttValue >= 300) // 7렙 300 ~ 325
{
AttackAttLevel[type] = 7;
AttackAttMaxValue[type] = 25;
AttackAttCurrValue[type] = AttValue - 300;
}
else if( AttValue >= 225) // 6렙 225 ~ 300
{
AttackAttLevel[type] = 6;
AttackAttMaxValue[type] = 75;
AttackAttCurrValue[type] = AttValue - 225;
}
else if( AttValue >= 175) // 5렙 175 ~ 225
{
AttackAttLevel[type] = 5;
AttackAttMaxValue[type] = 50;
AttackAttCurrValue[type] = AttValue - 175;
}
else if( AttValue >= 150) // 4렙 150 ~ 175
{
AttackAttLevel[type] = 4;
AttackAttMaxValue[type] = 25;
AttackAttCurrValue[type] = AttValue - 150;
}
else if( AttValue >= 75) // 3렙 75 ~ 150
{
AttackAttLevel[type] = 3;
AttackAttMaxValue[type] = 75;
AttackAttCurrValue[type] = AttValue - 75;
}
else if( AttValue >= 25) // 2렙 25~ 75
{
AttackAttLevel[type] = 2;
AttackAttMaxValue[type] = 50;
AttackAttCurrValue[type] = AttValue - 25;
}
else // else 0~ 25
{
AttackAttLevel[type] = 1;
AttackAttMaxValue[type] = 25;
AttackAttCurrValue[type] = AttValue;
}
}
// 속성의 레벨값을 전역변수에 저장 //자료가 많아서 전역변수에 집어넣는다.
function SetDefAttribute(int Defvalue, int type)
{
if( DefValue >= 150) // 9렙 150~180
{
DefAttLevel[type] = 9;
DefAttMaxValue[type] = 30;
DefAttCurrValue[type] = DefValue - 150;
}
else if( DefValue >= 132) // 8렙 132 ~ 150
{
DefAttLevel[type] = 8;
DefAttMaxValue[type] = 18;
DefAttCurrValue[type] = DefValue - 132;
}
else if( DefValue >= 120) // 7렙 120 ~ 132
{
DefAttLevel[type] = 7;
DefAttMaxValue[type] = 12;
DefAttCurrValue[type] = DefValue - 120;
}
else if( DefValue >= 90) // 6렙 90 ~ 120
{
DefAttLevel[type] = 6;
DefAttMaxValue[type] = 30;
DefAttCurrValue[type] = DefValue - 90;
}
else if( DefValue >= 72) // 5렙 72 ~ 90
{
DefAttLevel[type] = 5;
DefAttMaxValue[type] = 18;
DefAttCurrValue[type] = DefValue - 72;
}
else if( DefValue >= 60) // 4렙 60 ~ 72
{
DefAttLevel[type] = 4;
DefAttMaxValue[type] = 12;
DefAttCurrValue[type] = DefValue - 60;
}
else if( DefValue >= 30) // 3렙 30 ~ 60
{
DefAttLevel[type] = 3;
DefAttMaxValue[type] = 30;
DefAttCurrValue[type] = DefValue - 30;
}
else if( DefValue >= 12) // 2렙 // 12 ~ 30
{
DefAttLevel[type] = 2;
DefAttMaxValue[type] = 18;
DefAttCurrValue[type] = DefValue - 12;
}
else // else // 0~ 12
{
DefAttLevel[type] = 1;
DefAttMaxValue[type] = 12;
DefAttCurrValue[type] = DefValue;
}
}
//branch
function AddPrimeItemSymbol(ItemInfo Item)
{
local string TextureName;
if (Item.IsBRPremium != 2)
return;
TextureName = GetPrimeItemSymbolName();
if (Len(TextureName)>0)
{
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.nOffSetX = 2;
m_Info.nOffSetY = 0;
m_Info.u_nTextureWidth = 16;
m_Info.u_nTextureHeight = 16;
m_Info.u_nTextureUWidth = 16;
m_Info.u_nTextureUHeight = 16;
m_Info.u_strTexture = TextureName;
EndItem();
}
}
//end of branch
defaultproperties
{
}