NPC Text Codes and what they do

Description: Subforum dedicated to SMBX-38A - a fan-made remake of the original SMBX Engine, made by 5438A38A.
Forum rules: This is official Europan/American community for the SMBX-38A. Suggested to don't post stuff for this engine outside this subforum.
Moderators: Yoshi021, Lx Xzit, 5438A38A, Moderators, Semi-moderatos

Void
Topic author, Bat
Bat
Avatar
Void
Topic author, Bat
Bat
Age: 22
Reputation: 102
Posts: 279
Joined: 18 Apr 2014
Location: [REDACTED]

Post #1by Void » 24 Mar 2020, 0:11

I've made a list of each NPC text code and what it does specifically. I will only be going over the ones that are either exclusive to 1.4.5 and (hopefully) later versions or is one from 1.3 that has new options for it.

I know this list is cluttered as all hell, but Ctrl+F is still your friend.

GfxSplitHeight - The height of each set of GFX Expansion sprites. This must be checked in order to work at all.
FrameStyle - This determines how the NPC will animate. The new options are as follows:
  • No Animation is pretty obvious. Some NPCs that animate actually use this setting, but that's because they don't have a pattern in their animation.
  • SMB Style (No Playback) is also kinda obvious. However, I should point out that if the NPC is facing right when animating, the animation will play in reverse.
  • SMB/SMB3/SMB2 (With Offset) works similarly to GFX Expansion, but more automatic. The set of sprites used will rely on the NPC's advanced value. However, this doesn't work on all NPCs, as ones like the Angry Sun can have various different combinations, and so the NPC will load empty sprites. GfxSplitHeight is not needed for this to work.
  • SMB/SMB3 Loop is the same as their regular counterparts minus one thing. When the animation reaches the last frame, the animation direction will reverse, and vice versa.
Foreground - Although there isn't anything new for this, I would like to point out that it was hidden in the text code editor in favor of Z-Position. The text code still functions because of compatibility with 1.3 levels.
Z-Position - The new, somewhat more complex version of Foreground. This allows the user to draw sprites in front or behind of other sprites. Higher values will draw the sprite behind others, while lower ones draw in front of others. I may make a topic on what the default Z-Positions of each object is at some point.
DirectiveGFX - Enabling this will cause the NPC to rotate based on the direction it is moving in.
NoNPCCollision - This will prevent the NPC from colliding with other NPCs.
SmallHitbox - I'm not too sure about what this one does specifically. The description of it in the editor is that it will use a smaller hitbox like 1.3.
ForceCheck - Enabling this will force the NPC to interact with NPCs that normally can harm other NPCs (Grinders, explosions, etc.). Enabling the flag but disabling the ForceCheck setting will not reverse the effect if it's enabled by default.
SpinJump - This one is somewhat obvious. It allows the player to damage the NPC with a spin jump. Older versions of 1.4 immediately destroyed the NPC if they had more health, but was fixed in 1.4.5.
WaterJumpHurt - Also pretty obvious. The player takes damage if they land on an NPC while underwater.
SpinJumpHurt - Again, obvious. Causes the player to take damage if they land on an NPC while spin jumping.
YoshiHurt - Despite the name of this and the next setting, this does not hurt the player if they land on an enemy while riding Yoshi if enabled. This will actually hurt the enemy if the player lands on an enemy while riding Yoshi. The description was originally the former, but was fixed in a later 1.4.5 patch.
ShoeHurt - Very similar to YoshiHurt, enemy gets hurt if landed on while in a Shoe. The description thing was also fixed.
InstantKill - When enabled, if the player touches an NPC in a way that they normally take damage, they will instantly die instead. Not even the Tanooki Statue or Star are immune to this.
Immortal - This makes the NPC unable to be destroyed in any matter minus despawning. It can still take damage, but its health will never change. Not even the editor eraser can destroy it.
GroundpoundBreak - If enabled, the NPC can be destroyed by a ground pound. Interestingly, this works somewhat differently, as it will leave no effect when done. Most NPCs can already be destroyed with a ground pound, despite this property being unchecked for them.
MegaBreak - If enabled, the NPC can be destroyed in Mega form. This has a similar situation with GroundpoundBreak.
TurboWeak - If enabled, the NPC will take whatever the shell damage amount is set to if it is rammed into by the player using Turbo F.L.U.D.D.
CanMeltBlock - This will allow the NPC to melt blocks that have the melting property enabled. Just be sure NoBlockCollision is disabled otherwise it won't work.
NoHammer - This text code is finally a reality. This prevents the NPC from being damaged by Hammers, Boomerangs, and Link's sword beam.
NoIceball - This prevents the NPC from being frozen or taking damage from iceballs. More info on how to prevent freezing but allow iceball damage down below.
NoLeaf - Prevents the NPC from taking damage from Raccoon/Tanooki form's tail attack.
NoBlockHit - Prevents the NPC from taking damage if hit by a block from underneath.
NoShell - Prevents the NPC from taking damage from shells and similar objects. Interestingly this also applies to the Blue Baby Yoshi's bubbles.
NoSectionWrap - Makes the NPC ignore section wrapping settings.
NoPiercingDmg - Enables an immunity timer when the NPC takes damage.
Health - The starting amount of health the NPC has.
xDmg - These all will subtract the defined value from the NPC's current health if damaged with their respective properties. Setting one of these to 0 and disabling their immunity to it will still cause the NPC to take damage, but their health won't drop.
FrozenTime - This will determine how long an NPC is frozen for. There's also an option titled "Instant" that prevents it from freezing at all, allowing for iceball damage without freezing it.
YoshiTransform - The NPC will turn into the defined ID if Yoshi eats it and spits it out. Disabling this will prevent Yoshi from eating the enemy at all. Default causes Yoshi to swallow the NPC. There are also a few special IDs that trigger transformations and the like.
FrozenTransform- The NPC will turn into the defined ID if it is frozen.
JumpTransform - Similar to FrozenTransform, the NPC will turn into the defined ID if it is supposed to be destroyed when stomped on.
Brightness - The radius of light the NPC has when the lighting system is enabled.
Darkness - Determines how dark the radius of light is.
Cliffturn - The enabled option was renamed to Enable for Default AI, but still behaves the same. There's also an option to enable it for both default NPCs and NPCs that use scripts.
MiniEnemy - Prevents the NPC from harming the player unless their state is mini.
WingsForever - Allows the NPC to keep their wing settings enabled. This doesn't work if the NPC is hit by a Tail attack or is frozen.
CanPressPSwitch - Allows the NPC to activate both P-Switches and the Dynamite Switch if they land on one.
Pushable - Allows the NPC to be pushed by the player.
Stackable - Prevents the NPC from moving if it is standing upon another NPC that has NPCBlockTop enabled.
HoldGenerator - Allows the NPC to spawn other NPCs.
  • GeneratorID determines the NPC ID that will be spawned.
  • Delay determines how long the generator will wait before spawning an NPC.
  • Speed determines the speed the NPC is spawned at.
  • XOffset and YOffset determine where the NPC will spawn relative to the generating NPC's top left coordinate.
  • Angle determines the angle at which the NPC will be spawned.
  • Branches determines how many instances of the NPC will be spawned.
  • Range will determine how far apart each spawn branch is in a circular manner.
  • AutoFlip will invert the spawn angle if the generating NPC is facing right.
Scripts - This will allow level scripts to be called whenever the NPC is active.
  • NPCScripts is the name of the level script that will be called.
  • ParallelExecution will allow the NPC to attempt its original behavior if checked. If no script name is provided and/or the script doesn't exist, the NPC will attempt its normal behavior when this option is unchecked.

Hopefully this'll help those who are confused about how some of these work.
Join the SMBX 38a Discord Server!
Image

sweep a leaf sweep away a troubles

fnafan8888888888 M
Count
Count
fnafan8888888888 M
Count
Count
Age: 21
Reputation: 34
Posts: 278
Joined: 30 Jun 2019

Post #2by fnafan8888888888 » 24 Mar 2020, 1:32

ForceCheck - Enabling this will force the NPC to interact with NPCs that normally can harm other NPCs (Grinders, explosions, etc.). Enabling the flag but disabling the ForceCheck setting will not reverse the effect if it's enabled by default.
Thanks a lot, I really appreciate your hard work on this, but I don't understand the "ForceCheck" one, how the NPCs will interact with the hurtful NPCs, can you show me an example?

Void
Topic author, Bat
Bat
Avatar
Void
Topic author, Bat
Bat
Age: 22
Reputation: 102
Posts: 279
Joined: 18 Apr 2014
Location: [REDACTED]

Post #3by Void » 24 Mar 2020, 20:30

fnafan8888888888 wrote:
ForceCheck - Enabling this will force the NPC to interact with NPCs that normally can harm other NPCs (Grinders, explosions, etc.). Enabling the flag but disabling the ForceCheck setting will not reverse the effect if it's enabled by default.
Thanks a lot, I really appreciate your hard work on this, but I don't understand the "ForceCheck" one, how the NPCs will interact with the hurtful NPCs, can you show me an example?
Some NPCs can't be harmed by other NPCs like Grinders, primarily ones that aren't enemy NPCs. Checking this box will make the NPC able to take damage from these other NPCS.
Join the SMBX 38a Discord Server!
Image

sweep a leaf sweep away a troubles

fnafan8888888888 M
Count
Count
fnafan8888888888 M
Count
Count
Age: 21
Reputation: 34
Posts: 278
Joined: 30 Jun 2019

Post #4by fnafan8888888888 » 24 Mar 2020, 22:19

Void-the-Bat wrote:
fnafan8888888888 wrote:
ForceCheck - Enabling this will force the NPC to interact with NPCs that normally can harm other NPCs (Grinders, explosions, etc.). Enabling the flag but disabling the ForceCheck setting will not reverse the effect if it's enabled by default.
Thanks a lot, I really appreciate your hard work on this, but I don't understand the "ForceCheck" one, how the NPCs will interact with the hurtful NPCs, can you show me an example?
Some NPCs can't be harmed by other NPCs like Grinders, primarily ones that aren't enemy NPCs. Checking this box will make the NPC able to take damage from these other NPCS.
Ok, thanks.


Return to “Super Mario Bros. X by 38A (SMBX-38A)”

Who is online (over the past 5 minutes)

Users browsing this forum: 5 guests