Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Local hacks and projects...




This is a list of what we have added and what we plan to add a patch will
soon be sent to Frank but I thought that people might want to know what we
have done so that no parallel work is taking place. 


/*********Cut from lib/LOCAL_DONE************\

Vick:	Created a monster (the blob) with the original ability to
	pick things up. (Which Eneq made more general..se below!)

Vick:	Small fix : Monsters with dam=0 doesn't do any damage any more.

Vick:	When a character dies, all items with positive magic value
	are removed. (Ie good armor, artefacts etc.) This used to
	cause people with character backup:s (*necessary when considering
	all the coredumps..*) having lots of money from selling
	their multiple Stormbringers etc. Not so any more :)

Eneq:	Fixed pickup so it can be used by other objects (new field in arche-
	types PICK_UP <mode>. See global.h for more description. All objects
	that are carried by the monster will enter the map when it is killed.

	Fixed it so that characters can define their own font's to be used
	when displaying their characters. The font must reside in the load
	path (preferably FONTDIR) and is defined through xresources 
	(crossfire*chrfont:	<fontname>). Still flickers though, shall fix
	it when I have some time over.

Eneq:	Fixed flicker, however I do an XLoadFont/XSetFont/XUnloadFont each
	time I draw a character. This will have to be rewritten so that each
	player has a Font-identifier to the appropriate font on each server.
	
	Redid the draw_bw to draw each cell not a row in a time, this made
	it a lot easier for me to do the font-context switch.

	I did not see a good reason to not letting the players define their
	own title through resources. The only reason not to let them is that
	one doesn't have an insight in the other characters profession.
	In spite of this I have let them define their own title.

	Added a new field to the archetype definitions (I have done a lot
	of those lately :-) anim_speed <no> determines how fast the object
	switches face. I added this because I wanted a generator to animate
	rather swiftly but only generate monster slowly and therefore couldn't
	use speed. The <no> determines how many ticks should pass before 
	swapping faces.

Eneq:	Fixed pick_up so that objects are added LAST in an inventory unless
	there is other objects of the same type in which case they are
	added in a cluster. To do this I altered insert_ob_in_ob but I also
	had to alter drop.
	
	Added archetype-fields;
		no_drop		Can't be dropped.
		no_pretext	No "That is"... is added to the output at an
				examine.
		container <no>	Object is a container and can hold max no kg.
		bonus		Variable for diverse uses.

	no_drop and no_pretext is pure, that is code has been added to handle
	them. container and routines to handle containers will be added 
	tomorrow the idea is that the characters inv is replaced by the
	container and then one can drop things on the ground close the 
	container and pick it up. 	
	The closing of a container is triggered by (1) A move. (2) The close
	container gadget is selected (This has no_drop and no_pretext defined)
	this resides always at the top of the containers inventory and is added
	when one applies the container and removed when one closes it.



Vick:	Added two archetype flags: <will_apply> and <random_movement>
	'will_apply' contains information about which objects the
	monster will try to apply. Added a monster, the gnome, to use
	these features. It currently pulls all handles, opens doors and
	tears down earthwalls. In due time, this will be expanded to allow
	monster control of scrolls and wands.
	It also features 'random_movement' which is a semi-random movement 
	type. When set to 1 the monster will move in the vincinity of a 
	player, but not in a determinstic manner. (Ie harder to hit)



Eneq:	Detected a bug that occured when a monster which was killed did a 
	hitback, since it was dead it had been removed/freed and therefore
	triggered a SIGSEG_V. Think I have fixed that problem but the object
	is probably still in the list (or? the problem might be that it is
	later added again to the list in spite of the fact that it shouldn't
	in that case we have removed some of the cases but it should still
	happen once in a while), will look into that again later (if we 
	experience more trouble with it).
	Something is wrong with my alteration of the pick_up code, seems 
	as if one now can leave shops with unpaid things (think I have fixed 
	that but don't know yet). Added container, this has not been finished 
	yet, there are a few things that has to be altered (get_payment for 
	instance).

Mol:    Added a new archetype can_apply <number>.
	At the moment it behaves just like Eneq's pick_up, i.e. it will 
	immediately apply objects it has picked up.  I will modify it to make 
	conditional applicaton of objects possible (i.e. monster reads scroll 
	of large fireball when a player approaches).



********************************

If there is some things here that violates any personal beliefs I don't mind
getting comments.

/Eneq