Made some adjustments to the land skill code, based on official information:

- Expanded and corrected the land skill view id enum in skill.h
- Renamed UNT_ATTACK_SKILLS to UNT_DUMMYSKILL and UNT_KAENSIN to UNT_KAEN (official terminology)
- changed GS_DESPERADO to use the UNT_DUMMYSKILL view id instead of UNT_KAENSIN (and is it supposed to be a land skill at all?)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13688 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ultramage 2009-04-23 13:57:22 +00:00
parent 87120da836
commit d6ca23f16f
4 changed files with 32 additions and 26 deletions

View File

@ -89,7 +89,7 @@
430,0x86, , 0, 1, 100,enemy, 0x000 //SG_STAR_WARM 430,0x86, , 0, 1, 100,enemy, 0x000 //SG_STAR_WARM
484,0xb8, , 2, 0,1000,enemy, 0x808 //HW_GRAVITATION 484,0xb8, , 2, 0,1000,enemy, 0x808 //HW_GRAVITATION
488,0xb9, , 3, 0, -1,all, 0x200 //CG_HERMODE 488,0xb9, , 3, 0, -1,all, 0x200 //CG_HERMODE
516,0xba, , 3, 0, 100,enemy, 0x000 //GS_DESPERADO 516,0x86, , 3, 0, 100,enemy, 0x000 //GS_DESPERADO
521,0xbe, , 0, 1,1000,enemy, 0x000 //GS_GROUNDDRIFT 521,0xbe, , 0, 1,1000,enemy, 0x000 //GS_GROUNDDRIFT
527,0xbc, , -1, 0,2000,enemy, 0x018 //NJ_TATAMIGAESHI 527,0xbc, , -1, 0,2000,enemy, 0x018 //NJ_TATAMIGAESHI
535,0xbd, , -1, 0, 20,enemy, 0x010 //NJ_KAENSIN 535,0xbd, , -1, 0, 20,enemy, 0x010 //NJ_KAENSIN

View File

@ -3753,7 +3753,7 @@ static void clif_getareachar_skillunit(struct map_session_data *sd, struct skill
WFIFOW(fd,10)=unit->bl.x; WFIFOW(fd,10)=unit->bl.x;
WFIFOW(fd,12)=unit->bl.y; WFIFOW(fd,12)=unit->bl.y;
if (battle_config.traps_setting&1 && skill_get_inf2(unit->group->skill_id)&INF2_TRAP) if (battle_config.traps_setting&1 && skill_get_inf2(unit->group->skill_id)&INF2_TRAP)
WFIFOB(fd,14)=UNT_ATTACK_SKILLS; //Use invisible unit id for traps. WFIFOB(fd,14)=UNT_DUMMYSKILL; //Use invisible unit id for traps.
else else
WFIFOB(fd,14)=unit->group->unit_id; WFIFOB(fd,14)=unit->group->unit_id;
WFIFOB(fd,15)=1; // ignored by client (always gets set to 1) WFIFOB(fd,15)=1; // ignored by client (always gets set to 1)

View File

@ -7124,7 +7124,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
switch (sg->unit_id) switch (sg->unit_id)
{ {
case UNT_FIREWALL: case UNT_FIREWALL:
case UNT_KAENSIN: case UNT_KAEN:
{ {
int count=0; int count=0;
const int x = bl->x, y = bl->y; const int x = bl->x, y = bl->y;
@ -7203,7 +7203,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
skill_attack(BF_MAGIC,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0); skill_attack(BF_MAGIC,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
break; break;
case UNT_ATTACK_SKILLS: case UNT_DUMMYSKILL:
switch (sg->skill_id) switch (sg->skill_id)
{ {
case SG_SUN_WARM: //SG skills [Komurka] case SG_SUN_WARM: //SG skills [Komurka]
@ -7241,6 +7241,12 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
if (skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0) <= 0 && tsc) if (skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0) <= 0 && tsc)
tsc->sg_counter=0; //Attack absorbed. tsc->sg_counter=0; //Attack absorbed.
break; break;
case GS_DESPERADO:
if (rand()%100 < src->val1)
skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
break;
default: default:
skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0); skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
} }
@ -7464,11 +7470,6 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0); skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
break; break;
case UNT_DESPERADO:
if (rand()%100 < src->val1)
skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
break;
case UNT_GROUNDDRIFT_WIND: case UNT_GROUNDDRIFT_WIND:
case UNT_GROUNDDRIFT_DARK: case UNT_GROUNDDRIFT_DARK:
case UNT_GROUNDDRIFT_POISON: case UNT_GROUNDDRIFT_POISON:

View File

@ -1055,22 +1055,23 @@ enum e_skill {
MER_ESTIMATION, MER_ESTIMATION,
}; };
/// The client view ids for land skills.
enum { enum {
UNT_SAFETYWALL = 0x7e, UNT_SAFETYWALL = 0x7e,
UNT_FIREWALL, UNT_FIREWALL,
UNT_WARP_WAITING, UNT_WARP_WAITING,
UNT_WARP_ACTIVE, UNT_WARP_ACTIVE,
//0x82 UNT_BENEDICTIO, //TODO
UNT_SANCTUARY = 0x83, UNT_SANCTUARY,
UNT_MAGNUS, UNT_MAGNUS,
UNT_PNEUMA, UNT_PNEUMA,
UNT_ATTACK_SKILLS, //These show no effect on the client, therefore can be used for attack skills. UNT_DUMMYSKILL, //These show no effect on the client
UNT_FIREPILLAR_WAITING, UNT_FIREPILLAR_WAITING,
UNT_FIREPILLAR_ACTIVE, UNT_FIREPILLAR_ACTIVE,
//0x89 UNT_HIDDEN_TRAP, //TODO
//0x8a UNT_TRAP, //TODO
//0x8b UNT_HIDDEN_WARP_NPC, //TODO
UNT_USED_TRAPS = 0x8c, UNT_USED_TRAPS,
UNT_ICEWALL, UNT_ICEWALL,
UNT_QUAGMIRE, UNT_QUAGMIRE,
UNT_BLASTMINE, UNT_BLASTMINE,
@ -1111,25 +1112,29 @@ enum {
UNT_CALLFAMILY, UNT_CALLFAMILY,
UNT_GOSPEL, UNT_GOSPEL,
UNT_BASILICA, UNT_BASILICA,
UNT_MOONLIT,//0xb5 //I HOPE this one doesn't shows any effects UNT_MOONLIT,
UNT_FOGWALL = 0xb6, UNT_FOGWALL,
UNT_SPIDERWEB, UNT_SPIDERWEB,
UNT_GRAVITATION, UNT_GRAVITATION,
UNT_HERMODE, UNT_HERMODE,
UNT_DESPERADO, //0xba //Temporary setting until correct value is found. UNT_KAENSIN, //TODO
UNT_SUITON = 0xbb, UNT_SUITON,
UNT_TATAMIGAESHI, UNT_TATAMIGAESHI,
UNT_KAENSIN, UNT_KAEN,
UNT_GROUNDDRIFT_WIND, UNT_GROUNDDRIFT_WIND,
UNT_GROUNDDRIFT_DARK, UNT_GROUNDDRIFT_DARK,
UNT_GROUNDDRIFT_POISON, UNT_GROUNDDRIFT_POISON,
UNT_GROUNDDRIFT_WATER, UNT_GROUNDDRIFT_WATER,
UNT_GROUNDDRIFT_FIRE, UNT_GROUNDDRIFT_FIRE,
//0xc3 ? UNT_DEATHWAVE, //TODO
//0xc4 ? UNT_WATERATTACK, //TODO
//0xc5 ? UNT_WINDATTACK, //TODO
//0xc6 ? UNT_EARTHQUAKE, //TODO
UNT_EVILLAND = 0xc7, UNT_EVILLAND,
UNT_DARK_RUNNER, //TODO
UNT_DARK_TRANSFER, //TODO
UNT_MAX = 0x190
}; };
#endif /* _SKILL_H_ */ #endif /* _SKILL_H_ */