Alternative link
Be sure to extract the haks and tlk files and place them in the appropriate My Docs > Neverwinter Nights folders.
Click here and bookmark! You will thank me later!
DMs: See Variable Commands
BOSS DAMAGE VARIABLES | ||
For the Boss Abilities below, in any DAMAGE field you can use the following formats for different damage calculations:
|
int | BA_ACID_SPIT | 1 |
int | BA_ACID_SPIT_CHANCE | [chance="10"] |
int | BA_ACID_SPIT_COOLDOWN | [cooldown="10"] |
string | BA_ACID_SPIT_DAMAGE_PER_INTERVAL | [damage="0.7%"] |
string | BA_ACID_SPIT_MAX_DAMAGE_PER_INTERVAL | [max damage="7%"] |
float | BA_ACID_SPIT_DAMAGE_INTERVAL | [interval="1.0"] |
int | BA_ACID_SPIT_DURATION | [duration="5"] |
The NPC will spit a pool of acid at a random target. For 5 rounds, every second spent standing in the acid pool deals 0.7% acid damage per second in the pool up to a maximum of 7% damage per tick. |
int | BA_BLINK_STRIKE | 1 |
int | BA_BLINK_STRIKE_CHANCE | [chance="20"] |
int | BA_BLINK_STRIKE_COOLDOWN | [cooldown="5"] |
string | BA_BLINK_STRIKE_DAMAGE | [damage="200"] |
int | BA_BLINK_STRIKE_STUNNED_DURATION | [rounds="2"] |
string | BA_BLINK_STRIKE_MESSAGE | Emoted message upon ability use. |
string | BA_BLINK_STRIKE_NAME | Combat log ability name. |
NPC will telegraph a line in front of themselves before charging forward, dealing 200 force damage to all enemies in its path. If the NPC charges into a wall, they'll crash and be temporarily stunned for 2 rounds, during which they'll be more vulnerable to damage. |
int | BA_DEATH_EXPLODE | 1 |
string | BA_DEATH_EXPLODE_DAMAGE | [damage="25%"] |
string | BA_DEATH_EXPLODE_DAMAGE_TYPE | [damage type="fire"] See below for available damage types |
int | BA_DEATH_EXPLODE_DC | [dc="0"] - 0 sets DC to 10 + (NPC HD / 2) + STR mod. Explode DC is subject to evasion. |
int | BA_DEATH_EXPLODE_VFX | [VFX= "22"] - fireball explosion. See below for available VFX |
float | BA_DEATH_EXPLODE_RADIUS | [radius="6.67"] standard fireball radius |
string | BA_DEATH_EXPLODE_MESSAGE | [message=" "] message upon death |
int | BA_DEATH_EXPLODE_FRIENDLY_FIRE | [friendly_fire="0"] off by default. determines if other hostile NPCs are hurt by explosions. |
Upon death, the npc explodes (no telegraph!) dealing the damage type and amount to the PCs in the radius. Available damage types are: |
int | BA_DEATH_SPLIT | 1 |
(DMs) int | BA_DEATH_SPLIT_SPAWN_RESREF_ENC | |
(Builders) string | BA_DEATH_SPLIT_SPAWN_RESREF | |
int | BA_DEATH_SPLIT_SPAWN_AMOUNT | [amount="2"] |
string | BA_DEATH_SPLIT_MESSAGE | |
float | BA_DEATH_SPLIT_SPAWN_DISTANCE | [distance="1.0"] |
int | BA_DEATH_SPLIT_SELF_VFX | visualeffect 2da number |
When the NPC dies, BA_DEATH_SPLIT_SPAWN_RESREF_ENC will be spawned on their corpse. BA_DEATH_SPLIT_MESSAGE sets an aoptional message that will be spoken by the NPC when they die. BA_DEATH_SPLIT_SPAWN_DISTANCE configures how spread out the NPCs should when be spawned. BA_DEATH_SPLIT_SELF_VFX plays an optional VFX on the NPC when they die. All variables are set on the splitting creature. For DMs: I create my boss Prismatic Gelatinous Cube in encounter 1. ##SetVarInt BA_DEATH_SPLIT_SPAWN_RESREF_ENC to 2, and in encounter 2 I create 4 smaller different colored cubes with different immunities and abilities. /setvarstring BA_DEATH_SPLIT_MESSAGE to "*Splits into 4 smaller cubes!*" When the Prismatic Gelatinous Cube dies, it'll say *Splits into 4 smaller cubes!* and then spawn the 4 different colored cubes. For Builders: You can use string BA_DEATH_SPLIT_SPAWN_RESREF instead of BA_DEATH_SPLIT_SPAWN_RESREF_ENC to specify a creature resref to spawn, and BA_DEATH_SPLIT_SPAWN_AMOUNT to configure how many to spawn. |
int | BA_DISPEL_CONE | 1 |
int | BA_DISPEL_CONE_CHANCE | [chance="30"] |
int | BA_DISPEL_CONE_COOLDOWN | [duration="5"] in rounds |
string | BA_DISPEL_CONE_NAME | [name="Anti-Magic Cone"] - what shows up in the combat log |
string | BA_DISPEL_CONE_MESSAGE | [message= "*{$1} prepares an Anti-Magic attack!*"] - {$1} is the name of the caster |
Creates a cone telegraph. Anyone caught inside will be completely dispelled |
int | BA_FLAME_BARRAGE | 1 |
int | BA_FLAME_BARRAGE_CHANCE | [chance="20"] |
int | BA_FLAME_BARRAGE_COOLDOWN | [cooldown="5"] |
string | BA_FLAME_BARRAGE_DAMAGE | [damage="150"] |
float | BA_FLAME_BARRAGE_BURST_INTERVAL | [interval="2.0"] |
int | BA_FLAME_BARRAGE_BURST_COUNT | [bursts="3"] |
Fires 3 bursts of flame arrows at a target with 2 second intervals between each burst, dealing 150 fire damage per burst before the NPC becomes exhausted for 2 rounds, during which they are stunned and more vulnerable to damage. |
int | BA_METEOR_STORM | 1 |
int | BA_METEOR_STORM_CHANCE | [chance="10"] |
int | BA_METEOR_STORM_COOLDOWN | [cooldown="12"] |
string | BA_METEOR_STORM_DAMAGE | [damage="75"] |
int | BA_METEOR_STORM_TICKS | [ticks="4"] |
float | BA_METEOR_STORM_TICK_INTERVAL | [seconds="2.0"] |
Channels a meteor storm for 8 seconds that does 75 bludgeoning and 75 fire damage to everyone in the area of effect every 2 seconds. Be mindful that that players cannot escape this ability entirely, if they are in melee with the mob they will take at least one tick before they can escape, even without lag. The damage value will be done twice, so 75 damage is actually 150 before any resists or immunities. This combined value should not exceed average player HP unless you intended to one shot players. |
int | BA_MIRROR_IMAGE | 1 |
int | BA_MIRROR_IMAGE_CHANCE | [chance="30"] |
int | BA_MIRROR_IMAGE_DURATION | [duration="30"] in rounds |
int | BA_MIRROR_IMAGE_COOLDOWN | [cooldown="50"] in rounds |
int | BA_MIRROR_IMAGE_CLONES_AMOUNT | [amount="5"] max 5 |
string | BA_MIRROR_IMAGE_MESSAGE | [message="*Casts Epic Mirror Image, becoming invulnerable until the mirror images are destroyed or the spell expires!*"] |
int
string |
BA_MIRROR_IMAGE_CLONE_RESREF_ENC OR BA_MIRROR_IMAGE_CLONE_RESREF |
DM's use BA_MIRROR_IMAGE_CLONE_RESREF_ENC to specify which encounter the mirror image is in. Place only ONE mob in this encounter! Builders use BA_MIRROR_IMAGE_CLONE_RESREF to specify the resref of the mirror image from the palette |
Casts Epic Mirror Image, creating a number of clones. The caster is INVULNERABLE until the clones are killed or the spell ends. Clones AUTOMATICALLY get 50% concealment, as well as immunity to crits, death, disease, dominate, entangle, fear, mind spells, negative level, poison, sneak attacks, stuns and dazes. It will also have a purple glow. Keep that in mind when building your clone to spawn. If no encounter or resref is specified, the system will attempt to create a clone from the caster itself, stripped of all spells, feats, magical gear, etc. While this is viable, you will have much greater control over the clone and its HP and capabilities if you build it yourself. |
int | BA_REND | 1 |
int | BA_REND_CHANCE | [chance="20"] |
int | BA_REND_COOLDOWN | [cooldown="5"] |
string | BA_REND_DAMAGE | [damage="20%"] |
Set an NPC to periodically do an AOE rend attack, which consists of 2 burst of 2 attacks. Each attack by default deals 20% slashing damage. |
int | BA_SLAM | 1 |
int | BA_SLAM_CHANCE | [chance="20"] |
int | BA_SLAM_COOLDOWN | [cooldown="5"] |
string | BA_SLAM_DAMAGE | [damage="40%"] |
string | BA_SLAM_DAMAGE_QUAKE | [damage="20%"] |
int | BA_SLAM_SAVE_DC | [DC="0"] |
int | BA_SLAM_SAVE_DC_QUAKE | [DC="0"] |
int | BA_SLAM_SAVE_DC_QUAKE_MODIFIER | [DC="-4"] |
int | BA_SLAM_STUNNED_DURATION | [rounds="2"] |
int | BA_SLAM_KNOCKDOWN_DURATION | [rounds="1"] |
NPC will do two AOE fist slam attacks. The first slam will deal 40% sonic damage and stun on a failed fortitude save. The second slam will deal 20% sonic damage and knockdown on a failed reflex save. DCs of 0 will automatically calculate a DC of 10 + (HD / 2) + Str modifier. |
int | BA_SPOREBURST | 1 |
int | BA_SPOREBURST_CLOUD_CAST_CHANCE | [chance="20"] |
int | BA_SPOREBURST_CLOUD_CAST_COOLDOWN | [cooldown="5"] |
int | BA_SPOREBURST_CLOUD_DURATION | [rounds="4"] |
int | BA_SPOREBURST_CLOUD_DISEASE_DC | [DC="0"] |
int | BA_SPOREBURST_PULSE_INTERVAL | [interval="6"] |
string | BA_SPOREBURST_PULSE_DAMAGE | [damage="60%%"] |
string | BA_SPOREBURST_PULSE_DAMAGE_MINIMUM | [minimum damage="10d6"] |
Creates a spore cloud that follows a random target. The spore cloud will infect anyone who fails the DC with a by itself, harmless disease. The NPC will periodically do a pulse attack every N rounds. Any creature bit by the pulse will take disease/poison damage if they are diseased or poisoned. A DC of 0 will automatically calculate a DC of 10 + (HD / 2) + Charisma Modifier |
int | BA_STICKY_BOMB | 1 |
int | BA_STICKY_BOMB_CAST_CHANCE | [chance="10"] |
int | BA_STICKY_BOMB_CAST_COOLDOWN | [cooldown="10"] |
string | BA_STICKY_BOMB_DAMAGE | [damage="70%"] |
int | BA_STICKY_BOMB_STICK_DC | [Default DC = “10 + HD/2 + Dex Mod”] |
int | BA_STICKY_BOMB_TIMER | [timer = “6”] |
int | BA_STICKY_BOMB_RADIUS | [radius = “5”] |
NPC will toss a sticky bomb at a random target, the DC vs the target's reflex save. A failed save has the bomb stick to the target until it explodes. A successful save has the bomb hit the ground at the target's feet and then explodes. |
int | BA_STORM_CHARGE | 1 |
int | BA_STORM_CHARGE_CHANCE | [chance="10"] |
int | BA_STORM_CHARGE_COOLDOWN | [cooldown="7"] |
string | BA_STORM_CHARGE_DAMAGE | [damage="200"] |
NPC will telegraph a line in front of themselves before charging forward, dealing 200 damage divided between electrical and bludgeoning damage to all enemies in its path. |
int | BA_UNSTABLE_GOLEM | 1 |
int | BA_UNSTABLE_GOLEM_GREASE_COOLDOWN | [cooldown="8"] |
int | BA_UNSTABLE_GOLEM_GREASE_DURATION | [duration="10"] |
string | BA_UNSTABLE_GOLEM_OVERLOAD_DAMAGE | [damage="15+4d10"] |
These variables set an NPC to use the Keep of the Witchlord's Large Guardian Construct's health status effects. At 50% HP, the NPC will begin to leak -40% movement speed grease at its feet. At 25% HP, the NPC will begin to overload and explode, dealing magical damage to anyone caught in the blast. The NPC will then haste itself. |
int | X2_L_IS_INCORPOREAL | 1 |
When spawned or cloned, the NPC will be setup as an incorporeal creature. Incorporeal creatures are affected by Ghost Touch weapons, have 50% concealment, and cannot be affected by web, entangle, grease, or vine mines. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | X2_L_SPAWN_USE_STEALTH | 1 |
When be spawned or cloned stealthed. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | BOSS | 1 |
When spawned or cloned, the NPC will be given: Permanent Ultravision Immunity to Blindness Immunity to Deafness Immunity to Planar Rift's death effect Immunity to Reverse Gravity Immunity to Maze Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | NO_WHIRLWIND | 1 |
Makes the NPC immune to Whirlwind's CC effects. The NPC will still take damage if they fail their spell save. |
int | Breath_Die | |
Overrides a creature's dragon breath SLA dice rolls to be 10d#. |
float | Scale | |
When spawned or cloned, the NPC will be scaled to the given float value. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | MageBuff | 1 |
When spawned or cloned, the NPC will be given Greater Stoneskin and extended True Seeing as CL 20 spells. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | GStoneskin | (Variable int value. Can assign as low or high as you wish) |
When spawned or cloned, the NPC will be given Greater Stoneskin at the CL of the variable. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | Premo | 1 |
When spawned or cloned, the NPC will be given CL 20 Premonition. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | NO_ITEM_DROP | 1 |
This variable will set the entire NPC's inventory to be undroppable. Any creature spawned or cloned by a DM will automatically be set to not drop items on death. |
int | APPEAR_ANIM | 1|2 |
When spawned or cloned, the NPC will use their corresponding Appear animation. This makes spiders drop down from the ceiling, dragons and winged creatures fly down and land, etc. |
int | EXTRA_ATTACKS | 0..6 |
When spawned or cloned, the NPC will be given a number of extra attacks per round. n.b. These extra attacks follow their own AB progression from the NPC's highest AB. i.e. if the NPC had 20/15/10/5, and you give 4 extra attacks, it'll now have 20/15/10/5/20/15/10/5. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | VFX{#} | visualeffect 2da number |
When spawned or cloned, the NPC will be given the visual effect VFX with a permanent duration. You can assign multiple VFX to a creature by suffixing the variable name with a number. ei. VFX1, VFX2, VFX3, VFX4... Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | SPAWN_VFX{#} | visualeffect 2da number |
When spawned or cloned, the NPC will play the visual effect. This is suited for impact or fire and forget effects, like a fireball entrance. You can assign multiple SPAWN_VFX to a creature by suffixing the variable name with a number. ei. SPAWN_VFX1, SPAWN_VFX2, SPAWN_VFX3, SPAWN_VFX4... Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | Override_CL | |
Override's the creature's Caster Level. |
int | Immune | 1 |
Makes the creature immune to all Spell Resistance checks. |
int | IMMUNE_DROWN | 1 |
Makes the NPC immune to the area drowning script as well as the Drown spell. n.b. This does not make the NPC immune to the Drown special ability on water elementals. |
int | NOSTONE | 1 |
Makes the NPC immune to petrification. |
int | NO_POLY | 1 |
Makes the NPC immune to Epic Spell: Mass Penguin and Baleful Polymorph. |
int | NoMaze | 1 |
Makes the NPC immune to Maze. |
int | SELFISH_HEALS | 1 |
When spawned or cloned, this sets the NPC to only heal themselves. This is useful on bosses so they don't waste their Heal spells on allies. |
int | nEpicSpellSlots | |
Sets the number of available epic spell slots on the creature before they next rest. If you use this on a PC, you must set it to 0 after the quest is done. If you use this on an NPC, you must give the NPC more XP than required for their current level. ##GiveXP 9999999 will suffice. |
int | NW_GENERIC_MASTER | 33554432 |
Sets the sleeping effect flag on an NPC. This will be overridden if the NPC is cloned/spawned. Once set, if you put the NPC to sleep with the DMFI Affliction Wand, random Zzz's will appear above the NPC's head. |
int | CD_WILDMAGIC | |
Sets the Wild Magic chance on a specific creature. If you set this on a PC, you must set it back to 0 once the quest is done. |
int | TurnHDOverride | |
Overrides the HD of the creature used when calculating turning versus this creature. |
int | IsTurnable | 1 |
Allows the creature to be turned even if they're not the appropriate racial type. |
int | REBUKE_UNDEAD | 1 |
The creature will use Rebuke Undead instead of Turn Undead. n.b. Creatures with an evil alignment will already use Rebuke Undead. You cannot force an evil creature to use Turn Undead. |
int | TurnImmunity | 1 |
Makes the creature immune to all turning. |
int | Caster_Level | 5|10|15|20|34|666 |
string | Caster_Class | PRIEST |
Sets the NPC to autobuff themselves with a set of spells the first time they perceive an enemy. Caster_Level 5: Divine Favor (Extended, CL 8) Bless (Extended, CL 8) Caster_Level 10: Divine Power (Extended, CD 10) Divine Favor (Extended, CL 10) Darkfire (Extended, CL 10 Aid (Extended, CL 10) Negative Energy Protection (Extended, CL 10) Ultravision (Extended, CL 20) Caster_Level 15: Divine Power (Extended, CL 15) Divine Favor (Extended, CL 15) Freedom of Movement (CL 15) Spell Resistance (CL 15) Darkfire (Extended, CL 15) Regenerate (Extended, CL 15) Death Ward (Extended, CL 15) Magic Vestment (Extended, CL 15) Ultravision (Extended, CL 20) Caster_Level 20: Divine Power (Extended, CL 20) Divine Favor (Extended, CL 20) Freedom of Movement (CL 20) Spell Resistance (Extended, CL 20) Darkfire (Extended, CL 20) Regenerate (Extended, CL 20) Death Ward (Extended, CL 20) Unholy Aura (Extended, CL 20) Ultravision (Extended, CL 20) Caster_Level 34: Unholy Aura (Extended, CL 20) Ultravision (Extended, CL 20) Divine Power (Extended, CL 20) Divine Favor (Extended, CL 20) Premonition (CL 20) Caster_Level 666: Unholy Aura (Extended, CL 20) Ultravision (Extended, CL 20) |
int | Caster_Level | 5|10|15|20|99 |
string | Caster_Class | MAGE |
Sets the NPC to autobuff themselves with a set of spells the first time they perceive an enemy. Caster_Level 5: Ghostly Visage (Extended, CL 7) Resist Elements (CL 7) Caster_Level 10: Stoneskin (CL 10) Ghostly Visage (Extended, CL 10) See Invisibility (CL 10) Death Armor (Extended, CL 10) Haste (Extended, CL 10) Protection From Elements (CL 10) Ultravision (Extended, CL 20) Caster_Level 15: Stoneskin (CL 15) Ghostly Visage (Extended, CL 15) True Seeing (CL 15) Elemental Shield (Extended, CL 15) Spell Mantle (Extended, CL 15) Haste (Extended, CL 15) Protection From Elements (CL 15) Shadow Shield (CL 15) Ultravision (Extended, CL 20) Caster_Level 20: Greater Stoneskin (CL 20) Ethereal Visage (Extended, CL 20) True Seeing (CL 20) Mestils Acid Sheath (Extended, CL 20) Greater Spell Mantle (Extended, CL 20) Haste (Extended, CL 20) Energy Buffer (CL 20) Shadow Shield (CL 20) Ultravision (Extended, CL 20) Caster_Level 99: Greater Stoneskin (CL 20) Ethereal Visage (Extended, CL 20) Protection From Arrows (CL 20) True Seeing (CL 20) Mage Armor (CL 20) Protection From Good (CL 20) Mestils Acid Sheath (Extended, CL 20) Greater Spell Mantle (Extended, CL 20) Haste (Extended, CL 20) Shield (Extended, CL 20) Energy Buffer (CL 20) Shadow Shield (CL 20) Premonition (CL 20) Ultravision (Extended, CL 20) |
int | Caster_Level | 20 |
string | Caster_Class | DRUID |
Sets the NPC to autobuff themselves with a set of spells the first time they perceive an enemy. Caster_Level 20: Premonition (CL 20) Ultravision (Extended, CL 20) Energy Buffer (CL 20) Death Ward (Extended CL 20) Elemental Shield (Extended, CL 20) |
int | OVERRIDE_CREATURE_SIZE | creaturesize 2da number |
Overrides creature size category when the creature is spawned. This is intended for builders. DMs should use the DM command /setcreaturesize n.b. You will not be able to equip larger weapons on creatures you increase the size category of inside the toolset. You can try to leave the weapon in their inventory in the hopes that the AI will autoequip it, but this isn't gaurunteed. Note that sizes FINE, DIMINUTIVE, GARGANTUAN, and COLOSSAL do not work and should never be used. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | OVERRIDE_WEAPON_THREAT_RANGE | 1..20 |
Overrides lower bound of a creature's threat range when the creature is spawned. This is intended for builders. DMs should use the DM command /setthreatrange Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | OVERRIDE_WEAPON_CRITICAL_MULTIPLIER | 1..20 |
Overrides creature's critical multiplier when the creature is spawned. This is intended for builders. DMs should use the DM command /setcriticalmultiplier Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
float | OVERRIDE_PERSPACE | |
Overrides the personal space of the NPC when spawned. Used to pathfind around objects and walkmesh. Stops a creature from passing through another creature. Humans use a perspace of 0.3 Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
float | OVERRIDE_CREATURE_PERSPACE | |
Overrides the creature personal space of the NPC. Usually larger than PERSPACE. It determines pathfinding (and melee range) for moving around/past creatures in combat. Humans use a perspace of 0.7 Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | OVERRIDE_FOOTSTEP_SOUNDTYPE | |
Overrides the footstep sound type of the creature when the creature is spawned. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | CONCEALMENT | |
Gives the creature % concealment when the creature is spawned. This is versus both melee and ranged attacks. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | CONCEALMENT_MELEE | |
Gives the creature % concealment versus melee attacks when the creature is spawned. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | CONCEALMENT_RANGED | |
Gives the creature % concealment versus ranged attacks when the creature is spawned. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | MISS_CHANCE | |
Gives the creature % outgoing miss chance when the creature is spawned. This is for both melee and ranged attacks. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | MISS_CHANCE_MELEE | |
Gives the creature % outgoing miss chance for melee attacks when the creature is spawned. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | MISS_CHANCE_RANGED | |
Gives the creature % outgoing miss chance for ranged attacks when the creature is spawned. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | OVERRIDE_EFFECT_IMMUNITY_BYPASS_TYPE_{ID} | {-}IMMUNITY_TYPE_* |
int | OVERRIDE_EFFECT_IMMUNITY_BYPASS_CHANCE_{ID} | -100..100 |
Sets an EffectImmunity bypass override on the creature when the creature is spawned. Both 's must be paired together. nwnxee.github.io/unified/group__creature.html#gaf2ca9b1aca1f674b70e858b5279521f9 nwnlexicon.com/index.php?title=Immunity_type Examples: OVERRIDE_EFFECT_IMMUNITY_BYPASS_TYPE_MYUNIQUEID121 1 OVERRIDE_EFFECT_IMMUNITY_BYPASS_CHANCE_MYUNIQUEID121 100 Would set the creature's outgoing attacks to bypass their target's mind immunity 100% of the time. OVERRIDE_EFFECT_IMMUNITY_BYPASS_TYPE_YEET -6 OVERRIDE_EFFECT_IMMUNITY_BYPASS_CHANCE_YEET 100 Would set a creature's incoming paralysis immunity to be ignored 100% of the time. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | SPELL_REFLECTION | 1|2 |
Enables Spell Reflection on the creature. Reflected spells will also reflect the spell's DC, Caster Level, and Metamagic. A casting of a spell will only be reflected once, meaning two creatures with spell reflection won't ping pong spells infinitely. SPELL_BLINDNESS_AND_DEAFNESS SPELL_CHAIN_LIGHTNING SPELL_CHARM_MONSTER SPELL_CHARM_PERSON SPELL_CHARM_PERSON_OR_ANIMAL SPELL_CONTAGION SPELL_DAZE SPELL_DOMINATE_ANIMAL SPELL_DOMINATE_MONSTER SPELL_DOMINATE_PERSON SPELL_ENERGY_DRAIN SPELL_ENERVATION SPELL_FEEBLEMIND SPELL_FINGER_OF_DEATH SPELL_FLAME_LASH SPELL_FLAME_ARROW SPELL_GHOUL_TOUCH SPELL_HOLD_ANIMAL SPELL_HOLD_MONSTER SPELL_HOLD_PERSON SPELL_LIGHTNING_BOLT SPELL_MAGIC_MISSILE SPELL_MELFS_ACID_ARROW SPELL_PHANTASMAL_KILLER SPELL_RAY_OF_ENFEEBLEMENT SPELL_RAY_OF_FROST SPELL_SCARE SPELL_SEARING_LIGHT SPELL_SLAY_LIVING SPELL_VAMPIRIC_TOUCH SPELL_SHADOW_CONJURATION_MAGIC_MISSILE SPELL_GREATER_SHADOW_CONJURATION_ACID_ARROW SPELL_NEGATIVE_ENERGY_RAY SPELL_FLARESPELL_ACID_SPLASH SPELL_QUILLFIRE SPELL_DROWN SPELL_ELECTRIC_JOLT SPELL_INFERNO SPELL_BIGBYS_INTERPOSING_HAND SPELL_BIGBYS_FORCEFUL_HAND SPELL_BIGBYS_GRASPING_HAND SPELL_BIGBYS_CLENCHED_FIST SPELL_BIGBYS_CRUSHING_HAND SPELL_SHADOW_DAZE SPELL_FLESH_TO_STONE SPELL_CRUMBLE SPELL_INFESTATION_OF_MAGGOTS SPELL_HEALING_STING SPELL_BALL_LIGHTNING SPELL_COMBUST SPELL_GEDLEES_ELECTRIC_LOOP SPELL_ICE_DAGGER SPELLLIKE_CONTAGION SPELLLIKE_FLARE SPELLLIKE_POISON SPELLLIKE_DESTRUCTION SPELLLIKE_ELECTRIC_LOOP SPELLLIKE_COMBUST SPELLLIKE_ACID_ARROW SPELL_DISINTEGRATE SPELL_IMPRISONMENT SPELL_INSANITY SPELL_MAZE SPELL_SHOCKING_GRASP SPELL_OTILUKES_RESILIENT_SPHERE SPELL_POWER_WORD_BLIND SPELL_POWER_WORD_SLEEP SPELL_POWER_WORD_SILENCE SPELL_PARALYTIC_BOLT SPELL_LARLOCHS_MINOR_DRAIN SPELL_MEMORY_WIPE SPELL_TAILOR_MEMORIES SPELL_ICELANCE SPELL_DISRUPT_TELEPORT SPELL_REVERSE_GRAVITY SPELL_CHROMATIC_ORB SPELL_SUNSCORTCHSPELL_SEARING_ORB SPELL_LEHELS_VICIOUS_VERTIGO SPELL_VAMPIRES_EMBRACE SPELL_BALEFUL_POLYMORPH SPELL_MORDENKAINENS_FORCE_MISSILES SPELL_BOLT_OF_GLORY SPELL_BREACH_SPELL_RESISTANCE SPELL_DETECT_EVIL SPELL_DETECT_GOOD SPELL_DETECT_LAW SPELL_DETECT_CHAOS SPELL_UNDETECT_ALIGN SPELL_MISDIRECTIONSPELL_NONDETECTION SPELL_BALEFUL_POLY_CHICKEN SPELL_BALEFUL_POLY_DONKEY SPELL_BALEFUL_POLY_SNAKE SPELL_BALEFUL_POLY_RAT SPELL_BALEFUL_POLY_POLLY SPELL_DARKBOLT SPELL_HOLD_UNDEAD SPELL_AVASCULATE SPELL_ASSAY_SPELL_RESISTANCE SPELL_POLAR_RAY SPELL_CHAIN_OF_BINDING SPELL_NULL SPELL_VOID Inflict Wounds/Harm spells will only be reflected if the creature is [u]not[/u] undead. SPELL_HARM SPELL_INFLICT_MINOR_WOUNDS SPELL_INFLICT_LIGHT_WOUNDS SPELL_INFLICT_MODERATE_WOUNDS SPELL_INFLICT_SERIOUS_WOUNDS SPELL_INFLICT_CRITICAL_WOUNDS Cure/Heal spells will only be reflected if the creature [u]is[/u] undead. SPELL_CURE_CRITICAL_WOUNDS SPELL_CURE_LIGHT_WOUNDS SPELL_CURE_MINOR_WOUNDS SPELL_CURE_MODERATE_WOUNDS SPELL_CURE_SERIOUS_WOUNDS SPELLLIKE_CURE_SER_W |
int | SPELL_REFLECTION_CHANCE | |
Sets the % chance a spell will be reflected. 0 (or default) will reflect spells 100% of the time. 25 would be 25% of the time, 50 would be 50%, etc. |
int | SPELL_REFLECTION_LIMIT | |
Sets the limit for spell reflections as configured by SPELL_REFLECTION_LIMIT_TYPE. |
int | SPELL_REFLECTION_LIMIT_TYPE | 1|2 |
Sets the type of spell reflection limit. 0 No limit. 1 Limit by total number of spells reflected. 2 Limit by total number of innate Spell Levels reflected. (Like Spell Mantle) Examples: SPELL_REFLECTION_LIMIT_TYPE 1 SPELL_REFLECTION_LIMIT 6 Would reflect 6 spells before spell reflection ends. SPELL_REFLECTION_LIMIT_TYPE 2 SPELL_REFLECTION_LIMIT 20 Would reflect 20 innate Spell Levels before spell reflection ends. |
int | BYPASS_NO_MAGIC | 1 |
Allows the creature to cast magic in NO_MAGIC areas. Use this to create a mage's personal demiplane where they have banned magic from all other casters but themselves, etc. |
int | OVERRIDE_SPELL_DC | |
Overides all spell and spell-like ability DCs cast from the creature. n.b. Setting this to 0 will disable the override. |
int | OVERRIDE_SPELL_PENETRATION | |
Overrides the Spell Penetration of all spells and spell-like abilities cast from the creature. This allows you to set a creature to always break Spell Resistance whilst keeping the caster level low. n.b. Setting this to 0 will disable the override. |
int | OVERRIDE_SPELL_METAMAGIC | |
Overrides the metamagic of all spells and spell-like abilities cast the creature. nwnlexicon.com/index.php?title=Metamagic n.b. Setting this to 0 will disable the override. Set the value to -1 to override the metamagic with no metamagic. |
int | DAMAGE_TYPE_REQUIRED_FOR_KILL | <damage_type_* bitmask> |
int | DAMAGE_TYPE_REQUIRED_FOR_KILL_POLL_PERIOD | [seconds] |
string | EVENT_SCRIPT_ON_DAMAGE_REQUIRED_FOR_KILL | [script name] |
string | EVENT_SCRIPT_ON_DAMAGE_REQUIRED_FOR_KILL_DEATH_DENIED | [script name] |
Requires the NPC to be damaged by any of the damage types specified by DAMAGE_TYPE_REQUIRED_FOR_KILL to be killed.
Important! |
int | ANIMATIONSET | <animationset.2da #> |
Assign the Animation Set on an NPC, such as arcane, demonblade, etc. The NPC must be a dynamic model (i.e. halfling/human/elf would work, ogre would not) Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | PLAY_LOOPING_ANIMATION | <animation> |
The NPC will play the looping animation when spawned, and will resume the animation when returning to a POST_ waypoint. 2 Listen 3 Meditate 4 Worship 5 Look Far 6 Sit Chair 7 Sit Ground 8 Talk, Normal 9 Talk, Pleading 10 Talk, Forceful 11 Talk, Laughing 12 Get Low 13 Get Mid 14 Tired 15 Drunk 16 Dead, Front 17 Dead, Back 18 Conjure 1 19 Conjure 2 20 Spasm 21 Point 22 Thinking 23 Hold head 24 Beckon 25 Crouch 26 Hang ceiling 27 Smash 28 Lay on side 29 Cross arms 31 Kneel 32 Lay on back 33 Relax 34 Pray, standing 35 Praise the sun 36 Oh no you didn't! 37 Push ups 38 Lay on back 2 39 Sit ups 40 Jumping jacks 43 Squating 44 Clapping 45 Military salute 46 Facepalm 47 Hands on hips 48 Lean back on wall 49 Kneel, arms behind back 50 Flex 51 Defeated 52 Parade rest 53 Lay, sleeping on front 54 Shrug 55 Lean forward on table 56 Captain Morgan pose 57 Cower 58 Lay on side, 2 59 Sit, arms on knees 60 Sit, legs crossed 61 Cheering and dancing 62 Lunge forward with shield up |
int | TOUCHON | 1 |
The NPC will spawn with /touchon turned on. This should be enabled on any NPC patrolling waypoint paths, as otherwise their pathfinding will be interrupted if they bump into another creature which can cause the NPC to then walk into and get stuck in a wall or doorway. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | EFFECT_PARALYZE | 1 |
The creature will spawn paralyzed. This cannot be dispelled. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | EFFECT_PETRIFIED | 1 |
The creature will spawn petrified. This cannot be dispelled. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | EFFECT_IMMOBILIZE | 1 |
The creature will spawn immobilized. This cannot be dispelled. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | EFFECT_KNOCKDOWN | 1 |
The creature will spawn knocked down. This cannot be dispelled. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | EFFECT_FRIGHTENED | 1 |
The creature will spawn frightened. This cannot be dispelled. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | Random_Appearance | 1 |
The NPC will spawn with a randomized appearance. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
int | SIT_ON_SPAWN | 1 |
int | SIT_ON_CONVERSATION | 1 |
int | SIT_ON_PERCEPTION | 1 |
The NPC will attempt to always be seated on the nearest placeable tagged PLC_Chair. The placeable does not need to be useable. |
int | VFX_PERSISTENT | vfx_persistent 2da number + 1 |
A harmless persistent VFX will spawn on and follow the character. The number used should be +1 from the row number in the 2da. Note for DMs: When setting this variable on a creature, it then needs to be respawned or cloned for the variable to be applied. |
float | SPAWN_POSITION_{X|Y} | |
Moves the creature when spawned to the given X Y position, allowing decorative static creatures to be placed in illegal locations, such as inside placeables or outside the tileset walkmesh. Note for DMs: This variable is only usable by area builders. Use the /move command to move NPCs ingame. |
int | EQUIP_TORCH_NIGHT | 1 |
Allows a waypoint patrolling NPC to equip a torch with the tag "NW_IT_TORCH001" from their inventory at night. |
float | CD_SPELLSCALE | 0.01 - 100.0+ |
Scales spell damage on the creature by the set multiplier. Set higher than 1.0, it'll be the multiplier to the damage roll Set lower than 1.0 and it'll lower the damage roll. For example: CD_SPELLSCALE 2.0 = 2x damage boost to all damaging spell Note: This likely does not work on most SLAs. |
float | CD_EPICSPELLSCALE | 0.01 - 100.0+ |
Scales epic spell damage on the creature by the set multiplier. If no value is set, will use CD_SPELLSCALE value. Set higher than 1.0, it'll be the multiplier to the damage roll Set lower than 1.0 and it'll lower the damage roll. For example: CD_EPICSPELLSCALE 2.0 = 2x damage boost to any epic spell. Best if used to lower a mobs damage with epic spells while boosting their normal spells. (Greater Ruin with even a small multiplier will do a TON of damage and one shot PC's) Note: This likely does not work on most SLAs. |
int | SHAPE_MASTERY | 1 |
Prevents a NPC from damaging themselves(And sometimes others) with AoE effects. |
int | HIDE_RACE | 1 |
Prevents PC's from being able to see a creatures raicial type upon examination/description. Without this flag, the race type will be seen by the following knowledge skills. Know Nature: Animal, Beast, Fey, Giants, Humanoids, Plants, Vermin, Ooze Know Arcana: Constructs, Magical Beasts, Dragons Know Planar: Outsiders, Elementals, Aberrations Know Religion: Undead |
int | CD_WILDMAGIC | 0..100 |
Sets the area's Wild Magic percent chance. |
int | NO_D_DOOR | 1 |
Disables the use of Dimension Door, Shadow Jump, and Translocation in the area. |
int | NO_TELEPORT | 1 |
Disables the use of Dimension Door, Shadow Jump, and Translocation in the area. Also prevents teleporting into or out of the area, shadow walking, and conjuring Mordekainen's Magnificent Mansions. |
int | NO_TELEPORTATION | 1 |
Prevents teleporting into or out of the area, shadow walking, and conjuring Mordekainen's Magnificent Mansions. |
int | NO_MANSION | 1 |
Disables the use of Mordekainen's Magnificent Mansions. |
int | NO_FLY_ZONE | 1 |
Disables flying in the area. |
int | NO_SCRY | 1 |
Prevents scrying into the area. |
int | NO_JUMP | 1 |
Disables the use of /jump and /move in the area. |
int | NO_MAGIC | 1 |
Disables casting of all magic in the area, including Shadow Weave magic. You can allow individual creatures to cast in these areas by setting the creature variable BYPASS_NO_MAGIC on them. N.b. For setting an area to be Dead Magic instead, use the area editing command /setareadeadmagic <true|false>. |
int | NO_MINIMAP | 1 |
Disables the minimap for all PCs entering the area. |
int | NO_COMPASS | 1 |
Disables the compass for all PCs entering the area. (This is best used in conjunction with NO_MINIMAP) |
int | EXPLORE_MINIMAP | 1 |
Automatically explores the minimap for PCs entering the area. |
int | NO_GRASS | 1 |
Disables grass in the the area. |
int | DISABLE_CLASS_MOVEMENT | 1 |
Disables class movement bonuses in the area. (Monk speed & barbarian fast movement) |
int | AREA_SHADER_FLAGS | <int> |
Enables various screen space shader effects. Area builders can configure and preview these effects with the builder module toolbox. Documentation here is primarily for DMs editing area ingame. Multiple effects can be enabled by combining their values (ie. 9 for greyscale + underwater) 1 for greyscale Shadow Plane effect. 8 for underwater effect. 16 for heat haze effect. |
int | AREA_SHADER_CC_ENABLED | 1 |
Enables AREA_SHADER_CC_* screen color correction variable effects. Area builders can configure and preview these effects with the builder module toolbox. Documentation here is primarily for DMs editing area ingame. |
float | AREA_SHADER_CC_HUE | <0.0 ... 360.0> |
Shifts the area's hue by n degrees right. |
float | AREA_SHADER_CC_SATURATION | <float="1.0"> |
Shifts the area's saturation. Default is 1.0. Lower is less saturation, higher is more. |
float | AREA_SHADER_CC_GAMMA | <float="1.0"> |
Shifts the area's gamma. Default is 1.0. Lower is brighter, higher is darker. |
string | AREA_HB_DAMAGE_TYPE | <damage type> |
string | AREA_HB_DAMAGE_AMOUNT | [string="10"] |
int | AREA_HB_DAMAGE_EVERY_NTH_ROUND | [int="1"] |
Enables area heartbeat damage which will deal AREA_HB_DAMAGE_AMOUNT damage of damage type AREA_HB_DAMAGE_TYPE every AREA_HB_DAMAGE_EVERY_NTH_ROUND rounds to all PCs not in a safe rest zone. Valid AREA_HB_DAMAGE_TYPE types: Bludgeoning Piercing Slashing Magical Acid Cold Divine Electrical Fire Negative Positive Sonic Base Poison Disease Hellfire Force Psionic Radiant Necrotic Vile AREA_HB_DAMAGE_AMOUNT accepts the same damage dice formatting as /damageme. #d# for a dice roll # for flat damage #% for a percent of the creature's total health. #%% for a percent of the creatyre's remaining health. |
General Variables
int | NoDespawn | 1 |
When set on an area, this variable stops the area clean up/despawner script from cleaning hostile NPCs, encounter spawned NPCs, player dropped items, and bodybag remains from the area. This variable can also be set on items and NPCs to individually exclude them from the area clean up scripts. N.b. NPCs created from the Creator automatically have NoDespawn 1. All quest areas, DMFI Custom Encounters, The Void, and DM Meeting Room areas do not get cleaned/despawned. |
int | DONOTDESTROY | 1 |
This variable will prevent the DM destroy object tool from destroying placeables unless directly targeted. This is useful for setting on placeable walls, floors, carpets, or other structural objects in an area. |
int | AUTO_CLOSE_DELAY | <seconds> |
How many seconds until the door or placeable auto closes after being opened. Recommended values are 300 (5 mins), or 1800 (30 mins) which are the standards across the module. |
int | AUTO_CLOSE_LOCK | 1 |
Whether the object should auto lock when it automatically closes. |
string | AUTO_CLOSE_DESTINATION_DOOR | <tag> |
Used for asymmetric door transitions, where the transition destination is a waypoint instead of a door, but you still need a door on the other side to open/close/unlock/lock with this door. This works both when your door automatically closes/locks, and when a player opens/closes/locks/unlocks your door. Nb. this is only one way, to have two asymmetric doors lock/close/open/unlock each other you have to setup AUTO_CLOSE_DESTINATION_DOOR on both. |
int | AUTO_RESPAWN | 1 |
Will set a placeable to automatically respawn after being destroyed. The respawn timer will be the length of the encounter respawn timers in the area (if any), to a minimum of 20 minutes. nb. Doors and traps always automatically respawn outside quest areas. |
int | ATTACKABLE | 1 |
Will set a placeable to display and act as a hostile, attackable object. |
int | LOCK_BASHABLE | 1 |
Will configure a lock to be bashable. |
string | POPUP_FLAVOR_TEXT | |
When placed on triggers, areas, encounters, doors, or placeables the popup flavor description message will be sent to the player. nb. Placeables are triggered when used, or when opened if they have an inventory. Encounters are only triggered when the encountered is spawned. Encounter messages are visible to all party members. All messages have a 40 minute cooldown before being able to be retriggered by the same player. POPUP_FLAVOR_TEXT_{DAY|NIGHT} can be used instead for different day and night messages. |
string | POPUP_FLAVOR_TEXT_{DAY|NIGHT} | |
Replaces POPUP_FLAVOR_TEXT. Will display different messages for day and night. |
int | DISCOVERY_MASK | |
Applicable to placeables/doors/creatures To use multiple options, sum up each option you want to use. eg to disable highlighting for both mouse over and tab, use 3.
|
int | NO_USE | 1 |
FOR DOORS ONLY. Makes a door not useable. |
int | MIMIC_CHANCE | 1-100 |
FOR TREASURES ONLY. Chance of spawning a mimic, from 1% to 100%. By default, they scale from Tier 3 to Tier 6 according to highest party member level, and use a mimic chest appearance. You can edit those using the following variables. Note that if a mimic is killed, it'll roll the treasures the chest was supposed to have twice, as reward for dealing with the challenge. | ||
int | MIMIC_APPEARANCE | 1-100 |
Appearance (cosmetic only) replacement to use for the mimic. Stats will be default unless a different MIMIC_TYPE is set. | ||
string | MIMIC_TYPE | <creature resref> |
Creature to spawn instead of the tiered mimics. Note that these won't scale and will be a direct copy of the creature. | ||
string | MIMIC_CALLOUT | <text you want to display> |
String to display when the mimic spawn. This is only needed if you wish to display a different callout than the default “The chest tries to bite you!” one. |
int | NO_JUMP | 1 |
Will prevent players from using /leap or /move to move into, out of, or through the drawn trigger. NB. To block creatures moving through the trigger, there's a minimum width required of the trigger, so it's best to overdraw the trigger's size slightly. |
int | NO_D_DOOR | 1 |
Will prevent players from using dimension door, shadowjump, abundant step, and tree stride to move into, out of, or through the drawn trigger. NB. To block creatures moving through the trigger, there's a minimum width required of the trigger, so it's best to overdraw the trigger's size slightly. |
int | NO_FLY_ZONE | 1 |
Will prevent players from flying into, out of, or through the drawn trigger. NB. To block creatures moving through the trigger, there's a minimum width required of the trigger, so it's best to overdraw the trigger's size slightly. |
int | NO_HOSTILES | 1 |
Will prevent hostile mobs from using a trigger or transition. (Can be used on ground transition triggers or doorway triggers) Useful at a dungeon entrance, so mobs do not get kited outside of their intended level range area. |
int | X2_L_WAYPOINT_SETFACING | 1 |
Used on a POST_<creature tag> waypoint to make the NPC face the direction the waypoint is facing when they return back to their POST_. |
int | WAYPOINT_ACTION_REST | 1 |
The NPC will rest when reaching the waypoint if they've done any extraneous actions such as combat, casting spells, or equipping items. This should be placed on all guard NPC POST_ waypoints, and if given to patrolling NPC guards it should be placed on a single WP_ in their path. |
int | WAYPOINT_ACTION_DISARM | 0|1|2 |
The NPC will unequip their weapons when reaching the waypoint if they've done any extraneous actions such as combat, casting spells, or equipping items. 1 will unequip the main hand. 2 will unequip both hands. This should be placed on all guard NPC POST_ waypoints, and if given to patrolling NPC guards it should be placed on a single WP_ in their path. |
string | TRIGGER_HB_DAMAGE_TYPE | <damage type> |
string | TRIGGER_HB_DAMAGE_AMOUNT | [string="10"] |
int | TRIGGER_HB_DAMAGE_EVERY_NTH_ROUND | [int="1"] |
Setting
|
int | ENCOUNTER_POOL_ID | 1-Infinite |
int | RARE_ENCOUNTER_CHANCE | 1-100 |
ENCOUNTER_POOL_ID lets you group encounters by ID. If set, the game will pick one encounter out of the encounters in an ID group (1, 2, 3, 4, and so on) and set only one of those to be active, until reset where it'll be randomized again. Example: lay down three different encounters with a different boss, and it'll only trigger one of the three to be active, at random. Which is active is randomized everytime it resets. RARE_ENCOUNTER_CHANCE is used to set a chance that an encounter will be active, in %. Both variables can be used on the same encounter, but that isn't required. Note that if you combine both, the one encounter from the pool that's set to be active might not be toggled on if it doesn't roll high enough on the chance to be active. Practical example:
When someone enters the area, it'll pick one of the two encounter to leave active, at random. If there were three, it'd pick one out of the three. If the Palrethee encounter had |
Male and Female tailoring models can be placed in an area by creating waypoints where you would like the tailoring model NPCs to be spawned. These waypoints must be tagged PH_TAILORING_MODEL_MALE
or PH_TAILORING_MODEL_FEMALE
to have male or female models spawned at the waypoint's location.
Alternatively, a waypoint tagged PH_TAILORING_STATION
can be set to enable use of the /customize NUI tailoring menu around the waypoint without using a model.
Do not use the Tailoring Model NPCs included with the old build module. These NPCs will be deleted.
Music boxes can be placed in an area by creating a useable placeable tagged PH_MUSIC_PLAYER
An NPC can be set up as an inn bard by setting their tag to PH_MUSIC_PLAYER
Door locking levers can be placed in areas by creating a useable placeable tagged PH_INN_DOOR_LEVER
When used, the closest door tagged InnDoor
will be locked or unlocked when the lever is used. Locked doors tagged InnDoor will be automatically unlocked when no players are in the area.
Variables on the lever can be used to configure various settings:
int ROOM_COST <cost="50">
configures the gold cost of locking the lever's door. -1 makes it free.string DOOR_TAG_SUFFIX <tag>
can be used to make the lever target a specifically tagged door, InnDoor_<tag>
Combat dummies can be placed in an area by creating a useable placeable tagged PH_COMBAT_DUMMY
which will serve as the dummy's control panel.
You must then create a waypoint for where the dummy will be spawned. This waypoint's tag must be prefixed WP_
On the control panel, you must then set the string variable WAYPOINT_SPAWN_TAG
to the tag of your waypoint, not including WP_ prefix.
You may then also optionally set the following variables on the control panel to configure the combat dummy further:
string NAME <name="Combat Dummy">
to set the name of the combat dummy.string DESCRIPTION <description="With its bucket head and straw-filled chest, the combat dummy seems far from threatening.">
to set the description of the combat dummy.string PORTRAIT <portrait resref="PO_PLC_F08_">
to set the portrait of the combat dummy.int APPEARANCE <appearance.2da number="201">
to set the appearance model of the combat dummy.int SOUNDSET <soundset.2da number="3">
to set the soundset of the combat dummy.
Trashcans can be placed in an area by creating a useable placeable tagged PH_TRASHCAN
Seasonal decorations/objects that only appear during certain seasons can be configured in an area by creating a single invisible placeable tagged PH_SEASONS_CONFIG
This placeable must then be configured with the following int variable, SEASON
The value for SEASON
must be the sum of any of the following to configure the script for what seasons are present in the area:
FALL = 1
WINTER = 2
SPRING = 4
SUMMER = 8
You must then set a int SEASON
variable on any NPC or placeable in your area to configure what seasons that object will appear in. Any object without a SEASON
configured will appear in all seasons. These objects can be NPCs or placeables. They cannot be sounds at this time. Placeables must be dynamic. These objects do not need to be tagged.
For outdoor areas, if you want the tileset's grass textures, flowers, etc in your area to not be replaced by snow during winter, you must add the int variable IGNORE_SEASONS 1
to the area.
If you want permanent visual effects on a placeable, you must make the placeable dynamic and add any one or more of the following variables, depending on how many visual effects you want the placeable to have:
int VFX
<visualeffects.2da number>
If you want additional VFX on the placeable, you can add additional VFX variables with a number, eg:int VFX1
int VFX2
int VFX3
If you want a persistent area of effect VFX to spawn around the placeable, you must use int VFX_PERSISTENT
<vfx_persistent.2da row>
To add a teleport destination in your area, create a waypoint tagged (all lowercase) cd_teleport_point
. The teleport key will then be the tag of your area. Teleport keys are case insensitive and ignore spaces and other special characters. The area tag mysecrethome will work with the key "mysecrethome", "My Secret Home", "mYsEc ReT hOmE", etc.
To allow the teleport key to be discoverable by the teleport key finder, you must add the string variable TELEPORT_KEY
with the discoverable teleport key to your area variables.
To adjust the DC for the teleport key finder, add the int variable TELEPORT_KEY_DC
to your area variables. The default DC if not defined will be the module's secret spellcraft DC.
All doors and placeables can be configured to automatically close or lock with the following variables:
int AUTO_CLOSE_DELAY <seconds>
- How many seconds until the object auto closes. Recommended values are 300 (5 mins), or 1800 (30 mins) which are the standards across the module.int AUTO_CLOSE_LOCK <0|1="0">
- Whether the object should lock when it automatically closes.string AUTO_CLOSE_DESTINATION_DOOR <tag="">
- Used for asymmetric door transitions, where the transition destination is a waypoint instead of a door, but you still need a door on the other side to open/close/unlock/lock with this door. This works both when your door automatically closes/locks, and when a player opens/closes/locks/unlocks your door. Nb. this is only one way, to have two asymmetric doors lock/close/open/unlock each other you have to setup AUTO_CLOSE_DESTINATION_DOOR on both.
All doors and traps will automatically respawn/reset, no configuration is necessary.
Placeables can be configured to automatically respawn with int var AUTO_RESPAWN 1
.
Each will follow dungeon loot respawn timer rules for respawning/resetting, using the respawn timers of encounters in the dungeon to a minimum of 20 minutes.
Please do not use the old cd_locknclos*, cd_doorclose, _autoclosedoor, aet_gendoor_open, etc scripts. They have all been deprecated.
Placeables can be configured to display and act as a hostile/attackable object with int var ATTACKABLE 1
. This will make the placeable's highlight color and nameplate red, display health percentage in the name when damage, appear with an attack mouse cursor when hovered over, and make a PC clicking the object attack it.
Locks on placeables and doors can be configured to be bashable by setting int var LOCK_BASHABLE 1
.
Allows for the creation of the DM Secret Door system while in the toolset. THIS DOES NOT WORK FURTHER WITHOUT A DM USING THE COMMANDS IG.
Placeable Appearance: Wall, Placeable Scrt Dr Closed
, it must be set to plot, dynamic
Under scripts you must set:
OnHeartbeat zep_doorspawn
OnDeath zep_doorkill
OnUsed zep_unsecret
Under Variables you must set:
string CEP_L_GATEBLOCK
zep_sgateblck001
string CEP_L_SECRETSWAP
zep_swall001
Uses normal /usesecretdoor, /opensecretdoor, /closesecretdoor
via any DM.
Portals can be created in an area by creating a useable placeable tagged PH_PORTAL, with a unique destination waypoint using a tag of your choice. (Remember to follow tag naming conventions!)
The string variable PH_PORTAL_DESTINATION
must be set on the portal placeable with the tag of your destination as its value.
Additional variables can also be set to further configure your portal:
int PH_PORTAL_VFX_ENTER <visualeffect.2da number="0">
to specifiy a VFX to play at the portal when portaling.float PH_PORTAL_VFX_ENTER_SCALE <scale="1.0">
to scale the enter VFX.int PH_PORTAL_VFX_EXIT <visualeffect.2da number="0">
to specifiy a VFX to play at the portal's destination when portaling.float PH_PORTAL_VFX_EXIT_SCALE <scale="1.0">
to scale the exit VFX.int PH_PORTAL_VFX_DENIED <visualeffect.2da number="0">
to specifiy a VFX to play at the portal when portaling is denied.float PH_PORTAL_VFX_DENIED_SCALE <scale="1.0">
to scale the denied VFX.float PH_PORTAL_DELAY <seconds>
to set a delay before portaling. Portals with a VFX have a default delay of 0.5, portals without have no default delay.int PH_PORTAL_PULL_PARTY <1|0="0">
to also portal all party members within 5m of the portal.int PH_PORTAL_PARTY_KEY <1|0="0">
to allow anyone to use a locked portal if any single party member has the portal's key.int PH_PORTAL_AUTO_LOCK_DELAY <seconds="300">
to define how long until the portal relocks itself after being unlocked. Set to -1 if you don't want the portal to automatically relock.string PH_PORTAL_MESSAGE_DENIED <message="You cannot use this portal.">
to send a message to any PC attempting to use the portal without a key.string PH_PORTAL_MESSAGE_SUCCESS <message="">
to send a message to the PC when succesfully using the portal.Key Tag
to the item tag of your portal key/ward/token.Please do not use the old cd_portal_jump, cd_portal_jump2, or cd_portalpartyck scripts. They have all been deprecated.
The following area int vars
will block the respective abilities to /leap, flight, and dimension door in the entire area:
NO_JUMP 1
NO_FLY_ZONE 1
NO_D_DOOR 1
Blocked subareas can also be configured by placing triggers in the area and applying the variables to them instead. This will also prevent the use of /leap, flight, and dimension door to travel through (not just into or out of) a drawn region. This is useful for preventing /leap through placeable walls. Triggers should be drawn slightly oversized, and where possible triggers should be drawn to cover multiple walls/subareas with a single trigger -- ie: don't place multiple triggers touching or overlapping each other unless those triggers block different things.
Popup flavor text descriptions are created by setting string variable POPUP_FLAVOR_TEXT
on areas, triggers, encounters, useable placeables, or doors. No scripts are necessary.
You can optionally use string vars
POPUP_FLAVOR_TEXT_DAY
and POPUP_FLAVOR_TEXT_NIGHT
instead to have separate day and night descriptions.
Bindpoints can be set in taverns, inns, player homes, and faction areas by creating a waypoint tagged BINDSTONE_LOCATION
. This will create a publicly settable bindpoint in the area.
Bindpoints can be made private so that they can only be used by characters possessing the key for that bindpoint by setting string var BINDSTONE_KEY_TAG
to the tag of the key item required for the bindpoint. For player houses and faction areas, this is typically your front door key tag.
Multiple unique keyed bindpoints can be added to a single area. Player houses may have bindpoints in any or all areas of their choosing.
An area may only have a single public bindpoint.
An optional var int BINDSTONE_REQUIRE_PATH 1
may be set to require the PC to have a walkable path to the bindpoint location to be able to bind it, in the case of an area being split into subareas with different houses in it or an area that has both a public and private bindpoints.
Respawn locations can be set in temples and attended shrines by creating a waypoint tagged RESPAWN_LOCATION
. This will create a publicly settable respawn point in the area.
If an area is divided into subareas with different temples and shrines, then each subarea must be given its own waypoint with a distinct `RESPAWN_LOCATION_SUBAREA_ID
` int variable (ie. the first waypoint will be int 1, the second int 2, and so on.)
All stores must use the script cdb_openstore to be accessed. This script can either be assigned to a conversation's Action Taken script, or to a placeable's OnUsed event.
Variables on the NPC (or placeable with the script) then need to be configured:int STORE_TYPE <type="0">
To set the type of store being accessed. This determines how the store needs to be built.
0: Single store (one merchant tagged "STORE_")
1: Leveled shop (four merchants tagged "STORE1_", "STORE2_", etc)
2: Pawn shop (no merchant created, a pawn shop is automatically made for you when the store is accessed)string STORE_MERCHANT_TAG [tag]
If this is an access point to a merchant store, such as creating placeable access points to an NPC's store. This should be set to the unique-within-area tag of the merchant.int STORE_NO_APPRAISE [1 or 0]
To set whether the store doesn't use appraise. Generally, all stores should use appraise.int STORE_GLOBAL [1 or 0]
To set whether this store accesses one of our global module stores. If yes, then the NPC or placeable must share the same tag as the global store.
CD_GENARCANESHOP
for general low level arcane stores, ie. Elhazir's.CD_HIGHARCANESHOP
for high magic arcane stores, ie. Violet Flame.CD_GENWEAPONSTORE
for generic weaponsmith store.CD_GENARMORSHOP
for generic armorsmith store.CD_GENTEMPLESHOP
for generic temple store.CD_GENSCRIBESHOP
for generic scribe store where custom writable books can be purchased.CD_GENPAINTSHOP
for generic painter's store where custom writable paintings can be purchased.CD_GENTOYSHOP
for generic toy store where wooden swords and custom writable plushies can be purchased.CD_GENFOODSHOP
for generic food store where custom writable food items can be purchased.There's 3 parts to most custom (non global) merchants:
The NPC
The Convo
The Merchant
Items sold by merchants need to be approved beforehand.
In the Conversation Editor, set the Action Taken script on the dialogue choice that'll unlock a door to sp_unlockdoor
. In the variables box below it, add a variable named door_tag
, with the value being the tag of the door you want unlocked. The door needs to be in the same area.