Pol  Revision:cb584c9
ufunc.h
Go to the documentation of this file.
1 
13 #ifndef __UFUNC_H
14 #define __UFUNC_H
15 
16 #include <stddef.h>
17 
18 #include "../clib/rawtypes.h"
19 #include "core.h"
20 #include "network/packets.h"
21 #include "uconst.h"
22 
23 namespace Pol
24 {
25 namespace Network
26 {
27 class Client;
28 class RemoveObjectPkt;
29 }
30 namespace Mobile
31 {
32 class Character;
33 }
34 namespace Items
35 {
36 class Item;
37 }
38 namespace Multi
39 {
40 class UMulti;
41 }
42 namespace Realms
43 {
44 class Realm;
45 }
46 
47 namespace Core
48 {
49 class Menu;
50 class UContainer;
51 class UObject;
52 
53 void SetCurrentItemSerialNumber( u32 serial );
54 void SetCurrentCharSerialNumber( u32 serial );
58 u32 UseCharSerialNumber( u32 serial );
59 
61 u32 UseItemSerialNumber( u32 serial );
62 
63 void send_login_error( Network::Client* client, unsigned char reason );
64 
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 );
68 
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 );
71 
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 );
74 
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,
77  unsigned short y2 );
78 
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 );
82 
83 void send_owncreate( Network::Client* client, const Mobile::Character* chr );
84 void send_owncreate( Network::Client* client, const Mobile::Character* chr,
85  Network::PktOut_78* owncreate );
86 void build_owncreate( const Mobile::Character* chr, Network::PktOut_78* msg );
87 
88 void send_item( Network::Client* client, const Items::Item* item );
89 void send_corpse( Network::Client* client, const Items::Item* item );
90 void send_full_corpse( Network::Client* client, const Items::Item* item );
91 
92 void send_wornitem( Network::Client* client, const Mobile::Character* chr,
93  const Items::Item* item );
94 
95 void send_move( Network::Client* client, const Mobile::Character* chr );
96 void send_move( Network::Client* client, const Mobile::Character* chr,
97  Network::PktOut_77* movebuffer );
98 void send_objdesc( Network::Client* client, Items::Item* item );
99 
100 void send_poisonhealthbar( Network::Client* client, const Mobile::Character* chr );
101 void send_invulhealthbar( Network::Client* client, const Mobile::Character* chr );
102 
103 void send_item_to_inrange( const Items::Item* item );
104 void update_item_to_inrange( const Items::Item* item );
105 void send_put_in_container( Network::Client* client, const Items::Item* item );
106 void send_put_in_container_to_inrange( const Items::Item* item );
107 void send_wornitem_to_inrange( const Mobile::Character* chr, const Items::Item* item );
108 void update_wornitem_to_inrange( const Mobile::Character* chr, const Items::Item* item );
109 void send_corpse_equip_inrange( const Items::Item* item );
110 
111 void send_midi( Network::Client* client, unsigned short midi );
112 Mobile::Character* find_character( u32 serial );
113 
114 UObject* find_toplevel_object( u32 serial );
115 void setrealm( Items::Item* item, void* arg );
116 void setrealmif( Items::Item* item, void* arg );
117 
118 // TODO: 9 global functions for remove pkt???
119 void send_remove_character( Network::Client* client, const Mobile::Character* chr,
120  Network::RemoveObjectPkt& pkt );
121 void send_remove_character( Network::Client* client, const Mobile::Character* chr );
122 void send_remove_object_if_inrange( Network::Client* client, const Items::Item* obj );
123 void send_remove_object_to_inrange( const UObject* centerObject );
124 void send_remove_object( Network::Client* client, const UObject* item,
125  Network::RemoveObjectPkt& pkt );
126 void send_remove_object( Network::Client* client, const UObject* obj );
127 void send_remove_character_to_nearby( const Mobile::Character* chr );
128 void send_remove_character_to_nearby_cantsee( const Mobile::Character* chr );
129 void remove_objects_inrange( Network::Client* client );
130 
131 
132 void send_goxyz( Network::Client* client, const Mobile::Character* chr );
133 void send_light( Network::Client* client, int lightlevel );
134 void send_weather( Network::Client* client, unsigned char type, unsigned char severity,
135  unsigned char aux );
136 void send_mode( Network::Client* client );
137 void send_item_move_failure( Network::Client* client, u8 reason );
138 u16 convert_objtype_to_spellnum( u32 objtype, int school );
139 
140 void send_stamina_level( Network::Client* client );
141 void send_mana_level( Network::Client* client );
142 
143 UContainer* find_legal_container( const Mobile::Character* chr, u32 serial );
144 bool is_a_parent( const Items::Item* item, u32 serial );
145 void play_sound_effect( const UObject* center, u16 effect );
146 void play_sound_effect_private( const UObject* center, u16 effect, Mobile::Character* forchr );
147 void play_sound_effect_xyz( u16 cx, u16 cy, s8 cz, u16 effect, Realms::Realm* realm );
148 void play_lightning_bolt_effect( const UObject* center );
149 void play_moving_effect( const UObject* src, const UObject* dst, u16 effect, u8 speed, u8 loop,
150  u8 explode );
151 void play_moving_effect2( u16 xs, u16 ys, s8 zs, u16 xd, u16 yd, s8 zd, u16 effect, u8 speed,
152  u8 loop, u8 explode, Realms::Realm* realm );
153 void play_object_centered_effect( const UObject* center, u16 effect, u8 speed, u8 loop );
154 
155 void play_stationary_effect( u16 x, u16 y, s8 z, u16 effect, u8 speed, u8 loop, u8 explode,
156  Realms::Realm* realm );
157 
158 void play_stationary_effect_ex( u16 x, u16 y, s8 z, Realms::Realm* realm, u16 effect, u8 speed,
159  u8 duration, u32 hue, u32 render, u16 effect3d );
160 void play_object_centered_effect_ex( const UObject* center, u16 effect, u8 speed, u8 duration,
161  u32 hue, u32 render, u8 layer, u16 effect3d );
162 void play_moving_effect_ex( const UObject* src, const UObject* dst, u16 effect, u8 speed,
163  u8 duration, u32 hue, u32 render, u8 direction, u8 explode,
164  u16 effect3d, u16 effect3dexplode, u16 effect3dsound );
165 void play_moving_effect2_ex( u16 xs, u16 ys, s8 zs, u16 xd, u16 yd, s8 zd, Realms::Realm* realm,
166  u16 effect, u8 speed, u8 duration, u32 hue, u32 render, u8 direction,
167  u8 explode, u16 effect3d, u16 effect3dexplode, u16 effect3dsound );
168 
169 
170 // find_legal_item: search worn items, including backpack recursively, and
171 // items on the ground, recursively, for an item of a given serial.
172 Items::Item* find_legal_item( const Mobile::Character* chr, u32 serial, bool* additlegal = nullptr,
173  bool* isRemoteContainer = nullptr );
174 
175 void send_sysmessage( Network::Client* client, const char* text,
176  unsigned short font = DEFAULT_TEXT_FONT,
177  unsigned short color = DEFAULT_TEXT_COLOR );
178 void send_sysmessage( Network::Client* client, const u16* wtext, const char lang[4],
179  unsigned short font = DEFAULT_TEXT_FONT,
180  unsigned short color = DEFAULT_TEXT_COLOR );
181 void broadcast( const char* text, unsigned short font = DEFAULT_TEXT_FONT,
182  unsigned short color = DEFAULT_TEXT_COLOR,
183  unsigned short requiredCmdLevel = DEFAULT_TEXT_REQUIREDCMD );
184 void broadcast( const u16* wtext, const char lang[4], unsigned short font = DEFAULT_TEXT_FONT,
185  unsigned short color = DEFAULT_TEXT_COLOR,
186  unsigned short requiredCmdLevel = DEFAULT_TEXT_REQUIREDCMD );
187 bool say_above( const UObject* obj, const char* text, unsigned short font = DEFAULT_TEXT_FONT,
188  unsigned short color = DEFAULT_TEXT_COLOR,
189  unsigned int journal_print = JOURNAL_PRINT_NAME );
190 bool say_above( const UObject* obj, const u16* wtext, const char lang[4],
191  unsigned short font = DEFAULT_TEXT_FONT, unsigned short color = DEFAULT_TEXT_COLOR,
192  unsigned int journal_print = JOURNAL_PRINT_NAME );
193 
194 bool private_say_above( Mobile::Character* chr, const UObject* obj, const char* text,
195  unsigned short font = DEFAULT_TEXT_FONT,
196  unsigned short color = DEFAULT_TEXT_COLOR,
197  unsigned int journal_print = JOURNAL_PRINT_NAME );
198 bool private_say_above( Mobile::Character* chr, const UObject* obj, const u16* wtext,
199  const char lang[4], unsigned short font = DEFAULT_TEXT_FONT,
200  unsigned short color = DEFAULT_TEXT_COLOR,
201  unsigned int journal_print = JOURNAL_PRINT_NAME );
202 
203 Items::Item* copy_item( const Items::Item* src_item );
205 
206 bool send_menu( Network::Client* client, Menu* menu );
207 void send_death_message( Mobile::Character* chr_died, Items::Item* corpse );
208 void send_container_contents( Network::Client* client, const UContainer& cont );
209 
210 void send_char_data( Network::Client* client, Mobile::Character* chr );
211 
212 void transmit_to_inrange( const UObject* center, const void* msg, unsigned msglen );
213 void transmit_to_others_inrange( Mobile::Character* center, const void* msg, unsigned msglen );
214 
215 void destroy_item( Items::Item* item );
216 
217 void move_item( Items::Item* item, UFACING facing );
218 void move_item( Items::Item* item, unsigned short newx, unsigned short newy, signed char newz,
219  Realms::Realm* oldrealm );
220 
221 void send_char_if_newly_inrange( Mobile::Character* chr, Network::Client* client );
222 void send_item_if_newly_inrange( Items::Item* item, Network::Client* client );
223 void send_objects_newly_inrange( Network::Client* client );
224 void send_objects_newly_inrange_on_boat( Network::Client* client, u32 serial );
225 
226 void send_create_mobile_if_nearby_cansee( Network::Client* client, const Mobile::Character* chr );
227 void send_create_mobile_to_nearby_cansee( const Mobile::Character* chr );
228 
229 void send_move_mobile_to_nearby_cansee( const Mobile::Character* chr );
230 
231 void send_remove( Network::Client& client, UObject& to_remove );
232 
233 void send_remove_character_to_nearby_cansee( const Mobile::Character* chr );
234 
235 void send_open_gump( Network::Client* client, const UContainer& cont );
236 
237 void send_multis_newly_inrange( Multi::UMulti* multi, Network::Client* client );
238 
239 Mobile::Character* chr_from_wornitems( UContainer* wornitems );
240 
241 void register_with_supporting_multi( Items::Item* item );
242 
243 Mobile::Character* UpdateCharacterWeight( Items::Item* item );
244 void UpdateCharacterOnDestroyItem( Items::Item* item );
245 bool clientHasCharacter( Network::Client* c );
246 void login_complete( Network::Client* c );
247 void send_feature_enable( Network::Client* client );
248 void send_realm_change( Network::Client* client, Realms::Realm* realm );
249 void send_map_difs( Network::Client* client );
250 void send_season_info( Network::Client* client );
251 void send_new_subserver( Network::Client* client );
252 void send_fight_occuring( Network::Client* client, Mobile::Character* opponent );
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 );
256 
257 void send_buff_message( Mobile::Character* chr, u16 icon, bool show, u16 duration = 0,
258  u32 cl_name = 0, u32 cl_descr = 0,
259  std::vector<u32> arguments = std::vector<u32>() );
260 }
261 }
262 #endif
unsigned char u8
Definition: rawtypes.h:25
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)
Definition: ufunc.cpp:1054
void register_with_supporting_multi(Item *item)
Definition: ufunc.cpp:1875
void send_objects_newly_inrange(Network::Client *client)
Definition: movement.cpp:64
const int JOURNAL_PRINT_NAME
Definition: core.h:89
void broadcast(const char *text, unsigned short font, unsigned short color, unsigned short requiredCmdLevel)
Definition: ufunc.cpp:1213
void login_complete(Client *c)
Definition: ufunc.cpp:1947
void send_invulhealthbar(Client *client, const Character *chr)
Definition: ufunc.cpp:196
void send_mode(Network::Client *client)
Character * chr_from_wornitems(UContainer *wornitems)
Definition: ufunc.cpp:1529
void send_remove_character_to_nearby(const Character *chr)
Definition: ufunc.cpp:379
void SetCurrentCharSerialNumber(u32 serial)
Definition: ufunc.cpp:101
void send_full_corpse(Client *client, const Item *item)
Definition: ufunc.cpp:660
void send_remove(Network::Client &client, UObject &to_remove)
void send_item_if_newly_inrange(Items::Item *item, Network::Client *client)
Definition: movement.cpp:43
void send_mana_level(Client *client)
Definition: ufunc.cpp:1471
Items::Item * copy_item(const Items::Item *src_item)
void update_all_weatherregions()
Definition: ufunc.cpp:1761
u32 GetNextSerialNumber(void)
Definition: ufunc.cpp:119
void transmit_to_inrange(const UObject *center, const void *msg, unsigned msglen)
Definition: ufunc.cpp:1511
bool inrange(const UObject *c1, unsigned short x, unsigned short y)
Definition: ufunc.cpp:454
Character * UpdateCharacterWeight(Item *item)
Definition: ufunc.cpp:1916
const unsigned short DEFAULT_TEXT_COLOR
Definition: uconst.h:97
void send_multis_newly_inrange(Multi::UMulti *multi, Network::Client *client)
void send_new_subserver(Client *client)
Definition: ufunc.cpp:2109
Item * find_legal_item(const Character *chr, u32 serial, bool *additlegal, bool *isRemoteContainer)
Definition: ufunc.cpp:958
void send_open_gump(Network::Client *client, const UContainer &cont)
Definition: ufunc2.cpp:67
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)
Definition: ufunc.cpp:1129
void send_light(Client *client, int lightlevel)
Definition: ufunc.cpp:766
void send_create_mobile_if_nearby_cansee(Client *client, const Character *chr)
Definition: ufunc.cpp:1886
int lightlevel(unsigned short x, unsigned short y)
void send_remove_object_if_inrange(Client *client, const Item *item)
Definition: ufunc.cpp:409
void send_put_in_container_to_inrange(const Item *item)
Definition: ufunc.cpp:539
PacketWriterDefs::PacketTemplate< Core::PKTOUT_78_ID, 19+(9 *Core::HIGHEST_LAYER)+4 > PktOut_78
Definition: packets.h:394
void play_moving_effect(const UObject *src, const UObject *dst, u16 effect, u8 speed, u8 loop, u8 explode)
Definition: ufunc.cpp:1039
const unsigned short DEFAULT_TEXT_FONT
Definition: uconst.h:96
void send_item_to_inrange(const Item *item)
Definition: ufunc.cpp:706
u16 convert_objtype_to_spellnum(u32 objtype, int school)
void send_item_move_failure(Network::Client *client, u8 reason)
Definition: ufunc.cpp:818
bool private_say_above(Character *chr, const UObject *obj, const char *text, unsigned short font, unsigned short color, unsigned int journal_print)
Definition: ufunc.cpp:1328
unsigned short u16
Definition: rawtypes.h:26
unsigned int u32
Definition: rawtypes.h:27
void send_remove_character(Client *client, const Character *chr)
Definition: ufunc.cpp:355
void send_remove_character_to_nearby_cantsee(const Character *chr)
Definition: ufunc.cpp:389
void send_corpse(Client *client, const Item *item)
Definition: ufunc.cpp:651
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)
Definition: ufunc.cpp:1095
void send_move_mobile_to_nearby_cansee(const Character *chr)
Definition: ufunc.cpp:1905
void send_poisonhealthbar(Client *client, const Character *chr)
Definition: ufunc.cpp:186
bool in_whisper_range(const Character *c1, const Character *c2)
Definition: ufunc.cpp:512
void send_midi(Client *client, u16 midi)
Definition: ufunc.cpp:1867
bool in_say_range(const Character *c1, const Character *c2)
Definition: ufunc.cpp:504
void destroy_item(Item *item)
Definition: ufunc.cpp:1538
void send_login_error(Network::Client *client, unsigned char reason)
Definition: login.cpp:60
void send_goxyz(Client *client, const Character *chr)
Definition: ufunc.cpp:149
void play_object_centered_effect_ex(const UObject *center, u16 effect, u8 speed, u8 duration, u32 hue, u32 render, u8 layer, u16 effect3d)
Definition: ufunc.cpp:1104
u32 GetNewItemSerialNumber(void)
Definition: ufunc.cpp:142
PacketWriterDefs::PacketTemplate< Core::PKTOUT_77_ID, 17 > PktOut_77
Definition: packets.h:392
void send_damage(Character *attacker, Character *defender, u16 damage)
Definition: ufunc.cpp:2130
bool is_a_parent(const Item *item, u32 serial)
Definition: ufunc.cpp:877
void send_feature_enable(Client *client)
Definition: ufunc.cpp:1953
void send_remove_object(Client *client, const UObject *object)
Definition: ufunc.cpp:420
u32 UseCharSerialNumber(u32 serial)
Definition: ufunc.cpp:126
void update_wornitem_to_inrange(const Character *chr, const Item *item)
Definition: ufunc.cpp:857
void play_sound_effect(const UObject *center, u16 effect)
Definition: ufunc.cpp:1015
bool send_menu(Network::Client *client, Menu *menu)
Definition: ufunc2.cpp:28
void play_sound_effect_xyz(u16 cx, u16 cy, s8 cz, u16 effect, Realms::Realm *realm)
Definition: ufunc.cpp:1023
u32 UseItemSerialNumber(u32 serial)
Definition: ufunc.cpp:134
UContainer * find_legal_container(const Character *chr, u32 serial)
Definition: ufunc.cpp:892
void setrealm(Item *item, void *arg)
Definition: ufunc.cpp:1571
void send_death_message(Character *chr_died, Item *corpse)
Definition: ufunc.cpp:1497
void send_fight_occuring(Client *client, Character *opponent)
Definition: ufunc.cpp:2121
signed char s8
Definition: rawtypes.h:29
void send_corpse_equip_inrange(const Item *item)
Definition: ufunc.cpp:667
void send_remove_object_to_inrange(const UObject *centerObject)
Definition: ufunc.cpp:428
Mobile::Character * find_character(u32 serial)
Definition: fnsearch.cpp:60
void send_realm_change(Client *client, Realms::Realm *realm)
Definition: ufunc.cpp:2034
void move_item(Item *item, UFACING facing)
Definition: ufunc.cpp:1601
void send_stamina_level(Client *client)
Definition: ufunc.cpp:1445
void send_wornitem(Client *client, const Character *chr, const Item *item)
Definition: ufunc.cpp:825
void send_objects_newly_inrange_on_boat(Network::Client *client, u32 serial)
Definition: movement.cpp:77
u32 GetCurrentItemSerialNumber(void)
Definition: ufunc.cpp:107
void send_char_if_newly_inrange(Mobile::Character *chr, Network::Client *client)
Definition: movement.cpp:33
void play_object_centered_effect(const UObject *center, u16 effect, u8 speed, u8 loop)
Definition: ufunc.cpp:1078
const unsigned short DEFAULT_TEXT_REQUIREDCMD
Definition: uconst.h:98
void send_item(Client *client, const Item *item)
Definition: ufunc.cpp:676
void send_weather(Client *client, u8 type, u8 severity, u8 aux)
Definition: ufunc.cpp:776
void remove_objects_inrange(Network::Client *client)
Definition: movement.cpp:121
void build_owncreate(const Character *chr, PktOut_78 *owncreate)
Definition: ufunc.cpp:282
bool in_yell_range(const Character *c1, const Character *c2)
Definition: ufunc.cpp:508
void send_buff_message(Character *chr, u16 icon, bool show, u16 duration, u32 cl_name, u32 cl_descr, std::vector< u32 > arguments)
Definition: ufunc.cpp:2188
void setrealmif(Item *item, void *arg)
Definition: ufunc.cpp:1577
void play_sound_effect_private(const UObject *center, u16 effect, Character *forchr)
Definition: ufunc.cpp:1030
unsigned short pol_distance(unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2)
Definition: ufunc.cpp:481
void send_container_contents(Network::Client *client, const UContainer &cont)
Definition: ufunc2.cpp:78
u32 GetCurrentCharSerialNumber(void)
Definition: ufunc.cpp:113
void SetCurrentItemSerialNumber(u32 serial)
Definition: ufunc.cpp:95
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)
Definition: ufunc.cpp:842
void sendCharProfile(Character *chr, Character *of_who, const char *title, const u16 *utext, const u16 *etext)
Definition: ufunc.cpp:2139
void UpdateCharacterOnDestroyItem(Item *item)
Definition: ufunc.cpp:1927
void send_char_data(Client *client, Character *chr)
Definition: ufunc.cpp:787
void send_remove_character_to_nearby_cansee(const Character *chr)
Definition: ufunc.cpp:400
void send_season_info(Client *client)
Definition: ufunc.cpp:2090
bool clientHasCharacter(Client *c)
Definition: ufunc.cpp:1942
bool inrangex(const Character *c1, const Character *c2, int maxdist)
Definition: ufunc.cpp:443
void play_stationary_effect(u16 x, u16 y, s8 z, u16 effect, u8 speed, u8 loop, u8 explode, Realms::Realm *realm)
Definition: ufunc.cpp:1086
void send_owncreate(Client *client, const Character *chr)
Definition: ufunc.cpp:206
void send_create_mobile_to_nearby_cansee(const Character *chr)
Definition: ufunc.cpp:1895
void transmit_to_others_inrange(Character *center, const void *msg, unsigned msglen)
Definition: ufunc.cpp:1518
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)
Definition: ufunc.cpp:1113
bool say_above(const UObject *obj, const char *text, unsigned short font, unsigned short color, unsigned int journal_print)
Definition: ufunc.cpp:1258
void play_lightning_bolt_effect(const UObject *center)
Definition: ufunc.cpp:1070
void send_map_difs(Client *client)
Sends number of maps used and number of map/static patches for each map.
Definition: ufunc.cpp:2044
Definition: berror.cpp:12
void send_sysmessage(Network::Client *client, const char *text, unsigned short font, unsigned short color)
Definition: ufunc.cpp:1147
void send_objdesc(Client *client, Item *item)
Definition: ufunc.cpp:1425
void send_put_in_container(Client *client, const Item *item)
Definition: ufunc.cpp:528
void update_item_to_inrange(const Item *item)
Definition: ufunc.cpp:737
UObject * find_toplevel_object(u32 serial)
Definition: fnsearch.cpp:86
bool multi_inrange(const Mobile::Character *c1, const Multi::UMulti *obj)
Definition: ufunc.cpp:474