<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.eduke32.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TheMechanic</id>
	<title>EDukeWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eduke32.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TheMechanic"/>
	<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/wiki/Special:Contributions/TheMechanic"/>
	<updated>2026-04-19T03:38:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0-alpha</generator>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Category:Editing_Ending_the_Level&amp;diff=12308</id>
		<title>Category:Editing Ending the Level</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Category:Editing_Ending_the_Level&amp;diff=12308"/>
		<updated>2016-02-01T15:07:59Z</updated>

		<summary type="html">&lt;p&gt;TheMechanic: /* Nuke Buttons */ Added note that button shold not be set as blocking, changed to make default lotag 65535 as that is what original game uses.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Build Intro}}&lt;br /&gt;
&amp;lt;strong&amp;gt;NOTE: Much of information on this page is from around 1999.  Some may be outdated, and some may be incorrect -- this page exists to get you started with the Level Editing and may not currently cover some of the additional features available in Mapster32.&amp;lt;/strong&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Nuke Buttons==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Map Name: NONE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Nuke Button sprite (#142) is the sprite that you hit to end the current level.  Simply place it on a wall and give it a lotag value of 65535. To link a Nuke Button sprite to a secret level, change the palette value of the sprite to 14, and change the lotag value to the level number you want to go to next (if the secret level is level number 9, you would make the lotag value equal to 9).&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: Make sure the button does &#039;&#039;&#039;not&#039;&#039;&#039; have it&#039;s blocking flag set as this can make it difficult or impossible to operate.&lt;br /&gt;
&lt;br /&gt;
NOTE: Nuke buttons can also use lotag values such as 32767 and 65534 to end the current level.&lt;br /&gt;
&lt;br /&gt;
==Ending Sectors==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Map Name: NONE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This allows the player to end a level by walking onto a sector (you don&#039;t have to press the Nuke Button).  Simply give the sector you want the player to end the level on a sector lotag value of 65535 (by pressing [T] on the sector in 2D mode).&lt;br /&gt;
&lt;br /&gt;
==Ending Sectors with Messages==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Map Name: NONE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Remember in Episode 1, Level 2 where Duke gets trapped by the aliens and the message &amp;quot;We&#039;re gonna fry your ass, Nukem!&amp;quot; appears?  To create the same effect in your level, simply give the ending sector a lotag value of 65534.  The same message as above ([[quote]] 102) will appear on screen.&lt;br /&gt;
&lt;br /&gt;
Also, give the sector a hitag value of the sound number that you wish to play (when the player walks on this sector).&lt;br /&gt;
&lt;br /&gt;
==Switch Operated End of Level Sector==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Map Name: NONE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
At times you may want to use a End of Level sector, but only enable it when a specific event or switch had been activated.&lt;br /&gt;
&lt;br /&gt;
*Step 1: Give the Level End sector a lotag of 65535 (65534)&lt;br /&gt;
*Step 2: Place an [[Activatorlocked|ActivatorLocked]] Sprite in this sector and give it an unique lotag&lt;br /&gt;
*Step 3: Place a [[Touchplate]] in the player&#039;s start sector, or any sector the player has to travel into. Give it a hitag of 1 and the same unique lotag as in step 2. (This will deactivate the End Of Level sector)&lt;br /&gt;
*Step 4: Place any type of Switch somewhere in the level and give it the same lotag as in Step 2. (This will re-activate the End Of Level sector)&lt;br /&gt;
&lt;br /&gt;
::Note 1: On start-up, the Level End Sector is active. When the player travel in this sector the level will end. This is why step 3 is required.&lt;br /&gt;
::Note 2: The idea stems from &#039;empy&#039;&lt;/div&gt;</summary>
		<author><name>TheMechanic</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Lotag&amp;diff=12307</id>
		<title>Lotag</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Lotag&amp;diff=12307"/>
		<updated>2016-02-01T10:55:47Z</updated>

		<summary type="html">&lt;p&gt;TheMechanic: Added note about sector lotag bit 14&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;lotag is used in the following structures:&lt;br /&gt;
&lt;br /&gt;
[[sprite]] struct; the sprite&#039;s current lotag.&lt;br /&gt;
*Actor sprites use lotags to specify what skill the sprite should appear on:&lt;br /&gt;
**0 &amp;quot;No Monsters&amp;quot; and above&lt;br /&gt;
**1 &amp;quot;Piece of Cake&amp;quot; and above&lt;br /&gt;
**2 &amp;quot;Let&#039;s Rock&amp;quot; and above&lt;br /&gt;
**3 &amp;quot;Come Get Some&amp;quot; and above&lt;br /&gt;
**4 &amp;quot;Damn, I&#039;m Good&amp;quot; only&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[[Sector_effector]]s use the lotag to define their function&lt;br /&gt;
*See also: [[Sector_Effector_Reference_Guide]]&lt;br /&gt;
&lt;br /&gt;
[[Members of the wall structure|wall]] struct;&lt;br /&gt;
*On a forcefield, the wall&#039;s lotag specifies which switch can turn it off&lt;br /&gt;
*Walls can be assigned a lotag for other special behavior (e.g., to play the &amp;quot;Damn I&#039;m good&amp;quot; sound cue when the player presses use on a mirror)&lt;br /&gt;
*See also [[:Category:Editing_Walls_and_Wall_Effects]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Members of the sector structure|sector]] struct;&lt;br /&gt;
*Sectors use their lotags for many actions and effects&lt;br /&gt;
*If a sector contains an [[Activatorlocked]] then during the game bit 14 of the sector lotag is used to lock the sector.&lt;br /&gt;
*See also: [[Sector_Tag_Reference_Guide]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sector structure members]]&lt;br /&gt;
[[Category:Sprite structure members]]&lt;br /&gt;
[[Category:Wall structure members]]&lt;/div&gt;</summary>
		<author><name>TheMechanic</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Statnum&amp;diff=12302</id>
		<title>Statnum</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Statnum&amp;diff=12302"/>
		<updated>2016-01-31T18:47:36Z</updated>

		<summary type="html">&lt;p&gt;TheMechanic: Added reference to changespritestat, also highlighted writing statnum 1024 is NOT the way to kill an object.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Statnums are used by the game internally to see whether something is an actor, player, projectile, etc, and then process it appropriately.&lt;br /&gt;
&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Name!!Number!!Description!!&lt;br /&gt;
|-&lt;br /&gt;
|STAT_DEFAULT&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|Sprites that are not defined by the CON code as actors, and are not projectiles, etc, have a statnum of 0. (i.e. the floor texture sprites used to make up a sprite bridge)&lt;br /&gt;
|-&lt;br /&gt;
|STAT_ACTOR&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|Actors. Sprites with a statnum of 1 will execute the actor code that applies to their tile number in the CON scripts.&lt;br /&gt;
|-&lt;br /&gt;
|STAT_ZOMBIEACTOR&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
|Sleepers. Sprites taking a break from code execution (e.g. a Pig Cop that has been left alone for long enough will revert to statnum 2, only waking up and going back to statnum 1 upon seeing the player again)&lt;br /&gt;
|-&lt;br /&gt;
|STAT_EFFECTOR&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;3&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STAT_PROJECTILE&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
|Projectiles. This includes hardcoded projectiles like RPG, FREEZEBLAST, and SHRINKSPARK, as well as [[defineprojectile|custom projectiles]].  It does not include hitscan projectiles (bullets), since those are not sprites that exist in the game world. (SHOTSPARK1, the sprite spawned by bullets, is not itself a projectile.)&lt;br /&gt;
|-&lt;br /&gt;
|STAT_MISC&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;5&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STAT_STANDABLE&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;6&#039;&#039;&#039;&lt;br /&gt;
|On spawn, the following sprites have statnum 6: BOLT1+, SIDEBOLT1+, VIEWSCREEN, VIEWSCREEN2, CRANE, TRASH, WATERDRIP, WATERDRIPSPLASH, PLUG, WATERBUBBLEMAKER, MASTERSWITCH, DOORSHOCK, TREE1, TREE2, TIRE, CONE, BOX, FLOORFLAME, CEILINGSTEAM, OOZFILTER, CRACK1-CRACK4, FIREEXT, TOILETWATER.&lt;br /&gt;
&lt;br /&gt;
A few other ones become STANDABLE on seeing the player (changing from ZOMBIEACTOR): RUBBERCAN, EXPLODINGBARREL, WOODENHORSE, HORSEONSIDE, CANWITHSOMETHING, CANWITHSOMETHING2-4, FIREBARREL, FIREVASE, NUKEBARREL, NUKEBARRELDENTED, NUKEBARRELLEAKED, TRIPBOMB.&lt;br /&gt;
|-&lt;br /&gt;
|STAT_LOCATOR&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;7&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STAT_ACTIVATOR&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STAT_TRANSPORT&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;9&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STAT_PLAYER&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;10&#039;&#039;&#039;&lt;br /&gt;
|Player and Holoduke&lt;br /&gt;
|-&lt;br /&gt;
|STAT_FX&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;11&#039;&#039;&#039;&lt;br /&gt;
|RESPAWN, MUSICANDSFX&lt;br /&gt;
|-&lt;br /&gt;
|STAT_FALLER&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;12&#039;&#039;&#039;&lt;br /&gt;
|Decorative sprites that have a nonzero hitag to make them destructible are assigned to the FALLER statnum.&lt;br /&gt;
|-&lt;br /&gt;
|STAT_DUMMYPLAYER&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;13&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|STAT_LIGHT&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;14&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|TSPR_TEMP&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;99&#039;&#039;&#039;&lt;br /&gt;
|A [[Members of the tsprite structure|tspr]] will have this when it is a shadow cast by an actor.&lt;br /&gt;
|-&lt;br /&gt;
|STAT_MIRROREDACTOR&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;100&#039;&#039;&#039;&lt;br /&gt;
|A [[Members of the tsprite structure|tspr]] will have this when it is part of a mirror reflection.&lt;br /&gt;
|-&lt;br /&gt;
|MAXSTATUS&lt;br /&gt;
|align=&amp;quot;right&amp;quot;|&#039;&#039;&#039;1024&#039;&#039;&#039;&lt;br /&gt;
|A sprite id with this statnum is invalid, meaning that it has been deleted or just never existed in the map. Do NOT try to destroy a sprite by setting this value on it, instead use the [[killit]] command or else try setting the sprite&#039;s [[xrepeat]] to zero.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When changing a sprite&#039;s statnum you should use the [[changespritestat]] command so that Eduke32 can update it&#039;s linked list(s) of statnums.&lt;br /&gt;
&lt;br /&gt;
Unassigned status numbers are reserved for future EDuke32 features. Please ask the developers to allocate an official user statnum range for CON-side features, should this be desired.&lt;br /&gt;
&lt;br /&gt;
[[Category:Sprite structure members]]&lt;/div&gt;</summary>
		<author><name>TheMechanic</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_WORLD&amp;diff=12300</id>
		<title>EVENT WORLD</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_WORLD&amp;diff=12300"/>
		<updated>2016-01-31T18:05:22Z</updated>

		<summary type="html">&lt;p&gt;TheMechanic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_WORLD is a [[EDuke32_event_list|Game Event]].&lt;br /&gt;
&lt;br /&gt;
This event is triggered once per &#039;tic&#039;, prior to calling [[EVENT_GAME]] on each actor.&lt;/div&gt;</summary>
		<author><name>TheMechanic</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=EVENT_WORLD&amp;diff=12299</id>
		<title>EVENT WORLD</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=EVENT_WORLD&amp;diff=12299"/>
		<updated>2016-01-31T18:04:58Z</updated>

		<summary type="html">&lt;p&gt;TheMechanic: Initial page creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EVENT_WORLD is a [[EDuke32_event_list|Game Event]]..&lt;br /&gt;
&lt;br /&gt;
This event is triggered once per &#039;tic&#039;, prior to calling calling [[EVENT_GAME]] on each actor.&lt;/div&gt;</summary>
		<author><name>TheMechanic</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Talk:Htflags&amp;diff=12298</id>
		<title>Talk:Htflags</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Talk:Htflags&amp;diff=12298"/>
		<updated>2016-01-31T17:50:25Z</updated>

		<summary type="html">&lt;p&gt;TheMechanic: Created page with &amp;quot;Need confirmation if only flags with a &amp;quot;Provided CON Label&amp;quot; can be modified per actor within actor and event code?&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Need confirmation if only flags with a &amp;quot;Provided CON Label&amp;quot; can be modified per actor within actor and event code?&lt;/div&gt;</summary>
		<author><name>TheMechanic</name></author>
	</entry>
	<entry>
		<id>https://wiki.eduke32.com/w/index.php?title=Htflags&amp;diff=12297</id>
		<title>Htflags</title>
		<link rel="alternate" type="text/html" href="https://wiki.eduke32.com/w/index.php?title=Htflags&amp;diff=12297"/>
		<updated>2016-01-31T17:46:08Z</updated>

		<summary type="html">&lt;p&gt;TheMechanic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A per-actor property, this controls special flags for sprites.&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Internal Name!!Provided CON Label!!Value!!Description&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_SHADOW||SFLAG_SHADOW||1||Generates a shadow. See [[spriteshadow]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NVG||SFLAG_NVG||2||Turns [[spritepal|palette]] 6 whenever night vision goggles are used. See [[spritenvg]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOSHADE||SFLAG_NOSHADE||4||The sprite&#039;s shade is unaffected by the shade of its sector. See [[spritenoshade]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_PROJECTILE||||8||Has been defined with [[defineprojectile]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_DECAL||||16||Prevents teleporting. The sprite is not entered into the [[decal deletion queue]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_BADGUY||SFLAG_BADGUY||32||Is an enemy. See [[useractor]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOPAL||SFLAG_NOPAL||64||Sprite will be insusceptible to floor palette of sector containing this sprite. See [[spritenopal]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOEVENTCODE||SFLAG_NOEVENTS||128||Sprite will not be run through [[EVENT_GAME]] or [[EVENT_PREGAME]].&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOLIGHT||SFLAG_NOLIGHT||256||Sprite will not emit hardcoded Polymer-based lights.&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_USEACTIVATOR||SFLAG_USEACTIVATOR||512||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;SFLAG_NULL&amp;lt;/font&amp;gt;||||&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;1024&amp;lt;/font&amp;gt;||&amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;null sprite in multiplayer [internal, do not use]&amp;lt;/font&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOCLIP||SFLAG_NOCLIP||2048||Sprite will call &amp;quot;[[clipmove]]()&amp;quot; with a [[clipmask]] of 0, skipping collision detection with other sprites to increase performance. (Specifically, to prevent runtime behavior that is quadratic with the number of sprites.) Useful for particle effects.&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOFLOORSHADOW||||4096||&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_SMOOTHMOVE||SFLAG_SMOOTHMOVE||8192||&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOTELEPORT||SFLAG_NOTELEPORT||16384||&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_BADGUYSTAYPUT||||32768||Actor will stay inside its original sector.&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_CACHE||||65536||&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_ROTFIXED||||131072||rotation-fixed with respect to a pivot point to prevent position diverging due to roundoff error accumulation&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_HARDCODED_BADGUY||||262144&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_DIDNOSE7WATER||||524288||used temporarily&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NODAMAGEPUSH||SFLAG_NODAMAGEPUSH||1048576||Actor should not be pushed back when damaged (by default TANK, RECON, ROTATEGUN, and the bosses)&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_NOWATERDIP||SFLAG_NOWATERDIP||2097152||Actor will not appear to sink into the floor in sectors tagged Above Water (lotag 1)&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_HURTSPAWNBLOOD||||4194304||Actor will spawn blood as hardcoded enemies do when hurt&lt;br /&gt;
|-&lt;br /&gt;
|SFLAG_GREENSLIMEFOOD||||8388608||Actor can be eaten by GREENSLIME actor (Protozoid Slimer). Can only be set outside of actor and event code whereupon it is applied to all sprites of the same picnum e.g. &amp;quot;spriteflags NEWBEASTHANG 8388608&amp;quot; will make all NEWBEASTHANG in the entire game into greenslime fodder.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;htflags&#039;&#039;&#039; is a [[bitfield]], so add together the values you want and then set htflags to the sum.&amp;lt;br/&amp;gt;&lt;br /&gt;
This member can also be set using the per-sprite form of the [[spriteflags]] command.&lt;br /&gt;
&lt;br /&gt;
[[Category:Bitfields]]&lt;br /&gt;
[[Category:Sprite manipulation]]&lt;/div&gt;</summary>
		<author><name>TheMechanic</name></author>
	</entry>
</feed>