Browse Source

Several status fixes (#7216)

* Fixes #7215.
* Fixes endows not being removed on death and staying while switching weapon.
* Fixes some statuses that must disappear when logging off: Strip skills, Asura SP Regen Malus, Critical Explosion, NPC Change Undead.
* Monsters in StoneWait are correctly prevented from attacking.
Singe Horizontal 2 years ago
parent
commit
957efd823f
2 changed files with 28 additions and 8 deletions
  1. 14 4
      db/pre-re/status.yml
  2. 14 4
      db/re/status.yml

+ 14 - 4
db/pre-re/status.yml

@@ -79,6 +79,7 @@ Body:
     DurationLookup: NPC_PETRIFYATTACK
     DurationLookup: NPC_PETRIFYATTACK
     States:
     States:
       NoCast: true
       NoCast: true
+      NoAttack: true
     Opt1: StoneWait
     Opt1: StoneWait
     Flags:
     Flags:
       SendOption: true
       SendOption: true
@@ -352,6 +353,8 @@ Body:
     DurationLookup: AS_ENCHANTPOISON
     DurationLookup: AS_ENCHANTPOISON
     CalcFlags:
     CalcFlags:
       Atk_Ele: true
       Atk_Ele: true
+    Flags:
+      RemoveOnUnequipWeapon: true
     End:
     End:
       Aspersio: true
       Aspersio: true
       Fireweapon: true
       Fireweapon: true
@@ -752,6 +755,7 @@ Body:
       NoDispell: true
       NoDispell: true
       NoBanishingBuster: true
       NoBanishingBuster: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Stripshield
   - Status: Stripshield
     Icon: EFST_NOEQUIPSHIELD
     Icon: EFST_NOEQUIPSHIELD
     DurationLookup: RG_STRIPSHIELD
     DurationLookup: RG_STRIPSHIELD
@@ -763,6 +767,7 @@ Body:
       NoDispell: true
       NoDispell: true
       NoBanishingBuster: true
       NoBanishingBuster: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Striparmor
   - Status: Striparmor
     Icon: EFST_NOEQUIPARMOR
     Icon: EFST_NOEQUIPARMOR
     DurationLookup: RG_STRIPARMOR
     DurationLookup: RG_STRIPARMOR
@@ -774,6 +779,7 @@ Body:
       NoDispell: true
       NoDispell: true
       NoBanishingBuster: true
       NoBanishingBuster: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Striphelm
   - Status: Striphelm
     Icon: EFST_NOEQUIPHELM
     Icon: EFST_NOEQUIPHELM
     DurationLookup: RG_STRIPHELM
     DurationLookup: RG_STRIPHELM
@@ -785,6 +791,7 @@ Body:
       NoDispell: true
       NoDispell: true
       NoBanishingBuster: true
       NoBanishingBuster: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Cp_Weapon
   - Status: Cp_Weapon
     Icon: EFST_PROTECTWEAPON
     Icon: EFST_PROTECTWEAPON
     DurationLookup: AM_CP_WEAPON
     DurationLookup: AM_CP_WEAPON
@@ -932,6 +939,7 @@ Body:
       NoDispell: true
       NoDispell: true
       NoBanishingBuster: true
       NoBanishingBuster: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Explosionspirits
   - Status: Explosionspirits
     Icon: EFST_EXPLOSIONSPIRITS
     Icon: EFST_EXPLOSIONSPIRITS
     DurationLookup: MO_EXPLOSIONSPIRITS
     DurationLookup: MO_EXPLOSIONSPIRITS
@@ -943,6 +951,7 @@ Body:
     Flags:
     Flags:
       Debuff: true
       Debuff: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Combo
   - Status: Combo
     Flags:
     Flags:
       NoClearbuff: true
       NoClearbuff: true
@@ -979,7 +988,7 @@ Body:
     CalcFlags:
     CalcFlags:
       Atk_Ele: true
       Atk_Ele: true
     Flags:
     Flags:
-      NoRemoveOnDead: true
+      RemoveOnUnequipWeapon: true
     End:
     End:
       Encpoison: true
       Encpoison: true
       Aspersio: true
       Aspersio: true
@@ -994,7 +1003,7 @@ Body:
     CalcFlags:
     CalcFlags:
       Atk_Ele: true
       Atk_Ele: true
     Flags:
     Flags:
-      NoRemoveOnDead: true
+      RemoveOnUnequipWeapon: true
     End:
     End:
       Encpoison: true
       Encpoison: true
       Aspersio: true
       Aspersio: true
@@ -1009,7 +1018,7 @@ Body:
     CalcFlags:
     CalcFlags:
       Atk_Ele: true
       Atk_Ele: true
     Flags:
     Flags:
-      NoRemoveOnDead: true
+      RemoveOnUnequipWeapon: true
     End:
     End:
       Encpoison: true
       Encpoison: true
       Aspersio: true
       Aspersio: true
@@ -1024,7 +1033,7 @@ Body:
     CalcFlags:
     CalcFlags:
       Atk_Ele: true
       Atk_Ele: true
     Flags:
     Flags:
-      NoRemoveOnDead: true
+      RemoveOnUnequipWeapon: true
     End:
     End:
       Encpoison: true
       Encpoison: true
       Aspersio: true
       Aspersio: true
@@ -1326,6 +1335,7 @@ Body:
     Flags:
     Flags:
       Debuff: true
       Debuff: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
     End:
     End:
       Blessing: true
       Blessing: true
       Increaseagi: true
       Increaseagi: true

+ 14 - 4
db/re/status.yml

@@ -80,6 +80,7 @@ Body:
     DurationLookup: NPC_PETRIFYATTACK
     DurationLookup: NPC_PETRIFYATTACK
     States:
     States:
       NoCast: true
       NoCast: true
+      NoAttack: true
     Opt1: StoneWait
     Opt1: StoneWait
     Flags:
     Flags:
       SendOption: true
       SendOption: true
@@ -363,6 +364,8 @@ Body:
     DurationLookup: AS_ENCHANTPOISON
     DurationLookup: AS_ENCHANTPOISON
     CalcFlags:
     CalcFlags:
       Atk_Ele: true
       Atk_Ele: true
+    Flags:
+      RemoveOnUnequipWeapon: true
     End:
     End:
       Aspersio: true
       Aspersio: true
       Fireweapon: true
       Fireweapon: true
@@ -767,6 +770,7 @@ Body:
       NoDispell: true
       NoDispell: true
       NoBanishingBuster: true
       NoBanishingBuster: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Stripshield
   - Status: Stripshield
     Icon: EFST_NOEQUIPSHIELD
     Icon: EFST_NOEQUIPSHIELD
     DurationLookup: RG_STRIPSHIELD
     DurationLookup: RG_STRIPSHIELD
@@ -778,6 +782,7 @@ Body:
       NoDispell: true
       NoDispell: true
       NoBanishingBuster: true
       NoBanishingBuster: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Striparmor
   - Status: Striparmor
     Icon: EFST_NOEQUIPARMOR
     Icon: EFST_NOEQUIPARMOR
     DurationLookup: RG_STRIPARMOR
     DurationLookup: RG_STRIPARMOR
@@ -789,6 +794,7 @@ Body:
       NoDispell: true
       NoDispell: true
       NoBanishingBuster: true
       NoBanishingBuster: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Striphelm
   - Status: Striphelm
     Icon: EFST_NOEQUIPHELM
     Icon: EFST_NOEQUIPHELM
     DurationLookup: RG_STRIPHELM
     DurationLookup: RG_STRIPHELM
@@ -800,6 +806,7 @@ Body:
       NoDispell: true
       NoDispell: true
       NoBanishingBuster: true
       NoBanishingBuster: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Cp_Weapon
   - Status: Cp_Weapon
     Icon: EFST_PROTECTWEAPON
     Icon: EFST_PROTECTWEAPON
     DurationLookup: AM_CP_WEAPON
     DurationLookup: AM_CP_WEAPON
@@ -947,6 +954,7 @@ Body:
       NoDispell: true
       NoDispell: true
       NoBanishingBuster: true
       NoBanishingBuster: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Explosionspirits
   - Status: Explosionspirits
     Icon: EFST_EXPLOSIONSPIRITS
     Icon: EFST_EXPLOSIONSPIRITS
     DurationLookup: MO_EXPLOSIONSPIRITS
     DurationLookup: MO_EXPLOSIONSPIRITS
@@ -958,6 +966,7 @@ Body:
     Flags:
     Flags:
       Debuff: true
       Debuff: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
   - Status: Combo
   - Status: Combo
     Flags:
     Flags:
       NoClearbuff: true
       NoClearbuff: true
@@ -994,7 +1003,7 @@ Body:
     CalcFlags:
     CalcFlags:
       All: true
       All: true
     Flags:
     Flags:
-      NoRemoveOnDead: true
+      RemoveOnUnequipWeapon: true
     End:
     End:
       Encpoison: true
       Encpoison: true
       Aspersio: true
       Aspersio: true
@@ -1009,7 +1018,7 @@ Body:
     CalcFlags:
     CalcFlags:
       All: true
       All: true
     Flags:
     Flags:
-      NoRemoveOnDead: true
+      RemoveOnUnequipWeapon: true
     End:
     End:
       Encpoison: true
       Encpoison: true
       Aspersio: true
       Aspersio: true
@@ -1024,7 +1033,7 @@ Body:
     CalcFlags:
     CalcFlags:
       All: true
       All: true
     Flags:
     Flags:
-      NoRemoveOnDead: true
+      RemoveOnUnequipWeapon: true
     End:
     End:
       Encpoison: true
       Encpoison: true
       Aspersio: true
       Aspersio: true
@@ -1039,7 +1048,7 @@ Body:
     CalcFlags:
     CalcFlags:
       All: true
       All: true
     Flags:
     Flags:
-      NoRemoveOnDead: true
+      RemoveOnUnequipWeapon: true
     End:
     End:
       Encpoison: true
       Encpoison: true
       Aspersio: true
       Aspersio: true
@@ -1341,6 +1350,7 @@ Body:
     Flags:
     Flags:
       Debuff: true
       Debuff: true
       NoClearance: true
       NoClearance: true
+      NoSave: true
     End:
     End:
       Blessing: true
       Blessing: true
       Increaseagi: true
       Increaseagi: true