AlaEddine Yahia's Wishlist
-
Water Event
A new event includes a lot of game mechanics
Description
The event starts with a warning in the chat: a submarine will soon be passed near the island.
A submarine will appear on the water when the time is up.
There are 4 floors in the submarine. 2 floors are over the water and 2 floors are under the water.
It is possible to get into the submarine on absolutely any transport. There are 4 outside entrances, 4 underwater entrances, and 2 submarine entrances (added in the Underwater Update).
There are about 50 NPCs outside the boat and two upper floors.
There are about 120 crates of items, rooms with blue and red doors, locked crates, recyclers, workbenches in the submarine (it is possible to set up in the configuration).
There are also 4 cameras on the submarine that you can connect to (Submarine1, Submarine2, Submarine3, Submarine4).
The number and location of all NPCs and crates can be changed in the plugin configuration. It is also possible to change the dropdown items in them.
It is necessary to blow up the doors on the submarine with explosives to get to the crates (it is possible to set up the amount of damage to the doors in the configuration).
When an event appears, a marker will display on the map (configurable in the configuration file).
It is possible to set up in the configuration the PVP zone for those who use the TruePVE plugin.
A timer with a countdown to the Event end and the number of crates and NPCs will display for all players in the Event zone.
The conditions for the completing event are the end of the timer or the end of the loot crates.
The submarine will disappear at the end of the event.
It is possible to set up an automatic event appear on the map. All timers can be set up in the configuration.
It is possible to lower the FPS on the server due to the large number of entities during the submarine appearance or the end of the event!
Dependencies Required
NpcSpawn
Dependencies (optional, not required)
True PVE PveMode GUI Announcements Notify Discord Messages AlphaLoot CustomLoot NTeleportation Economics Server Rewards IQEconomic Kits
Chat commands (only for administrators)
/waterstart - start the event
/waterstop - end the event
/waterpos - determining the position and rotation coordinates for changing the location of NPCs and crates.It should write in the configuration (Attention! The event must be started, the current position of the administrator in relation to the submarine is read)
Console commands (RCON only)
waterstart - start the event
waterstop - end the event
Plugin Config
en - example of plugin configuration in English ru - example of plugin configuration in Russian
Hooks
void OnWaterEventStart(HashSet<BaseEntity> entities, Vector3 position, float radius) – called when the event starts
void OnWaterEventEnd() – called when the event ends
void OnWaterEventWinner(ulong winnerId) – called at the end of the event, where the winnerId is the player who did more actions to complete the event
My Discord: KpucTaJl#8923
Join the Mad Mappers Discord here!
Check out more of my work here!
The submarine is designed by Jtedal
-
Grid Power
Grid Power rust plugin allows players to harness electricity directly from the Power Grid on any map by climbing Power line Poles to upgrade Transformers with components and protect their grid section, while also enhancing vanilla visuals with realistic, adjustable slack on hanging wires and lights.
Questions? Support? Join the discord: https://discord.nikhub.dev
In short
Draw electricity straight from the Power Grid in Rust - on any map, be it a procedurally generated or a custom one! Ladder up the Power line Poles to upgrade their Transformers with components like Root Combiners (to replace missing/stolen/destroyed outlets that you plug into) and Tech Trash (to permanently upgrade power output level, up to a configurable point). Maintain the service with long-lasting Fuses. But most importantly, protect your precious part of the grid from vandalism, theft and sabotage that will inevitably come from those jealous players! Whatever you do, just be careful up there... high voltage happens to be highly dangerous. Always wear protective gear (like a hazmat suit) and don't touch the wires while they're live! As a bonus, this plugin also improves vanilla visuals with realistically hanging wires / hoses / Xmas lights, the slack of which (how loose they appear to be hanging) can be adjusted while placing. And this feature is completely optional, too. Goodbye, straight lines that look like steel rods - hello, actual laws of physics!
But don't take my word for it - let the video speak for itself:
Still not convinced? Check out this in-depth, 20+ minutes long review and tutorial by srtbull!
1.0.2 UPDATE: Introducing working Street Lights for eligible poles! The lights go on between between 20:00 and 8:00 by default.
Quick start (for admins)
Upload the GridPower.cs file to your oxide/plugins folder and you should be good to go, it's all plug-and-play. No need to restart your server! If you're loading it for the first time or it's a new map wipe, the plugin will automatically locate all Power Line Prefabs on your map, randomly choose some of them (according to chances set in the default config) and attach extra electrical entities to them to make them functional. Those entities should persist throughout the wipe and will be replaced if missing, on every plugin reload/server restart. Each Power line Pole will be assigned a number and its position will be stored in the data. This will work on any map that contains at least one of the following prefabs:
assets/bundled/prefabs/autospawn/decor/powerline-small/powerline_pole_a.prefab assets/content/props/powerline_poles/powerline_pole_a.prefab
Quick start (for players)
Locating functional Transformers
Not all Power Line Poles were made equally. Only a percentage of them (by default, 33% on average) will be functional. How do you recognise a functional one? Look up - if you see a Button attached to the top of the Pole, and maybe even some pre-existing Root Combiner Outlets, that's it! [insert image here, maybe a player looking at a powerline pole with binoculars]
Laddering Up
Now that you have located a functional pole, you need to climb it. Normally you cannot deploy Ladders on Power Line Poles and many other places (but oddly enough, you CAN deploy them on the horizontal planks at the top of a Pole!). However, Grid Power re-implements all the client-sided deployment logic to allow bypassing of that arbitrary-seeming limitation. If you try to deploy a Ladder on a Power Line Pole, don't be discouraged by the fact that the "ghost guide" is red instead of blue/amber. Click anyway and it will force it through! Ignore the message in the chat saying that the deployment failed - just like the colour of the ghost guide, it's all client-sided and as such there's nothing the plugin can do about it, visually speaking. But trust me, everything works as intended, despite what the client messages are telling you. The Ladders can then be destroyed/picked up to be reused.
Maintenance
A Transformer can have up to 4 Outlets (Root Combiners). That's where the players draw the electricity from. Those Root Combiners can be damaged/destroyed/repaired/picked up with a hammer (if you have Building Privilege) any time. If there's less than 4 Outlets, right-click on a Root Combiner Item in your inventory or drag it into the Fuse Box of the Transformer. You will hear a deployment effect and the Root Combiner will be deployed on the pole. In order to be able to draw power from that Transformer, you need to put a Fuse inside. Right-click a Fuse in your inventory or drag it directly to the Fuse Box. Don't worry - inside of the Transformers, those Fuses will last for much, MUCH longer than inside regular monument Fuse Boxes. By default, a brand new Fuse inside of a Transformer Fuse Box will last you for 12000 seconds (= 200 minutes, = 3.33 hours). This value can be increased or decreased in the config. You can see how much time a fuse has left in the Transformer GUI. By default, the Power Grid will produce electricity between 8 AM and 8 PM. The power output will follow a smooth curve, being the lowest in the morning/evening, and peaking at 2 PM. Exactly how much RWs will be produced on each Outlet is determined by the Transformer's Tech Trash level. By default, each Tech Trash inserted increases the peak power output by 5 RWs (up until a certain point - by default, that level is capped at 50, which translates to 250 RWs per Outlet at peak hours). Upgrade the level by right-clicking the Tech Trash item in your inventory or dragging it directly into the Fuse Box. Inserting Root Combiners/Tech Trash is still possible even if there's already a Fuse inside of the Fuse Box. The Fuse won't be replaced as the sole Item in the slot, since Root Combiners/Tech Trash are consumed immediately.
Hooking Up & Hanging Out
Once there's at least 1 Outlet present, you have a Fuse at hand, and the Grid is currently producing power - you're all set. Take a Wire Tool, pick your favourite wire colour with the [RELOAD] button, typically R, and connect to the outputs of the Root Combiner Outlets to your own electrical devices, usually a Battery or another Root Combiner. You will notice the text on top of your screen telling you what the current Slack of your wire tool / hose tool is. You can increase it with the [DUCK] button, typically CTRL, and decrease it with the [SPRINT] button, typically SHIFT. Larger Slack value means that the wire/hose will appear to be hanging more loosely. Smaller values will make it look tighter. Values close to zero will make it look like they look in vanilla Rust - i.e. not so good in comparison 😉 The final Slack value will be applied the moment you finalise your wire/hose connection. This hanging improvement applies to anything you do with Wire Tools/Hose Tools, not just Transformer Outlet connections! For the Advanced Xmas Lights, it's even better: you can adjust the Slack of each segment individually! After you place the Advanced Xmas Lights segment down, and you're just about to place the next segment, adjust the Slack of the segment you have just placed down with [DUCK] and [SPRINT] buttons. You will see a preview of what it will make the segment look like. Placing the next segment down confirms the Slack for the segment before it.
Danger! High Voltage!
If the Grid is currently producing Power (by default, during daytime) AND a Fuse is inserted in the Transformer, all Root Combiner Outlets are considered live on that Transformer. You can tell whether a Transformer is live or not: first, check your electric devices plugged in directly to the Grid. If they're not currently receiving any charge, they're not live. Similarly, you can look at the diodes on the Root Combiner Outlets. If they're not on, the Transformer is not live either. Lastly, it's pretty clear from the Transformer GUI. If a player tries to connect/disconnect a wire to/from a live Outlet, or they're trying to pick up the Root Combiner Outlet with a hammer, and they're not wearing one of the items on a pre-approved list (see the Advanced Config section below), there is a 1.0 (100%) chance they will get electrocuted to death. Another way to guarantee electrocution is trying to clear connections named INTERNAL. Leave those alone! Wearing protective clothing reduces that chance to 1 in 10 (10%, according to the default permission profile - see below). You can set that chance to 0.0 (0%) if you want to give your players a peace of mind. Another way to guarantee 0% electrocution chance is making sure the Transformer is not live: either wait for the Grid to stop producing Power or take out the Fuse before doing anything else.
Permissions (Oxide.Grant user YourName [permission name starting with gridpower.])
By default, the plugin generates 3 permission profiles in the config - one for admins, one for normal players with no specific permissions (default) and one for VIP. More on permission profiles and config values they can handle can be found in the section Advanced Config. Unless you have added more permission profiles, only these two below are going to be used by your config:
gridpower.admin
Holders of the admin permission will also be able to run the /gp_cfg and /gp_emergency_cleanup commands
gridpower.vip1
Holders of this permission will follow settings and limits associated with with that permission profile. The permissions below are also registered, but not used by default. To use them, just create some permission profiles with those permissions as the key.
gridpower.vip2 gridpower.vip3 gridpower.vip4 gridpower.vip5
Automatic street lights
Depending on your map design, some power line poles might have lamps on them. All those lamps will now emit light, by default between 20:00 an 8:00, which just so happens to be the time when the grid production goes back to 0. You can also set the street lights to be always on, regardless of the time of day. The time settings for the street lights are independent of your power production time settings - they can overlap, one can start before midnight and end after midnight while the other one does not, etc. Those street lights will work even on non-functional power line poles, e.g those without a button on top of them. When on, the lights will flicker from time to time. How often they will flicker and how long individual flickers are going to be depends on your config - look below.
Admin F1 console/chat commands (must have ownerid/moderatorid/gridpower.admin permission)
If you're typing those commands from the F1 console or the server console, drop the preceding slash in the command name.
/gp_cfg Will allow the admins to change non-permission profile related config values on the fly (see below) /gp_emergency_cleanup Instantly kills all the plugin-related entities: fuseboxes, admin generators, root combiners and buttons. It won't remove the power line entries in your data, however. All the killed entities will be re-generated according to your current generation settings in the config next time your server restarts or the plugin reloads. If you want to permanently get rid of them, unload the plugin, delete your oxide/data/GridPower.json, and load it back in. /gp_pole [add/remove] This command will allow admins to add or remove functional power line poles at any time. Just look directly at the pole you want to modify and type the command with an argument (either "add" or "remove", depending on what you want to achieve). If you want to add a pole and it already is functional, or if you want to remove a pole, but it isn't functional - you will get a warning. Same if you try to add a pole, but the pole you're looking at is building blocked by a nearby monument. "Ent killing" (or using a plugin like Remover) the power line fusebox is the equivalent of permanently removing it from the data and it won't be re-generated any more on next reload. Wiping your save file also automatically removes all the extra components and replaces them with new ones tailored to your map, in accordance to your generation settings.
Configuration (oxide/config/GridPower.json and /gp_cfg console/chat command)
Vast majority of the settings can be configured with the /gp_cfg chat command. Typing it in the chat/console with no parameters should dump a rundown of config fields and their values. In order to run any of the config commands, you will need to have ownerid or moderatorid (or the gridpower.admin permission).
/gp_cfg GridConstantPower [logical values (true or false)] If set to true, the Grid will always produce electricity at its peak (100%), 24 hours a day (DEFAULT: false) /gp_cfg GridProductionStartAtHour [fractions (like 13.37) between 0.00 and 24.00] The hour of the day when the power production starts climbing up from 0 (DEFAULT: 8.0) /gp_cfg GridProductionEndAtHour [fractions (like 0.69, nice) between 0.00 and 24.00] The hour of the day when the power production settles back at 0 (DEFAULT: 20.0) /gp_cfg StreetlightsConstantPower [logical values (true or false)] If set to true, the Streetlights will be on 24 hours a day. (DEFAULT: FALSE) /gp_cfg StreetlightsTurnOnAtHour [fractions (like 20.4) between 0.00 and 24.00] The hour of the day when the street lights turn on (DEFAULT: 20.0) /gp_cfg StreetlightsTurnOffAtHour [fractions (like 8.2) between 0.00 and 24.00] The hour of the day when the street lights turn off (DEFAULT: 8.0) /gp_cfg StreetlightsReliability [fractions (like 0.5) between 0.00 and 1.00] The reliability of the streetlight. The less it is, the more often it will flicker. At 1, which represents 100%, it never flickers. (DEFAULT: 0.95) /gp_cfg StreetlightsFlickerLengthMin [fractions (like 1.2) between 0.00 and Positive Infinity] The minimum random length of the flicker, in seconds (DEFAULT: 0.1) /gp_cfg StreetlightsFlickerLengthMax [fractions (like 2.4) between 0.00 and Positive Infinity] The maximum random length of the flicker, in seconds (DEFAULT: 0.5) /gp_cfg GeneratorChancePowerlineFunctional [fractions (like 0.5) between 0.00 and 1.00] The chance that a valid Power Line Pole will be made functional during generation. (DEFAULT: 0.33) /gp_cfg FuseRequired [logical values (true or false)] If set to false, the Transformers won't need Fuses to produce power, just the right time of the day (if power is not 24/7) (DEFAULT: TRUE) /gp_cfg BuildingBlockPreventsButtonPress [logical values (true or false)] If set to true, if there's any Tool Cupboards in the range of the Transformer, you need to be authorised on all of them to open the Transformer GUI (DEFAULT: TRUE) /gp_cfg GeneratorInitialLevelMin [integers (like 7) between 0 and 1000] The lower limit for the random Tech Trash level of valid Power Line Poles during generation (DEFAULT: 1) /gp_cfg GeneratorInitialLevelMax [integers (like 7) between 0 and 1000] The upper limit for the random Tech Trash level of valid Power Line Poles during generation (DEFAULT: 5) /gp_cfg GeneratorInitialOutletsMin [integers (like 1) between 0 and 4] The lower limit for the random number of Outlets of valid Power Line Poles during generation (DEFAULT: 0) /gp_cfg GeneratorInitialOutletsMax [integers (like 3) between 0 and 4] The upper limit for the random number of Outlets of valid Power Line Poles during generation (DEFAULT: 4) /gp_cfg PowerlinePowerPerTechTrash [integers (like 7) between 0 and 1000] How much RWs at peak hours are provided per 1 Tech Trash Level upgrade (DEFAULT: 5) /gp_cfg PowerlineMaxTechTrashLevel [integers (like 7) between 0 and 1000] The maximum level that a Transformer can be upgraded to (DEFAULT: 50) /gp_cfg PowerlineFuseDurationSeconds [fractions (like 420.69, nice) between 0.0 and Infinity] How long (in seconds) a brand new Fuse inserted in the Transformer Fusebox will last (DEFAULT: 12000.0) /gp_cfg FuseItemShortname [strings (like "fuse")] The shortname of the item that acts as the Fuse for Transformer Fuseboxes, must be a valid Rust item shortname /gp_cfg FuseItemGuiName [strings (like "Transformer Fuse")] The custom GUI display name of the item that acts as the Fuse for Transformer Fuseboxes, can be anything, or left blank for default /gp_cfg FuseItemSkinID [positive long integers (like 2783151202)] The skin ID of the Fuse item if using custom, leave at 0 to accept any items of the shortname specified by FuseItemShortname
Protective clothing (only editable through oxide/config/GridPower.json)
"ProtectiveClothing": { "hazmatsuit": null, "scientistsuit_heavy": null, "hazmatsuit_scientist": null, "hazmatsuit_scientist_peacekeeper": null, "hazmatsuit.spacesuit": null, "boots.frog": null, "hazmatsuit.nomadsuit": null, "pants": [ 1581896222 ], "hoodie": [ 1581890527, 1582492745 ] }, Each entry has a key (the item shortname in quotes) and a value. If the value is null, it means all possible skins for that item shortname are accepted. In the example above, we're allowing all rubbery one-pieces (value is null, so any skin) and we're also allowing pants with 1 possible skin or a hoodie with 2 possible skins to be treated as protective clothing. You will see that there's no comma after the last entry on the list. BEFORE SAVING, ALWAYS VALIDATE YOUR JSON WITH A TOOL LIKE JSON LINT!
Permission profiles
Using profiles you can quickly create/edit different permissions for different players, for example, if you have more than 1 VIP tier on your server - just add some new profiles. Different players can have different limits and permissions associated with using the Power Grid. To check which permission profile the player should fall under, the plugin goes through all permission profiles and checks whether the player has that permission granted. The permissions are checked in order, meaning that if the player doesn't have the first permission, it will try the next permission on the list, etc (similar to how Auto Kits checks which kit to give to a player based on their permissions in order). If the player doesn't have any permissions from the list granted, they will fall back to the "default" profile. That's the only one that you shouldn't remove! If you remove it, a new one with default values will be created. So if you don't want your default, non-VIP players to use the power grid, don't remove the default profile, just take away privileges in that profile (like upgrading/deploying ladders/pressing the button). You don't have to use the built-in VIP permissions - any REGISTERED permission from any plugin will do just fine! By default, three permission profiles are generate in the config: default, gridpower.admin and gridpower.vip1. The default permission profile will apply to any player who doesn't have any permissions listed in the profile list - let's have a look at it:
"PermissionProfiles": { "default": { "PermissionRequired": "default", "GridCanDeployLadder": true, "GridCanDeployRootCombiners": true, "GridCanConnectDisconnect": true, "GridCanPressButton": true, "GridCanUpgrade": true, "GridDangerousWireElectricutionChance": 0.1, "HangingXmasLights": false, "HangingWiresAndHoses": false, "SubdivisionsPreview": 10, "SubdivisionsFinal": 50, "SlackMax": 5.0 },
PermissionRequired should contain an already existing permission registered by any plugin in the form of pluginname.permissionname GridCanDeployLadder allows players to deploy ladders on Power Line Poles GridCanDeployRootCombiners allows players to deploy Root Combiners on Power Line Pole transformers by inserting them into the Fuse Box GridCanConnectDisconnect allows players to use a Wire Tool to connect their own electrical devices to the Grid GridCanPressButton allows players to access the Transformer GUI GridCanUpgrade allows the players to upgrade the Transformer peak output by inserting Tech Trash into the Fuse Box GridDangerousWireElectricutionChance defines how likely it is that a player will die from electrical accidents, even while wearing protective clothing HangingXmasLights allows the players more control over how much the Advanced Xmas Lights will be hanging (purely visual) HangingWiresAndHoses allows the players more control over how much the Wires/Hoses will be hanging (purely visual) SubdivisionsPreview is the number of intermediary points used while showing the hanging Xmas Lights preview catenary curve of the last placed segment. The more points, the smoother it looks. (purely visual) SubdivisionsFinal is it the number of intermediary points used for the final catenary curve of the hanging wires/hoses/xmas lights. The more points, the smoother it looks (purely visual) SlackMax sets the maximum "looseness" of the wire/hose/xmas lights that the player is allowed. The more the slack, the longer the wire appears overall.
API hooks (for plugin developers)
All methods utilise the [HookMethod] attribute, which means you don't call them through Interface.Call, you need to first create this field in your plugin's main class...
[PluginReference] private Plugin GridPower; Then, call the hooks like so. It's pretty self-explanatory what information they will provide you with.
bool isPowerConstant = (bool) GridPower.Call("GridPowerIsConstant"); bool isGridProducing = (bool) GridPower.Call("GridIsProducing"); float productionHourStart = (float) GridPower.Call("GridGetProductionHourStart"); float productionHourEnd = (float) GridPower.Call("GridGetProductionHourEnd"); float currentGridEfficiency = (float) GridPower.Call("GridGetEfficiency"); bool areStreetlightsAlwaysOn = (bool) GridPower.Call("StreetlightsPowerIsConstant"); bool areStreetlightsOn = (bool) GridPower.Call("StreetlightsAreOn"); float streetlightsHourStart = (float) GridPower.Call("StreetlightsGetTurnOnHour"); float streetlightsHourEnd = (float) GridPower.Call("StreetlightsGetTurnOffHour");
Translation support (oxide/lang/en/GridPower.json)
Almost every string the players see, including the text displaying in the chat and the GUI, can be edited. Just load the plugin and let it generate the file - after you edit it, reload the plugin.
-
Enchanting
By imthenewguy in Plugins
Enchanting adds the ability for different types of weapons to be enchanted with over 29 specialized, unique abilities from freezing your target in place, to increasing the speed of your horse. Each enchantment is configurable and can be added to any weapon type, or even multiple times under the same weapon type with different durations/effect modifiers.
Enchanting an item requires a cost of runes, which are found from different sources. See the "Runes" section below for more information on how players obtain runes.
The plugin comes with a number of pre-made enchanted weapons, but you can add, remove or edit your own via the config file, allowing you to tailor this plugin for your on worlds.
Runes are required to enchant a weapon. The enchantment costs can be seen under each weapon, and must be in the players inventory when they attempt to enchant their weapon.
Runes drop from multiple sources, but each rune type has a uniquely flavoured drop source by default:
Ice Runes: Obtained while mining, woodcutting or picking floora (hemp, mushrooms, pumpkins etc) in the acrtic biome. Life Runes: Obtained from collecting floora in any biome. Death Runes: Obtained while harvesting the flesh of NPCs and animals. Fire Runes: Obtained while mining, woodcutting or picking floora in the arid biome (desert). Dark Runes: Obtained while mining, woodcutting or picking plants during the night (after 6pm, before 6am). Light Runes: Obtained while mining, woodcutting or picking plants during the day (between 6am and 6pm). Water Runes: Obtained while gutting fish or harvesting flesh from sharks. Runes can be adjusted, renamed and changed in the config file, and additional rune types can also be added, all of which can be assigned to any of the 15 drop sources.
There are 29 enchantments available as of version 1.0.0. These enchantements can be placed onto most held items, and can be activated as long as the player is not on cooldown.
The cooldown works as a global cooldown, meaning that if a player uses any enchantment, they cannot use another enchantment until their cooldown finishes.
Each weapon can have a unique cooldown period, allowing for more powerful enchantments to cause a longer cooldown, while having a shorter cooldown for less powerful ones.
To enchant an item, simply place it into a repairbench, which will trigger the "Enchanting" button to appear. Clicking this button will display all available enchantments for that particular item. Click the desired enchantment, click enchant and you are done!
All abilities require activation by pressing MOUSE3 (default) while the weapoin is active. Stowing or swapping the weapon so something else cancels the ability.
Command: inspect
Action: Shows the enchantment info for the active weapon.
Permission: none
Command: giverunes
Parameters: <Optional: quantity>
Action: Gives the user x amount of each rune.
Permission: enchanting.admin
Command: giverandomweapon
Action: Gives the user a random enchanted weapon.
Permission: enchanting.admin
Command (CONSOLE): generaterandomweapon
Parameters: <target name/ID>
Action: Gives the user a random enchanted weapon.
Permission: enchanting.admin
enchanting.admin - required for admin commands. enchanting.free - enchanting requires no runes. enchanting.create - required to see the enchanting menu appear in the repairbench menu. enchanting.nocooldown - no cooldown is applicable after activating an ability.
[1] Freeze: Freezes the target in place when hit for x seconds. [2] Slow: Prevents the target from running when hit for x seconds. [3] Inferno: Sets the target on fire when hit for x seconds. [4] Bleeding: Applies x bleeding stacks when hit for the duration. [5] Radiation: Applies x radiation stacks when hit for the duration. [6] Poison: Poisons the target, dealing x damage every y seconds for z cycles. They also vomit. [7] Indestructable: Prevents condition loss on the weapon for the duration. [8] Lifesteal: Returns x% of the damage dealt to a target, back to the attacker. [9] PVPDamage: Increases the damage versus players by x% for the duration. [10] PVEDamage: Increases the damage versus animals and scientists by x% for the duration. [11] Blind: Blinds the player for x seconds when hit. [12] Splinter: Damages all players within x meters of the target for y% of the damage dealt to the target. [13] Explosive: Spawns and detinates an explosive at the landing point of a projectile weapon for the duration. [14] Healing: Prevents the damage that would be done to the target by the attacker, instead healing them for x% of the damage that would have been done. [15] Sleep: Forces the target into the sleep state for x seconds when hit. [16] Fumble: The target's active item is moved into their inventory when hit. It is dropped to the ground instead of there is no room in the inventory. [17] Curse: When the target is hit, their screen quickly flashes purple and black and they take 0.6 damage every 0.2 seconds for the duration. [18] GatherYield: Gather yield is increased by x% for the duration when using this enchanted tool to harvest. [19] AnimalSpawn: Spawns an animal at the hit market (default wolf) for the duration. [20] ReduceDamage: While active, this ability will reduce incoming damage by x% for the duration. [21] HealSelf: Instantly heals the player for x health. [22] HealOthers: Instantly heals other players for x health that are within y meters. [23] BradleyCloak: Makes the player invisible to bradley tank for the duration. [24] FeatherFall: Prevents fall damage while active. [25] RadiationResist: Removes all radiation stacks once per second for the duration. [26] Spectre: Makes the player invisible to turrets and base defences for the duration. [27] HorseCrop: Increases the horses stats by x for the duration. Will affect any horse that the player climbs onto while active. Horses the player dismounts from will no longer be affected. [28] ScientistCloak: Makes the player invisible to scientists for the duration. [29] ElementalDamageResist: Makes the player immune to fire and cold damage for the duration. [30] DamageIncrease: Increases the damage of the weapon to everything by x% for the duration.
void GenerateRandomWeapon(BasePlayer player) //gives the player a random weapon.
-
Item Perks
By imthenewguy in Plugins
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); }
- #items
- #enhancement
-
(and 6 more)
Tagged with:
-
Boss Monster
This plugin adds to the game a variety of NPC bosses with different abilities and a very adaptable configuration
Description
Using this plugin you can add NPC bosses to any point on the map. You can set up any ability with the plugin configuration. If it is necessary, you can add multiple abilities to one boss.
Abilities are divided into two categories, ones take place in a certain radius from the NPC, and others are triggered by damaging from an NPC.
The map also displays the location of the actual bosses (their name and amount of health).
You can give any clothes and weapons for NPCs using the configuration.
Custom Map
Maps that have a configuration for the appearance of boss on their custom monuments
You can also download all these files for all maps here
Dark Ages Blue Tears All files for custom maps are stored in the folder oxide/data/BossMonster/CustomMap. You don't have to delete files from there, the plugin will understand by itself which map is currently installed on the server and will download only the necessary file if there is one in this folder. The plugin will tell you about this process in the console during the plugin loading. It will write in the console what file works on the current map, and what ones don’t work
If you want to create a custom place for the boss to appear on your custom map or on a map that is not in this list, you have to create the ID of this custom map. After that you need to place an item such as a RAND Switch on your map. It must be placed randomly, where it will not be visible to other players. You will get the identifier, if you add up the three coordinates of the position of this object from RustEdit (x, y and z) and write the resulting value in the parameter of your file (an example file can be taken from ready-made files) - ID
As an example, let's take the coordinates (26.896, -456.158, 527.258), then our identifier is 26.896 - 456.158 + 527.258 = 97.996
Then you need to indicate a list of bosses that will appear on your map. You need to copy the configuration data block for each boss. In the database parameters you will specify the name of the boss and a list of positions where it can appear
Dependencies (optional, not required)
GUI Announcements Notify Discord Messages AlphaLoot CustomLoot Economics Server Rewards IQEconomic PveMode
Chat commands (only for administrators)
/WorldPos - displays the actual player’s position on the map
/SavePos <name> - saves a new position to the configuration file for the boss with the name - name, relative to the nearest monument
/SpawnBoss <name> - spawn of the boss with the name - name in the coordinates of the administrator
Console commands (RCON only)
SpawnBoss <name> – spawn of the boss with the name – name
KillBoss <name> – kill all bosses with the name – name
Plugin Config
en - example of plugin configuration in English ru - example of plugin configuration in Russian
Boss Config
en - example of plugin configuration in English ru - example of plugin configuration in Russian
Custom Map Config
en - example of plugin configuration in English ru - example of plugin configuration in Russian
Hooks
void OnBossSpawn(ScientistNPC boss) - сalled when a boss appears on the map
void OnBossKilled(ScientistNPC boss, BasePlayer attacker) - сalled when a player kills a boss
API
ScientistNPC SpawnBoss(string name, Vector3 pos) - spawns a boss named name in position pos
void DestroyBoss(ScientistNPC boss) - destroys the boss
My Discord: KpucTaJl#8923
Join the Mad Mappers Discord here!
Check out more of my work here!
- #abilities
- #boss
- (and 16 more)