Merge remote-tracking branch 'upstream/master'

This commit is contained in:
ricardocampos23 2015-01-15 20:44:59 +00:00
commit 8f3ffe4e6e
7 changed files with 23 additions and 10 deletions

View File

@ -1,5 +1,10 @@
EQEMu Changelog (Started on Sept 24, 2003 15:50)
-------------------------------------------------------
== 01/13/2015 ==
Uleat: Placed an upper limit on the cursor queue save loop.
Trevius: (RoF2) Guild invites now add new members as members instead of recruits, and /guild chat works properly.
Trevius: (RoF2) Guild Promote is now functional.
== 01/12/2015 ==
Uleat: Fix for OP_FormattedMessage text link server crashes
Uleat: Added text link translators for OP_TaskDescription (RoF+ -- all clients current)

View File

@ -108,6 +108,7 @@ bool SharedDatabase::SaveCursor(uint32 char_id, std::list<ItemInst*>::const_iter
int i = 8000;
for(auto it = start; it != end; ++it, i++) {
if (i > 8999) { break; } // shouldn't be anything in the queue that indexes this high
ItemInst *inst = *it;
if (!SaveInventory(char_id,inst,(i == 8000) ? MainCursor : i))
return false;

View File

@ -126,7 +126,7 @@ OP_GuildLeader=0x7e09
OP_GuildDelete=0x3708
OP_GuildInviteAccept=0x7053
OP_GuildDemote=0x2d4e
OP_GuildPromote=0x0000
OP_GuildPromote=0x6a98
OP_GuildPublicNote=0x5053
OP_GuildManageBanker=0x748f
OP_GuildBank=0x5134

View File

@ -2852,7 +2852,8 @@ void Client::Message_StringID(uint32 type, uint32 string_id, const char* message
bufptr += strlen(message_arg[i]) + 1;
}
bufptr = '\0';
// since we're moving the pointer the 0 offset is correct
bufptr[0] = '\0';
if(distance>0)
entity_list.QueueCloseClients(this,outapp,false,distance);
@ -2964,7 +2965,8 @@ void Client::FilteredMessage_StringID(Mob *sender, uint32 type, eqFilterType fil
bufptr += strlen(message_arg[i]) + 1;
}
bufptr = '\0';
// since we're moving the pointer the 0 offset is correct
bufptr[0] = '\0';
QueuePacket(outapp);
safe_delete(outapp);

View File

@ -7489,7 +7489,7 @@ void Client::Handle_OP_GuildInviteAccept(const EQApplicationPacket *app)
uint32 guildrank = gj->response;
if (GetClientVersion() == EQClientRoF)
if (GetClientVersion() >= EQClientRoF)
{
if (gj->response == 8)
{
@ -7668,7 +7668,10 @@ void Client::Handle_OP_GuildPromote(const EQApplicationPacket *app)
uint8 rank = gci.rank + 1;
if (rank > GUILD_OFFICER)
{
Message(0, "You cannot promote someone to be guild leader. You must use /guildleader.");
return;
}
mlog(GUILDS__ACTIONS, "Promoting %s (%d) from rank %s (%d) to %s (%d) in %s (%d)",

View File

@ -6654,7 +6654,7 @@ void command_npcedit(Client *c, const Seperator *sep)
"SET luclin_haircolor = %i, luclin_beardcolor = %i, "
"luclin_hairstyle = %i, luclin_beard = %i, "
"face = %i, drakkin_heritage = %i, "
"drakkin_tattoo = %i, drakkin_details = %i, "
"drakkin_tattoo = %i, drakkin_details = %i "
"WHERE id = %i",
target->GetHairColor(), target->GetBeardColor(),
target->GetHairStyle(), target->GetBeard(),

View File

@ -3471,14 +3471,16 @@ void Mob::DoBuffTic(uint16 spell_id, int slot, uint32 ticsremaining, uint8 caste
{
effect_value = CalcSpellEffectValue(spell_id, i, caster_level, caster, ticsremaining);
//Handle client cast DOTs here.
if (caster && effect_value < 0 && IsDetrimentalSpell(spell_id)){
if (caster && effect_value < 0){
if (caster->IsClient()){
if (!caster->CastToClient()->GetFeigned())
if (IsDetrimentalSpell(spell_id)){
if (caster->IsClient()){
if (!caster->CastToClient()->GetFeigned())
AddToHateList(caster, -effect_value);
}
else if (!IsClient()) //Allow NPC's to generate hate if casted on other NPC's.
AddToHateList(caster, -effect_value);
}
else if (!IsClient()) //Allow NPC's to generate hate if casted on other NPC's.
AddToHateList(caster, -effect_value);
effect_value = caster->GetActDoTDamage(spell_id, effect_value, this);