20 #include "../bscript/eprog.h" 21 #include "../clib/clib_endian.h" 22 #include "../clib/rawtypes.h" 23 #include "../clib/refptr.h" 24 #include "../plib/systemstate.h" 57 std::string
name = ( !chr->has_title_prefix() ?
"" : chr->title_prefix() +
" " ) + chr->
name() +
58 ( !chr->has_title_suffix() ?
"" :
" " + chr->title_suffix() );
59 if ( chr->has_title_race() )
60 name +=
" (" + chr->title_race() +
")";
61 msg->Write( name.c_str(), 60 );
64 msg->Write( chr->
name().c_str(), 60 );
73 msg->Write<
u8>( flag1 );
81 u32 paperdoll_macro_flag = serial & 0x80000000Lu;
82 serial &= ~0x80000000Lu;
90 if ( !paperdoll_macro_flag )
134 bool script_ran =
false;
136 sd.
quickconfig(
"scripts/misc/dblclickother.ecl" );
141 if ( prog.
get() != nullptr )
145 if ( !script_ran &&
inrange( client->
chr, chr ) )
180 if ( item !=
nullptr )
184 if ( !
id.ghosts_can_use && client->
chr->
dead() )
189 if ( !
id.can_use_while_frozen && client->
chr->
frozen() )
194 if ( !
id.can_use_while_paralyzed && client->
chr->
paralyzed() )
221 if ( prog.
get() != nullptr )
233 if ( cont !=
nullptr )
#define UOBJ_GARGOYLE_FEMALE
bool can_accept_event(Core::EVENTID eventid)
#define UOBJ_GARGOYLE_MALE
UContainer * find_container(u32 serial) const
ref_ptr< Bscript::EScriptProgram > find_script2(const ScriptDef &script, bool complain_if_not_found, bool cache_script)
void quickconfig(const Plib::Package *pkg, const std::string &name_ecl)
bool send_event(Bscript::BObjectImp *event)
bool can_dblclickany() const
virtual UObject * toplevel_owner() POL_OVERRIDE
void send_paperdoll(Network::Client *client, Mobile::Character *chr)
bool inrange(const UObject *c1, unsigned short x, unsigned short y)
virtual void builtin_on_use(Network::Client *client) POL_OVERRIDE
Item * find_legal_item(const Character *chr, u32 serial, bool *additlegal, bool *isRemoteContainer)
bool private_say_above(Character *chr, const UObject *obj, const char *text, unsigned short font, unsigned short color, unsigned int journal_print)
#define UOBJ_GARGOYLE_FEMALE_GHOST
Core::UContainer * trade_container()
#define UOBJ_GARGOYLE_MALE_GHOST
virtual UObject * self_as_owner()
void Send(Client *client, int len=-1) const
Core::CharacterRef trading_with
#define UOBJ_HUMAN_MALE_GHOST
virtual void double_click(Network::Client *client)
bool has_los(const Core::ULWObject &att, const Core::ULWObject &tgt) const
void doubleclick(Network::Client *client, PKTIN_06 *msg)
unsigned int dblclick_wait
#define UOBJ_HUMAN_FEMALE_GHOST
gameclock_t read_gameclock()
Reads the current value of the game clock.
Mobile::Character * find_character(u32 serial)
#define UOBJ_ELF_MALE_GHOST
SettingsManager settingsManager
#define UOBJ_HUMAN_FEMALE
bool IsCharacter(u32 serial)
unsigned short pol_distance(unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2)
bool isa(UOBJ_CLASS uobj_class) const
bool start_script(Bscript::EScriptProgram *prog, bool start_attached, Bscript::BObjectImp *param2=nullptr, Bscript::BObjectImp *param3=nullptr, Bscript::BObjectImp *param4=nullptr)
const ItemDesc & itemdesc() const
virtual std::string name() const
#define UOBJ_ELF_FEMALE_GHOST
const u8 CHAR_FLAG1_CANALTER