Database Editor:NPCs

From The Al`Kabor Project Wiki
Revision as of 17:39, 21 May 2016 by Torven (talk | contribs) (→‎Combat: continued)
Jump to navigation Jump to search

Editing NPCs

General

Edit NPC - General.png

  • NPC Name: Use underscores in place of spaces.
  • Title:
  • Levels: NPCs can spawn with a random level from a specified range if 'Max Level' is a value greater than 'Level'.
  • Race: Determines which model the NPC will display as. The 'Texture' value under Appearance will determine which skin the model will use.
  • Class: Sets the NPC's class, or if the NPC is a banker or shopkeeper.
  • Bodytype: Determines which spells or abilities that may function on the NPC.


Vitals, Stats, Resists

Edit NPC - Vitals Stats Resists.png

  • HP, Mana: These are the maximum HP and mana values for the NPC.
  • AC: This is the absolute mitigation AC value for the NPC. Only equipped inventory AC is added to this value in mitigation calculations.
To get an idea of what this value should be for a given NPC when recreating Sony's content, see this thread on EQEmulator.
Rules of thumb: (which may change as more parses are done)
  • Give common level 50+ NPCs 200 AC. (for all expansions)
  • Give raid bosses in Classic, Kunark and Velious 400 AC.
  • Give raid bosses in Luclin 900 AC.
  • Give raid bosses in PoP 600 AC. (some bosses, like Rallos Zek, should have more)
It's important to note that currently this value is ignored for NPCs under level 53. Lower level NPCs parsed to very uniform and predictable mitigation values, and erroneous entries here can easily create very unbalanced NPCs, so it seemed better to hardcode it. Nevertheless it's a good idea when creating lower level NPCs to put in a proper AC value. Higher level NPCs will also use a minimum of 200 AC if the database entry is lower.
When setting a value for a low level NPC, use one of these formulae:
  • For an NPC level 1 or 2: MinLevel * 3 + 2
  • For an NPC level 3 to 14: MinLevel * 3
  • For an NPC level 15 to 50: MinLevel * 4.1 - 15
  • Scalerate: This was inherited from EQEmulator's code and not used for TAKP, but still functions. For those concerned with replicating Sony's content, this should be set to zero. This will grant higher statistics for NPCs who randomly roll a higher level than the minimum level if the NPC has a level range. The scaling is not accurate to Sony's content.
Note that there is still minor NPC scaling when this value is zero, and this small amount of scaling is in-line with how Sony scaled NPCs. When scalerate is zero, NPCs that roll higher in level from the minimum will gain an extra 2 max melee damage, 20 or 100 max hp (100 in PoP), and +3 AC per level.
  • Runspeed and Walkspeed: How fast the NPC moves. Set to 0 for permarooted NPCs. The values used in TAKP's database were collected from packets. When creating new NPCs from scratch, it's a good idea to use those imported TAKP NPCs as a reference.
  • ATK: This is extra ATK added to the NPC's base ATK. ATK increases the probability that the NPC will hit for maximum damage. For the vast majority of NPCs, this value should be zero. Raid bosses should have something like 0-200. Even many raid bosses parsed to having no higher ATK than common NPCs. (keep in mind raid bosses will end up with slightly higher offense/ATK due to level)
  • Accuracy: This is extra to-hit added to the NPC to reduce the likelihood of it missing its target. Very few NPCs should have a non-zero value here, even raid bosses. The only known NPCs with Accuracy that have been discovered were the Kael raid bosses.
  • See Invis, See ITU (Invis to Undead), See Hide, See IH (Improved Hide): A zero here means the NPC does not see; a '1' here means the NPC will always see. A value from 2-99 will grant the NPC a random chance to spawn being able to see from 2 to 99%.
  • Primary Statistics (STR, AGI, etc): These are entirely unused due to not knowing how they should be implemented and will likely never be used. Ignore them.
  • Resists: These values function just like player character values. Enter a value of 1000 to make a NPC immune to a resist type.
To give you some idea of what values to put here, remember this:
Immunity to all-or-nothing spells (i.e. snares, slows, debuffs) occurs at 200 resist value, and scales linearly up to that point. This means that a NPC (and player) gains a 1% chance to resist for every 2 points of resist. Note that level advantage or disadvantage increase or decrease this threshold for most level ranges.
Immunity to direct damage spells occurs at 600 resist value. Average damage per spell reduces linearly only up to 200 resist value, then reduces less severely up to the immunity threshold of 600 resist value.
Keep this in mind for direct damage spells:
  • 50% average spell damage occurs at 150 resist value.
  • 33% average spell damage occurs at 200 resist value.
  • 20% average spell damage occurs at 250 resist value.
  • Average spell damage on targets over 300 resist value is negligible. Note most wizard lure spells have a -300 adjust, so they will do full damage using those spells on 300 resist targets.
See this thread for more information on resist functionality.


Combat

Edit NPC - Combat.png

  • Min, Max Dmg: The minimum and maximum melee damage that the NPC will hit for.
  • HP/MP Regen: This is the in-combat and out-of-combat health and mana regen per tick (6 seconds) that the NPC will regenerate for.
  • Aggro Radius: This is the distance at which the NPC will attack faction appropriate targets. Note that this is the same unit that is displayed in ShowEQ and can easily be determined using that program when recreating Sony's content. Also note that this value is virtually always a multiple of 5 on Sony's servers.
  • Assist Radius: This is the distance at which the NPC will assist allies that are calling for help. A value of zero here will make the assist radius the same as the aggro radius.
  • Attack Count: This was inherited from EQEmulator and is unused on TAKP, but still functions. This is a means to set the number of main hand attacks per round for the NPC. The 'Quad Attack' and 'Triple attack' flags should be used instead when recreating Sony content. A value of -1 ensures that it is not used.
  • Atk Delay: This is the wait period between melee combat rounds for the NPC in tenths of seconds. (i.e. 10 = 1 second)
These values should be parsed when recreating Sony's content, however follow these guidelines if that is not possible:
  • Level 1-25 NPCs should have 30 atk delay regardless of expac. Nothing should have more than 30.
  • Classic old-world NPCs should have 30 atk delay, except for planar NPCs which should have 18-20.
  • Common Kunark through Luclin NPCs start gradually getting lower than 30 atk delays at level 25.
  • Level 50 common Kunark through Luclin NPCs have around 20 atk delay.
  • Level 60 common Kunark through Luclin NPCs have around 16 atk delay.
  • 18 atk delay was common for classic raid bosses.
  • Most common PoP NPCs have 20 atk delay. Some zones like Drunder have lower.
  • Raid NPCs in Velious start getting atk delays as low as 10.
  • Luclin raid bosses often had atk delays less than 10. (Aten Ha Ra is the fastest at ~6) Slowable bosses had lower atk delays.
  • Slow Mit: Slow Mitigation. This is how much slows are mitigated, in percent. 0 means slows are unmitigated.
  • 'Mostly Successful' is a range of 1 to ~40 (cutoff point uncertain)
  • 'Partially Successful' is a range of ~40 to 80
  • 'Slightly Successful' is a range of 80-99
  • Ignore Distance: This is the distance at which NPCs will stop chasing players and go home as if they were unaggro. This should be 1000 for most zones, although certain zones had shorter distances. See this EQEmulator forum thread for a list.
  • Loot ID, Spells ID: These are the database IDs for the loot and spells the NPC has. Leave these alone and use the editor menus instead.
  • Heal Scale, Spell Scale: These are unused for TAKP and were inherited from EQEmulator. These allow you to increase or reduce how much the NPC nukes players for and heals land on it for. For non-custom servers, leave these at 100.


NPC Special Attacks/Abilities

EQEmulator and TAKP's editor has a user unfriendly way of assigning special abilities to NPCs.

Each special ability has a number associated with it. Summon is 1, Enrage is 2, Rampage is 3, etc. Special abilities are stored in the database as a single string like this: "1,1^3,1,25^5,1,10^10,1". The carrots delimit each special. The first number is the special type and the numbers following the commas are optional values that augment how the special functions-- for example, the probability that the NPC will rampage in a given combat round.

That's probably still confusing, so just look at these common examples:

  • To make an NPC summon, put 1,1 in the Summon box.
  • To make an NPC enrage, put 2,1 in the Enrage box.
  • To make an NPC rampage, put 3,1,X in the Rampage box, but replace X with the percent chance to rampage in a given combat round. Flurry and AE ramp work the same way. If you omit the third value, then the default rates will be 20% per combat round.
  • To make an NPC flee at a precise health percentile, put 37,1,X in the Flee Percent box. (again, replace X with the percentile)

There are additional options that can be specified, but most are not applicable to a faithful recreation of Sony's content. See this EQEmu wiki entry for more information.

Tunnel Vision, Leashed, Tethered, and Chase Distance are inherited from EQEmulator and not used on TAKP but may still function.


NPC Flags

  • Triple Attack: This grants an NPC a 10% chance to execute a third attack on a successful double attack of the main hand. When creating accurate classic content, all level 60+ warrior and monk NPCs should have this enabled, but nothing else. It's important to know that this can and should be used with 'Quad Attack' if the NPC should quad, and will result in rare five attack rounds when combined. This is accurate behavior to classic EQ. See this thread for more information.
  • Quad Attack: This will grant the NPC innate dual wield even when not wielding weapons.
  • Dual Wield: This (for now) has the exact same functionality as Quad Attack. All NPCs were given the ability to dual wield if two weapons ended up in their inventories, making this flag obsolete. This will likely be removed in the future and should not be used.
  • Magic Attack: Allows the NPC to hit magical targets. (such as willowisps) All NPCs level 10 and higher should have this checked.
  • Bane Attack: Allows the NPC to hit 'bane' NPCs like Seru or Emperor Ssraeshza.
  • Ranged Attack: This will make the NPC shoot arrows at their target if the target is out of melee range.
  • Unslowable, Unmezable, Uncharmable, Unstunable, Unsnarable, Unfearable, Unpacifiable: Various immunities to certain spell effects.
  • Immune to Dispel: Makes dispels do nothing on the NPC.
  • No Harm from Players:

Appearance

Edit NPC - Appearance.png


Misc

Edit NPC - Misc.png


Editing NPC Faction