====== Shoot Type == There are several categories that show in the bottommost range slot line of the stats pane of the [[:client]] . ---- Read also the topics of the Guide [[:guides:Playing Crossfire]] : * #[[:guides:playing_crossfire#Shoot a Ranged Weapon]] * #[[:guides:playing_crossfire#Cast a Spell]] * #[[:guides:playing_crossfire#Use a Skill]] * #[[:guides:playing_crossfire#Applying an Item]] See also the player command [[:player_commands#rotateshoottype]] . ---- ==== Code == Available range attacks in //server/socket/info.c// : * range_none: * "Range: nothing" * range_bow: * FLAG_APPLIED; "Range: %s (%s)", query_base_name(op, 0), op->race ? op->race : "nothing" * range_magic: * settings.casting_time == TRUE * casting_time == 0; "Range: Holding spell (%s)", pl->spell->name * casting_time > 0; "Range: Casting spell (%s)", pl->spell->name * casting_time < 0; "Range: spell (%s)", pl->contr->ranges[range_magic]->name * else "Range: spell (%s)", pl->contr->ranges[range_magic]->name * range_misc: * "Range: %s", pl->contr->ranges[range_misc] ? query_base_name(pl->contr->ranges[range_misc],0): "none" * range_golem: * "Range: golem (%s)", pl->contr->ranges[range_golem]->name * "Range: nothing" * range_skill: * "Skill: %s", pl->chosen_skill!=NULL ? pl->chosen_skill->name : "none" * range_builder: * "Builder: %s", query_base_name( pl->contr->ranges[ range_builder ], 0 ) * default: * "Range: illegal"