Merge pull request #39 from mackal/Fade_Escape_Fix

Fixed and cleaned up Client::Escape()
This commit is contained in:
Alex
2013-03-24 01:13:54 -07:00
6 changed files with 19 additions and 19 deletions
+1 -2
View File
@@ -480,8 +480,7 @@ void Client::HandleAAAction(aaID activate) {
break;
case aaActionFadingMemories:
entity_list.RemoveFromTargets(this, true);
SetInvisible(1);
// Do nothing since spell effect works correctly, but mana isn't used.
break;
default:
+1
View File
@@ -10,6 +10,7 @@
#define SPELL_DOES_NOT_WORK_PLANE 107 //This spell does not work on this plane.
#define CANT_SEE_TARGET 108 //You cannot see your target.
#define MGB_STRING 113 //The next group buff you cast will hit all targets in range.
#define ESCAPE 114 //You escape from combat, hiding yourself from view.
#define TARGET_TOO_FAR 124 //Your target is too far away, get closer!
#define PROC_TOOLOW 126 //Your will is not sufficient to command this weapon.
#define PROC_PETTOOLOW 127 //Your pet's will is not sufficient to command its weapon.
+3 -15
View File
@@ -3129,22 +3129,10 @@ uint8 Client::SlotConvert2(uint8 slot){
void Client::Escape()
{
hidden = true;
entity_list.ClearFeignAggro(this);
entity_list.RemoveFromTargets(this, true);
SetInvisible(1);
EQApplicationPacket *outapp = new EQApplicationPacket(OP_SimpleMessage,12);
SimpleMessage_Struct *msg=(SimpleMessage_Struct *)outapp->pBuffer;
msg->color=0x010E;
msg->string_id=114;
FastQueuePacket(&outapp);
outapp = new EQApplicationPacket(OP_SpawnAppearance, sizeof(SpawnAppearance_Struct));
SpawnAppearance_Struct* sa_out = (SpawnAppearance_Struct*)outapp->pBuffer;
sa_out->spawn_id = GetID();
sa_out->type = 0x03;
sa_out->parameter = 1;
entity_list.QueueClients(this, outapp);
safe_delete(outapp);
Message_StringID(MT_Skills, ESCAPE);
}
float Client::CalcPriceMod(Mob* other, bool reverse)
+7 -2
View File
@@ -2039,8 +2039,13 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial)
#ifdef SPELL_EFFECT_SPAM
snprintf(effect_desc, _EDLEN, "Fading Memories");
#endif
entity_list.RemoveFromTargets(caster);
SetInvisible(1);
if(caster && caster->IsClient())
caster->CastToClient()->Escape();
else
{
entity_list.RemoveFromTargets(caster);
SetInvisible(1);
}
break;
}