sourcemod-plugins/scripting/include/feedthetrolls/combos.inc
2023-04-29 10:25:49 -05:00

90 lines
No EOL
2.7 KiB
SourcePawn

ArrayList combos;
enum struct SpecifiedTroll {
int id;
trollModifier mod;
int flags;
}
enum struct TrollCombo {
char name[32];
ArrayList trolls;
void AddTroll(const char[] name, int flags = 0, trollModifier mod = TrollMod_Invalid) {
int id = GetTrollID(name);
if(mod == TrollMod_Invalid) mod = Trolls[id].GetDefaultMod();
SpecifiedTroll troll;
troll.id = id;
troll.mod = mod;
troll.flags = flags;
this.trolls.PushArray(troll, sizeof(troll));
}
void Activate(int client, int target) {
for(int i = 0; i < this.trolls.Length; i++) {
SpecifiedTroll troll;
this.trolls.GetArray(i, troll, sizeof(troll));
Trolls[troll.id].Activate(target, client, troll.mod, troll.flags);
}
}
}
void SetupCombo(TrollCombo 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(TrollCombo));
TrollCombo 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", TrollMod_Constant, 17);
combo.AddTroll("Slow Speed", TrollMod_Constant, 2);
combo.AddTroll("Instant Commons", TrollMod_Instant, 1);
// 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");
combo.AddTroll("Tank Magnet");
#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 / Meow / Woof", .flags=1);
SetupCombo(combo, "Weakness Compels You");
combo.AddTroll("No Shove");
combo.AddTroll("Dull Melee", .flags=2);
combo.AddTroll("Temp Health Quick Drain");
PrintToServer("[FTT] Loaded %d troll combos", combos.Length);
}