Group checks by item type instead of liquid type

This commit is contained in:
SGKoishi 2022-11-28 00:57:53 -08:00
parent 49921cb7ed
commit fa08859952
No known key found for this signature in database
GPG key ID: 8FFC399070653828

View file

@ -1770,28 +1770,54 @@ namespace TShockAPI
return; return;
} }
if (type == LiquidType.Lava && !(selectedItemType == ItemID.LavaBucket || selectedItemType == ItemID.EmptyBucket || selectedItemType == ItemID.LavaAbsorbantSponge || selectedItemType == ItemID.BottomlessLavaBucket || selectedItemType == ItemID.UltraAbsorbantSponge)) switch (selectedItemType)
{ {
Reject(GetString("Spreading lava without holding a lava bucket")); case ItemID.WaterBucket:
return; case ItemID.BottomlessBucket:
} if (type != LiquidType.Water)
{
if (type == LiquidType.Water && !(selectedItemType == ItemID.WaterBucket || selectedItemType == ItemID.EmptyBucket || selectedItemType == ItemID.BottomlessBucket || selectedItemType == ItemID.UltraAbsorbantSponge || selectedItemType == ItemID.SuperAbsorbantSponge)) Reject(GetString("Using {0} on non-water", Lang.GetItemNameValue(selectedItemType)));
{ return;
Reject(GetString("Spreading water without holding a water bucket")); }
return; break;
} case ItemID.HoneyBucket:
case ItemID.HoneyAbsorbantSponge:
if (type == LiquidType.Honey && !(selectedItemType == ItemID.HoneyBucket || selectedItemType == ItemID.EmptyBucket || selectedItemType == ItemID.BottomlessHoneyBucket || selectedItemType == ItemID.HoneyAbsorbantSponge || selectedItemType == ItemID.UltraAbsorbantSponge)) case ItemID.BottomlessHoneyBucket:
{ if (type != LiquidType.Honey)
Reject(GetString("Spreading honey without holding a honey bucket")); {
return; Reject(GetString("Using {0} on non-honey", Lang.GetItemNameValue(selectedItemType)));
} return;
}
if (type == LiquidType.Shimmer && !(selectedItemType == ItemID.BottomlessShimmerBucket || selectedItemType == ItemID.UltraAbsorbantSponge || selectedItemType == ItemID.SuperAbsorbantSponge)) break;
{ case ItemID.LavaAbsorbantSponge:
Reject(GetString("Spreading shimmer without holding a shimmer bucket")); case ItemID.BottomlessLavaBucket:
return; case ItemID.LavaBucket:
if (type != LiquidType.Lava)
{
Reject(GetString("Using {0} on non-lava", Lang.GetItemNameValue(selectedItemType)));
return;
}
break;
case ItemID.BottomlessShimmerBucket:
if (type != LiquidType.Shimmer)
{
Reject(GetString("Using {0} on non-shimmer", Lang.GetItemNameValue(selectedItemType)));
return;
}
break;
case ItemID.SuperAbsorbantSponge:
if (type != LiquidType.Water && type != LiquidType.Shimmer)
{
Reject(GetString("Using {0} on non-water or shimmer", Lang.GetItemNameValue(selectedItemType)));
return;
}
break;
case ItemID.EmptyBucket:
case ItemID.UltraAbsorbantSponge:
break;
default:
Reject(GetString("Using {0} to manipulate unknown liquid {1}", Lang.GetItemNameValue(selectedItemType), type));
return;
} }
} }