⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 agentdata.h

📁 魔域的源代码
💻 H
字号:
// AgentData.h: agent system config file
// paled, 2003.8.18
//////////////////////////////////////////////////////////////////////

#ifndef	AGENT_DATA_H
#define	AGENT_DATA_H

#include "common.h"
#include "BaseFunc.h"

const int		TICKS_PER_SEC			= 2;

//////////////////////////////////////////////////////////////////////
inline const char* const * GetActionStringSet()
{
	static char* setAction[]={
			// attr
			"ChangeMode",//XXXXXXXXXXX				// 修改Mode(_,_)。用action来实现写入永久事实。
			"Reborn",
			"TalkToName",				// (name,str)
			"TalkToID",					// (id,str)

			// move
			"MoveCloseTarget",//XXXXXXXXXXX			// (id),走到能攻击对方的距离。
			"JumpClose",				// (x,y,dist),走到距对方一定的距离。
			"JumpToSafePos",			// 跳到安全的地方,防止被怪包围
			"ChangeMapTo",				// (id,x,y)用SUPER命令回到指定地点(类似回城卷)
			"RandomWalk",				// 乱走
			"KeepOutEnemy",				// (dist),与敌人保持距离,逃跑

			// fight
			"AttackRole",				// (id)

			// item_pack
			"UseItem",					// (type)吃一颗药
			"FullMedicine",				// (type)到SHOP处装满药, SUPER命令

			// team
			"AcceptTeamInvite",			// (id)
			"SendTeamApply",			// (id)
			"LeaveTeam",

			NULL
	};

	return setAction;
}

enum {
											// // attr
		ACTION_CHANGE_MODE,					// "ChangeMode",				// 修改Mode(_,_)。用action来实现写入永久事实。
		ACTION_REBORN,						// "Reborn",
		ACTION_TALK_TO_NAME,				// "TalkToName",				// (name,str)
		ACTION_TALK_TO_ID,					// "TalkToID",					// (id,str)
											// 
											// // move
		ACTION_MOVE_CLOSE,					// "MoveCloseTarget",			// (id),走到能攻击对方的距离。XXXXXXXXXXX
		ACTION_JUMP_CLOSE,					// "JumpClose":					// (x,y,dist),走到距对方一定的距离。
		ACTION_JUMP_TO_SAFE,				// "JumpToSafePos",				// 跳到安全的地方,防止被怪包围
		ACTION_CHGMAP,						// "ChangeMapTo",				// (id,x,y)用超级命令回到SHOP附近(类似回城卷)
		ACTION_RANDOM_WALK,					// "RandomWalk",				// 乱走
		ACTION_LEAVE_EVIL,					// "KeepOutEnemy",				// (dist),与敌人保持距离,逃跑
											// 
											// // fight
		ACTION_ATTACK,						// "AttackRole",				// (id)
											// 
											// // item_pack
		ACTION_USE_ITEM,					// "UseItem":					// (type)吃一颗药
		ACTION_FULL_MEDICINE,				// "FullMedicine",				// (type)到SHOP处装满药
											// 
											// // team
		ACTION_ACCEPT_INVITE,				// "AcceptTeamInvite",			// (id)
		ACTION_SEND_APPLY,					// "SendTeamApply",				// (id)
		ACTION_LEAVE_TEAM,					// "LeaveTeam",
};

//////////////////////////////////////////////////////////////////////
inline const char* const * GetFactFuncStringSet()
{
	static char*	setFactFunc[]={
			// attr
			"IsAlive",					// (id),检测角色是否活着
			"IsWing",					// (id),检查角色是否在飞行中
			"IsUser",					// (id)
			"IsMonster",				// (id)
			"EvilValue",				// (id, int),取角色的邪恶值,怪物和蓝名、黑名为100,红名为50,卫兵和普通玩家为0
			"CoolValue",				// (id, int),100 ~ 0,有右手极品武器为50
			"Level",					// (id, int),取角色等级(身上装备的最高等级)
			"MyLife",					// (int)

			// move
			"RolePos",					// (id,x,y),取角色的坐标
			"MyDistance",				// (x,y,int),离目标点的距离

			// fight
			"AttackDistance",			// (id,int),能攻击对方的距离
			"DangerValue",				// (int),+∞ ~ 0,通常80算危险,单个敌人为50,无敌人为0

			// item pack
			"ItemCount",				// (int),40 ~ 0,背包中物品数量(药品数量)

			// team
			"MyLeader",					// (id),队长ID
			"IsLeader",					// (id),检查是否队长

			NULL
	};

	return setFactFunc;
}

enum{
											// // attr
		FACTFUNC_IS_ALIVE,					// "IsAlive",					// (id),检测角色是否活着
		FACTFUNC_IS_WING,					// "IsWing",					// (id),检查角色是否在飞行中
		FACTFUNC_IS_USER,					// "IsUser",					// (id)
		FACTFUNC_IS_MONSTER,				// "IsMonster",				// (id)
		FACTFUNC_EVIL_VALUE,				// "EvilValue",				// (id, int),取角色的邪恶值,怪物和蓝名、黑名为100,红名为50,卫兵和普通玩家为0
		FACTFUNC_COOL_VALUE,				// "CoolValue",				// (id, int),100 ~ 0,有右手极品武器为50
		FACTFUNC_LEVEL,						// "Level",					// (id, int),取角色等级(身上装备的最高等级)
		FACTFUNC_MY_LIFE,					// "MyLife",					// (int)

											// // move
		FACTFUNC_ROLE_POS,					// "RolePos",					// (id,x,y),取角色的坐标
		FACTFUNC_MYDISTANCE,				// "MyDistance",				// (x,y,int),离目标点的距离

											// // fight
		FACTFUNC_ATTACK_DISTNACE,			// "AttackDistance",			// (id,int),能攻击对方的距离
		FACTFUNC_DANGER_VALUE,				// "DangerValue",				// (int),+∞ ~ 0,通常80算危险,单个敌人为50,无敌人为0

											// // item pack
		FACTFUNC_ITEM_COUNT,				// "ItemCount"					// (int),40 ~ 0,背包中物品数量(药品数量)

											// // team
		FACTFUNC_MY_LEADER,					// "MyLeader",					// (id),队长ID
		FACTFUNC_IS_LEADER,					// "IsLeader",					// (id),检查是否队长
};

//////////////////////////////////////////////////////////////////////
//* push fact set, add and del
//#define FACT_MODE				"Mode"					// (e,e)			// 0
#define FACT_LOOK_TARGET		"LookTarget"			// <id>				// 80
#define FACT_TALK_TO_ME			"TalkToMe"				// <name>(str)		// 50
#define FACT_TEAM_INVITE		"TeamInvite"			// (id)				// 50
//#define FACT_LOOK_ATTACK		"LookAttack"			// (id,id)			// 80
//#define FACT_LISTEN_TALK		"ListenTalk"			// (name,name,str)		// 50
//*/

//////////////////////////////////////////////////////////////////////
inline int	 Priority2Durable(int nPriority)
{
	static int	setPriority2Durable[]={ INT_MAX/TICKS_PER_SEC,				// 0

		// random
		1200, 1200, 1200, 1200, 1200,  1200, 1200, 1200, 1200, 1200,		// 1 - 10
		300, 300, 300, 300, 300,  300, 300, 300, 300, 300,		// 11 - 20

		// idle
		8, 8, 8, 8, 8,  8, 8, 8, 8, 8,		// 21 - 30
		8, 8, 8, 8, 8,  8, 8, 8, 8, 8,		// 31 - 40
		8, 8, 8, 8, 8,  8, 8, 8, 8, 8,		// 41 - 50

		// fight
		3, 3, 3, 3, 3,  3, 3, 3, 3, 3,		// 51 - 60
		3, 3, 3, 3, 3,  3, 3, 3, 3, 3,		// 61 - 70
		3, 3, 3, 3, 3,  3, 3, 3, 3, 3,		// 71 - 80

		// attack
		1, 1, 1, 1, 1,  1, 1, 1, 1, 1,		// 81 - 90
		0, 0, 0, 0, 0,  0, 0, 0, 0, 0,		// 91 - 100
	};

	return setPriority2Durable[nPriority];
}



#endif// AGENT_DATA_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -