N

From OHRRPGCE-Wiki
Jump to navigation Jump to search

NPC Definitions

For map ID numbers 0 to 99 the filename will be ohrrpgce.n<map_id>

For map ID numbers 100 and higher, the filename will be <map_id>.n

For the global NPC pool, the filename will be globalnpcs1.n

This lump has a 7 byte header which contains garbage (but previously held a BSAVE Header).

  • In versions werewaffle and older, this lump is 36 records of 30 bytes (15 INTs) each, followed by 1920 unused bytes, 3007 bytes in total.
  • starting with version xocolatl, this lump is 100 records of 30 bytes (15 INTs) each, 3007 bytes in total.
  • starting with version zenzizenzic, the length of the records are stored in BINSIZE.BIN, and the number of records is variable (check the file length, subtract 7, and divide by record length), up to a maximum of 500 records.
  • starting with version dwimmercrafty, there is no maximum number of npc definitions

Formal Specs[edit]

About Formal Specs

Offset Data Meaning
0 INT Picture
1 INT Palette, or -1 for default
2 INT Move type
3 INT Speed setting (Not actual speed!)
4 INT Display textbox # (0 for none - you can't display box 0)
5 INT When activated action
6 INT Give item # + 1 (0 means none)
7 INT Pushability
8 INT Activation
9 INT Appear only if tag (-2 = tag 2 is off? ,2 = tag 2 is on?, 0=n/a)
10 INT Second appearance tag (see 9)
11 INT Usable.. 0 if repeatably or onetime bit number >= 1
12 INT Plotscript Trigger
13 INT Script argument
14 INT Vehicle # + 1 (0 means none)
15 INT (Default) Zone restriction. Zone ID 1-9999, 0 for the map default, -1 for none.
16 INT (Default) Avoidance zone. Zone ID 1-9999, 0 for the map default, -1 for none.
17 INT Ignore passmap. 0 or 1.
18 INT NPC pathfinding obstruction rules.

0=Use map default
1=Treat obstructing NPCs as walls
2=Treat obstructing NPCs as passable
3=Treat non-moving obstructing NPCs as high-cost terrain (This incomplete feature is not in nightlies)

Move type[edit]

Value Meaning
0 Stand Still
1 Wander
2 Pace
3 Right Turns
4 Left Turns
5 Random Turns
6 Chase Player (Meandering)
7 Avoid Player (Meandering)
8 Walk in place
9 Chase Player (Direct)
10 Avoid Player (Direct)
11 Follow Walls (Right)
12 Follow Walls (Left)
13 Follow Walls (Right) Stop for others
14 Follow Walls (Left) Stop for others
15 Chase Player (Pathfinding)

Speed Setting[edit]

Value Real Speed
0 0
1 1
2 2
3 10
4 4
5 5

When activated[edit]

Value Meaning
0 Change direction
1 Face player
2 Don't face player (?)

Pushability[edit]

Value Meaning
0 Off
1 Full
2 Horiz.
3 Vert.
4 Up only
5 Right only
6 Down only
7 Left only

Activation[edit]

Value Meaning
0 Use
1 Touch
2 Step on

References to other lumps[edit]

Field Indicating record in lump:
Picture PT4
Palette PAL
Display textbox SAY
Script Trigger LOOKUP1.BIN
Vehicle # VEH