 GRENZWERTE

    Waffen:
   
      Maximalwerte fuer P_WC:

      Einhaendige Waffen  150
      Zweihaendige Waffen 200

      Genehmigungspflichtig sind:

      A) Waffen mit rein physikalischen Schadenstypen:

      Einhaendige Waffen  :    ab P_WC >= 144
      Zweihaendige Waffen :    ab P_WC >= 191

      Der Schadenstyp DT_EXPLOSION wird jedoch nicht mehr genehmigt.

      B) Waffen, die nichtphysikalische Schadenstypen enthalten:

      Einhaendige Waffen  :    ab P_WC >= 136
      Zweihaendige Waffen :    ab P_WC >= 181

      Waffen mit homogenem magischem Schaden muessen mindestens 50% 
      physikalische Schadenstypen machen, Waffen mit inhomogenem magischem 
      Schaden mindestens 33%.

			Eine magische Schadensart darf maximal 50% ausmachen.

      C) Waffen mit Schadenstypen DT_TERROR, DT_SOUND oder DT_SQUEEZE:

      Solche Waffen sind grundsaetzlich genehmigungspflichtig, unabhaengig
      von der WC.

      Alle Waffen mit HitFunc oder entsprechender Funktion muessen genehmigt
      werden, wenn sie bei Spielern wirken und den Schaden erhoehen.
      Das gilt auch fuer indirekte Effekt wie z.B. Vergiftung von NPCs im
      Kampf.


    Ruestungen:

      +--------------+--------+----------------------------+
      | Ruestungstyp | MAX_AC | Genehmigungsgrenze (inkl.) |
      +--------------+--------+----------------------------+
      | AT_AMULET    |    2   |             --             |
      | AT_ARMOUR    |   50   |             38             |
      | AT_BELT      |    2   |             --             |
      | AT_BOOT      |    6   |             --             |
      | AT_CLOAK     |   10   |             --             |
      | AT_GLOVE     |    5   |             --             |
      | AT_HELMET    |   15   |             --             |
      | AT_QUIVER    |    0   |             --             |
      | AT_RING      |    2   |             --             |
      | AT_SHIELD    |   40*  |             28             |
      | AT_TROUSERS  |   15   |             --             |
      | AT_MISC      |    0   |             --             |
      +--------------+--------+----------------------------+
       * Eine Sonderregel gilt fuer Schilde: Sind diese zweihaendig,
         darf die P_AC bis zu 80 betragen.

    Ruestungen mit DefendFunc o.ae. muessen generell genehmigt werden
    (siehe Waffen).

    Ruestungen und Waffen vom Typ AT_MISC oder WT_MISC duerfen keiner-
    lei positive Veraenderungen im Spieler hervorrufen, keine Stats
    veraendern oder sonstwie kampfrelevante Bedeutung haben. Die WC/AC
    solcher Objekte ist immer 0 und wird auch nicht anders genehmigt.

 SIEHE AUCH

     balance, ruestungen, fernwaffen, uniques, npcs, schadenstypen
     attributsveraenderungen, resistenzen, kampfobjekte

------------------------------------------------------------------------------
LETZTE AeNDERUNG: 2023-03-15 Humni.
