1 | /* |
1 | /* |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
2 | * This file is part of Deliantra, the Roguelike Realtime MMORPG. |
3 | * |
3 | * |
4 | * Copyright (©) 2005,2006,2007,2008,2009 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
4 | * Copyright (©) 2005,2006,2007,2008,2009,2010 Marc Alexander Lehmann / Robin Redeker / the Deliantra team |
5 | * |
5 | * |
6 | * Deliantra is free software: you can redistribute it and/or modify it under |
6 | * Deliantra is free software: you can redistribute it and/or modify it under |
7 | * the terms of the Affero GNU General Public License as published by the |
7 | * the terms of the Affero GNU General Public License as published by the |
8 | * Free Software Foundation, either version 3 of the License, or (at your |
8 | * Free Software Foundation, either version 3 of the License, or (at your |
9 | * option) any later version. |
9 | * option) any later version. |
… | |
… | |
231 | { |
231 | { |
232 | if (may_execute (pkt) || always_immediate (this, pkt, data, datalen)) |
232 | if (may_execute (pkt) || always_immediate (this, pkt, data, datalen)) |
233 | { |
233 | { |
234 | //TODO: only one format |
234 | //TODO: only one format |
235 | if (pkt->flags & PF_PLAYER) |
235 | if (pkt->flags & PF_PLAYER) |
|
|
236 | { |
236 | ((void (*)(char *, int, player *))pkt->cb)((char *)data, datalen, pl); |
237 | ((void (*)(char *, int, player *))pkt->cb)((char *)data, datalen, pl); |
|
|
238 | pl->need_updated_stats (); |
|
|
239 | } |
237 | else |
240 | else |
238 | ((void (*)(char *, int, client *))pkt->cb)((char *)data, datalen, this); |
241 | ((void (*)(char *, int, client *))pkt->cb)((char *)data, datalen, this); |
239 | } |
242 | } |
240 | else |
243 | else |
241 | send_packet_printf ("drawinfo %d ERROR: you cannot execute '%s' now.", NDI_RED | NDI_REPLY, pkt->name); |
244 | send_packet_printf ("drawinfo %d ERROR: you cannot execute '%s' now.", NDI_RED | NDI_REPLY, pkt->name); |