Currently Posted June 29, 2013 Share Posted June 29, 2013 --- src/common/mmo.h 2011-12-27 22:09:51.727946899 +0500 +++ src/common/mmo.h 2011-12-28 15:29:55.193120002 +0500 @@ -178,6 +178,7 @@ IT_UNKNOWN2,//9 IT_AMMO, //10 IT_DELAYCONSUME,//11 + IT_CHARM,//12 IT_THROWWEAPON= 17,//17 IT_CASH = 18, IT_MAX --- src/map/clif.c 2011-12-28 10:44:28.209120003 +0500 +++ src/map/clif.c 2011-12-28 15:39:13.405120002 +0500 @@ -60,7 +60,7 @@ //Converts item type in case of pet eggs. static inline int itemtype(int type) { - return ( type == IT_PETEGG ) ? IT_WEAPON : type; + return ( type == IT_PETEGG ) ? IT_WEAPON : ( type == IT_CHARM ) ? IT_ETC : type; } --- src/map/pc.c 2011-12-26 10:23:31.255420000 +0500 +++ src/map/pc.c 2011-12-28 15:29:55.221120002 +0500 @@ -3457,6 +3457,7 @@ clif_updatestatus(sd,SP_WEIGHT); //Auto-equip if(data->flag.autoequip) pc_equipitem(sd, i, data->equip); + if(sd->inventory_data->type == IT_CHARM) status_calc_pc(sd,0); return 0; } @@ -3465,6 +3466,7 @@ *------------------------------------------*/ int pc_delitem(struct map_session_data *sd,int n,int amount,int type, short reason) { + int mem=0; nullpo_retr(1, sd); if(sd->status.inventory[n].nameid==0 || amount <= 0 || sd->status.inventory[n].amount<amount || sd->inventory_data[n] == NULL) @@ -3475,6 +3477,7 @@ if(sd->status.inventory[n].amount<=0){ if(sd->status.inventory[n].equip) pc_unequipitem(sd,n,3); + mem = sd->inventory_data[n]->type; memset(&sd->status.inventory[n],0,sizeof(sd->status.inventory[0])); sd->inventory_data[n] = NULL; } @@ -3483,6 +3486,8 @@ if(!(type&2)) clif_updatestatus(sd,SP_WEIGHT); + if(mem == IT_CHARM) status_calc_pc(sd,0); + return 0; } --- src/map/status.c 2011-12-26 10:23:31.247420000 +0500 +++ src/map/status.c 2011-12-28 15:29:55.225120002 +0500 @@ -2176,6 +2176,18 @@ pc_delautobonus(sd,sd->autobonus3,ARRAYLENGTH(sd->autobonus3),true); // Parse equipment. + for(i=0;i<MAX_INVENTORY;i++){ + if(!sd->inventory_data) + continue; + if(sd->inventory_data->type == IT_CHARM){ + if(sd->inventory_data->script && sd->inventory_data->elv <=sd->status.base_level) { + if((!((1<<(sd->class_&MAPID_BASEMASK)) &(sd->inventory_data->class_base[sd->class_&JOBL_2_1?1:(sd->class_&JOBL_2_2?2:0)]))) + || (!((1<<(sd->class_&JOBL_UPPER?1:(sd->class_&JOBL_BABY?2:0))) &sd->inventory_data->class_upper))) continue; + run_script(sd->inventory_data->script,0,sd->bl.id,0); + if (!calculating) //Abort, run_script retriggered this. [skotlex] + return 1; + }}} + for(i=0;i<EQI_MAX-1;i++) { current_equip_item_index = index = sd->equip_index; //We pass INDEX to current_equip_item_index - for EQUIP_SCRIPT (new cards solution) [Lupus] if(index < 0) Pede pa link naman ng guide sa rathena how to read .diff or para sa source? Quote Link to comment Share on other sites More sharing options...
Common Sense Posted June 29, 2013 Share Posted June 29, 2013 About + and - signs, they are added or deducted lines or modified lines About +++ and --- signs, they are the file source, that has a time comparison, the +++ sign is where the most updated one, and what date/time/timezone was modified, as well to --- sign External Guides about hunk headers: http://stackoverflow.com/questions/8558597/what-does-the-meta-line-in-svn-diff-or-git-diff-mean Better understanding about diff: http://en.wikipedia.org/wiki/Diff Quote Link to comment Share on other sites More sharing options...
Currently Posted July 8, 2013 Author Share Posted July 8, 2013 Would you care to give me an example? Quote Link to comment Share on other sites More sharing options...
Tonetzkii Posted July 9, 2013 Share Posted July 9, 2013 --- src/common/mmo.h 2011-12-27 22:09:51.727946899 +0500 -----------> remove this src/common/mmo.h 2011-12-28 15:29:55.193120002 +0500 ---------------> this is + means replace @@ -178,6 +178,7 @@ IT_UNKNOWN2,//9 IT_AMMO, //10 IT_DELAYCONSUME,//11 + IT_CHARM,//12 ------------ > removed the + IT_THROWWEAPON= 17,//17 IT_CASH = 18, IT_MAX Quote Link to comment Share on other sites More sharing options...