d2tweaks-rnd2k/include/d2tweaks/server/modules/transmute/transmute_server.h
2024-04-16 21:45:38 -06:00

33 lines
1006 B
C++

#pragma once
#include <cstdint>
#include <d2tweaks/server/modules/server_module.h>
namespace diablo2 {
namespace structures {
struct inventory;
struct game;
struct unit;
}
}
namespace d2_tweaks {
namespace server {
class server;
namespace modules {
class transmute final : public server_module {
public:
void init() override;
void tick(diablo2::structures::game* game, diablo2::structures::unit* unit) override;
bool handle_packet(diablo2::structures::game* game, diablo2::structures::unit* player, common::packet_header* packet) override;
private:
bool find_free_space(diablo2::structures::inventory* inv, diablo2::structures::unit* item, int32_t inventoryIndex, char page, uint32_t& x, uint32_t& y);
bool send_to_cube(diablo2::structures::game* game, diablo2::structures::unit* player, diablo2::structures::unit* item);
bool move_item_to(diablo2::structures::game* game, diablo2::structures::unit* player, common::packet_header* packet);
};
}
}
}