mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-05 17:42:24 +00:00
(RoF2) Fixed dropping items on the ground so they go to ground level instead of camera height.
Show Helm Option should be functional again.
This commit is contained in:
parent
b63dbd50a8
commit
05c943779d
@ -2,6 +2,8 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
|||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
== 12/27/2014 ==
|
== 12/27/2014 ==
|
||||||
Akkadius: Add option to automatic database upgrade script 5) Download latest Opcodes from Github
|
Akkadius: Add option to automatic database upgrade script 5) Download latest Opcodes from Github
|
||||||
|
Trevius: (RoF2) Fixed dropping items on the ground so they go to ground level instead of camera height.
|
||||||
|
Trevius: Show Helm Option should be functional again.
|
||||||
|
|
||||||
== 12/24/2014 ==
|
== 12/24/2014 ==
|
||||||
Trevius: (RoF+) Added herosforgemodel field to the npc_types table.
|
Trevius: (RoF+) Added herosforgemodel field to the npc_types table.
|
||||||
|
|||||||
@ -1994,17 +1994,17 @@ namespace RoF2
|
|||||||
outapp->WriteUInt32(emu->drakkin_tattoo);
|
outapp->WriteUInt32(emu->drakkin_tattoo);
|
||||||
outapp->WriteUInt32(emu->drakkin_details);
|
outapp->WriteUInt32(emu->drakkin_details);
|
||||||
|
|
||||||
outapp->WriteUInt8(0); // Unknown
|
outapp->WriteUInt8(0); // Unknown 0
|
||||||
outapp->WriteUInt8(0); // Unknown
|
outapp->WriteUInt8(0xff); // Unknown 0xff
|
||||||
outapp->WriteUInt8(0); // Unknown
|
outapp->WriteUInt8(1); // Unknown 1
|
||||||
outapp->WriteUInt8(0); // Unknown
|
outapp->WriteUInt8(0xff); // Unknown 0xff
|
||||||
outapp->WriteUInt8(0); // Unknown
|
outapp->WriteUInt8(1); // Unknown 1
|
||||||
|
|
||||||
outapp->WriteFloat(5.0f); // Height ?
|
outapp->WriteFloat(5.0f); // Height
|
||||||
|
|
||||||
outapp->WriteFloat(3.0f); // Unknown
|
outapp->WriteFloat(3.0f); // Unknown 3.0
|
||||||
outapp->WriteFloat(2.5f); // Unknown
|
outapp->WriteFloat(2.5f); // Unknown 2.5
|
||||||
outapp->WriteFloat(5.5f); // Unknown
|
outapp->WriteFloat(5.5f); // Unknown 5.5
|
||||||
|
|
||||||
outapp->WriteUInt32(0); // Primary ?
|
outapp->WriteUInt32(0); // Primary ?
|
||||||
outapp->WriteUInt32(0); // Secondary ?
|
outapp->WriteUInt32(0); // Secondary ?
|
||||||
@ -2330,7 +2330,7 @@ namespace RoF2
|
|||||||
|
|
||||||
outapp->WriteUInt64(emu->exp); // int32 in client
|
outapp->WriteUInt64(emu->exp); // int32 in client
|
||||||
|
|
||||||
outapp->WriteUInt8(0); // Unknown - Seen 5 on Live
|
outapp->WriteUInt8(5); // Unknown - Seen 5 on Live - Eye Height?
|
||||||
|
|
||||||
outapp->WriteUInt32(emu->platinum_bank);
|
outapp->WriteUInt32(emu->platinum_bank);
|
||||||
outapp->WriteUInt32(emu->gold_bank);
|
outapp->WriteUInt32(emu->gold_bank);
|
||||||
|
|||||||
@ -1817,45 +1817,8 @@ void Client::FillSpawnStruct(NewSpawn_Struct* ns, Mob* ForWho)
|
|||||||
}
|
}
|
||||||
ns->spawn.size = 0; // Changing size works, but then movement stops! (wth?)
|
ns->spawn.size = 0; // Changing size works, but then movement stops! (wth?)
|
||||||
ns->spawn.runspeed = (gmspeed == 0) ? runspeed : 3.125f;
|
ns->spawn.runspeed = (gmspeed == 0) ? runspeed : 3.125f;
|
||||||
if (!m_pp.showhelm) ns->spawn.showhelm = 0;
|
ns->spawn.showhelm = m_pp.showhelm ? 1 : 0;
|
||||||
|
|
||||||
/*
|
|
||||||
// Equipment/Weapons already set from Mob::FillSpawnStruct
|
|
||||||
// Commenting this out for now
|
|
||||||
const Item_Struct* item = nullptr;
|
|
||||||
const ItemInst* inst = nullptr;
|
|
||||||
int16 invslot;
|
|
||||||
|
|
||||||
for (uint32 matslot = 0; matslot < _MaterialCount; matslot++)
|
|
||||||
{
|
|
||||||
// Only Player Races Wear Armor
|
|
||||||
if (IsPlayerRace(race) || matslot > 6)
|
|
||||||
{
|
|
||||||
invslot = Inventory::CalcSlotFromMaterial(matslot);
|
|
||||||
if (invslot == INVALID_INDEX)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if ((inst = m_inv[invslot]) && inst->IsType(ItemClassCommon))
|
|
||||||
{
|
|
||||||
item = inst->GetItem();
|
|
||||||
|
|
||||||
if (matslot > 6)
|
|
||||||
{
|
|
||||||
// Weapon Models
|
|
||||||
ns->spawn.equipment[matslot].material = GetEquipmentMaterial(matslot);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Armor Materials/Models
|
|
||||||
ns->spawn.equipment[matslot].material = item->Material;
|
|
||||||
ns->spawn.equipment[matslot].elitematerial = item->EliteMaterial;
|
|
||||||
ns->spawn.equipment[matslot].heroforgemodel = GetHerosForgeModel(matslot);
|
|
||||||
ns->spawn.colors[matslot].color = m_pp.item_tint[matslot].rgb.use_tint ? m_pp.item_tint[matslot].color : item->Color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Client::GMHideMe(Client* client) {
|
bool Client::GMHideMe(Client* client) {
|
||||||
|
|||||||
@ -118,7 +118,15 @@ Object::Object(Client* client, const ItemInst* inst)
|
|||||||
m_data.heading = client->GetHeading();
|
m_data.heading = client->GetHeading();
|
||||||
m_data.x = client->GetX();
|
m_data.x = client->GetX();
|
||||||
m_data.y = client->GetY();
|
m_data.y = client->GetY();
|
||||||
m_data.z = client->GetZ();
|
if (client->GetClientVersion() >= EQClientRoF2)
|
||||||
|
{
|
||||||
|
// RoF2 places items at player's Z, which is 0.625 of their height.
|
||||||
|
m_data.z = client->GetZ() - (client->GetSize() * 0.625f);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_data.z = client->GetZ();
|
||||||
|
}
|
||||||
m_data.zone_id = zone->GetZoneID();
|
m_data.zone_id = zone->GetZoneID();
|
||||||
|
|
||||||
decay_timer.Start();
|
decay_timer.Start();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user