* Follow-up r16835: Some cleanup.

* Updated Hunting Missions script to v1.2b, which adds experience multipliers to config (custom\quests\hunting_missions.txt)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16839 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
euphyy 2012-10-29 07:35:02 +00:00
parent 8b074051ea
commit 9fcdb56b2e
9 changed files with 103 additions and 105 deletions

View File

@ -8,7 +8,7 @@
// 0-410: reserved for GM commands // 0-410: reserved for GM commands
// 500-900 reserved for others // 500-900 reserved for others
// 900-1300 @atcommand // 900-1300: @atcommand
// To disable a string (%s) field, make it's max length 0: // To disable a string (%s) field, make it's max length 0:
// eg: // eg:
@ -611,20 +611,20 @@
662: You're too close to a NPC, you must be at least %d cells away from any NPC. 662: You're too close to a NPC, you must be at least %d cells away from any NPC.
663: Duel: Can't use this item in duel. 663: Duel: Can't use this item in duel.
664: You cannot use this command when dead. 664: You cannot use this command when dead.
665: Can't create chat rooms in this Area. 665: Can't create chat rooms in this area.
666: Pets are not allowed in Guild Wars. 666: Pets are not allowed in Guild Wars.
667: You're not dead. 667: You're not dead.
668: Your actual memo positions are: 668: Your actual memo positions are:
669: You broke target's weapon 669: You broke the target's weapon.
670: You can't leave battleground guilds. 670: You can't leave battleground guilds.
671: Friend already exists. 671: Friend already exists.
672: Name not found in list. 672: Name not found in list.
673: This action can't be performed at the moment. Please try again later. 673: This action can't be performed at the moment. Please try again later.
674: Friend removed 674: Friend removed.
675: Cannot send mails too fast!!. 675: Cannot send mails too fast!!
676: Alliances cannot be made during Guild Wars! 676: Alliances cannot be made during Guild Wars!
677: Alliances cannot be broken during Guild Wars! 677: Alliances cannot be broken during Guild Wars!
678: You no longer are the Guild Master. 678: You are no longer the Guild Master.
679: You have become the Guild Master! 679: You have become the Guild Master!
680: You have been recovered! 680: You have been recovered!
//681-899 free //681-899 free

View File

@ -3,7 +3,7 @@
//===== By: ================================================== //===== By: ==================================================
//= Euphy //= Euphy
//===== Current Version: ===================================== //===== Current Version: =====================================
//= 1.2a //= 1.2b
//===== Compatible With: ===================================== //===== Compatible With: =====================================
//= rAthena SVN //= rAthena SVN
//===== Description: ========================================= //===== Description: =========================================
@ -124,8 +124,8 @@ Mission_Status:
for(set .@i,0; .@i<.Quests; set .@i,.@i+1) { for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
set .@j[.@i], getd("Mission"+.@i); set .@j[.@i], getd("Mission"+.@i);
set .@j[.Quests], .@j[.Quests]+strmobinfo(3,.@j[.@i]); set .@j[.Quests], .@j[.Quests]+strmobinfo(3,.@j[.@i]);
set .@j[.Quests+1], .@j[.Quests+1]+strmobinfo(6,.@j[.@i]); set .@j[.Quests+1], .@j[.Quests+1]+(strmobinfo(6,.@j[.@i])/(getbattleflag("base_exp_rate")/100)*.Modifier[0]);
set .@j[.Quests+2], .@j[.Quests+2]+strmobinfo(7,.@j[.@i]); set .@j[.Quests+2], .@j[.Quests+2]+(strmobinfo(7,.@j[.@i])/(getbattleflag("job_exp_rate")/100)*.Modifier[1]);
mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count)+strmobinfo(1,.@j[.@i])+" ("+getd("Mission"+.@i+"_")+"/"+#Mission_Count+")^000000"; mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count)+strmobinfo(1,.@j[.@i])+" ("+getd("Mission"+.@i+"_")+"/"+#Mission_Count+")^000000";
} }
@ -133,7 +133,7 @@ Mission_Status:
set .@Mission_Points, 3+(.@j[.Quests]/.Quests/6); set .@Mission_Points, 3+(.@j[.Quests]/.Quests/6);
set .@Base_Exp, #Mission_Count*.@j[.Quests+1]/5; set .@Base_Exp, #Mission_Count*.@j[.Quests+1]/5;
set .@Job_Exp, #Mission_Count*.@j[.Quests+2]/5; set .@Job_Exp, #Mission_Count*.@j[.Quests+2]/5;
set .@Zeny, #Mission_Count*.Quests*.@j[.@i]*.Multiplier; set .@Zeny, #Mission_Count*.Quests*.@j[.@i]*.Modifier[2];
next; next;
mes "[Hunting Missions]"; mes "[Hunting Missions]";
@ -152,7 +152,8 @@ Mission_Status:
specialeffect2 EF_ANGEL; specialeffect2 EF_ANGEL;
specialeffect2 EF_TRUESIGHT; specialeffect2 EF_TRUESIGHT;
set #Mission_Points, #Mission_Points+.@Mission_Points; set #Mission_Points, #Mission_Points+.@Mission_Points;
getexp .@Base_Exp,.@Job_Exp; set BaseExp, BaseExp+.@Base_Exp;
set JobExp, JobExp+.@Job_Exp;
set Zeny, Zeny+.@Zeny; set Zeny, Zeny+.@Zeny;
for(set .@i,0; .@i<.Quests; set .@i,.@i+1) { for(set .@i,0; .@i<.Quests; set .@i,.@i+1) {
setd "Mission"+.@i,0; setd "Mission"+.@i,0;
@ -259,11 +260,12 @@ OnNPCKillEvent:
OnInit: OnInit:
set .Delay,12; // Quest delay, in hours (0 to disable). set .Delay,12; // Quest delay, in hours (0 to disable).
set .Quests,4; // Number of subquests per quest (increases rewards). set .Quests,4; // Number of subquests per mission (increases rewards).
set .Party,3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) set .Party,3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only)
set .Multiplier,60; // Multiplier for Zeny reward calculation.
setarray .Count[0], // Min and max monsters per subquest (increases rewards). setarray .Count[0], // Min and max monsters per subquest (increases rewards).
40,70; 40,70;
setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards.
getbattleflag("base_exp_rate")/100,getbattleflag("job_exp_rate")/100,60;
setarray .Shop[0], // Reward items: <ID>,<point cost> (about 10~20 points per hunt). setarray .Shop[0], // Reward items: <ID>,<point cost> (about 10~20 points per hunt).
512,1,513,1,514,1,538,5,539,5,558,10,561,10; 512,1,513,1,514,1,538,5,539,5,558,10,561,10;

View File

@ -393,7 +393,7 @@ int guild_create(struct map_session_data *sd, const char *name)
return 1; return 1;
} }
//Whether or not to create guilde //Whether or not to create guild
int guild_created(int account_id,int guild_id) int guild_created(int account_id,int guild_id)
{ {
struct map_session_data *sd=map_id2sd(account_id); struct map_session_data *sd=map_id2sd(account_id);
@ -744,7 +744,7 @@ int guild_member_added(int guild_id,int account_id,int char_id,int flag)
return 0; return 0;
} }
//if all ok adding player to guild //if all ok add player to guild
sd->status.guild_id = g->guild_id; sd->status.guild_id = g->guild_id;
sd->guild_emblem_id = g->emblem_id; sd->guild_emblem_id = g->emblem_id;
//Packets which were sent in the previous 'guild_sent' implementation. //Packets which were sent in the previous 'guild_sent' implementation.
@ -1033,7 +1033,7 @@ int guild_change_position(int guild_id,int idx,
} }
/*==================================================== /*====================================================
* Notification of member has changed his guild tiltle * Notification of member has changed his guild title
*---------------------------------------------------*/ *---------------------------------------------------*/
int guild_position_changed(int guild_id,int idx,struct guild_position *p) int guild_position_changed(int guild_id,int idx,struct guild_position *p)
{ {
@ -1184,7 +1184,7 @@ static DBData create_expcache(DBKey key, va_list args)
} }
/*==================================================== /*====================================================
* return Taxed experience from player sd to guild * Return taxed experience from player sd to guild
*---------------------------------------------------*/ *---------------------------------------------------*/
unsigned int guild_payexp(struct map_session_data *sd,unsigned int exp) unsigned int guild_payexp(struct map_session_data *sd,unsigned int exp)
{ {
@ -1218,7 +1218,7 @@ unsigned int guild_payexp(struct map_session_data *sd,unsigned int exp)
} }
/*==================================================== /*====================================================
* Player sd pay a tribue experience exp to his guild * Player sd pay a tribute experience to his guild
* Add this experience to guild exp * Add this experience to guild exp
* [Celest] * [Celest]
*---------------------------------------------------*/ *---------------------------------------------------*/
@ -1314,10 +1314,10 @@ void guild_guildaura_refresh(struct map_session_data *sd, int skill_num, int ski
} }
/*==================================================== /*====================================================
* Count number of relation the guild have * Count number of relations the guild has.
* flag : * Flag:
* 0 = allied * 0 = allied
* 1 = ennemy * 1 = enemy
*---------------------------------------------------*/ *---------------------------------------------------*/
int guild_get_alliance_count(struct guild *g,int flag) int guild_get_alliance_count(struct guild *g,int flag)
{ {
@ -1343,11 +1343,11 @@ void guild_block_skill(struct map_session_data *sd, int time)
} }
/*==================================================== /*====================================================
* Check relation between guild_id1 and guild_id2 * Check relation between guild_id1 and guild_id2.
* flag : * Flag:
* 0 = allied * 0 = allied
* 1 = ennemy * 1 = enemy
* return true if yes * Returns true if yes.
*---------------------------------------------------*/ *---------------------------------------------------*/
int guild_check_alliance(int guild_id1, int guild_id2, int flag) int guild_check_alliance(int guild_id1, int guild_id2, int flag)
{ {
@ -1363,7 +1363,7 @@ int guild_check_alliance(int guild_id1, int guild_id2, int flag)
} }
/*==================================================== /*====================================================
* Player sd, asking player tsd an alliance between there 2 guild * Player sd, asking player tsd an alliance between their 2 guilds
*---------------------------------------------------*/ *---------------------------------------------------*/
int guild_reqalliance(struct map_session_data *sd,struct map_session_data *tsd) int guild_reqalliance(struct map_session_data *sd,struct map_session_data *tsd)
{ {
@ -1421,7 +1421,7 @@ int guild_reqalliance(struct map_session_data *sd,struct map_session_data *tsd)
} }
/*==================================================== /*====================================================
* Player sd, awsser to player tsd (account_id) for an alliance request * Player sd, answer to player tsd (account_id) for an alliance request
*---------------------------------------------------*/ *---------------------------------------------------*/
int guild_reply_reqalliance(struct map_session_data *sd,int account_id,int flag) int guild_reply_reqalliance(struct map_session_data *sd,int account_id,int flag)
{ {
@ -1498,7 +1498,7 @@ int guild_delalliance(struct map_session_data *sd,int guild_id,int flag)
} }
/*==================================================== /*====================================================
* Player sd, asking player tsd a formal ennemy relation between there 2 guild * Player sd, asking player tsd a formal enemy relation between their 2 guilds
*---------------------------------------------------*/ *---------------------------------------------------*/
int guild_opposition(struct map_session_data *sd,struct map_session_data *tsd) int guild_opposition(struct map_session_data *sd,struct map_session_data *tsd)
{ {
@ -1541,7 +1541,7 @@ int guild_opposition(struct map_session_data *sd,struct map_session_data *tsd)
} }
/*==================================================== /*====================================================
* Notification of a relationship between 2 guild * Notification of a relationship between 2 guilds
*---------------------------------------------------*/ *---------------------------------------------------*/
int guild_allianceack(int guild_id1,int guild_id2,int account_id1,int account_id2,int flag,const char *name1,const char *name2) int guild_allianceack(int guild_id1,int guild_id2,int account_id1,int account_id2,int flag,const char *name1,const char *name2)
{ {
@ -1604,7 +1604,7 @@ int guild_allianceack(int guild_id1,int guild_id2,int account_id1,int account_id
if ((flag & 0x0f) == 0) { // alliance notification if ((flag & 0x0f) == 0) { // alliance notification
if( sd[1]!=NULL ) if( sd[1]!=NULL )
clif_guild_allianceack(sd[1],2); clif_guild_allianceack(sd[1],2);
} else if ((flag & 0x0f) == 1) { // ennemy notification } else if ((flag & 0x0f) == 1) { // enemy notification
if( sd[0]!=NULL ) if( sd[0]!=NULL )
clif_guild_oppositionack(sd[0],0); clif_guild_oppositionack(sd[0],0);
} }
@ -1923,7 +1923,7 @@ void guild_castle_reconnect(int castle_id, int index, int value)
} }
} }
// Loadcastle data then invoque OnAgitInit* on last // Load castle data then invoke OnAgitInit* on last
int guild_castledataloadack(int len, struct guild_castle *gc) int guild_castledataloadack(int len, struct guild_castle *gc)
{ {
int i; int i;

View File

@ -136,7 +136,7 @@ int itemdb_searchname_array(struct item_data** data, int size, const char *str)
/*========================================== /*==========================================
* Return a random item id from group. (take in account % chance giving/tot group) * Return a random item id from group. (takes into account % chance giving/tot group)
*------------------------------------------*/ *------------------------------------------*/
int itemdb_searchrandomid(int group) int itemdb_searchrandomid(int group)
{ {
@ -586,7 +586,7 @@ static void itemdb_read_itemgroup(void)
} }
/*========================================== /*==========================================
* Read item forbiden by mapflag (can't equip item) * Read item forbidden by mapflag (can't equip item)
*------------------------------------------*/ *------------------------------------------*/
static bool itemdb_read_noequip(char* str[], int columns, int current) static bool itemdb_read_noequip(char* str[], int columns, int current)
{// <nameid>,<mode> {// <nameid>,<mode>

View File

@ -229,7 +229,7 @@ int map_freeblock_unlock (void)
return block_free_lock; return block_free_lock;
} }
// Timer fonction to check if there some remaining lock and remove them if so. // Timer function to check if there some remaining lock and remove them if so.
// Called each 1s // Called each 1s
int map_freeblock_timer(int tid, unsigned int tick, int id, intptr_t data) int map_freeblock_timer(int tid, unsigned int tick, int id, intptr_t data)
{ {
@ -1314,7 +1314,7 @@ int map_get_new_object_id(void)
} }
/*========================================== /*==========================================
* Timered fonction to clear the floor (remove remaining item) * Timered function to clear the floor (remove remaining item)
* Called each flooritem_lifetime ms * Called each flooritem_lifetime ms
*------------------------------------------*/ *------------------------------------------*/
int map_clearflooritem_timer(int tid, unsigned int tick, int id, intptr_t data) int map_clearflooritem_timer(int tid, unsigned int tick, int id, intptr_t data)

View File

@ -2834,7 +2834,7 @@ int mob_warpslave(struct block_list *bl, int range)
} }
/*========================================== /*==========================================
* Count slave sub, curently chking if mob master is the given id * Counts slave sub, curently checking if mob master is the given ID.
*------------------------------------------*/ *------------------------------------------*/
int mob_countslave_sub(struct block_list *bl,va_list ap) int mob_countslave_sub(struct block_list *bl,va_list ap)
{ {
@ -2849,7 +2849,7 @@ int mob_countslave_sub(struct block_list *bl,va_list ap)
} }
/*========================================== /*==========================================
* Cout how many slave a mob got on map * Counts the number of slaves a mob has on the map.
*------------------------------------------*/ *------------------------------------------*/
int mob_countslave(struct block_list *bl) int mob_countslave(struct block_list *bl)
{ {
@ -2955,8 +2955,8 @@ int mob_summonslave(struct mob_data *md2,int *value,int amount,int skill_id)
} }
/*========================================== /*==========================================
* MOBskill lookup (get skillindex trough skillid) * MOBskill lookup (get skillindex through skillid)
* return -1 if not found * Returns -1 if not found.
*------------------------------------------*/ *------------------------------------------*/
int mob_skillid2skillidx(int class_,int skillid) int mob_skillid2skillidx(int class_,int skillid)
{ {

View File

@ -138,7 +138,7 @@ int npc_ontouch2_event(struct map_session_data *sd, struct npc_data *nd)
} }
/*========================================== /*==========================================
* sub fonction of npc_enable, Run OnTouch event when enabled * Sub-function of npc_enable, runs OnTouch event when enabled
*------------------------------------------*/ *------------------------------------------*/
int npc_enable_sub(struct block_list *bl, va_list ap) int npc_enable_sub(struct block_list *bl, va_list ap)
{ {
@ -206,7 +206,7 @@ int npc_enable(const char* name, int flag)
} }
/*========================================== /*==========================================
* NPC lookup (get npc_data trough npcname) * NPC lookup (get npc_data through npcname)
*------------------------------------------*/ *------------------------------------------*/
struct npc_data* npc_name2id(const char* name) struct npc_data* npc_name2id(const char* name)
{ {
@ -846,7 +846,7 @@ int npc_touch_areanpc_sub(struct block_list *bl, va_list ap)
/*========================================== /*==========================================
* Chk if sd is still touching his assigned npc. * Chk if sd is still touching his assigned npc.
* if not then it unsets it and searches for another player in range * If not, it unsets it and searches for another player in range.
*------------------------------------------*/ *------------------------------------------*/
int npc_touchnext_areanpc(struct map_session_data* sd, bool leavemap) int npc_touchnext_areanpc(struct map_session_data* sd, bool leavemap)
{ {
@ -1062,10 +1062,8 @@ int npc_check_areanpc(int flag, int m, int x, int y, int range)
} }
/*========================================== /*==========================================
* Chk if player not too far to acces the npc * Chk if player not too far to access the npc.
* return * Returns npc_data (success) or NULL (fail).
* npc_data : succes
* NULL : fail
*------------------------------------------*/ *------------------------------------------*/
struct npc_data* npc_checknear(struct map_session_data* sd, struct block_list* bl) struct npc_data* npc_checknear(struct map_session_data* sd, struct block_list* bl)
{ {
@ -1134,7 +1132,7 @@ void run_tomb(struct map_session_data* sd, struct npc_data* nd)
/*========================================== /*==========================================
* NPC 1st call when clicking on npc * NPC 1st call when clicking on npc
* Do specific action for npc type (openshop, run scripts...) * Do specific action for NPC type (openshop, run scripts...)
*------------------------------------------*/ *------------------------------------------*/
int npc_click(struct map_session_data* sd, struct npc_data* nd) int npc_click(struct map_session_data* sd, struct npc_data* nd)
{ {
@ -1753,8 +1751,8 @@ static int npc_unload_ev(DBKey key, DBData *data, va_list ap)
return 0; return 0;
} }
//Chk if npc match src_id then unload //Chk if npc matches src_id, then unload.
//Sub fonction used to found duplicate //Sub-function used to find duplicates.
static int npc_unload_dup_sub(struct npc_data* nd, va_list args) static int npc_unload_dup_sub(struct npc_data* nd, va_list args)
{ {
int src_id; int src_id;
@ -1771,8 +1769,8 @@ void npc_unload_duplicates(struct npc_data* nd)
map_foreachnpc(npc_unload_dup_sub,nd->bl.id); map_foreachnpc(npc_unload_dup_sub,nd->bl.id);
} }
//Remove an npc from map and db //Removes an npc from map and db.
//single is to free name (for duplicate one I suppose) //Single is to free name (for duplicates).
int npc_unload(struct npc_data* nd, bool single) { int npc_unload(struct npc_data* nd, bool single) {
nullpo_ret(nd); nullpo_ret(nd);
@ -3350,7 +3348,7 @@ static const char* npc_parse_mapflag(char* w1, char* w2, char* w3, char* w4, con
return strchr(start,'\n');// continue return strchr(start,'\n');// continue
} }
//Read file and create npc/func/mapflag/monster.. accordly //Read file and create npc/func/mapflag/monster... accordingly.
//@runOnInit should we exec OnInit when it's done ? //@runOnInit should we exec OnInit when it's done ?
void npc_parsesrcfile(const char* filepath, bool runOnInit) void npc_parsesrcfile(const char* filepath, bool runOnInit)
{ {

View File

@ -45,7 +45,7 @@ static void push_heap_path(int *heap,struct tmp_path *tp,int index)
/*========================================== /*==========================================
* heap update (helper function) * heap update (helper function)
* move toward the root Because cost has decreased * Move toward the root because cost has decreased.
*------------------------------------------*/ *------------------------------------------*/
static void update_heap_path(int *heap,struct tmp_path *tp,int index) static void update_heap_path(int *heap,struct tmp_path *tp,int index)
{ {

View File

@ -834,10 +834,8 @@ bool pc_adoption(struct map_session_data *p1_sd, struct map_session_data *p2_sd,
} }
/*================================================= /*=================================================
* Can the player equip the item at index n in inventory * Checks if the player can equip the item at index n in inventory.
* return * Returns 0 (no) or 1 (yes).
* 0 = no
* 1 = yes
*------------------------------------------------*/ *------------------------------------------------*/
int pc_isequip(struct map_session_data *sd,int n) int pc_isequip(struct map_session_data *sd,int n)
{ {
@ -1277,7 +1275,7 @@ static int pc_calc_skillpoint(struct map_session_data* sd)
/*========================================== /*==========================================
* Calculation of Skills lvls * Calculation of skill level.
*------------------------------------------*/ *------------------------------------------*/
int pc_calc_skilltree(struct map_session_data *sd) int pc_calc_skilltree(struct map_session_data *sd)
{ {
@ -3744,8 +3742,8 @@ int pc_search_inventory(struct map_session_data *sd,int item_id)
} }
/*========================================== /*==========================================
* Attempt tp add a new item in inventory * Attempt to add a new item to inventory.
* return * Return:
0 = success 0 = success
1 = invalid itemid not found or negative amount 1 = invalid itemid not found or negative amount
2 = overweight 2 = overweight
@ -3836,9 +3834,9 @@ int pc_additem(struct map_session_data *sd,struct item *item_data,int amount,e_l
} }
/*========================================== /*==========================================
* Remove an item at index n from inventory by amount * Remove an item at index n from inventory by amount.
* return * Return:
* 0 = succes * 0 = success
* 1 = invalid itemid or negative amount * 1 = invalid itemid or negative amount
*------------------------------------------*/ *------------------------------------------*/
int pc_delitem(struct map_session_data *sd,int n,int amount,int type, short reason, e_log_pick_type log_type) int pc_delitem(struct map_session_data *sd,int n,int amount,int type, short reason, e_log_pick_type log_type)
@ -3867,8 +3865,8 @@ int pc_delitem(struct map_session_data *sd,int n,int amount,int type, short reas
} }
/*========================================== /*==========================================
* Attempt to drop an item * Attempt to drop an item.
* return * Return:
* 0 = fail * 0 = fail
* 1 = success * 1 = success
*------------------------------------------*/ *------------------------------------------*/
@ -3911,8 +3909,8 @@ int pc_dropitem(struct map_session_data *sd,int n,int amount)
} }
/*========================================== /*==========================================
* Attempt to pickup an item * Attempt to pick up an item.
* return * Return:
* 0 = fail * 0 = fail
* 1 = success * 1 = success
*------------------------------------------*/ *------------------------------------------*/
@ -3982,8 +3980,8 @@ int pc_takeitem(struct map_session_data *sd,struct flooritem_data *fitem)
} }
/*========================================== /*==========================================
* Can we use the item ? * Check if item is usable.
* Return * Return:
* 0 = no * 0 = no
* 1 = yes * 1 = yes
*------------------------------------------*/ *------------------------------------------*/
@ -4147,8 +4145,8 @@ int pc_isUseitem(struct map_session_data *sd,int n)
} }
/*========================================== /*==========================================
* Last checks et use item * Last checks to use an item.
* return * Return:
* 0 = fail * 0 = fail
* 1 = success * 1 = success
*------------------------------------------*/ *------------------------------------------*/
@ -4273,8 +4271,8 @@ int pc_useitem(struct map_session_data *sd,int n)
} }
/*========================================== /*==========================================
* Add item on cart for given index * Add item on cart for given index.
* return * Return:
* 0 = success * 0 = success
* 1 = fail * 1 = fail
*------------------------------------------*/ *------------------------------------------*/
@ -4342,8 +4340,8 @@ int pc_cart_additem(struct map_session_data *sd,struct item *item_data,int amoun
} }
/*========================================== /*==========================================
* Delete item on cart for given index * Delete item on cart for given index.
* return * Return:
* 0 = success * 0 = success
* 1 = fail * 1 = fail
*------------------------------------------*/ *------------------------------------------*/
@ -4372,8 +4370,8 @@ int pc_cart_delitem(struct map_session_data *sd,int n,int amount,int type,e_log_
} }
/*========================================== /*==========================================
* Transfert item from inventory to cart * Transfer item from inventory to cart.
* return * Return:
* 0 = fail * 0 = fail
* 1 = succes * 1 = succes
*------------------------------------------*/ *------------------------------------------*/
@ -4398,8 +4396,8 @@ int pc_putitemtocart(struct map_session_data *sd,int idx,int amount)
} }
/*========================================== /*==========================================
* Get number of item on cart * Get number of item in cart.
* return * Return:
-1 = itemid not found or no amount found -1 = itemid not found or no amount found
x = remaining itemid on cart after get x = remaining itemid on cart after get
*------------------------------------------*/ *------------------------------------------*/
@ -4417,8 +4415,8 @@ int pc_cartitem_amount(struct map_session_data* sd, int idx, int amount)
} }
/*========================================== /*==========================================
* Retrieve an item at index idx from cart * Retrieve an item at index idx from cart.
* return * Return:
* 0 = player not found or (FIXME) succes (from pc_cart_delitem) * 0 = player not found or (FIXME) succes (from pc_cart_delitem)
* 1 = failure * 1 = failure
*------------------------------------------*/ *------------------------------------------*/
@ -4466,8 +4464,8 @@ int pc_show_steal(struct block_list *bl,va_list ap)
return 0; return 0;
} }
/*========================================== /*==========================================
* Stole an item from bl (mob) * Steal an item from bl (mob).
* return * Return:
* 0 = fail * 0 = fail
* 1 = succes * 1 = succes
*------------------------------------------*/ *------------------------------------------*/
@ -4753,11 +4751,11 @@ int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y
} }
/*========================================== /*==========================================
* Warp player sd to random location on current map * Warp player sd to random location on current map.
* may fail if no Cell walkable found (1000 attempt) * May fail if no walkable cell found (1000 attempts).
* return * Return:
* 0 = fail or FIXME succes (from pc_setpos) * 0 = fail or FIXME success (from pc_setpos)
* x(1|2) = fail * x(1|2) = fail
*------------------------------------------*/ *------------------------------------------*/
int pc_randomwarp(struct map_session_data *sd, clr_type type) int pc_randomwarp(struct map_session_data *sd, clr_type type)
{ {
@ -4768,7 +4766,7 @@ int pc_randomwarp(struct map_session_data *sd, clr_type type)
m=sd->bl.m; m=sd->bl.m;
if (map[sd->bl.m].flag.noteleport) //Teleport forbiden if (map[sd->bl.m].flag.noteleport) //Teleport forbidden
return 0; return 0;
do{ do{
@ -5717,7 +5715,7 @@ unsigned int pc_maxjoblv(struct map_session_data *sd)
* base level exp lookup. * base level exp lookup.
*------------------------------------------*/ *------------------------------------------*/
///How much bexp do player need for next level //Base exp needed for next level.
unsigned int pc_nextbaseexp(struct map_session_data *sd) unsigned int pc_nextbaseexp(struct map_session_data *sd)
{ {
nullpo_ret(sd); nullpo_ret(sd);
@ -5728,7 +5726,7 @@ unsigned int pc_nextbaseexp(struct map_session_data *sd)
return exp_table[pc_class2idx(sd->status.class_)][0][sd->status.base_level-1]; return exp_table[pc_class2idx(sd->status.class_)][0][sd->status.base_level-1];
} }
///How much bexp do player need for this level //Base exp needed for this level.
unsigned int pc_thisbaseexp(struct map_session_data *sd) unsigned int pc_thisbaseexp(struct map_session_data *sd)
{ {
if(sd->status.base_level>pc_maxbaselv(sd) || sd->status.base_level<=1) if(sd->status.base_level>pc_maxbaselv(sd) || sd->status.base_level<=1)
@ -5740,12 +5738,12 @@ unsigned int pc_thisbaseexp(struct map_session_data *sd)
/*========================================== /*==========================================
* job level exp lookup * job level exp lookup
* return * Return:
* 0 = not found * 0 = not found
* x = exp for level * x = exp for level
*------------------------------------------*/ *------------------------------------------*/
///How much jexp do player need for next level //Job exp needed for next level.
unsigned int pc_nextjobexp(struct map_session_data *sd) unsigned int pc_nextjobexp(struct map_session_data *sd)
{ {
nullpo_ret(sd); nullpo_ret(sd);
@ -5755,7 +5753,7 @@ unsigned int pc_nextjobexp(struct map_session_data *sd)
return exp_table[pc_class2idx(sd->status.class_)][1][sd->status.job_level-1]; return exp_table[pc_class2idx(sd->status.class_)][1][sd->status.job_level-1];
} }
///How much jexp do player need for next level //Job exp needed for this level.
unsigned int pc_thisjobexp(struct map_session_data *sd) unsigned int pc_thisjobexp(struct map_session_data *sd)
{ {
if(sd->status.job_level>pc_maxjoblv(sd) || sd->status.job_level<=1) if(sd->status.job_level>pc_maxjoblv(sd) || sd->status.job_level<=1)
@ -6423,7 +6421,7 @@ void pc_damage(struct map_session_data *sd,struct block_list *src,unsigned int h
} }
/*========================================== /*==========================================
* Invoked when a player have negative current hp * Invoked when a player has negative current hp
*------------------------------------------*/ *------------------------------------------*/
int pc_dead(struct map_session_data *sd,struct block_list *src) int pc_dead(struct map_session_data *sd,struct block_list *src)
{ {
@ -6974,8 +6972,8 @@ void pc_heal(struct map_session_data *sd,unsigned int hp,unsigned int sp, int ty
/*========================================== /*==========================================
* HP/SP Recovery * HP/SP Recovery
* Heal player hp nad/or sp linearly * Heal player hp and/or sp linearly.
* Calculate bonus by status * Calculate bonus by status.
*------------------------------------------*/ *------------------------------------------*/
int pc_itemheal(struct map_session_data *sd,int itemid, int hp,int sp) int pc_itemheal(struct map_session_data *sd,int itemid, int hp,int sp)
{ {
@ -7080,7 +7078,7 @@ int pc_percentheal(struct map_session_data *sd,int hp,int sp)
} }
/*========================================== /*==========================================
* Called when player changing job * Called when player changes job
* Rewrote to make it tidider [Celest] * Rewrote to make it tidider [Celest]
*------------------------------------------*/ *------------------------------------------*/
int pc_jobchange(struct map_session_data *sd,int job, int upper) int pc_jobchange(struct map_session_data *sd,int job, int upper)
@ -8648,8 +8646,8 @@ int pc_calc_pvprank_timer(int tid, unsigned int tick, int id, intptr_t data)
/*========================================== /*==========================================
* Checking if sd is married * Checking if sd is married
* Return * Return:
* partner_id = yes, * partner_id = yes
* 0 = no * 0 = no
*------------------------------------------*/ *------------------------------------------*/
int pc_ismarried(struct map_session_data *sd) int pc_ismarried(struct map_session_data *sd)
@ -8663,7 +8661,7 @@ int pc_ismarried(struct map_session_data *sd)
} }
/*========================================== /*==========================================
* Marry player sd to player dstsd * Marry player sd to player dstsd
* return * Return:
* -1 = fail * -1 = fail
* 0 = success * 0 = success
*------------------------------------------*/ *------------------------------------------*/
@ -8680,7 +8678,7 @@ int pc_marriage(struct map_session_data *sd,struct map_session_data *dstsd)
/*========================================== /*==========================================
* Divorce sd from its partner * Divorce sd from its partner
* return * Return:
* -1 = fail * -1 = fail
* 0 = success * 0 = success
*------------------------------------------*/ *------------------------------------------*/
@ -9167,7 +9165,7 @@ int pc_split_atoui(char* str, unsigned int* val, char sep, int max)
/*========================================== /*==========================================
* sub DB reading. * sub DB reading.
* fonction used to read skill_tree.txt * Function used to read skill_tree.txt
*------------------------------------------*/ *------------------------------------------*/
static bool pc_readdb_skilltree(char* fields[], int columns, int current) static bool pc_readdb_skilltree(char* fields[], int columns, int current)
{ {