
shoot_dam()
***********


FUNKTION
========

   static int shoot_dam(mapping shoot)


DEFINIERT IN
============

   /std/ranged_weapon.c


ARGUMENTE
=========

   mapping shoot - Schussdaten


BESCHREIBUNG
============

   Erhaelt von /std/ranged_weapon::cmd_shoot() die Schussdaten und berechnet
   den Schaden der Waffe, basierend auf den P_SHOOTING_WC von Waffe und
   Munition sowie der Geschicklichkeit des Schuetzen. HitFuncs der Munition
   und Skills werden hier ebenfalls beruecksichtigt.


RUECKGABEWERT
=============

   Schaden. Ebenfalls in 'shoot' unter SI_SKILLDAMAGE aktualisiert.


BEMERKUNGEN
===========

   'shoot' enthaelt normalerweise folgende Eintraege:
   * Key P_WEAPON:       die Schusswaffe
   * Key P_WEAPON_TYPE:  P_AMMUNITION, also die Munitions-ID
   * Key P_STRETCH_TIME: P_STRETCH_TIME der Waffe
   * Key P_WC:           P_SHOOTING_WC der Waffe
   * Key P_SHOOTING_WC:  P_SHOOTING_WC der Munition
   * Key P_AMMUNITION:   Munitionsobjekt (eventuell Unit)
   * Key SI_ENEMY:       gueltigen Gegner
   * Key SI_SKILLDAMAGE_TYPE:  Schaden (aus P_DAM_TYPE der Munition)
   * Key SI_SKILLDAMAGE_MSG/2: Munitionsname


SIEHE AUCH
==========

   Generell:  P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
   Methoden:  FindRangedTarget(L), cmd_shoot(L)
   Skills:    UseSkill(L), SkillResTransfer(L)
   Attribute: QueryAttribute
   Sonstiges: fernwaffen, HitFunc

28.Jul 2014 Gloinson
