From the NannyMUD documentation

LAST CHANGE

2000-12-11

CONCEPT


NAME

        feelings - The general concept of feelings in NannyMUD.

DESCRIPTION

	A feeling is a way of expressing yourself to other players.
	Normally you shouldn't make objects that contain feelings
	because they should be handled by the soul. There is a soul
	on every player object and you can add, remove and modify
	the available verbs and adverbs for the player by calling
	functions in the soul.

	There is also a soul daemon, 'sould', in which you should
	place feelings from for example guilds and clubs. The player
	soul communicates with the soul daemon through tags. If a
	player soul has a certain tag, then all the feelings in the
	soul daemon associated with that tag are available to the
	player.

	There are three properties that affects the soul feeling system:
	visible_feelings - No one will ever see 'Someone' in this room.
	(room)

	night_vision     - You will see the true names of persons in a
	(living)	   dark room.

	see_invisible    - You will see the true names of invisible
	(living)	   persons (Wizards don't need this).
When you make feelings you should try to make them as simple and flexible as possible. Study the types of verb formats and choose the one suitable for your feeling. The less you have to type, the better. The examples below show what to do and what not to do.

NOTE

	The feelings you add to the player soul will only stay there
	for the duration of its existance. Therefore you will normally
	have to patch the player soul every time the player logs on.
	The easiest way to do that is to use an autoloading object.
	To lower the strain at login, please use a short call_out if
	you add a lot of data.

NOTE

	The feelings you add to the soul daemon will stay until the 
	next reboot.

EXAMPLE

	(1) Use $$ or $$$ instead of DEUX when possible.

	DO    : ([ "cry" : ({SIMP,0," cr$$$ \nHOW"}) ])
	DON'T : ([ "cry" : ({DEUX,0," cry \nHOW", " cries \nHOW"}) ])

EXAMPLE

	(2) Use " \nAT" instead of PERS when possible.

	DO    : ([ "applaud" : ({SHRT,({0,0,0,""})," \nAT"}) ])
	DON'T : ([ "applaud" : ({PERS,0," applaud$ \nHOW",
					" applaud$ \nWHO \nHOW"}) ])

EXAMPLE

	(3) Use SHRT instead of SIMP when possible

	DO    : ([ "applaud" : ({SHRT,({0,0,0,""})," \nAT"}) ])
	DON'T : ([ "applaud" : ({SIMP,({0,0,0,""})," applaud$ \nAT \nHOW"}) ])

EXAMPLE

	(4) Use prepositions (or " \nAT") when possible.

	DO    : ([ "bounce" : ({SHRT,({0,0,0,
			      	({"on","around","over","into","with"})}),
				" \nAT"});
	DON'T : ([ "bounce" : ({PERS,0," bounce$ \nHOW",
				       " bounce$ on \nWHO \nHOW"}) ])

EXAMPLE

	(5) Use DEFA, PREV, SHRT and PHYS if the feeling starts with the verb.

	DO    : ([ "argh" : ({DEFA,({0,0,0,"at"})}) ])
	DON'T : ([ "argh" : ({SIMP,({0,0,0,"at"}), " argh$ \nHOW \nAT"}) ])

EXAMPLE

	(6) "\n" should never be used.

	The soul will remove it unless it's part of a string modifier.