Skip to content

Info on the Other Tools

szymor edited this page Apr 30, 2023 · 1 revision

Connecting the rooms is a little tricky, because the maps can be randomly generated. In the room editor, use the door menu to make several of the walls doorable (select two points of the wall) -- test the room to show all of the possible doors. Then, your map has to be added to the map list in MAPGEN.SRC (using the ingame text editor)... Just copy and paste one of the lines that looks like this...

fail = fail | SuperPlopRoom("FILE:CAVES001.SRF", AREA_CAVES, -1, FALSE, flags)

...and change the filename to your room name. Recompile and save.

To make the shops have different items, edit the PSHOP.SRC file, and change the item names for the given shop. For example, change ITEM_FISH to ITEM_GREAT_SWORD. The list of item types can be found in DEFINE.TXT... Oh, here... I'll make it easy for 'ya... Very Happy

// General items (0-63)...
#define ITEM_NONE 0
#define ITEM_JUMP 1
#define ITEM_TALK 2
#define ITEM_PRAY 3
#define ITEM_KISS 4
// 5 is unused
#define ITEM_HIDE 6
#define ITEM_TINKER 7
#define ITEM_GONNE 8
#define ITEM_GRONNADE 9
#define ITEM_QUIVER_10 10
#define ITEM_QUIVER_9 11
#define ITEM_QUIVER_8 12
#define ITEM_QUIVER_7 13
#define ITEM_QUIVER_6 14
#define ITEM_QUIVER_5 15
#define ITEM_QUIVER_4 16
#define ITEM_QUIVER_3 17
#define ITEM_QUIVER_2 18
#define ITEM_QUIVER_1 19
#define ITEM_AMMO_10 20
#define ITEM_AMMO_9 21
#define ITEM_AMMO_8 22
#define ITEM_AMMO_7 23
#define ITEM_AMMO_6 24
#define ITEM_AMMO_5 25
#define ITEM_AMMO_4 26
#define ITEM_AMMO_3 27
#define ITEM_AMMO_2 28
#define ITEM_AMMO_1 29
#define ITEM_LETTER 30
#define ITEM_HORN 31
#define ITEM_DOLL 32
#define ITEM_FLAMER 33
#define ITEM_HEAL 34
#define ITEM_MANA 35
#define ITEM_SUPER_HEAL 36
#define ITEM_SUPER_MANA 37
#define ITEM_EXPLOSIVES 38
#define ITEM_FISHING_POLE 39
#define ITEM_BOOK_5 40 // Adventurer's Handbook & Virtue
#define ITEM_BOOK_4 41 // Magic Spells
#define ITEM_BOOK_3 42 // Beastiary
#define ITEM_BOOK_2 43 // Weapons & Armor
#define ITEM_BOOK_1 44 // Rogue
#define ITEM_RING 45
#define ITEM_GOLD_BAR 46
#define ITEM_ONE_UP 47

// Armor items (48-123) (4 variants each)...
#define ITEM_SHIELD 48
#define ITEM_MIRROR_SHIELD 52
#define ITEM_BOW 56
#define ITEM_LONG_BOW 60
#define ITEM_HELM_1 64
#define ITEM_HELM_2 68
#define ITEM_HELM_3 72
#define ITEM_HELM_4 76
#define ITEM_HELM_5 80
#define ITEM_BODY_1 84
#define ITEM_BODY_2 88
#define ITEM_BODY_3 92
#define ITEM_BODY_4 96
#define ITEM_BODY_5 100
#define ITEM_LEGS_1 104
#define ITEM_LEGS_2 108
#define ITEM_LEGS_3 112
#define ITEM_LEGS_4 116
#define ITEM_LEGS_5 120

// Food items (124 - 135)
#define ITEM_FISH 124
#define ITEM_MEAT 125
#define ITEM_MEAT_ROTTEN 126
#define ITEM_PORC 127
#define ITEM_PORC_ROTTEN 128
#define ITEM_FOOD 129
#define ITEM_COOKIE 130
#define ITEM_TRIPE 131
// 132 is Unused
// 133 is Unused
// 134 is Unused
// 135 is Unused

// Weapon items (136-231) (8 variants each)...
#define ITEM_DAGGER 136
#define ITEM_SHORT_SWORD 144
#define ITEM_SWORD 152
#define ITEM_GREAT_SWORD 160
#define ITEM_OBSIDIAN_BLADE 168
#define ITEM_DRAGON_SWORD 176
#define ITEM_HAMMER 184
#define ITEM_PICK_AXE 192
#define ITEM_HATCHET 200
#define ITEM_MACE 208
#define ITEM_BROAD_AXE 216
#define ITEM_WAR_HAMMER 224

// Spell items (232-255)
// Level 1 (10 Int)
#define ITEM_SPELL_MISSILE 232
#define ITEM_SPELL_POISON_CLOUD 233
#define ITEM_SPELL_ANIMATE_DEAD 234
#define ITEM_SPELL_ENTANGLE 235
#define ITEM_SPELL_DISENCHANT 236
#define ITEM_SPELL_KNOCK 237

// Level 2 (20 Int)
#define ITEM_SPELL_FLAME_WALL 238
#define ITEM_SPELL_LIGHTNING_BOLT 239
#define ITEM_SPELL_TELEPORT 240
#define ITEM_SPELL_ENCHANT 241
#define ITEM_SPELL_MAPPING 242
#define ITEM_SPELL_LUCK 243

// Level 3 (30 Int)
#define ITEM_SPELL_FIREBALL 244
#define ITEM_SPELL_ICEBALL 245
#define ITEM_SPELL_LEVITATE 246
#define ITEM_SPELL_PETRIFY 247
#define ITEM_SPELL_PORTAL 248
#define ITEM_SPELL_DEFLECT 249

// Level 4 (40 Int)
#define ITEM_SPELL_FIRESTORM 250
#define ITEM_SPELL_HASTE 251
#define ITEM_SPELL_INVISIBILITY 252
#define ITEM_SPELL_MORPH 253
#define ITEM_SPELL_FLAME_BRAND 254
#define ITEM_SPELL_ICE_BRAND 255

To put in a new shop in the town, go to the Tools Menu. Click File Util. Type TOWN000.SRF and click Room Edit on the right side. In the top left corner, change the drop-down from Vertex to Object Group. You'll notice several colored diamonds in the room if you zoom in. Those are object spawn locations. Click one of 'em and it will tell you what object spawns there...

A shop is comprised of a DDD plop (the actual house looking thing -- HOUSE00.DDD for example), and a particle that handles the actual workings of the shop (PSHOP.RUN). The DDD is White, and the particle is green if that helps. Click on one, then click the Copy Object button. Do it again for the other. You'll now have 2 new objects in the center of the room -- put 'em where you want. In the green object, change the "Misc7 = 2" (or whatever) drop down list to be a number from 0 to 15... That's used by the PSHOP.SRC script to determine which shop type you'll have.


Adding new classes involves tweaking WSPAWN.SRC, which is the little character setup window that appears when you first start the game. The cheat feature shows how to start as a monster...

To change hair styles, look at CPLAYER.SRC.

To add a new item, you'll need a PCX file for the icon and a SRC file for the item script... You'll also need to register it in ITEMREG.SRC... If the item is a weapon, you'll also need a DDD model file.

Clone this wiki locally