mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-16 01:01:30 +00:00
Merge git://github.com/EQEmu/Server into Development
Conflicts: changelog.txt
This commit is contained in:
commit
ca3b5a3221
@ -1,11 +1,16 @@
|
||||
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
||||
-------------------------------------------------------
|
||||
|
||||
== 11/28/2014 ==
|
||||
Trevius: Fixed a zone crash related to numhits for spells.
|
||||
Trevius: Fixed a query related to group leaders logging in.
|
||||
Trevius (Natedog): Fixed a world crash related to attempting to join an adventure with Mercenaries.
|
||||
|
||||
== 11/27/2014 ==
|
||||
Kayen: Projectiles (ie Arrows) fired from archery will now do damage upon impact instead of instantly (consistent w/ live).
|
||||
Optional SQL: utils/sql/git/optional/2014_11_27_ProjectileDmgOnImpact.sql
|
||||
|
||||
== 11/24/2014 ==
|
||||
== 11/25/2014 ==
|
||||
Trevius: Spells that modify model size are now limited to 2 size adjustments from the base size.
|
||||
Trevius: Fix to prevent Mercenaries from being set as Group Leader.
|
||||
|
||||
|
||||
@ -768,7 +768,10 @@ uint32 Database::GetCharacterID(const char *name) {
|
||||
std::string query = StringFormat("SELECT `id` FROM `character_data` WHERE `name` = '%s'", name);
|
||||
auto results = QueryDatabase(query);
|
||||
auto row = results.begin();
|
||||
if (row[0]){ return atoi(row[0]); }
|
||||
if (results.RowCount() == 1)
|
||||
{
|
||||
return atoi(row[0]);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -3277,7 +3280,7 @@ char* Database::GetGroupLeaderForLogin(const char* name, char* leaderbuf) {
|
||||
if (group_id == 0)
|
||||
return leaderbuf;
|
||||
|
||||
query = StringFormat("SELECT `leadername` FROM `group_leader` WHERE `gid` = '%u' AND `groupid` = %u LIMIT 1", group_id);
|
||||
query = StringFormat("SELECT `leadername` FROM `group_leaders` WHERE `gid` = '%u' LIMIT 1", group_id);
|
||||
results = QueryDatabase(query);
|
||||
|
||||
for (auto row = results.begin(); row != results.end(); ++row)
|
||||
|
||||
@ -4169,7 +4169,8 @@ struct Arrow_Struct {
|
||||
/*070*/ uint8 unknown070;
|
||||
/*071*/ uint8 item_type;
|
||||
/*072*/ uint8 skill;
|
||||
/*073*/ char model_name[43];
|
||||
/*073*/ uint8 unknown073[16];
|
||||
/*089*/ char model_name[27];
|
||||
/*116*/
|
||||
};
|
||||
|
||||
|
||||
@ -54,10 +54,10 @@ void Adventure::AddPlayer(std::string character_name, bool add_client_to_instanc
|
||||
{
|
||||
if(!PlayerExists(character_name))
|
||||
{
|
||||
int client_id = database.GetCharacterID(character_name.c_str());
|
||||
if(add_client_to_instance)
|
||||
int32 character_id = database.GetCharacterID(character_name.c_str());
|
||||
if(character_id && add_client_to_instance)
|
||||
{
|
||||
database.AddClientToInstance(instance_id, client_id);
|
||||
database.AddClientToInstance(instance_id, character_id);
|
||||
}
|
||||
players.push_back(character_name);
|
||||
}
|
||||
@ -70,8 +70,12 @@ void Adventure::RemovePlayer(std::string character_name)
|
||||
{
|
||||
if((*iter).compare(character_name) == 0)
|
||||
{
|
||||
database.RemoveClientFromInstance(instance_id, database.GetCharacterID(character_name.c_str()));
|
||||
players.erase(iter);
|
||||
int32 character_id = database.GetCharacterID(character_name.c_str());
|
||||
if (character_id)
|
||||
{
|
||||
database.RemoveClientFromInstance(instance_id, character_id);
|
||||
players.erase(iter);
|
||||
}
|
||||
return;
|
||||
}
|
||||
++iter;
|
||||
|
||||
@ -275,7 +275,7 @@ public:
|
||||
int16 GetBuffSlotFromType(uint16 type);
|
||||
uint16 GetSpellIDFromSlot(uint8 slot);
|
||||
int CountDispellableBuffs();
|
||||
void CheckNumHitsRemaining(uint8 type, uint32 buff_slot=-1, uint16 spell_id=SPELL_UNKNOWN);
|
||||
void CheckNumHitsRemaining(uint8 type, int32 buff_slot=-1, uint16 spell_id=SPELL_UNKNOWN);
|
||||
bool HasNumhits() const { return has_numhits; }
|
||||
inline void Numhits(bool val) { has_numhits = val; }
|
||||
bool HasMGB() const { return has_MGB; }
|
||||
|
||||
@ -5558,7 +5558,7 @@ int16 Client::GetFocusEffect(focusType type, uint16 spell_id) {
|
||||
return realTotal + realTotal2 + realTotal3;
|
||||
}
|
||||
|
||||
void Mob::CheckNumHitsRemaining(uint8 type, uint32 buff_slot, uint16 spell_id)
|
||||
void Mob::CheckNumHitsRemaining(uint8 type, int32 buff_slot, uint16 spell_id)
|
||||
{
|
||||
/*
|
||||
Field 175 = numhits type
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user