A collection of (mostly) production-ready custom attributes written for the Custom Attribute framework.
I'll move the other ones eventually…
This repository contains attributes I've written. I don't run a Custom Weapon server, so most of the plugins are made through work-for-hire. If you'd like a custom attribute created, feel free to contact me on AlliedModders — I'm open to inquiries.
The wiki documents the available custom attributes.
Special thanks to Karma Charger for allowing the release of the stuff I've written for him; a lot of the plugins available here were created for his videos.
It's assumed that you're a server operator and are familiar with how SourceMod works. I can't provide free personalized support in that regard, unfortunately — read up on how to set up your own TF2 server.
As mentioned, this uses my own Custom Attribute framework, so you'll want to follow the instructions for applying custom attributes. The Custom Weapons plugin works well with the available adapter.
The included configuration files are provided as-is for attribute demonstration purposes and not intended to showcase completely balanced weapons.
This project can be built in a reproductive manner with Ninja,
git
, and Python 3.
- Clone the repository and its submodules:
git clone --recurse-submodules ...
- Execute
python3 configure.py --spcomp-dir ${PATH}
within the repo, where${PATH}
is the path to the directory containingspcomp
. Verified working against 1.9 and 1.10. - Run
ninja
. Output will be available underbuild/
.
This project uses a bunch of external tooling. Not all plugins use every dependency. To run the plugins from this project, you will need the compiled releases of the following:
- TF2Attributes (my fork): interoperation with game attributes
- DHooks with detour support: engine-level hooks
- Custom Status HUD: unified HUD library for drawing text elements on-screen
- TF2 Max Speed Detour: allows plugins to transform player maximum speed before application
- TF2 OnTakeDamage hooks: hooks into damage functions, specifically adding support for manipulating (mini-)crits
- Source Scramble: memory-level tweaking, for when DHooks isn't enough
- TF2 Wearable Tools: checks for wearables
- TF2 Econ Data: identifies loadout slots for weapons, among other things
The following is only used when building from source; if you're just running the plugins, you do not need these:
- stocksoup: personal library for reusable SourceMod functions
Includes are bundled in the third_party/
subdirectory to ensure builds are consistent.
This project uses the MIT license. Do note that once compiled, SourceMod plugins are still bound to GPLv3, but you're welcome to use the code as reference in other projects under the more permissive license.
The software is provided "as is", and there is no real guarantee of support.