Control

From TinyMUX
Jump to: navigation, search

Controlling an object basically means that you have the power to change the object's characteristics such as flags and attributes. It may also mean that you have the ability to @destroy it.

Most servers provide a controls() softcode function to test whether one object controls another.

Each mush server has slightly different control semantics.

Server Differences

On PennMUSH, the conditions under which object O controls victim V:

 1. If V is God, O must be God
 2. If V is a Wizard, O must be Wizard or God
 3. If O is a Wizard, O controls V
 4. If V is Royalty, O must be Royalty, Wizard or God
 5. If O is MISTRUST, O must be V to control V
 6. If V and O are owned by the same player:
    6a. If V is not TRUST, O controls V
    6b. If V is TRUST, O must be TRUST or the player must be TRUST
 7. If V is on a zone, and isn't a player and isn't TRUST,
    O controls V if O passes the zone-lock of the zone. This step is
    skipped if the zone_control_zmp_only configuration parameter
    is true.
 8. If V is owned by a SHARED player, and V isn't a player and isn't
    set TRUST, O controls V if O passes the zone-lock of the SHARED
    player.

On TinyMUX, the conditions under which object O controls victim V:

 1. If V is God, O must be God
 2. If O is a Wizard, O controls V.
 3. If O has the Control_All @power, O controls V.
 4. If O has rights via zones, O controls V.
 5. If V and O are owned by the same player:
    <Inherit rules to be included later>.