Home | History | Annotate | Download | only in rogue

Lines Matching defs:weapon

67 	object *weapon;
82 if ((wch = pack_letter("throw what?", WEAPON)) == CANCEL) {
87 if (!(weapon = get_letter_object(wch))) {
91 if ((weapon->in_use_flags & BEING_USED) && weapon->is_cursed) {
97 if ((weapon->in_use_flags & BEING_WIELDED) && (weapon->quantity <= 1)) {
98 unwield(rogue.weapon);
99 } else if (weapon->in_use_flags & BEING_WORN) {
103 } else if (weapon->in_use_flags & ON_EITHER_HAND) {
104 un_put_on(weapon);
106 monster = get_thrown_at_monster(weapon, d, &row, &col);
117 if (!throw_at_monster(monster, weapon)) {
118 flop_weapon(weapon, row, col);
121 flop_weapon(weapon, row, col);
123 vanish(weapon, 1, &rogue.pack);
127 throw_at_monster(object *monster, object *weapon)
132 hit_chance = get_hit_chance(weapon);
133 damage = get_weapon_damage(weapon);
134 if ((weapon->which_kind == ARROW) &&
135 (rogue.weapon && (rogue.weapon->which_kind == BOW))) {
136 damage += get_weapon_damage(rogue.weapon);
139 } else if ((weapon->in_use_flags & BEING_WIELDED) &&
140 ((weapon->which_kind == DAGGER) ||
141 (weapon->which_kind == SHURIKEN) ||
142 (weapon->which_kind == DART))) {
146 t = weapon->quantity;
147 weapon->quantity = 1;
148 snprintf(hit_message, HIT_MESSAGE_SIZE, "the %s", name_of(weapon));
149 weapon->quantity = t;
204 flop_weapon(object *weapon, short row, short col)
213 clean_up("flop_weapon: weapon landed outside of dungeon");
228 *new_weapon = *weapon;
255 t = weapon->quantity;
256 weapon->quantity = 1;
258 name_of(weapon));
259 weapon->quantity = t;