Issue information

Issue ID
#1332
Status
Fixed
Severity
None
Started
Hercules Elf Bot
Apr 7, 2008 21:28
Last Post
Hercules Elf Bot
Mar 5, 2012 17:51
Confirmation
N/A

Hercules Elf Bot - Apr 7, 2008 21:28

Originally posted by [b]Brainstorm[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=1332

Usually i dont trust iRO wiki`s info, but lone wolf confirmed a few to me few days ago.
http://irowiki.org/wiki/Sacrifice

First things first.
1) Devotion isnt canceled when the crusader`s hp goes bellow 25%, it cancels when he dies.
Fix: pc.c find pc_damage and remove the following from the code and adding the proper check on pc_dead function just bellow it:
CODE
if (sd->battle_status.hp<sd->battle_status.max_hp>>2)
    {    //25% HP left effects.
        int i=0;
        for(i = 0; i < 5; i++)
        if (sd->devotion[i]){
            struct map_session_data *devsd = map_id2sd(sd->devotion[i]);
            if (devsd) status_change_end(&devsd->bl,SC_DEVOTION,-1);
            sd->devotion[i] = 0;
        }
    }

Also, changing this would do the trick, but not exactly how it should be:
CODE
if (sd->battle_status.hp < 1)


2) The following is false on eA:
QUOTE
Certain abilities function through Sacrifice: Guard, Shield Reflect, and Defending Aura. Guard works as if the sacrificed target had the skill active, also inducing physical attack delay when activated. Shield Reflect only works on melee skills when applied through Sacrifice. This includes Guillotine Fist, as well as Arrow Shower cast by a monster. Defending Aura currently will slow all sacrificed targets when activated, but only apply a reduced damage reduction compared to the 80% reduction on the caster.


3) On eA, any exceding damage will return to original target. The protection limit's is the crusader's hp, past that all damage goes to original target.
QUOTE
# If the Crusader receives damage that exceeds their remaining HP through Sacrifice, they will die, and any damage exceeding the Crusader's hit points does not pass to the original target receiving the damage.


4) eA will always try to refresh the sacrifice on protected players, even if the limit was reached.
QUOTE
Refreshing Sacrifice (recasting it on a sacrificed target before its duration ends) requires that the number of players currently being sacrificed is at least 1 less than your limit.


This post has been edited by Brainstorm: Apr 7 2008, 02:36 PM

Hercules Elf Bot - Dec 21, 2011 4:04

Originally posted by [b]Ind[/b]
was fixed in a previous eA revision