|
Pol
Revision:cb584c9
|
#include <boat.h>
Inheritance diagram for Pol::Multi::UBoat:Classes | |
| class | BoatContext |
| struct | BoatMoveGuard |
Public Types | |
| enum | RELATIVE_DIR { NO_TURN, RIGHT, AROUND, LEFT } |
Public Member Functions | |
| virtual | ~UBoat () |
| void | adjust_traveller_z (s8 delta_z) |
| virtual UBoat * | as_boat () POL_OVERRIDE |
| Core::UFACING | boat_facing () const |
| void | cleanup_deck () |
| bool | deck_empty () const |
| void | destroy_components () |
| virtual size_t | estimatedSize () const POL_OVERRIDE |
| bool | has_offline_mobiles () const |
| bool | hold_empty () const |
| virtual Bscript::BObjectImp * | make_ref () POL_OVERRIDE |
| bool | move (Core::UFACING dir, u8 speed, bool relative) |
| bool | move_xy (unsigned short x, unsigned short y, int flags, Realms::Realm *oldrealm) |
| virtual void | on_color_changed () POL_OVERRIDE |
| void | realm_changed () |
| virtual void | register_object (Core::UObject *obj) POL_OVERRIDE |
| void | regself () |
| void | remove_orphans () |
| void | send_boat (Network::Client *client) |
| void | send_boat_newly_inrange (Network::Client *client) |
| void | send_boat_old (Network::Client *client) |
| void | send_display_boat (Network::Client *client) |
| void | send_display_boat_to_inrange (u16 oldx=USHRT_MAX, u16 oldy=USHRT_MAX) |
| void | send_remove_boat (Network::Client *client) |
| void | send_smooth_move (Network::Client *client, Core::UFACING move_dir, u8 speed, u16 newx, u16 newy, bool relative) |
| void | send_smooth_move_to_inrange (Core::UFACING move_dir, u8 speed, u16 newx, u16 newy, bool relative) |
| bool | turn (RELATIVE_DIR dir) |
| virtual void | unregister_object (Core::UObject *obj) POL_OVERRIDE |
| void | unregself () |
Public Member Functions inherited from Pol::Multi::UMulti | |
| virtual | ~UMulti () |
| virtual class UHouse * | as_house () |
| virtual void | double_click (Network::Client *client) POL_OVERRIDE |
| Bscript::BStruct * | footprint () const |
| const MultiDef & | multidef () const |
| virtual bool | readobjects (Core::StaticList &vec, s16 rx, s16 ry, s16 zbase) |
| virtual bool | readshapes (Plib::MapShapeList &vec, s16 rx, s16 ry, s16 zbase) |
| virtual void | register_object (UObject *obj) |
| virtual void | unregister_object (UObject *obj) |
Public Member Functions inherited from Pol::Items::Item | |
| virtual | ~Item () |
| void | add_to_self (Item *&item) |
| bool | amount_to_remove_is_partial (u16 amount_to_remove) const |
| virtual void | builtin_on_use (Network::Client *client) |
| u32 | buyprice () const |
| void | buyprice (u32) |
| Bscript::BObject | call_custom_method (const char *methodname, Bscript::BObjectImpRefVec &pmore) |
| Bscript::BObject | call_custom_method (const char *methodname) |
| bool | can_add_to_self (unsigned short amount, bool force_stacking) const |
| bool | can_add_to_self (const Item &item, bool force_stacking) const |
| bool | can_decay () const |
| bool | check_equip_script (Mobile::Character *chr, bool startup) |
| bool | check_equiptest_scripts (Mobile::Character *chr, bool startup=false) |
| bool | check_test_scripts (Mobile::Character *chr, const std::string &script_ecl, bool startup) |
| bool | check_unequip_script () |
| bool | check_unequiptest_scripts (Mobile::Character *chr) |
| bool | check_unequiptest_scripts () |
| virtual Item * | clone () const |
| virtual Bscript::BObjectImp * | custom_script_method (const char *methodname, Bscript::Executor &ex) POL_OVERRIDE |
| bool | default_insured () const |
| bool | default_invisible () const |
| bool | default_movable () const |
| bool | default_newbie () const |
| bool | default_no_drop () const |
| virtual std::string | description () const POL_OVERRIDE |
| void | disable_decay () |
| DYN_PROPERTY (maxhp_mod, s16, Core::PROP_MAXHP_MOD, 0) | |
| DYN_PROPERTY (name_suffix, std::string, Core::PROP_NAME_SUFFIX,"") | |
| DYN_PROPERTY_POINTER (gotten_by, Mobile::Character *, Core::PROP_GOTTEN_BY) | |
| DYN_PROPERTY_POINTER (process, Module::UOExecutorModule *, Core::PROP_PROCESS) | |
| DYN_PROPERTY_POINTER (house, Multi::UHouse *, Core::PROP_HOUSE) | |
| void | extricate () |
| virtual u16 | get_senditem_amount () const |
| std::string | get_use_script_name () const |
| u16 | getamount () const |
| bool | getbuyprice (u32 &buyprice) const |
| Mobile::Character * | GetCharacterOwner () |
| virtual double | getQuality () const |
| bool | has_equip_script () const |
| bool | has_only_default_cprops (const ItemDesc *compare=nullptr) const |
| bool | insured () const |
| void | insured (bool newvalue) |
| bool | inuse () const |
| void | inuse (bool newvalue) |
| bool | invisible () const |
| void | invisible (bool newvalue) |
| virtual unsigned int | item_count () const |
| const ItemDesc & | itemdesc () const |
| unsigned short | maxhp () const |
| std::string | merchant_description () const |
| bool | movable () const |
| void | movable (bool newvalue) |
| virtual std::string | name () const POL_OVERRIDE |
| bool | newbie () const |
| void | newbie (bool newvalue) |
| bool | no_drop () const |
| void | no_drop (bool newvalue) |
| virtual void | on_facing_changed () POL_OVERRIDE |
| void | on_invisible_changed () |
| void | on_movable_changed () |
| virtual UObject * | owner () POL_OVERRIDE |
| virtual const UObject * | owner () const POL_OVERRIDE |
| Item * | remove_part_of_stack (u16 amount_to_remove) |
| void | reset_slot () |
| void | restart_decay_timer () |
| Bscript::BObjectImp * | run_equip_script (Mobile::Character *chr, bool startup) |
| Bscript::BObjectImp * | run_unequip_script (Mobile::Character *who) |
| u32 | sellprice () const |
| void | sellprice (u32) |
| void | set_decay_after (unsigned int seconds) |
| virtual Bscript::BObjectImp * | set_script_member (const char *membername, const std::string &value) POL_OVERRIDE |
| id test More... | |
| virtual Bscript::BObjectImp * | set_script_member (const char *membername, int value) POL_OVERRIDE |
| virtual Bscript::BObjectImp * | set_script_member_double (const char *membername, double value) POL_OVERRIDE |
| id test More... | |
| virtual Bscript::BObjectImp * | set_script_member_id (const int id, const std::string &value) POL_OVERRIDE |
| virtual Bscript::BObjectImp * | set_script_member_id (const int id, int value) POL_OVERRIDE |
| id test More... | |
| virtual Bscript::BObjectImp * | set_script_member_id_double (const int id, double value) POL_OVERRIDE |
| void | set_use_script (const std::string &scriptname) |
| void | setamount (u16 amount) |
| virtual bool | setcolor (u16 newcolor) POL_OVERRIDE |
| virtual void | setfacing (u8 newfacing) POL_OVERRIDE |
| virtual bool | setgraphic (u16 newobjtype) POL_OVERRIDE |
| bool | setlayer (unsigned char layer) |
| virtual void | setQuality (double value) |
| bool | should_decay (unsigned int gameclock) const |
| Item * | slice_stacked_item (u16 this_item_new_amount) |
| u8 | slot_index () const |
| bool | slot_index (u8 newvalue) |
| virtual void | spill_contents (Multi::UMulti *supporting_multi) |
| bool | stackable () const |
| void | subamount (u16 amount_subtract) |
| virtual const char * | target_tag () const POL_OVERRIDE |
| virtual UObject * | toplevel_owner () POL_OVERRIDE |
| virtual const UObject * | toplevel_owner () const POL_OVERRIDE |
| bool | use_insurance () |
| Returns current insurance value and resets it to false. More... | |
| virtual void | walk_on (Mobile::Character *chr) |
| virtual unsigned int | weight () const POL_OVERRIDE |
| unsigned int | weight_of (unsigned short amount) const |
Public Member Functions inherited from Pol::Core::UObject | |
| ref_counted * | as_ref_counted () |
| void | clear_dirty () const |
| void | copyprops (const UObject &obj) |
| void | copyprops (const PropertyList &proplist) |
| virtual void | destroy () |
| bool | dirty () const |
| DYN_PROPERTY (maxhp_mod, s16, PROP_MAXHP_MOD, 0) | |
| DYN_PROPERTY (fire_resist, ValueModPack, PROP_RESIST_FIRE, ValueModPack::DEFAULT) | |
| DYN_PROPERTY (cold_resist, ValueModPack, PROP_RESIST_COLD, ValueModPack::DEFAULT) | |
| DYN_PROPERTY (energy_resist, ValueModPack, PROP_RESIST_ENERGY, ValueModPack::DEFAULT) | |
| DYN_PROPERTY (poison_resist, ValueModPack, PROP_RESIST_POISON, ValueModPack::DEFAULT) | |
| DYN_PROPERTY (physical_resist, ValueModPack, PROP_RESIST_PHYSICAL, ValueModPack::DEFAULT) | |
| DYN_PROPERTY (fire_damage, ValueModPack, PROP_DAMAGE_FIRE, ValueModPack::DEFAULT) | |
| DYN_PROPERTY (cold_damage, ValueModPack, PROP_DAMAGE_COLD, ValueModPack::DEFAULT) | |
| DYN_PROPERTY (energy_damage, ValueModPack, PROP_DAMAGE_ENERGY, ValueModPack::DEFAULT) | |
| DYN_PROPERTY (poison_damage, ValueModPack, PROP_DAMAGE_POISON, ValueModPack::DEFAULT) | |
| DYN_PROPERTY (physical_damage, ValueModPack, PROP_DAMAGE_PHYSICAL, ValueModPack::DEFAULT) | |
| void | eraseprop (const std::string &propname) |
| bool | getprop (const std::string &propname, std::string &propvalue) const |
| void | getpropnames (std::vector< std::string > &propnames) const |
| const PropertyList & | getprops () const |
| void | increv () |
| virtual void | printOn (Clib::StreamWriter &) const |
| virtual void | printOnDebug (Clib::StreamWriter &sw) const |
| virtual void | printSelfOn (Clib::StreamWriter &sw) const |
| void | ref_counted_add_ref () |
| unsigned | ref_counted_count () const |
| void | ref_counted_release () |
| u32 | rev () const |
| bool | saveonexit () const |
| void | saveonexit (bool newvalue) |
| virtual UObject * | self_as_owner () |
| virtual const UObject * | self_as_owner () const |
| void | set_dirty () |
| void | setname (const std::string &) |
| void | setprop (const std::string &propname, const std::string &propvalue) |
| bool | specific_name () const |
Public Member Functions inherited from Pol::Core::ULWObject | |
| bool | isa (UOBJ_CLASS uobj_class) const |
| bool | isitem () const |
| bool | ismobile () const |
| bool | ismulti () const |
| u8 | look_height () const |
| bool | orphan () const |
Public Member Functions inherited from Pol::Core::DynamicPropsHolder | |
| DynamicPropsHolder () | |
| size_t | estimateSizeDynProps () const |
| template<typename V > | |
| bool | getmember (DynPropTypes member, V *value) const |
| bool | hasmember (DynPropTypes member) const |
| template<typename V > | |
| void | setmember (DynPropTypes member, const V &value, const V &defaultvalue) |
| template<typename V > | |
| void | setmemberPointer (DynPropTypes member, V value) |
Static Public Member Functions | |
| static bool | navigable (const MultiDef &, unsigned short x, unsigned short y, short z, Realms::Realm *realm) |
| static Bscript::BObjectImp * | scripted_create (const Items::ItemDesc &descriptor, u16 x, u16 y, s8 z, Realms::Realm *realm, int flags) |
Static Public Member Functions inherited from Pol::Multi::UMulti | |
| static UMulti * | create (const Items::ItemDesc &descriptor, u32 serial=0) |
| static Bscript::BObjectImp * | scripted_create (const Items::ItemDesc &descriptor, u16 x, u16 y, s8 z, Realms::Realm *realm, int flags) |
Static Public Member Functions inherited from Pol::Items::Item | |
| static Item * | create (u32 objtype, u32 serial=0) |
| static Item * | create (const ItemDesc &itemdesc, u32 serial=0) |
Public Attributes | |
| Items::Item * | hold |
| Items::Item * | portplank |
| Items::Item * | starboardplank |
| Items::Item * | tillerman |
Public Attributes inherited from Pol::Multi::UMulti | |
| u16 | multiid |
Public Attributes inherited from Pol::Items::Item | |
| Core::UContainer * | container |
| unsigned short | hp_ |
| u8 | layer |
| u8 | tile_layer |
Public Attributes inherited from Pol::Core::UObject | |
| u16 | color |
| u8 | facing |
| const u32 | objtype_ |
| u32 | serial_ext |
Public Attributes inherited from Pol::Core::ULWObject | |
| u16 | graphic |
| u8 | height |
| Realms::Realm * | realm |
| u32 | serial |
| u16 | x |
| u16 | y |
| s8 | z |
Protected Member Functions | |
| UBoat (const Items::ItemDesc &descriptor) | |
| const BoatShape & | boatshape () const |
| Bscript::BObjectImp * | component_list (unsigned char type) const |
| void | do_tellmoves () |
| virtual void | fixInvalidGraphic () POL_OVERRIDE |
| POL098 and earlier were using graphic to store MultiID, this should not be lost to avoid screwing up boats during conversion. More... | |
| virtual Bscript::BObjectImp * | get_script_member (const char *membername) const POL_OVERRIDE |
| virtual Bscript::BObjectImp * | get_script_member_id (const int id) const POL_OVERRIDE |
| id test More... | |
| Bscript::BObjectImp * | items_list () const |
| Bscript::BObjectImp * | mobiles_list () const |
| void | move_components (Realms::Realm *oldrealm) |
| void | move_offline_mobiles (Core::xcoord new_x, Core::ycoord new_y, Core::zcoord new_z, Realms::Realm *new_realm) |
| void | move_travellers (enum Core::UFACING move_dir, const BoatContext &oldlocation, unsigned short x=USHRT_MAX, unsigned short y=USHRT_MAX, Realms::Realm *oldrealm=nullptr) |
| const MultiDef & | multi_ifturn (RELATIVE_DIR dir) |
| unsigned short | multiid_ifturn (RELATIVE_DIR dir) |
| virtual void | printProperties (Clib::StreamWriter &sw) const POL_OVERRIDE |
| virtual void | readProperties (Clib::ConfigElem &elem) POL_OVERRIDE |
| void | reread_components () |
| void | rescan_components () |
| virtual bool | script_isa (unsigned isatype) const POL_OVERRIDE |
| virtual Bscript::BObjectImp * | script_method (const char *methodname, Bscript::Executor &ex) POL_OVERRIDE |
| id test More... | |
| virtual Bscript::BObjectImp * | script_method_id (const int id, Bscript::Executor &ex) POL_OVERRIDE |
| void | transform_components (const BoatShape &old_boatshape, Realms::Realm *oldrealm) |
| void | turn_traveller_coords (Mobile::Character *chr, RELATIVE_DIR dir) |
| void | turn_travellers (RELATIVE_DIR dir, const BoatContext &oldlocation) |
Protected Member Functions inherited from Pol::Multi::UMulti | |
| UMulti (const Items::ItemDesc &itemdesc) | |
| virtual const char * | classname () const POL_OVERRIDE |
Protected Member Functions inherited from Pol::Items::Item | |
| Item (const ItemDesc &itemdesc, Core::UOBJ_CLASS uobj_class) | |
| virtual void | printDebugProperties (Clib::StreamWriter &sw) const POL_OVERRIDE |
Protected Member Functions inherited from Pol::Core::UObject | |
| UObject (u32 objtype, UOBJ_CLASS uobj_class) | |
| virtual | ~UObject () |
Protected Member Functions inherited from ref_counted | |
| ref_counted () | |
| ~ref_counted ()=default | |
| unsigned int | add_ref () |
| unsigned int | count () const |
| unsigned int | release () |
Protected Member Functions inherited from Pol::Core::ULWObject | |
| ULWObject (UOBJ_CLASS uobj_class) | |
| ULWObject (const ULWObject &)=delete | |
| ~ULWObject ()=default | |
| ULWObject & | operator= (const ULWObject &)=delete |
| bool | isa (UOBJ_CLASS uobj_class) const |
| bool | isitem () const |
| bool | ismobile () const |
| bool | ismulti () const |
| u8 | look_height () const |
| bool | orphan () const |
Protected Member Functions inherited from Pol::Core::DynamicPropsHolder | |
| ~DynamicPropsHolder ()=default | |
| DynamicPropsHolder () | |
| size_t | estimateSizeDynProps () const |
| template<typename V > | |
| bool | getmember (DynPropTypes member, V *value) const |
| bool | hasmember (DynPropTypes member) const |
| template<typename V > | |
| void | setmember (DynPropTypes member, const V &value, const V &defaultvalue) |
| template<typename V > | |
| void | setmemberPointer (DynPropTypes member, V value) |
Static Protected Member Functions | |
| static bool | on_ship (const BoatContext &bc, const Core::UObject *obj) |
Private Types | |
| typedef UMulti | base |
| typedef Core::ItemRef | Component |
| typedef Core::UObjectRef | Traveller |
| typedef std::vector< Traveller > | Travellers |
Private Member Functions | |
| void | create_components () |
Private Attributes | |
| std::vector< Component > | Components |
| Travellers | travellers_ |
Friends | |
| struct | BoatMoveGuard |
| class | Module::EUBoatRefObjImp |
| class | UMulti |
Additional Inherited Members | |
Static Public Attributes inherited from Pol::Core::UObject | |
| static std::atomic< unsigned int > | clean_writes |
| static std::atomic< unsigned int > | dirty_writes |
Protected Attributes inherited from Pol::Items::Item | |
| const ItemDesc * | _itemdesc |
| u16 | amount_ |
| unsigned int | decayat_gameclock_ |
| boost_utils::script_name_flystring | equip_script_ |
| boost_utils::script_name_flystring | on_use_script_ |
| u8 | slot_index_ |
| boost_utils::script_name_flystring | unequip_script_ |
Protected Attributes inherited from Pol::Core::UObject | |
| AttributeFlags< OBJ_FLAGS > | flags_ |
| boost_utils::object_name_flystring | name_ |
Protected Attributes inherited from ref_counted | |
| std::atomic< unsigned int > | _count |
Protected Attributes inherited from Pol::Core::ULWObject | |
| const UOBJ_CLASS | uobj_class_ |
| u16 | graphic |
| u8 | height |
| Realms::Realm * | realm |
| u32 | serial |
| u16 | x |
| u16 | y |
| s8 | z |
Static Protected Attributes inherited from Pol::Items::Item | |
| static const u32 | BUYPRICE_DEFAULT = UINT_MAX |
| static const u32 | SELLPRICE_DEFAULT = UINT_MAX |
|
private |
|
private |
|
private |
|
private |
|
inlinevirtual |
Definition at line 128 of file boat.h.
References POL_OVERRIDE.
|
explicitprotected |
Definition at line 593 of file boat.cpp.
References Pol::Core::gamestate, hold, Pol::Multi::UMulti::multiid, passert, portplank, starboardplank, and tillerman.
Referenced by scripted_create().
| void Pol::Multi::UBoat::adjust_traveller_z | ( | s8 | delta_z | ) |
Definition at line 1098 of file boat.cpp.
References Components, travellers_, and Pol::Core::UObject::UObject().
Referenced by Pol::Module::UOExecutorModule::internal_MoveBoat().
|
virtual |
Reimplemented from Pol::Multi::UMulti.
Definition at line 602 of file boat.cpp.
Referenced by Pol::Core::getUBoatParam().
| Core::UFACING Pol::Multi::UBoat::boat_facing | ( | ) | const |
Definition at line 1311 of file boat.cpp.
References Pol::Multi::UMulti::multiid.
Referenced by move().
|
protected |
Definition at line 1316 of file boat.cpp.
References Pol::Core::GameState::boatshapes, Pol::Core::gamestate, Pol::Multi::UMulti::multiid, and passert.
Referenced by create_components(), move_components(), transform_components(), and turn().
| void Pol::Multi::UBoat::cleanup_deck | ( | ) |
Definition at line 1032 of file boat.cpp.
References on_ship(), remove_orphans(), Pol::Core::UObject::set_dirty(), travellers_, and Pol::Core::UObject::UObject().
Referenced by Pol::Multi::destroy_boat().
|
protected |
Definition at line 1762 of file boat.cpp.
References Pol::Bscript::ObjArray::addElement(), Pol::Multi::COMPONENT_ALL, Components, and Pol::Multi::get_component_objtype().
|
private |
Definition at line 1692 of file boat.cpp.
References Pol::Core::add_item_to_world(), boatshape(), Components, Pol::Multi::BoatShape::Componentshapes, Pol::Items::Item::create(), Pol::Items::Item::disable_decay(), Pol::Core::SettingsManager::extobj, Pol::Core::ULWObject::graphic, Pol::Core::ULWObject::height, Pol::Core::ExternalObject::hold, hold, Pol::Items::Item::movable(), Pol::Core::UObject::objtype_, Pol::Core::ExternalObject::port_plank, portplank, Pol::Core::ULWObject::realm, Pol::Core::settingsManager, Pol::Core::ExternalObject::starboard_plank, starboardplank, Pol::Core::tileheight(), Pol::Core::ExternalObject::tillerman, tillerman, Pol::Core::update_item_to_inrange(), Pol::Core::ULWObject::x, Pol::Core::ULWObject::y, and Pol::Core::ULWObject::z.
Referenced by scripted_create().
| bool Pol::Multi::UBoat::deck_empty | ( | ) | const |
Definition at line 1148 of file boat.cpp.
References travellers_.
Referenced by Pol::Multi::destroy_boat().
| void Pol::Multi::UBoat::destroy_components | ( | ) |
Definition at line 1783 of file boat.cpp.
References Components, and Pol::Core::destroy_item().
Referenced by Pol::Multi::destroy_boat().
|
protected |
Definition at line 1164 of file boat.cpp.
References Pol::Core::CLASS_NPC, Pol::Mobile::Character::has_active_client(), Pol::Core::ULWObject::isa(), Pol::Mobile::Character::tellmove(), travellers_, and Pol::Core::UObject::UObject().
|
virtual |
Reimplemented from Pol::Multi::UMulti.
Definition at line 1795 of file boat.cpp.
References Components, Pol::Multi::UMulti::estimatedSize(), and travellers_.
|
protectedvirtual |
POL098 and earlier were using graphic to store MultiID, this should not be lost to avoid screwing up boats during conversion.
Reimplemented from Pol::Core::UObject.
Definition at line 1544 of file boat.cpp.
References Pol::Core::UObject::fixInvalidGraphic(), Pol::Core::ULWObject::graphic, Pol::Multi::UMulti::multiid, passert_always_r, and Pol::Core::settingsManager.
|
protectedvirtual |
Reimplemented from Pol::Multi::UMulti.
Definition at line 3614 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMember(), and Pol::Bscript::ObjMember::id.
|
protectedvirtual |
id test
Reimplemented from Pol::Multi::UMulti.
Definition at line 3526 of file uoscrobj.cpp.
References Pol::Multi::COMPONENT_ALL, Pol::Multi::COMPONENT_HULL, Pol::Multi::COMPONENT_ROPE, Pol::Multi::COMPONENT_RUDDER, Pol::Multi::COMPONENT_SAILS, Pol::Multi::COMPONENT_STORAGE, Pol::Multi::COMPONENT_TILLER, Pol::Multi::COMPONENT_WEAPONSLOT, Pol::Multi::COMPONENT_WHEEL, Pol::Bscript::MBR_COMPONENTS, Pol::Bscript::MBR_HAS_OFFLINE_MOBILES, Pol::Bscript::MBR_HOLD, Pol::Bscript::MBR_HULL, Pol::Bscript::MBR_ITEMS, Pol::Bscript::MBR_MOBILES, Pol::Bscript::MBR_MULTIID, Pol::Bscript::MBR_PORTPLANK, Pol::Bscript::MBR_ROPE, Pol::Bscript::MBR_RUDDER, Pol::Bscript::MBR_SAILS, Pol::Bscript::MBR_STARBOARDPLANK, Pol::Bscript::MBR_STORAGE, Pol::Bscript::MBR_TILLER, Pol::Bscript::MBR_TILLERMAN, Pol::Bscript::MBR_WEAPONSLOT, and Pol::Bscript::MBR_WHEEL.
| bool Pol::Multi::UBoat::has_offline_mobiles | ( | ) | const |
Definition at line 1049 of file boat.cpp.
References Pol::Mobile::Character::logged_in(), on_ship(), travellers_, and Pol::Core::UObject::UObject().
Referenced by Pol::Multi::destroy_boat().
| bool Pol::Multi::UBoat::hold_empty | ( | ) | const |
Definition at line 1153 of file boat.cpp.
References Pol::Core::UContainer::count(), and hold.
Referenced by Pol::Multi::destroy_boat().
|
protected |
Definition at line 1728 of file boat.cpp.
References Pol::Bscript::ObjArray::addElement(), Pol::Core::IsItem(), Pol::Core::make_itemref(), on_ship(), travellers_, and Pol::Core::UObject::UObject().
|
virtual |
Reimplemented from Pol::Multi::UMulti.
Definition at line 3516 of file uoscrobj.cpp.
Referenced by Pol::Module::UBoatExecutorModule::mf_BoatFromItem(), and Pol::Module::UBoatExecutorModule::mf_SystemFindBoatBySerial().
|
protected |
Definition at line 1745 of file boat.cpp.
References Pol::Bscript::ObjArray::addElement(), Pol::Mobile::Character::logged_in(), Pol::Core::make_mobileref(), on_ship(), travellers_, and Pol::Core::UObject::UObject().
| bool Pol::Multi::UBoat::move | ( | Core::UFACING | dir, |
| u8 | speed, | ||
| bool | relative | ||
| ) |
Definition at line 1223 of file boat.cpp.
References boat_facing(), Pol::Network::Client::chr, Pol::Mobile::Character::client, Pol::Network::Client::ClientType, Pol::Network::CLIENTTYPE_7090, do_tellmoves(), Pol::Core::WorldIterator< Filter >::InRange(), Pol::Core::inrange(), move_components(), Pol::Core::move_delta, Pol::Core::move_multi_in_world(), move_travellers(), Pol::Multi::UMulti::multidef(), navigable(), RANGE_VISUAL_LARGE_BUILDINGS, Pol::Core::ULWObject::realm, send_remove_boat(), send_smooth_move_to_inrange(), Pol::Core::UObject::set_dirty(), Pol::Multi::unpause_paused(), Pol::Core::ULWObject::x, Pol::Core::MoveDelta::xmove, Pol::Core::ULWObject::y, Pol::Core::MoveDelta::ymove, and Pol::Core::ULWObject::z.
Referenced by Pol::Module::UBoatExecutorModule::mf_MoveBoat(), and Pol::Module::UBoatExecutorModule::mf_MoveBoatRelative().
|
protected |
Definition at line 1394 of file boat.cpp.
References boatshape(), Pol::Network::Client::chr, Pol::Mobile::Character::client, Components, Pol::Multi::BoatShape::Componentshapes, Pol::Items::Item::container, Pol::Core::ULWObject::graphic, Pol::Core::WorldIterator< Filter >::InRange(), Pol::Core::inrange(), Pol::Core::MoveItemWorldPosition(), Pol::Core::ULWObject::orphan(), POLLOG_INFO, RANGE_VISUAL, Pol::Core::ULWObject::realm, Pol::Core::send_remove_object(), Pol::Core::ULWObject::serial, Pol::Core::UObject::set_dirty(), Pol::Core::ULWObject::x, Pol::Core::ULWObject::y, and Pol::Core::ULWObject::z.
|
protected |
Definition at line 1070 of file boat.cpp.
References Pol::Mobile::Character::logged_in(), on_ship(), Pol::Core::ULWObject::realm, Pol::Mobile::Character::realm_changed(), remove_orphans(), Pol::Core::UObject::set_dirty(), travellers_, Pol::Core::UObject::UObject(), Pol::Core::ULWObject::x, Pol::Core::ULWObject::y, and Pol::Core::ULWObject::z.
|
protected |
Definition at line 699 of file boat.cpp.
References Pol::Network::Client::chr, Pol::Mobile::Character::client, Pol::Network::Client::ClientType, Pol::Network::CLIENTTYPE_7090, Pol::Core::WorldIterator< Filter >::InRange(), Pol::Core::inrange(), Pol::Mobile::Character::invul(), Pol::Mobile::Character::lastx, Pol::Mobile::Character::lasty, Pol::Mobile::Character::logged_in(), Pol::Core::move_delta, Pol::Mobile::Character::move_reason, Pol::Core::MoveCharacterWorldPosition(), Pol::Core::MoveItemWorldPosition(), Pol::Mobile::Character::MULTIMOVE, on_ship(), Pol::Mobile::Character::poisoned(), Pol::Mobile::Character::position_changed(), RANGE_VISUAL, Pol::Core::ULWObject::realm, remove_orphans(), Pol::Items::Item::restart_decay_timer(), Pol::Core::send_goxyz(), Pol::Core::send_invulhealthbar(), Pol::Core::send_new_subserver(), Pol::Core::send_objects_newly_inrange_on_boat(), Pol::Core::send_owncreate(), Pol::Core::send_poisonhealthbar(), Pol::Core::send_remove_object(), Pol::Core::UObject::set_dirty(), travellers_, Pol::Core::UObject::UObject(), Pol::Core::ULWObject::x, Pol::Multi::UBoat::BoatContext::x, Pol::Core::MoveDelta::xmove, Pol::Core::ULWObject::y, Pol::Multi::UBoat::BoatContext::y, and Pol::Core::MoveDelta::ymove.
| bool Pol::Multi::UBoat::move_xy | ( | unsigned short | x, |
| unsigned short | y, | ||
| int | flags, | ||
| Realms::Realm * | oldrealm | ||
| ) |
Definition at line 1187 of file boat.cpp.
References do_tellmoves(), Pol::Core::FACING_N, move_components(), Pol::Core::move_multi_in_world(), move_travellers(), Pol::Core::MOVEITEM_FORCELOCATION, Pol::Multi::UMulti::multidef(), navigable(), Pol::Core::ULWObject::realm, send_display_boat_to_inrange(), Pol::Core::UObject::set_dirty(), Pol::Multi::unpause_paused(), Pol::Core::ULWObject::x, Pol::Core::ULWObject::y, and Pol::Core::ULWObject::z.
Referenced by Pol::Module::UOExecutorModule::internal_MoveBoat(), and Pol::Module::UBoatExecutorModule::mf_MoveBoatXY().
|
protected |
Definition at line 1304 of file boat.cpp.
References Pol::Multi::MultiDefByMultiID(), Pol::Multi::MultiDefByMultiIDExists(), multiid_ifturn(), and passert.
Referenced by turn().
|
inlineprotected |
Definition at line 1299 of file boat.cpp.
References Pol::Multi::UMulti::multiid.
Referenced by multi_ifturn(), and turn().
|
static |
Definition at line 639 of file boat.cpp.
References Pol::Realms::Realm::encode_global_hull(), Pol::Realms::Realm::global_hulls, Pol::Core::Tile::height, Pol::Realms::Realm::height(), Pol::Multi::MultiDef::hull, INFO_PRINT, Pol::Multi::MultiDef::maxrx, Pol::Multi::MultiDef::maxry, Pol::Multi::MultiDef::minrx, Pol::Multi::MultiDef::minry, Pol::Realms::Realm::name(), Pol::Realms::Realm::navigable(), Pol::Plib::systemstate, Pol::Plib::SystemState::tile, and Pol::Realms::Realm::width().
Referenced by Pol::Module::UOExecutorModule::internal_MoveBoat(), move(), move_xy(), scripted_create(), and turn().
|
virtual |
Reimplemented from Pol::Items::Item.
Definition at line 1111 of file boat.cpp.
References send_display_boat_to_inrange().
|
staticprotected |
Definition at line 685 of file boat.cpp.
References Pol::Multi::MultiDef::body_contains(), Pol::Items::Item::container, Pol::Core::IsItem(), Pol::Multi::UBoat::BoatContext::mdef, Pol::Core::ULWObject::x, Pol::Multi::UBoat::BoatContext::x, and Pol::Multi::UBoat::BoatContext::y.
Referenced by cleanup_deck(), has_offline_mobiles(), items_list(), mobiles_list(), move_offline_mobiles(), move_travellers(), printProperties(), readProperties(), realm_changed(), and turn_travellers().
|
protectedvirtual |
Reimplemented from Pol::Items::Item.
Definition at line 1614 of file boat.cpp.
References Components, Pol::Multi::UMulti::multiid, on_ship(), pf_endl, Pol::Items::Item::printProperties(), travellers_, and Pol::Core::UObject::UObject().
|
protectedvirtual |
Reimplemented from Pol::Items::Item.
Definition at line 1554 of file boat.cpp.
References Components, Pol::Core::find_toplevel_item(), Pol::Core::IsItem(), Pol::Core::make_boatref(), Pol::Multi::UMulti::multidef(), Pol::Multi::UMulti::multiid, Pol::Core::UObject::objtype_, Pol::Multi::BoatShape::objtype_is_component(), on_ship(), Pol::Items::Item::readProperties(), regself(), Pol::Clib::ConfigElem::remove_prop(), Pol::Clib::ConfigElem::remove_ushort(), reread_components(), rescan_components(), Pol::Core::settingsManager, Pol::Core::start_script(), Pol::Core::system_find_item(), Pol::Core::system_find_mobile(), and travellers_.
| void Pol::Multi::UBoat::realm_changed | ( | ) |
Definition at line 1116 of file boat.cpp.
References Pol::Core::CLASS_CONTAINER, Components, Pol::Core::UContainer::for_each_item(), Pol::Core::ULWObject::isa(), Pol::Core::IsItem(), on_ship(), Pol::Core::ULWObject::realm, Pol::Mobile::Character::realm_changed(), Pol::Core::send_remove_character_to_nearby(), Pol::Core::setrealm(), travellers_, and Pol::Core::UObject::UObject().
Referenced by Pol::Module::UOExecutorModule::internal_MoveBoat().
|
virtual |
Definition at line 1486 of file boat.cpp.
References Pol::Core::UObject::set_dirty(), and travellers_.
Referenced by Pol::Module::UBoatExecutorModule::mf_RegisterItemWithBoat().
| void Pol::Multi::UBoat::regself | ( | ) |
Definition at line 610 of file boat.cpp.
References Pol::Realms::Realm::encode_global_hull(), Pol::Realms::Realm::global_hulls, Pol::Multi::MultiDef::hull, Pol::Multi::UMulti::multidef(), Pol::Core::ULWObject::realm, Pol::Core::ULWObject::x, and Pol::Core::ULWObject::y.
Referenced by readProperties(), scripted_create(), and Pol::Multi::UBoat::BoatMoveGuard::~BoatMoveGuard().
| void Pol::Multi::UBoat::remove_orphans | ( | ) |
Definition at line 1010 of file boat.cpp.
References Pol::Core::UObject::set_dirty(), travellers_, and Pol::Core::UObject::UObject().
Referenced by cleanup_deck(), move_offline_mobiles(), move_travellers(), and turn_travellers().
|
protected |
Definition at line 1523 of file boat.cpp.
References Components, Pol::Core::SettingsManager::extobj, Pol::Core::ExternalObject::hold, hold, Pol::Core::ExternalObject::port_plank, portplank, Pol::Core::settingsManager, Pol::Core::ExternalObject::starboard_plank, starboardplank, Pol::Core::ExternalObject::tillerman, and tillerman.
Referenced by readProperties().
|
protected |
Definition at line 1506 of file boat.cpp.
References Pol::Core::ULWObject::orphan(), portplank, Pol::Multi::UPlank::setboat(), and starboardplank.
Referenced by readProperties(), and scripted_create().
|
protectedvirtual |
Reimplemented from Pol::Multi::UMulti.
Definition at line 4644 of file uoscrobj.cpp.
References Pol::Core::POLCLASS_BOAT.
|
protectedvirtual |
id test
Reimplemented from Pol::Items::Item.
Definition at line 3685 of file uoscrobj.cpp.
References Pol::Bscript::getKnownObjMethod(), and Pol::Bscript::ObjMethod::id.
|
protectedvirtual |
Reimplemented from Pol::Items::Item.
Definition at line 3623 of file uoscrobj.cpp.
References Pol::Core::find_realm(), Pol::Bscript::Executor::getParam(), Pol::Bscript::Executor::getStringParam(), Pol::Bscript::MTH_MOVE_OFFLINE_MOBILES, Pol::Bscript::Executor::numParams(), Pol::Realms::Realm::valid(), Pol::Bscript::String::value(), Pol::Core::ZCOORD_MAX, and Pol::Core::ZCOORD_MIN.
|
static |
Definition at line 1639 of file boat.cpp.
References Pol::Core::add_multi_to_world(), create_components(), Pol::Multi::CRMULTI_FACING_MASK, Pol::Multi::CRMULTI_FACING_SHIFT, ctBEu32, Pol::Core::UObject::facing, Pol::Core::gamestate, Pol::Core::GetNewItemSerialNumber(), Pol::Clib::hexint(), Pol::Core::ObjectHash::Insert(), Pol::Core::make_boatref(), Pol::Multi::MultiDefByMultiID(), Pol::Multi::UMulti::multiid, Pol::Items::ItemDesc::multiid, navigable(), Pol::Core::ObjectStorageManager::objecthash, Pol::Core::objStorageManager, Pol::Items::ItemDesc::objtype, Pol::Core::ULWObject::realm, regself(), rescan_components(), send_display_boat_to_inrange(), Pol::Core::ULWObject::serial, Pol::Core::UObject::serial_ext, Pol::Core::start_script(), UBoat(), Pol::Multi::unpause_paused(), Pol::Core::ULWObject::x, Pol::Core::ULWObject::y, and Pol::Core::ULWObject::z.
Referenced by Pol::Multi::UMulti::scripted_create().
| void Pol::Multi::UBoat::send_boat | ( | Network::Client * | client | ) |
Definition at line 538 of file boat.cpp.
References Pol::Network::PktHelper::PacketOut< T >::Send().
| void Pol::Multi::UBoat::send_boat_newly_inrange | ( | Network::Client * | client | ) |
Definition at line 470 of file boat.cpp.
References Pol::Network::PktHelper::PacketOut< T >::Send(), Pol::Core::send_item(), and Pol::Core::send_owncreate().
| void Pol::Multi::UBoat::send_boat_old | ( | Network::Client * | client | ) |
Definition at line 559 of file boat.cpp.
References Pol::Network::Client::pause(), and Pol::Network::PktHelper::PacketOut< T >::Send().
| void Pol::Multi::UBoat::send_display_boat | ( | Network::Client * | client | ) |
Definition at line 356 of file boat.cpp.
References Pol::Mobile::Character::can_move(), Pol::Mobile::Character::can_seeinvisitems(), Pol::Network::Client::chr, Pol::Items::Item::get_senditem_amount(), Pol::Items::Item::invisible(), ITEM_FLAG_FORCE_MOVABLE, Pol::Network::PktHelper::PacketOut< T >::Send(), and Pol::Core::send_remove_object().
Definition at line 515 of file boat.cpp.
References Pol::Network::Client::chr, Pol::Mobile::Character::client, Pol::Network::Client::ClientType, Pol::Network::CLIENTTYPE_7000, Pol::Network::CLIENTTYPE_7090, Pol::Core::WorldIterator< Filter >::InRange(), Pol::Core::inrange(), and RANGE_VISUAL_LARGE_BUILDINGS.
Referenced by move_xy(), on_color_changed(), scripted_create(), and turn().
| void Pol::Multi::UBoat::send_remove_boat | ( | Network::Client * | client | ) |
Definition at line 578 of file boat.cpp.
References Pol::Core::send_remove_object().
Referenced by move().
| void Pol::Multi::UBoat::send_smooth_move | ( | Network::Client * | client, |
| Core::UFACING | move_dir, | ||
| u8 | speed, | ||
| u16 | newx, | ||
| u16 | newy, | ||
| bool | relative | ||
| ) |
Definition at line 281 of file boat.cpp.
References Pol::Network::PktHelper::PacketOut< T >::Send().
| void Pol::Multi::UBoat::send_smooth_move_to_inrange | ( | Core::UFACING | move_dir, |
| u8 | speed, | ||
| u16 | newx, | ||
| u16 | newy, | ||
| bool | relative | ||
| ) |
Definition at line 342 of file boat.cpp.
References Pol::Network::Client::chr, Pol::Mobile::Character::client, Pol::Network::Client::ClientType, Pol::Network::CLIENTTYPE_7090, Pol::Core::WorldIterator< Filter >::InRange(), Pol::Core::inrange(), and RANGE_VISUAL_LARGE_BUILDINGS.
Referenced by move().
|
protected |
Definition at line 1323 of file boat.cpp.
References boatshape(), Pol::Network::Client::chr, Pol::Mobile::Character::client, Components, Pol::Multi::BoatShape::Componentshapes, Pol::Items::Item::container, Pol::Core::SettingsManager::extobj, Pol::Core::ULWObject::graphic, Pol::Core::WorldIterator< Filter >::InRange(), Pol::Core::inrange(), Pol::Core::MoveItemWorldPosition(), Pol::Core::UObject::objtype_, Pol::Core::ULWObject::orphan(), POLLOG_ERROR, Pol::Core::ExternalObject::port_plank, RANGE_VISUAL, Pol::Core::ULWObject::realm, Pol::Core::send_remove_object(), Pol::Core::ULWObject::serial, Pol::Core::UObject::set_dirty(), Pol::Core::settingsManager, Pol::Core::ExternalObject::starboard_plank, Pol::Core::ULWObject::x, Pol::Core::ULWObject::y, and Pol::Core::ULWObject::z.
Referenced by turn().
| bool Pol::Multi::UBoat::turn | ( | RELATIVE_DIR | dir | ) |
Definition at line 1455 of file boat.cpp.
References boatshape(), do_tellmoves(), Pol::Core::UObject::facing, multi_ifturn(), Pol::Multi::UMulti::multiid, multiid_ifturn(), navigable(), Pol::Core::ULWObject::realm, send_display_boat_to_inrange(), Pol::Core::UObject::set_dirty(), transform_components(), turn_travellers(), Pol::Multi::unpause_paused(), Pol::Core::ULWObject::x, Pol::Core::ULWObject::y, and Pol::Core::ULWObject::z.
Referenced by Pol::Module::UBoatExecutorModule::mf_TurnBoat().
|
protected |
Definition at line 858 of file boat.cpp.
References AROUND, Pol::Core::UObject::facing, Pol::Mobile::Character::lastx, Pol::Mobile::Character::lasty, LEFT, NO_TURN, RIGHT, Pol::Core::ULWObject::x, and Pol::Core::ULWObject::y.
Referenced by turn_travellers().
|
protected |
Definition at line 888 of file boat.cpp.
References AROUND, Pol::Network::Client::chr, Pol::Mobile::Character::client, Pol::Network::Client::ClientType, Pol::Network::CLIENTTYPE_7090, Pol::Core::WorldIterator< Filter >::InRange(), Pol::Core::inrange(), Pol::Mobile::Character::invul(), Pol::Mobile::Character::lastx, Pol::Mobile::Character::lasty, LEFT, Pol::Mobile::Character::logged_in(), Pol::Mobile::Character::move_reason, Pol::Core::MoveCharacterWorldPosition(), Pol::Core::MoveItemWorldPosition(), Pol::Mobile::Character::MULTIMOVE, NO_TURN, on_ship(), Pol::Mobile::Character::poisoned(), Pol::Mobile::Character::position_changed(), RANGE_VISUAL, Pol::Core::ULWObject::realm, remove_orphans(), Pol::Items::Item::restart_decay_timer(), RIGHT, Pol::Core::send_goxyz(), Pol::Core::send_invulhealthbar(), Pol::Core::send_objects_newly_inrange_on_boat(), Pol::Core::send_poisonhealthbar(), Pol::Core::send_remove_object(), Pol::Core::UObject::set_dirty(), travellers_, turn_traveller_coords(), Pol::Core::UObject::UObject(), Pol::Core::ULWObject::x, and Pol::Core::ULWObject::y.
Referenced by turn().
|
virtual |
Definition at line 1495 of file boat.cpp.
References Pol::Core::UObject::set_dirty(), and travellers_.
| void Pol::Multi::UBoat::unregself | ( | ) |
Definition at line 624 of file boat.cpp.
References Pol::Realms::Realm::encode_global_hull(), Pol::Realms::Realm::global_hulls, Pol::Multi::MultiDef::hull, Pol::Multi::UMulti::multidef(), Pol::Core::ULWObject::realm, Pol::Core::ULWObject::x, and Pol::Core::ULWObject::y.
Referenced by Pol::Multi::UBoat::BoatMoveGuard::BoatMoveGuard(), and Pol::Multi::destroy_boat().
|
friend |
|
friend |
|
private |
Definition at line 233 of file boat.h.
Referenced by adjust_traveller_z(), component_list(), create_components(), destroy_components(), estimatedSize(), move_components(), printProperties(), readProperties(), realm_changed(), reread_components(), and transform_components().
| Items::Item* Pol::Multi::UBoat::hold |
Definition at line 183 of file boat.h.
Referenced by create_components(), hold_empty(), reread_components(), and UBoat().
| Items::Item* Pol::Multi::UBoat::portplank |
Definition at line 181 of file boat.h.
Referenced by create_components(), reread_components(), rescan_components(), and UBoat().
| Items::Item* Pol::Multi::UBoat::starboardplank |
Definition at line 182 of file boat.h.
Referenced by create_components(), reread_components(), rescan_components(), and UBoat().
| Items::Item* Pol::Multi::UBoat::tillerman |
Definition at line 180 of file boat.h.
Referenced by create_components(), reread_components(), and UBoat().
|
private |
Definition at line 228 of file boat.h.
Referenced by adjust_traveller_z(), cleanup_deck(), deck_empty(), do_tellmoves(), estimatedSize(), has_offline_mobiles(), items_list(), mobiles_list(), move_offline_mobiles(), move_travellers(), printProperties(), readProperties(), realm_changed(), register_object(), remove_orphans(), turn_travellers(), and unregister_object().