Dokumentation zu: armour(STD)

HR Image


STANDARDOBJEKT FUER RUESTUNGEN

        ueberarbeitet von Yantro am 07.05.1996
        ergaenzt von Mohammed am 12.09.1996
        ueberarbeitet von Sunrise am 17.08.2002
        ueberarbeitet von Fuchur am 5.7.2003

BENUTZUNG
        inherit "std/armour";

        #include <combat.h>
        #include <properties.h>

BESCHREIBUNG
        Basisklasse fuer alle Ruestungen im Spiel. Sie ist von /std/thing
        abgeleitet und enthaelt alle zusaetzliche Funktionalitaeten
        fuer den Kampf.

PROPERTIES:

        P_AC
          Ruestungsklasse der Ruestung, bestimmt den Schutz, den
          eine Ruestung bietet. Hierbei sind bei der P_AC die
          Grenzen einzuhalten, die in der Hilfe zu waffen_ruestungen
          festgelegt sind.

        P_ARMOUR_TYPE
          Ruestungstyp der Ruestung. Momentan gibt es folgende
          Typen (definiert in /sys/combat.h):
          AT_ARMOUR, AT_HELMET, AT_AMULET, AT_RING, AT_GLOVE,
          AT_CLOAK, AT_BOOT, AT_SHIELD, AT_TROUSERS, AT_GLASSES, AT_MISC,
          AT_GIRDLE, AT_TIARA.

        P_NR_HANDS
          Ist nur bei Schilden interessant. Standardmaessig ist jeder
          Schild einhaendig. Durch setzen der Propertie kann man auch
          zweihaendige Schilde schaffen. Dabei ist die Logik jedoch
          nicht aus den Augen zu verlieren!

        P_DAM_TYPE
          Besitzt die Ruestung eine ArmourHitFunc() kann hierin festgelegt
          werden, was die Ruestung beim Angreifen fuer einen Schaden macht.

        P_ARMOUR_DEFEND
          Enthaelt das Objekt, in dem die Funktion DefendFunc() definiert
          wird. DefendFunc() bekommt die selben Parameter wie Defend()
          uebergeben und gibt selber einen Integer-Wert zurueck, der zum
          aktuellen Schutz addiert wird.

        P_ARMOUR_HIT
          Beinhaltet das Objekt, in dem die Funktion ArmourHitFunc()
          aufgerufen werden soll. Der Funktion wird der Feind des Traegers
          uebergeben. Der Rueckgabewert wird zum Schaden hinzuaddiert.

        P_WEAR_MSG und P_UNWEAR_MSG
          Ueber diese Properties koennen die Defaultmessages, die
          beim Anziehen und Ausziehen einer Ruestung an den Spieler
          und an den Raum ausgegeben werden, ueberschrieben werden.
          Es ist nicht moeglich, eine oder beide Messages ganz zu
          unterdruecken!

        P_ARMOUR_RESTRICTIONS
          Enthaelt Restriktionen fuer Spieler, die die Ruestung tragen
          koennen sollen.

        Bei AT_MISC ist darauf zu achten, dass hier KEINE AC
        gesetzt werden darf, denn der Spieler kann von diesem
        Ruestungstyp beliebig viele Objecte anziehen!

EVENTS:

        ET_WEAR
          Wird erzeugt, wenn eine Ruestung, die kein Schild ist,
          angezogen wird.

        ET_UNWEAR
          Wird erzeugt, wenn eine Ruestung, die kein Schild ist,
          ausgezogen wird.

        ET_WIELD
          Wird erzeugt, wenn ein Schild gezueckt wird.

        ET_UNWEAR
          Wird erzeugt, wenn ein Schild weggesteckt wird.

FUNKTIONEN:

        object QueryWornBy()
          Liefert das Objekt, von dem die Ruestung oder das Schild
          getragen bzw. gezueckt wird.

        Will man in der Ruestung eine eigene DefendFunc() oder
        ArmourHitFunc(), einbauen, dann muss diese der Ruestung bekannt
        gegeben werden. Dies geschieht durch das setzen der entsprechenden
        Properties. Die jeweilige Funktion kann sich in einem beliebigen
        Objekt befinden.

        int DefendFunc(int dam, string *dam_type, int spell, object enemy)
          Mit der Funktion koennen Ruestungen eine Reaktion auf einen
          Angriff bewirken. Der Returnwert wird zum Schutz hinzuaddiert.

        int ArmourHitFunc(object enemy)
          Damit koennen Ruestungen wie Waffen wirken, also dem Feind beim
          Angriff zusaetzlich Schaden zufuegen. Der Returnwert wird zum
          Schaden hinzuaddiert.

WICHTIG:

        Vor der Programmierung von Ruestungen sollte die Doku zu
        waffen_ruestungen gelesen werden. Die Regeln darin sind
        verbindlich und sollten nur in Ausnahmefaellen und mit
        Absprache mit dem Erzmagier fuer Waffen/Ruestungen/Monster
        ueberschritten werden.

SIEHE AUCH:
        P_AC, P_ARMOUR_TYPE, P_NR_HANDS, P_DAM_TYPE, P_ARMOUR_DEFEND,
        P_ARMOUR_HIT, P_WEAR_MSG, P_UNWEAR_MSG, P_ARMOUR_RESTRICTIONS,
        ET_WEAR, ET_UNWEAR, ET_WIELD, ET_UNWEAR,
        QueryWornBy(L), DefendFunc(L), ArmourHitFunc(L)
        waffen_ruestungen(WL)


Start » Magierhandbuch » Docu » Std » Armour Letzte Generierung: 01.05.2021, 16:59
Valid HTML 4.01!