Version Status v92 Full v90 - v86 -
NpcData files define NPC templates : monsters, villagers, bosses, and other non-player characters. Each hunting zone has its own file using the naming convention NpcData_{huntingZoneId}.xml.
Entity: npcs
Operations: create, update, delete, upsert
Key attributes: huntingZoneId, id (composite key)
name : " Updated Monster Name "
Property Type Since Description huntingZoneIdintv92 Hunting zone identifier (used for file partitioning) idintv92 Unique template identifier within the zone
Property Type Since Description namestringv92 Internal NPC name shapeIdintv92 Visual model/shape reference basicActionIdintv92 Default animation/action set sizeNpcSizev92 Size category. See NpcSize . scaledecimalv92 Visual scale multiplier aiidintv92 AI behavior reference categorystringv92 NPC category classification classstringv92 NPC class classification descstringv92 Internal description racestringv92 NPC race classification speciesIdintv92 Species classification ID
Property Type Since Description npcTypeNpcTypev92 Special NPC type. See NpcType . balanceTypeNpcBalanceTypev92 Combat balance category. See NpcBalanceType . genderNpcGenderv92 NPC gender. See NpcGender . playStyleNpcPlayStylev92 Combat/behavior style. See NpcPlayStyle . resourceTypeNpcResourceTypev92 Resource loading type. See NpcResourceType . servantTypeServantTypev92 Servant classification. See ServantType . huntingStylestringv92 Hunting behavior pattern elitestringv92 Elite status marker
Property Type Since Description allyShapeIdintv92 Shape when allied deathShapeIdintv92 Shape on death enemyShapeIdintv92 Shape when hostile resourcestringv92 Resource path resourceSizestringv92 Resource size category
Property Type Since Description appearQuestIdstringv92 Quest ID that makes NPC appear appearQuestTaskIdstringv92 Task ID that makes NPC appear hideQuestIdstringv92 Quest ID that hides NPC hideQuestIdIdintv92 Alternate hide quest ID hideQuestTaskIdstringv92 Task ID that hides NPC guideEffectIdstringv92 Visual guide effect reference
Property Type Since Description lifeTimestringv92 NPC lifetime duration lifeTime20SecMsgintv92 Message at 20 seconds remaining maxSpawnCountintv92 Maximum simultaneous spawns spawnAbnormalityIdstringv92 Abnormality applied on spawn spawnScriptIdstringv92 Script executed on spawn despawnScriptIdstringv92 Script executed on despawn pcDespawnScriptIdstringv92 Player-triggered despawn script spawnFadeInTimedecimalv92 Spawn visual fade-in duration despawnFadeInTimedecimalv92 Despawn visual fade duration visibleSpawnEffectboolv92 Show spawn visual effect
Property Type Since Description parentIdstringv92 Parent template reference shareIdstringv92 Shared data reference partyMemberstringv92 Party member configuration linkedSkillIdintv92 Linked skill reference
Property Type Since Description isAggressiveMonsterboolv92 Attacks on sight isPreemptiveStrikeboolv92 Can initiate combat aggroResetAggressivelyboolv92 Aggressive aggro reset aggroResetIfNoOneInReturnDistanceboolv92 Reset aggro when no targets nearby cancelBehaviorWhenLeaveSpawnAreaboolv92 Cancel behavior outside spawn area cancelBehaviorWhenLeaveSpawnAreaDistanceintv92 Distance threshold for cancellation combatAbnormalityIdintv92 Abnormality applied in combat combatAbnormalityStartTimeintv92 Delay before combat abnormality returnToSpawnPosboolv92 Return to spawn on reset
Property Type Since Description invinciblestringv92 Invincibility configuration invincibleTermsstringv92 Invincibility conditions invincibleVillagerboolv92 Is invincible villager isInvincibleSpiritboolv92 Is invincible spirit catchBackImmuneboolv92 Immune to catch from behind forceCatchBackDirstringv92 Force catch direction
Property Type Since Description adjustZboolv92 Adjust vertical position cannotPassThroughboolv92 Blocks movement collideOnMovestringv92 Collision on movement isFlyingNpcboolv92 Can fly isNotLocationOnFloorboolv92 Not bound to floor judgeByCylinderboolv92 Use cylinder collision pathFindingFailFlagboolv92 Path finding failure handling pushedByNpcboolv92 Can be pushed by other NPCs stopAtDestinationboolv92 Stop when reaching destination stopOnIdleInDungeonboolv92 Stop when idle in dungeon smoothTurnTimedecimalv92 Turn smoothing duration dontTurnstringv92 Disable turning
Property Type Since Description cameraPenetratableboolv92 Camera can pass through forceDisplayMarkerboolv92 Force display map marker invisibleboolv92 Is invisible noNamePlateboolv92 Hide name plate showAggroTargetstringv92 Show aggro target indicator showBalloonAlwaysboolv92 Always show speech balloon showHpGaugeboolv92 Show HP gauge showMapboolv92 Show on map showMapIconIdintv92 Map icon reference showMapMaxLevelintv92 Max level to show on map showMapMinLevelintv92 Min level to show on map showShorttermTargetstringv92 Show short-term target showTargetInfoboolv92 Show target information questCameraOffboolv92 Disable quest camera
Property Type Since Description villagerboolv92 Is villager NPC questVillagerstringv92 Quest villager configuration isNamedboolv92 Is named/boss NPC isFreeNamedstringv92 Free named configuration isObjectNpcstringv92 Is object NPC isObstacleNpcboolv92 Is obstacle NPC isSpiritboolv92 Is spirit entity isRepairableSpiritboolv92 Spirit can be repaired isSubNpcboolv92 Is sub/child NPC isHomunculusboolv92 Is homunculus isVehicleExboolv92 Is extended vehicle isIgnoreSelectboolv92 Cannot be selected ignoreCommandboolv92 Ignores commands
Property Type Since Description expRewardToAllboolv92 Share EXP with all participants itemRewardToAllboolv92 Share items with all participants rewardPriorityByDealingboolv92 Reward priority by damage dealt rewardPriorityByLastKillboolv92 Reward priority by last hit rewardRankingintv92 Reward ranking tier dropRadiusintv92 Item drop spread radius
Property Type Since Description recoverHpIntervalintv92 HP recovery interval (ms) recoverHpRatiodecimalv92 HP recovery ratio canRepairTimeintv92 Time until repairable decreaseCoolTimeintv92 Cooldown reduction
Property Type Since Description unionIdintv92 Union faction ID unionClassRestrictionintv92 Union class restriction unionEliteboolv92 Is union elite unionEliteRestrictionintv92 Union elite restriction unionEnchantAdjustmentdecimalv92 Union enchant modifier unionGuardboolv92 Is union guard isUnionEventboolv92 Part of union event isPublicQuestNpcboolv92 Part of public quest isTerritoryBroadcasterboolv92 Broadcasts to territory isWideBroadcasterstringv92 Wide area broadcaster isLightPartystringv92 Light party configuration
Property Type Since Description mountAbnormalityintv92 Mount abnormality ID
Property Type Since Description preserveAbnormalityIdstringv92 Abnormalities to preserve hideAbnormalityFailMessageboolv92 Hide abnormality fail messages applySizePassivityboolv92 Apply size-based passivity disableLevelPenaltyboolv92 Disable level penalty useAutoTurnTimeboolv92 Use automatic turn timing isSoloAdjustboolv92 Apply solo difficulty adjustment isNotAchievementTargetboolv92 Excluded from achievements lifeTimeForceWhenCombatStateboolv92 Force lifetime in combat reflectRangeintv92 Reflect range permitstringv92 Permission configuration
Property Type Since Description villagerVolumeActiveRangestringv92 Interaction active range villagerVolumeHalfHeightstringv92 Interaction half height villagerVolumeInteractionDiststringv92 Interaction distance villagerVolumeOffsetstringv92 Volume offset
Combat statistics for the NPC.
Property Type Since Description levelintv92 NPC level maxHpstringv92 Maximum hit points atkstringv92 Attack power defstringv92 Defense rating expstringv92 Experience reward runSpeedstringv92 Running speed walkSpeedstringv92 Walking speed epExpstringv92 EP experience ignoreDefaultEpExpstringv92 Ignore default EP experience magicalAttackintv92 Magical attack power magicalDefenceintv92 Magical defense rating physicalAttackintv92 Physical attack power physicalDefenceintv92 Physical defense rating
Critical hit statistics.
Property Type Since Description strdecimalv92 Critical strength resdecimalv92 Critical resistance powRatedecimalv92 Critical power rate magicalPowRatedecimalv92 Magical critical power rate physicalPowRatedecimalv92 Physical critical power rate
The following nested elements are supported but have complex internal structures:
Element Description criticalAdjustCritical hit adjustments aggroAggro/threat configuration angerRage/anger mechanics reactionReaction behavior stackPointStack point mechanics abnormalityAbnormality configuration abnormalityResistanceOverrideResistance overrides namePlateName plate configuration skillListAvailable skills balanceRefBalance reference data npcOnlyNPC-only data hitDropItemItems dropped on hit onlyBeShotByThisSkillSkill restrictions objectNpcAiParamObject NPC AI parameters eventNpcAiParamEvent NPC AI parameters altAnimationAlternative animations stringString references battleFieldOnlyBattlefield-specific data shaderShader configuration deathEffectDeath effect configuration emoticonEmoticon configuration ownerAbnormalityOwner abnormality data maxDistanceSummonMax summon distance battleArgBattle arguments npcSpawnWhenDieNPCs spawned on death seatListSeat configuration vehicleExExtended vehicle data skillControlListSkill control list abnormalityControlAbnormality control logLogging configuration spawnSkillSkills used on spawn repeatSkillRepeating skills balloonSpeech balloon configuration moveSettingMovement settings altAnimAlternative animation data
Value Description MediumStandard size (default) LargeLarge NPCs like bosses SmallSmall NPCs like critters NoneNo size/invisible
Value Description MaleMale gender (default) FemaleFemale gender
Value Description JumpGearJump gear NPC CompetitionCompetition NPC FieldBossField boss NPC GuildTowerGuild tower NPC
Value Description NoneNo specific play style (default) BasicBasic combat style GiantGiant combat style for large bosses ZarcoZarco combat style ZarcoBossZarco boss variant CreatureCreature combat style ServantServant combat style for pets/partners
Value Description MediumMedium resource type (default) LargeLarge resource type SmallSmall resource type ObjectObject resource type
Value Description PetPet servant type (default) PartnerPartner servant type
Value Description NoneNo balancing applied SoloBasicSolo basic encounter SoloTrashSolo trash mob SoloFullTrashSolo full trash mob SoloEliteSolo elite encounter SoloNamedSolo named encounter SoloBossSolo boss encounter DungeonBasicDungeon basic encounter DungeonTrash1Dungeon trash tier 1 DungeonTrash2Dungeon trash tier 2 DungeonNamedBasicDungeon named basic DungeonNamedBossDungeon named boss DungeonMidBossDungeon mid-boss DungeonBossDungeon boss FieldBossBasicField boss basic FieldBossMidField boss mid-tier FieldBossBossField boss main RaidBasicRaid basic encounter RaidTrashRaid trash mob RaidBossRaid boss GuildWarBasicGuild war basic GuildWarTowerGuild war tower CivilWarBasicCivil war basic BattleGroundBasicBattleground basic BattleGroundBossBattleground boss SpecialEventSpecial event NPC
NpcData files use a zone-partitioned structure:
NpcData_{huntingZoneId}.xml
└── NpcData (huntingZoneId)
└── Template (id) [multiple]
├── Attributes (name, shapeId, size, ...)
├── Stat (level, maxHp, atk, def, ...)
├── Critical (str, res, powRate, ...)
└── [Other nested elements]
Zone partitioning: NPCs are stored in zone-specific files. The huntingZoneId determines which file is modified. Creating an NPC in zone 9001 creates/modifies NpcData_9001.xml.
Composite key: NPCs are identified by both huntingZoneId AND id. Two NPCs in different zones can share the same id.
Enum casing: Enum values are case-insensitive in YAML (Medium, medium, MEDIUM all work), but XML output uses PascalCase.
String vs int fields: Some numeric fields like maxHp, atk, def are stored as strings in the XML schema to support expression syntax. Use string values in YAML.
Upsert behavior: The upsert operation creates the NPC if it doesn’t exist, or updates it if it does. Useful for ensuring an NPC exists with specific values.