About ItemPerks
Item Perks is a plugin that enhances everyday weapons, tools and armour with over 50 different types of perks.
Items with perks can be obtained a variety of ways, including:
- Finding them randomly in crates or barrels during your morning scrap farm.
- Randomly crafting an enhanced version of your equipment while you roof camp noobs from your base.
- Recycling enhanced equipment and finding enhancement kits stuck in the teeth of the recycler.
- Using a console or chat command that can be ran through seedy plugin traders like GUIShop.
The plugin gives a large amount of control to server owners when it comes to implementation. You can:
- Enable/disable perks, or modify the minimum and maximum values that they roll when applied to gear.
- Blacklist or whitelist items to each perk, so they will be exclusively excluded or included (based on the list you choose).
- Adjust the weight of each perk, so it is more or less likely to be seen on gear., or adjust the chances amount of perks that items can potentially have.
- Fully adjust or disable the chance for item drops to be found, or enable the enhancement kit system so players can recycle gear.
- So much more (watch the configuration section of the video below to see the full extent).
There are over 50 perks included with the plugin. The following list will describe briefly what each perk does.
Name: Prospector Description: This perk increases your mining yield when mining stone, metal and sulfur nodes. Name: Lumberjack Description: This perk increases your woodcutting yield when chopping living or dead trees. Name: Butcher Description: This perk increases the resources gained from skinning humans and animals. Name: Horticulture Description: This perk increases the amount of resources gained when harvesting grown plants. Name: Forager Description: This perk increases the amount of resources gained when picking up map generated collectibles. Name: Angler Description: This perk increases the amount of fish you receive upon a successful catch. Name: BeastBane Description: This perk increases the damage dealt to animals. Name: ScientistBane Description: This perk increases the damage dealt to scientists. Name: FlakJacket Description: This perk reduces the damage received from explosions. Name: Elemental Description: This perk reduces damage from received from cold and heat sources. Name: Scavenger Description: This perk provides you with a chance to find additional scrap from crates and barrels. Name: Manufacture Description: This perk increases the speed of your crafting. Name: Durable Description: This peark reduces the durability damage of all equipped items. Name: BeastWard Description: This perk reduces the damage received from animals. Name: ScientistWard Description: This perk reduces the damage received from scientists. Name: Builder Description: This perk provides you with a chance for your building upgrades to be free. Name: Thrifty Description: This perk provides you with a chance for your crafting components to be refunded upon a successful craft. Name: Fabricate Description: This perk provides you with a chance to duplicate an item upon a successful craft. Name: Pharmaceutical Description: This perk increases the amount of healing received from all sources. Name: MeleeWard Description: This perk reduces the damage received from melee weapons. Name: Academic Description: This perk provides you with a chance to receive a scrap refund when researching an item at the research bench. Name: FallDamage Description: This perk reduces the impact damage received from falling. Name: Lead Description: This perk reduces the damage from radiation. Name: Smasher Description: This perk will provide you with a chance to instantly destroy barrels with any amount of damage. Name: Environmentalist Description: This perk will increase the speed of recyclers that you activate. Name: Smelter Description: This perk will increase the smelting speed of furnaces you activate. Name: Paramedic Description: This perk provides players that you revive with additional health. Name: Prepper Description: This perk provides you with a chance to not consume food when eating. Name: Regeneration Description: This perk will passively regenerate you. Name: SharkWard Description: This perk will reduce the amount of damage received from sharks. Name: SharkBane Description: This perk will increase the amount of damage dealt to sharks. Name: Deforest Description: This perk provides you with a chance to cut down nearby trees when successfully cutting a tree down. Name: BlastMine Description: This perk provides you with a chance to mine out nearby nodes when successfully mining out a node. Name: Tanner Description: This perk provides you with a chance to skin nearby corpses when successfully skinning out a corpse. Name: Vampiric Description: This perk will heal you for a percentage of the damage dealt to certain enemies. Name: Reinforced Description: This perk will reduce the the amount of damage that your vehicles receive when mounted. Name: ComponentLuck Description: This perk will provide you with a chance to receive additional components when looting barrels and crates. Name: ElectronicsLuck Description: This perk will provide you with a chance to receive additional electronics when looting barrels and crates. Name: UncannyDodge Description: This perk provides you with a chance to dodge incoming damage, reducing it to 0. Name: LineStrength Description: This perk increases the tensile strength of your fishing line. Name: HealShare Description: This perk will share healing effects with nearby players. Name: Attractive Description: This perk will provide you with a chance to automatically pick up components when destroying barrels. Name: WoodcuttingLuck Description: This perk provides you with a chance to find a random item when you cut down a tree. Name: MiningLuck Description: This perk provides you with a chance to find a random item when you mine out a node. Name: SkinningLuck Description: This perk provides you with a chance to find a random item when you skin out a corpse. Name: FishingLuck Description: This perk provides you with a chance to find a random item when you catch a fish. Name: Sated Description: This perk will increase the amount of calories and hydration you receive from food and water sources. Name: IronStomach Description: This perk provides you with a chance to negate negative effects when consuming food. Name: TreePlanter Description: This perk will provide a chance for a tree to instantly regrow when cut down. Name: RockCycler Description: This perk will provide a chance for a node to instantly respawn when mined out. Name: BradleyDamage Description: This perk perk increases the damage dealt to Bradley Tanks. Name: HeliDamage Description: This perk perk increases the damage dealt to Patrol Helicopters.
Command: ipgive
Type: console/chat
Parameters: <target ID/Name> <optional: shortname> <optional: perks>
Description: Gives the target player an enhanced item. If shortname is specified, it will base the enhancement off of that item. If perks are specified, it will add only those perks to the item.
Command: ipgivekit
Type: console/chat
Parameters: <target ID/Name> <perk>
Description: Gives an enhancement kit to the target.
itemperks.use - Required to receive any benefit from enhanced items.
itemperks.loot - Required to loot enhanced items from crates and barrels.
itemperks.craft - Required for a chance to received enhanced versions of crafted gear.
itemperks.admin - Required to use admin commands.
itemperks.enhance - Required to add enhancement kits to items via the workbench.
itemperks.recycle - Required to receive enhancement kits from recycling enhanced items.
IPAPI_CreateItem - creates and returns an enhanced item using the details fed into the method. If shortname is left blank, it will pick a random valid item. If api_perks is null it will pick random perk(s) and add them.
Returns Item
[HookMethod("IPAPI_CreateItem")] public object IPAPI_CreateItem(string shortname = null, ulong skin = 0, Dictionary<string, float> api_perks = null) { List<KeyValuePair<Perk, float>> perks = Pool.GetList<KeyValuePair<Perk, float>>(); foreach (var perk in api_perks) { Perk _perk; if (parsedEnums.TryGetValue(perk.Key, out _perk)) perks.Add(new KeyValuePair<Perk, float>(_perk, perk.Value)); } var result = CreateItem(shortname, skin, perks); Pool.FreeList(ref perks); // Returns an Item class return result; }
Example usage:
[ChatCommand("testipapi")] void TestIPAPI(BasePlayer player) { Dictionary<string, float> perks = new Dictionary<string, float>() { ["Prospector"] = 1f, ["Lumberjack"] = 1f, ["Butcher"] = 1f, ["Horticulture"] = 0.5f }; var item = (Item)ItemPerks.Call("IPAPI_CreateItem", "hammer.salvaged", (ulong)2830083288, perks); if (item == null) { Puts("Failed"); return; } item.name = "tool of the trade"; player.GiveItem(item); }