Updates the behavior of Stasis (#6196)
* Fixes #6071. * Updates the behavior of Stasis to block Songs, Ensembles, Choruses, and magic type skills. * Removes the INF2_IGNORESTASIS flag as it doesn't effectively fit it's purpose anymore. Thanks to @Felleonel!
This commit is contained in:
parent
b9c53941f1
commit
7e2a85a578
@ -2538,8 +2538,6 @@ Body:
|
|||||||
TargetType: Support
|
TargetType: Support
|
||||||
DamageFlags:
|
DamageFlags:
|
||||||
NoDamage: true
|
NoDamage: true
|
||||||
Flags:
|
|
||||||
IgnoreStasis: true
|
|
||||||
Range: 9
|
Range: 9
|
||||||
Hit: Single
|
Hit: Single
|
||||||
HitCount: 1
|
HitCount: 1
|
||||||
@ -7848,7 +7846,6 @@ Body:
|
|||||||
NoTargetSelf: true
|
NoTargetSelf: true
|
||||||
PartyOnly: true
|
PartyOnly: true
|
||||||
GuildOnly: true
|
GuildOnly: true
|
||||||
IgnoreStasis: true
|
|
||||||
TargetHidden: true
|
TargetHidden: true
|
||||||
Range: 9
|
Range: 9
|
||||||
Hit: Single
|
Hit: Single
|
||||||
@ -19545,7 +19542,6 @@ Body:
|
|||||||
NoDamage: true
|
NoDamage: true
|
||||||
Flags:
|
Flags:
|
||||||
PartyOnly: true
|
PartyOnly: true
|
||||||
IgnoreStasis: true
|
|
||||||
TargetHidden: true
|
TargetHidden: true
|
||||||
Range: 11
|
Range: 11
|
||||||
Hit: Single
|
Hit: Single
|
||||||
@ -27690,7 +27686,6 @@ Body:
|
|||||||
Type: Weapon
|
Type: Weapon
|
||||||
TargetType: Attack
|
TargetType: Attack
|
||||||
Flags:
|
Flags:
|
||||||
IgnoreStasis: true
|
|
||||||
TargetHidden: true
|
TargetHidden: true
|
||||||
Range: -9
|
Range: -9
|
||||||
Hit: Single
|
Hit: Single
|
||||||
|
@ -2575,8 +2575,6 @@ Body:
|
|||||||
TargetType: Support
|
TargetType: Support
|
||||||
DamageFlags:
|
DamageFlags:
|
||||||
NoDamage: true
|
NoDamage: true
|
||||||
Flags:
|
|
||||||
IgnoreStasis: true
|
|
||||||
Range: 9
|
Range: 9
|
||||||
Hit: Single
|
Hit: Single
|
||||||
HitCount: 1
|
HitCount: 1
|
||||||
@ -8239,7 +8237,6 @@ Body:
|
|||||||
NoTargetSelf: true
|
NoTargetSelf: true
|
||||||
PartyOnly: true
|
PartyOnly: true
|
||||||
GuildOnly: true
|
GuildOnly: true
|
||||||
IgnoreStasis: true
|
|
||||||
TargetHidden: true
|
TargetHidden: true
|
||||||
Range: 9
|
Range: 9
|
||||||
Hit: Single
|
Hit: Single
|
||||||
@ -20266,7 +20263,6 @@ Body:
|
|||||||
NoDamage: true
|
NoDamage: true
|
||||||
Flags:
|
Flags:
|
||||||
PartyOnly: true
|
PartyOnly: true
|
||||||
IgnoreStasis: true
|
|
||||||
TargetHidden: true
|
TargetHidden: true
|
||||||
Range: 11
|
Range: 11
|
||||||
Hit: Single
|
Hit: Single
|
||||||
@ -28312,7 +28308,6 @@ Body:
|
|||||||
Type: Weapon
|
Type: Weapon
|
||||||
TargetType: Attack
|
TargetType: Attack
|
||||||
Flags:
|
Flags:
|
||||||
IgnoreStasis: true
|
|
||||||
TargetHidden: true
|
TargetHidden: true
|
||||||
Range: -9
|
Range: -9
|
||||||
Hit: Single
|
Hit: Single
|
||||||
|
@ -86,7 +86,6 @@ IgnoreLandProtector - Ignore SA_LANDPROTECTOR.
|
|||||||
AllowWhenHidden - Usable while hiding.
|
AllowWhenHidden - Usable while hiding.
|
||||||
AllowWhenPerforming - Usable while in dancing state.
|
AllowWhenPerforming - Usable while in dancing state.
|
||||||
TargetEmperium - Damages/targets Emperium.
|
TargetEmperium - Damages/targets Emperium.
|
||||||
IgnoreStasis - Ignore SC_STASIS.
|
|
||||||
IgnoreKagehumi - Ignore KG_KAGEHUMI.
|
IgnoreKagehumi - Ignore KG_KAGEHUMI.
|
||||||
AlterRangeVulture - Skill range affected by AC_VULTURE.
|
AlterRangeVulture - Skill range affected by AC_VULTURE.
|
||||||
AlterRangeSnakeEye - Skill range affected by GS_SNAKEEYE.
|
AlterRangeSnakeEye - Skill range affected by GS_SNAKEEYE.
|
||||||
|
@ -7824,7 +7824,6 @@
|
|||||||
export_constant(INF2_ALLOWWHENHIDDEN);
|
export_constant(INF2_ALLOWWHENHIDDEN);
|
||||||
export_constant(INF2_ALLOWWHENPERFORMING);
|
export_constant(INF2_ALLOWWHENPERFORMING);
|
||||||
export_constant(INF2_TARGETEMPERIUM);
|
export_constant(INF2_TARGETEMPERIUM);
|
||||||
export_constant(INF2_IGNORESTASIS);
|
|
||||||
export_constant(INF2_IGNOREKAGEHUMI);
|
export_constant(INF2_IGNOREKAGEHUMI);
|
||||||
export_constant(INF2_ALTERRANGEVULTURE);
|
export_constant(INF2_ALTERRANGEVULTURE);
|
||||||
export_constant(INF2_ALTERRANGESNAKEEYE);
|
export_constant(INF2_ALTERRANGESNAKEEYE);
|
||||||
|
@ -21454,7 +21454,7 @@ int skill_block_check(struct block_list *bl, sc_type type , uint16 skill_id) {
|
|||||||
return 1;
|
return 1;
|
||||||
break;
|
break;
|
||||||
case SC_STASIS:
|
case SC_STASIS:
|
||||||
if (bl->type == BL_PC && !skill_get_inf2(skill_id, INF2_IGNORESTASIS))
|
if (skill_get_inf2_(skill_id, { INF2_ISSONG, INF2_ISENSEMBLE, INF2_ISCHORUS }) || skill_get_type(skill_id) == BF_MAGIC)
|
||||||
return 1; // Can't do it.
|
return 1; // Can't do it.
|
||||||
break;
|
break;
|
||||||
case SC_KAGEHUMI:
|
case SC_KAGEHUMI:
|
||||||
|
@ -91,7 +91,6 @@ enum e_skill_inf2 : uint8 {
|
|||||||
INF2_ALLOWWHENHIDDEN, // Skill that can be use in hiding
|
INF2_ALLOWWHENHIDDEN, // Skill that can be use in hiding
|
||||||
INF2_ALLOWWHENPERFORMING, // Skill that can be use while in dancing state
|
INF2_ALLOWWHENPERFORMING, // Skill that can be use while in dancing state
|
||||||
INF2_TARGETEMPERIUM, // Skill that could hit emperium
|
INF2_TARGETEMPERIUM, // Skill that could hit emperium
|
||||||
INF2_IGNORESTASIS, // Skill that can ignore SC_STASIS
|
|
||||||
INF2_IGNOREKAGEHUMI, // Skill blocked by kagehumi
|
INF2_IGNOREKAGEHUMI, // Skill blocked by kagehumi
|
||||||
INF2_ALTERRANGEVULTURE, // Skill range affected by AC_VULTURE
|
INF2_ALTERRANGEVULTURE, // Skill range affected by AC_VULTURE
|
||||||
INF2_ALTERRANGESNAKEEYE, // Skill range affected by GS_SNAKEEYE
|
INF2_ALTERRANGESNAKEEYE, // Skill range affected by GS_SNAKEEYE
|
||||||
|
@ -1316,8 +1316,6 @@ static bool skill_parse_row_skilldb(char* split[], int columns, int current) {
|
|||||||
body << YAML::Key << "AllowWhenPerforming" << YAML::Value << "true";
|
body << YAML::Key << "AllowWhenPerforming" << YAML::Value << "true";
|
||||||
if (inf3_val & 0x10)
|
if (inf3_val & 0x10)
|
||||||
body << YAML::Key << "TargetEmperium" << YAML::Value << "true";
|
body << YAML::Key << "TargetEmperium" << YAML::Value << "true";
|
||||||
if (inf3_val & 0x20)
|
|
||||||
body << YAML::Key << "IgnoreStasis" << YAML::Value << "true";
|
|
||||||
if (inf3_val & 0x40)
|
if (inf3_val & 0x40)
|
||||||
body << YAML::Key << "IgnoreKagehumi" << YAML::Value << "true";
|
body << YAML::Key << "IgnoreKagehumi" << YAML::Value << "true";
|
||||||
if (inf3_val & 0x80)
|
if (inf3_val & 0x80)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user