… | |
… | |
48 | made. The copy automatically has all attachments the original object |
48 | made. The copy automatically has all attachments the original object |
49 | had. The perl variables get copied in a shallow way (references are shared |
49 | had. The perl variables get copied in a shallow way (references are shared |
50 | between instances). If this is not the behaviour you need, you have to |
50 | between instances). If this is not the behaviour you need, you have to |
51 | adjust the B<destination> object as you see fit. |
51 | adjust the B<destination> object as you see fit. |
52 | |
52 | |
|
|
53 | =head3 add_bonus (item creator difficulty max_magic flags) |
|
|
54 | |
|
|
55 | A basic item has been created (e.g. for shops, monsters drops etc.) |
|
|
56 | that needs bonus values applied. The B<creator> object is a template |
|
|
57 | object that can be used to inherit stuff (and can be NULL). Flags is a |
|
|
58 | combination of GT_ENVIRONMENT (???) or GT_STARTEQUIP (set FLAG_STARTEQUIP |
|
|
59 | on item or set its value to 0) or GT_MINIMAL (???) |
|
|
60 | |
|
|
61 | When overriden, built-in bonus generation is skipped, otherwise |
|
|
62 | treasure generation continues as it would without this hook. |
|
|
63 | |
|
|
64 | In general, if flags != 0 or creator != 0 you should just return and leave |
|
|
65 | item generation to the standard code. |
|
|
66 | |
53 | =head3 destroy (object) |
67 | =head3 destroy (object) |
54 | |
68 | |
55 | Invoked when the crossfire object gets destroyed, and only when the object |
69 | Invoked when the crossfire object gets destroyed, and only when the object |
56 | has a handler for this event. This event can occur many times, as its |
70 | has a handler for this event. This event can occur many times, as its |
57 | called when the in-memory object is destroyed, not when the object itself |
71 | called when the in-memory object is destroyed, not when the object itself |
… | |
… | |
239 | |
253 | |
240 | =head3 map_change (player newmap x y -- ) |
254 | =head3 map_change (player newmap x y -- ) |
241 | |
255 | |
242 | Invoked before a player moves from one map to another, can override the movement. |
256 | Invoked before a player moves from one map to another, can override the movement. |
243 | |
257 | |
|
|
258 | =head3 command (player command args -- time) |
|
|
259 | |
|
|
260 | Execute a user command send by the client. Programmable plug-ins usually |
|
|
261 | handle this event internally. |
|
|
262 | |
244 | =head3 extcmd (player string) |
263 | =head3 extcmd (player string) |
245 | |
264 | |
246 | Invoked whenever a client issues the C<extcmd> protocol command. It's |
265 | Invoked whenever a client issues the C<extcmd> protocol command. |
247 | argument is passed without any changes. |
266 | Programmable plug-ins usually handle this event internally. |
248 | |
267 | |
249 | =head3 move (player direction -- ) |
268 | =head3 move (player direction -- ) |
250 | |
269 | |
251 | =head3 pray_altar (player altar skill -- ) |
270 | =head3 pray_altar (player altar skill -- ) |
252 | |
271 | |
… | |
… | |
307 | Invoked when a temporary B<map> gets deleted on-disk. |
326 | Invoked when a temporary B<map> gets deleted on-disk. |
308 | |
327 | |
309 | =head3 enter (map player x y -- ) |
328 | =head3 enter (map player x y -- ) |
310 | |
329 | |
311 | Invoked whenever a player tries to enter the B<map>, while he/she is still |
330 | Invoked whenever a player tries to enter the B<map>, while he/she is still |
312 | on the old map. Overriding means the player won't be able to enter. |
331 | on the old map. Overriding means the player won't be able to enter, and, |
|
|
332 | if newmap/x/y are given, will be redirected to that map instead. |
313 | |
333 | |
314 | =head3 leave (map player -- ) |
334 | =head3 leave (map player -- ) |
315 | |
335 | |
316 | Invoked whenever a player tries to leave the B<map>. Overriding means the |
336 | Invoked whenever a player tries to leave the B<map>. Overriding means the |
317 | player won't be able to leave. |
337 | player won't be able to leave. |
318 | |
338 | |
319 | =head3 trigger (map connection state) |
339 | =head3 trigger (map connection state) |
320 | |
340 | |
321 | Invoked whenever something activates a B<connection> on the B<map>. If B<state> |
341 | Invoked whenever something activates a B<connection> on the B<map>. If B<state> |
322 | is true the connection was 'state' and if false it is 'released'. |
342 | is true the connection was 'state' and if false it is 'released'. |
|
|
343 | |
|
|
344 | |
|
|
345 | =head2 CLIENT EVENTS |
|
|
346 | |
|
|
347 | These events are very similar to player events, but they are might be |
|
|
348 | handled asynchronously as soon as the command reaches the server, even when |
|
|
349 | the player hasn't logged in yet (meaning there is no player yet). |
|
|
350 | |
|
|
351 | =head3 exticmd (client string) |
|
|
352 | |
|
|
353 | Like C<extcmd>, but can be called before a player has logged in. |
|
|
354 | |
|
|
355 | Programmable plug-ins usually handle this event internally. |
|
|
356 | |