15 #include "../bscript/berror.h" 16 #include "../bscript/bobject.h" 17 #include "../bscript/bstruct.h" 18 #include "../bscript/executor.h" 19 #include "../bscript/objmethods.h" 20 #include "../clib/cfgelem.h" 21 #include "../clib/clib_endian.h" 22 #include "../clib/streamsaver.h" 40 editable( mapdesc.editable ),
74 PinPoints::const_iterator itr;
80 sw() <<
"\tPin" << i <<
" " << itr->x <<
"," << itr->y <<
pf_endl;
99 char search_string[6];
103 for ( i = 0; i < numpins; i++ )
105 sprintf( search_string,
"Pin%i", i );
107 sscanf( pinval.c_str(),
"%i,%i", &px, &py );
109 pp.
x =
static_cast<unsigned short>( px );
110 pp.
y =
static_cast<unsigned short>( py );
124 msgF5->Write<
u8>( 0x13u );
125 msgF5->Write<
u8>( 0x9du );
133 msgF5.
Send( client );
139 msg90->Write<
u8>( 0x13u );
140 msg90->Write<
u8>( 0x9du );
147 msg90.
Send( client );
154 msg56.
Send( client );
169 msg56.
Send( client );
177 using namespace Bscript;
179 if ( imp !=
nullptr )
186 std::unique_ptr<ObjArray> arr(
new ObjArray );
189 std::unique_ptr<BStruct> struc(
new BStruct );
190 struc->addMember(
"x",
new BLong( itr->x ) );
191 struc->addMember(
"y",
new BLong( itr->y ) );
193 arr->addElement( struc.release() );
195 return arr.release();
201 unsigned short px, py;
209 return new BError(
"Invalid Coordinates for Realm" );
219 return new BLong( 1 );
223 return new BError(
"Invalid parameter type" );
229 unsigned short px, py;
234 return new BError(
"Invalid Coordinates for Realm" );
239 return new BLong( 1 );
243 return new BError(
"Invalid parameter type" );
259 return new BLong( 1 );
263 return new BError(
"Index Out of Range" );
276 if ( imp !=
nullptr )
280 if ( objmethod !=
nullptr )
315 u16 ret = (
u16 )( ( worldx -
get_xwest() ) / world_xtiles_per_pixel );
364 if ( my_map ==
nullptr )
381 msg56->Write<
u8>( my_map->
plotting ? 1u : 0u );
382 msg56->Write<
u16>( msg->
pinx );
383 msg56->Write<
u16>( msg->
piny );
384 msg56.
Send( client );
std::string remove_string(const char *propname)
virtual Bscript::BObjectImp * script_method_id(const int id, Bscript::Executor &ex) POL_OVERRIDE
virtual Items::Item * clone() const POL_OVERRIDE
virtual void printProperties(Clib::StreamWriter &sw) const POL_OVERRIDE
void handle_map_pin(Network::Client *client, PKTBI_56 *msg)
Item * find_legal_item(const Character *chr, u32 serial, bool *additlegal, bool *isRemoteContainer)
virtual Bscript::BObjectImp * script_method_id(const int id, Bscript::Executor &ex) POL_OVERRIDE
void printPinPoints(Clib::StreamWriter &sw) const
ObjMethod * getKnownObjMethod(const char *token)
virtual Item * clone() const
virtual void readProperties(Clib::ConfigElem &elem) POL_OVERRIDE
bool msgCoordsInBounds(PKTBI_56 *msg)
virtual Bscript::BObjectImp * script_method(const char *methodname, Bscript::Executor &ex) POL_OVERRIDE
u16 worldXtoGumpX(u16 worldx)
void Send(Client *client, int len=-1) const
virtual void printProperties(Clib::StreamWriter &sw) const POL_OVERRIDE
virtual size_t estimatedSize() const POL_OVERRIDE
Map(const Items::MapDesc &mapdesc)
virtual void builtin_on_use(Network::Client *client) POL_OVERRIDE
PinPoints::iterator pin_points_itr
virtual void readProperties(Clib::ConfigElem &elem) POL_OVERRIDE
u16 gumpXtoWorldX(u16 gumpx)
virtual size_t estimatedSize() const POL_OVERRIDE
u16 gumpYtoWorldY(u16 gumpy)
unsigned short remove_ushort(const char *propname)
u16 worldYtoGumpY(u16 worldy)
bool valid(unsigned short x, unsigned short y, short z) const
bool remove_bool(const char *propname)
virtual Bscript::BObjectImp * script_method(const char *methodname, Bscript::Executor &ex) POL_OVERRIDE
bool getParam(unsigned param, int &value)