OSDN Git Service

種族変更するとターン数が狂い日付がずれるので, 経過ゲームターン数計算には
authornothere <nothere@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 3 May 2003 18:54:24 +0000 (18:54 +0000)
committernothere <nothere@0568b783-4c39-0410-ac80-bf13821ea2a2>
Sat, 3 May 2003 18:54:24 +0000 (18:54 +0000)
スタート時の種族を見るように修正.

src/dungeon.c
src/xtra1.c

index 51504bc..8163096 100644 (file)
@@ -6800,11 +6800,14 @@ msg_print("ĥ
 
 s32b turn_real(s32b hoge)
 {
-       if ((p_ptr->prace == RACE_VAMPIRE) ||
-           (p_ptr->prace == RACE_SKELETON) ||
-           (p_ptr->prace == RACE_ZOMBIE) ||
-           (p_ptr->prace == RACE_SPECTRE))
-               return hoge-(TURNS_PER_TICK * TOWN_DAWN *3/ 4);
-       else
+       switch (p_ptr->start_race)
+       {
+       case RACE_VAMPIRE:
+       case RACE_SKELETON:
+       case RACE_ZOMBIE:
+       case RACE_SPECTRE:
+               return hoge - (TURNS_PER_TICK * TOWN_DAWN * 3 / 4);
+       default:
                return hoge;
+       }
 }
index ce7150e..d81ec9b 100644 (file)
@@ -132,13 +132,18 @@ void extract_day_hour_min(int *day, int *hour, int *min)
        s32b len = TURNS_PER_TICK * TOWN_DAWN;
        s32b tick = turn % len + len / 4;
 
-       if ((p_ptr->prace == RACE_VAMPIRE) ||
-           (p_ptr->prace == RACE_SKELETON) ||
-           (p_ptr->prace == RACE_ZOMBIE) ||
-           (p_ptr->prace == RACE_SPECTRE))
-               *day = (turn - (TURNS_PER_TICK * TOWN_DAWN *3/4)) / len + 1;
-       else
-               *day = (turn + (TURNS_PER_TICK * TOWN_DAWN /4))/ len + 1;
+       switch (p_ptr->start_race)
+       {
+       case RACE_VAMPIRE:
+       case RACE_SKELETON:
+       case RACE_ZOMBIE:
+       case RACE_SPECTRE:
+               *day = (turn - (TURNS_PER_TICK * TOWN_DAWN * 3 / 4)) / len + 1;
+               break;
+       default:
+               *day = (turn + (TURNS_PER_TICK * TOWN_DAWN / 4)) / len + 1;
+               break;
+       }
        *hour = (24 * tick / len) % 24;
        *min = (1440 * tick / len) % 60;
 }