Bewegung von Objekten - /sys/moving.h

Stand vom 01.05.2003.
Aktuelle Informationen auch hier.

----------

Es sind folgende move-Methoden definiert.
#ifndef __MOVING_H__
#define __MOVING_H__

// Methods to move objects
#define M_GO              1  // Living geht
#define M_TPORT           2  // Living teleportiert
#define M_NOCHECK         4  // einfaches Moven, ohne Checks
#define M_GET             8  // obj geht von Nonliving zu Living
#define M_PUT            16  // obj geht von Living zu Nonliving
#define M_GIVE           32  // obj geht von Living zu Living
#define M_DROP           64  // obj geht von Living ins Environment
#define M_SILENT        128  // obj soll ohne meldung ausgezogen werden
#define M_NO_ATTACK     256  // Kein Begruessungsschlag
#define M_NO_SHOW       512  // Zeige nicht die Room-Descr beim ankommen

// Hier folgt noch was fuer die Unit
#define M_MOVE_ALL     1024  // bewegt ein komlettes Unitobjekt
#define M_FORCE_SPLIT  2048  // bewegt Teile davon
#define M_NO_JOIN      4096  // Verhindert das automatische Vereinigen

// Nur fuer Lebewesen
#define M_MY_MSG       8192  // Verhindert Wirkung von P_MSG_FORCE


// Moven ohne Event
#define M_NOEVENT     16384  // Verwendung mit einem Erzmagier absprechen

// Returnwerte fuer erfolgreiches move
#define MOVE_OK         1
#define MOVE_OK_SILENT  2

// Errors when moving things
#define ME_PLAYER             -1 // Spieler kann man nicht tragen/nehmen
#define ME_TOO_HEAVY          -2 // Das Ziel kann mich nicht mehr tragen (I)
#define ME_CANT_TPORT_IN      -3 // Ins Ziel darf man nicht teleporten
#define ME_CANT_TPORT_OUT     -4 // Hier darf man nicht raus teleporten
#define ME_CANT_BE_DROPPED    -5 // Ich darf nicht abgelegt werden
#define ME_CANT_BE_TAKEN      -6 // Ich darf nicht genommen werden
#define ME_CANT_BE_INSERTED   -7 // Behaelter hindert mich am 'betreten'
#define ME_TOO_BULKY          -8 // Das Ziel kann mich nicht mehr tragen (II)
#define ME_WORN               -9 // Ich werde noch getragen
#define ME_WIELDED           -10 // Ich bin noch gezueckt
#define MOVE_EVENT_CANCELLED -11 // Wie der Name schon sagt (Ursache unklar)

#define NO_TPORT      1
#define NO_TPORT_IN   2
#define NO_TPORT_OUT  4

// Ablehnreaktionen von NPCs
#define REJECT_DROP   "reject_drop"
#define REJECT_GIVE   "reject_give"
#define REJECT_KEEP   "reject_keep"

// Move-Events
#define ET_GO         "et_go"
#define ET_TPORT      "et_tport"
#define ET_GET        "et_get"
#define ET_PUT        "et_put"
#define ET_GIVE       "et_give"
#define ET_DROP       "et_drop"

// Move-Event Defines
#define E_MOVE_OBJ    "e_move_obj"
#define E_MOVE_SOURCE "e_move_source"
#define E_MOVE_DEST   "e_move_dest"
#define E_MOVE_METHOD "e_move_method"
#define E_MOVE_DIR    "e_move_dir"
#define E_MOVE_MSGS   "e_move_msgs"
#define E_MOVE_RVALUE "e_move_rvalue"

// OBSOLETE
#define E_MOVE_MSGDIR "e_move_msgdir"
#define E_MOVE_MSGLIV "e_move_msgliv"
#define E_MOVE_MSGOUT "e_move_msgout"
#define E_MOVE_MSGIN  "e_move_msgin"

#endif

Start » Magierhandbuch » Docu » System Makros » Bewegung
Valid HTML 4.01!