/
roa/
roa/lib/boards/
roa/lib/config/
roa/lib/edits/
roa/lib/help/
roa/lib/misc/
roa/lib/plrobjs/
roa/lib/quests/
roa/lib/socials/
roa/lib/www/
roa/lib/www/LEDSign/
roa/lib/www/LEDSign/fonts/
roa/lib/www/LEDSign/scripts/
roa/src/s_inc/
roa/src/sclient/
roa/src/sclient/binary/
roa/src/sclient/text/
roa/src/util/
/************************************************************************
	Realms of Aurealis 		James Rhone aka Vall of RoA

thief.h					Thief header file.

		******** Heavily modified and expanded ********
		******** 100% Completely Original Code ********
		*** BE AWARE OF ALL RIGHTS AND RESERVATIONS ***
		******** Heavily modified and expanded ********
		******** 100% Completely Original Code ********
		        All rights reserved henceforth. 

    Please note that no guarantees are associated with any code from
Realms of Aurealis.  All code which has been released to the general
public has been done so with an 'as is' pretense.  RoA is based on both
Diku and CircleMUD and ALL licenses from both *MUST* be adhered to as well
as the RoA license.   *** Read, Learn, Understand, Improve ***
*************************************************************************/
#ifndef ROA_THIEF_H
#define ROA_THIEF_H

// trap types (trap structure defined in structures.h)
#define TRT_DART	0
#define TRT_POISON	1
#define TRT_SNARE	2
#define TRT_FIRE	3
#define TRT_LIGHTNING   4

// trap flags, for the bitvector
#define TRF_ARMED	(1 << 0)	// will go off...
#define TRF_DISARMED	(1 << 1)	// will not go off...
#define TRF_REVEALED	(1 << 2)	// visible trap, after detection
#define TRF_ROOMAFFECT	(1 << 3)	// affects all in room
#define TRF_ANTIREMOVE	(1 << 4)	// doubly difficult to disarm without tripping
#define TRF_ANTIDETECT	(1 << 5)	// doubly difficult to detect without tripping
#define TRF_TIMED	(1 << 6)	// will go off in a certain amt of time

// macros...
#define TRAPS(o)		((o)->traps) 
#define TRAPTYPE(t)		((t)->type) 
#define TRAPFLAGS(t)		((t)->bitv)
#define TRAPFLAGGED(t, f)	(IS_SET(TRAPFLAGS((t)), (f)))
#define FLAGTRAP(t, f)		(SET_BIT(TRAPFLAGS(t), (f)))
#define UNFLAGTRAP(t, f)	(REMOVE_BIT(TRAPFLAGS(t), (f)))

// function prototypes...
void traps_to_buf(chdata *ch, char *buf, trap *t);
int triptrap(trap *t, chdata *ch, BOOL area);
void trap_to_dir(trap *t, rmdirdata *r);
void trap_to_obj(trap *t, obdata *o);
void trap_to_room(trap *t, rmdata *r);
trap *trap_from_dir(trap *t, rmdirdata *r);
trap *trap_from_obj(trap *t, obdata *o);
trap *trap_from_room(trap *t, rmdata *r);

#endif // ROA_THIEF_H