/***********************************************************************
*Copyright (c)2012 , 天际边工作室
*All rights reserved.
**
文件名称：	Good.cpp
*摘要：		游戏主地图类
**
*修改历史：
*	版本    日期     作者     改动内容和原因
*   ----------------------------------------------------
*	1.0    2012-10-5  wstjb     基本的功能完成
***********************************************************************/

#include "Good.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

using namespace std;

extern  PAINTSTRUCT ps;
extern 	HDC hdc;
extern 	HBITMAP hbmp; 
extern 	HBITMAP hbmp2; 
extern 	BITMAP bmp;
extern 	HDC hdcMem;
extern 	HDC hdcTmp;
extern 	RECT rect;
extern 	HWND hwnd;
extern  int color;
extern  int flag;

extern int KeyReturn;
extern int KeyEsc;
extern int KeyHome;
extern int KeySpace;
extern int KeyLeft0;
extern int KeyUp0;
extern int KeyRight0;
extern int KeyDown0;

extern byte resByte[2731][16384];//存储lib资源
extern int resByteLen[2731];
extern int resPos[2731][6];//存储lib地址和编号 第六位为长度
extern int resCount;

/***********************************************************************
 * 说明:     GoodList类初始化函数
 * 输入参数: int num——用于设定君主等信息，由君主选择传值过来
 * 返回值  : 无
 * 功能	   : 初始化
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             wstjb          2012-10-5       完成基本功能
***********************************************************************/
int Good::Init(int type,int idx)
{
	int resnum = GetResNum(RES_GRS,type,idx);
	if(resnum == -1)return -1;
	this->type = type;//道具类型 1-14
	this->no = idx;//编号
	//sum = 0;//默认为0，说明物品链无此物品

	owner = resByte[resnum][3];//佩戴角色标志位
	last = resByte[resnum][4];//持续回合数//20160702
	picnum = resByte[resnum][5];//图号
	for(int i =0;i <12;i++)
	{
		if(resByte[resnum][i+6] == 255)//20210629
		{
			break;
		}
		name[i] = resByte[resnum][6+i];
	}
	buy = BytesToInt2(&resByte[resnum][18]);//买价
	sell = BytesToInt2(&resByte[resnum][20]);//卖价
	for(int i =0;i <100;i++)
	{
		description[i] = resByte[resnum][30+i];
	}
	event = BytesToInt2(&resByte[resnum][132]);

	if(type < 6 )
	{
		mpmax = GoodAbs(resByte[resnum][22]);//20170107gOODABS
		hpmax = GoodAbs(resByte[resnum][23]);
		df = GoodAbs(resByte[resnum][24]);
		at = GoodAbs(resByte[resnum][25]);
		anima = GoodAbs(resByte[resnum][26]);//灵
		speed = GoodAbs(resByte[resnum][27]);// 速
		all_dlfm_Flag = resByte[resnum][28];
		lucky = GoodAbs(resByte[resnum][29]);//运20170110
	}
	else if(type == 6)
	{
		mp = GoodAbs(resByte[resnum][22]);
		hp = GoodAbs(resByte[resnum][23]);
		df = GoodAbs(resByte[resnum][24]);
		at = GoodAbs(resByte[resnum][25]);
		anima = GoodAbs(resByte[resnum][26]);//灵
		speed = GoodAbs(resByte[resnum][27]);// 速
		allMagic = resByte[resnum][28];
		lucky = GoodAbs(resByte[resnum][29]);
	}
	else if( type == 7 )
	{
		mpmax = GoodAbs(resByte[resnum][22]);
		hpmax = GoodAbs(resByte[resnum][23]);
		df = GoodAbs(resByte[resnum][24]);
		at = resByte[resnum][25];
		anima = GoodAbs(resByte[resnum][26]);//灵
		speed = GoodAbs(resByte[resnum][27]);// 速
		all_dlfm_Flag = resByte[resnum][28];
		lucky = GoodAbs(resByte[resnum][29]);
	}
	else if( type == 8 )
	{
		hp = BytesToInt2_GoodAbs(&resByte[resnum][22]);//20170111
		mp = BytesToInt2_GoodAbs(&resByte[resnum][24]);//20170111
		movieNo = resByte[resnum][26];//动画编号
		movieType = resByte[resnum][27];//动画类型
		all_dlfm_Flag = resByte[resnum][28];
	}
	else if( type == 9 )
	{
		hp = BytesToInt2(&resByte[resnum][22]);
		mp = BytesToInt2(&resByte[resnum][24]);
		movieNo = resByte[resnum][26];//动画编号
		movieType = resByte[resnum][27];//动画类型
		all_dlfm_Flag = resByte[resnum][28];
	}
	else if( type == 10 )
	{
		hp = resByte[resnum][23];
	}
	else if( type == 11)
	{
		mpmax = GoodAbs(resByte[resnum][22]);
		hpmax = GoodAbs(resByte[resnum][23]);
		df = GoodAbs(resByte[resnum][24]);
		at = GoodAbs(resByte[resnum][25]);
		anima = GoodAbs(resByte[resnum][26]);//灵
		speed = GoodAbs(resByte[resnum][27]);// 速
		lucky = GoodAbs(resByte[resnum][29]);
	}
	
	else if(type == 12)
	{
		mp = resByte[resnum][22];
		hp = resByte[resnum][23];
		df = resByte[resnum][24];
		anima = resByte[resnum][26];//灵
		speed = resByte[resnum][27];// 速
		lucky = resByte[resnum][29];
	}
	return 0;
}

/***********************************************************************
 * 说明:     GoodList类显示函数
 * 输入参数: WPARAM KeyCode——按键信息，用于控制地图移动与对应的显示
 * 返回值  : 无
 * 功能	   : 显示地图及相关界面
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             wstjb          2012-10-5       完成基本功能
***********************************************************************/
void Good::Show(WPARAM KeyCode)
{

}

/***********************************************************************
 * 说明:     GoodList类按键函数
 * 输入参数: WPARAM KeyCode——按键信息，用于确定当前的城市
 * 返回值  : 无
 * 功能	   : 处理当前类的按键信息
 * 修改历史:
 *               姓名            日期             说明
 *             ------          ----------      -------------
 *             wstjb          2012-10-5       完成基本功能
 *			   wstjb			2012-10-20		增加功能
***********************************************************************/
int Good::KeyDown(WPARAM KeyCode)
{
	
	return 0;
}


