- Fixed SG_FUSION costing SP to deactivate.
- Some cleaning up at pc_setpos to prevent calling pc_clean_skilltree - Added pc_clean_skilltree on pc_recv_reg - Enabled use of TF_HIDING while Cloaked. - pc_resetstate won't remove wedding skills now git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5268 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
cf059ff1a9
commit
ff483b7810
@ -5,6 +5,11 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EV
|
|||||||
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
|
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
|
||||||
|
|
||||||
2006/02/13
|
2006/02/13
|
||||||
|
* Fixed SG_FUSION costing SP to deactivate. [Skotlex]
|
||||||
|
* Some cleaning up at pc_setpos to prevent calling pc_clean_skilltree
|
||||||
|
[Skotlex]
|
||||||
|
* Enabled use of TF_HIDING while Cloaked. [Skotlex]
|
||||||
|
* pc_resetstate won't remove wedding skills now [Skotlex]
|
||||||
* NPC_POWERUP now gives +40% atk per level. [Skotlex]
|
* NPC_POWERUP now gives +40% atk per level. [Skotlex]
|
||||||
* Water elementals can be frozen again. [Skotlex]
|
* Water elementals can be frozen again. [Skotlex]
|
||||||
* Fixed the sc_def equation in status_change_start. [Skotlex]
|
* Fixed the sc_def equation in status_change_start. [Skotlex]
|
||||||
|
20
src/map/pc.c
20
src/map/pc.c
@ -925,6 +925,7 @@ int pc_reg_received(struct map_session_data *sd)
|
|||||||
char feel_var[3][NAME_LENGTH] = {"PC_FEEL_SUN","PC_FEEL_MOON","PC_FEEL_STAR"};
|
char feel_var[3][NAME_LENGTH] = {"PC_FEEL_SUN","PC_FEEL_MOON","PC_FEEL_STAR"};
|
||||||
char hate_var[3][NAME_LENGTH] = {"PC_HATE_MOB_SUN","PC_HATE_MOB_MOON","PC_HATE_MOB_STAR"};
|
char hate_var[3][NAME_LENGTH] = {"PC_HATE_MOB_SUN","PC_HATE_MOB_MOON","PC_HATE_MOB_STAR"};
|
||||||
|
|
||||||
|
pc_clean_skilltree(sd); //Clean skill tree before loading reg-based skills
|
||||||
sd->change_level = pc_readglobalreg(sd,"jobchange_level");
|
sd->change_level = pc_readglobalreg(sd,"jobchange_level");
|
||||||
sd->die_counter = pc_readglobalreg(sd,"PC_DIE_COUNTER");
|
sd->die_counter = pc_readglobalreg(sd,"PC_DIE_COUNTER");
|
||||||
if (!sd->die_counter && (sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE)
|
if (!sd->die_counter && (sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE)
|
||||||
@ -3334,12 +3335,6 @@ int pc_setpos(struct map_session_data *sd,unsigned short mapindex,int x,int y,in
|
|||||||
sd->petDB = NULL;
|
sd->petDB = NULL;
|
||||||
if(battle_config.pet_status_support)
|
if(battle_config.pet_status_support)
|
||||||
status_calc_pc(sd,2);
|
status_calc_pc(sd,2);
|
||||||
pc_clean_skilltree(sd);
|
|
||||||
|
|
||||||
if (sd->state.storage_flag == 1)
|
|
||||||
storage_storageclose(sd);
|
|
||||||
else if (sd->state.storage_flag == 2)
|
|
||||||
storage_guild_storageclose(sd);
|
|
||||||
}
|
}
|
||||||
else if(sd->pet.intimate > 0) {
|
else if(sd->pet.intimate > 0) {
|
||||||
pet_stopattack(sd->pd);
|
pet_stopattack(sd->pd);
|
||||||
@ -3348,6 +3343,11 @@ int pc_setpos(struct map_session_data *sd,unsigned short mapindex,int x,int y,in
|
|||||||
map_delblock(&sd->pd->bl);
|
map_delblock(&sd->pd->bl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (sd->state.storage_flag == 1)
|
||||||
|
storage_storageclose(sd);
|
||||||
|
else if (sd->state.storage_flag == 2)
|
||||||
|
storage_guild_storageclose(sd);
|
||||||
|
|
||||||
clif_changemap(sd,map[m].index,x,y); // [MouseJstr]
|
clif_changemap(sd,map[m].index,x,y); // [MouseJstr]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5065,8 +5065,12 @@ int pc_resetlvl(struct map_session_data* sd,int type)
|
|||||||
|
|
||||||
nullpo_retr(0, sd);
|
nullpo_retr(0, sd);
|
||||||
|
|
||||||
for(i=1;i<MAX_SKILL;i++){
|
if (type != 3) {
|
||||||
sd->status.skill[i].lv = 0;
|
for(i=1;i<MAX_SKILL;i++){
|
||||||
|
if (sd->status.skill[i].lv &&
|
||||||
|
!skill_get_inf2(i)&INF2_WEDDING_SKILL) //Do not reset Wedding Skills. [Skotlex]
|
||||||
|
sd->status.skill[i].lv = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(type == 1){
|
if(type == 1){
|
||||||
|
@ -7861,6 +7861,7 @@ int skill_check_condition(struct map_session_data *sd,int type)
|
|||||||
case PA_GOSPEL:
|
case PA_GOSPEL:
|
||||||
case CR_SHRINK:
|
case CR_SHRINK:
|
||||||
case TK_RUN:
|
case TK_RUN:
|
||||||
|
case SG_FUSION:
|
||||||
if(sd->sc.data[SkillStatusChangeTable[skill]].timer!=-1)
|
if(sd->sc.data[SkillStatusChangeTable[skill]].timer!=-1)
|
||||||
return 1; /* ‰ð?œ‚·‚é?ê?‡‚ÍSP?Á”‚È‚¢ */
|
return 1; /* ‰ð?œ‚·‚é?ê?‡‚ÍSP?Á”‚È‚¢ */
|
||||||
break;
|
break;
|
||||||
|
@ -708,8 +708,8 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
|
|||||||
if (sc->option&OPTION_HIDE && skill_num != TF_HIDING && skill_num != AS_GRIMTOOTH
|
if (sc->option&OPTION_HIDE && skill_num != TF_HIDING && skill_num != AS_GRIMTOOTH
|
||||||
&& skill_num != RG_BACKSTAP && skill_num != RG_RAID)
|
&& skill_num != RG_BACKSTAP && skill_num != RG_RAID)
|
||||||
return 0;
|
return 0;
|
||||||
if (sc->option&OPTION_CLOAK && skill_num == TF_HIDING)
|
// if (sc->option&OPTION_CLOAK && skill_num == TF_HIDING)
|
||||||
return 0;
|
// return 0; //Latest reports indicate Hiding is usable while Cloaking. [Skotlex]
|
||||||
if (sc->option&OPTION_CHASEWALK && skill_num != ST_CHASEWALK)
|
if (sc->option&OPTION_CHASEWALK && skill_num != ST_CHASEWALK)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user