*/
#include "angband.h"
+#include "util.h"
+#include "bldg.h"
+
+#include "artifact.h"
#include "avatar.h"
+#include "cmd-dump.h"
#include "history.h"
#include "monsterrace-hook.h"
#include "store.h"
+#include "patron.h"
#include "quest.h"
+#include "player-class.h"
#include "player-status.h"
+#include "player-personality.h"
+#include "player-sex.h"
#include "spells.h"
#include "spells-status.h"
+#include "wild.h"
+#include "floor.h"
+#include "cmd-pet.h"
+#include "dungeon-file.h"
+#include "floor-town.h"
+#include "files.h"
+#include "birth.h"
+#include "player-race.h"
+#include "player-skill.h"
+#include "world.h"
+#include "objectkind.h"
+#include "monsterrace.h"
+#include "autopick.h"
+
+ /*
+ * The last character rolled,
+ * holded for quick start
+ */
+birther previous_char;
/*!
* オートローラーの内容を描画する間隔 /
p_ptr->hitdie = rp_ptr->r_mhp + cp_ptr->c_mhp + ap_ptr->a_mhp;
/* Roll for hit point unless quick-start */
- if (roll_hitdie) roll_hitdice(SPOP_NO_UPDATE);
+ if (roll_hitdie) roll_hitdice(p_ptr, SPOP_NO_UPDATE);
/* Initial hitpoints */
p_ptr->mhp = p_ptr->player_hp[0];
p_ptr->total_weight = 0;
/* No items */
- inven_cnt = 0;
- equip_cnt = 0;
+ p_ptr->inven_cnt = 0;
+ p_ptr->equip_cnt = 0;
- /* Clear the inventory */
+ /* Clear the p_ptr->inventory_list */
for (i = 0; i < INVEN_TOTAL; i++)
{
- object_wipe(&inventory[i]);
+ object_wipe(&p_ptr->inventory_list[i]);
}
p_ptr->knowledge = 0;
/* Clean the mutation count */
- mutant_regenerate_mod = 100;
+ p_ptr->mutant_regenerate_mod = 100;
/* Clear "cheat" options */
cheat_peek = FALSE;
p_ptr->today_mon = 0;
/* Reset monster arena */
- battle_monsters();
+ update_gambling_monsters();
/* Reset mutations */
p_ptr->muta1 = 0;
}
/*!
- * @brief ゲームターンを初期化する / Reset turn
+ * @brief ゲームターンを初期化する / Reset current_world_ptr->game_turn
* @details アンデッド系種族は開始時刻を夜からにする。
* @return なし
*/
(p_ptr->prace == RACE_SPECTRE))
{
/* Undead start just after midnight */
- turn = (TURNS_PER_TICK*3 * TOWN_DAWN) / 4 + 1;
- turn_limit = TURNS_PER_TICK * TOWN_DAWN * MAX_DAYS + TURNS_PER_TICK * TOWN_DAWN * 3 / 4;
+ current_world_ptr->game_turn = (TURNS_PER_TICK*3 * TOWN_DAWN) / 4 + 1;
+ current_world_ptr->game_turn_limit = TURNS_PER_TICK * TOWN_DAWN * MAX_DAYS + TURNS_PER_TICK * TOWN_DAWN * 3 / 4;
}
else
{
- turn = 1;
- turn_limit = TURNS_PER_TICK * TOWN_DAWN * (MAX_DAYS - 1) + TURNS_PER_TICK * TOWN_DAWN * 3 / 4;
+ current_world_ptr->game_turn = 1;
+ current_world_ptr->game_turn_limit = TURNS_PER_TICK * TOWN_DAWN * (MAX_DAYS - 1) + TURNS_PER_TICK * TOWN_DAWN * 3 / 4;
}
- dungeon_turn = 1;
- dungeon_turn_limit = TURNS_PER_TICK * TOWN_DAWN * (MAX_DAYS - 1) + TURNS_PER_TICK * TOWN_DAWN * 3 / 4;
+ current_world_ptr->dungeon_turn = 1;
+ current_world_ptr->dungeon_turn_limit = TURNS_PER_TICK * TOWN_DAWN * (MAX_DAYS - 1) + TURNS_PER_TICK * TOWN_DAWN * 3 / 4;
}
/* Scan through the slots backwards */
for (item = INVEN_PACK - 1; item >= 0; item--)
{
- o_ptr = &inventory[item];
+ o_ptr = &p_ptr->inventory_list[item];
/* Skip non-objects */
if (!o_ptr->k_idx) continue;
slot = wield_slot(o_ptr);
if (slot < INVEN_RARM) continue;
if (slot == INVEN_LITE) continue; /* Does not wield toaches because buys a lantern soon */
- if (inventory[slot].k_idx) continue;
+ if (p_ptr->inventory_list[slot].k_idx) continue;
i_ptr = &object_type_body;
object_copy(i_ptr, o_ptr);
floor_item_optimize(0 - item);
}
- o_ptr = &inventory[slot];
+ o_ptr = &p_ptr->inventory_list[slot];
object_copy(o_ptr, i_ptr);
p_ptr->total_weight += i_ptr->weight;
/* Increment the equip counter by hand */
- equip_cnt++;
+ p_ptr->equip_cnt++;
}
return;
/* Clear */
clear_from(10);
- /* Reset turn; before auto-roll and after choosing race */
+ /* Reset current_world_ptr->game_turn; before auto-roll and after choosing race */
init_turn();
/*** Generate ***/
int i, j;
char buf[80];
- playtime = 0;
+ current_world_ptr->play_time = 0;
/*
* Wipe monsters in old dungeon
- * This wipe destroys value of m_list[].cur_num .
+ * This wipe destroys value of current_floor_ptr->m_list[].cur_num .
*/
wipe_m_list();
seed_wilderness();
/* Give beastman a mutation at character birth */
- if (p_ptr->prace == RACE_BEASTMAN) hack_mutation = TRUE;
- else hack_mutation = FALSE;
+ if (p_ptr->prace == RACE_BEASTMAN) p_ptr->hack_mutation = TRUE;
+ else p_ptr->hack_mutation = FALSE;
/* Set the message window flag as default */
if (!window_flag[1])