diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index 38dd99a1d..0785b17fd 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -909,10 +909,6 @@ void Client::CompleteConnect() GoToSafeCoords(ZoneID("arena"), 0); return; } - - // force resending of position when finally complete - // in hopes to alleviating race condition under-world issues - MovePC(zone->GetZoneID(), zone->GetInstanceID(), GetX(), GetY(), GetZ(), GetHeading()); } // connecting opcode handlers @@ -8924,10 +8920,10 @@ void Client::Handle_OP_ItemVerifyRequest(const EQApplicationPacket *app) else if (item->ItemType == EQ::item::ItemTypeSpell) { spell_id = item->Scroll.Effect; - if (RuleB(Spells, AllowSpellMemorizeFromItem)) + if (RuleB(Spells, AllowSpellMemorizeFromItem)) { int highest_spell_id = GetHighestScribedSpellinSpellGroup(spells[spell_id].spell_group); - if (spells[spell_id].spell_group > 0 && highest_spell_id > 0) + if (spells[spell_id].spell_group > 0 && highest_spell_id > 0) { if (spells[spell_id].rank > spells[highest_spell_id].rank) { @@ -8936,12 +8932,12 @@ void Client::Handle_OP_ItemVerifyRequest(const EQApplicationPacket *app) SetEntityVariable("spell_id",itoa(item->ID)); SendPopupToClient("", message.c_str(), 1000001, 1, 10); return; - } + } else if (spells[spell_id].rank < spells[highest_spell_id].rank) { MessageString(Chat::Red, LESSER_SPELL_VERSION, spells[spell_id].name, spells[highest_spell_id].name); return; - } + } } DeleteItemInInventory(slot_id, 1, true); MemorizeSpellFromItem(item->ID);