ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/skills.c
(Generate patch)

Comparing deliantra/server/server/skills.c (file contents):
Revision 1.2 by pippijn, Fri Jun 2 02:01:12 2006 UTC vs.
Revision 1.5 by root, Sat Jul 1 21:04:42 2006 UTC

1/* 1/*
2 * static char *rcsid_skills_c = 2 * static char *rcsid_skills_c =
3 * "$Id: skills.c,v 1.2 2006/06/02 02:01:12 pippijn Exp $"; 3 * "$Id: skills.c,v 1.5 2006/07/01 21:04:42 root Exp $";
4 */ 4 */
5/* 5/*
6 CrossFire, A Multiplayer game for X-windows 6 CrossFire, A Multiplayer game for X-windows
7 7
8 Copyright (C) 2003 Mark Wedel & Crossfire Development Team 8 Copyright (C) 2003 Mark Wedel & Crossfire Development Team
292 object *owner = get_owner(tmp); 292 object *owner = get_owner(tmp);
293 if (owner != NULL && owner->type == PLAYER) 293 if (owner != NULL && owner->type == PLAYER)
294 return 0; 294 return 0;
295 } 295 }
296 296
297 return (calc_skill_exp(op,tmp, skill)); 297 // reduce monster experience by experience we gained, as to
298 // limit the amount of exp that can be gained by stealing from monsters
299 // (jessies gave ~20,000,000 exp otherwise.
300 int exp = calc_skill_exp (op, tmp, skill);
301 exp = MIN (tmp->stats.exp, exp);
302 tmp->stats.exp -= exp;
303 return exp;
298 } 304 }
299 } 305 }
300 return 0; 306 return 0;
301} 307}
302 308
1112/* write_note() - this routine allows players to inscribe messages in 1118/* write_note() - this routine allows players to inscribe messages in
1113 * ordinary 'books' (anything that is type BOOK). b.t. 1119 * ordinary 'books' (anything that is type BOOK). b.t.
1114 */ 1120 */
1115 1121
1116static int write_note(object *pl, object *item, const char *msg, object *skill) { 1122static int write_note(object *pl, object *item, const char *msg, object *skill) {
1117 char buf[BOOK_BUF]; 1123 char buf[1024];
1118 object *newBook = NULL; 1124 object *newBook = NULL;
1119 1125
1120 /* a pair of sanity checks */ 1126 /* a pair of sanity checks */
1121 if(!item||item->type!=BOOK) return 0; 1127 if(!item||item->type!=BOOK) return 0;
1122 1128
1134 /* Lauwenmark: Handle for plugin book writing (trigger) event */ 1140 /* Lauwenmark: Handle for plugin book writing (trigger) event */
1135 if (execute_event(item, EVENT_TRIGGER,pl,NULL,msg,SCRIPT_FIX_ALL)!=0) 1141 if (execute_event(item, EVENT_TRIGGER,pl,NULL,msg,SCRIPT_FIX_ALL)!=0)
1136 return strlen(msg); 1142 return strlen(msg);
1137 1143
1138 buf[0] = 0; 1144 buf[0] = 0;
1139 if(!book_overflow(item->msg,msg,BOOK_BUF)) { /* add msg string to book */ 1145 if(!book_overflow(item->msg,msg,sizeof (buf))) { /* add msg string to book */
1140 if(item->msg) 1146 if(item->msg)
1141 strcpy(buf,item->msg); 1147 strcpy(buf,item->msg);
1142 1148
1143 strcat(buf,msg); 1149 strcat(buf,msg);
1144 strcat(buf,"\n"); /* new msg needs a LF */ 1150 strcat(buf,"\n"); /* new msg needs a LF */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines