18 #include "../clib/rawtypes.h" 28 class RemoveObjectPkt;
65 bool inrange(
const Mobile::Character* c1,
const Mobile::Character* c2 );
66 bool inrange(
const Mobile::Character* c1,
const UObject* obj );
67 bool inrange(
unsigned short x1,
unsigned short y1,
unsigned short x2,
unsigned short y2 );
69 bool inrangex(
const Mobile::Character* c1,
const Mobile::Character* c2,
int maxdist );
70 bool inrangex(
const UObject* c1,
unsigned short x,
unsigned short y,
int maxdist );
72 bool multi_inrange(
const Mobile::Character* c1,
const Multi::UMulti* obj );
73 bool multi_inrange(
unsigned short x1,
unsigned short y1,
unsigned short x2,
unsigned short y2 );
75 unsigned short pol_distance(
const Mobile::Character* c1,
const UObject* obj );
76 unsigned short pol_distance(
unsigned short x1,
unsigned short y1,
unsigned short x2,
79 bool in_say_range(
const Mobile::Character* c1,
const Mobile::Character* c2 );
80 bool in_yell_range(
const Mobile::Character* c1,
const Mobile::Character* c2 );
81 bool in_whisper_range(
const Mobile::Character* c1,
const Mobile::Character* c2 );
83 void send_owncreate( Network::Client* client,
const Mobile::Character* chr );
84 void send_owncreate( Network::Client* client,
const Mobile::Character* chr,
88 void send_item( Network::Client* client,
const Items::Item* item );
89 void send_corpse( Network::Client* client,
const Items::Item* item );
92 void send_wornitem( Network::Client* client,
const Mobile::Character* chr,
93 const Items::Item* item );
95 void send_move( Network::Client* client,
const Mobile::Character* chr );
96 void send_move( Network::Client* client,
const Mobile::Character* chr,
98 void send_objdesc( Network::Client* client, Items::Item* item );
111 void send_midi( Network::Client* client,
unsigned short midi );
115 void setrealm( Items::Item* item,
void* arg );
116 void setrealmif( Items::Item* item,
void* arg );
120 Network::RemoveObjectPkt& pkt );
125 Network::RemoveObjectPkt& pkt );
132 void send_goxyz( Network::Client* client,
const Mobile::Character* chr );
134 void send_weather( Network::Client* client,
unsigned char type,
unsigned char severity,
136 void send_mode( Network::Client* client );
152 u8 loop,
u8 explode, Realms::Realm* realm );
156 Realms::Realm* realm );
163 u8 duration,
u32 hue,
u32 render,
u8 direction,
u8 explode,
164 u16 effect3d,
u16 effect3dexplode,
u16 effect3dsound );
167 u8 explode,
u16 effect3d,
u16 effect3dexplode,
u16 effect3dsound );
172 Items::Item*
find_legal_item(
const Mobile::Character* chr,
u32 serial,
bool* additlegal =
nullptr,
173 bool* isRemoteContainer =
nullptr );
190 bool say_above(
const UObject* obj,
const u16* wtext,
const char lang[4],
194 bool private_say_above( Mobile::Character* chr,
const UObject* obj,
const char* text,
203 Items::Item*
copy_item(
const Items::Item* src_item );
206 bool send_menu( Network::Client* client, Menu* menu );
210 void send_char_data( Network::Client* client, Mobile::Character* chr );
218 void move_item( Items::Item* item,
unsigned short newx,
unsigned short newy,
signed char newz,
219 Realms::Realm* oldrealm );
231 void send_remove( Network::Client& client, UObject& to_remove );
235 void send_open_gump( Network::Client* client,
const UContainer& cont );
253 void send_damage( Mobile::Character* attacker, Mobile::Character* defender,
u16 damage );
254 void sendCharProfile( Mobile::Character* chr, Mobile::Character* of_who,
const char* title,
255 const u16* utext,
const u16* etext );
258 u32 cl_name = 0,
u32 cl_descr = 0,
259 std::vector<u32> arguments = std::vector<u32>() );
void play_moving_effect2(u16 xs, u16 ys, s8 zs, u16 xd, u16 yd, s8 zd, u16 effect, u8 speed, u8 loop, u8 explode, Realms::Realm *realm)
void register_with_supporting_multi(Item *item)
void send_objects_newly_inrange(Network::Client *client)
const int JOURNAL_PRINT_NAME
void broadcast(const char *text, unsigned short font, unsigned short color, unsigned short requiredCmdLevel)
void login_complete(Client *c)
void send_invulhealthbar(Client *client, const Character *chr)
void send_mode(Network::Client *client)
Character * chr_from_wornitems(UContainer *wornitems)
void send_remove_character_to_nearby(const Character *chr)
void SetCurrentCharSerialNumber(u32 serial)
void send_full_corpse(Client *client, const Item *item)
void send_remove(Network::Client &client, UObject &to_remove)
void send_item_if_newly_inrange(Items::Item *item, Network::Client *client)
void send_mana_level(Client *client)
Items::Item * copy_item(const Items::Item *src_item)
void update_all_weatherregions()
u32 GetNextSerialNumber(void)
void transmit_to_inrange(const UObject *center, const void *msg, unsigned msglen)
bool inrange(const UObject *c1, unsigned short x, unsigned short y)
Character * UpdateCharacterWeight(Item *item)
const unsigned short DEFAULT_TEXT_COLOR
void send_multis_newly_inrange(Multi::UMulti *multi, Network::Client *client)
void send_new_subserver(Client *client)
Item * find_legal_item(const Character *chr, u32 serial, bool *additlegal, bool *isRemoteContainer)
void send_open_gump(Network::Client *client, const UContainer &cont)
void play_moving_effect2_ex(u16 xs, u16 ys, s8 zs, u16 xd, u16 yd, s8 zd, Realms::Realm *realm, u16 effect, u8 speed, u8 duration, u32 hue, u32 render, u8 direction, u8 explode, u16 effect3d, u16 effect3dexplode, u16 effect3dsound)
void send_light(Client *client, int lightlevel)
void send_create_mobile_if_nearby_cansee(Client *client, const Character *chr)
int lightlevel(unsigned short x, unsigned short y)
void send_remove_object_if_inrange(Client *client, const Item *item)
void send_put_in_container_to_inrange(const Item *item)
PacketWriterDefs::PacketTemplate< Core::PKTOUT_78_ID, 19+(9 *Core::HIGHEST_LAYER)+4 > PktOut_78
void play_moving_effect(const UObject *src, const UObject *dst, u16 effect, u8 speed, u8 loop, u8 explode)
const unsigned short DEFAULT_TEXT_FONT
void send_item_to_inrange(const Item *item)
u16 convert_objtype_to_spellnum(u32 objtype, int school)
void send_item_move_failure(Network::Client *client, u8 reason)
bool private_say_above(Character *chr, const UObject *obj, const char *text, unsigned short font, unsigned short color, unsigned int journal_print)
void send_remove_character(Client *client, const Character *chr)
void send_remove_character_to_nearby_cantsee(const Character *chr)
void send_corpse(Client *client, const Item *item)
void play_stationary_effect_ex(u16 x, u16 y, s8 z, Realms::Realm *realm, u16 effect, u8 speed, u8 duration, u32 hue, u32 render, u16 effect3d)
void send_move_mobile_to_nearby_cansee(const Character *chr)
void send_poisonhealthbar(Client *client, const Character *chr)
bool in_whisper_range(const Character *c1, const Character *c2)
void send_midi(Client *client, u16 midi)
bool in_say_range(const Character *c1, const Character *c2)
void destroy_item(Item *item)
void send_login_error(Network::Client *client, unsigned char reason)
void send_goxyz(Client *client, const Character *chr)
void play_object_centered_effect_ex(const UObject *center, u16 effect, u8 speed, u8 duration, u32 hue, u32 render, u8 layer, u16 effect3d)
u32 GetNewItemSerialNumber(void)
PacketWriterDefs::PacketTemplate< Core::PKTOUT_77_ID, 17 > PktOut_77
void send_damage(Character *attacker, Character *defender, u16 damage)
bool is_a_parent(const Item *item, u32 serial)
void send_feature_enable(Client *client)
void send_remove_object(Client *client, const UObject *object)
u32 UseCharSerialNumber(u32 serial)
void update_wornitem_to_inrange(const Character *chr, const Item *item)
void play_sound_effect(const UObject *center, u16 effect)
bool send_menu(Network::Client *client, Menu *menu)
void play_sound_effect_xyz(u16 cx, u16 cy, s8 cz, u16 effect, Realms::Realm *realm)
u32 UseItemSerialNumber(u32 serial)
UContainer * find_legal_container(const Character *chr, u32 serial)
void setrealm(Item *item, void *arg)
void send_death_message(Character *chr_died, Item *corpse)
void send_fight_occuring(Client *client, Character *opponent)
void send_corpse_equip_inrange(const Item *item)
void send_remove_object_to_inrange(const UObject *centerObject)
Mobile::Character * find_character(u32 serial)
void send_realm_change(Client *client, Realms::Realm *realm)
void move_item(Item *item, UFACING facing)
void send_stamina_level(Client *client)
void send_wornitem(Client *client, const Character *chr, const Item *item)
void send_objects_newly_inrange_on_boat(Network::Client *client, u32 serial)
u32 GetCurrentItemSerialNumber(void)
void send_char_if_newly_inrange(Mobile::Character *chr, Network::Client *client)
void play_object_centered_effect(const UObject *center, u16 effect, u8 speed, u8 loop)
const unsigned short DEFAULT_TEXT_REQUIREDCMD
void send_item(Client *client, const Item *item)
void send_weather(Client *client, u8 type, u8 severity, u8 aux)
void remove_objects_inrange(Network::Client *client)
void build_owncreate(const Character *chr, PktOut_78 *owncreate)
bool in_yell_range(const Character *c1, const Character *c2)
void send_buff_message(Character *chr, u16 icon, bool show, u16 duration, u32 cl_name, u32 cl_descr, std::vector< u32 > arguments)
void setrealmif(Item *item, void *arg)
void play_sound_effect_private(const UObject *center, u16 effect, Character *forchr)
unsigned short pol_distance(unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2)
void send_container_contents(Network::Client *client, const UContainer &cont)
u32 GetCurrentCharSerialNumber(void)
void SetCurrentItemSerialNumber(u32 serial)
void send_move(Network::Client *client, const Mobile::Character *chr, Network::PktOut_77 *movebuffer)
void send_wornitem_to_inrange(const Character *chr, const Item *item)
void sendCharProfile(Character *chr, Character *of_who, const char *title, const u16 *utext, const u16 *etext)
void UpdateCharacterOnDestroyItem(Item *item)
void send_char_data(Client *client, Character *chr)
void send_remove_character_to_nearby_cansee(const Character *chr)
void send_season_info(Client *client)
bool clientHasCharacter(Client *c)
bool inrangex(const Character *c1, const Character *c2, int maxdist)
void play_stationary_effect(u16 x, u16 y, s8 z, u16 effect, u8 speed, u8 loop, u8 explode, Realms::Realm *realm)
void send_owncreate(Client *client, const Character *chr)
void send_create_mobile_to_nearby_cansee(const Character *chr)
void transmit_to_others_inrange(Character *center, const void *msg, unsigned msglen)
void play_moving_effect_ex(const UObject *src, const UObject *dst, u16 effect, u8 speed, u8 duration, u32 hue, u32 render, u8 direction, u8 explode, u16 effect3d, u16 effect3dexplode, u16 effect3dsound)
bool say_above(const UObject *obj, const char *text, unsigned short font, unsigned short color, unsigned int journal_print)
void play_lightning_bolt_effect(const UObject *center)
void send_map_difs(Client *client)
Sends number of maps used and number of map/static patches for each map.
void send_sysmessage(Network::Client *client, const char *text, unsigned short font, unsigned short color)
void send_objdesc(Client *client, Item *item)
void send_put_in_container(Client *client, const Item *item)
void update_item_to_inrange(const Item *item)
UObject * find_toplevel_object(u32 serial)
bool multi_inrange(const Mobile::Character *c1, const Multi::UMulti *obj)