Waffen und Rüstungen - /sys/combat.h

Aktualisiert am 07.11.2007
Siehe Eigenschafts-Hilfeseiten für aktuelle Informationen.

----------

Folgende Waffenklassen sind bisher definiert. (P_WEAPON_TYPE)
#define WT_KNIFE   "knife"      //Messer und Dolche
#define WT_SWORD   "sword"      //Schwerter
#define WT_AXE     "axe"        //Aexte
#define WT_CLUB    "club"       //stumpfe Hiebwaffen
#define WT_FENCING "fencing"    //scharfe Hiebwaffen
#define WT_SPEAR   "spear"      //Speere/Stangenwaffen ohne Klinge
#define WT_FLAIL   "flail"      //Flegel/mehrteilige Waffen
#define WT_POLE    "pole"       //Stangenwaffen mit Klinge
#define WT_AMMU    "ammunition" //Munition
#define WT_MAGIC   "magic"      //Magie
#define WT_HANDS   "hands"      //blosse Haende

#define VALID_WEAPON_TYPE(t) (member(
         ({WT_KNIFE, WT_SWORD, WT_AXE, WT_CLUB, WT_FENCING,
         WT_SPEAR, WT_FLAIL, WT_POLE, WT_AMMU}), t ) != -1)
 
#define MAX_WEAPON_CLASS 200   /*darf nicht ueberschritten werden */
Folgende Schadensklassen sind definiert. (P_DAM_TYPE)
#define DT_SLASH     "slash"
#define DT_BLUDGEON  "bludgeon"
#define DT_PIERCE    "pierce"
#define DT_RIP       "rip"

#define DT_MAGIC     "magic"

#define DT_FIRE      "fire"
#define DT_WATER     "water"
#define DT_EARTH     "earth"
#define DT_AIR       "air"

#define DT_COLD      "cold"

#define DT_HOLY      "holy"
#define DT_UNHOLY    "unholy"

#define DT_ACID      "acid"
#define DT_LIGHTNING "lightning"
#define DT_POISON    "poison"
#define DT_SOUND     "sound"

#define VALID_MAGIC_TYPE(t) ( member(
          ({DT_MAGIC, DT_FIRE, DT_WATER, DT_EARTH, DT_AIR,  
          DT_COLD, DT_HOLY, DT_UNHOLY, DT_ACID, 
          DT_LIGHTNING, DT_POISON, DT_SOUND}), t ) != -1 )

#define PHYSICAL_DAMAGE_TYPES ([DT_SLASH: 1, DT_BLUDGEON: 1, DT_PIERCE: 1, \
          DT_RIP: 1])
Folgende Rüstungsklassen sind bisher definiert. (P_ARMOUR_TYPE)
#define AT_ARMOUR   "Ruestung"
#define AT_HELMET   "Helm"
#define AT_AMULET   "Amulett"
#define AT_RING     "Ring"
#define AT_GLOVE    "Handschuhe"
#define AT_CLOAK    "Umhang"
#define AT_BOOT     "Schuhe"
#define AT_SHIELD   "Schild"
#define AT_TROUSERS "Hose"
#define AT_GLASSES  "Brille"
#define AT_GIRDLE   "Guertel"
#define AT_TIARA    "Stirnreif"
#define AT_MISC     "Misc"
#define AT_ILLEGAL  "ILLEGAL"

// Ruestungstypen, die als 'Kleidung' und nicht als 'Tools' bei
// der Langbeschreibung von Livings angesehen werden sollen
#define AT_IS_CLOTHING ({ AT_ARMOUR, AT_CLOAK, AT_TROUSERS })

#define ARMOUR_TYPES ({ 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 })

#define VALID_ARMOUR_TYPE(t) (member(
          ({AT_ARMOUR, AT_HELMET, AT_RING, AT_GLOVE, AT_CLOAK, AT_BOOT,
          AT_TROUSERS, AT_SHIELD, AT_AMULET, AT_GLASSES, AT_MISC,
          AT_GIRDLE, AT_TIARA}) ,t) != -1)
Folgende max. Rüstungswerte sind hier definiert. (P_AC)
#define VALID_ARMOUR_CLASS ([ AT_ARMOUR   : 40,
                              AT_SHIELD   : 30,
                              AT_HELMET   : 10,
                              AT_CLOAK    : 10,
                              AT_GLOVE    : 10,
                              AT_BOOT     : 10,
                              AT_TROUSERS : 10,
                              AT_RING     :  3,
                              AT_AMULET   :  5,
                              AT_GLASSES  :  2,
                              AT_GIRDLE   :  1,
                              AT_TIARA    :  1,
                              AT_MISC     :  0 ])