
	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)
