Issue information

Issue ID
#2422
Status
Fixed
Severity
None
Started
Hercules Elf Bot
Nov 5, 2008 0:13
Last Post
Hercules Elf Bot
Apr 4, 2012 9:07
Confirmation
N/A

Hercules Elf Bot - Nov 5, 2008 0:13

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

It's known that monsters spam skill like crazy on eA, at other hand on Aegis every monster's skill has a delay. This behavior gives players such stupid abilities like kill Valkyrie Randgris with Reflect Shield. Also, at locations like Bio3 monsters become very hard to kill.
It's very simple to fix.
file mob.h, struct mob_data, substruct state
CODE
    struct {
        enum MobSkillState skillstate;
        unsigned aggressive : 1; //Signals whether the mob AI is in aggressive mode or reactive mode. [Skotlex]
        unsigned char steal_flag; //number of steal tries (to prevent steal exploit on mobs with few items) [Lupus]
        unsigned steal_coin_flag : 1;
        unsigned soul_change_flag : 1; // Celest
        unsigned alchemist: 1;
        unsigned spotted: 1;
        unsigned char attacked_count; //For rude attacked.
        int provoke_flag; // Celest
        unsigned npc_killmonster: 1; //for new killmonster behavior
        unsigned rebirth: 1; // NPC_Rebirth used

        // for correct skill delay
        unsigned int cur_delay;
        unsigned int lastcast_tick;
    } state;


file mob.c, string #2832
CODE
    if (md->state.lastcast_tick+md->state.cur_delay >= tick)        // if there's delay, can't cast next skill
        return 0;

file mob.c, string #3010
CODE
        md->state.cur_delay =  ms[i].delay;        // saving when mob uses skill and it's delay
        md->state.lastcast_tick = tick;


This post has been edited by rustamka: Nov 5 2008, 01:57 AM

Hercules Elf Bot - Dec 10, 2011 0:39

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