Hi ! I need to Add icon of item grades on H5 client , for example on weapongrp i noticed grades are numbers like 1,2,3,4,5 ... OKey
I try to add 6,7,9 ( R GRADE ,etc)... I decompile tooltip class of interface.u file ... but i dont understand te code for add new grade.
This is my Tooltip The interface is essence for H5 I download here in MX
I already have the images in .utx of the degrees, but I don't know how to point everything...
)
class Tooltip extends UICommonAPI;
const TOOLTIP_MINIMUM_WIDTH = 144;
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;
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;
var Color Red, Yellow, Bronze, Gray;
function OnRegisterEvent()
{
RegisterEvent( EV_RequestTooltipInfo );
}
function OnLoad()
{
BoolSelect = true; // 숏컷 툴팁 켜기/끄기 기본값을 켜기로(TTP#41925) 2010.8.23 - winkey
Red.R = 255;
Red.G = 0;
Red.B = 0;
Red.A = 255;
Yellow.R = 255;
Yellow.G = 215;
Yellow.B = 0;
Yellow.A = 255;
Bronze.R = 176;
Bronze.G = 155;
Bronze.B = 121;
Bronze.A = 255;
Gray.R = 163;
Gray.G = 163;
Gray.B = 163;
Gray.A = 255;
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;
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 == "RecipeManufactureBuy")
{
ReturnTooltip_NTT_RECIPE_MANUFACTUREBUY(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.
|| TooltipType == "TaliList")
{
//~ 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);
}
else if (TooltipType == "RadarInfo")//by Merc
{
ReturnTooltip_NTT_RADARINFO(param, eSourceType);
}
else if (TooltipType == "AutoSS")//by Monokini
{
ReturnTooltip_NTT_AUTOSSINFO(param, eSourceType);
}
else if (TooltipType == "RadarResize")//by Monokini
{
ReturnTooltip_NTT_RADARRESIZE(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;
}
/////////////////////////////////////////////////////////////////////////////////
// TEXT
function ReturnTooltip_NTT_TEXT(string param, ETooltipSourceType eSourceType, bool bDesc)
{
local string strText;
local int ID;
local int i;
local int j;
local array<int> QID;
local UserInfo info;
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
{
if (ParseInt( strText, "#ID", ID)) //RadarMapObj - normal NPC
{
GetUserInfo(ID, info);
if (info.strNickName != "")
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.nOffSetX = 1;
m_Info.nOffSetY = 2;
m_Info.t_color = info.NicknameColor;
m_Info.t_strText = info.strNickName;
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.nOffSetX = 1;
m_Info.nOffSetY = 2;
m_Info.t_strText = info.Name;
EndItem();
}
else // normal text tooltip
{
AddTooltipSimpleName(info.Name);
}
}
else if (ParseInt(strText, "#Length", ID)) //RadarMapObj - NPC with Quest Emitter
{
QID.Length = ID;
for (i = 0; i < ID; i++)
ParseInt(strText, "#Q" $ string(i), QID[i]);
for (i = 0; i < ID; i++)
{
for (j = 0; j < ID; j++)
if ((QID[i] == QID[j]) && (i != j) && (QID[i] > 0)) QID[i] = -1;
}
ParseInt(strText, "#Name", i);
GetUserInfo(i, info);
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.nOffSetX = 1;
m_Info.nOffSetY = 1;
m_Info.t_strText = info.Name;
EndItem();
for (i = 0; i < ID; i++)
{
if (QID[i] > 0)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.nOffSetX = 1;
m_Info.nOffSetY = 1;
m_Info.t_color.R = 127;
m_Info.t_color.G = 114;
m_Info.t_color.B = 89;
m_Info.t_color.A = 255;
m_Info.t_strText = class'UIDATA_QUEST'.static.GetQuestName(QID[i]);
EndItem();
}
}
}
else if (ParseInt(strText, "#QID", ID)) //RadarMapObj - Current Quest Target
{
ParseInt(strText, "#Level", i);
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.nOffSetY = 1;
m_Info.nOffSetX = 1;
m_Info.t_strText = class'UIDATA_QUEST'.static.GetTargetName(ID, i);
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.nOffSetX = 1;
m_Info.nOffSetY = 1;
m_Info.t_color.R = 127;
m_Info.t_color.G = 114;
m_Info.t_color.B = 89;
m_Info.t_color.A = 255;
m_Info.t_strText = class'UIDATA_QUEST'.static.GetQuestName(ID);
EndItem();
}
else
{
AddTooltipSimpleName(strText);
}
}
}
}
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);
}
function string CheckHPEnchant(int SlotBitType, int CrystalType, int Enchant)
{
local string enchantHP;
enchantHP="";
if ((SlotBitType==32768) || (SlotBitType==1024) || (SlotBitType==256) || (SlotBitType==2048) || (SlotBitType==512)|| (SlotBitType==64) || (SlotBitType==1) || (SlotBitType==268435456) || (SlotBitType==4096) )
{
if (SlotBitType!=32768)
{
if (CrystalType == 1)
{
if (Enchant == 4) enchantHP="9";
else if (Enchant == 5) enchantHP="26";
else if (Enchant == 6) enchantHP="52";
else if (Enchant == 7) enchantHP="86";
else if (Enchant == 8) enchantHP="130";
else if (Enchant == 9) enchantHP="181";
else if (Enchant >= 10) enchantHP="242";
}
else if (CrystalType == 2)
{
if (Enchant == 4) enchantHP="12";
else if (Enchant == 5) enchantHP="36";
else if (Enchant == 6) enchantHP="71";
else if (Enchant == 7) enchantHP="118";
else if (Enchant == 8) enchantHP="178";
else if (Enchant == 9) enchantHP="249";
else if (Enchant >= 10) enchantHP="332";
}
else if (CrystalType == 3)
{
if (Enchant == 4) enchantHP="14";
else if (Enchant == 5) enchantHP="42";
else if (Enchant == 6) enchantHP="84";
else if (Enchant == 7) enchantHP="139";
else if (Enchant == 8) enchantHP="209";
else if (Enchant == 9) enchantHP="293";
else if (Enchant >= 10) enchantHP="390";
}
else if (CrystalType == 4)
{
if (Enchant == 4) enchantHP="16";
else if (Enchant == 5) enchantHP="47";
else if (Enchant == 6) enchantHP="94";
else if (Enchant == 7) enchantHP="157";
else if (Enchant == 8) enchantHP="235";
else if (Enchant == 9) enchantHP="329";
else if (Enchant >= 10) enchantHP="439";
}
else if ((CrystalType == 5) || (CrystalType == 6) || (CrystalType == 7))
{
if (Enchant == 4) enchantHP="17";
else if (Enchant == 5) enchantHP="52";
else if (Enchant == 6) enchantHP="104";
else if (Enchant == 7) enchantHP="173";
else if (Enchant == 8) enchantHP="259";
else if (Enchant == 9) enchantHP="363";
else if (Enchant >= 10) enchantHP="484";
}
}
else if (SlotBitType==32768)
{
if (CrystalType == 1)
{
if (Enchant == 4) enchantHP="13";
else if (Enchant == 5) enchantHP="39";
else if (Enchant == 6) enchantHP="78";
else if (Enchant == 7) enchantHP="129";
else if (Enchant == 8) enchantHP="195";
else if (Enchant == 9) enchantHP="271";
else if (Enchant >= 10) enchantHP="363";
}
else if (CrystalType == 2)
{
if (Enchant == 4) enchantHP="18";
else if (Enchant == 5) enchantHP="54";
else if (Enchant == 6) enchantHP="106";
else if (Enchant == 7) enchantHP="177";
else if (Enchant == 8) enchantHP="267";
else if (Enchant == 9) enchantHP="373";
else if (Enchant >= 10) enchantHP="498";
}
else if (CrystalType == 3)
{
if (Enchant == 4) enchantHP="21";
else if (Enchant == 5) enchantHP="63";
else if (Enchant == 6) enchantHP="126";
else if (Enchant == 7) enchantHP="208";
else if (Enchant == 8) enchantHP="313";
else if (Enchant == 9) enchantHP="439";
else if (Enchant >= 10) enchantHP="585";
}
else if (CrystalType == 4)
{
if (Enchant == 4) enchantHP="24";
else if (Enchant == 5) enchantHP="70";
else if (Enchant == 6) enchantHP="141";
else if (Enchant == 7) enchantHP="235";
else if (Enchant == 8) enchantHP="352";
else if (Enchant == 9) enchantHP="493";
else if (Enchant >= 10) enchantHP="658";
}
else if ((CrystalType == 5) || (CrystalType == 6) || (CrystalType == 7))
{
if (Enchant == 4) enchantHP="25";
else if (Enchant == 5) enchantHP="78";
else if (Enchant == 6) enchantHP="156";
else if (Enchant == 7) enchantHP="259";
else if (Enchant == 8) enchantHP="388";
else if (Enchant == 9) enchantHP="544";
else if (Enchant >= 10) enchantHP="726";
}
}
}
else if (SlotBitType == 4194304)
{
if (Enchant == 4) enchantHP="4";
else if (Enchant == 5) enchantHP="8";
else if (Enchant >= 6) enchantHP="16";
}
return enchantHP;
}
/////////////////////////////////////////////////////////////////////////////////
// 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 string strSell;
local string strCry;
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;
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);
//branch
AddPrimeItemSymbol(Item);
//end of branch
//인첸트 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);
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);
}
//빈공간
AddTooltipItemBlank(12);
//"[무기 제원]"
AddTooltipItemOption(1489, "", true, false, false);
SetTooltipItemColor(255, 255, 255, 0);
//Physical Damage
if (Item.Enchanted > 0)
{
AddTooltipItemOption(94, String(GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.PhysicalDamage)) @ "(" $ string(Item.PhysicalDamage) $ "+" $ string(GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.PhysicalDamage) - Item.PhysicalDamage) $ ")", true, true, false);
AddTooltipItemOption(98, String(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage)) @ "(" $ string(Item.MagicalDamage) $ "+" $ string(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage) - Item.MagicalDamage) $ ")", true, true, false);
}
else
{
AddTooltipItemOption(94, String(GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.PhysicalDamage)), true, true, false);
AddTooltipItemOption(98, String(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage)), true, true, false);
}
//Masical Damage
// AddTooltipItemOption(98, String(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage)), true, true, false);
//Attack Speed
AddTooltipItemOption(111, GetAttackSpeedString(Item.AttackSpeed), true, true, false);
//SoulShot Count
if (Item.SoulshotCount>0)
{
AddTooltipItemOption(404, "X " $ Item.SoulshotCount, true, true, false);
}
//SpiritShot Count
if (Item.SpiritShotCount>0)
{
AddTooltipItemOption(496, "X " $ Item.SpiritshotCount, true, true, false);
}
//Weight
if (Item.Weight==0)
AddTooltipItemOption(52, " 0 ", true, true, false);
else
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
//AddTooltipItemOption(52, String(Item.Weight), true, true, false);
//MP Consume
if (Item.MpConsume != 0)
{
AddTooltipItemOption(320, String(Item.MpConsume), true, true, false);
}
//제련효과
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);
}
}
}
//"교환/드롭 불가"
AddTooltipItemOption(1491, "", true, false, false);
SetTooltipItemColor(ColorR, ColorG, ColorB, 0);
//빈공간
if (Len(Item.Description)>0)
{
AddTooltipItemBlank(12);
}
}
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);
if (Item.PhysicalDefense != 0)
if (Item.Enchanted > 0)
AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)) @ "(" $ String(Item.PhysicalDefense) $ "+" $ string(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)-Item.PhysicalDefense) $ ")", true, true, false);
else
AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)), true, true, false);
if (Item.Enchanted >= 4)
{
if (CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted)!="")
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.nOffSetX = 0;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 187;
m_Info.t_color.G = 181;
m_Info.t_color.B = 138;
m_Info.t_color.A = 255;
m_Info.t_strText = " " $ "+" $ CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted) @ "hp";
EndItem();
}
}
//Avoid Modify
if (Item.AvoidModify != 0)
AddTooltipItemOption(97, String(Item.AvoidModify), true, true, false);
//Weight
if (Item.Weight != 0)
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
}
else if (Item.SlotBitType == 256 || Item.SlotBitType == 128) //SBT_LHAND or SBT_RHAND
{
if (Len(SlotString)>0)
AddTooltipItemOption(0, SlotString, false, true, false);
//Shield Defense
//debug("Shield Defense" $ Item.ShieldDefense);
if (Item.ShieldDefense != 0)
if (Item.Enchanted > 0)
AddTooltipItemOption(95, String(GetShieldDefense(Item.CrystalType, Item.Enchanted, Item.ShieldDefense)) @ "(" $ String(Item.ShieldDefense) $ "+" $ string(GetShieldDefense(Item.CrystalType, Item.Enchanted, Item.ShieldDefense)-Item.ShieldDefense) $ ")", true, true, false);
else
AddTooltipItemOption(95, String(GetShieldDefense(Item.CrystalType, Item.Enchanted, Item.ShieldDefense)), true, true, false);
if (Item.Enchanted >= 4)
{
if (CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted)!="")
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.nOffSetX = 0;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 187;
m_Info.t_color.G = 181;
m_Info.t_color.B = 138;
m_Info.t_color.A = 255;
m_Info.t_strText = " " $ "+" $ CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted) @ "hp";
EndItem();
}
}
//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);
}
// Magical Armor
else if (IsMagicalArmor(Item.ID))
{
//Slot Type
if (Len(SlotString)>0)
AddTooltipItemOption(0, SlotString, false, true, false);
//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)
if (Item.Enchanted > 0)
AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)) @ "(" $ String(Item.PhysicalDefense) $ "+" $ string(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)-Item.PhysicalDefense) $ ")", true, true, false);
else
AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)), true, true, false);
}
if (Item.Enchanted >= 4)
{
if (CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted)!="")
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.nOffSetX = 0;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 187;
m_Info.t_color.G = 181;
m_Info.t_color.B = 138;
m_Info.t_color.A = 255;
m_Info.t_strText = " " $ "+" $ CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted) @ "hp";
EndItem();
}
}
//Weight
if (Item.Weight != 0)
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
}
// 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)
if (Item.Enchanted > 0)
AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)) @ "(" $ String(Item.PhysicalDefense) $ "+" $ string(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)-Item.PhysicalDefense) $ ")", true, true, false);
else
AddTooltipItemOption(95, String(GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense)), true, true, false);
}
if (Item.Enchanted >= 4)
{
if (CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted)!="")
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.nOffSetX = 0;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 187;
m_Info.t_color.G = 181;
m_Info.t_color.B = 138;
m_Info.t_color.A = 255;
m_Info.t_strText = " " $ "+" $ CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted) @ "hp";
EndItem();
}
}
//Weight
if (Item.Weight != 0)
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
}
//제련효과
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)
{
if (Item.SlotBitType == 4194304 )
{
if (IsPassiveTalisman(Item.ID.ClassID)) AddTooltipItemOption(0, "Passive Talisman", false, true, false);
else AddTooltipItemOption(0, "Active Talisman", false, true, false);
}
else AddTooltipItemOption(0, SlotString, false, true, false);
}
//Magical Defense
// 탈리스만은 아이템 마방을 보여주지 않는다.
// 왼팔찌 오른팔찌도 마방을 보여주지 않는다.
if ((Item.SlotBitType != 4194304 ) && (Item.SlotBitType != 1048576 ) && (Item.SlotBitType != 2097152 ))
if (Item.Enchanted > 0)
AddTooltipItemOption(99, String(GetMagicalDefense(Item.CrystalType, Item.Enchanted, Item.MagicalDefense)) @ "(" $ String(Item.MagicalDefense) $ "+" $ string(GetMagicalDefense(Item.CrystalType, Item.Enchanted, Item.MagicalDefense)-Item.MagicalDefense) $ ")", true, true, false);
else
AddTooltipItemOption(99, String(GetMagicalDefense(Item.CrystalType, Item.Enchanted, Item.MagicalDefense)), true, true, false);
if (Item.Weight == 0)
AddTooltipItemOption(52, " 0 ", true, true, false);
else
AddTooltipItemOption(52, String(Item.Weight), true, true, false);
//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);
//"[인챈트효과]"
AddTooltipItemOption(2214, "", true, false, false);
SetTooltipItemColor(255, 255, 255, 0);
if (Item.Enchanted >= 4)
{
if (CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted)!="")
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.nOffSetX = 0;
m_Info.t_bDrawOneLine = true;
m_Info.t_color.R = 187;
m_Info.t_color.G = 181;
m_Info.t_color.B = 138;
m_Info.t_color.A = 255;
m_Info.t_strText = " " $ "+" $ CheckHPEnchant(Item.SlotBitType,Item.CrystalType,Item.Enchanted) @ "hp";
EndItem();
}
}
SetTooltipItemColor(187, 181, 138, 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);
}
//내구도 아이템
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 = Gray;
m_Info.t_ID = 1493;
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
if (TooltipType != "TaliList")
{
if (Item.CurrentDurability+1 <= CheckDurability(Item.ID.ClassID))
{
m_Info.t_color = Red;
}
else
if (Item.CurrentDurability+1 <= CheckDurability(Item.ID.ClassID)+5)
{
m_Info.t_color = Yellow;
}
else
{
m_Info.t_color = Bronze;
}
}
else
{
if (Item.CurrentDurability+1 <= CheckDurability(GetTalismanItemID(Item.ID.ClassID)))
{
m_Info.t_color = Red;
}
else
if (Item.CurrentDurability+1 <= CheckDurability(GetTalismanItemID(Item.ID.ClassID))+5)
{
m_Info.t_color = Yellow;
}
else
{
m_Info.t_color = Bronze;
}
}
m_Info.t_strText = " " $ Item.CurrentDurability $ "/" $ Item.Durability;
EndItem();
if (Item.CurrentDurability >= 0 && Item.Durability > 0)
if (TooltipType == "TaliList")
{
if (Item.ID.ClassID == 3436)
{
bLargeWidth = true;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = Gray;
m_Info.t_strText = "HP Cost: ";
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = Bronze;
m_Info.t_strText = "800";
EndItem();
}
if (GetTalismanItemID(Item.ID.ClassID) != -1)
{
bLargeWidth = true;
//AddTooltipItemBlank(12);
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = Gray;
m_Info.t_strText = "Requires Item Mana: ";
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = Bronze;
m_Info.t_strText = string(CheckDurability(GetTalismanItemID(Item.ID.ClassID)));
EndItem();
}
}
else
{
if (!IsPassiveTalisman(Item.ID.ClassID) && (GetTalismanSkillID(Item.ID.ClassID) != -1))
{
bLargeWidth = true;
//AddTooltipItemBlank(12);
if (Item.ID.ClassID == 10423)
{
bLargeWidth = true;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = Gray;
m_Info.t_strText = "HP Cost: ";
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = Bronze;
m_Info.t_strText = "800";
EndItem();
}
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = Gray;
m_Info.t_strText = "Requires Item Mana: ";
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = true;
m_Info.t_color = Bronze;
m_Info.t_strText = string(CheckDurability(Item.ID.ClassID));
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 = Gray;
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
//설명
//ParseString(Item.ID.ClassID, "ClassID", strTmp);
ParseString(Item.Description, "Cry", strCry);
ParseString(Item.Description, "Sell", strSell);
if (Len(Item.Description)>(Len(strCry) + 5 + Len(strSell) + 5))
{
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;
if (Len(strSell)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strSell) -5);
if (Len(strCry)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strCry) - 5);
// if (Len(strTmp)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strTmp) - 4);
// Item.Description = Left(Item.Description,Len(Item.Description) - Len(strTmp) - Len(strCry) - Len(strSell) );
m_Info.t_strText = Item.Description;
EndItem();
}
AddTooltipItemBlank(8);
if (TooltipType != "TaliList")
{
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.nOffSetX = 2;
m_Info.nOffSetY = 1;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.u_nTextureWidth = 16;
m_Info.u_nTextureHeight = 16;
m_Info.u_nTextureUWidth = 16;
m_Info.u_nTextureUHeight = 16;
m_Info.u_strTexture = "MonIcaTex.itemid";
EndItem();
StartItem();
m_Info.nOffSetX = 4;
m_Info.nOffSetY = 3;
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.eType = DIT_TEXT;
m_Info.t_strText = MakeCostString(string(Item.ID.ClassID));
EndItem();
}
if (Len(strCry)>0)
{
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.nOffSetX = 2;
m_Info.nOffSetY = 6;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.u_nTextureWidth = 16;
m_Info.u_nTextureHeight = 16;
m_Info.u_nTextureUWidth = 32;
m_Info.u_nTextureUHeight = 32;
if ((item.CrystalType == 5) || (item.CrystalType == 6) || (item.CrystalType == 7))
m_Info.u_strTexture = "icon.etc_crystal_gold_i00";
else if (item.CrystalType == 4)
m_Info.u_strTexture = "icon.etc_crystal_silver_i00";
else if (item.CrystalType == 3)
m_Info.u_strTexture = "icon.etc_crystal_red_i00";
else if (item.CrystalType == 2)
m_Info.u_strTexture = "icon.etc_crystal_green_i00";
else if (item.CrystalType == 1)
m_Info.u_strTexture = "icon.etc_crystal_blue_i00";
EndItem();
StartItem();
m_Info.nOffSetX = 4;
m_Info.nOffSetY = 8;
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.eType = DIT_TEXT;
m_Info.t_strText = MakeCostString(strCry);
EndItem();
}
if (Len(strSell)>0)
{
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.nOffSetX = 1;
m_Info.nOffSetY = 4;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.u_nTextureWidth = 18;
m_Info.u_nTextureHeight = 13;
m_Info.u_strTexture = "L2UI_CT1.Icon_DF_Common_Adena";
EndItem();
StartItem();
m_Info.nOffSetX = 3;
m_Info.nOffSetY = 6;
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.eType = DIT_TEXT;
m_Info.t_strText = MakeCostString(strSell);
EndItem();
}
/////////////////////////////////////////////////////////////////////////////////////////
// 셋트 아이템 정보
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)
{
strTmp = class'UIDATA_ITEM'.static.GetItemName(tmpItemID);
StartItem();
m_Info.eType = DIT_TEXTURE;
m_Info.nOffSetX = 2;
m_Info.nOffSetY = 5;
m_Info.bLineBreak = true;
m_Info.t_bDrawOneLine = true;
m_Info.u_nTextureWidth = 16;
m_Info.u_nTextureHeight = 16;
m_Info.u_nTextureUWidth = 32;
m_Info.u_nTextureUHeight = 32;
m_Info.u_strTexture = class'UIDATA_ITEM'.static.GetItemTextureName(tmpItemID);
EndItem();
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetX = 5;
m_Info.nOffSetY = 7;
// 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();
}
}
}
//셋트효과
strTmp = class'UIDATA_ITEM'.static.GetSetItemEffectDescription(Item.ID, idx);
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 = 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();
}
}
//퀘스트 정보를 표시한다.
if (TooltipType != "TaliList") 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);
}
/////////////////////////////////////////////////////////////////////////////////
// ACTION
function ReturnTooltip_NTT_ACTION(string param, ETooltipSourceType eSourceType)
{
local ItemInfo Item;
local MacroInfo mInfo;
local ItemID MacroID;
local bool isMacro;
local int idx;
isMacro = false;
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();
ParseInt( param, "ClassID", MacroID.ClassID);
class'UIDATA_MACRO'.static.GetMacroInfo( MacroID, mInfo );
for ( idx = 0; idx < 12; idx++ )
{
if ( mInfo.CommandList[idx] != "" )
{
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
isMacro = true;
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = false;
m_Info.bLineBreak = true;
m_Info.t_color.R = 123;
m_Info.t_color.G = 63;
m_Info.t_color.B = 178;
m_Info.t_color.A = 255;
m_Info.t_strText = mInfo.CommandList[idx];
EndItem();
}
}
//액션 설명
if ((Len(Item.Description)>0) && (!isMacro))
{
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 SkillLevel;
debug("툴팁들어오나");
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();
//소모HP
nTmp = class'UIDATA_SKILL'.static.GetHpConsume( Item.ID, Item.Level );
if (nTmp>0)
{
AddTooltipItemOption(1195, String(nTmp), true, true, false);
}
//소모MP
nTmp = class'UIDATA_SKILL'.static.GetMpConsume( Item.ID, Item.Level );
if (nTmp>0)
{
AddTooltipItemOption(320, String(nTmp), true, true, false);
}
//유효거리
nTmp = class'UIDATA_SKILL'.static.GetCastRange( Item.ID, Item.Level );
if (nTmp>=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;
if (eSourceType == NTST_ITEM)
{
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);
//아이템 이름
AddTooltipItemName(Item.Name, Item, 1);
//Grade Mark
AddTooltipItemGrade(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 ItemID MacroID;
local MacroInfo mInfo;
local int idx;
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);
ParseInt( param, "ClassID", MacroID.ClassID);
class'UIDATA_MACRO'.static.GetMacroInfo( MacroID, mInfo );
m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
//액션 이름
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = Item.Name;
EndItem();
//액션 설명
for ( idx = 0; idx < 12; idx++ )
{
if ( mInfo.CommandList[idx] != "" )
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.nOffSetY = 6;
m_Info.t_bDrawOneLine = false;
m_Info.bLineBreak = true;
m_Info.t_color.R = 123;
m_Info.t_color.G = 63;
m_Info.t_color.B = 178;
m_Info.t_color.A = 255;
m_Info.t_strText = mInfo.CommandList[idx];
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:
ReturnTooltipInfo(m_Tooltip);
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(1);
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 bool bLargeWidth;
// local RecipeManufactureWnd script_rm;
local string nTmp,strCry,strSell;
// script_rm = RecipeManufactureWnd(GetScript("RecipeManufactureWnd"));
if (eSourceType == NTST_ITEM)
{
nTmp = "";
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;
//아이템 이름
AddTooltipItemName(Item.Name, Item, 1);
//Grade Mark
AddTooltipItemGrade(Item);
//ex) "필요수 : 2"
AddTooltipItemOption(736, MakeCostString(Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB"))))), true, true, false);
if ((Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB")))) >(Item.ItemNum))
nTmp = " (" $ MakeCostString(Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB"))) - Item.ItemNum)) $ ")";
//ex) "보유수 : 0"
if (Int64ToString(Item.ItemNum)=="")
AddTooltipItemOption(737, "0" $ nTmp, true, true, false);
else
AddTooltipItemOption(737, MakeCostString(Int64ToString(Item.ItemNum)) $ nTmp, true, true, false);
// if ((Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB")))) >
// (Item.ItemNum))
// AddTooltipItemOption(0, Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB"))) - Item.ItemNum), false, true, false);
//설명
ParseString(Item.Description, "Cry", strCry);
ParseString(Item.Description, "Sell", strSell);
if (Len(Item.Description)>(Len(strCry) + 5 + Len(strSell) + 5))
{
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;
if (Len(strSell)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strSell) - 5);
if (Len(strCry)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strCry) - 5);
// if (Len(strTmp)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strTmp) - 4);
// Item.Description = Left(Item.Description,Len(Item.Description) - Len(strTmp) - Len(strCry) - Len(strSell) );
// if (Right(Item.Description,1) != ".") Item.Description = Item.Description $ ".";
m_Info.t_strText = Item.Description;
EndItem();
}
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
/////////////////////////////////////////////////////////////////////////////////
function ReturnTooltip_NTT_RECIPE_MANUFACTUREBUY(string param, ETooltipSourceType eSourceType)
{
local ItemInfo Item;
local bool bLargeWidth;
// local RecipeManufactureWnd script_rm;
local string nTmp,strCry,strSell;
// script_rm = RecipeManufactureWnd(GetScript("RecipeManufactureWnd"));
if (eSourceType == NTST_ITEM)
{
nTmp = "";
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;
//아이템 이름
AddTooltipItemName(Item.Name, Item, 1);
//Grade Mark
AddTooltipItemGrade(Item);
//ex) "필요수 : 2"
AddTooltipItemOption(736, MakeCostString(Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeBuyManufactureWnd.QuantityEB"))))), true, true, false);
if ((Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeBuyManufactureWnd.QuantityEB")))) >(Item.ItemNum))
nTmp = " (" $ MakeCostString(Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeBuyManufactureWnd.QuantityEB"))) - Item.ItemNum)) $ ")";
//ex) "보유수 : 0"
if (Int64ToString(Item.ItemNum)=="")
AddTooltipItemOption(737, "0" $ nTmp, true, true, false);
else
AddTooltipItemOption(737, MakeCostString(Int64ToString(Item.ItemNum)) $ nTmp, true, true, false);
// if ((Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB")))) >
// (Item.ItemNum))
// AddTooltipItemOption(0, Int64ToString(Item.Reserved64 * IntToInt64(int(class'UIAPI_EDITBOX'.static.GetString("RecipeManufactureWnd.QuantityEB"))) - Item.ItemNum), false, true, false);
//설명
ParseString(Item.Description, "Cry", strCry);
ParseString(Item.Description, "Sell", strSell);
if (Len(Item.Description)>(Len(strCry) + 5 + Len(strSell) + 5))
{
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;
if (Len(strSell)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strSell) -5);
if (Len(strCry)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strCry) - 5);
// if (Len(strTmp)>0) Item.Description = Left(Item.Description, Len(Item.Description) - Len(strTmp) - 4);
// Item.Description = Left(Item.Description,Len(Item.Description) - Len(strTmp) - Len(strCry) - Len(strSell) );
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);
}
//by Merc
function ReturnTooltip_NTT_RADARINFO(string param, ETooltipSourceType eSourceType)
{
local LVDataRecord record;
if (eSourceType == NTST_LIST)
{
ParamToRecord( param, record );
//ex) "직업 : 엘븐메이지"
AddTooltipItemOption(391, GetClassType(int(record.LVDataList[3].szData)), true, true, true);
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
// AutoSS
function ReturnTooltip_NTT_AUTOSSINFO(string param, ETooltipSourceType eSourceType)
{
local ItemInfo Item;
local string ItemName;
if (eSourceType == NTST_ITEM)
{
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);
ParseInt ( param, "IsBRPremium", Item.IsBRPremium);
ItemName = class'UIDATA_ITEM'.static.GetRefineryItemName( Item.Name, Item.RefineryOp1, Item.RefineryOp2 );
AddPrimeItemSymbol(Item);
AddTooltipItemEnchant(Item);
AddTooltipItemName(ItemName, Item, 1);
AddTooltipItemGrade(Item);
AddTooltipItemCount(Item);
}
else
{
return;
}
ReturnTooltipInfo(m_Tooltip);
}
// RadarResize
function ReturnTooltip_NTT_RADARRESIZE(string param, ETooltipSourceType eSourceType)
{
local ItemInfo Item;
if (eSourceType == NTST_ITEM)
{
ParseString( param, "Name", Item.Name);
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = Item.Name;
EndItem();
}
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;
if (!class'UIAPI_CHECKBOX'.static.IsChecked("FlexOptionWnd.enableDetailIcons"))
{
m_Info.nOffSetX = -2;
m_Info.nOffSetY = -2;
}
m_Info.u_nTextureWidth = 16;
m_Info.u_nTextureHeight = 16;
m_Info.u_strTexture = GetDetailedClassIconName( record.LVDataList[7 + i].nReserved1, 4);
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();
}
}
}
//"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;
}
//빈공간의 TooltipItem을 추가한다.
function AddTooltipItemBlank(int Height)
{
StartItem();
m_Info.eType = DIT_BLANK;
m_Info.b_nHeight = Height;
EndItem();
}
function AddTooltipSimpleName( string strText)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
m_Info.t_strText = strText;
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();
}
}
//아이템 이름 + AdditionalName
function AddTooltipItemName(string Name, ItemInfo Item, int AddTooltipItemName)
{
StartItem();
m_Info.eType = DIT_TEXT;
m_Info.t_bDrawOneLine = true;
switch (AddTooltipItemName)
{
case 0:
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:
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:
m_Info.t_color.R = 255;
m_Info.t_color.G = 251;
m_Info.t_color.B = 4;
m_Info.t_color.A = 255;
break;
case 3:
m_Info.t_color.R = 255;
m_Info.t_color.G = 0;
m_Info.t_color.B = 255;
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();
}
}
//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();
}
}
function int CheckDurability(int itemCheckID)
{
switch (itemCheckID)
{
case 10518:
return 30;
break;
//blue
case 9932:
case 14813:
//red
case 9918:
case 9931:
return 15;
break;
case 10519:
return 10;
break;
//blue
case 9914:
case 9915:
case 9916:
case 9919:
case 9921:
case 9926:
case 9927:
case 9929:
case 9930:
case 10416:
case 10417:
case 10424:
case 10533:
case 10534:
case 14810:
case 14811:
// red
case 9917:
case 9928:
case 12815:
case 12816:
case 14604:
case 14605:
case 14812:
// white
case 10418:
case 10419:
case 10420:
case 10421:
case 10422:
case 14814:
// orange
case 9954:
//black
case 9922:
case 9923:
case 9955:
case 9956:
case 9957:
case 9958:
case 9959:
return 6;
break;
//blue
case 9920:
case 10142:
case 10141:
return 3;
break;
//blue
case 10423:
return 1;
break;
default:
return 5;
break;
}
}
//end of branch
defaultproperties
{
}