Difference between revisions of "Database Editor:NPCs"

From The Al`Kabor Project Wiki
Jump to navigation Jump to search
(Page creation)
 
(Vitals Stats Resists text added)
Line 1: Line 1:


== Editing NPCs ==
== Editing NPCs ==
=== General ===


[[File:Edit_NPC_-_General.png]]
[[File:Edit_NPC_-_General.png]]
Line 16: Line 18:
* '''Bodytype:''' Determines which spells or abilities that may function on the NPC.
* '''Bodytype:''' Determines which spells or abilities that may function on the NPC.


=== Vitals, Stats, Resists ===


[[File:Edit_NPC_-_Vitals_Stats_Resists.png]]
[[File: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 [http://www.eqemulator.org/forums/showthread.php?t=40543 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.
:[http://www.eqemulator.org/forums/showthread.php?t=38673 See this thread for more information on resist functionality].
=== Combat ===


[[File:Edit_NPC_-_Combat.png]]
[[File:Edit_NPC_-_Combat.png]]
=== Appearance ===


[[File:Edit_NPC_-_Appearance.png]]
[[File:Edit_NPC_-_Appearance.png]]
=== Misc ===


[[File:Edit_NPC_-_Misc.png]]
[[File:Edit_NPC_-_Misc.png]]
== Editing NPC Faction ==

Revision as of 15:32, 21 May 2016

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


Appearance

Edit NPC - Appearance.png


Misc

Edit NPC - Misc.png


Editing NPC Faction