示例#1
0
文件: 14.cpp 项目: eesast/ts17web
bool useskill()
{
	int enemy;
	if ((status->objects[0].skill_level[LONG_ATTACK]!=0)&&(status->objects[0].skill_cd[LONG_ATTACK]==0))
	{
		enemy=longattack_player(kLongAttackRange[status->objects[0].skill_level[LONG_ATTACK]]);
		if (enemy!=-1)
		{
			longattack_target=map->objects[enemy].id;
			LongAttack(status->objects[0].id,longattack_target);
			return true;
		}
	};

	if ((status->objects[0].skill_level[LONG_ATTACK]!=0)&&(status->objects[0].skill_cd[LONG_ATTACK]==0))
	{
		enemy=longattack_player(kLongAttackRange[status->objects[0].skill_level[LONG_ATTACK]]+5*kMaxMoveSpeed,15);
		if (enemy!=-1)
		{
			Position speed;
			Position pos=map->objects[enemy].pos;
			speed.x=-100*(status->objects[0].pos.x-pos.x);
			speed.y=-100*(status->objects[0].pos.y-pos.y);
			speed.z=-100*(status->objects[0].pos.z-pos.z);
			Move(status->objects[0].id,speed);
			return true;
		}
	};


	return false;
};
示例#2
0
void long_attack(PlayerObject obj, Object target){
	if (!obj.skill_level[LONG_ATTACK]) return;
	if (obj.skill_cd[LONG_ATTACK]) return;
	if (dist(obj.pos, target.pos) - obj.radius - target.radius > kLongAttackRange[obj.skill_level[LONG_ATTACK]]) 
		return;
	LongAttack(obj.id, target.id);
}