LAB/05 — INVENTORY
PetScientist
- Price
- $19.99
- Version
- v1.0.0
- Author
- S³Founding MemberTrusted Dev
PART OF A PACK
Pet Pack — 3 plugins for $39.99, save $19.98 vs buying them one by one.
View the pack →
Changelog
v1.0.019 Sept 2026
Initial Release
What it is
A scientist that belongs to a player. It walks on the game's own navmesh, so it follows you through your base, up your stairs, into monuments and across the map. Lose it off a cliff or behind a closed door and it warps to you after 3 seconds. It never gets stuck for long.
By default it is a bodyguard, not a hunter. It only shoots things that hit you, your teammates, or the pet itself. Shoot a boar and it stands there. Let a wolf bite you and it opens fire.
11 variants, one config list
Pick which scientists your players can have. Each one is a real Facepunch scientist prefab with its own gun and outfit:
full (random loadout), lr300, mp5, pistol, shotgun, heavy, arctic, peacekeeper, nvg, roam, junkpile
Turn any variant off. Set the default. Add your own prefab paths if you want.
Three ways to get one
- Command —
/psor/ps heavy. Permission-gated. - Flare item — a skinned flare named
Pet Scientist (heavy). Throw it, the pet spawns where it lands. Sell it in your shop, give it as a reward, hand it out with/psgive. - Loot crates — off by default. Turn it on and set a chance; the flare shows up in normal, military, elite, mine, heli and Bradley crates.
Made for servers, not just for fun
- Damage scale. Default 0.1, so the pet is a distraction and a helper, not a free kill machine. Set it to 0 for a pure decoy or 1 for full damage.
- Defensive only. On by default. Turn it off and the pet attacks any valid target within
SearchRange. - Target filters. Players, NPCs, animals. Each one a switch.
- Team-safe. Never shoots the owner or teammates. Never damages them. Ignores shots from them.
- Safe zones. Never fires inside one.
- Auto-hide. The pet steps away when you mount anything (horse, car, heli, chair), noclip, or vanish. It comes back by itself when you stop. No lost pets under vehicles.
- Clean death. Pet dies: no corpse, no loot bag, no free gun on the ground. Owner dies or disconnects: pet is gone.
- Nothing persists. Pets never save to the map file. Restart the server, no orphan scientists.
- Plays nice with PetBradley and PetHeli. It knows the other two pets and never fires on them.
Commands
| Command | Permission | Description |
|---|---|---|
/ps | petscientist.spawn | Spawn the default variant, or store your live pet and get the flare back |
/ps <variant> | petscientist.spawn | Spawn that variant |
/ps variants | none | List enabled variants |
/ps store | none | Store your pet (also dismiss, pickup) |
/ps scale <0.25-2> | petscientist.admin | Set pet size, saves to config |
/ps dmg <number> | petscientist.admin | Set damage scale, saves to config |
/psgive <player> [variant] | petscientist.give | Give a player a Pet Scientist flare |
Permissions
petscientist.spawn— use/pspetscientist.flare— throw the flare itempetscientist.give— use/psgivepetscientist.admin— change scale and damage
Configuration
{
"Scale": 1.0,
"DamageScale (multiplier on every hit the pet lands)": 0.1,
"MaxHealth": 200.0,
"StoppingDist": 3.0,
"SearchRange": 40.0,
"MaxFollowDistance": 30.0,
"MaxVerticalGap": 4.0,
"StuckSeconds (how long the pet may be stuck before it warps to you)": 3.0,
"OwnerCanHurtPet": false,
"DefaultVariant": "full",
"Variants": [ { "Name": "full", "Prefab": "assets/rust.ai/agents/npcplayer/humannpc/scientist/scientistnpc_full_any.prefab", "Enabled": true }, "..." ],
"Modes": { "Command": true, "Flare": true, "LootCrates": false },
"Targets": { "Players": true, "NPCs": true, "Animals": true },
"DefensiveOnly (only attack what hits the owner, a teammate, or the pet)": true,
"AggroSeconds (how long an attacker stays a target)": 20.0,
"AutoHide": {
"WhenMounted (car, heli, horse, any seat)": true,
"WhenNoclip": true,
"WhenVanished (needs the Vanish plugin)": true
},
"PickupReturnsItem": true,
"DeployItemShortname": "flare",
"DeployItemName": "Pet Scientist",
"DeploySkin": 1357924682,
"LootChance": 0.08,
"LootCratePrefabs": [ "crate_normal", "crate_normal_2", "crate_elite", "crate_mine", "heli_crate", "bradley_crate" ]
}Every chat message is in the language file.
Developer API
Same surface as PetBradley and PetHeli, so one integration covers all three:
API_IsPet(BaseEntity),API_GetPetOwner(BaseEntity),API_HasPet(ulong),API_StorePet(ulong),API_SuspendPet(ulong, bool)- Hooks:
CanSpawnPet(BasePlayer)(return non-null to block),OnPetSpawned(BaseEntity, BasePlayer),OnPetRemoved(BaseEntity, ulong)
Requirements
- Oxide or Carbon. One file, no extensions, no Harmony.
- Optional: Vanish (for the vanished auto-hide).
Pairs with
PetBradley — a mini Bradley that rolls beside you. PetHeli — a mini attack heli that circles overhead. All three share the same commands, config shape and API.
Support
Every purchase comes with the private updates channel in our Discord and updates for the life of the plugin. Your licence key and download live on your purchases page the moment payment clears.