- 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

@ -3,6 +3,11 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/07/10
* Some cleaning of skill_castend_pos2, fixed Gospel, and a
map_freeblock_unlock misplacement. [Skotlex]
* Sense/Estimation will now display the mob info window to all party
members in the same map. [Skotlex]
2006/07/08 2006/07/08
* Fixed the new addeff structure not working well with SC_STONE (because * Fixed the new addeff structure not working well with SC_STONE (because
SC_STONE is 0, which was by default not handled as a valid value). SC_STONE is 0, which was by default not handled as a valid value).

View File

@ -24,6 +24,11 @@
----- -----
========================= =========================
07/10
* Corrected skill require entry from the Twilight Pharmacy skills.
[Skotlex]
* Removed Frost Nova's skill_unit_db entry. [Skotlex]
07/09 07/09
* Added Guillontine's SP Drain per attack [Playtester] * Added Guillontine's SP Drain per attack [Playtester]
* More item updates thanks to Haplo [Playtester] * More item updates thanks to Haplo [Playtester]

View File

@ -383,12 +383,12 @@
491,0,0,10,0,0,0,99,0,0,none,0,921,1,905,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //CR_CULTIVATION## 491,0,0,10,0,0,0,99,0,0,none,0,921,1,905,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //CR_CULTIVATION##
493,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TK_MISSION## 493,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //TK_MISSION##
494,0,0,460:360:260:160:60,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SL_HIGH#ˆêŽŸ?ãˆÊ?EÆÌ?°# 494,0,0,460:360:260:160:60,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SL_HIGH##
495,0,0,100,0,0,0,2,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //KN_ONEHAND#ƒ?ƒ“ƒnƒ“ƒhƒNƒBƒNƒ“# 495,0,0,100,0,0,0,2,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //KN_ONEHAND##
496,0,0,200,0,0,0,99,0,0,none,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AM_TWILIGHT1#ƒgƒ?ƒCƒ‰ƒCƒgƒtƒ@?[ƒ}ƒV?[1# 496,0,0,200,0,0,0,99,0,0,none,0,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AM_TWILIGHT1##
497,0,0,200,0,0,0,99,0,0,none,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AM_TWILIGHT2#ƒgƒ?ƒCƒ‰ƒCƒgƒtƒ@?[ƒ}ƒV?[2# 497,0,0,200,0,0,0,99,0,0,none,0,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //AM_TWILIGHT2##
498,0,0,200,0,0,0,99,0,0,none,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0//AM_TWILIGHT3#ƒgƒ?ƒCƒ‰ƒCƒgƒtƒ@?[ƒ}ƒV?[3# 498,0,0,200,0,0,0,99,0,0,none,0,7134,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0//AM_TWILIGHT3##
499,0,0,8,0,0,0,11,1,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HT_POWER#ƒr?[ƒXƒgƒXƒgƒŒƒCƒsƒ“ƒO# 499,0,0,8,0,0,0,11,1,1,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HT_POWER##
//temp plugs //temp plugs
500,0,0,10,0,0,1,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_GLITTERING 500,0,0,10,0,0,1,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_GLITTERING
501,0,0,10,0,0,0,17:18:19:20:21,0,0,none,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_FLING 501,0,0,10,0,0,0,17:18:19:20:21,0,0,none,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GS_FLING

View File

@ -35,7 +35,6 @@
83,0x86, , 0, 3,1000,enemy, 0x000 //WZ_METEOR 83,0x86, , 0, 3,1000,enemy, 0x000 //WZ_METEOR
85,0x86,,0,6:6:6:6:6:6:6:6:6:6:8,1250,enemy,0x008 //WZ_VERMILION 85,0x86,,0,6:6:6:6:6:6:6:6:6:6:8,1250,enemy,0x008 //WZ_VERMILION
87,0x8d, , -1, 0, -1,all, 0x000 //WZ_ICEWALL 87,0x8d, , -1, 0, -1,all, 0x000 //WZ_ICEWALL
88,0x86, , 0, 2,1000,enemy, 0x000 //WZ_FROSTNOVA
89,0x86, , 0, 5, 450,enemy, 0x008 //WZ_STORMGUST 89,0x86, , 0, 5, 450,enemy, 0x008 //WZ_STORMGUST
91,0x86, , 0, 2,1000,enemy, 0x080 //WZ_HEAVENDRIVE 91,0x86, , 0, 2,1000,enemy, 0x080 //WZ_HEAVENDRIVE
92,0x8e, , 2, 0, -1,enemy, 0x000 //WZ_QUAGMIRE 92,0x8e, , 2, 0, -1,enemy, 0x000 //WZ_QUAGMIRE

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); // 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) 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{ else{
WFIFOHEAD(sd->fd,packet_len_table[0x18c]); WFIFOHEAD(sd->fd,packet_len_table[0x18c]);
memcpy(WFIFOP(sd->fd,0),buf,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; 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: /* アドリブ */ case BD_ADAPTATION: /* アドリブ */
if(tsc && tsc->data[SC_DANCING].timer!=-1){ if(tsc && tsc->data[SC_DANCING].timer!=-1){
clif_skill_nodamage(src,bl,skillid,skilllv,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 map_session_data *sd=NULL;
struct status_change *sc; struct status_change *sc;
int i; struct skill_unit_group *sg;
int i,type;
//if(skilllv <= 0) return 0; //if(skilllv <= 0) return 0;
if(skillid > 0 && skilllv <= 0) return 0; // celest 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) if(src->type==BL_PC)
sd=(struct map_session_data *)src; 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) if (sc && !sc->count)
sc = NULL; //Unneeded. sc = NULL; //Unneeded.
type = SkillStatusChangeTable(skillid);
switch (skillid) { //Skill effect. switch (skillid) { //Skill effect.
case WZ_METEOR: case WZ_METEOR:
case MO_BODYRELOCATION: case MO_BODYRELOCATION:
case CR_CULTIVATION: case CR_CULTIVATION:
case HW_GANBANTEIN:
break; //Effect is displayed on respective switch case. break; //Effect is displayed on respective switch case.
default: default:
if(skill_get_inf(skillid)&INF_SELF_SKILL) 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; break;
case HW_GRAVITATION: case HW_GRAVITATION:
{ sg = skill_unitsetting(src,skillid,skilllv,x,y,0);
struct skill_unit_group *sg; sc_start4(src,type,100,skilllv,0,BCT_SELF,(int)sg,skill_get_time(skillid,skilllv));
clif_skill_poseffect(src,skillid,skilllv,x,y,tick); flag|=1;
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;
}
break; break;
// Plant Cultivation [Celest] // 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); clif_skill_fail(sd,skillid,0,0);
} }
break; break;
case SG_SUN_WARM: case SG_SUN_WARM:
case SG_MOON_WARM: case SG_MOON_WARM:
case SG_STAR_WARM: case SG_STAR_WARM:
{ sg = skill_unitsetting(src,skillid,skilllv,src->x,src->y,0);
struct skill_unit_group *sg; 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); sg = skill_unitsetting(src,skillid,skilllv,src->x,src->y,0);
clif_skill_nodamage(src,src,skillid,skilllv, if (sc->data[type].timer != -1)
sc_start4(src,SkillStatusChangeTable(skillid), status_change_end(src,type,-1); //Was under someone else's Gospel. [Skotlex]
100,skilllv,0,0,(int)sg,skill_get_time(skillid,skilllv))); sc_start4(src,type,100,skilllv,0,(int)sg,BCT_SELF,skill_get_time(skillid,skilllv));
} }
break; break;
default: default:
ShowWarning("skill_castend_pos2: Unknown skill used:%d\n",skillid); ShowWarning("skill_castend_pos2: Unknown skill used:%d\n",skillid);
map_freeblock_unlock();
return 1; return 1;
} }