Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
CommonDrop.cs
Go to the documentation of this file.
2
4
6{
7 public int itemId;
8
9 public int chanceDenominator;
10
12
14
15 public int chanceNumerator;
16
17 public List<IItemDropRuleChainAttempt> ChainedRules { get; private set; }
18
20 {
21 this.itemId = itemId;
22 this.chanceDenominator = chanceDenominator;
23 this.amountDroppedMinimum = amountDroppedMinimum;
24 this.amountDroppedMaximum = amountDroppedMaximum;
25 this.chanceNumerator = chanceNumerator;
27 }
28
29 public virtual bool CanDrop(DropAttemptInfo info)
30 {
31 return true;
32 }
33
35 {
37 if (info.player.RollLuck(chanceDenominator) < chanceNumerator)
38 {
40 result = default(ItemDropAttemptResult);
41 result.State = ItemDropAttemptResultState.Success;
42 return result;
43 }
44 result = default(ItemDropAttemptResult);
45 result.State = ItemDropAttemptResultState.FailedRandomRoll;
46 return result;
47 }
48
50 {
51 float num = (float)chanceNumerator / (float)chanceDenominator;
52 float dropRate = num * ratesInfo.parentDroprateChance;
55 }
56}
void Add(TKey key, TValue value)
static void ReportDroprates(List< IItemDropRuleChainAttempt > ChainedRules, float personalDropRate, List< DropRateInfo > drops, DropRateInfoChainFeed ratesInfo)
Definition Chains.cs:85
static void DropItemFromNPC(NPC npc, int itemId, int stack, bool scattered=false)
Definition CommonCode.cs:9
virtual ItemDropAttemptResult TryDroppingItem(DropAttemptInfo info)
Definition CommonDrop.cs:34
CommonDrop(int itemId, int chanceDenominator, int amountDroppedMinimum=1, int amountDroppedMaximum=1, int chanceNumerator=1)
Definition CommonDrop.cs:19
List< IItemDropRuleChainAttempt > ChainedRules
Definition CommonDrop.cs:17
virtual bool CanDrop(DropAttemptInfo info)
Definition CommonDrop.cs:29
virtual void ReportDroprates(List< DropRateInfo > drops, DropRateInfoChainFeed ratesInfo)
Definition CommonDrop.cs:49