- Corrected skill require entry from the Twilight Pharmacy skills.

- Removed the Frost Nova entry from skill_unit_db
- Moved Gospel's code to skill_castend_pos2 
- Some cleaning of skill_castend_pos2
- Fixed a unnecessary map_freeblock_unlock call in the default case of skill_castend_pos2
- Sense/Estimation will now display the mob info window to all party members in the same map.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7595 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex
2006-07-10 14:51:34 +00:00
parent b20e1f94f8
commit 3da94aa210
6 changed files with 40 additions and 37 deletions

View File

@@ -4827,7 +4827,7 @@ int clif_skill_estimation(struct map_session_data *sd,struct block_list *dst)
// WBUFB(buf,20+i)= (unsigned char)((fix=battle_attr_fix(NULL,dst,100,i+1,status->def_ele, status->ele_lv))<0?0:fix);
if(sd->status.party_id>0)
clif_send(buf,packet_len_table[0x18c],&sd->bl,PARTY_AREA);
clif_send(buf,packet_len_table[0x18c],&sd->bl,PARTY_SAMEMAP);
else{
WFIFOHEAD(sd->fd,packet_len_table[0x18c]);
memcpy(WFIFOP(sd->fd,0),buf,packet_len_table[0x18c]);

View File

@@ -4119,19 +4119,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
}
break;
case PA_GOSPEL: /* ゴスペル */
if (!tsc) break;
if (tsc->data[type].timer != -1 && tsc->data[type].val4 == BCT_SELF) {
i = status_change_end(bl,SC_GOSPEL,-1);
} else {
struct skill_unit_group *sg = skill_unitsetting(src,skillid,skilllv,src->x,src->y,0);
if (tsc->data[type].timer != -1)
status_change_end(bl,type,-1); //Was under someone else's Gospel. [Skotlex]
i = sc_start4(bl,type,100,skilllv,0,(int)sg,BCT_SELF,skill_get_time(skillid,skilllv));
}
clif_skill_nodamage(src,bl,skillid,skilllv,i);
break;
case BD_ADAPTATION: /* アドリブ */
if(tsc && tsc->data[SC_DANCING].timer!=-1){
clif_skill_nodamage(src,bl,skillid,skilllv,1);
@@ -5729,7 +5716,8 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
{
struct map_session_data *sd=NULL;
struct status_change *sc;
int i;
struct skill_unit_group *sg;
int i,type;
//if(skilllv <= 0) return 0;
if(skillid > 0 && skilllv <= 0) return 0; // celest
@@ -5742,14 +5730,16 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
if(src->type==BL_PC)
sd=(struct map_session_data *)src;
sc = status_get_sc(src); //Needed for Magic Power checks.
sc = status_get_sc(src);
if (sc && !sc->count)
sc = NULL; //Unneeded.
type = SkillStatusChangeTable(skillid);
switch (skillid) { //Skill effect.
case WZ_METEOR:
case MO_BODYRELOCATION:
case CR_CULTIVATION:
case HW_GANBANTEIN:
break; //Effect is displayed on respective switch case.
default:
if(skill_get_inf(skillid)&INF_SELF_SKILL)
@@ -5991,14 +5981,9 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
break;
case HW_GRAVITATION:
{
struct skill_unit_group *sg;
clif_skill_poseffect(src,skillid,skilllv,x,y,tick);
sg = skill_unitsetting(src,skillid,skilllv,x,y,0);
sc_start4(src,SkillStatusChangeTable(skillid),100,
skilllv,0,BCT_SELF,(int)sg,skill_get_time(skillid,skilllv));
flag|=1;
}
sg = skill_unitsetting(src,skillid,skilllv,x,y,0);
sc_start4(src,type,100,skilllv,0,BCT_SELF,(int)sg,skill_get_time(skillid,skilllv));
flag|=1;
break;
// Plant Cultivation [Celest]
@@ -6019,20 +6004,29 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
clif_skill_fail(sd,skillid,0,0);
}
break;
case SG_SUN_WARM:
case SG_MOON_WARM:
case SG_STAR_WARM:
{
struct skill_unit_group *sg;
sg = skill_unitsetting(src,skillid,skilllv,src->x,src->y,0);
sc_start4(src,type,100,skilllv,0,0,(int)sg,skill_get_time(skillid,skilllv));
flag|=1;
break;
case PA_GOSPEL:
if (sc && sc->data[type].timer != -1 && sc->data[type].val4 == BCT_SELF)
status_change_end(src,SC_GOSPEL,-1);
else
{
sg = skill_unitsetting(src,skillid,skilllv,src->x,src->y,0);
clif_skill_nodamage(src,src,skillid,skilllv,
sc_start4(src,SkillStatusChangeTable(skillid),
100,skilllv,0,0,(int)sg,skill_get_time(skillid,skilllv)));
if (sc->data[type].timer != -1)
status_change_end(src,type,-1); //Was under someone else's Gospel. [Skotlex]
sc_start4(src,type,100,skilllv,0,(int)sg,BCT_SELF,skill_get_time(skillid,skilllv));
}
break;
default:
ShowWarning("skill_castend_pos2: Unknown skill used:%d\n",skillid);
map_freeblock_unlock();
return 1;
}