/*!
* @file FixedArtifact.h
* @brief ゲーム中の固定アーティファクトのプロトタイプ
* @date 2013/12/17
* @author Deskull
* 2013 Sikabane Works.
*/

#include "stdafx.h"
#include "Dice.h"
#include "GameElement.h"
#include "ItemTemplate.h"
#include "SavingTable.h"
#include "HaveSymbol.h"

namespace Deeangband
{

	/*!
	* @class FixedArtifact
	* @brief 固定アーティファクトのクラス
	*/
	class FixedArtifact : public ItemTemplate
	{
	private:
		friend class boost::serialization::access;

		/*!
		* @brief クラスのシリアライズを設定する
		* @param archive アーカイブ化するクラスのアドレス
		* @param version ファイルバージョン
		* @return XMLSerializeテンプレート
		*/
		template<class Archive> void serialize(Archive &archive, const unsigned int version) 
		{
			if(version >= 0)
			{
				archive & boost::serialization::make_nvp("Name", name);
				archive & boost::serialization::make_nvp("BaseDamage", baseDamage);
				archive & boost::serialization::make_nvp("Weight", weight);
				archive & boost::serialization::make_nvp("BaseSaving", baseSaving);
				archive & boost::serialization::make_nvp("PlusSaving", plusSaving);
			}
		}

	public:

		/*! 
		* @brief FixedArtifactクラスコンストラクタ
		*/
		FixedArtifact::FixedArtifact(void);

		/*! 
		* @brief FixedArtifactクラスデストラクタ
		*/
		FixedArtifact::~FixedArtifact(void);

		/*! 
		* @brief ダミーデータによる初期化
		* @return なし
		*/
		void FixedArtifact::WipeData(void);

	};
}

BOOST_CLASS_VERSION(Deeangband::FixedArtifact, 10);
