Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ DropItemForEachInteractingPlayerOnThePlayer()

static void Terraria.GameContent.ItemDropRules.CommonCode.DropItemForEachInteractingPlayerOnThePlayer ( NPC npc,
int itemId,
UnifiedRandom rng,
int chanceNumerator,
int chanceDenominator,
int stack = 1,
bool interactionRequired = true )
inlinestatic

Definition at line 51 of file CommonCode.cs.

52 {
53 if (itemId <= 0 || itemId >= ItemID.Count)
54 {
55 return;
56 }
57 if (Main.netMode == 2)
58 {
59 for (int i = 0; i < 255; i++)
60 {
61 Player player = Main.player[i];
62 if (player.active && (npc.playerInteraction[i] || !interactionRequired) && rng.Next(chanceDenominator) < chanceNumerator)
63 {
64 int itemIndex = Item.NewItem(npc.GetItemSource_Loot(), player.position, player.Size, itemId, stack, noBroadcast: false, -1);
65 ModifyItemDropFromNPC(npc, itemIndex);
66 }
67 }
68 }
69 else if (rng.Next(chanceDenominator) < chanceNumerator)
70 {
71 DropItemFromNPC(npc, itemId, stack);
72 }
73 npc.value = 0f;
74 }
static void DropItemFromNPC(NPC npc, int itemId, int stack, bool scattered=false)
Definition CommonCode.cs:9
static void ModifyItemDropFromNPC(NPC npc, int itemIndex)
Definition CommonCode.cs:76
static readonly short Count
Definition ItemID.cs:12138

References Terraria.Entity.active, Terraria.ID.ItemID.Count, Terraria.GameContent.ItemDropRules.CommonCode.DropItemFromNPC(), Terraria.NPC.GetItemSource_Loot(), Terraria.GameContent.ItemDropRules.CommonCode.ModifyItemDropFromNPC(), Terraria.Main.netMode, Terraria.Item.NewItem(), Terraria.Utilities.UnifiedRandom.Next(), Terraria.Main.player, Terraria.NPC.playerInteraction, Terraria.Entity.position, and Terraria.Entity.Size.

Referenced by Terraria.GameContent.ItemDropRules.DropPerPlayerOnThePlayer.TryDroppingItem().