
	shadow(3)		MudOS v21c2		(5 Sep 1994)

	名称:
		shadow() - 作为一些物件的一个或多个函式的投影 (shadow).
	语法:
		object shadow( object ob, int flag );

		物件 shadow( 物件 ob, 整数 flag );
	用法:
		如果 flag 是 1, 或是不指定 flag , 则目前的物件将会作为
		ob  的投影. 如果 flag 是 0, 则不是传回 0, 就是传回早已
		作为 ob 投影的物件. 

		valid_shadow()  函式由主宰物件定义. 如果 valid_shadow()
		传回 1, 目标物件就无法投影, shadow()  函式会传回 0  而不
		是 ob.
		
		如果物件 a  作为物件 b  的投影, 则所有对 b  的
		call_other(func)  将会重新导向 (redirect) 到 a. 如果物件
		a 没有定义 func 函式, 则 call_other(func) 会向 b  呼叫
		func (等於没有 a 作为投影). 只有 a  可以用 call_other()
		呼叫 b  的函式. b 无法以 call_other() 呼叫自己. 所有 b
		内部的函式呼叫仅限於 b 自己本身.

		有两个方法可以取消投影. 摧毁作为投影的物件, 或是摧毁被
		投影的物件. 後者被摧毁之後, 作为其投影的物件也会自动销毁.

		利用投影, 可以使一个物件遮盖另一个物件, 而运作时又似乎像
		是没有遮住. shadow()  可以在不更动原始物件程式码的情形下
		, 改变一个物件的行为. 举例来说, shadow()  可以为玩家增加
		一些职业上的特殊能力, 像是贼、战士、魔法师等等的特殊能力.
		这样一来, 可以使玩家的物件不会因为各种职业而变得太复杂.
	参考:
		destruct(3), shadowp(3), query_shadowing(3), valid_shadow(4)
	翻译:
		Spock @ FF	97.Jul.22.		(printed 3/16/95)
