diff options
Diffstat (limited to 'crawl-ref/source/wpn-misc.cc')
-rw-r--r-- | crawl-ref/source/wpn-misc.cc | 268 |
1 files changed, 0 insertions, 268 deletions
diff --git a/crawl-ref/source/wpn-misc.cc b/crawl-ref/source/wpn-misc.cc deleted file mode 100644 index c6d38f98e6..0000000000 --- a/crawl-ref/source/wpn-misc.cc +++ /dev/null @@ -1,268 +0,0 @@ -/* - ********************************************************************* - * File: wpn-misc.cc * - * Summary: temporary home for weapon f(x) until struct'ed * - * Written by: don brodale <dbrodale@bigfootinteractive.com> * - * * - * Changelog(most recent first): * - * * - * <00> 12jun2000 dlb created after little thought * - ********************************************************************* - */ - -#include "AppHdr.h" -#include "wpn-misc.h" - -#include "externs.h" - -// all of this will be replaced by a struct and data handlers {dlb}: - -/* - ************************************************** - * * - * BEGIN PUBLIC FUNCTIONS * - * * - ************************************************** -*/ - -char damage_type(unsigned char wclass, unsigned char wtype) -{ - char type_damage = DVORP_CRUSHING; // this is the default, btw {dlb} - - if (wclass == OBJ_WEAPONS) - { - switch (wtype) - { - case WPN_DAGGER: - case WPN_DEMON_BLADE: - case WPN_DOUBLE_SWORD: - case WPN_GREAT_SWORD: - case WPN_KATANA: - case WPN_KNIFE: - case WPN_LONG_SWORD: - case WPN_QUICK_BLADE: - case WPN_SABRE: - case WPN_FALCHION: - case WPN_SCIMITAR: - case WPN_SCYTHE: - case WPN_SHORT_SWORD: - case WPN_TRIPLE_SWORD: - type_damage = DVORP_SLICING; - break; - - case WPN_DEMON_TRIDENT: - case WPN_EVENINGSTAR: - case WPN_GIANT_SPIKED_CLUB: - case WPN_MORNINGSTAR: - case WPN_SPEAR: - case WPN_SPIKED_FLAIL: - case WPN_TRIDENT: - type_damage = DVORP_PIERCING; - break; - - case WPN_WAR_AXE: - case WPN_BATTLEAXE: - case WPN_BROAD_AXE: - case WPN_EXECUTIONERS_AXE: - case WPN_GLAIVE: - case WPN_HALBERD: - case WPN_HAND_AXE: - type_damage = DVORP_CHOPPING; - break; - } - } - - return (type_damage); -} // end damage_type() - -bool can_cut_meat(unsigned char wclass, unsigned char wtype) -{ - int type = damage_type( wclass, wtype ); - - if (type == DVORP_CHOPPING || type == DVORP_SLICING) - return (true); - - return (false); -} - -int hands_reqd_for_weapon(unsigned char wclass, unsigned char wtype) -{ - int reqd_hands = HANDS_ONE_HANDED; - - switch (wclass) - { - case OBJ_WEAPONS: - switch (wtype) - { - case WPN_HALBERD: - case WPN_SCYTHE: - case WPN_GLAIVE: - case WPN_QUARTERSTAFF: - case WPN_BATTLEAXE: - case WPN_EXECUTIONERS_AXE: - case WPN_GREAT_SWORD: - case WPN_TRIPLE_SWORD: - case WPN_GREAT_MACE: - case WPN_GREAT_FLAIL: - case WPN_GIANT_CLUB: - case WPN_GIANT_SPIKED_CLUB: - reqd_hands = HANDS_TWO_HANDED; - break; - - case WPN_SPEAR: - case WPN_TRIDENT: - case WPN_DEMON_TRIDENT: - case WPN_WAR_AXE: - case WPN_BROAD_AXE: - case WPN_KATANA: - case WPN_DOUBLE_SWORD: - reqd_hands = HANDS_ONE_OR_TWO_HANDED; - break; - } - break; - - case OBJ_STAVES: - reqd_hands = HANDS_TWO_HANDED; - break; - } - - return (reqd_hands); -} // end hands_reqd_for_weapon() - -bool is_demonic(unsigned char weapon_subtype) -{ - switch (weapon_subtype) - { - case WPN_DEMON_BLADE: - case WPN_DEMON_WHIP: - case WPN_DEMON_TRIDENT: - return true; - - default: - return false; - } -} // end is_demonic() - -bool launches_things( unsigned char weapon_subtype ) -{ - switch (weapon_subtype) - { - case WPN_SLING: - case WPN_BOW: - case WPN_CROSSBOW: - case WPN_HAND_CROSSBOW: - case WPN_BLOWGUN: - return (true); - - default: - return (false); - } -} // end launches_things() - -unsigned char launched_by(unsigned char weapon_subtype) -{ - switch (weapon_subtype) - { - case WPN_BLOWGUN: - return MI_NEEDLE; - case WPN_SLING: - return MI_STONE; - case WPN_BOW: - return MI_ARROW; - case WPN_CROSSBOW: - return MI_BOLT; - case WPN_HAND_CROSSBOW: - return MI_DART; - default: - return MI_EGGPLANT; // lame debugging code :P {dlb} - } -} // end launched_by() - -// this function returns the skill that the weapon would use in melee -char weapon_skill(unsigned char wclass, unsigned char wtype) -{ - char skill2use = SK_FIGHTING; - - if (wclass == OBJ_STAVES - && (wtype < STAFF_SMITING || wtype >= STAFF_AIR)) - { - skill2use = SK_STAVES; - } - else if (wclass != OBJ_WEAPONS) - skill2use = SK_FIGHTING; - else - { - switch (wtype) - { - case WPN_CLUB: - case WPN_MACE: - case WPN_HAMMER: - case WPN_ANCUS: - case WPN_WHIP: - case WPN_FLAIL: - case WPN_MORNINGSTAR: - case WPN_GIANT_CLUB: - case WPN_GIANT_SPIKED_CLUB: - case WPN_EVENINGSTAR: - case WPN_DEMON_WHIP: - case WPN_SPIKED_FLAIL: - case WPN_GREAT_FLAIL: - case WPN_GREAT_MACE: - case WPN_BOW: - case WPN_BLOWGUN: - case WPN_CROSSBOW: - case WPN_HAND_CROSSBOW: - skill2use = SK_MACES_FLAILS; - break; - - case WPN_KNIFE: - case WPN_DAGGER: - case WPN_SHORT_SWORD: - case WPN_QUICK_BLADE: - case WPN_SABRE: - skill2use = SK_SHORT_BLADES; - break; - - case WPN_FALCHION: - case WPN_LONG_SWORD: - case WPN_SCIMITAR: - case WPN_KATANA: - case WPN_DOUBLE_SWORD: - case WPN_DEMON_BLADE: - case WPN_GREAT_SWORD: - case WPN_TRIPLE_SWORD: - skill2use = SK_LONG_SWORDS; - break; - - case WPN_HAND_AXE: - case WPN_WAR_AXE: - case WPN_BROAD_AXE: - case WPN_BATTLEAXE: - case WPN_EXECUTIONERS_AXE: - skill2use = SK_AXES; - break; - - case WPN_SPEAR: - case WPN_HALBERD: - case WPN_GLAIVE: - case WPN_SCYTHE: - case WPN_TRIDENT: - case WPN_DEMON_TRIDENT: - skill2use = SK_POLEARMS; - break; - - case WPN_QUARTERSTAFF: - skill2use = SK_STAVES; - break; - } - } - - return (skill2use); -} // end weapon_skill() -/* - ************************************************** - * * - * END PUBLIC FUNCTIONS * - * * - ************************************************** -*/ |