1 | /* |
1 | /* |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | * |
3 | * |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * Copyright (©) 2003-2005 Mark Wedel & Crossfire Development Team |
5 | * Copyright (©) 2003-2005 Mark Wedel & Crossfire Development Team |
6 | * Copyright (©) 1992 Frank Tore Johansen |
6 | * Copyright (©) 1992 Frank Tore Johansen |
7 | * |
7 | * |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
8 | * Deliantra is free software: you can redistribute it and/or modify it under |
9 | * the terms of the Affero GNU General Public License as published by the |
9 | * the terms of the Affero GNU General Public License as published by the |
… | |
… | |
41 | |
41 | |
42 | #ifdef __NetBSD__ |
42 | #ifdef __NetBSD__ |
43 | # include <sys/param.h> |
43 | # include <sys/param.h> |
44 | #endif |
44 | #endif |
45 | |
45 | |
|
|
46 | #define MAXNUMLEVELS 256 // maximum number of levels possible |
46 | #define MAXLEVEL 115 // for treasure calculations only |
47 | #define MAXLEVEL_TREASURE 115 // for treasure calculations only |
47 | |
48 | |
48 | // maximum length of an object name in the protocol |
49 | // maximum length of an object name in the protocol |
49 | #define NAME_LEN 127 |
50 | #define NAME_LEN 127 |
50 | |
51 | |
51 | #define MAX_STAT 30 /* The maximum legal value of any stat */ |
52 | #define MAX_STAT 30 /* The maximum legal value of any stat */ |
… | |
… | |
109 | #define LOCKED_DOOR 20 |
110 | #define LOCKED_DOOR 20 |
110 | #define SPECIAL_KEY 21 |
111 | #define SPECIAL_KEY 21 |
111 | #define MAP 22 |
112 | #define MAP 22 |
112 | #define DOOR 23 |
113 | #define DOOR 23 |
113 | #define KEY 24 |
114 | #define KEY 24 |
114 | //25 |
115 | #define PHYSICS 25 // deliantra: "things that move" |
115 | #define TIMED_GATE 26 |
116 | #define TIMED_GATE 26 |
116 | #define TRIGGER 27 |
117 | #define TRIGGER 27 |
117 | #define GRIMREAPER 28 |
118 | #define GRIMREAPER 28 |
118 | #define MAGIC_EAR 29 |
119 | #define MAGIC_EAR 29 |
119 | #define TRIGGER_BUTTON 30 |
120 | #define TRIGGER_BUTTON 30 |
… | |
… | |
282 | |
283 | |
283 | /* Subtypes for MATERIAL */ |
284 | /* Subtypes for MATERIAL */ |
284 | #define ST_MAT_FLOOR 1 /* Floor */ |
285 | #define ST_MAT_FLOOR 1 /* Floor */ |
285 | #define ST_MAT_WALL 2 /* Wall */ |
286 | #define ST_MAT_WALL 2 /* Wall */ |
286 | #define ST_MAT_ITEM 3 /* All other items, including doors & such */ |
287 | #define ST_MAT_ITEM 3 /* All other items, including doors & such */ |
|
|
288 | #define ST_MAT_QUAD 4 /* Quad build material */ |
287 | |
289 | |
288 | /* definitions for weapontypes */ |
290 | /* definitions for weapontypes */ |
289 | |
291 | |
290 | #define WEAP_HIT 0 /* the basic */ |
292 | #define WEAP_HIT 0 /* the basic */ |
291 | #define WEAP_SLASH 1 /* slash */ |
293 | #define WEAP_SLASH 1 /* slash */ |
… | |
… | |
381 | #define FLAG_WIZLOOK 4 /* disable los and lighting */ |
383 | #define FLAG_WIZLOOK 4 /* disable los and lighting */ |
382 | #define FLAG_APPLIED 5 /* Object is ready for use by living */ |
384 | #define FLAG_APPLIED 5 /* Object is ready for use by living */ |
383 | #define FLAG_UNPAID 6 /* Object hasn't been paid for yet */ |
385 | #define FLAG_UNPAID 6 /* Object hasn't been paid for yet */ |
384 | #define FLAG_USE_SHIELD 7 /* Can this creature use a shield? */ |
386 | #define FLAG_USE_SHIELD 7 /* Can this creature use a shield? */ |
385 | #define FLAG_NO_PICK 8 /* Object can't be picked up */ |
387 | #define FLAG_NO_PICK 8 /* Object can't be picked up */ |
386 | /*#define FLAG_WALK_ON 9*/ |
388 | #define FLAG_IS_TRANSPARENT_FLOOR 9 // floor shows things on lower z-level(s), CF: walk_on |
387 | /*#define FLAG_NO_PASS 10*//* Nothing can pass (wall() is true) */ |
389 | /*#define FLAG_NO_PASS 10*//* Nothing can pass (wall() is true) */ |
388 | #define FLAG_ANIMATE 11 /* The object looks at archetype for faces */ |
390 | #define FLAG_ANIMATE 11 /* The object looks at archetype for faces */ |
389 | /*#define FLAG_SLOW_MOVE 12*//* Uses the stats.exp/1000 to slow down */ |
391 | /*#define FLAG_SLOW_MOVE 12*//* Uses the stats.exp/1000 to slow down */ |
390 | /*#define FLAG_FLYING 13*//* Not affected by WALK_ON or SLOW_MOVE) */ |
392 | /*#define FLAG_FLYING 13*//* Not affected by WALK_ON or SLOW_MOVE) */ |
391 | #define FLAG_HIDDEN 13 /* hidden monster (not invisible), TODO: used how, what for? TODO: why not saved? */ |
393 | #define FLAG_HIDDEN 13 /* hidden monster (not invisible), TODO: used how, what for? TODO: why not saved? */ |
… | |
… | |
493 | #define FLAG_CONTENT_ON_GEN 108 |
495 | #define FLAG_CONTENT_ON_GEN 108 |
494 | #define FLAG_IS_A_TEMPLATE 109 /* Object has no ingame life until instanciated */ |
496 | #define FLAG_IS_A_TEMPLATE 109 /* Object has no ingame life until instanciated */ |
495 | #define FLAG_IS_BUILDABLE 110 /* Can build on item */ |
497 | #define FLAG_IS_BUILDABLE 110 /* Can build on item */ |
496 | #define FLAG_DESTROY_ON_DEATH 111 /* Object will be destroyed when env dies */ |
498 | #define FLAG_DESTROY_ON_DEATH 111 /* Object will be destroyed when env dies */ |
497 | #define FLAG_NO_MAP_SAVE 112 // item doesn't get saved with map |
499 | #define FLAG_NO_MAP_SAVE 112 // item doesn't get saved with map |
|
|
500 | #define FLAG_IS_QUAD 113 /* This is a destructible and buildable item |
|
|
501 | * (for the quads world for instance) |
498 | |
502 | */ |
|
|
503 | |
|
|
504 | // temporary assignments |
|
|
505 | #define FLAG_PHYSICS_QUEUE 114 // object queued for physics TODO: temporary allocation |
|
|
506 | |
499 | #define NUM_FLAGS 113 /* Should always be equal to the last |
507 | #define NUM_FLAGS 115 /* Should always be equal to the last |
500 | * defined flag + 1. If you change this, |
508 | * defined flag + 1. |
501 | * make sure you update the flag_links |
|
|
502 | * in common/loader.l |
|
|
503 | */ |
509 | */ |
504 | |
510 | |
505 | /* If you add new movement types, you may need to update |
511 | /* If you add new movement types, you may need to update |
506 | * describe_item() so properly describe those types. |
512 | * describe_item() so properly describe those types. |
507 | * change_abil() probably should be updated also. |
513 | * change_abil() probably should be updated also. |