Terraria 1.4.0.5 Source Code

This commit is contained in:
MikeyIsBaeYT 2021-10-26 12:45:26 -04:00
commit 05205f009e
1059 changed files with 563450 additions and 0 deletions

View file

@ -0,0 +1,146 @@
// Decompiled with JetBrains decompiler
// Type: Terraria.GameContent.ItemDropRules.ItemDropRule
// Assembly: Terraria, Version=1.4.0.5, Culture=neutral, PublicKeyToken=null
// MVID: 67F9E73E-0A81-4937-A22C-5515CD405A83
// Assembly location: C:\Users\mikeyisbaeyt\Downloads\depotdownloader-2.4.5\depots\105601\6707058\Terraria.exe
namespace Terraria.GameContent.ItemDropRules
{
public class ItemDropRule
{
public static IItemDropRule Common(
int itemId,
int dropsOutOfX = 1,
int minimumDropped = 1,
int maximumDropped = 1)
{
return (IItemDropRule) new CommonDrop(itemId, dropsOutOfX, minimumDropped, maximumDropped);
}
public static IItemDropRule BossBag(int itemId) => (IItemDropRule) new DropBasedOnExpertMode(ItemDropRule.DropNothing(), (IItemDropRule) new DropLocalPerClientAndResetsNPCMoneyTo0(itemId, 1, 1, 1, (IItemDropRuleCondition) null));
public static IItemDropRule BossBagByCondition(
IItemDropRuleCondition condition,
int itemId)
{
return (IItemDropRule) new DropBasedOnExpertMode(ItemDropRule.DropNothing(), (IItemDropRule) new DropLocalPerClientAndResetsNPCMoneyTo0(itemId, 1, 1, 1, condition));
}
public static IItemDropRule ExpertGetsRerolls(
int itemId,
int dropsOutOfX,
int expertRerolls)
{
return (IItemDropRule) new DropBasedOnExpertMode(ItemDropRule.WithRerolls(itemId, 0, dropsOutOfX), ItemDropRule.WithRerolls(itemId, expertRerolls, dropsOutOfX));
}
public static IItemDropRule MasterModeCommonDrop(int itemId) => ItemDropRule.ByCondition((IItemDropRuleCondition) new Conditions.IsMasterMode(), itemId);
public static IItemDropRule MasterModeDropOnAllPlayers(
int itemId,
int dropsAtXOutOfY_TheY = 1)
{
return (IItemDropRule) new DropBasedOnMasterMode(ItemDropRule.DropNothing(), (IItemDropRule) new DropPerPlayerOnThePlayer(itemId, dropsAtXOutOfY_TheY, 1, 1, (IItemDropRuleCondition) new Conditions.IsMasterMode()));
}
public static IItemDropRule WithRerolls(
int itemId,
int rerolls,
int dropsOutOfX = 1,
int minimumDropped = 1,
int maximumDropped = 1)
{
return (IItemDropRule) new CommonDropWithRerolls(itemId, dropsOutOfX, minimumDropped, maximumDropped, rerolls);
}
public static IItemDropRule ByCondition(
IItemDropRuleCondition condition,
int itemId,
int dropsOutOfX = 1,
int minimumDropped = 1,
int maximumDropped = 1,
int dropsXOutOfY = 1)
{
return (IItemDropRule) new ItemDropWithConditionRule(itemId, dropsOutOfX, minimumDropped, maximumDropped, condition, dropsXOutOfY);
}
public static IItemDropRule NotScalingWithLuck(
int itemId,
int dropsOutOfX = 1,
int minimumDropped = 1,
int maximumDropped = 1)
{
return (IItemDropRule) new CommonDrop(itemId, dropsOutOfX, minimumDropped, maximumDropped);
}
public static IItemDropRule OneFromOptionsNotScalingWithLuck(
int dropsOutOfX,
params int[] options)
{
return (IItemDropRule) new OneFromOptionsNotScaledWithLuckDropRule(dropsOutOfX, 1, options);
}
public static IItemDropRule OneFromOptionsNotScalingWithLuckWithX(
int dropsOutOfY,
int xOutOfY,
params int[] options)
{
return (IItemDropRule) new OneFromOptionsNotScaledWithLuckDropRule(dropsOutOfY, xOutOfY, options);
}
public static IItemDropRule OneFromOptions(int dropsOutOfX, params int[] options) => (IItemDropRule) new OneFromOptionsDropRule(dropsOutOfX, 1, options);
public static IItemDropRule OneFromOptionsWithX(
int dropsOutOfY,
int xOutOfY,
params int[] options)
{
return (IItemDropRule) new OneFromOptionsDropRule(dropsOutOfY, xOutOfY, options);
}
public static IItemDropRule DropNothing() => (IItemDropRule) new Terraria.GameContent.ItemDropRules.DropNothing();
public static IItemDropRule NormalvsExpert(
int itemId,
int oncePerXInNormal,
int oncePerXInExpert)
{
return (IItemDropRule) new DropBasedOnExpertMode(ItemDropRule.Common(itemId, oncePerXInNormal), ItemDropRule.Common(itemId, oncePerXInExpert));
}
public static IItemDropRule NormalvsExpertNotScalingWithLuck(
int itemId,
int oncePerXInNormal,
int oncePerXInExpert)
{
return (IItemDropRule) new DropBasedOnExpertMode(ItemDropRule.NotScalingWithLuck(itemId, oncePerXInNormal), ItemDropRule.NotScalingWithLuck(itemId, oncePerXInExpert));
}
public static IItemDropRule NormalvsExpertOneFromOptionsNotScalingWithLuck(
int dropsOutOfXNormalMode,
int dropsOutOfXExpertMode,
params int[] options)
{
return (IItemDropRule) new DropBasedOnExpertMode(ItemDropRule.OneFromOptionsNotScalingWithLuck(dropsOutOfXNormalMode, options), ItemDropRule.OneFromOptionsNotScalingWithLuck(dropsOutOfXExpertMode, options));
}
public static IItemDropRule NormalvsExpertOneFromOptions(
int dropsOutOfXNormalMode,
int dropsOutOfXExpertMode,
params int[] options)
{
return (IItemDropRule) new DropBasedOnExpertMode(ItemDropRule.OneFromOptions(dropsOutOfXNormalMode, options), ItemDropRule.OneFromOptions(dropsOutOfXExpertMode, options));
}
public static IItemDropRule Food(
int itemId,
int dropsOutOfX,
int minimumDropped = 1,
int maximumDropped = 1)
{
return (IItemDropRule) new ItemDropWithConditionRule(itemId, dropsOutOfX, minimumDropped, maximumDropped, (IItemDropRuleCondition) new Conditions.NotFromStatue());
}
public static IItemDropRule StatusImmunityItem(int itemId, int dropsOutOfX) => ItemDropRule.ExpertGetsRerolls(itemId, dropsOutOfX, 1);
}
}