ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/plugins/cfperl/cfperl.xs
(Generate patch)

Comparing deliantra/server/plugins/cfperl/cfperl.xs (file contents):
Revision 1.60 by root, Sat Jul 15 21:10:04 2006 UTC vs.
Revision 1.65 by elmex, Sat Aug 12 11:51:38 2006 UTC

259 sv = &PL_sv_undef; 259 sv = &PL_sv_undef;
260 else 260 else
261 switch (obj->type) 261 switch (obj->type)
262 { 262 {
263 case MAP: 263 case MAP:
264 sv = newSVptr_cached (obj, "cf::object::map"); 264 sv = newSVptr_cached (obj, "cf::object::map::wrap");
265 break; 265 break;
266 266
267 case PLAYER: 267 case PLAYER:
268 sv = newSVptr_cached (obj, "cf::object::player"); 268 sv = newSVptr_cached (obj, "cf::object::player::wrap");
269 break; 269 break;
270 270
271 default: 271 default:
272 sv = newSVptr_cached (obj, "cf::object"); 272 sv = newSVptr_cached (obj, "cf::object::wrap");
273 break; 273 break;
274 } 274 }
275 } 275 }
276 break; 276 break;
277 277
278 case CFAPI_PMAP: 278 case CFAPI_PMAP:
279 sv = newSVptr (va_arg (args, mapstruct *), "cf::map"); 279 sv = newSVptr (va_arg (args, mapstruct *), "cf::map::wrap");
280 break; 280 break;
281 281
282 case CFAPI_PPLAYER: 282 case CFAPI_PPLAYER:
283 sv = newSVptr (va_arg (args, player *), "cf::player"); 283 sv = newSVptr (va_arg (args, player *), "cf::player::wrap");
284 break; 284 break;
285 285
286 case CFAPI_PARCH: 286 case CFAPI_PARCH:
287 sv = newSVptr (va_arg (args, archetype *), "cf::arch"); 287 sv = newSVptr (va_arg (args, archetype *), "cf::arch::wrap");
288 break; 288 break;
289 289
290 case CFAPI_PPARTY: 290 case CFAPI_PPARTY:
291 sv = newSVptr (va_arg (args, partylist *), "cf::party"); 291 sv = newSVptr (va_arg (args, partylist *), "cf::party::wrap");
292 break; 292 break;
293 293
294 case CFAPI_PREGION: 294 case CFAPI_PREGION:
295 sv = newSVptr (va_arg (args, region *), "cf::region"); 295 sv = newSVptr (va_arg (args, region *), "cf::region::wrap");
296 break; 296 break;
297 297
298 default: 298 default:
299 assert (("unhandled type in newSVcfapi", 0)); 299 assert (("unhandled type in newSVcfapi", 0));
300 } 300 }
420 registerGlobalEvent (NULL, EVENT_BORN, PLUGIN_NAME, globalEventListener); 420 registerGlobalEvent (NULL, EVENT_BORN, PLUGIN_NAME, globalEventListener);
421 registerGlobalEvent (NULL, EVENT_CLOCK, PLUGIN_NAME, globalEventListener); 421 registerGlobalEvent (NULL, EVENT_CLOCK, PLUGIN_NAME, globalEventListener);
422 //registerGlobalEvent (NULL, EVENT_CRASH, PLUGIN_NAME, globalEventListener); 422 //registerGlobalEvent (NULL, EVENT_CRASH, PLUGIN_NAME, globalEventListener);
423 registerGlobalEvent (NULL, EVENT_FIND_UNARMED_SKILL, PLUGIN_NAME, globalEventListener); 423 registerGlobalEvent (NULL, EVENT_FIND_UNARMED_SKILL, PLUGIN_NAME, globalEventListener);
424 registerGlobalEvent (NULL, EVENT_PLAYER_USE_SKILL, PLUGIN_NAME, globalEventListener); 424 registerGlobalEvent (NULL, EVENT_PLAYER_USE_SKILL, PLUGIN_NAME, globalEventListener);
425 registerGlobalEvent (NULL, EVENT_CAST_SPELL, PLUGIN_NAME, globalEventListener);
425 registerGlobalEvent (NULL, EVENT_MONSTER_USE_SKILL, PLUGIN_NAME, globalEventListener); 426 registerGlobalEvent (NULL, EVENT_MONSTER_USE_SKILL, PLUGIN_NAME, globalEventListener);
426 registerGlobalEvent (NULL, EVENT_PLAYER_DEATH, PLUGIN_NAME, globalEventListener); 427 registerGlobalEvent (NULL, EVENT_PLAYER_DEATH, PLUGIN_NAME, globalEventListener);
427 registerGlobalEvent (NULL, EVENT_GKILL, PLUGIN_NAME, globalEventListener); 428 registerGlobalEvent (NULL, EVENT_GKILL, PLUGIN_NAME, globalEventListener);
428 registerGlobalEvent (NULL, EVENT_LOGIN, PLUGIN_NAME, globalEventListener); 429 registerGlobalEvent (NULL, EVENT_LOGIN, PLUGIN_NAME, globalEventListener);
429 registerGlobalEvent (NULL, EVENT_LOGOUT, PLUGIN_NAME, globalEventListener); 430 registerGlobalEvent (NULL, EVENT_LOGOUT, PLUGIN_NAME, globalEventListener);
592 PUSH_OB; 593 PUSH_OB;
593 break; 594 break;
594 595
595 case EVENT_PLAYER_USE_SKILL: 596 case EVENT_PLAYER_USE_SKILL:
596 case EVENT_MONSTER_USE_SKILL: 597 case EVENT_MONSTER_USE_SKILL:
598 case EVENT_CAST_SPELL:
597 PUSH_OB; 599 PUSH_OB;
598 PUSH_OB; 600 PUSH_OB;
599 PUSH_OB; 601 PUSH_OB;
600 PUSH_IV; 602 PUSH_IV;
601 PUSH_PV; 603 PUSH_PV;
1268 const_event (TELL) 1270 const_event (TELL)
1269 const_event (MUZZLE) 1271 const_event (MUZZLE)
1270 const_event (KICK) 1272 const_event (KICK)
1271 const_event (PLAYER_USE_SKILL) 1273 const_event (PLAYER_USE_SKILL)
1272 const_event (MONSTER_USE_SKILL) 1274 const_event (MONSTER_USE_SKILL)
1275 const_event (CAST_SPELL)
1273 const_event (FIND_UNARMED_SKILL) 1276 const_event (FIND_UNARMED_SKILL)
1274 const_event (EXTCMD) 1277 const_event (EXTCMD)
1275 //const_event (FREE_OB) 1278 //const_event (FREE_OB)
1276 }; 1279 };
1277 1280
1433char * 1436char *
1434cf_get_maps_directory (char *path) 1437cf_get_maps_directory (char *path)
1435 PROTOTYPE: $ 1438 PROTOTYPE: $
1436 ALIAS: maps_directory = 0 1439 ALIAS: maps_directory = 0
1437 1440
1441void
1442sub_generation_inc ()
1443 CODE:
1444 PL_sub_generation++;
1445
1438char * 1446char *
1439mapdir () 1447mapdir ()
1440 PROTOTYPE: 1448 PROTOTYPE:
1441 ALIAS: 1449 ALIAS:
1442 mapdir = 0 1450 mapdir = 0
1603 1611
1604int cf_object_pay_item (object *op, object *buyer) 1612int cf_object_pay_item (object *op, object *buyer)
1605 1613
1606int cf_object_pay_amount (object *op, val64 amount) 1614int cf_object_pay_amount (object *op, val64 amount)
1607 1615
1616void pay_player (object *op, val64 amount)
1617
1618val64 pay_player_arch (object *op, const char *arch, val64 amount)
1619
1608int cf_object_cast_spell (object *caster, object *ctoo, int dir, object *spell_ob, char *stringarg = 0) 1620int cf_object_cast_spell (object *caster, object *ctoo, int dir, object *spell_ob, char *stringarg = 0)
1609 1621
1610int cf_object_cast_ability (object *caster, object *ctoo, int dir, object *sp_, char *stringarg = 0) 1622int cf_object_cast_ability (object *caster, object *ctoo, int dir, object *sp_, char *stringarg = 0)
1611 1623
1612void cf_object_learn_spell (object *op, object *sp) 1624void cf_object_learn_spell (object *op, object *sp)
1650 1662
1651object *cf_create_object_by_name (const char *name) 1663object *cf_create_object_by_name (const char *name)
1652 1664
1653void change_exp (object *op, val64 exp, const char *skill_name = 0, int flag = 0) 1665void change_exp (object *op, val64 exp, const char *skill_name = 0, int flag = 0)
1654 1666
1655void pay_player (object *op, val64 amount)
1656
1657val64 pay_player_arch (object *op, const char *arch, val64 amount)
1658
1659void player_lvl_adj (object *who, object *skill = 0) 1667void player_lvl_adj (object *who, object *skill = 0)
1660 1668
1661int kill_object (object *op, int dam = 0, object *hitter = 0, int type = AT_PHYSICAL) 1669int kill_object (object *op, int dam = 0, object *hitter = 0, int type = AT_PHYSICAL)
1662 1670
1663int calc_skill_exp (object *who, object *op, object *skill); 1671int calc_skill_exp (object *who, object *op, object *skill);
1672
1673void push_button (object *op);
1674
1675void use_trigger (object *op);
1676
1677void add_button_link (object *button, mapstruct *map, int connected);
1678
1679void remove_button_link (object *op);
1664 1680
1665void 1681void
1666cf_object_set_resistance (object *op, int rtype, int val) 1682cf_object_set_resistance (object *op, int rtype, int val)
1667 CODE: 1683 CODE:
1668 if (rtype >= 0 && rtype < NROFATTACKS) 1684 if (rtype >= 0 && rtype < NROFATTACKS)
1698const char *options (object *op) 1714const char *options (object *op)
1699 CODE: 1715 CODE:
1700 RETVAL = op->name; 1716 RETVAL = op->name;
1701 OUTPUT: 1717 OUTPUT:
1702 RETVAL 1718 RETVAL
1719
1720player *contr (object *op)
1721 CODE:
1722 RETVAL = op->contr;
1723 OUTPUT: RETVAL
1703 1724
1704const char *get_ob_key_value (object *op, const char *key) 1725const char *get_ob_key_value (object *op, const char *key)
1705 1726
1706bool set_ob_key_value (object *op, const char *key, const char *value = 0, int add_key = 1) 1727bool set_ob_key_value (object *op, const char *key, const char *value = 0, int add_key = 1)
1707 1728
1750 OUTPUT: RETVAL 1771 OUTPUT: RETVAL
1751 1772
1752void cf_player_message (object *obj, char *txt, int flags = NDI_ORANGE | NDI_UNIQUE) 1773void cf_player_message (object *obj, char *txt, int flags = NDI_ORANGE | NDI_UNIQUE)
1753 1774
1754object *cf_player_send_inventory (object *op) 1775object *cf_player_send_inventory (object *op)
1755
1756player *contr (object *op)
1757 CODE:
1758 RETVAL = op->contr;
1759 OUTPUT: RETVAL
1760 1776
1761char *cf_player_get_ip (object *op) 1777char *cf_player_get_ip (object *op)
1762 ALIAS: ip = 0 1778 ALIAS: ip = 0
1763 1779
1764object *cf_player_get_marked_item (object *op) 1780object *cf_player_get_marked_item (object *op)
2120archetype *cf_archetype_get_more (archetype *arch) 2136archetype *cf_archetype_get_more (archetype *arch)
2121 ALIAS: more = 0 2137 ALIAS: more = 0
2122 2138
2123const char *cf_archetype_get_name (archetype *arch) 2139const char *cf_archetype_get_name (archetype *arch)
2124 ALIAS: name = 0 2140 ALIAS: name = 0
2141
2142object *cf_archetype_get_clone (archetype *arch)
2143 ALIAS: clone = 0
2125 2144
2126MODULE = cf PACKAGE = cf::party PREFIX = cf_party_ 2145MODULE = cf PACKAGE = cf::party PREFIX = cf_party_
2127 2146
2128partylist *cf_party_get_first () 2147partylist *cf_party_get_first ()
2129 PROTOTYPE: 2148 PROTOTYPE:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines