Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
MechBossSpawnersDropRule.cs
Go to the documentation of this file.
2
4
6{
8
9 public List<IItemDropRuleChainAttempt> ChainedRules { get; private set; }
10
15
16 public bool CanDrop(DropAttemptInfo info)
17 {
18 if (info.npc.value > 0f && Main.hardMode && (!NPC.downedMechBoss1 || !NPC.downedMechBoss2 || !NPC.downedMechBoss3))
19 {
20 return !info.IsInSimulation;
21 }
22 return false;
23 }
24
26 {
28 if (!NPC.downedMechBoss1 && info.player.RollLuck(2500) == 0)
29 {
30 CommonCode.DropItemFromNPC(info.npc, 556, 1);
31 result = default(ItemDropAttemptResult);
32 result.State = ItemDropAttemptResultState.Success;
33 return result;
34 }
35 if (!NPC.downedMechBoss2 && info.player.RollLuck(2500) == 0)
36 {
37 CommonCode.DropItemFromNPC(info.npc, 544, 1);
38 result = default(ItemDropAttemptResult);
39 result.State = ItemDropAttemptResultState.Success;
40 return result;
41 }
42 if (!NPC.downedMechBoss3 && info.player.RollLuck(2500) == 0)
43 {
44 CommonCode.DropItemFromNPC(info.npc, 557, 1);
45 result = default(ItemDropAttemptResult);
46 result.State = ItemDropAttemptResultState.Success;
47 return result;
48 }
49 result = default(ItemDropAttemptResult);
50 result.State = ItemDropAttemptResultState.FailedRandomRoll;
51 return result;
52 }
53
55 {
56 ratesInfo.AddCondition(dummyCondition);
57 float num = 0.0004f;
58 float dropRate = num * ratesInfo.parentDroprateChance;
59 drops.Add(new DropRateInfo(556, 1, 1, dropRate, ratesInfo.conditions));
60 drops.Add(new DropRateInfo(544, 1, 1, dropRate, ratesInfo.conditions));
61 drops.Add(new DropRateInfo(557, 1, 1, dropRate, ratesInfo.conditions));
63 }
64}
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
void ReportDroprates(List< DropRateInfo > drops, DropRateInfoChainFeed ratesInfo)
ItemDropAttemptResult TryDroppingItem(DropAttemptInfo info)
static bool hardMode
Definition Main.cs:1022
static bool downedMechBoss2
Definition NPC.cs:425
static bool downedMechBoss3
Definition NPC.cs:427
static bool downedMechBoss1
Definition NPC.cs:423