DUKE PLUS

A GAME ENHANCER AND CUSTOMIZER FOR THE EDUKE32 PORT OF DUKE NUKEM 3D


TO INSTALL AND PLAY:



DUKE PLUS VERSION 1.15 FEATURES


Game Fixes


HRP Fixes


Player Movement and abilities

When this feature is on, Duke will automatically grab onto ledges. He can hang, there, move sideways (if the ledge allows), or press JUMP to climb up.

Double tap on a direction key to quickly dodge in that direction. Jump while in mid-dodge to perform a long jump. While touching a wall, jump up and dodge away from it (i.e. if the wall is directly behind you, double-tap forward) to perform a wall jump.


To toggle an optional feature ON or OFF:

Open USERPLUS.CON with a text editor and change the relevant field to YES or NO. Various numbers may also be changed, just like in USER.CON


Visual effects



Map effects


Place a WATERDRIP sprite (tile #660) somewhere in the map. Then, using 'M in 3D mode or F8 in 2D mode in mapster, change the EXTRA tag of the sprite to a value between 1 and 32 (positive values for rain, negative for snow). The greater the magnitude of this value, the greater the density of the rain or snow. The rain or snow will have the palette and transparency level of the WATERDRIP sprite. You should only place one such sprite in the map (you can place other WATERDRIP sprites, but only set the EXTRA on one of them).


USING LADDERS:

In the game, simply walk up to the ladder and press forward while facing the general direction of the ladder to go up. Move backwards to come down. You can also grab on to a ladder by jumping to it. If you are at the top of the ladder, you must move backwards, with your back to the ladder, to get on it. As long as you don't RUN backwards, you should grab on with no problem. Crouching while moving backwards is safe, as is walking, but if you run backwards you will usually miss. Once on the ladder, you can stop any time. But if you turn around too much, you will fall off. If you hold the jump key while on a ladder, you will slide down.


MAKING LADDERS IN MAPSTER:

To make a ladder, you need to place two sprites of tile number 2951 (the letter 'L' in the red font). If these are tagged as ladders, they will become invisible once the game starts.


Set the EXTRA of each sprite to 1, and make sure the pair of sprites has the same hitag.


Place one of the sprites above the other. The higher sprite will be the top of the ladder, the lower sprite the base of the ladder. Make sure that the ladder top is where you want Duke to get off the ladder. That means it must be almost a full Duke height above the ledge, or else Duke will simply fall back down when reaching the top of the ladder. Of course, the graphics you use to represent the ladder do not need to extend above the ledge, only the special sprite defining the ladder top does.


If you want a sound to play while the player is going up and down the ladder, set the lotag of the base ladder sprite to the number of the sound you want played. In the included demo map, the vent crawling sound plays.


The x and y coordinates of the base of the ladder will determine the ladder's actual position (the sprite for the top of the ladder is only referenced for its z coordinate, so technically it doesn't matter where you put it, as long as it is above the base). That means that ladders are strictly up and down affairs and cannot be sloped.


The angle of the base of the ladder will be the angle that the player is supposed to face when using the ladder. So, if the ladder is up against a wall, then point the ladder sprites at the wall.



HUD Display


Bot Allies



BIT

EFFECT

1

AWAKE AT START, NEVER SLEEPS

2

DOUBLE STRENGTH

4

QUADRUPLE STRENGTH

8

MEDIC

16

HAS SHOTGUN

32

HAS CHAINGUN

64

HAS RPG

128

HAS FREEZER

256

UNUSED (FOR NOW)

512

WILL PATROL STARTING POINT


Add together the bits that you want to get the desired effects. For example, a BOTALLY with an EXTRA set to 30 (16 + 8 + 2 ) will be a medic with double strength and a shotgun.



Monsters



Keycards are a special case:

Set XVEL to 60 and the monster will drop a pal 0 ACCESSCARD.

For a pal 21 ACCESSCARD, use an XVEL of 62

For a pal 23 ACCESSCARD, use an XVEL of 63



BIT

EFFECT

1

AWAKE AT START, NEVER SLEEPS

2*

DOUBLE STRENGTH

4*

QUADRUPLE STRENGTH

8**

DOUBLE ATTACK POWER

16

ATTACK VARIATION 1

32

ATTACK VARIATION 2

64

ATTACK VARIATION 3

128***

TELEPORTS

256

BULLET RESISTANCE

512

EXPLOSIVES RESISTANCE

1024

SHRINKER, EXPANDER, LASER IMMUNE

2048

FREEZER IMMUNE

4096****

BACKS AWAY FROM PLAYER

8192*****

DOES NOT WALK OFF LEDGES



*If bits 2 and 4 are both set, then the monster will have x8 normal hit points.

**Doubling attack power will have different effects depending on the monster. On a Sentry Drone, for example, this bit will cause its explosion to do double damage. On other monsters, it will cause the monster to fire two shots instead of one. In some monsters, the monster will fire one shot for double the normal damage. Sharks with double attack power will become killer sharks and will behave differently from normal sharks.

***Generally speaking, the monster will try to teleport behind the player if the player is facing it every now and then.

****The monster will try to keep away from the player if the player is in sight, but it will keep shooting.

*****This makes a good substitute for STAYPUT type monsters – the monster can still walk around but will not walk off ledges. DOT PLACE MONSTERS WITH THIS FLAG ON SPRITE BRIDGES. Also, it does not work on DRONE, OCTABRAIN or COMMANDER.

This is more likely to happen in open spaces. If the monster cannot find a good spot to teleport to, it will not teleport.

Examples: Press 'M on a PIGCOP sprite in mapster and set the EXTRA of a PIGCOP to 10 (2+8), and it will have double hit points and double attack power. A LIZTROOP with an EXTRA of 196 (4+64+128) will have x4 hit points, shoot railgun shots, and be able to teleport.


List of attack variations for the various monsters.


Lizard Trooper

variation 1 - STARPROJ

variation 2 - FIREBALLPROJ

variation 3 - RAILGUN


Enforcer

variation 1 - STARPROJ

variation 2 - FIREBULLET

variation 3 - RAILGUN


Pigcop

variation 1 - STARPROJ

variation 2 - FIREBULLET

variation 3 - RAILGUN (also shoots mortars)


Fat Commander

variation 1 - FIREBALLPROJ

variation 2 - ELECTROPROJ

variation 3 - NOT IMPLEMENTED


Sentry Drone

variation 1 - turret that shoots FIRELASER

variation 2 - turret that shoots SHOTSPARK1

variation 3 - turret that shoots RPG


Protector Drone (Alien)

variation 1 - FIREBALLPROJ

variation 2 - ELECTROPROJ

variation 3 - GROWSPARK (expander)


Turret

variation 1 - SHOTSPARK1 (bullets)

variation 2 - RPG (rockets)

variation 3 - RAILGUN


Octabrain

variation 1 - ELECTROPROJ

variation 2 - SHRINKER

variation 3 - FIREBALLPROJ


Battlelord

variation 1 - STARPROJ

variation 2 - FIREBULLET

variation 3 - RAILGUN


Cycloid Emperor

variation 1 - FIREBALLPROJ, and special FIRELASER (for secondary attack)

variation 2 - NOT IMPLEMENTED

variation 3 - NOT IMPLEMENTED


Overlord

variation 1 - FIREBALLPROJ

variation 2 - ELECTROPROJ

variation 3 - NOT IMPLEMENTED


Alien Queen

variation 0 - ELECTROPROJ (for pals other than 0)

variation 1 - GROWSPARK (expander)

variation 2 - NOT IMPLEMENTED

variation 3 - NOT IMPLEMENTED


Tank

variation 1 - STARPROJ, FIREBULLET

variation 2 - NOT IMPLEMENTED

variation 3 - NOT IMPLEMENTED


RECONDP

variation 1 – STARPROJ replaces machine gun

variation 2 – FIREBALLPROJ replaces mortar

note that these variations can be used together (add flags)


New projectile descriptions:


FIREBULLET -- A fast moving projectile with a red smoke puff trail. Bounces off walls.

STARPROJ -- Resembles a shooting star, breaks up into shrapnel on impact.

ELECTROPROJ -- An electrical ball that spawns lightning bolts on impact.

FIREBALLPROJ -- A slow moving fireball that tracks the player, can be shot out of the air with hitscan weapons.

RAILGUN -- A railgun shot. (It's "weak" because a stronger one will be available for the player later).




THANKS TO:

James Stanfield, for much of the footstep sound code

Hunter_Rus, for some of the HRP fixes


12-07-07

Dan Gaskill (a.k.a. “DeeperThought”)