1. shadow(3) LP MudOSv21c7 (7 Jul 1996)
    2. 函数名称:
    3. shadow() - 作为一些物件的一个或多个函式的投影 (shadow).
    4. 函数语法:
    5. object shadow( object ob, int flag );
    6. 物件 shadow( 物件 ob, 整数 flag );
    7. 函数用法:
    8. 如果 flag 1, 或是不指定 flag , 则目前的物件将会作为
    9. ob 的投影. 如果 flag 0, 则不是传回 0, 就是传回早已
    10. 作为 ob 投影的物件.
    11. valid_shadow() 函式由主宰物件定义. 如果 valid_shadow()
    12. 传回 1, 目标物件就无法投影, shadow() 函式会传回 0 而不
    13. ob.
    14. 如果物件 a 作为物件 b 的投影, 则所有对 b
    15. call_other(func) 将会重新导向 (redirect) a. 如果物件
    16. a 没有定义 func 函式, call_other(func) 会向 b 呼叫
    17. func (等於没有 a 作为投影). 只有 a 可以用 call_other()
    18. 呼叫 b 的函式. b 无法以 call_other() 呼叫自己. 所有 b
    19. 内部的函式呼叫仅限於 b 自己本身.
    20. 有两个方法可以取消投影. 摧毁作为投影的物件, 或是摧毁被
    21. 投影的物件. 後者被摧毁之後, 作为其投影的物件也会自动销毁.
    22. 利用投影, 可以使一个物件遮盖另一个物件, 而运作时又似乎像
    23. 是没有遮住. shadow() 可以在不更动原始物件程式码的情形下
    24. , 改变一个物件的行为. 举例来说, shadow() 可以为玩家增加
    25. 一些职业上的特殊能力, 像是贼、战士、魔法师等等的特殊能力.
    26. 这样一来, 可以使玩家的物件不会因为各种职业而变得太复杂.
    27. 参考函数:
    28. destruct(3), shadowp(3), query_shadowing(3), valid_shadow(4)
    29. 手册翻译:
    30. Phoebus@ZH 97.Jul.22. (Writen 5/23/97)