mirror of
https://github.com/Jackzmc/sourcemod-plugins.git
synced 2025-05-06 19:53:21 +00:00
101 lines
No EOL
3.2 KiB
SourcePawn
101 lines
No EOL
3.2 KiB
SourcePawn
|
|
ArrayList combos;
|
|
|
|
enum struct SpecifiedTroll {
|
|
int id;
|
|
trollModifier mod;
|
|
int flags;
|
|
}
|
|
enum struct TrollComboData {
|
|
char name[32];
|
|
ArrayList trolls;
|
|
|
|
bool AddTroll(const char[] name, int flags = 0, trollModifier mod = TrollMod_Invalid) {
|
|
Troll instance;
|
|
if(!Troll.TryFromName(name, instance)) {
|
|
PrintToServer("[FTT] Combo \"%s\": unknown troll named \"%s\"", this.name, name);
|
|
return false;
|
|
}
|
|
if(mod == TrollMod_Invalid) mod = instance.GetDefaultMod();
|
|
SpecifiedTroll troll;
|
|
troll.id = instance.Id;
|
|
troll.mod = mod;
|
|
troll.flags = flags;
|
|
this.trolls.PushArray(troll, sizeof(troll));
|
|
return true;
|
|
}
|
|
|
|
void Activate(int client, int target) {
|
|
PrintToServer("Applying %d trolls for combo %s for %N", this.trolls.Length, this.name, target);
|
|
SpecifiedTroll troll;
|
|
for(int i = 0; i < this.trolls.Length; i++) {
|
|
this.trolls.GetArray(i, troll, sizeof(troll));
|
|
Troll(troll.id).Activate(client, target, troll.mod, troll.flags);
|
|
}
|
|
}
|
|
}
|
|
|
|
void SetupCombo(TrollComboData combo, const char[] name) {
|
|
strcopy(combo.name, sizeof(combo.name), name);
|
|
combo.trolls = new ArrayList(sizeof(SpecifiedTroll));
|
|
combos.PushArray(combo, sizeof(combo));
|
|
}
|
|
|
|
void SetupsTrollCombos() {
|
|
combos = new ArrayList(sizeof(TrollComboData));
|
|
|
|
TrollComboData combo;
|
|
SetupCombo(combo, "Magnet Galore");
|
|
combo.AddTroll("Special Magnet");
|
|
combo.AddTroll("Tank Magnet");
|
|
#if defined _behavior_included
|
|
combo.AddTroll("Witch Magnet");
|
|
#endif
|
|
|
|
SetupCombo(combo, "Rush Stopper");
|
|
combo.AddTroll("Special Magnet");
|
|
combo.AddTroll("Tank Magnet");
|
|
#if defined _behavior_included
|
|
combo.AddTroll("Witch Magnet");
|
|
#endif
|
|
combo.AddTroll("No Button Touchie", 17, TrollMod_Constant);
|
|
combo.AddTroll("Slow Speed", 2, TrollMod_Constant);
|
|
combo.AddTroll("Instant Commons", 1, TrollMod_Instant);
|
|
// combo.AddTroll("Swarm", TrollMod_Instant);
|
|
combo.AddTroll("Vomit Player");
|
|
combo.AddTroll("Dull Melee", .flags=2);
|
|
|
|
SetupCombo(combo, "Tank Run Noob");
|
|
combo.AddTroll("Slow Speed");
|
|
combo.AddTroll("Tank Magnet");
|
|
|
|
SetupCombo(combo, "Nuclear");
|
|
combo.AddTroll("Slow Speed");
|
|
combo.AddTroll("Special Magnet", .flags=1);
|
|
combo.AddTroll("Tank Magnet", .flags=1);
|
|
#if defined _behavior_included
|
|
combo.AddTroll("Witch Magnet");
|
|
#endif
|
|
combo.AddTroll("Reverse FF", .flags=2);
|
|
combo.AddTroll("Vomit Player");
|
|
|
|
SetupCombo(combo, "No more survival");
|
|
combo.AddTroll("No Pickup", .flags = 8)
|
|
combo.AddTroll("Throw It All", .flags = 1)
|
|
|
|
SetupCombo(combo, "Shut up");
|
|
combo.AddTroll("Vocalize Gag");
|
|
combo.AddTroll("Honk & Animal Sounds", .flags=1);
|
|
|
|
SetupCombo(combo, "Weakness Compels You");
|
|
combo.AddTroll("No Shove");
|
|
combo.AddTroll("Dull Melee", .flags=2);
|
|
combo.AddTroll("Temp Health Quick Drain");
|
|
|
|
SetupCombo(combo, "Blindness");
|
|
combo.AddTroll("Vomit Player", 0, TrollMod_Constant);
|
|
combo.AddTroll("Shakey Camera", .flags=16);
|
|
combo.AddTroll("Randomize Angles", .flags=16);
|
|
|
|
PrintToServer("[FTT] Loaded %d troll combos", combos.Length);
|
|
} |