Mercurial > mm7
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 { |