Corrected Crazy Vines behavior (fixes #1522 and fixes #1689)

* Crazy Vines will now properly remove all ground type skills.
* Removed UF_REM_CRAZYWEED enum.
This commit is contained in:
aleos89
2016-11-03 21:17:34 -04:00
parent cc733a9516
commit 6e9776203a
4 changed files with 32 additions and 46 deletions

View File

@@ -20,7 +20,7 @@
// 0x00800(UF_DUALMODE) Spell has effects both at an interval and when you step in/out
// 0x01000(UF_NOKNOCKBACK) Cannot be knocked back (only unit that can be damaged)
// 0x02000(UF_RANGEDSINGLEUNIT) Layout hack, use layout range propriety but only display center.
// 0x04000(UF_REM_CRAZYWEED) Removed if be overlapped by GN_CRAZYWEED
// 0x04000(UF_NONE) Free
// 0x08000(UF_REM_FIRERAIN) Removed if be overlapped by RL_FIRE_RAIN
// 0x10000(UF_KNOCKBACK_GROUP) Knock back a whole skill group (by default, skill unit is knocked back each unit)
// 0x20000(UF_HIDDEN_TRAP) Hidden trap, see 'traps_setting' skill config to enable this flag
@@ -32,14 +32,14 @@
// u1 u2 lay r intr target flag
//
12,0x7e, , 0, 0, -1,all, 0x4003 //MG_SAFETYWALL
12,0x7e, , 0, 0, -1,all, 0x003 //MG_SAFETYWALL
18,0x7f, , -1, 0, 20,enemy, 0x8010 //MG_FIREWALL
21,0x86, , 0, 2:2:2:2:2:2:2:2:2:2:3,1000,enemy, 0x010 //MG_THUNDERSTORM
25,0x85, , 1, 0, -1,all, 0x6003 //AL_PNEUMA
25,0x85, , 1, 0, -1,all, 0x2003 //AL_PNEUMA
27,0x81,0x80, 0, 0, -1,all, 0x00E //AL_WARP
70,0x83, , -1, 1,1000,all, 0x018 //PR_SANCTUARY
79,0x84, , -1, 1,3000,enemy, 0x8018 //PR_MAGNUS
80,0x87,0x88, 0, 1,2000,enemy, 0x4006 //WZ_FIREPILLAR
80,0x87,0x88, 0, 1,2000,enemy, 0x006 //WZ_FIREPILLAR
83,0x86, , 0, 3,1000,enemy, 0x010 //WZ_METEOR
85,0x86, , 5:5:5:5:5:5:5:5:5:5:7, 1,1250,enemy,0x018 //WZ_VERMILION
86,0x86, , 0:1:1:2:2:2:2:2:2:2, 0,-1,noone, 0x010 //WZ_WATERBALL
@@ -61,10 +61,10 @@
220,0xb0, , 0, 0, -1,all, 0x8002 //RG_GRAFFITI
229,0xb1, , 0, 1,1000,enemy, 0x006 //AM_DEMONSTRATION
254,0x86, , -1, 0, 300,enemy, 0x010 //CR_GRANDCROSS
285,0x9a, , 3, 0, -1,all, 0xC010 //SA_VOLCANO
286,0x9b, , 3, 0, -1,all, 0xC010 //SA_DELUGE
287,0x9c, , 3, 0, -1,all, 0xC010 //SA_VIOLENTGALE
288,0x9d, , 3:3:4:4:5,0, -1,all, 0xC010 //SA_LANDPROTECTOR
285,0x9a, , 3, 0, -1,all, 0x8010 //SA_VOLCANO
286,0x9b, , 3, 0, -1,all, 0x8010 //SA_DELUGE
287,0x9c, , 3, 0, -1,all, 0x8010 //SA_VIOLENTGALE
288,0x9d, , 3:3:4:4:5,0, -1,all, 0x8010 //SA_LANDPROTECTOR
306,0x9e, , 4, 0,6000,enemy, 0x200 //BD_LULLABY
307,0x9f, , 4, 0, -1,enemy, 0x220 //BD_RICHMANKIM
308,0xa0, , 4, 0, -1,enemy, 0x200 //BD_ETERNALCHAOS
@@ -130,10 +130,10 @@
2274,0xe3, , 2, 0, -1,ally, 0x000 //NC_STEALTHFIELD
2299,0xcc, , 0, 1,1000,all, 0x8006 //SC_MANHOLE
2300,0xcd, , 0, 0,1000,all, 0xC006 //SC_DIMENSIONDOOR
2301,0xce, , 2, 0,1000,all, 0xE00E //SC_CHAOSPANIC
2302,0xcf, , 2, 0, -1,all, 0xE002 //SC_MAELSTROM
2303,0xd0, , 3, 0, -1,all, 0xE058 //SC_BLOODYLUST
2300,0xcd, , 0, 0,1000,all, 0x8006 //SC_DIMENSIONDOOR
2301,0xce, , 2, 0,1000,all, 0xA00E //SC_CHAOSPANIC
2302,0xcf, , 2, 0, -1,all, 0xA002 //SC_MAELSTROM
2303,0xd0, , 3, 0, -1,all, 0xA058 //SC_BLOODYLUST
2304,0xd1, , 0, 2, 500,enemy, 0x018 //SC_FEINTBOMB
2319,0xec, , 0, 3,5000,all, 0x000 //LG_BANDING
@@ -155,13 +155,13 @@
2467,0xf3, , 0, 1,1000,all, 0x010 //SO_WIND_INSIGNIA
2468,0xf4, , 0, 1,1000,all, 0x010 //SO_EARTH_INSIGNIA
2479,0xe5, , 0, 1,1000,enemy, 0xC006 //GN_THORNS_TRAP
2482,0xe6,0x7f, -1, 1, 300,enemy, 0xC000 //GN_WALLOFTHORN
2479,0xe5, , 0, 1,1000,enemy, 0x8006 //GN_THORNS_TRAP
2482,0xe6,0x7f, -1, 1, 300,enemy, 0x8000 //GN_WALLOFTHORN
2484,0x86, , 0, 1, 100,enemy, 0x080 //GN_CRAZYWEED_ATK
2485,0xe7, , 0, 2,2000,enemy, 0x8098 //GN_DEMONIC_FIRE
2487,0xe8, , 2, 0, -1,all, 0x2000 //GN_FIRE_EXPANSION_SMOKE_POWDER
2488,0xe9, , 2, 0, -1,all, 0x2000 //GN_FIRE_EXPANSION_TEAR_GAS
2490,0xea, , 0, 1,1000,enemy, 0xC002 //GN_HELLS_PLANT
2490,0xea, , 0, 1,1000,enemy, 0x8002 //GN_HELLS_PLANT
2555,0x104, , 0, 1:2:2:3:3,500,enemy,0x6 //RL_B_TRAP
2567,0x105, , -1, 0,1000,enemy, 0x98 //RL_FIRE_RAIN

View File

@@ -20,7 +20,7 @@
// 0x00800(UF_DUALMODE) Spell has effects both at an interval and when you step in/out
// 0x01000(UF_NOKNOCKBACK) Cannot be knocked back (only unit that can be damaged)
// 0x02000(UF_RANGEDSINGLEUNIT) Layout hack, use layout range propriety but only display center.
// 0x04000(UF_REM_CRAZYWEED) Removed if be overlapped by GN_CRAZYWEED
// 0x04000(UF_NONE) Free
// 0x08000(UF_REM_FIRERAIN) Removed if be overlapped by RL_FIRE_RAIN
// 0x10000(UF_KNOCKBACK_GROUP) Knock back a whole skill group (by default, skill unit is knocked back each unit)
// 0x20000(UF_HIDDEN_TRAP) Hidden trap, see 'traps_setting' skill config to enable this flag
@@ -32,14 +32,14 @@
// u1 u2 lay r intr target flag
//
12,0x7e, , 0, 0, -1,all, 0x4003 //MG_SAFETYWALL
12,0x7e, , 0, 0, -1,all, 0x003 //MG_SAFETYWALL
18,0x7f, , -1, 0, 20,enemy, 0x8010 //MG_FIREWALL
21,0x86, , 0, 2:2:2:2:2:2:2:2:2:2:3,1000,enemy, 0x010 //MG_THUNDERSTORM
25,0x85, , 1, 0, -1,all, 0x6003 //AL_PNEUMA
25,0x85, , 1, 0, -1,all, 0x2003 //AL_PNEUMA
27,0x81,0x80, 0, 0, -1,all, 0x00E //AL_WARP
70,0x83, , -1, 1,1000,all, 0x018 //PR_SANCTUARY
79,0x84, , -1, 1,3000,enemy, 0x8018 //PR_MAGNUS
80,0x87,0x88, 0, 1,2000,enemy, 0x4006 //WZ_FIREPILLAR
80,0x87,0x88, 0, 1,2000,enemy, 0x006 //WZ_FIREPILLAR
83,0x86, , 0, 3,1000,enemy, 0x010 //WZ_METEOR
85,0x86, , 5:5:5:5:5:5:5:5:5:5:7, 1,1250,enemy,0x018 //WZ_VERMILION
86,0x86, , 0:1:1:2:2:2:2:2:2:2, 0,-1,noone, 0x010 //WZ_WATERBALL
@@ -61,10 +61,10 @@
220,0xb0, , 0, 0, -1,all, 0x8002 //RG_GRAFFITI
229,0xb1, , 0, 1, 500,enemy, 0x006 //AM_DEMONSTRATION
254,0x86, , -1, 0, 300,enemy, 0x010 //CR_GRANDCROSS
285,0x9a, , 3, 0, -1,all, 0xC010 //SA_VOLCANO
286,0x9b, , 3, 0, -1,all, 0xC010 //SA_DELUGE
287,0x9c, , 3, 0, -1,all, 0xC010 //SA_VIOLENTGALE
288,0x9d, , 3:3:4:4:5,0, -1,all, 0xC010 //SA_LANDPROTECTOR
285,0x9a, , 3, 0, -1,all, 0xA010 //SA_VOLCANO
286,0x9b, , 3, 0, -1,all, 0xA010 //SA_DELUGE
287,0x9c, , 3, 0, -1,all, 0xA010 //SA_VIOLENTGALE
288,0x9d, , 3:3:4:4:5,0, -1,all, 0xA010 //SA_LANDPROTECTOR
306,0x9e, , 4, 0,6000,enemy, 0x200 //BD_LULLABY
307,0x9f, , 4, 0, -1,enemy, 0x220 //BD_RICHMANKIM
308,0xa0, , 4, 0, -1,enemy, 0x8200 //BD_ETERNALCHAOS
@@ -131,10 +131,10 @@
2274,0xe3, , 2, 0, -1,ally, 0x000 //NC_STEALTHFIELD
2299,0xcc, , 0, 1,1000,all, 0x8006 //SC_MANHOLE
2300,0xcd, , 0, 0,1000,all, 0xC006 //SC_DIMENSIONDOOR
2301,0xce, , 2, 0,1000,all, 0xE00E //SC_CHAOSPANIC
2302,0xcf, , 2, 0, -1,all, 0xE002 //SC_MAELSTROM
2303,0xd0, , 3, 0, -1,all, 0xE058 //SC_BLOODYLUST
2300,0xcd, , 0, 0,1000,all, 0x8006 //SC_DIMENSIONDOOR
2301,0xce, , 2, 0,1000,all, 0xA00E //SC_CHAOSPANIC
2302,0xcf, , 2, 0, -1,all, 0xA002 //SC_MAELSTROM
2303,0xd0, , 3, 0, -1,all, 0xA058 //SC_BLOODYLUST
2304,0xd1, , 0, 2, 500,enemy, 0x018 //SC_FEINTBOMB
2319,0xec, , 0, 3,5000,all, 0x000 //LG_BANDING
@@ -156,13 +156,13 @@
2467,0xf3, , 0, 1,1000,all, 0x010 //SO_WIND_INSIGNIA
2468,0xf4, , 0, 1,1000,all, 0x010 //SO_EARTH_INSIGNIA
2479,0xe5, , 0, 1,1000,enemy, 0xC006 //GN_THORNS_TRAP
2482,0xe6,0x7f, -1, 1, 300,enemy, 0xC000 //GN_WALLOFTHORN
2479,0xe5, , 0, 1,1000,enemy, 0x8006 //GN_THORNS_TRAP
2482,0xe6,0x7f, -1, 1, 300,enemy, 0x8000 //GN_WALLOFTHORN
2484,0x86, , 0, 1, 100,enemy, 0x080 //GN_CRAZYWEED_ATK
2485,0xe7, , 0, 2,2000,enemy, 0x8098 //GN_DEMONIC_FIRE
2487,0xe8, , 2, 0, -1,all, 0x2000 //GN_FIRE_EXPANSION_SMOKE_POWDER
2488,0xe9, , 2, 0, -1,all, 0x2000 //GN_FIRE_EXPANSION_TEAR_GAS
2490,0xea, , 0, 1,1000,enemy, 0xC002 //GN_HELLS_PLANT
2490,0xea, , 0, 1,1000,enemy, 0x8002 //GN_HELLS_PLANT
2555,0x104, , 0, 1:2:2:3:3,500,enemy,0x6 //RL_B_TRAP
2567,0x105, , -1, 0,1000,enemy, 0x98 //RL_FIRE_RAIN

View File

@@ -13484,13 +13484,6 @@ int skill_unit_onplace_timer(struct skill_unit *unit, struct block_list *bl, uns
skill_area_temp[3] = 0;
skill_attack(skill_get_type(sg->skill_id),ss,&unit->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
break;
case GN_CRAZYWEED_ATK:
if( bl->type == BL_SKILL ) {
struct skill_unit *su = (struct skill_unit *)bl;
if( su && !(skill_get_inf2(su->group->skill_id)&INF2_TRAP) )
break;
}
//Fall through
default:
skill_attack(skill_get_type(sg->skill_id),ss,&unit->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
}
@@ -17136,6 +17129,7 @@ static int skill_cell_overlap(struct block_list *bl, va_list ap)
break;
case HW_GANBANTEIN:
case LG_EARTHDRIVE:
case GN_CRAZYWEED_ATK:
// Officially songs/dances are removed
skill_delunit(unit);
return 1;
@@ -17193,14 +17187,6 @@ static int skill_cell_overlap(struct block_list *bl, va_list ap)
return 1;
}
break;
case GN_CRAZYWEED_ATK:
if (unit->group->skill_id == WZ_FIREPILLAR && unit->group->unit_id != UNT_FIREPILLAR_ACTIVE)
break;
if (skill_get_unit_flag(unit->group->skill_id)&UF_REM_CRAZYWEED) {
skill_delunit(unit);
return 1;
}
break;
case RL_FIRE_RAIN:
if (skill_get_unit_flag(unit->group->skill_id)&UF_REM_FIRERAIN) {
skill_delunit(unit);

View File

@@ -322,7 +322,7 @@ enum e_skill_unit_flag {
UF_DUALMODE = 0x00800, // Spells should trigger both ontimer and onplace/onout/onleft effects.
UF_NOKNOCKBACK = 0x01000, // Skill unit cannot be knocked back
UF_RANGEDSINGLEUNIT = 0x02000, // hack for ranged layout, only display center
UF_REM_CRAZYWEED = 0x04000, // removed by Crazyweed
UF_FREE = 0x04000, // Free
UF_REM_FIRERAIN = 0x08000, // removed by Fire Rain
UF_KNOCKBACK_GROUP = 0x10000, // knockback skill unit with its group instead of single unit
UF_HIDDEN_TRAP = 0x20000, // Hidden trap [Cydh]