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.
If you like this project, you may also want to check out its sibling project:
Some attributes are libraries that can be hooked onto by other plugin developers to implement their own behaviors. These include:
custom lunchbox effect
: Replaces lunchbox effects — Sandvich, Bonk!, etc.custom buff type
: Replaces rage effects — currently only tested on Soldier's banners
and Sniper's Heatmaker, but should work on other weapons that use the rage systemThe API for those frameworks are provided in scripting/include/
and examples are available in
scripting/{buff_overrides,lunchbox_effects}
.
These installation steps assume that you're a server operator and are familiar with how SourceMod works. I can't provide individualized support on configuration; if you're running into issues, please look at the Troubleshooting page first.
package.zip
and unpack. Do not click the green "Code"
button with the download-like icon. If you intend to modify / build from source, refer to the
Building section below.
gamedata/
, and plugins/
folders into your TF2 server's
addons/sourcemod/
folder.The plugins of any attributes that aren't in use can be safely removed from the server; the project is designed to let you choose what attributes are running (though it does make development easier at the same time).
The included CW3 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 consistent manner with Ninja,
git
, and Python 3.
git clone --recurse-submodules ...
git submodule update --recursive --remote --checkout
.python3 configure.py --spcomp-dir ${PATH}
within the repo, where ${PATH}
is the
path to the directory containing spcomp
. Builds against 1.10.ninja
. Output will be available under build/
.(If you'd like to use a similar build system for your project, the template project is available here.)
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:
MemoryBlock
handles for struct allocation.The following is only used when building from source; if you're just running the plugins, you do not need these:
Includes are bundled in the third_party/
subdirectory to ensure builds are consistent.
As stated before, I don't run a Custom Weapon server. All plugins here are provided on an as-is basis and has the potential of breaking whenever TF2 gets an update.
I can't accept ideas nor implementations for new plugins here.
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 following is a non-exhaustive list of what you're allowed / required to do (that said, this is not legal advice):
The software is provided "as is", and there is no real guarantee of support. While I will make an effort to maintain the plugins in response to game updates out of goodwill, it is at my discretion — I can't afford to do so in perpetuity.