-Hotfixs for :
--bugreport:7364 null SC_STYLE_CHANGE crashing serv (when eleanor die and try to skill afterward) --bugreport:7352 skillnotok_hom typo, checking other case. -Remove unwanted debuginfo from r17211 git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17212 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
55686799e4
commit
9a1076b7e9
@ -782,8 +782,6 @@ int merc_hom_alloc(struct map_session_data *sd, struct s_homunculus *hom)
|
||||
|
||||
map_addiddb(&hd->bl);
|
||||
status_calc_homunculus(hd,1);
|
||||
if(hom->class_ == 6052) //eleanor
|
||||
sc_start(&hd->bl,&hd->bl, SC_STYLE_CHANGE, 100, MH_MD_FIGHTING, -1);
|
||||
|
||||
hd->hungry_timer = INVALID_TIMER;
|
||||
return 0;
|
||||
|
@ -663,12 +663,15 @@ int skillnotok_hom(uint16 skill_id, struct homun_data *hd)
|
||||
case MH_OVERED_BOOST:
|
||||
if(hd->homunculus.hunger <= 1) //if we starving
|
||||
return 1;
|
||||
break;
|
||||
case MH_GOLDENE_FERSE: //can be used with angriff
|
||||
if(hd->sc.data[SC_ANGRIFFS_MODUS])
|
||||
return 1;
|
||||
break;
|
||||
case MH_ANGRIFFS_MODUS:
|
||||
if(hd->sc.data[SC_GOLDENE_FERSE])
|
||||
return 1;
|
||||
break;
|
||||
case MH_TINDER_BREAKER:
|
||||
case MH_CBC:
|
||||
case MH_EQC:
|
||||
@ -677,11 +680,9 @@ int skillnotok_hom(uint16 skill_id, struct homun_data *hd)
|
||||
case MH_MIDNIGHT_FRENZY: {
|
||||
struct status_change_entry *sce = hd->sc.data[SC_STYLE_CHANGE];
|
||||
TBL_PC *sd;
|
||||
if(!(sd=hd->master)) return 1; //we need a master
|
||||
if(!sce || !sce->val3){ //homon doesn't have status or it's not a combo
|
||||
if(skill_id != MH_SONIC_CRAW && skill_id != MH_TINDER_BREAKER)
|
||||
return 1;
|
||||
}
|
||||
if(!(sd=hd->master) || !sce) return 1; //homon doesn't have status or a master
|
||||
if((!sce->val3) && (skill_id != MH_SONIC_CRAW && skill_id != MH_TINDER_BREAKER))
|
||||
return 1; // or it's not a combo
|
||||
|
||||
switch(skill_id){
|
||||
case MH_SONIC_CRAW:
|
||||
|
@ -3197,6 +3197,8 @@ int status_calc_homunculus_(struct homun_data *hd, bool first)
|
||||
if (first) {
|
||||
hd->battle_status.hp = hom->hp ;
|
||||
hd->battle_status.sp = hom->sp ;
|
||||
if(hom->class_ == 6052) //eleanor
|
||||
sc_start(&hd->bl,&hd->bl, SC_STYLE_CHANGE, 100, MH_MD_FIGHTING, -1);
|
||||
}
|
||||
|
||||
status->rhw.atk = status->dex;
|
||||
@ -9095,8 +9097,6 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
if( opt_flag&2 && sd && sd->touching_id )
|
||||
npc_touchnext_areanpc(sd,false); // run OnTouch_ on next char in range
|
||||
|
||||
ShowInfo("status started with \n\ttype=%d\n\ttick=%d \n\trate=%d, \n\tval=[%d,%d,%d,%d] flag=%d\n",
|
||||
type,tick, rate,val1,val2,val3,val4,flag);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -9893,7 +9893,6 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const
|
||||
npc_touch_areanpc(sd,bl->m,bl->x,bl->y); //Trigger on-touch event.
|
||||
|
||||
ers_free(sc_data_ers, sce);
|
||||
ShowInfo("status end type=%d\n",type);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user