comparison mm7_5.cpp @ 1576:e66e0c89d81b

More OnInventoryItemRightClick (not finished)
author Nomad
date Tue, 10 Sep 2013 12:54:07 +0200
parents 43d3536a20f7
children 1b6217e07b26
comparison
equal deleted inserted replaced
1575:43d3536a20f7 1576:e66e0c89d81b
4918 //char v5; // sf@5 4918 //char v5; // sf@5
4919 //int v6; // eax@5 4919 //int v6; // eax@5
4920 int v7; // eax@7 4920 int v7; // eax@7
4921 //unsigned __int16 v8; // ax@10 4921 //unsigned __int16 v8; // ax@10
4922 int v9; // edi@10 4922 int v9; // edi@10
4923 int v10; // eax@10 4923 //int v10; // eax@10
4924 //int v11; // edx@13 4924 //int v11; // edx@13
4925 //LONG v12; // edx@23 4925 //LONG v12; // edx@23
4926 //signed int v13; // edx@23 4926 //signed int v13; // edx@23
4927 int v14; // edx@25 4927 int v14; // edx@25
4928 unsigned int v15; // edi@25 4928 unsigned int v15; // edi@25
4937 int v24; // eax@79 4937 int v24; // eax@79
4938 int v25; // eax@80 4938 int v25; // eax@80
4939 int v26; // eax@84 4939 int v26; // eax@84
4940 ItemGen *v27; // esi@98 4940 ItemGen *v27; // esi@98
4941 //unsigned int v28; // eax@98 4941 //unsigned int v28; // eax@98
4942 ItemGen *v29; // edi@98 4942 //ItemGen *v29; // edi@98
4943 unsigned int v30; // ecx@103 4943 //unsigned int v30; // ecx@103
4944 double v31; // st7@112 4944 double v31; // st7@112
4945 unsigned __int64 v32; // qax@113 4945 //unsigned __int64 v32; // qax@113
4946 //unsigned int v33; // ecx@117 4946 //unsigned int v33; // ecx@117
4947 int v34; // eax@126 4947 //int v34; // eax@126
4948 //unsigned int v35; // ecx@127 4948 //unsigned int v35; // ecx@127
4949 double v36; // st7@132 4949 double v36; // st7@132
4950 signed __int64 v37; // qax@135 4950 signed __int64 v37; // qax@135
4951 //unsigned int v38; // eax@138 4951 //unsigned int v38; // eax@138
4952 Vec3_int_ v39; // [sp-18h] [bp-A8h]@83 4952 Vec3_int_ v39; // [sp-18h] [bp-A8h]@83
4955 //int *v42; // [sp-4h] [bp-94h]@83 4955 //int *v42; // [sp-4h] [bp-94h]@83
4956 GUIWindow v43; // [sp+Ch] [bp-84h]@137 4956 GUIWindow v43; // [sp+Ch] [bp-84h]@137
4957 //unsigned int pY; // [sp+60h] [bp-30h]@2 4957 //unsigned int pY; // [sp+60h] [bp-30h]@2
4958 int v45; // [sp+64h] [bp-2Ch]@10 4958 int v45; // [sp+64h] [bp-2Ch]@10
4959 //unsigned int pX; // [sp+68h] [bp-28h]@2 4959 //unsigned int pX; // [sp+68h] [bp-28h]@2
4960 int v47; // [sp+6Ch] [bp-24h]@25 4960 //int v47; // [sp+6Ch] [bp-24h]@25
4961 //POINT y; // [sp+70h] [bp-20h]@2 4961 //POINT y; // [sp+70h] [bp-20h]@2
4962 POINT a2; // [sp+78h] [bp-18h]@2 4962 POINT a2; // [sp+78h] [bp-18h]@2
4963 //Vec3_int_ pOut; // [sp+80h] [bp-10h]@2 4963 //Vec3_int_ pOut; // [sp+80h] [bp-10h]@2
4964 unsigned int v51; // [sp+8Ch] [bp-4h]@23 4964 unsigned int v51; // [sp+8Ch] [bp-4h]@23
4965 4965
5014 --item_pid; 5014 --item_pid;
5015 int alchemy_level = (int8_t)player->GetActualSkillLevel(PLAYER_SKILL_ALCHEMY); 5015 int alchemy_level = (int8_t)player->GetActualSkillLevel(PLAYER_SKILL_ALCHEMY);
5016 v9 = alchemy_level & 0x3F; 5016 v9 = alchemy_level & 0x3F;
5017 //v45 = alchemy_level & 0x3F; 5017 //v45 = alchemy_level & 0x3F;
5018 int alchemy_skill = SkillToMastery(alchemy_level); 5018 int alchemy_skill = SkillToMastery(alchemy_level);
5019 v10 = item_pid; 5019
5020 if ( pParty->pPickedItem.uItemID == ITEM_POTION_BOTTLE ) 5020 auto item = &player->pInventoryItemList[item_pid];
5021 if (pParty->pPickedItem.uItemID == ITEM_POTION_BOTTLE)
5021 { 5022 {
5022 LABEL_116: 5023 LABEL_116:
5023 GameUI_DrawItemInfo(&player->pInventoryItemList[v10]); 5024 GameUI_DrawItemInfo(item);
5024 return; 5025 return;
5025 } 5026 }
5027
5028 if (pParty->pPickedItem.uItemID == ITEM_POTION_RECHARGE_ITEM)
5029 {
5030 if (item->uItemID != ITEM_POTION_BOTTLE && // cant recharge bottle
5031 item->uItemID < ITEM_POTION_CATALYST && // cant recharge
5032 item->uItemID > ITEM_POTION_REJUVENATION) // all potions
5033 {
5034 if (pItemsTable->pItems[item->uItemID].uEquipType != EQUIP_WAND) // can recharge only wands
5035 {
5036 pAudioPlayer->PlaySound(SOUND_27, 0, 0, -1, 0, 0, 0, 0);
5037 return;
5038 }
5039
5040 v36 = (70.0 - (double)pParty->pPickedItem.uEnchantmentType) * 0.01;
5041 if ( v36 < 0.0 )
5042 v36 = 0.0;
5043 v37 = (signed __int64)((double)item->uMaxCharges - v36 * (double)item->uMaxCharges);
5044 item->uMaxCharges = v37;
5045 item->uNumCharges = v37;
5046
5047 pMouse->RemoveHoldingItem();
5048 no_rightlick_in_inventory = 1;
5049 return;
5050 }
5051 }
5052
5053 else if (pParty->pPickedItem.uItemID == ITEM_POTION_HARDEN_ITEM)
5054 {
5055 if (item->uItemID != ITEM_POTION_BOTTLE && // cant harden bottle
5056 item->uItemID < ITEM_POTION_CATALYST && // cant harden
5057 item->uItemID > ITEM_POTION_REJUVENATION) // all potions
5058 {
5059 if (item->IsBroken() || // cant harden broken items
5060 item->uItemID >= ITEM_ARTIFACT_PUCK || // cant harden artifacts
5061 pItemsTable->pItems[item->uItemID].uEquipType < EQUIP_OFF_HAND ||
5062 pItemsTable->pItems[item->uItemID].uEquipType > EQUIP_WAND)
5063 goto __invalid_item;
5064
5065 item->uAttributes |= ITEM_AURA_EFFECT_RED | ITEM_ENCHANTED;
5066
5067 _50C9A8_item_enchantment_timer = 256;
5068 pMouse->RemoveHoldingItem();
5069 no_rightlick_in_inventory = true;
5070 return;
5071 }
5072 }
5073
5074 else if (pParty->pPickedItem.uItemID >= ITEM_POTION_FLAMING_POTION &&
5075 pParty->pPickedItem.uItemID <= ITEM_POTION_SWIFT_POTION ||
5076 pParty->pPickedItem.uItemID == ITEM_POTION_SLAYING_POTION)
5077 {
5078 if (item->uItemID != ITEM_POTION_BOTTLE && // cant enchant bottle
5079 item->uItemID < ITEM_POTION_CATALYST && // cant enchant
5080 item->uItemID > ITEM_POTION_REJUVENATION) // all potions
5081 {
5082 if (item->uItemID >= ITEM_BLASTER && item->uItemID <= ITEM_LASER_RIFLE ||
5083 item->uItemID >= ITEM_ARTIFACT_PUCK ||
5084 item->IsBroken() ||
5085 item->uSpecEnchantmentType ||
5086 item->uEnchantmentType ||
5087 pItemsTable->pItems[item->uItemID].uEquipType >= EQUIP_ARMOUR) // only melee weapons and bows
5088 goto __invalid_item;
5089
5090 item->UpdateTempBonus(pParty->uTimePlayed);
5091 if (pParty->pPickedItem.uItemID == ITEM_POTION_SLAYING_POTION)
5092 {
5093 item->uSpecEnchantmentType = 40; // of Slaying
5094 v31 = (double)(1800 * pParty->pPickedItem.uEnchantmentType * 128);
5095 }
5096 else
5097 {
5098 static int _4E2904_enchantment_by_potion_lut[] =
5099 {
5100 164, 93, 22,
5101 164, 93, 22,
5102 11, 5, 13, 7, 59
5103 };
5104 item->uSpecEnchantmentType = _4E2904_enchantment_by_potion_lut[pParty->pPickedItem.uItemID - 240];
5105 v31 = (double)(1800 * pParty->pPickedItem.uEnchantmentType * 128);
5106 }
5107
5108 v27->uExpireTime = pParty->uTimePlayed + v31 * 0.033333335;
5109 v27->uAttributes = alchemy_skill | 0x18;
5110
5111 _50C9A8_item_enchantment_timer = 256;
5112 pMouse->RemoveHoldingItem();
5113 no_rightlick_in_inventory = true;
5114 return;
5115 }
5116 }
5117
5118
5026 5119
5027 if (pParty->pPickedItem.uItemID < ITEM_REAGENT_WIDOWSWEEP_BERRIES || 5120 if (pParty->pPickedItem.uItemID < ITEM_REAGENT_WIDOWSWEEP_BERRIES ||
5028 pParty->pPickedItem.uItemID > ITEM_REAGENT_PHILOSOPHERS_STONE || 5121 pParty->pPickedItem.uItemID > ITEM_REAGENT_PHILOSOPHERS_STONE ||
5029 player->pInventoryItemList[item_pid].uItemID != ITEM_POTION_BOTTLE) 5122 player->pInventoryItemList[item_pid].uItemID != ITEM_POTION_BOTTLE)
5030 { 5123 {
5031 if (pParty->pPickedItem.uItemID < ITEM_POTION_CATALYST || 5124 if (pParty->pPickedItem.uItemID < ITEM_POTION_CATALYST ||
5032 pParty->pPickedItem.uItemID > ITEM_POTION_REJUVENATION || 5125 pParty->pPickedItem.uItemID > ITEM_POTION_REJUVENATION ||
5033 player->pInventoryItemList[item_pid].uItemID < ITEM_POTION_CATALYST || 5126 player->pInventoryItemList[item_pid].uItemID < ITEM_POTION_CATALYST ||
5034 player->pInventoryItemList[item_pid].uItemID >= ITEM_POTION_REJUVENATION) 5127 player->pInventoryItemList[item_pid].uItemID > ITEM_POTION_REJUVENATION)
5035 { 5128 {
5036 if (pParty->pPickedItem.uItemID != ITEM_POTION_HARDEN_ITEM && 5129 if (pParty->pPickedItem.uItemID != ITEM_POTION_HARDEN_ITEM &&
5037 (pParty->pPickedItem.uItemID < ITEM_POTION_FLAMING_POTION || pParty->pPickedItem.uItemID > ITEM_POTION_SWIFT_POTION) && 5130 (pParty->pPickedItem.uItemID < ITEM_POTION_FLAMING_POTION || pParty->pPickedItem.uItemID > ITEM_POTION_SWIFT_POTION) &&
5038 pParty->pPickedItem.uItemID != ITEM_POTION_SLAYING_POTION && 5131 pParty->pPickedItem.uItemID != ITEM_POTION_SLAYING_POTION &&
5039 pParty->pPickedItem.uItemID != ITEM_POTION_RECHARGE_ITEM) 5132 pParty->pPickedItem.uItemID != ITEM_POTION_RECHARGE_ITEM)
5040 goto LABEL_116; 5133 goto LABEL_116;
5041
5042 int a2_y;
5043 v27 = &player->pInventoryItemList[item_pid];
5044 v51 = pItemsTable->pItems[v27->uItemID].uEquipType;
5045 v29 = (ItemGen *)(1800 * pParty->pPickedItem.uEnchantmentType);
5046 if ( pParty->pPickedItem.uItemID != ITEM_POTION_RECHARGE_ITEM )
5047 {
5048 if ( pParty->pPickedItem.uItemID == ITEM_POTION_HARDEN_ITEM )
5049 {
5050 if (v27->IsBroken() || v51 < EQUIP_OFF_HAND || v51 > EQUIP_WAND || v27->uItemID >= ITEM_ARTIFACT_PUCK )
5051 {
5052 pMouse->RemoveHoldingItem();
5053 no_rightlick_in_inventory = true;
5054 return;
5055 }
5056 v27->uAttributes |= ITEM_AURA_EFFECT_RED | ITEM_ENCHANTED;
5057 }
5058 else
5059 {
5060 if (pParty->pPickedItem.uItemID <= ITEM_POTION_ACCURACY_BOOST )
5061 {
5062 pMouse->RemoveHoldingItem();
5063 no_rightlick_in_inventory = true;
5064 return;
5065 }
5066 if (pParty->pPickedItem.uItemID <= ITEM_POTION_SWIFT_POTION)
5067 {
5068 v27->UpdateTempBonus(pParty->uTimePlayed);
5069 if ( (signed int)v27->uItemID >= 64 && (signed int)v27->uItemID <= 65
5070 || (alchemy_skill = v27->uAttributes, alchemy_skill & 2)
5071 || v27->uSpecEnchantmentType
5072 || v27->uEnchantmentType
5073 || v51 && v51 != 1 && v51 != 2
5074 || (signed int)v27->uItemID >= 500 )
5075 {
5076 pMouse->RemoveHoldingItem();
5077 no_rightlick_in_inventory = 1;
5078 return;
5079 }
5080 v34 = *(int *)&aSbwb00[4 * pParty->pPickedItem.uItemID + 4];
5081 a2_y = (int)v29 << 7;
5082 v31 = (double)(signed int)((int)v29 << 7);
5083 v27->uSpecEnchantmentType = v34;
5084 }
5085 else
5086 {
5087 if ( pParty->pPickedItem.uItemID != 263
5088 || (v27->UpdateTempBonus(pParty->uTimePlayed), v30 = v27->uItemID, (signed int)v27->uItemID >= 64)
5089 && (signed int)v30 <= 65
5090 || (alchemy_skill = v27->uAttributes, alchemy_skill & 2)
5091 || v27->uSpecEnchantmentType
5092 || v27->uEnchantmentType
5093 || v51 && v51 != 1 && v51 != 2
5094 || (signed int)v30 >= 500 )
5095 {
5096 pMouse->RemoveHoldingItem();
5097 no_rightlick_in_inventory = 1;
5098 return;
5099 }
5100 a2_y = (int)v29 << 7;
5101 v27->uSpecEnchantmentType = 40;
5102 v31 = (double)a2_y;
5103 }
5104 v32 = pParty->uTimePlayed + (signed int)(signed __int64)(v31 * 0.033333335);
5105 LODWORD(v27->uExpireTime) = v32;
5106 LODWORD(v32) = alchemy_skill;
5107 LOBYTE(v32) = LOBYTE(alchemy_skill) | 0x18;
5108 HIDWORD(v27->uExpireTime) = HIDWORD(v32);
5109 v27->uAttributes = v32;
5110 }
5111 _50C9A8_item_enchantment_timer = 256;
5112 pMouse->RemoveHoldingItem();
5113 no_rightlick_in_inventory = 1;
5114 return;
5115 }
5116 v36 = (70.0 - (double)pParty->pPickedItem.uEnchantmentType) * 0.01;
5117 if ( v36 < 0.0 )
5118 v36 = 0.0;
5119 if ( v51 != 12 )
5120 {
5121 pAudioPlayer->PlaySound(SOUND_27, 0, 0, -1, 0, 0, 0, 0);
5122 return;
5123 }
5124 a2_y = v27->uMaxCharges;
5125 v37 = (signed __int64)((double)a2_y - v36 * (double)a2_y);
5126 v27->uMaxCharges = v37;
5127 v27->uNumCharges = (unsigned __int8)v37;
5128 pMouse->RemoveHoldingItem();
5129 no_rightlick_in_inventory = 1;
5130 return;
5131 } 5134 }
5132 v14 = player->pInventoryItemList[item_pid].uItemID - 222; 5135
5133 v15 = pParty->pPickedItem.uItemID - 222; 5136 // src not reagent, dst not bottle
5134 v47 = v14; 5137 // src potion, dst potion
5135 5138
5136 if ( pParty->pPickedItem.uItemID == 221 || player->pInventoryItemList[item_pid].uItemID == 221 ) 5139 v14 = item->uItemID - ITEM_POTION_CURE_WOUNDS;
5140 v15 = pParty->pPickedItem.uItemID - ITEM_POTION_CURE_WOUNDS;
5141
5142 if ( pParty->pPickedItem.uItemID == ITEM_POTION_CATALYST ||
5143 item->uItemID == ITEM_POTION_CATALYST )
5137 { 5144 {
5138 v16 = 5; 5145 v16 = 5;
5139 } 5146 }
5140 else 5147 else
5141 { 5148 {
5142 v16 = *(short *)&pItemsTable->field_EDE0[2 * (v14 + 50 * v15) + 388]; 5149 v16 = pItemsTable->potion_data[v15][v14 + 2];
5143 v10 = item_pid;
5144 } 5150 }
5145 v51 = v16; 5151 v51 = v16;
5146 if ( v9 ) 5152 if ( v9 )
5147 { 5153 {
5148 if ( v16 < 225 || v16 > 227 ) 5154 if ( v16 < ITEM_POTION_CURE_DISEASE || v16 > ITEM_POTION_AWAKEN )
5149 { 5155 {
5150 if ( v16 < 228 || v16 > 239 ) 5156 if ( v16 < ITEM_POTION_HASTE || v16 > ITEM_POTION_CURE_INSANITY )
5151 { 5157 {
5152 if ( v16 < 240 || v16 > 261 ) 5158 if ( v16 < ITEM_POTION_MIGHT_BOOST || v16 > ITEM_POTION_BODY_RESISTANE )
5153 { 5159 {
5154 if ( v16 >= 262 && alchemy_level != 4 ) 5160 if ( v16 >= ITEM_POTION_STONE_TO_FLESH && alchemy_level != 4 )
5155 { 5161 {
5156 LABEL_53: 5162 LABEL_53:
5157 v51 = 4; 5163 v51 = 4;
5158 goto LABEL_54; 5164 goto LABEL_54;
5159 } 5165 }
5179 } 5185 }
5180 } 5186 }
5181 } 5187 }
5182 else 5188 else
5183 { 5189 {
5184 if ( v16 >= 225 && v16 <= 227 ) 5190 if ( v16 >= ITEM_POTION_CURE_DISEASE && v16 <= ITEM_POTION_AWAKEN )
5185 { 5191 {
5186 v51 = 1; 5192 v51 = 1;
5187 goto LABEL_54; 5193 goto LABEL_54;
5188 } 5194 }
5189 if ( v16 >= 228 && v16 <= 239 ) 5195 if ( v16 >= ITEM_POTION_HASTE && v16 <= ITEM_POTION_CURE_INSANITY )
5190 goto LABEL_35; 5196 goto LABEL_35;
5191 if ( v16 >= 240 && v16 <= 261 ) 5197 if ( v16 >= ITEM_POTION_MIGHT_BOOST && v16 <= ITEM_POTION_BODY_RESISTANE )
5192 goto LABEL_38; 5198 goto LABEL_38;
5193 if ( v16 >= 262 ) 5199 if ( v16 >= ITEM_POTION_STONE_TO_FLESH )
5194 goto LABEL_53; 5200 goto LABEL_53;
5195 } 5201 }
5196 LABEL_54: 5202 LABEL_54:
5197 int pOut_y = 0; 5203 int pOut_y = 0;
5198 int pOut_x = v10 + 1; 5204 int pOut_x = item_pid + 1;
5199 v17 = (int)player->pInventoryMatrix; 5205 v17 = (int)player->pInventoryMatrix;
5200 while ( *(int *)v17 != pOut_x ) 5206 while ( *(int *)v17 != pOut_x )
5201 { 5207 {
5202 ++pOut_y; 5208 ++pOut_y;
5203 v17 += 4; 5209 v17 += 4;
5208 } 5214 }
5209 } 5215 }
5210 v18 = pOut_y; 5216 v18 = pOut_y;
5211 LABEL_59: 5217 LABEL_59:
5212 if ( !v51 ) 5218 if ( !v51 )
5213 {
5214 LABEL_115:
5215 v10 = item_pid;
5216 goto LABEL_116; 5219 goto LABEL_116;
5217 }
5218 if ( v51 == 1 ) 5220 if ( v51 == 1 )
5219 { 5221 {
5220 player->RemoveItemAtInventoryIndex(v18); 5222 player->RemoveItemAtInventoryIndex(v18);
5221 v26 = rand(); 5223 v26 = rand();
5222 player->ReceiveDamage(v26 % 11 + 10, DMGT_FIRE); 5224 player->ReceiveDamage(v26 % 11 + 10, DMGT_FIRE);
5252 { 5254 {
5253 v19 = player->AddItem(-1, 0xDCu); 5255 v19 = player->AddItem(-1, 0xDCu);
5254 if ( v19 ) 5256 if ( v19 )
5255 // *(int *)&v0->field_1F5[36 * v19 + 15] = 1; 5257 // *(int *)&v0->field_1F5[36 * v19 + 15] = 1;
5256 player->pOwnItems[v19-1].uAttributes = ITEM_IDENTIFIED; 5258 player->pOwnItems[v19-1].uAttributes = ITEM_IDENTIFIED;
5257 v20 = v47 + 50 * v15; 5259 v20 = v14 + 50 * v15;
5258 player->pInventoryItemList[item_pid].uItemID = v51; 5260 player->pInventoryItemList[item_pid].uItemID = v51;
5259 player->pInventoryItemList[item_pid].uEnchantmentType = (pParty->pPickedItem.uEnchantmentType 5261 player->pInventoryItemList[item_pid].uEnchantmentType = (pParty->pPickedItem.uEnchantmentType
5260 + player->pInventoryItemList[item_pid].uEnchantmentType) 5262 + player->pInventoryItemList[item_pid].uEnchantmentType)
5261 / 2; 5263 / 2;
5262 player->SetVariable(VAR_AutoNotes, *(short *)&pItemsTable->potion_note[2 * v20 ]);//field_10168 + 388 5264 player->SetVariable(VAR_AutoNotes, *(short *)&pItemsTable->potion_note[2 * v20 ]);//field_10168 + 388
5286 if ( v21 ) 5288 if ( v21 )
5287 //*(int *)&v0->field_1F5[36 * v21 + 15] = 1; 5289 //*(int *)&v0->field_1F5[36 * v21 + 15] = 1;
5288 player->pOwnItems[v21-1].uAttributes=ITEM_IDENTIFIED; 5290 player->pOwnItems[v21-1].uAttributes=ITEM_IDENTIFIED;
5289 goto LABEL_74; 5291 goto LABEL_74;
5290 } 5292 }
5291 goto LABEL_115; 5293 goto LABEL_116;
5292 } 5294 }
5293 player->RemoveItemAtInventoryIndex(v18); 5295 player->RemoveItemAtInventoryIndex(v18);
5294 player->SetCondition(0x10u, 0); 5296 player->SetCondition(0x10u, 0);
5295 v23 = 0; 5297 v23 = 0;
5296 } 5298 }
5317 } 5319 }
5318 pMouse->RemoveHoldingItem(); 5320 pMouse->RemoveHoldingItem();
5319 no_rightlick_in_inventory = 1; 5321 no_rightlick_in_inventory = 1;
5320 return; 5322 return;
5321 } 5323 }
5324
5325 // end alchemy
5322 5326
5323 player->pInventoryItemList[item_pid].uEnchantmentType = v9 + pItemsTable->pItems[pParty->pPickedItem.uItemID].uDamageDice; 5327 player->pInventoryItemList[item_pid].uEnchantmentType = v9 + pItemsTable->pItems[pParty->pPickedItem.uItemID].uDamageDice;
5324 switch ( pParty->pPickedItem.uItemID ) 5328 switch ( pParty->pPickedItem.uItemID )
5325 { 5329 {
5326 case 0xC8u: 5330 case 0xC8u:
5359 if ( dword_4E455C ) 5363 if ( dword_4E455C )
5360 { 5364 {
5361 player->PlaySound(SPEECH_16, 0); 5365 player->PlaySound(SPEECH_16, 0);
5362 dword_4E455C = 0; 5366 dword_4E455C = 0;
5363 } 5367 }
5368 return;
5369
5370
5371 __invalid_item:
5372 pMouse->RemoveHoldingItem();
5373 no_rightlick_in_inventory = true;
5374 return;
5364 } 5375 }
5365 5376
5366 //----- (00417AD4) -------------------------------------------------------- 5377 //----- (00417AD4) --------------------------------------------------------
5367 unsigned int GetSkillColor(unsigned int uPlayerClass, PLAYER_SKILL_TYPE uPlayerSkillType, signed int skill_level) 5378 unsigned int GetSkillColor(unsigned int uPlayerClass, PLAYER_SKILL_TYPE uPlayerSkillType, signed int skill_level)
5368 { 5379 {