ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/skills.C
(Generate patch)

Comparing deliantra/server/server/skills.C (file contents):
Revision 1.38 by root, Sun Jul 1 05:00:20 2007 UTC vs.
Revision 1.39 by root, Tue Jul 3 06:07:07 2007 UTC

718/* do_skill_ident() - workhorse for skill_ident() -b.t. 718/* do_skill_ident() - workhorse for skill_ident() -b.t.
719 */ 719 */
720static int 720static int
721do_skill_ident (object *pl, int obj_class, object *skill) 721do_skill_ident (object *pl, int obj_class, object *skill)
722{ 722{
723 object *tmp;
724 int success = 0; 723 int success = 0;
725 724
726 for (tmp = pl->inv; tmp; tmp = tmp->below) 725 for (object *tmp = pl->inv; tmp; tmp = tmp->below)
727 success += do_skill_ident2 (tmp, pl, obj_class, skill); 726 success += do_skill_ident2 (tmp, pl, obj_class, skill);
728 /* check the ground */ 727 /* check the ground */
729 728
730 for (tmp = GET_MAP_OB (pl->map, pl->x, pl->y); tmp; tmp = tmp->above) 729 for (object *tmp = pl->ms ().bot; tmp; tmp = tmp->above)
731 success += do_skill_ident2 (tmp, pl, obj_class, skill); 730 success += do_skill_ident2 (tmp, pl, obj_class, skill);
732 731
733 return success; 732 return success;
734} 733}
735 734
743 742
744 new_draw_info (NDI_UNIQUE, 0, pl, "You look at the objects nearby..."); 743 new_draw_info (NDI_UNIQUE, 0, pl, "You look at the objects nearby...");
745 744
746 switch (skill->subtype) 745 switch (skill->subtype)
747 { 746 {
748 case SK_SMITHERY: 747 case SK_SMITHERY:
749 success += do_skill_ident (pl, WEAPON, skill) + do_skill_ident (pl, ARMOUR, skill) 748 success += do_skill_ident (pl, WEAPON, skill) + do_skill_ident (pl, ARMOUR, skill)
750 + do_skill_ident (pl, BRACERS, skill) + do_skill_ident (pl, CLOAK, skill) 749 + do_skill_ident (pl, BRACERS, skill) + do_skill_ident (pl, CLOAK, skill)
751 + do_skill_ident (pl, BOOTS, skill) + do_skill_ident (pl, SHIELD, skill) 750 + do_skill_ident (pl, BOOTS, skill) + do_skill_ident (pl, SHIELD, skill)
752 + do_skill_ident (pl, GIRDLE, skill) + do_skill_ident (pl, HELMET, skill) + do_skill_ident (pl, GLOVES, skill); 751 + do_skill_ident (pl, GIRDLE, skill) + do_skill_ident (pl, HELMET, skill) + do_skill_ident (pl, GLOVES, skill);
753 break; 752 break;
754 753
755 case SK_BOWYER: 754 case SK_BOWYER:
756 success += do_skill_ident (pl, BOW, skill) + do_skill_ident (pl, ARROW, skill); 755 success += do_skill_ident (pl, BOW, skill) + do_skill_ident (pl, ARROW, skill);
757 break; 756 break;
758 757
759 case SK_ALCHEMY: 758 case SK_ALCHEMY:
760 success += do_skill_ident (pl, POTION, skill) + do_skill_ident (pl, POISON, skill) 759 success += do_skill_ident (pl, POTION, skill) + do_skill_ident (pl, POISON, skill)
761 + do_skill_ident (pl, CONTAINER, skill) + do_skill_ident (pl, DRINK, skill) + do_skill_ident (pl, INORGANIC, skill); 760 + do_skill_ident (pl, CONTAINER, skill) + do_skill_ident (pl, DRINK, skill) + do_skill_ident (pl, INORGANIC, skill);
762 break; 761 break;
763 762
764 case SK_WOODSMAN: 763 case SK_WOODSMAN:
765 success += do_skill_ident (pl, FOOD, skill) + do_skill_ident (pl, DRINK, skill) + do_skill_ident (pl, FLESH, skill); 764 success += do_skill_ident (pl, FOOD, skill) + do_skill_ident (pl, DRINK, skill) + do_skill_ident (pl, FLESH, skill);
766 break; 765 break;
767 766
768 case SK_JEWELER: 767 case SK_JEWELER:
769 success += do_skill_ident (pl, GEM, skill) + do_skill_ident (pl, RING, skill) + do_skill_ident (pl, AMULET, skill); 768 success += do_skill_ident (pl, GEM, skill) + do_skill_ident (pl, RING, skill) + do_skill_ident (pl, AMULET, skill);
770 break; 769 break;
771 770
772 case SK_LITERACY: 771 case SK_LITERACY:
773 success += do_skill_ident (pl, SPELLBOOK, skill) + do_skill_ident (pl, SCROLL, skill) + do_skill_ident (pl, BOOK, skill); 772 success += do_skill_ident (pl, SPELLBOOK, skill) + do_skill_ident (pl, SCROLL, skill) + do_skill_ident (pl, BOOK, skill);
774 break; 773 break;
775 774
776 case SK_THAUMATURGY: 775 case SK_THAUMATURGY:
777 success += do_skill_ident (pl, WAND, skill) + do_skill_ident (pl, ROD, skill) + do_skill_ident (pl, HORN, skill); 776 success += do_skill_ident (pl, WAND, skill) + do_skill_ident (pl, ROD, skill) + do_skill_ident (pl, HORN, skill);
778 break; 777 break;
779 778
780 case SK_DET_CURSE: 779 case SK_DET_CURSE:
781 success = do_skill_detect_curse (pl, skill); 780 success = do_skill_detect_curse (pl, skill);
782 if (success) 781 if (success)
783 new_draw_info (NDI_UNIQUE, 0, pl, "...and discover cursed items!"); 782 new_draw_info (NDI_UNIQUE, 0, pl, "...and discover cursed items!");
784 break; 783 break;
785 784
786 case SK_DET_MAGIC: 785 case SK_DET_MAGIC:
787 success = do_skill_detect_magic (pl, skill); 786 success = do_skill_detect_magic (pl, skill);
788 if (success) 787 if (success)
789 new_draw_info (NDI_UNIQUE, 0, pl, "...and discover items imbued with mystic forces!"); 788 new_draw_info (NDI_UNIQUE, 0, pl, "...and discover items imbued with mystic forces!");
790 break; 789 break;
791 790
792 default: 791 default:
793 LOG (llevError, "Error: bad call to skill_ident()\n"); 792 LOG (llevError, "Error: bad call to skill_ident()\n");
794 return 0; 793 return 0;
795 break; 794 break;
796 } 795 }
796
797 if (!success) 797 if (!success)
798 {
799 new_draw_info (NDI_UNIQUE, 0, pl, "...and learn nothing more."); 798 new_draw_info (NDI_UNIQUE, 0, pl, "...and learn nothing more.");
800 } 799
801 return success; 800 return success;
802} 801}
803 802
804/* players using this skill can 'charm' a monster -- 803/* players using this skill can 'charm' a monster --
805 * into working for them. It can only be used on 804 * into working for them. It can only be used on

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines