Pol  Revision:cb584c9
ufunc.cpp File Reference
#include "ufunc.h"
#include <cstddef>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <string>
#include "../clib/clib_endian.h"
#include "../clib/logfacility.h"
#include "../clib/passert.h"
#include "../plib/mapcell.h"
#include "../plib/systemstate.h"
#include "accounts/account.h"
#include "containr.h"
#include "fnsearch.h"
#include "globals/network.h"
#include "globals/object_storage.h"
#include "globals/state.h"
#include "globals/uvars.h"
#include "item/item.h"
#include "layers.h"
#include "lightlvl.h"
#include "mdelta.h"
#include "miscrgn.h"
#include "mobile/charactr.h"
#include "mobile/corpse.h"
#include "multi/multi.h"
#include "multi/multidef.h"
#include "network/cgdata.h"
#include "network/client.h"
#include "network/packetdefs.h"
#include "network/packethelper.h"
#include "objecthash.h"
#include "objtype.h"
#include "pktdef.h"
#include "polcfg.h"
#include "polclass.h"
#include "realms/realm.h"
#include "statmsg.h"
#include "tooltips.h"
#include "uobject.h"
#include "uoclient.h"
#include "uworld.h"

Go to the source code of this file.

Namespaces

 Pol
 
 Pol::Core
 

Functions

void Pol::Core::broadcast (const char *text, unsigned short font, unsigned short color, unsigned short requiredCmdLevel)
 
void Pol::Core::broadcast (const u16 *wtext, const char lang[4], unsigned short font, unsigned short color, unsigned short requiredCmdLevel)
 
void Pol::Core::build_owncreate (const Character *chr, PktOut_78 *owncreate)
 
bool Pol::Core::can_see_on_corpse (const Client *client, const Item *item)
 
Character * Pol::Core::chr_from_wornitems (UContainer *wornitems)
 
bool Pol::Core::clientHasCharacter (Client *c)
 
void Pol::Core::destroy_item (Item *item)
 
UContainer * Pol::Core::find_legal_container (const Character *chr, u32 serial)
 
Item * Pol::Core::find_legal_item (const Character *chr, u32 serial, bool *additlegal, bool *isRemoteContainer)
 
std::string Pol::Core::format_description (unsigned int polflags, const std::string &descdef, unsigned short amount, const std::string suffix)
 
u32 Pol::Core::GetCurrentCharSerialNumber (void)
 
u32 Pol::Core::GetCurrentItemSerialNumber (void)
 
u32 Pol::Core::GetNewItemSerialNumber (void)
 
u32 Pol::Core::GetNextSerialNumber (void)
 
bool Pol::Core::in_say_range (const Character *c1, const Character *c2)
 
bool Pol::Core::in_whisper_range (const Character *c1, const Character *c2)
 
bool Pol::Core::in_yell_range (const Character *c1, const Character *c2)
 
bool Pol::Core::inrange (const UObject *c1, unsigned short x, unsigned short y)
 
bool Pol::Core::inrange (const Mobile::Character *c1, const Mobile::Character *c2)
 
bool Pol::Core::inrange (const Mobile::Character *c1, const UObject *obj)
 
bool Pol::Core::inrange (unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2)
 
bool Pol::Core::inrangex (const Character *c1, const Character *c2, int maxdist)
 
bool Pol::Core::inrangex (const UObject *c1, unsigned short x, unsigned short y, int maxdist)
 
bool Pol::Core::is_a_parent (const Item *item, u32 serial)
 
void Pol::Core::login_complete (Client *c)
 
void Pol::Core::move_item (Item *item, UFACING facing)
 
void Pol::Core::move_item (Item *item, unsigned short newx, unsigned short newy, signed char newz, Realms::Realm *oldrealm)
 
bool Pol::Core::multi_inrange (const Mobile::Character *c1, const Multi::UMulti *obj)
 
bool Pol::Core::multi_inrange (unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2)
 
void Pol::Core::play_lightning_bolt_effect (const UObject *center)
 
void Pol::Core::play_moving_effect (const UObject *src, const UObject *dst, u16 effect, u8 speed, u8 loop, u8 explode)
 
void Pol::Core::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 Pol::Core::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 Pol::Core::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)
 
void Pol::Core::play_object_centered_effect (const UObject *center, u16 effect, u8 speed, u8 loop)
 
void Pol::Core::play_object_centered_effect_ex (const UObject *center, u16 effect, u8 speed, u8 duration, u32 hue, u32 render, u8 layer, u16 effect3d)
 
void Pol::Core::play_sound_effect (const UObject *center, u16 effect)
 
void Pol::Core::play_sound_effect_private (const UObject *center, u16 effect, Character *forchr)
 
void Pol::Core::play_sound_effect_xyz (u16 cx, u16 cy, s8 cz, u16 effect, Realms::Realm *realm)
 
void Pol::Core::play_stationary_effect (u16 x, u16 y, s8 z, u16 effect, u8 speed, u8 loop, u8 explode, Realms::Realm *realm)
 
void Pol::Core::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)
 
unsigned short Pol::Core::pol_distance (unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2)
 
unsigned short Pol::Core::pol_distance (const Mobile::Character *c1, const UObject *obj)
 
bool Pol::Core::private_say_above (Character *chr, const UObject *obj, const char *text, unsigned short font, unsigned short color, unsigned int journal_print)
 
bool Pol::Core::private_say_above (Character *chr, const UObject *obj, const u16 *wtext, const char lang[4], unsigned short font, unsigned short color, unsigned int journal_print)
 
bool Pol::Core::private_say_above_ex (Mobile::Character *chr, const UObject *obj, const char *text, unsigned short color)
 
void Pol::Core::register_with_supporting_multi (Item *item)
 
bool Pol::Core::say_above (const UObject *obj, const char *text, unsigned short font, unsigned short color, unsigned int journal_print)
 
bool Pol::Core::say_above (const UObject *obj, const u16 *wtext, const char lang[4], unsigned short font, unsigned short color, unsigned int journal_print)
 
void Pol::Core::send_buff_message (Character *chr, u16 icon, bool show, u16 duration, u32 cl_name, u32 cl_descr, std::vector< u32 > arguments)
 
void Pol::Core::send_char_data (Client *client, Character *chr)
 
void Pol::Core::send_client_char_data (Mobile::Character *chr, Network::Client *client)
 
void Pol::Core::send_corpse (Client *client, const Item *item)
 
void Pol::Core::send_corpse_contents (Client *client, const UCorpse *corpse)
 
void Pol::Core::send_corpse_equip (Client *client, const UCorpse *corpse)
 
void Pol::Core::send_corpse_equip_inrange (const Item *item)
 
void Pol::Core::send_create_mobile_if_nearby_cansee (Client *client, const Character *chr)
 
void Pol::Core::send_create_mobile_to_nearby_cansee (const Character *chr)
 
void Pol::Core::send_damage (Character *attacker, Character *defender, u16 damage)
 
void Pol::Core::send_death_message (Character *chr_died, Item *corpse)
 
void Pol::Core::send_feature_enable (Client *client)
 
void Pol::Core::send_fight_occuring (Client *client, Character *opponent)
 
void Pol::Core::send_full_corpse (Client *client, const Item *item)
 
void Pol::Core::send_goxyz (Client *client, const Character *chr)
 
void Pol::Core::send_invulhealthbar (Client *client, const Character *chr)
 
void Pol::Core::send_item (Client *client, const Item *item)
 
void Pol::Core::send_item_move_failure (Network::Client *client, u8 reason)
 
void Pol::Core::send_item_to_inrange (const Item *item)
 
void Pol::Core::send_light (Client *client, int lightlevel)
 
void Pol::Core::send_mana_level (Client *client)
 
void Pol::Core::send_map_difs (Client *client)
 Sends number of maps used and number of map/static patches for each map. More...
 
void Pol::Core::send_midi (Client *client, u16 midi)
 
void Pol::Core::send_move (Client *client, const Character *chr)
 
void Pol::Core::send_move_mobile_to_nearby_cansee (const Character *chr)
 
void Pol::Core::send_multi (Network::Client *client, const Multi::UMulti *multi)
 
void Pol::Core::send_multi_to_inrange (const Multi::UMulti *multi)
 
void Pol::Core::send_nametext (Client *client, const Character *chr, const std::string &str)
 
void Pol::Core::send_new_subserver (Client *client)
 
void Pol::Core::send_objdesc (Client *client, Item *item)
 
void Pol::Core::send_owncreate (Client *client, const Character *chr)
 
void Pol::Core::send_owncreate (Client *client, const Character *chr, PktOut_78 *owncreate)
 
void Pol::Core::send_poisonhealthbar (Client *client, const Character *chr)
 
void Pol::Core::send_put_in_container (Client *client, const Item *item)
 
void Pol::Core::send_put_in_container_to_inrange (const Item *item)
 
void Pol::Core::send_realm_change (Client *client, Realms::Realm *realm)
 
void Pol::Core::send_remove_character (Client *client, const Character *chr)
 
void Pol::Core::send_remove_character (Network::Client *client, const Mobile::Character *chr, Network::RemoveObjectPkt &pkt)
 
void Pol::Core::send_remove_character_to_nearby (const Character *chr)
 
void Pol::Core::send_remove_character_to_nearby_cansee (const Character *chr)
 
void Pol::Core::send_remove_character_to_nearby_cantsee (const Character *chr)
 
void Pol::Core::send_remove_object (Client *client, const UObject *object)
 
void Pol::Core::send_remove_object (Client *client, const UObject *item, RemoveObjectPkt &pkt)
 
void Pol::Core::send_remove_object_if_inrange (Client *client, const Item *item)
 
void Pol::Core::send_remove_object_to_inrange (const UObject *centerObject)
 
void Pol::Core::send_season_info (Client *client)
 
void Pol::Core::send_stamina_level (Client *client)
 
void Pol::Core::send_sysmessage (Network::Client *client, const char *text, unsigned short font, unsigned short color)
 
void Pol::Core::send_sysmessage (Network::Client *client, const u16 *wtext, const char lang[4], unsigned short font, unsigned short color)
 
void Pol::Core::send_sysmessage (Network::Client *client, const std::string &text, unsigned short font, unsigned short color)
 
void Pol::Core::send_sysmessage (Network::Client *client, const std::wstring &wtext, const char lang[4], unsigned short font, unsigned short color)
 
void Pol::Core::send_weather (Client *client, u8 type, u8 severity, u8 aux)
 
void Pol::Core::send_wornitem (Client *client, const Character *chr, const Item *item)
 
void Pol::Core::send_wornitem_to_inrange (const Character *chr, const Item *item)
 
void Pol::Core::sendCharProfile (Character *chr, Character *of_who, const char *title, const u16 *utext, const u16 *etext)
 
void Pol::Core::SetCurrentCharSerialNumber (u32 serial)
 
void Pol::Core::SetCurrentItemSerialNumber (u32 serial)
 
void Pol::Core::setrealm (Item *item, void *arg)
 
void Pol::Core::setrealmif (Item *item, void *arg)
 
void Pol::Core::SetRegionLightLevel (LightRegion *lightregion, int lightlevel)
 
void Pol::Core::SetRegionWeatherLevel (WeatherRegion *weatherregion, unsigned type, unsigned severity, unsigned aux, int lightoverride)
 
void Pol::Core::subtract_amount_from_item (Item *item, unsigned short amount)
 
void Pol::Core::transmit_to_inrange (const UObject *center, const void *msg, unsigned msglen)
 
void Pol::Core::transmit_to_others_inrange (Character *center, const void *msg, unsigned msglen)
 
void Pol::Core::update_all_weatherregions ()
 
void Pol::Core::update_item_to_inrange (const Item *item)
 
void Pol::Core::update_lightregion (Client *client, LightRegion *)
 
void Pol::Core::update_weatherregion (Client *client, WeatherRegion *weatherregion)
 
void Pol::Core::update_wornitem_to_inrange (const Character *chr, const Item *item)
 
void Pol::Core::UpdateCharacterOnDestroyItem (Item *item)
 
Character * Pol::Core::UpdateCharacterWeight (Item *item)
 
u32 Pol::Core::UseCharSerialNumber (u32 serial)
 
u32 Pol::Core::UseItemSerialNumber (u32 serial)
 

Detailed Description

History
  • 2005/03/05 Shinigami: format_description -> ServSpecOpt UseAAnTileFlags to enable/disable "a"/"an" via Tiles.cfg in formatted Item Names
  • 2005/04/03 Shinigami: send_feature_enable - added UOExpansionFlag for Samurai Empire
  • 2005/08/29 Shinigami: ServSpecOpt UseAAnTileFlags renamed to UseTileFlagPrefix
  • 2005/09/17 Shinigami: send_nametext - smaller bugfix in passert-check
  • 2006/05/07 Shinigami: SendAOSTooltip - will now send merchant_description() if needed
  • 2006/05/16 Shinigami: send_feature_enable - added UOExpansionFlag for Mondain's Legacy
  • 2007/04/08 MuadDib: Updated send_worn_item_to_inrange to create the message only once and use the Transmit_to_inrange instead. Then uses send_object_cache_to_inrange. Required a tooltips.* update.
  • 2008/07/08 Turley: get_flag1() changed to show WarMode of other player again get_flag1_aos() removed
  • 2009/07/23 MuadDib: updates for new Enum::Packet Out ID
  • 2009/07/31 Turley: added send_fight_occuring() for packet 0x2F
  • 2009/08/01 MuadDib: Removed send_tech_stuff(), unused and obsolete.
  • 2009/08/09 MuadDib: UpdateCharacterWeight() Rewritten to send stat msg intead of refreshar(). Refactor of Packet 0x25 for naming convention
  • 2009/08/14 Turley: PKTOUT_B9_V2 removed unk u16 and changed flag to u32
  • 2009/09/03 MuadDib: Relocation of account related cpp/h Relocation of multi related cpp/h
  • 2009/09/13 MuadDib: Optimized send_remove_character_to_nearby_cansee, send_remove_character_to_nearby_cantsee, send_remove_character_to_nearby to build packet and handle iter internally. Packet built just once this way, and sent to those who need it.
  • 2009/09/06 Turley: Changed Version checks to bitfield client->ClientType
  • 2009/09/22 MuadDib: Adding resending of light level if override not in effect, to sending of season packet. Fixes EA client bug.
  • 2009/09/22 Turley: Added DamagePacket support
  • 2009/10/07 Turley: Fixed DestroyItem while in hand
  • 2009/10/12 Turley: whisper/yell/say-range ssopt definition
  • 2009/12/02 Turley: 0xf3 packet support - Tomi face support
  • 2009/12/03 Turley: added 0x17 packet everywhere only send if poisoned, fixed get_flag1 (problem with poisoned & flying)

Definition in file ufunc.cpp.