What determines the NPCs damage interval?

Discussion in 'General Discussion' started by Balem, Apr 11, 2022.

  1. Balem

    Balem New Member

    Messages:
    10
    I was reading the posts from Torven and Demonstar about NPC & Player AC, Avoidance, Offensive Power etc. What I don't understand is what determines a NPCs Damage Interval? Is the attack power? Offensive power? The level? Or simply a specific value given to each mob? If I cast cripple on NPC would that reduce it's damage interval? Or is that static unchanging number on NPCs?
     
  2. Lenas

    Lenas I Feel Loved

    Messages:
    2,968
    AFAIK, it works the same for players and NPC's. You have a minimum and a maximum hit value, and your attack versus your target's AC determines how hard your successful attacks will land.
     
    Pithy likes this.
  3. Pithy

    Pithy I Feel Loved

    Messages:
    2,632
    Damage Bonus and Damage Interval are inherent mob stats. Nothing affects this, other than how the devs enter these parameters into the database.

    Mobs have 20 possible hit values: DB+DI, DB+2*DI, ..., DB+20*DI. Things like the mob's attack and the tank's AC influence the distribution of those hits (how often the mob hits at the low end vs. the high end), but the possible hit values themselves are fixed and unchanging, regardless of buffs, debuffs, gear, etc.
     
  4. Lenas

    Lenas I Feel Loved

    Messages:
    2,968
    To be clear, DB and DI are not stats that are entered by administration. Mobs are given a minimum and a maximum damage value, and the code handles the distribution.

    upload_2022-4-11_10-52-36.png

    Futher reading @Balem : EverQuest Melee Combat Routines Analyzed and Modeled - EQEmulator Forums
     
    Last edited: Apr 11, 2022
    Pithy likes this.
  5. Pithy

    Pithy I Feel Loved

    Messages:
    2,632
    Fair enough! DB and DI can be calculated from min and max hit, so it's functionally equivalent.

    DI = (max-min)/19
    DB = min-DI
     
  6. Torven

    Torven I Feel Loved

    Messages:
    2,742
    DI is a player derived construct and not what Sony uses. Sony called their melee damage variables 'base damage' and 'min damage'. Min damage is essentially DB, but base damage would be DI*10. So the NPC's max hit would be min damage + base damage * 2. 'Base damage' is the NPC equivalent to weapon damage for players, but players get an additional damage multiplier that NPCs do not.

    For simplicity and ease of development I just kept the min/max damage fields and wrote a function to compute the DI values from the min/max values. Demonstar may have changed EQEmu and PEQ's fields to be like Sony's but I'm not sure.
     
    Pithy likes this.