Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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;
- function OnRegisterEvent()
- {
- RegisterEvent( EV_RequestTooltipInfo );
- }
- function OnLoad()
- {
- BoolSelect = true; // 숏컷 툴팁 켜기/끄기 기본값을 켜기로(TTP#41925) 2010.8.23 - winkey
- if(CREATE_ON_DEMAND==0)
- OnRegisterEvent();
- }
- function OnEvent(int Event_ID, string param)
- {
- switch( Event_ID )
- {
- case EV_RequestTooltipInfo:
- //debug("툴팁이벤트 넘어오냐");
- HandleRequestTooltipInfo(param);
- break;
- }
- }
- function setBoolSelect( bool b )
- {
- BoolSelect = b;
- }
- function HandleRequestTooltipInfo(string param)
- {
- local String TooltipType;
- local int SourceType;
- local ETooltipSourceType eSourceType;
- ClearTooltip();
- if (!ParseString(param, "TooltipType", TooltipType))
- return;
- if (!ParseInt(param, "SourceType", SourceType))
- return;
- eSourceType = ETooltipSourceType(SourceType);
- //AddSystemMessageString(""$TooltipType);
- //AddSystemMessageString(""$eSourceType);
- //////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////// Normal Tooltip /////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////////////////////////////////
- //debug("Tooltip타입:"$TooltipType);
- if (TooltipType == "Text")
- {
- ReturnTooltip_NTT_TEXT(param, eSourceType, false);
- }
- else if (TooltipType == "Description")
- {
- ReturnTooltip_NTT_TEXT(param, eSourceType, true);
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////// ItemWnd Tooltip ////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////////////////////////////////
- else if (TooltipType == "Action")
- {
- ReturnTooltip_NTT_ACTION(param, eSourceType);
- }
- else if (TooltipType == "Skill")
- {
- ReturnTooltip_NTT_SKILL(param, eSourceType);
- }
- else if (TooltipType == "NormalItem")
- {
- ReturnTooltip_NTT_NORMALITEM(param, eSourceType);
- }
- else if (TooltipType == "Shortcut")
- {
- ReturnTooltip_NTT_SHORTCUT(param, eSourceType);
- }
- else if (TooltipType == "AbnormalStatus")
- {
- ReturnTooltip_NTT_ABNORMALSTATUS(param, eSourceType);
- }
- else if (TooltipType == "RecipeManufacture")
- {
- ReturnTooltip_NTT_RECIPE_MANUFACTURE(param, eSourceType);
- }
- else if (TooltipType == "Recipe")
- {
- ReturnTooltip_NTT_RECIPE(param, eSourceType, false);
- }
- else if (TooltipType == "RecipePrice")
- {
- ReturnTooltip_NTT_RECIPE(param, eSourceType, true);
- }
- else if (TooltipType == "Inventory"
- || TooltipType == "InventoryPrice1"
- || TooltipType == "InventoryPrice2"
- || TooltipType == "InventoryPrice1HideEnchant"
- || TooltipType == "InventoryPrice1HideEnchantStackable"
- || TooltipType == "InventoryPrice2PrivateShop"
- || TooltipType == "InventoryWithIcon"
- || TooltipType == "InventoryPawnViewer") // PawnViewer용 추가 - lancelot 2007. 10. 16.
- {
- //~ debug("툴팁보여주세요.");
- ReturnTooltip_NTT_ITEM(param, TooltipType, eSourceType);
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////// ListCtrl Tooltip ///////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////////////////////////////////
- //선준 수정(2010.02.22 ~ 03.08) 완료
- else if ( TooltipType == "RoomList" )
- {
- ReturnTooltip_NTT_ROOMLIST(param, eSourceType);
- }
- else if ( TooltipType == "UserList" )
- {
- ReturnTooltip_NTT_USERLIST(param, eSourceType);
- }
- else if (TooltipType == "PartyMatch")
- {
- ReturnTooltip_NTT_PARTYMATCH(param, eSourceType);
- }
- else if (TooltipType == "UnionList")
- {
- ReturnTooltip_NTT_UNIONLIST(param, eSourceType);
- }
- else if (TooltipType == "QuestInfo")
- {
- ReturnTooltip_NTT_QUESTINFO(param, eSourceType);
- }
- else if (TooltipType == "QuestList")
- {
- ReturnTooltip_NTT_QUESTLIST(param, eSourceType);
- }
- else if (TooltipType == "RaidList")
- {
- ReturnTooltip_NTT_RAIDLIST(param, eSourceType);
- }
- else if (TooltipType == "ClanInfo")
- {
- ReturnTooltip_NTT_CLANINFO(param, eSourceType);
- }
- //선준 수정( 10.03.30 ) 완료
- //우편함에 툴팁 추가.
- else if (TooltipType == "PostInfo")
- {
- ReturnTooltip_NTT_POSTINFO(param, eSourceType);
- }
- /////////////////////////////////////////////////////
- // MANOR
- else if (TooltipType == "ManorSeedInfo"
- || TooltipType == "ManorCropInfo"
- || TooltipType == "ManorSeedSetting"
- || TooltipType == "ManorCropSetting"
- || TooltipType == "ManorDefaultInfo"
- || TooltipType == "ManorCropSell")
- {
- ReturnTooltip_NTT_MANOR(param, TooltipType, eSourceType);
- }
- // [퀘스트 아이템 툴팁 추가]
- else if (TooltipType == "QuestItem")
- {
- ReturnTooltip_NTT_QUESTREWARDS(param, eSourceType);
- }
- }
- function bool IsEnchantableItem(EItemParamType Type)
- {
- return (Type == ITEMP_WEAPON || Type == ITEMP_ARMOR || Type == ITEMP_ACCESSARY || Type == ITEMP_SHIELD);
- }
- function ClearTooltip()
- {
- m_Tooltip.SimpleLineCount = 0;
- m_Tooltip.MinimumWidth = 0;
- m_Tooltip.DrawList.Remove(0, m_Tooltip.DrawList.Length);
- }
- function StartItem()
- {
- local DrawItemInfo infoClear;
- m_Info = infoClear;
- }
- function EndItem()
- {
- m_Tooltip.DrawList.Length = m_Tooltip.DrawList.Length + 1;
- m_Tooltip.DrawList[m_Tooltip.DrawList.Length-1] = m_Info;
- }
- /////////////////////////////////////////////////////////////////////////////////
- // TEXT
- function ReturnTooltip_NTT_TEXT(string param, ETooltipSourceType eSourceType, bool bDesc)
- {
- local string strText;
- local int ID;
- if (eSourceType == NTST_TEXT)
- {
- if (ParseString( param, "Text", strText))
- {
- if (Len(strText)>0)
- {
- if (bDesc)
- {
- m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_color.R = 178;
- m_Info.t_color.G = 190;
- m_Info.t_color.B = 207;
- m_Info.t_color.A = 255;
- m_Info.t_strText = strText;
- EndItem();
- }
- else
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = strText;
- EndItem();
- }
- }
- }
- else if (ParseInt( param, "ID", ID))
- {
- if (ID>0)
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_ID = ID;
- EndItem();
- }
- }
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- /////////////////////////////////////////////////////////////////////////////////
- // INVENTORY Etc
- function ReturnTooltip_NTT_ITEM(string param, String TooltipType, ETooltipSourceType eSourceType)
- {
- local ItemInfo Item;
- local EItemType eItemType;
- local EEtcItemType eEtcItemType;
- local bool bLargeWidth;
- local string SlotString;
- local string strTmp;
- local int nTmp;
- local int idx;
- //제련효과
- //local string ItemName;
- local int Quality;
- local int ColorR;
- local int ColorG;
- local int ColorB;
- local string strDesc1;
- local string strDesc2;
- local string strDesc3;
- // 보급형 아이템
- //local int ItemNameClass;
- //셋트아이템
- //~ local array<ItemID> arrItemID;
- local int SetID;
- //~ local int SetID2;
- //아데나읽어주기
- local string strAdena;
- local string strAdenaComma;
- local color AdenaColor;
- local ItemID tmpItemID;
- local bool FirstTime1;
- if (eSourceType == NTST_ITEM)
- {
- ParamToItemInfo(param, Item);
- SlotString = GetSlotTypeString(Item.ItemType, Item.SlotBitType, Item.ArmorType);
- eItemType = EItemType(Item.ItemType);
- eEtcItemType = EEtcItemType(Item.ItemSubType);
- if( Item.consumeType == 0 )
- {
- //item icon
- StartItem();
- m_Info.eType = DIT_TEXTURE;
- m_Info.u_nTextureWidth = 32;
- m_Info.u_nTextureHeight = 32;
- m_Info.u_strTexture = Item.IconName;
- EndItem();
- if( Item.IconPanel == "InventoryTabs.pvp_tab" && Item.Enchanted > 0 )
- Item.IconPanel = "InventoryTabs.pvp_tab_enchant"$Item.Enchanted;
- else if( Item.IconPanel == "" && Item.Enchanted > 0 )
- Item.IconPanel = "InventoryTabs.tab_enchant"$Item.Enchanted;
- StartItem();
- m_Info.eType = DIT_TEXTURE;
- m_Info.nOffSetX = -32;
- m_Info.u_nTextureWidth = 32;
- m_Info.u_nTextureHeight = 32;
- m_Info.u_strTexture = Item.IconPanel;
- EndItem();
- if( Item.Enchanted > 0 )
- {
- //item enchant
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.nOffSetX = 5;
- m_Info.t_strText = "+"$Item.Enchanted;
- m_Info.t_color.R =230;
- m_Info.t_color.G =164;
- m_Info.t_color.B =8;
- m_Info.t_color.A =255;
- EndItem();
- }
- if( (Item.refineryOp1 != 0 || Item.refineryOp2 != 0) && InStr(Caps(Item.Description), Caps("masterwork") ) != (-1) )
- {
- //item name
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.nOffSetX = 4;
- m_Info.t_strText = "Augmented "$Item.Name;
- m_Info.t_color.R =70;
- m_Info.t_color.G =247;
- m_Info.t_color.B =135;
- m_Info.t_color.A =255;
- EndItem();
- }
- else if( Item.refineryOp1 != 0 || Item.refineryOp2 != 0 )
- {
- //item name
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.nOffSetX = 4;
- m_Info.t_strText = "Augmented "$Item.Name;
- m_Info.t_color.R =70;
- m_Info.t_color.G =243;
- m_Info.t_color.B =237;
- m_Info.t_color.A =255;
- EndItem();
- }
- else if( InStr(Caps(Item.Description), Caps("masterwork") ) != (-1) )
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.nOffSetX = 4;
- m_Info.t_strText = ""$Item.Name;
- m_Info.t_color.R =243;
- m_Info.t_color.G =241;
- m_Info.t_color.B =70;
- m_Info.t_color.A =255;
- EndItem();
- }
- else
- {
- //item name
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.nOffSetX = 4;
- m_Info.t_strText = Item.Name;
- EndItem();
- }
- //item special ability
- if( Item.AdditionalName != "" )
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.nOffSetX = 4;
- m_Info.t_strText = Item.AdditionalName;
- m_Info.t_color.R =229;
- m_Info.t_color.G =195;
- m_Info.t_color.B =95;
- m_Info.t_color.A =255;
- EndItem();
- }
- //item grade icon
- AddTooltipItemGrade(Item);
- strTmp = GetWeaponTypeString(Item.WeaponType);
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.bLineBreak = true;
- m_Info.nOffSetX = 36;
- m_Info.nOffSetY = -11;
- if( strTmp != "" )
- m_Info.t_strText = strTmp$" / "$SlotString;
- else
- m_Info.t_strText = SlotString;
- m_Info.t_color.R =175;
- m_Info.t_color.G =154;
- m_Info.t_color.B =120;
- m_Info.t_color.A =255;
- EndItem();
- m_Tooltip.SimpleLineCount = 2;
- 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 = 3;
- //읽어주기 스트링
- if (Item.Price>IntToInt64(0))
- {
- m_Tooltip.SimpleLineCount = 4;
- 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 = 3;
- //읽어주기 스트링
- if (Item.Price>IntToInt64(0))
- {
- m_Tooltip.SimpleLineCount = 4;
- //"("
- 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);
- }
- }
- }
- else
- {
- 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();
- if( Item.consumeType != 0 && Int(Int64ToString(Item.ItemNum)) > 0 && Item.ID.ClassID != 57 && Item.ID.ClassID != 5575 )
- Item.IconPanel = "InventoryTabs.tab_consumables"$Min(100, Int(Int64ToString(Item.ItemNum)));
- StartItem();
- m_Info.eType = DIT_TEXTURE;
- m_Info.nOffSetX = -32;
- m_Info.u_nTextureWidth = 32;
- m_Info.u_nTextureHeight = 32;
- m_Info.u_strTexture = Item.IconPanel;
- EndItem();
- AddTooltipItemBlank(4);
- }
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- //m_Info.t_strText = ""$Item.Name$"("$Int64ToString(Item.ItemNum)$")";
- m_Info.t_strText = ""$Item.Name;
- EndItem();
- if (Item.AdditionalName != "")
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = Item.AdditionalName;
- m_Info.nOffSetX = 4;
- m_Info.t_color.R =229;
- m_Info.t_color.G =195;
- m_Info.t_color.B =95;
- m_Info.t_color.A =255;
- EndItem();
- }
- if( Int64ToInt(Item.ItemNum) > 0 )
- AddTooltipItemCount(Item);
- if (IsAdena(Item.ID))
- {
- 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();
- }
- 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);
- }
- }
- }
- AddTooltipItemBlank(4);
- 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();
- switch (eItemType)
- {
- // 1. WEAPON
- case ITEM_WEAPON:
- bLargeWidth = true;
- //Physical Damage
- //AddTooltipItemOptionDamage(94, String(GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.PhysicalDamage)), true, true, false);
- AddTooltipItemOptionDamage(94, Item, true, true, false);
- //Masical Damage
- //AddTooltipItemOptionDamage(98, String(GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage)), true, true, false);
- AddTooltipItemOptionDamage(98, Item, 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(4);
- 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 (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);
- }
- break;
- // 2. ARMOR
- case ITEM_ARMOR:
- bLargeWidth = true;
- // Sheild
- if ( Item.SlotBitType == 256 && Item.ArmorType == 4 ) // ArmorType == 4 is sigil..
- {
- if (Item.PhysicalDefense != 0)
- AddTooltipItemOptionDef(95, Item, true, true, false);
- //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);
- AddTooltipItemBlank(4);
- }
- }
- else if (Item.SlotBitType == 256 || Item.SlotBitType == 128) //SBT_LHAND or SBT_RHAND
- {
- //Shield Defense
- //debug("Shield Defense" $ Item.ShieldDefense);
- if (Item.ShieldDefense != 0)
- AddTooltipItemOptionDef(95, Item, true, true, false, true);
- //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);
- AddTooltipItemBlank(4);
- }
- }
- // Magical Armor
- else if (IsMagicalArmor(Item.ID))
- {
- //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)
- AddTooltipItemOptionDef(95, Item, true, true, false);
- }
- //Weight
- if (Item.Weight != 0)
- {
- AddTooltipItemOption(52, String(Item.Weight), true, true, false);
- AddTooltipItemBlank(4);
- }
- }
- // Physical Armor
- else
- {
- //Physical Defense
- if (Item.SlotBitType == 65536)
- {
- }
- else if ( Item.SlotBitType == 524288)
- {
- }
- else if ( Item.SlotBitType == 262144)
- {
- }
- else
- {
- if (Item.PhysicalDefense != 0)
- AddTooltipItemOptionDef(95, Item, true, true, false);
- }
- //Weight
- if (Item.Weight != 0)
- {
- AddTooltipItemOption(52, String(Item.Weight), true, true, false);
- AddTooltipItemBlank(4);
- }
- }
- //제련효과
- 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;
- //Magical Defense
- // 탈리스만은 아이템 마방을 보여주지 않는다.
- // 왼팔찌 오른팔찌도 마방을 보여주지 않는다.
- if ((Item.SlotBitType != 4194304 ) && (Item.SlotBitType != 1048576 ) && (Item.SlotBitType != 2097152 ))
- AddTooltipItemOptionDef(99, Item, 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(3);
- 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 (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(1);
- }
- 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.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.R = 163;
- m_Info.t_color.G = 163;
- m_Info.t_color.B = 163;
- m_Info.t_color.A = 255;
- m_Info.t_ID = 1493;
- EndItem();
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetY = 6;
- m_Info.t_bDrawOneLine = true;
- if (Item.CurrentDurability+1 <= 5)
- {
- m_Info.t_color.R = 255;
- m_Info.t_color.G = 0;
- m_Info.t_color.B = 0;
- }
- else
- {
- m_Info.t_color.R = 176;
- m_Info.t_color.G = 155;
- m_Info.t_color.B = 121;
- }
- m_Info.t_color.A = 255;
- m_Info.t_strText = " " $ Item.CurrentDurability $ "/" $ Item.Durability;
- EndItem();
- //"교환/드롭 불가"
- AddTooltipItemOption(1491, "", true, false, false);
- //빈공간
- if (Len(Item.Description)>0)
- {
- AddTooltipItemBlank(12);
- }
- }
- //branch
- //에너지 정보
- if (Item.BR_MaxEnergy > 0)
- {
- //bLargeWidth = true;
- //빈공간
- AddTooltipItemBlank(12);
- //<에너지 정보>
- AddTooltipItemOption(5065, "", true, false, false);
- SetTooltipItemColor(255, 255, 255, 0);
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetY = 6;
- m_Info.bLineBreak = true;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_color.R = 163;
- m_Info.t_color.G = 163;
- m_Info.t_color.B = 163;
- m_Info.t_color.A = 255;
- m_Info.t_ID = 5066;
- EndItem();
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.bLineBreak = true;
- if ( Item.BR_CurrentEnergy==0 || (Item.BR_MaxEnergy / Item.BR_CurrentEnergy > 10) )
- {
- m_Info.t_color.R = 255;
- m_Info.t_color.G = 0;
- m_Info.t_color.B = 0;
- }
- else
- {
- m_Info.t_color.R = 176;
- m_Info.t_color.G = 155;
- m_Info.t_color.B = 121;
- }
- m_Info.t_color.A = 255;
- //m_Info.t_strText = " " $ Item.BR_CurrentEnergy $ "/" $ Item.BR_MaxEnergy;
- m_Info.t_strText = " " ;
- ParamAdd(m_Info.Condition, "Type", "CurrentEnergy");
- EndItem();
- }
- //end of branch
- if( Item.ID.ClassID == 57 || Item.ID.ClassID == 5575 )
- {
- AddTooltipItemOption(52, " 0 ", true, true, false);
- }
- //설명
- if (Len(Item.Description)>0)
- {
- AddTooltipItemBlank(3);
- 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();
- bLargeWidth = true;
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetY = 6;
- m_Info.bLineBreak = true;
- m_Info.t_color.R = 178;
- m_Info.t_color.G = 190;
- m_Info.t_color.B = 207;
- m_Info.t_color.A = 255;
- m_Info.t_strText = Item.Description;
- EndItem();
- AddTooltipItemBlank(4);
- }
- /////////////////////////////////////////////////////////////////////////////////////////
- // 셋트 아이템 정보
- 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))
- {
- if( !FirstTime1 )
- {
- if( Len(Item.Description)==0 )
- AddTooltipItemBlank(0);
- AddTooltipItemBlank(0);
- 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();
- FirstTime1=true;
- }
- tmpItemID.classID = class'UIDATA_ITEM'.static.GetSetItemFirstID(Item.ID, idx, SetID);
- if (tmpItemID.classID > 0)
- {
- StartItem();
- m_Info.eType = DIT_TEXTURE;
- m_Info.u_strTexture = class'UIDATA_ITEM'.static.GetItemTextureName(tmpItemID);
- m_Info.u_nTextureWidth = 16;
- m_Info.u_nTextureHeight = 16;
- m_Info.u_nTextureUWidth = 32;
- m_Info.u_nTextureUHeight = 32;
- m_Info.nOffSetY = 5;
- m_Info.bLineBreak = true;
- m_Info.t_bDrawOneLine = true;
- EndItem();
- strTmp = class'UIDATA_ITEM'.static.GetItemName(tmpItemID);
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetY = 6;
- m_Info.nOffSetX = 4;
- 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();
- AddTooltipItemBlank(3);
- }
- }
- //퀘스트 정보를 표시한다.
- 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();
- }
- AddTooltipToBuilderPC(Item);
- ReturnTooltipInfo(m_Tooltip);
- }
- function AddTooltipToBuilderPC(ItemInfo Item)
- {
- if (!IsBuilderPC())
- return;
- StartItem();
- m_Info.eType = DIT_BLANK;
- m_Info.b_nHeight = 8;
- EndItem();
- StartItem();
- m_Info.eType = DIT_TEXTURE;
- m_Info.nOffSetX = 2;
- m_Info.nOffSetY = 0;
- m_Info.t_bDrawOneLine = true;
- m_Info.bLineBreak = 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 = "PrologCustomIcons.ItemID";
- EndItem();
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetX = 6;
- m_Info.nOffSetY = 2;
- 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 = String(Item.ID.ClassID);
- EndItem();
- }
- /////////////////////////////////////////////////////////////////////////////////
- // ACTION
- function ReturnTooltip_NTT_ACTION(string param, ETooltipSourceType eSourceType)
- {
- local ItemInfo Item;
- local ItemInfo TheItemInfo;
- local MacroInfo TheMacroInfo;
- local int i;
- if (eSourceType == NTST_ITEM)
- {
- ParseString( param, "Name", Item.Name);
- ParseString( param, "Description", Item.Description);
- ParamToItemInfo(param, TheItemInfo);
- //액션 이름
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = Item.Name;
- m_Info.t_color.R = 202;
- m_Info.t_color.G = 174;
- m_Info.t_color.B = 115;
- m_Info.t_color.A = 255;
- EndItem();
- //액션 설명
- if (Len(Item.Description)>0)
- {
- m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetY = 6;
- m_Info.t_bDrawOneLine = false;
- m_Info.bLineBreak = true;
- m_Info.t_color.R = 178;
- m_Info.t_color.G = 190;
- m_Info.t_color.B = 207;
- m_Info.t_color.A = 255;
- m_Info.t_strText = Item.Description;
- EndItem();
- }
- if( class'UIDATA_MACRO'.static.GetMacroInfo(TheItemInfo.ID, TheMacroInfo) )
- {
- for( i=0; i<12; i++ )
- {
- if( TheMacroInfo.CommandList[i] == "" )
- break;
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.bLineBreak = true;
- m_Info.t_strText = TheMacroInfo.CommandList[i];
- m_Info.t_color.R =169;
- m_Info.t_color.G =149;
- m_Info.t_color.B =117;
- m_Info.t_color.A =255;
- 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 int i;
- local ItemInfo TheItemInfo;
- local MacroInfo TheMacroInfo;
- 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);
- ParamToItemInfo(param, TheItemInfo);
- m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
- //액션 이름
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = Item.Name;
- m_Info.t_color.R =202;
- m_Info.t_color.G =174;
- m_Info.t_color.B =115;
- m_Info.t_color.A =255;
- EndItem();
- //액션 설명
- if( class'UIDATA_MACRO'.static.GetMacroInfo(TheItemInfo.ID, TheMacroInfo) )
- {
- for( i=0; i<12; i++ )
- {
- if( TheMacroInfo.CommandList[i] == "" )
- break;
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.bLineBreak = true;
- m_Info.t_strText = TheMacroInfo.CommandList[i];
- m_Info.t_color.R =169;
- m_Info.t_color.G =149;
- m_Info.t_color.B =117;
- m_Info.t_color.A =255;
- EndItem();
- }
- }
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- break;
- case SCIT_RECIPE:
- case SCIT_BOOKMARK:
- //아이템 이름
- m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
- StartItem();
- m_Info.eType = DIT_TEXT;
- //m_Info.bLineBreak = true;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = ItemName;
- EndItem();
- break;
- default:
- break;
- }
- ParseINT(param, "ShortcutID", shortcutID);
- if( GetOptionBool( "Game", "EnterChatting" ) )
- {
- class'ShortcutAPI'.static.GetAssignedKeyFromCommand("TempStateShortcut", "UseShortcutItem Num=" $ shortcutID, commandItem);
- }
- else
- {
- class'ShortcutAPI'.static.GetAssignedKeyFromCommand("GamingStateShortcut", "UseShortcutItem Num=" $ shortcutID, commandItem);
- }
- //단축키 설명...
- if( commandItem.subkey1 != "" )
- {
- strShort = strShort $ Script.GetUserReadableKeyName( commandItem.subkey1 ) $ "+";
- }
- if( commandItem.subkey2 != "" )
- {
- strShort = strShort $ Script.GetUserReadableKeyName( commandItem.subkey2 ) $ "+";
- }
- if( commandItem.Key != "" )
- {
- strShort = strShort $ Script.GetUserReadableKeyName( commandItem.Key ) $ ">";
- }
- if( commandItem.subkey1 == "" && commandItem.subkey2 == "" && commandItem.Key == "" )
- {
- strShort = strShort $ GetSystemString(27) $">";
- }
- //줄추가~
- AddTooltipItemBlank(2);
- StartItem();
- m_Info.eType = DIT_SPLITLINE;
- m_Info.u_nTextureWidth = TOOLTIP_MINIMUM_WIDTH;
- m_Info.u_nTextureHeight = 1;
- m_Info.u_strTexture ="L2ui_ch3.tooltip_line";
- EndItem();
- if( ItemName != "" )
- {
- AddTooltipItemBlank(5);
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_strText = strShort;
- EndItem();
- AddTooltipItemBlank(4);
- ReturnTooltipInfo(m_Tooltip);
- }
- return;
- }
- else
- {
- ParseItemID( param, Item.ID );
- ParseString( param, "Name", Item.Name);
- ParseString( param, "AdditionalName", Item.AdditionalName);
- ParseInt( param, "Level", Item.Level);
- ParseInt( param, "Reserved", Item.Reserved);
- ParseInt( param, "Enchanted", Item.Enchanted);
- ParseInt( param, "ItemType", Item.ItemType);
- ParseInt( param, "ItemSubType", Item.ItemSubType);
- ParseInt( param, "CrystalType", Item.CrystalType);
- ParseInt( param, "ConsumeType", Item.ConsumeType);
- ParseInt( param, "RefineryOp1", Item.RefineryOp1);
- ParseInt( param, "RefineryOp2", Item.RefineryOp2);
- ParseINT64( param, "ItemNum", Item.ItemNum);
- ParseInt( param, "MpConsume", Item.MpConsume);
- //branch
- ParseInt ( param, "IsBRPremium", Item.IsBRPremium);
- //end of branch
- eShortCutType = EShortCutItemType(Item.ItemSubType);
- eItemParamType = EItemParamType(Item.ItemType);
- //아이템 이름 취득
- ItemName = class'UIDATA_ITEM'.static.GetRefineryItemName( Item.Name, Item.RefineryOp1, Item.RefineryOp2 );
- switch (eShortCutType)
- {
- case SCIT_ITEM:
- //branch
- AddPrimeItemSymbol(Item);
- //end of branch
- //인첸트 ex) "+10"
- AddTooltipItemEnchant(Item);
- //아이템 이름
- AddTooltipItemName(ItemName, Item, 1);
- //Grade Mark
- AddTooltipItemGrade(Item);
- //아이템 갯수
- AddTooltipItemCount(Item);
- break;
- case SCIT_SKILL:
- //아이템 이름
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = ItemName;
- EndItem();
- if (Len(Item.AdditionalName)>0)
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetX = 5;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_color.R = 255;
- m_Info.t_color.G = 217;
- m_Info.t_color.B = 105;
- m_Info.t_color.A = 255;
- m_Info.t_strText = Item.AdditionalName;
- EndItem();
- Item.Level = class'UIDATA_SKILL'.static.GetEnchantSkillLevel( Item.ID, Item.Level );
- }
- //ex) " Lv "
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = " ";
- EndItem();
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_color.R = 163;
- m_Info.t_color.G = 163;
- m_Info.t_color.B = 163;
- m_Info.t_color.A = 255;
- m_Info.t_ID = 88;
- EndItem();
- //스킬 레빌
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_color.R = 176;
- m_Info.t_color.G = 155;
- m_Info.t_color.B = 121;
- m_Info.t_color.A = 255;
- m_Info.t_strText = " " $ Item.Level;
- EndItem();
- //MP소모량
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = " (";
- EndItem();
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_ID = 91;
- EndItem();
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = ":" $ Item.MpConsume $ ")";
- EndItem();
- break;
- case SCIT_ACTION:
- case SCIT_MACRO:
- case SCIT_RECIPE:
- case SCIT_BOOKMARK:
- //아이템 이름
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = ItemName;
- EndItem();
- break;
- }
- }
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- /////////////////////////////////////////////////////////////////////////////////
- // RECIPE_MANUFACTURE
- function ReturnTooltip_NTT_RECIPE_MANUFACTURE(string param, ETooltipSourceType eSourceType)
- {
- local ItemInfo Item;
- if (eSourceType == NTST_ITEM)
- {
- 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, Int64ToString(Item.Reserved64), true, true, false);
- //ex) "보유수 : 0"
- AddTooltipItemOption(737, Int64ToString(Item.ItemNum), true, true, false);
- //설명
- if (Len(Item.Description)>0)
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetY = 6;
- m_Info.bLineBreak = true;
- m_Info.t_color.R = 178;
- m_Info.t_color.G = 190;
- m_Info.t_color.B = 207;
- m_Info.t_color.A = 255;
- m_Info.t_strText = Item.Description;
- EndItem();
- }
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- /////////////////////////////////////////////////////////////////////////////////
- // PLEDGEINFO
- function ReturnTooltip_NTT_CLANINFO(string param, ETooltipSourceType eSourceType)
- {
- local LVDataRecord record;
- if (eSourceType == NTST_LIST)
- {
- ParamToRecord( param, record );
- //ex) "직업 : 엘븐메이지"
- AddTooltipItemOption(391, GetClassType(int(record.LVDataList[2].szData)), true, true, true);
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- //선준 수정(2010.03.30) 완료
- function ReturnTooltip_NTT_POSTINFO(string param, ETooltipSourceType eSourceType)
- {
- local LVDataRecord record;
- if (eSourceType == NTST_LIST)
- {
- ParamToRecord( param, record );
- //ex) "직업 : 엘븐메이지"
- AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true);
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- //선준 수정(2010.02.22 ~ 03.08) 완료
- /////////////////////////////////////////////////////////////////////////////////
- // ROOMLIST
- function ReturnTooltip_NTT_ROOMLIST(string param, ETooltipSourceType eSourceType)
- {
- local int i;
- local LVDataRecord record;
- local int len;
- m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH + 40;
- if (eSourceType == NTST_LIST)
- {
- ParamToRecord( param, record );
- len = int( record.LVDataList[6].szData );
- for( i = 0 ; i < len ; i++ )
- {
- StartItem();
- m_Info.eType = DIT_TEXTURE;
- m_Info.u_nTextureWidth = 11;
- m_Info.u_nTextureHeight = 11;
- m_Info.u_strTexture = GetClassIconName( record.LVDataList[7 + i].nReserved1 );
- EndItem();
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = false;
- m_Info.t_color.R = 163;
- m_Info.t_color.G = 163;
- m_Info.t_color.B = 163;
- m_Info.t_color.A = 255;
- m_Info.t_strText = " " $ record.LVDataList[7 + i].szData;
- EndItem();
- if( i != len - 1 )
- {
- AddTooltipItemBlank(2);
- }
- }
- //ex) "직업 : 엘븐메이지"
- //AddTooltipItemOption(391, GetClassType(int(record.LVDataList[2].szData)), true, true, true);
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- /////////////////////////////////////////////////////////////////////////////////
- // USERLIST
- function ReturnTooltip_NTT_USERLIST(string param, ETooltipSourceType eSourceType)
- {
- local LVDataRecord record;
- m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH + 80;
- if (eSourceType == NTST_LIST)
- {
- ParamToRecord( param, record );
- //ex) "직업 : 엘븐메이지"
- AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true);
- AddTooltipItemBlank(0);
- //ex)귀속 지역 :
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_color.R = 163;
- m_Info.t_color.G = 163;
- m_Info.t_color.B = 163;
- m_Info.t_color.A = 255;
- m_Info.t_strText = GetSystemString( 2276 ) $ " : ";
- EndItem();
- //설명
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_color.R = 176;
- m_Info.t_color.G = 155;
- m_Info.t_color.B = 121;
- m_Info.t_color.A = 255;
- if( record.LVDataList[5].szData == "" )
- {
- m_Info.t_strText = GetSystemString( 27 );
- }
- else
- {
- m_Info.t_strText = record.LVDataList[5].szData;
- }
- EndItem();
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- /////////////////////////////////////////////////////////////////////////////////
- // PARTYMATCH
- function ReturnTooltip_NTT_PARTYMATCH(string param, ETooltipSourceType eSourceType)
- {
- local LVDataRecord record;
- m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH + 80;
- if (eSourceType == NTST_LIST)
- {
- ParamToRecord( param, record );
- //ex) "직업 : 엘븐메이지"
- AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true);
- //선준 수정(2010.02.22 ~ 03.08) 완료
- //ex)현재 위치 : 글루디오
- AddTooltipItemOption(471, GetZoneNameWithZoneID(int(record.LVDataList[3].szReserved)), true, true, true);
- /*
- AddTooltipItemBlank(0);
- //귀속지역
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = false;
- m_Info.t_color.R = 163;
- m_Info.t_color.G = 163;
- m_Info.t_color.B = 163;
- m_Info.t_color.A = 255;
- m_Info.t_strText = GetSystemString( 2276 ) @ ":";
- EndItem();
- //설명
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_color.R = 176;
- m_Info.t_color.G = 155;
- m_Info.t_color.B = 121;
- m_Info.t_color.A = 255;
- if( record.LVDataList[4].szData == "" )
- {
- //m_Info.bLineBreak = true;
- m_Info.t_strText = "" @ GetSystemString( 27 );
- }
- else
- {
- m_Info.bLineBreak = true;
- m_Info.t_strText = record.LVDataList[4].szData;
- }
- EndItem();
- */
- AddTooltipItemBlank(0);
- //ex)귀속 지역 :
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_color.R = 163;
- m_Info.t_color.G = 163;
- m_Info.t_color.B = 163;
- m_Info.t_color.A = 255;
- m_Info.t_strText = GetSystemString( 2276 ) $ " : ";
- //m_Info.t_strText = "귀속 지역 : ";
- EndItem();
- //설명
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_color.R = 176;
- m_Info.t_color.G = 155;
- m_Info.t_color.B = 121;
- m_Info.t_color.A = 255;
- if( record.LVDataList[4].szReserved == "" )
- {
- m_Info.t_strText = GetSystemString( 27 );
- }
- else
- {
- m_Info.t_strText = record.LVDataList[4].szReserved;
- }
- EndItem();
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- //선준 추가 UNION 예전 직업만 나오는 경우.
- /////////////////////////////////////////////////////////////////////////////////
- // UINONLIST
- function ReturnTooltip_NTT_UNIONLIST(string param, ETooltipSourceType eSourceType)
- {
- local LVDataRecord record;
- if (eSourceType == NTST_LIST)
- {
- ParamToRecord( param, record );
- //ex) "직업 : 엘븐메이지"
- AddTooltipItemOption(391, GetClassType(int(record.LVDataList[1].szData)), true, true, true);
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- /////////////////////////////////////////////////////////////////////////////////
- // QUESTLIST
- function ReturnTooltip_NTT_QUESTLIST(string param, ETooltipSourceType eSourceType)
- {
- local LVDataRecord record;
- local int nTmp;
- if (eSourceType == NTST_LIST)
- {
- ParamToRecord( param, record );
- //퀘스트 이름
- AddTooltipItemOption(1200, record.LVDataList[0].szData, true, true, true);
- //반복성
- switch(record.LVDataList[3].nReserved1)
- {
- case 0:
- case 2:
- nTmp = 861;
- break;
- case 1:
- case 3:
- nTmp = 862;
- break;
- }
- AddTooltipItemOption2(1202, nTmp, true, true, false);
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- /////////////////////////////////////////////////////////////////////////////////
- // RAIDLIST
- function ReturnTooltip_NTT_RAIDLIST(string param, ETooltipSourceType eSourceType)
- {
- local LVDataRecord record;
- if (eSourceType == NTST_LIST)
- {
- ParamToRecord( param, record );
- if (Len(record.szReserved)<1)
- return;
- m_Tooltip.MinimumWidth = TOOLTIP_MINIMUM_WIDTH;
- //레이드 설명
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.t_bDrawOneLine = false;
- m_Info.t_color.R = 178;
- m_Info.t_color.G = 190;
- m_Info.t_color.B = 207;
- m_Info.t_color.A = 255;
- m_Info.t_strText = record.szReserved;
- EndItem();
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- /////////////////////////////////////////////////////////////////////////////////
- // QUESTINFO
- function ReturnTooltip_NTT_QUESTINFO(string param, ETooltipSourceType eSourceType)
- {
- local LVDataRecord record;
- local int nTmp;
- local int Width1;
- local int Width2;
- local int Height;
- if (eSourceType == NTST_LIST)
- {
- ParamToRecord( param, record );
- //퀘스트 이름
- AddTooltipItemOption(1200, record.LVDataList[0].szData, true, true, true);
- //수행조건
- AddTooltipItemOption(1201, record.LVDataList[1].szData, true, true, false);
- //Width결정!
- GetTextSizeDefault(GetSystemString(1200) $ " : " $ record.LVDataList[0].szData, Width1, Height);
- GetTextSizeDefault(GetSystemString(1201) $ " : " $ record.LVDataList[1].szData, Width2, Height);
- if (Width2>Width1)
- Width1 = Width2;
- if (TOOLTIP_MINIMUM_WIDTH>Width1)
- Width1 = TOOLTIP_MINIMUM_WIDTH;
- m_Tooltip.MinimumWidth = Width1 + 30;
- //추천레벨
- AddTooltipItemOption(922, record.LVDataList[2].szData, true, true, false);
- //반복성
- switch(record.LVDataList[3].nReserved1)
- {
- case 0:
- case 2:
- nTmp = 861;
- break;
- case 1:
- case 3:
- nTmp = 862;
- break;
- }
- AddTooltipItemOption2(1202, nTmp, true, true, false);
- //퀘스트설명
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetY = 6;
- m_Info.t_bDrawOneLine = false;
- m_Info.bLineBreak = true;
- m_Info.t_color.R = 178;
- m_Info.t_color.G = 190;
- m_Info.t_color.B = 207;
- m_Info.t_color.A = 255;
- m_Info.t_strText = record.szReserved;
- EndItem();
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- /////////////////////////////////////////////////////////////////////////////////
- // MANOR
- function ReturnTooltip_NTT_MANOR(string param, string TooltipType, ETooltipSourceType eSourceType)
- {
- local LVDataRecord record;
- local int idx1;
- local int idx2;
- local int idx3;
- if (eSourceType == NTST_LIST)
- {
- ParamToRecord( param, record );
- if (TooltipType == "ManorSeedInfo")
- {
- idx1 = 4;
- idx2 = 5;
- idx3 = 6;
- }
- else if (TooltipType == "ManorCropInfo")
- {
- idx1 = 5;
- idx2 = 6;
- idx3 = 7;
- }
- else if (TooltipType == "ManorSeedSetting")
- {
- idx1 = 7;
- idx2 = 8;
- idx3 = 9;
- }
- else if (TooltipType == "ManorCropSetting")
- {
- idx1 = 9;
- idx2 = 10;
- idx3 = 11;
- }
- else if (TooltipType == "ManorDefaultInfo")
- {
- idx1 = 1;
- idx2 = 4;
- idx3 = 5;
- }
- else if (TooltipType == "ManorCropSell")
- {
- idx1 = 7;
- idx2 = 8;
- idx3 = 9;
- }
- // 씨앗 or 작물 이름
- AddTooltipItemOption(0, record.LVDataList[0].szData, false, true, true);
- // 레벨
- AddTooltipItemOption(537, record.LVDataList[idx1].szData, true, true, false);
- // 보상 타입1
- AddTooltipItemOption(1134, record.LVDataList[idx2].szData, true, true, false);
- // 보상 타입2
- AddTooltipItemOption(1135, record.LVDataList[idx3].szData, true, true, false);
- }
- else
- {
- return;
- }
- ReturnTooltipInfo(m_Tooltip);
- }
- // [퀘스트 아이템 툴팁 추가]
- function ReturnTooltip_NTT_QUESTREWARDS(string param, ETooltipSourceType eSourceType)
- {
- // [퀘스트 아이템 툴팁 추가] 이 부분에 퀘스트 아이템 툴팁에 걸맞는 코드가 들어가면 될 것 같습니다.
- // 2009.10.14
- // ReturnTooltip_NTT_ITEM(param, "Inventoty", eSourceType);
- ReturnTooltip_NTT_ITEM(param, "QuestReward", eSourceType);
- }
- //"XXX : YYYY" 형태의 TooltipItem을 편하게 추가해 준다.
- function AddTooltipItemOption(int TitleID, string Content, bool bTitle, bool bContent, bool IamFirst)
- {
- if (bTitle)
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- if (!IamFirst)
- m_Info.nOffSetY = 6;
- m_Info.bLineBreak = true;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_color.R = 163;
- m_Info.t_color.G = 163;
- m_Info.t_color.B = 163;
- m_Info.t_color.A = 255;
- m_Info.t_ID = TitleID;
- EndItem();
- }
- if (Content != "0")
- {
- if (bContent)
- {
- if (bTitle)
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- if (!IamFirst)
- m_Info.nOffSetY = 6;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_color.R = 163;
- m_Info.t_color.G = 163;
- m_Info.t_color.B = 163;
- m_Info.t_color.A = 255;
- m_Info.t_strText = " : ";
- EndItem();
- }
- StartItem();
- m_Info.eType = DIT_TEXT;
- if (!IamFirst)
- m_Info.nOffSetY = 6;
- if (!bTitle)
- m_Info.bLineBreak = true;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_color.R = 176;
- m_Info.t_color.G = 155;
- m_Info.t_color.B = 121;
- m_Info.t_color.A = 255;
- m_Info.t_strText = Content;
- EndItem();
- }
- }
- }
- function AddTooltipItemOptionDef(int TitleID, ItemInfo Item, bool bTitle, bool bContent, bool IamFirst, optional bool isShield)
- {
- local int FullDamage, DefaultDamage, Diffirence;
- if( isShield )
- {
- FullDamage = GetShieldDefense(Item.CrystalType, Item.Enchanted, Item.ShieldDefense);
- DefaultDamage = GetShieldDefense(Item.CrystalType, 0, Item.ShieldDefense);
- Diffirence = FullDamage - DefaultDamage;
- }
- else if( TitleID == 95 )
- {
- FullDamage = GetPhysicalDefense(Item.CrystalType, Item.Enchanted, Item.PhysicalDefense);
- DefaultDamage = GetPhysicalDefense(Item.CrystalType, 0, Item.PhysicalDefense);
- Diffirence = FullDamage - DefaultDamage;
- }
- else
- {
- FullDamage = GetMagicalDefense(Item.CrystalType, Item.Enchanted, Item.MagicalDefense);
- DefaultDamage = GetMagicalDefense(Item.CrystalType, 0, Item.MagicalDefense);
- Diffirence = FullDamage - DefaultDamage;
- }
- 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 = 255;
- m_Info.t_color.G = 255;
- m_Info.t_color.B = 255;
- m_Info.t_color.A = 255;
- m_Info.t_ID = TitleID;
- EndItem();
- }
- if (FullDamage != 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 = 255;
- m_Info.t_color.G = 255;
- m_Info.t_color.B = 255;
- 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 = 207;
- m_Info.t_color.G = 148;
- m_Info.t_color.B = 11;
- m_Info.t_color.A = 255;
- m_Info.t_strText = ""$FullDamage;
- EndItem();
- if( Diffirence != 0 )
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- if (!IamFirst)
- m_Info.nOffSetY = 6;
- if (!bTitle)
- m_Info.bLineBreak = true;
- m_Info.nOffSetX = 4;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_color.R = 208;
- m_Info.t_color.G = 180;
- m_Info.t_color.B = 119;
- m_Info.t_color.A = 255;
- m_Info.t_strText = "("$DefaultDamage$" + "$Diffirence$")";
- EndItem();
- }
- }
- }
- }
- function AddTooltipItemOptionDamage(int TitleID, ItemInfo Item, bool bTitle, bool bContent, bool IamFirst)
- {
- local int FullDamage, DefaultDamage, Diffirence;
- if( TitleID == 94 )
- {
- FullDamage = GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.PhysicalDamage);
- DefaultDamage = GetPhysicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, 0, Item.PhysicalDamage);
- Diffirence = FullDamage - DefaultDamage;
- }
- else
- {
- FullDamage = GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, Item.Enchanted, Item.MagicalDamage);
- DefaultDamage = GetMagicalDamage(Item.WeaponType, Item.SlotBitType, Item.CrystalType, 0, Item.MagicalDamage);
- Diffirence = FullDamage - DefaultDamage;
- }
- 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 = 255;
- m_Info.t_color.G = 255;
- m_Info.t_color.B = 255;
- m_Info.t_color.A = 255;
- m_Info.t_ID = TitleID;
- EndItem();
- }
- if (FullDamage != 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 = 255;
- m_Info.t_color.G = 255;
- m_Info.t_color.B = 255;
- 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 = 207;
- m_Info.t_color.G = 148;
- m_Info.t_color.B = 11;
- m_Info.t_color.A = 255;
- m_Info.t_strText = ""$FullDamage;
- EndItem();
- if( Diffirence != 0 )
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- if (!IamFirst)
- m_Info.nOffSetY = 6;
- if (!bTitle)
- m_Info.bLineBreak = true;
- m_Info.nOffSetX = 4;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_color.R = 208;
- m_Info.t_color.G = 180;
- m_Info.t_color.B = 119;
- m_Info.t_color.A = 255;
- m_Info.t_strText = "("$DefaultDamage$" + "$Diffirence$")";
- 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 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;
- if(Item.CrystalType > 0)
- {
- StartItem();
- m_Info.eType = DIT_TEXTURE;
- m_Info.nOffSetX = 2;
- m_Info.nOffSetY = 0;
- switch (Item.CrystalType)
- {
- case 1: // D grade_d
- TextureName = "symbol.grade_d";
- break;
- case 2: // C grade_c
- TextureName = "symbol.grade_c";
- break;
- case 3: // B grade_b
- TextureName = "symbol.grade_b";
- break;
- case 4: // A grade_a
- TextureName = "symbol.grade_a";
- break;
- case 5: // S grade_s
- TextureName = "symbol.grade_s";
- break;
- case 6: // S80 Grade_S80
- TextureName = "symbol.Grade_S80";
- break;
- case 7: // S84 Grade_S84
- TextureName = "symbol.Grade_S84";
- break;
- case 8: // R Grade_R
- TextureName = "symbol.Grade_R";
- break;
- case 9: // R95 Grade_R95
- TextureName = "symbol.Grade_R95";
- break;
- case 10: // R99 Grade_R99
- TextureName = "symbol.Grade_R99";
- break;
- case 11: // R110 Grade_R110
- TextureName = "symbol.Grade_R110";
- break;
- }
- if (Item.CrystalType == 6 || Item.CrystalType == 7 || Item.CrystalType == 9 || Item.CrystalType == 10 || Item.CrystalType == 11)
- {
- m_Info.u_nTextureWidth = 32;
- m_Info.u_nTextureHeight = 16;
- m_Info.u_nTextureUWidth = 32;
- m_Info.u_nTextureUHeight = 16;
- }
- 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;
- local bool FirstTime;
- for(i = 0; i < 6; i++)
- {
- textureName[i] = "";
- tooltipStr[i] = "";
- }
- NowAttrLv =0;
- NowMaxValue =0;
- NowValue =0;
- // 공격 아이템 속성
- if (Item.AttackAttributeValue > 0)
- {
- //AddSystemMessageString("1");
- 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 // 방어 아이템 속성
- {
- //AddSystemMessageString("2");
- 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;
- AddTooltipItemBlank(0);
- 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();
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetY = 6;
- 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();
- AddTooltipItemBlank(4);
- }
- }
- else{ //방어 속성일 경우
- for(i = 0; i < 6; i++)
- {
- if(tooltipStr[i] == "") continue;
- if(!FirstTime)
- {
- AddTooltipItemBlank(0);
- 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();
- FirstTime=true;
- }
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetY = 6;
- 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();
- }
- if( FirstTime )
- AddTooltipItemBlank(4);
- }
- }
- // function StartItem()
- // {
- // local DrawItemInfo infoClear;
- // m_Info = infoClear;
- // }
- //
- // function EndItem()
- // {
- // m_Tooltip.DrawList.Length = m_Tooltip.DrawList.Length + 1;
- // m_Tooltip.DrawList[m_Tooltip.DrawList.Length-1] = m_Info;
- // }
- //퀘스트 아이템의 퀘스트 이름 표시
- function AddTooltipItemQuestList(ItemInfo Item)
- {
- local int i;
- //<관련 퀘스트>
- if(Item.RelatedQuestID[0] != 0)
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetY = 10;
- m_Info.bLineBreak = true;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = GetSystemString(1721);
- EndItem();
- }
- for(i = 0 ; i<MAX_RELATED_QUEST ; i++)
- {
- if(Item.RelatedQuestID[i] != 0)
- {
- StartItem();
- m_Info.eType = DIT_TEXT;
- m_Info.nOffSetY = 6;
- m_Info.t_color.R = 163;
- m_Info.t_color.G = 163;
- m_Info.t_color.B = 163;
- m_Info.t_color.A = 255;
- m_Info.bLineBreak = true;
- m_Info.t_bDrawOneLine = true;
- m_Info.t_strText = class'UIDATA_QUEST'.static.GetQuestName(Item.RelatedQuestID[i]);;
- EndItem();
- }
- }
- }
- // 속성의 레벨값을 전역변수에 저장 //자료가 많아서 전역변수에 집어넣는다.
- function SetAttackAttribute(int Attvalue, int type)
- {
- if( AttValue >= 375) // 9렙 375 ~ 450
- {
- AttackAttLevel[type] = 9;
- AttackAttMaxValue[type] = 75;
- AttackAttCurrValue[type] = AttValue - 375;
- }
- else if( AttValue >= 325) // 8렙 325 ~ 375
- {
- AttackAttLevel[type] = 8;
- AttackAttMaxValue[type] = 50;
- AttackAttCurrValue[type] = AttValue - 325;
- }
- else if( AttValue >= 300) // 7렙 300 ~ 325
- {
- AttackAttLevel[type] = 7;
- AttackAttMaxValue[type] = 25;
- AttackAttCurrValue[type] = AttValue - 300;
- }
- else if( AttValue >= 225) // 6렙 225 ~ 300
- {
- AttackAttLevel[type] = 6;
- AttackAttMaxValue[type] = 75;
- AttackAttCurrValue[type] = AttValue - 225;
- }
- else if( AttValue >= 175) // 5렙 175 ~ 225
- {
- AttackAttLevel[type] = 5;
- AttackAttMaxValue[type] = 50;
- AttackAttCurrValue[type] = AttValue - 175;
- }
- else if( AttValue >= 150) // 4렙 150 ~ 175
- {
- AttackAttLevel[type] = 4;
- AttackAttMaxValue[type] = 25;
- AttackAttCurrValue[type] = AttValue - 150;
- }
- else if( AttValue >= 75) // 3렙 75 ~ 150
- {
- AttackAttLevel[type] = 3;
- AttackAttMaxValue[type] = 75;
- AttackAttCurrValue[type] = AttValue - 75;
- }
- else if( AttValue >= 25) // 2렙 25~ 75
- {
- AttackAttLevel[type] = 2;
- AttackAttMaxValue[type] = 50;
- AttackAttCurrValue[type] = AttValue - 25;
- }
- else // else 0~ 25
- {
- AttackAttLevel[type] = 1;
- AttackAttMaxValue[type] = 25;
- AttackAttCurrValue[type] = AttValue;
- }
- }
- // 속성의 레벨값을 전역변수에 저장 //자료가 많아서 전역변수에 집어넣는다.
- function SetDefAttribute(int Defvalue, int type)
- {
- if( DefValue >= 150) // 9렙 150~180
- {
- DefAttLevel[type] = 9;
- DefAttMaxValue[type] = 30;
- DefAttCurrValue[type] = DefValue - 150;
- }
- else if( DefValue >= 132) // 8렙 132 ~ 150
- {
- DefAttLevel[type] = 8;
- DefAttMaxValue[type] = 18;
- DefAttCurrValue[type] = DefValue - 132;
- }
- else if( DefValue >= 120) // 7렙 120 ~ 132
- {
- DefAttLevel[type] = 7;
- DefAttMaxValue[type] = 12;
- DefAttCurrValue[type] = DefValue - 120;
- }
- else if( DefValue >= 90) // 6렙 90 ~ 120
- {
- DefAttLevel[type] = 6;
- DefAttMaxValue[type] = 30;
- DefAttCurrValue[type] = DefValue - 90;
- }
- else if( DefValue >= 72) // 5렙 72 ~ 90
- {
- DefAttLevel[type] = 5;
- DefAttMaxValue[type] = 18;
- DefAttCurrValue[type] = DefValue - 72;
- }
- else if( DefValue >= 60) // 4렙 60 ~ 72
- {
- DefAttLevel[type] = 4;
- DefAttMaxValue[type] = 12;
- DefAttCurrValue[type] = DefValue - 60;
- }
- else if( DefValue >= 30) // 3렙 30 ~ 60
- {
- DefAttLevel[type] = 3;
- DefAttMaxValue[type] = 30;
- DefAttCurrValue[type] = DefValue - 30;
- }
- else if( DefValue >= 12) // 2렙 // 12 ~ 30
- {
- DefAttLevel[type] = 2;
- DefAttMaxValue[type] = 18;
- DefAttCurrValue[type] = DefValue - 12;
- }
- else // else // 0~ 12
- {
- DefAttLevel[type] = 1;
- DefAttMaxValue[type] = 12;
- DefAttCurrValue[type] = DefValue;
- }
- }
- //branch
- function AddPrimeItemSymbol(ItemInfo Item)
- {
- local string TextureName;
- if (Item.IsBRPremium != 2)
- return;
- TextureName = GetPrimeItemSymbolName();
- if (Len(TextureName)>0)
- {
- StartItem();
- m_Info.eType = DIT_TEXTURE;
- m_Info.nOffSetX = 2;
- m_Info.nOffSetY = 0;
- m_Info.u_nTextureWidth = 16;
- m_Info.u_nTextureHeight = 16;
- m_Info.u_nTextureUWidth = 16;
- m_Info.u_nTextureUHeight = 16;
- m_Info.u_strTexture = TextureName;
- EndItem();
- }
- }
- //end of branch
- defaultproperties
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment