No edit summary Tags: Visual edit apiedit |
m (Rough temporary comment for latest Elona+ changes. May make this page somewhat redundant for E+ specifically.) |
||
(11 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | Bit flags are special traits that can be programmed into |
+ | '''Bit flags''' are special traits that can be programmed into [[NPC]]s to give them certain abilities. Most of these bits are listed in the help_npc.txt file in the user folder, under BitOn, which includes instructions on how to use them for the creation of [[custom NPC]]s. |
The game's own original NPCs already have their bit flags hard-coded, but these can still be modified (via [[EloSnack#cdata.s1|EloSnack]] or [[Cheating#Memory_editing|memory editing]]). Values for ingame bit flag modification are listed under the "Ingame ID" column. |
The game's own original NPCs already have their bit flags hard-coded, but these can still be modified (via [[EloSnack#cdata.s1|EloSnack]] or [[Cheating#Memory_editing|memory editing]]). Values for ingame bit flag modification are listed under the "Ingame ID" column. |
||
+ | |||
+ | Note: in Elona+ version 2.08 on, every character's bit flags are now listed in the "Feats and Traits" window. 2 new bit flags not currently on this page were added in that version. |
||
==Primary bit flags== |
==Primary bit flags== |
||
Line 12: | Line 14: | ||
!style="width:25%; background-color:#7077C0; text-align:center;"|Game version |
!style="width:25%; background-color:#7077C0; text-align:center;"|Game version |
||
!style="width:25%; background-color:#7077C0; text-align:center;"|Ingame ID |
!style="width:25%; background-color:#7077C0; text-align:center;"|Ingame ID |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cFloat" |
| |
| |
||
− | + | <code>cFloat</code> |
|
|5 |
|5 |
||
|Any |
|Any |
||
Line 20: | Line 22: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Floats the NPC. Among other things, it saves them from acid pools, deaths when drinking from wells, and triggering traps. |
|colspan="4"|Floats the NPC. Among other things, it saves them from acid pools, deaths when drinking from wells, and triggering traps. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cInvisi" |
⚫ | |||
− | | |
||
⚫ | |||
|6 |
|6 |
||
|Any |
|Any |
||
Line 28: | Line 29: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|The NPC is invisible. They can only be seen by the player when they are wet, or when the player has an item that lets them see invisible creatures equipped. NPCs with the cSeeInvisi bit can still see them. A pet that is invisible will still be seen by NPCs, regardless of the NPCs' ability to see invisible creatures. |
|colspan="4"|The NPC is invisible. They can only be seen by the player when they are wet, or when the player has an item that lets them see invisible creatures equipped. NPCs with the cSeeInvisi bit can still see them. A pet that is invisible will still be seen by NPCs, regardless of the NPCs' ability to see invisible creatures. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cSeeInvisi" |
⚫ | |||
− | | |
||
⚫ | |||
|7 |
|7 |
||
|Any |
|Any |
||
Line 36: | Line 36: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|The NPC can see invisible creatures. |
|colspan="4"|The NPC can see invisible creatures. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cResConfuse" |
⚫ | |||
− | | |
||
⚫ | |||
|8 |
|8 |
||
|Any |
|Any |
||
Line 44: | Line 43: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Immunity to confusion. But, it does not stop insanity from inflicting the status effect. |
|colspan="4"|Immunity to confusion. But, it does not stop insanity from inflicting the status effect. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cResBlind" |
⚫ | |||
− | | |
||
⚫ | |||
|9 |
|9 |
||
|Any |
|Any |
||
Line 52: | Line 50: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Immunity to blindness. But, it does not stop insanity from inflicting the status effect. |
|colspan="4"|Immunity to blindness. But, it does not stop insanity from inflicting the status effect. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cResFear" |
⚫ | |||
− | | |
||
⚫ | |||
|10 |
|10 |
||
|Any |
|Any |
||
Line 60: | Line 57: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Immunity to fear. But, it does not stop insanity from inflicting the status effect. |
|colspan="4"|Immunity to fear. But, it does not stop insanity from inflicting the status effect. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cResSleep" |
⚫ | |||
− | | |
||
⚫ | |||
|11 |
|11 |
||
|Any |
|Any |
||
Line 68: | Line 64: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Immunity to sleep. But, it does not stop insanity from inflicting the status effect. |
|colspan="4"|Immunity to sleep. But, it does not stop insanity from inflicting the status effect. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cResParalyze" |
⚫ | |||
− | | |
||
⚫ | |||
|12 |
|12 |
||
|Any |
|Any |
||
Line 76: | Line 71: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Immunity to paralyzation. But, it does not stop insanity from inflicting the status effect. |
|colspan="4"|Immunity to paralyzation. But, it does not stop insanity from inflicting the status effect. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cResPoison" |
⚫ | |||
− | | |
||
⚫ | |||
|13 |
|13 |
||
|Any |
|Any |
||
Line 84: | Line 78: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Immunity to poison. But, it does not stop insanity from inflicting the status effect. |
|colspan="4"|Immunity to poison. But, it does not stop insanity from inflicting the status effect. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cEater" |
⚫ | |||
− | | |
||
⚫ | |||
|14 |
|14 |
||
|Any |
|Any |
||
Line 92: | Line 85: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Able to eat rotten food without triggering any of its negative effects. |
|colspan="4"|Able to eat rotten food without triggering any of its negative effects. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cResSteal" |
⚫ | |||
− | | |
||
⚫ | |||
|15 |
|15 |
||
|Any |
|Any |
||
Line 100: | Line 92: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Resists Suspicious Hand events. |
|colspan="4"|Resists Suspicious Hand events. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cIncognito" |
⚫ | |||
− | | |
||
⚫ | |||
|16 |
|16 |
||
|Any |
|Any |
||
Line 108: | Line 99: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Possibly causes the NPC to not be targeted automatically by hostile monsters. |
|colspan="4"|Possibly causes the NPC to not be targeted automatically by hostile monsters. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cDropGold" |
⚫ | |||
− | | |
||
⚫ | |||
|17 |
|17 |
||
|Any |
|Any |
||
Line 116: | Line 106: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|When killed, automatically drops all gold held at the time of death. |
|colspan="4"|When killed, automatically drops all gold held at the time of death. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cSuicide" |
⚫ | |||
− | | |
||
⚫ | |||
|18 |
|18 |
||
|Any |
|Any |
||
Line 124: | Line 113: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Has a chance to trigger the Suicide attack special action. |
|colspan="4"|Has a chance to trigger the Suicide attack special action. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cDeathMaster" |
⚫ | |||
− | | |
||
⚫ | |||
|19 |
|19 |
||
|Any |
|Any |
||
|524288 |
|524288 |
||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
− | |colspan="4"|Auto-triggers the [[Word of Death]] special action. The effect cancels out when the casting NPC is killed. |
+ | |colspan="4"|Auto-triggers the [[Word of Death]] special action. The effect cancels out when the casting NPC is killed. Used by [[Executioner]], [[Messenger of death]], [[Demon's soul]], [[Death armor]]. |
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cRapidMagic" |
⚫ | |||
− | | |
||
⚫ | |||
|20 |
|20 |
||
|Any |
|Any |
||
Line 140: | Line 127: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Allows for multiple casting of dart-type spells in a single turn. This can be observed on the [[Exile]] servant. |
|colspan="4"|Allows for multiple casting of dart-type spells in a single turn. This can be observed on the [[Exile]] servant. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cLayHand" |
⚫ | |||
− | | |
||
⚫ | |||
|21 |
|21 |
||
|Any |
|Any |
||
Line 148: | Line 134: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|The NPC can cast a major healing spell on heavily damaged allies. This can be observed on the [[Defender]] servant. |
|colspan="4"|The NPC can cast a major healing spell on heavily damaged allies. This can be observed on the [[Defender]] servant. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cHorse" |
⚫ | |||
− | | |
||
⚫ | |||
|22 |
|22 |
||
|Any |
|Any |
||
|4194304 |
|4194304 |
||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
− | |colspan="4"|The NPC works well with the [[riding]] skill. It gives the message "You feel comfortable" when ridden. |
+ | |colspan="4"|The NPC works well with the [[riding]] skill. It gives the message "You feel comfortable" when ridden. See [[Riding#NPCs_with_the_mount_bonus_or_penalty|this list of all NPCs having this bit flag]]. |
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cSplit" |
⚫ | |||
− | | |
||
⚫ | |||
|23 |
|23 |
||
|Any |
|Any |
||
Line 164: | Line 148: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|The first version of the split ability. The NPC can create a copy when any damage is taken. Copies of the NPC will keep the status effects inflicted on the one that spawned them. |
|colspan="4"|The first version of the split ability. The NPC can create a copy when any damage is taken. Copies of the NPC will keep the status effects inflicted on the one that spawned them. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cEncCurse" |
⚫ | |||
− | | |
||
⚫ | |||
|24 |
|24 |
||
|Any |
|Any |
||
Line 172: | Line 155: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
| colspan="4"|Possibly makes the NPC resistant to curses, but this may not be accurate. |
| colspan="4"|Possibly makes the NPC resistant to curses, but this may not be accurate. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cNoHorse" |
⚫ | |||
− | | |
||
⚫ | |||
|25 |
|25 |
||
|Any |
|Any |
||
|33554432 |
|33554432 |
||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
− | |colspan="4"|The NPC works very poorly with the [[riding]] skill, resulting in a severe speed penalty when ridden. |
+ | |colspan="4"|The NPC works very poorly with the [[riding]] skill, resulting in a severe speed penalty when ridden. See [[Riding#NPCs_with_the_mount_bonus_or_penalty|this list of all NPCs having this bit flag]]. |
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cResEle" |
⚫ | |||
− | | |
||
⚫ | |||
|26 |
|26 |
||
|Any |
|Any |
||
Line 188: | Line 169: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
| colspan="4"|The NPC has near immunity to elemental attacks, except pure magic. This is observable with [[cube]]s. |
| colspan="4"|The NPC has near immunity to elemental attacks, except pure magic. This is observable with [[cube]]s. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cSplit2" |
⚫ | |||
− | | |
||
⚫ | |||
|27 |
|27 |
||
|Any |
|Any |
||
Line 196: | Line 176: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|The second type of split ability. The NPC can create a copy when any damage is taken. The copies do not have the status effects inflicted on the original. |
|colspan="4"|The second type of split ability. The NPC can create a copy when any damage is taken. The copies do not have the status effects inflicted on the original. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cMetal" |
⚫ | |||
− | | |
||
⚫ | |||
|28 |
|28 |
||
|Any |
|Any |
||
|268435456 |
|268435456 |
||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
− | | |
+ | | style="text-align:left" colspan="4" |Damage inflicted on the NPC is reduced by 90%. Observable with bell-type monsters such as the [[gold bell]]. Stacks with cArmour for 97.5% damage reduction. Elona+ changes it entirely to dealing with physical damage. |
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cCureBleeding" |
⚫ | |||
− | | |
||
⚫ | |||
|29 |
|29 |
||
|Any |
|Any |
||
Line 212: | Line 190: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
| colspan="4" style="text-align:left"|The NPC very quickly heals the bleeding status caused by cut damage. |
| colspan="4" style="text-align:left"|The NPC very quickly heals the bleeding status caused by cut damage. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cPowerBash" |
⚫ | |||
− | | |
||
⚫ | |||
|30 |
|30 |
||
|Any |
|Any |
||
Line 220: | Line 197: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Allows the NPC to break walls, similar to the PC's bash command. Bosses and uniques use this. |
|colspan="4"|Allows the NPC to break walls, similar to the PC's bash command. Bosses and uniques use this. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cImmuneMine" |
⚫ | |||
− | | |
||
⚫ | |||
|31 |
|31 |
||
|Any |
|Any |
||
|2147483648 |
|2147483648 |
||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
− | | colspan="4"|Prevents triggering of mines by the character. Used by mine layers such as the [[mine dog]] to prevent it setting off its own traps. |
+ | | colspan="4"|Prevents triggering of mines by the character. Used by mine layers such as the [[mine dog]] and [[Claymoai]] to prevent it setting off its own traps. |
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cTemper" |
⚫ | |||
− | | |
||
⚫ | |||
|32 |
|32 |
||
|Elona beta (after 1.16) |
|Elona beta (after 1.16) |
||
Line 236: | Line 211: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
|colspan="4"|Activates a self-buff that causes the character to take more damage in exchange for doing more damage. |
|colspan="4"|Activates a self-buff that causes the character to take more damage in exchange for doing more damage. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cArmour" |
⚫ | |||
− | | |
||
⚫ | |||
|33 |
|33 |
||
− | |Elona |
+ | |Elona+ (Any version) |
|8589934592 |
|8589934592 |
||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
− | |colspan="4"| |
+ | | colspan="4" |Physical damage inflicted on the NPC is reduced by 75%. Less effective than the cMetal flag. Stacks with cMetal for 97.5% physical damage reduction. |
|} |
|} |
||
− | |||
− | |||
==Secondary bit flags== |
==Secondary bit flags== |
||
− | Special |
+ | Special bit flags not available to custom NPCs. These are stored at a second bit flag address in game memory (1920 offset in cdata.s1). |
{| class="article-table" |
{| class="article-table" |
||
|- style="color:#fff;" |
|- style="color:#fff;" |
||
Line 256: | Line 228: | ||
!style="width:25%; background-color:#7077C0; text-align:center;"|Game version |
!style="width:25%; background-color:#7077C0; text-align:center;"|Game version |
||
!style="width:25%; background-color:#7077C0; text-align:center;"|Ingame ID |
!style="width:25%; background-color:#7077C0; text-align:center;"|Ingame ID |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="Married?" |
⚫ | |||
− | | |
||
⚫ | |||
|2 |
|2 |
||
|Any |
|Any |
||
Line 264: | Line 235: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
| colspan="4" |Marked when marrying a NPC. |
| colspan="4" |Marked when marrying a NPC. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="Health Bar" |
⚫ | |||
− | | |
||
⚫ | |||
|7 |
|7 |
||
|Any |
|Any |
||
Line 272: | Line 242: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
| colspan="4" |Toggled by using the stethoscope. |
| colspan="4" |Toggled by using the stethoscope. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="Leashed" |
⚫ | |||
− | | |
||
⚫ | |||
|9 |
|9 |
||
|Any |
|Any |
||
Line 280: | Line 249: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
| colspan="4" |Toggled by using a leash, Teleports the pet to you when they move too far away from you. |
| colspan="4" |Toggled by using a leash, Teleports the pet to you when they move too far away from you. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cExplode" |
⚫ | |||
− | | |
||
⚫ | |||
|12 |
|12 |
||
|Any |
|Any |
||
|4096 |
|4096 |
||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
− | | colspan="4" |Executes a cSuicide-like effect immediately, disregarding other characters' turns. The only |
+ | | colspan="4" |Executes a cSuicide-like effect immediately, disregarding other characters' turns. The only bit flag known to be automatically removed upon execution. |
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cMount" |
⚫ | |||
− | | |
||
⚫ | |||
|15 |
|15 |
||
|Any |
|Any |
||
Line 296: | Line 263: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
| colspan="4" |NPCs automatically get this bit flag when mounted. The bit flag is turned off upon dismounting. |
| colspan="4" |NPCs automatically get this bit flag when mounted. The bit flag is turned off upon dismounting. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cName" |
⚫ | |||
− | | |
||
⚫ | |||
|17 |
|17 |
||
|Any |
|Any |
||
Line 304: | Line 270: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
| colspan="4" |Named NPCs automatically carry this bit flag. Otherwise, it's turned on when the player names the NPC via the {{key|I}}nteract>>Name menu. |
| colspan="4" |Named NPCs automatically carry this bit flag. Otherwise, it's turned on when the player names the NPC via the {{key|I}}nteract>>Name menu. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cSurvive" |
⚫ | |||
− | | |
||
⚫ | |||
|20 |
|20 |
||
|Any |
|Any |
||
Line 312: | Line 277: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
| colspan="4" |This flag is always turned on upon receiving [[Spells#Contingency|Contingency]], regardless of its source. |
| colspan="4" |This flag is always turned on upon receiving [[Spells#Contingency|Contingency]], regardless of its source. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cDebris" |
⚫ | |||
− | | |
||
⚫ | |||
|23 |
|23 |
||
|Any |
|Any |
||
|8388608 |
|8388608 |
||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
− | | colspan="4" |Enables the "debris-fall" death animation common to most rock- and metal-type artificial constructs. With this |
+ | | colspan="4" |Enables the "debris-fall" death animation common to most rock- and metal-type artificial constructs. With this bit flag off, the death animation is standard blood splatter. |
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cSandbag" |
⚫ | |||
− | | |
||
⚫ | |||
|25 |
|25 |
||
|Any |
|Any |
||
Line 328: | Line 291: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
| colspan="4" |NPCs get this bit flag when a [[Sand bag]] is used on them. Conversely, turning the bit flag on via memory editing inflicts the sandbagged status on the target NPC. |
| colspan="4" |NPCs get this bit flag when a [[Sand bag]] is used on them. Conversely, turning the bit flag on via memory editing inflicts the sandbagged status on the target NPC. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cAnorex" |
⚫ | |||
− | | |
||
⚫ | |||
|26 |
|26 |
||
|Any |
|Any |
||
Line 336: | Line 298: | ||
|- style="border-bottom:2px solid #7077C0" |
|- style="border-bottom:2px solid #7077C0" |
||
| colspan="4" |Causes [[Status effects|anorexia]]. |
| colspan="4" |Causes [[Status effects|anorexia]]. |
||
− | |- style="font-weight:bold; text-align:center;" |
+ | |- style="font-weight:bold; text-align:center;" id="cAwaken" |
⚫ | |||
− | | |
||
⚫ | |||
|44 |
|44 |
||
|Elona+ |
|Elona+ |
||
Line 345: | Line 306: | ||
| colspan="4" |NPCs in [[Black_gemstone_of_Wake_up_of_nefia|Awakened]] dungeons carry this bit flag. Its effects are currently unknown. |
| colspan="4" |NPCs in [[Black_gemstone_of_Wake_up_of_nefia|Awakened]] dungeons carry this bit flag. Its effects are currently unknown. |
||
|} |
|} |
||
− | [[Category: |
+ | [[Category:Content]] |
− | [[Category:Article stubs]] |
Revision as of 18:29, 26 December 2021
Bit flags are special traits that can be programmed into NPCs to give them certain abilities. Most of these bits are listed in the help_npc.txt file in the user folder, under BitOn, which includes instructions on how to use them for the creation of custom NPCs.
The game's own original NPCs already have their bit flags hard-coded, but these can still be modified (via EloSnack or memory editing). Values for ingame bit flag modification are listed under the "Ingame ID" column.
Note: in Elona+ version 2.08 on, every character's bit flags are now listed in the "Feats and Traits" window. 2 new bit flags not currently on this page were added in that version.
Primary bit flags
Standard bit flags, available to both original and custom NPCs. The list starts at 5 as there are no bits that can be set under that number.
Name | Number | Game version | Ingame ID |
---|---|---|---|
|
5 | Any | 32 |
Floats the NPC. Among other things, it saves them from acid pools, deaths when drinking from wells, and triggering traps. | |||
cInvisi
|
6 | Any | 64 |
The NPC is invisible. They can only be seen by the player when they are wet, or when the player has an item that lets them see invisible creatures equipped. NPCs with the cSeeInvisi bit can still see them. A pet that is invisible will still be seen by NPCs, regardless of the NPCs' ability to see invisible creatures. | |||
cSeeInvisi
|
7 | Any | 128 |
The NPC can see invisible creatures. | |||
cResConfuse
|
8 | Any | 256 |
Immunity to confusion. But, it does not stop insanity from inflicting the status effect. | |||
cResBlind
|
9 | Any | 512 |
Immunity to blindness. But, it does not stop insanity from inflicting the status effect. | |||
cResFear
|
10 | Any | 1024 |
Immunity to fear. But, it does not stop insanity from inflicting the status effect. | |||
cResSleep
|
11 | Any | 2048 |
Immunity to sleep. But, it does not stop insanity from inflicting the status effect. | |||
cResParalyze
|
12 | Any | 4096 |
Immunity to paralyzation. But, it does not stop insanity from inflicting the status effect. | |||
cResPoison
|
13 | Any | 8192 |
Immunity to poison. But, it does not stop insanity from inflicting the status effect. | |||
cEater
|
14 | Any | 16384 |
Able to eat rotten food without triggering any of its negative effects. | |||
cResSteal
|
15 | Any | 32768 |
Resists Suspicious Hand events. | |||
cIncognito
|
16 | Any | 65536 |
Possibly causes the NPC to not be targeted automatically by hostile monsters. | |||
cDropGold
|
17 | Any | 131072 |
When killed, automatically drops all gold held at the time of death. | |||
cSuicide
|
18 | Any | 262144 |
Has a chance to trigger the Suicide attack special action. | |||
cDeathMaster
|
19 | Any | 524288 |
Auto-triggers the Word of Death special action. The effect cancels out when the casting NPC is killed. Used by Executioner, Messenger of death, Demon's soul, Death armor. | |||
cRapidMagic
|
20 | Any | 1048576 |
Allows for multiple casting of dart-type spells in a single turn. This can be observed on the Exile servant. | |||
cLayHand
|
21 | Any | 2097152 |
The NPC can cast a major healing spell on heavily damaged allies. This can be observed on the Defender servant. | |||
cHorse
|
22 | Any | 4194304 |
The NPC works well with the riding skill. It gives the message "You feel comfortable" when ridden. See this list of all NPCs having this bit flag. | |||
cSplit
|
23 | Any | 8388608 |
The first version of the split ability. The NPC can create a copy when any damage is taken. Copies of the NPC will keep the status effects inflicted on the one that spawned them. | |||
cEncCurse
|
24 | Any | 16777216 |
Possibly makes the NPC resistant to curses, but this may not be accurate. | |||
cNoHorse
|
25 | Any | 33554432 |
The NPC works very poorly with the riding skill, resulting in a severe speed penalty when ridden. See this list of all NPCs having this bit flag. | |||
cResEle
|
26 | Any | 67108864 |
The NPC has near immunity to elemental attacks, except pure magic. This is observable with cubes. | |||
cSplit2
|
27 | Any | 134217728 |
The second type of split ability. The NPC can create a copy when any damage is taken. The copies do not have the status effects inflicted on the original. | |||
cMetal
|
28 | Any | 268435456 |
Damage inflicted on the NPC is reduced by 90%. Observable with bell-type monsters such as the gold bell. Stacks with cArmour for 97.5% damage reduction. Elona+ changes it entirely to dealing with physical damage. | |||
cCureBleeding
|
29 | Any | 536870912 |
The NPC very quickly heals the bleeding status caused by cut damage. | |||
cPowerBash
|
30 | Any | 1073741824 |
Allows the NPC to break walls, similar to the PC's bash command. Bosses and uniques use this. | |||
cImmuneMine
|
31 | Any | 2147483648 |
Prevents triggering of mines by the character. Used by mine layers such as the mine dog and Claymoai to prevent it setting off its own traps. | |||
cTemper
|
32 | Elona beta (after 1.16) | 4294967296 |
Activates a self-buff that causes the character to take more damage in exchange for doing more damage. | |||
cArmour
|
33 | Elona+ (Any version) | 8589934592 |
Physical damage inflicted on the NPC is reduced by 75%. Less effective than the cMetal flag. Stacks with cMetal for 97.5% physical damage reduction. |
Secondary bit flags
Special bit flags not available to custom NPCs. These are stored at a second bit flag address in game memory (1920 offset in cdata.s1).
Name | Number | Game version | Ingame ID |
---|---|---|---|
Married?
|
2 | Any | 2 |
Marked when marrying a NPC. | |||
Health Bar
|
7 | Any | 64 |
Toggled by using the stethoscope. | |||
Leashed
|
9 | Any | 256 |
Toggled by using a leash, Teleports the pet to you when they move too far away from you. | |||
cExplode
|
12 | Any | 4096 |
Executes a cSuicide-like effect immediately, disregarding other characters' turns. The only bit flag known to be automatically removed upon execution. | |||
cMount
|
15 | Any | 32768 |
NPCs automatically get this bit flag when mounted. The bit flag is turned off upon dismounting. | |||
cName
|
17 | Any | 131072 |
Named NPCs automatically carry this bit flag. Otherwise, it's turned on when the player names the NPC via the Interact>>Name menu. | |||
cSurvive
|
20 | Any | 1048576 |
This flag is always turned on upon receiving Contingency, regardless of its source. | |||
cDebris
|
23 | Any | 8388608 |
Enables the "debris-fall" death animation common to most rock- and metal-type artificial constructs. With this bit flag off, the death animation is standard blood splatter. | |||
cSandbag
|
25 | Any | 33554432 |
NPCs get this bit flag when a Sand bag is used on them. Conversely, turning the bit flag on via memory editing inflicts the sandbagged status on the target NPC. | |||
cAnorex
|
26 | Any | 67108864 |
Causes anorexia. | |||
cAwaken
|
44 | Elona+ | 17592186044416 |
NPCs in Awakened dungeons carry this bit flag. Its effects are currently unknown. |