Terraria 1.4.0.5 Source Code
This commit is contained in:
commit
05205f009e
1059 changed files with 563450 additions and 0 deletions
146
GameContent/ItemDropRules/ItemDropRule.cs
Normal file
146
GameContent/ItemDropRules/ItemDropRule.cs
Normal 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);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue