OSDN Git Service

"strchr" -> "my_strchr".
[hengband/hengband.git] / src / cmd5.c
index 893a6bd..56f93a3 100644 (file)
@@ -1572,14 +1572,6 @@ msg_print("
 }
 
 
-/*
- * Pray a prayer -- Unused in Hengband
- */
-void do_cmd_pray(void)
-{
-       msg_print("Praying is not used in Hengband. Use magic spell casting instead.");
-}
-
 static bool ang_sort_comp_pet_dismiss(vptr u, vptr v, int a, int b)
 {
        u16b *who = (u16b*)(u);
@@ -1616,14 +1608,35 @@ static bool ang_sort_comp_pet_dismiss(vptr u, vptr v, int a, int b)
        return w1 <= w2;
 }
 
+void check_pets_num_and_align(monster_type *m_ptr, bool inc)
+{
+       s32b old_friend_align = friend_align;
+       monster_race *r_ptr = &r_info[m_ptr->r_idx];
+
+       if (inc)
+       {
+               total_friends++;
+               if (r_ptr->flags3 & RF3_GOOD) friend_align += r_ptr->level;
+               if (r_ptr->flags3 & RF3_EVIL) friend_align -= r_ptr->level;
+       }
+       else
+       {
+               total_friends--;
+               if (r_ptr->flags3 & RF3_GOOD) friend_align -= r_ptr->level;
+               if (r_ptr->flags3 & RF3_EVIL) friend_align += r_ptr->level;
+       }
+
+       if (old_friend_align != friend_align) p_ptr->update |= (PU_BONUS);
+}
+
 int calculate_upkeep(void)
 {
        s32b old_friend_align = friend_align;
        int m_idx;
        bool have_a_unique = FALSE;
+       s32b total_friend_levels = 0;
 
        total_friends = 0;
-       total_friend_levels = 0;
        friend_align = 0;
 
        for (m_idx = m_max - 1; m_idx >=1; m_idx--)
@@ -1782,7 +1795,7 @@ void do_cmd_pet_dismiss(void)
                                char m_name[80];
 
                                monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
-                               do_cmd_write_nikki(NIKKI_NAMED_PET, 2, m_name);
+                               do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_DISMISS, m_name);
                        }
 
                        if (pet_ctr == p_ptr->riding)
@@ -2266,7 +2279,7 @@ static void do_name_pet(void)
                                        char m_name[80];
 
                                        monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
-                                       do_cmd_write_nikki(NIKKI_NAMED_PET, 0, m_name);
+                                       do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_NAME, m_name);
                                }
                        }
                        else
@@ -2276,7 +2289,7 @@ static void do_name_pet(void)
                                        char m_name[80];
 
                                        monster_desc(m_name, m_ptr, MD_INDEF_VISIBLE);
-                                       do_cmd_write_nikki(NIKKI_NAMED_PET, 1, m_name);
+                                       do_cmd_write_nikki(NIKKI_NAMED_PET, RECORD_NAMED_PET_UNNAME, m_name);
                                }
                                m_ptr->nickname = 0;
                        }
@@ -2318,11 +2331,11 @@ void do_cmd_pet(void)
        powers[num++] = PET_DISMISS;
 
 #ifdef JP
-       sprintf(target_buf,"¥Ú¥Ã¥È¤Î¥¿¡¼¥²¥Ã¥È¤ò»ØÄê (¸½ºß¡§%s)",
-               (pet_t_m_idx ? r_name + r_info[m_list[pet_t_m_idx].r_idx].name : "»ØÄê¤Ê¤·"));
+       sprintf(target_buf, "¥Ú¥Ã¥È¤Î¥¿¡¼¥²¥Ã¥È¤ò»ØÄê (¸½ºß¡§%s)",
+               (pet_t_m_idx ? (p_ptr->image ? "²¿¤«´ñ̯¤Êʪ" : (r_name + r_info[m_list[pet_t_m_idx].ap_r_idx].name)) : "»ØÄê¤Ê¤·"));
 #else
-       sprintf(target_buf,"specify a target of pet (now:%s)",
-               (pet_t_m_idx ? r_name + r_info[m_list[pet_t_m_idx].r_idx].name : "nothing"));
+       sprintf(target_buf, "specify a target of pet (now:%s)",
+               (pet_t_m_idx ? (p_ptr->image ? "something strange" : (r_name + r_info[m_list[pet_t_m_idx].ap_r_idx].name)) : "nothing"));
 #endif
        power_desc[num] = target_buf;