-=-=-=-=-=-=-=-=-=-=-=- CHAOS KNIGHTS - THE ORDER OF TAELS'AR -=-=-=-=-=-=-=-=-=-=-

	I wrote this plan to keep some sense in my project, also here i can always
	look what to do if i lose my inspiration.
	
	My goal is to create guild that is interesting, has lot other things to do
	than exping (of course thats the mainthing) and playing as CK isn't just
	"kill monster, loot, dig grave, north, kill monster, use strike, loot.."
	
	Other goal is to create good documents from every function and every file
	i create. So in future some other wizard can tune, repair, recode ect.
	easily and gets the 'hang of it' quickly.
	
	The base-code of CK's is very daemon-oriented. CK_BLADE_D.c handles the
	most things conserning the CK-blades. If you wonder why i just saved
	every blade in its on .o-file? Answer is simple: When usin one big
	daemon i can easily access to the data and easily changed it. Also
	with one daemon and non-save-blades i only need one object with
	heart_beat() set on (if any)
	
	In near future i will also plan spirits to the guild. Main idea of
	of the spirits is that player can bind them in him/herself and
	player possessed with spirit gets bonuses to stats, resistances,
	spells and guild-specials.



/chaos_knights
	* /data 
		+ ck_blade.o
		+ ck_spirit.o
	* /daemons  
		+ ck_blade_d.c
		+ ck_spirit_d.c
		+ ck_battle_d.c
	* /obj
		+ ck_blade.c,
		+ ck_spirit.c


-=-=-=-=-=-=-=-=-=-=-=-=-=-=- CK_BLADE_D.C -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

	- Functions
		+ void reset()
			* contains only restore_object();
		+ void reset_vars()
			* resets all variables execpt ck_blade_data mapping
			
		+ void count_blade_level(string name)
			* Summa summarum from donated blade_points and blade_corpses
			* Affects in blades wc, durability and weight.
			* Func saves the result in ck_blade_data mapping.
			
		/*	
		+ void count_blade_type(string name)
			* This comes from the blade's level.
			* Blade_type affects somehow (not strongly) in blade-specials.
			* There are 16 different type of blades.
			* Func saves the result in ck_blade_data mapping.
		*/
		
		+ void count_blade_quality(string name)
			* Comes from blades alignment and players faith.
			* There are X different types of qualities.
				<> Ie. Chaotic, evil looking, curved, mean looking, wickedly curved.
			* Quality affects heavily in blade-specials.
		
		+ void change_blade_material(string name, string material)
			* Materials affects in damage type blade does with specials.
				<> this damage is always ADDED to the physical damage done.
					-> Ie. If blade does 100 points of physical damage and material gives
					   it 10% cold damage, then blade does 100 points of physical damage
					   AND 10 points of cold damage.
			* Func saves the result in ck_blade_data mapping.
					
		+ void add_blade_points(string name, int i)
		+ void add_blade_corpses(string name, int i)
		+ int query_blade_points(string name)
		+ int query_blade_corpses(string name)
		+ int query_blade_level(string name)
		+ int query_blade_type(string name)	
		+ int query_blade_quality(string name)
		
		+ void create_blade(string name)
			* Clones the base blade. Fetches all information from ck_blade_data mapping 
			  and sets them to blade-ob and finally moves it to player's inventory.
			* Adds created blade to *blade-ob_array.
		
		+ void ck_update_sword(string name)
			* Fetches all information from ck_blade_data mapping and calls
			  player's blade updating all variables.
		
		+ void restore_sword(string owner, object ob)
			* Calls ob and sets correts values fetched from ck_blade_data-mapping.
			
		+ void ck_update_blade(string owner)
			* Fetches all information from ck_blade_data-mapping and sets them
			  to owners blade.			
			
		+ void save_data()
			* Saves all information from all swords.
		
	- Variables
		+ int static blade_points, blade_corpses, blade_level, blade_type, ck_faith;
		+ string static blade_material
		
		+ static object *blades
			* Contains all active blades in game. Daemon uses this array to call the blades.
		
		+ mapping ck_blade_data // only variable in ck_blade_d.c that is saved.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- CK_BLADE.C -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

	
	
	
	- Functions
		+ void start()
			* All settings set with default values.
			* Calls CK_BLADE_D->restore_sword(string owner, object this_object())
		
		+ void init() 
			* Contains only add_action("blade_handling_function","blade")
		
		+ void update_sword()
			
			* calls CK_BLADE_D->count_blade_level()
			* calls CK_BLADE_D->count_blade_type()
			* calls CK_BLADE_D->ck_update_blade(owner)
			
			
			
		+ string blade_handling_function(string str)
			* Switch()-func contains call_outs to all usable functions.
		
		+ string blade_drain(string str)
			* Destructs corpses
			* Adds (corpse-level/5) to blade_points
			* Adds +1 to blade_corpses
			* Calls CK_BLADE_D->add_blade_corpses() and update_sword()
		
		+ status blade_sacrifice(string str)
		
			* Similar to blade_drain() but instead of adding points to player it
			  "donates" them to god increasing players faith.
			  
		+ status blade_donate()
			* Moves blade_points to CK_BLADE_D	
	
	- Variables
		+ int blade_level, blade_points
		+ string blade_owner, blade_type, blade_material
		
-=-=-=-=-=-=-=-=-=-=-=- CK_BATTLE_D.C -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

This daemon handles the special-battle-features of CK's. It contains lots
of moves with different max-damages. The move should always be different
because they are not just "skills", more like moves of opportunity seen by
skill and player's combat-experience.

It also has some finishes. When target has 5% or less hp left. They are
insta-gib moves and should have quite nice descriptions with flash and glamour.
Pity MUDs doesnt support 3dfx.

Special-moves are mainly skill, blade and mastery based. So it doesnt
matter if you have superb stats (of course the stats count too) if
you want to make some cheerful damage. Also it has different attack-moves
for guys who have lots of str and guys who have lots of dex.


evil looking
curved
wickedly curved
sardonic
spleeny
vituperative
malignant
malicious
malevolent
venomous
chaotic

<owner>'s <quality> <material> <type> <<spe-dmg-msg>>

special-damage-messages:
gleaming
burning
sizzling
