blob: 407a0cff46ac45114178bcbe05a90b23f7313a91 [file] [log] [blame]
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