This one is a public fork, currently active, lots of new features and less hard-coded stuff to freely customize without digging in the code.
What kind of features does this have?
Features like built-in boss selection and toggle menu, cvars for FF2's triple bat/knife damage, boss self-knockback, etc. See the Wiki section in the GitHub
You took those lines of code from another fork.
Yes I did, most of the new features are indeed from SHADoW's fork but I don't intend to go to far in completely redoing FF2's code and staying away from the breaking first-round glitch.
Can I request some features?
Yep, I'm happy to do whatever I can to improve this fork.
Download? Installation guide?
On GitHub here. Installation is also on the README but I'll explain it here too.
1. Download "Source code" in GitHub releases along with the Resources.zip (if you want default bosses).
2. Install what is inside the FreakFortressBat-1.X.X into tf/ dictionary
3. Delete/backup FreakFortress2.cfg in tf/cfg/sourcemod/ this fork will generate new ConVars and freely adjust them.
4. Move characters.cfg, doors.cfg, and maps.cfg into tf/addons/sourcemod/data/freak_fortress_2/ as those are moved there. (If upgrading from official)
What is the list of ConVars?
Well you can also head over to the Wiki section in the GitHub to see detailed information, but I'll leave a list here too.
ConVars
ff2_version (Version) | No touchy
ff2_current (Charset) | Also no touchy
ff2_point_type (0) | 0-Use ff2_point_alive, 1-Use ff2_point_time, 2-Use both
ff2_point_delay (6) | Seconds to add to ff2_point_time per player
ff2_point_alive (0.2) | The control point will only activate when there are this many people or less left alive, can be a ratio
ff2_announce (120) | Amount of seconds to wait until FF2 info is displayed again. 0 to disable
ff2_enabled (1) | 0-Force Disable, 1-Standby, 2-Force Enable
ff2_crits (0) | Can the boss get random crits?
ff2_arena_rounds (1) | Number of rounds to make arena before switching to FF2 (helps for slow-loading players)
ff2_circuit_stun (0) | Amount of seconds the Short Circuit stuns the boss for. 0 to disable
ff2_countdown_players (1) | Amount of players until the countdown timer starts, can be a ratio
ff2_countdown (120) | Amount of seconds until the round ends in a stalemate
ff2_countdown_health (2000) | Amount of health the Boss has remaining until the countdown stops
ff2_countdown_result (0) | 0-Kill players when the countdown ends, 1-End the round in a stalemate
ff2_spec_force_boss (0) | 0-Spectators are excluded from the queue system, 1-Spectators are counted in the queue system
ff2_enable_eureka (0) | 0-Disable the Eureka Effect, 1-Enable the Eureka Effect
ff2_force_team (0) | 0-Boss is always on Blu, 1-Boss is on a random team each round, 2-Boss is always on Red
ff2_health_bar (1) | 0-Disable the health bar, 1-Show the health bar without lives, 2-Show the health bar with lives
ff2_last_player_glow (1) | How many players left before outlining everyone, can be a ratio
ff2_boss_teleporter (0) | -1 to disallow all bosses from using teleporters, 0 to use TF2 logic, 1 to allow all bosses
ff2_boss_suicide (0) | Allow the boss to suicide after the round starts?
ff2_replace_disconnected_boss (0) | If a boss disconnects before the round starts, use the next player in line instead? 0 - No, 1 - Yes
ff2_caber_detonations (1) | Amount of times somebody can detonate the Ullapool Caber (0 = Infinite)
ff2_shield_crits (0) | 0 to disable grenade launcher crits when equipping a shield, 1 for minicrits, 2 for crits
ff2_deadringer_hud (1) | Dead Ringer indicator? 0 to disable, 1 to enable
ff2_debug (0) | 0-Disable FF2 debug output, 1-Enable debugging (not recommended)
ff2_changelog_url (Link) | FF2 Changelog URL. Normally you are not supposed to change this...
ff2_goomba_damage (0.05) | How much the Goomba damage should be multipled by when goomba stomping the boss (requires Goomba Stomp)
ff2_goomba_jump (300.0) | How high players should rebound after goomba stomping the boss (requires Goomba Stomp)
ff2_boss_rtd (0) | Can the boss use rtd? 0 to disallow boss, 1 to allow boss (requires RTD)
ff2_steam_tools (1) | 0-Disable, 1-Show 'Freak Fortress 2' in game description (requires SteamTools or SteamWorks)
ff2_announce_ads (1) | 0-Disable mentioning authors/links, 1-Mention authors/links
ff2_dmg_kstreak (195) | Minimum damage to increase killstreak count
ff2_sniper_dmg (2.0) | Sniper Rifle normal multiplier
ff2_sniper_dmg_mini (2.0) | Sniper Rifle mini-crit multiplier
ff2_bow_dmg (1.25) | Huntsman critical multiplier
ff2_bow_dmg_non (0.0) | If not zero Huntsman has no crit boost, Huntsman normal non-crit multiplier
ff2_bow_dmg_mini (0.0) | If not zero Huntsman is mini-crit boosted, Huntsman normal mini-crit multiplier
ff2_strangewep (1) | 0-Disable Boss Weapon Stranges, 1-Enable Boss Weapon Stranges
ff2_qualitywep (5) | Default Boss Weapon Quality
ff2_triplewep (1) | 0-Disable Boss Extra Triple Damage, 1-Enable Boss Extra Triple Damage
ff2_hardcodewep (0) | 0-Only Use Config, 1-Use Alongside Hardcoded
ff2_selfknockback (0) | 0-Disallow boss self knockback, 1-Allow boss self knockback, 2-Allow boss taking self damage too
ff2_boss_toggle_delay (45) | Delay between joining the server and asking the player for their preference, if it is not set.
ff2_name_change (0) | 0-Disable, 1-Add the current boss to the server name, 2-Add the current charset to the server name
ff2_boss_keep (1) | -1-Players can't choose the same boss twice, 0-Nothing, 1-Players keep their current boss selection
ff2_boss_select (1) | 0-Disable, 1-Players can select bosses
ff2_boss_toggle (1) | 0-Disable, 1-Players can toggle being the boss
ff2_boss_companion (1) | 0-Disable, 1-Players can toggle being a companion
ff2_points_interval (600) | Every this damage gives a point
ff2_points_damage (0) | Damage required to earn queue points
ff2_points_queue (10) | Minimum queue points earned
ff2_points_bonus (10) | Maximum queue points earned
ff2_advanced_music (1) | 0-Use classic menu, 1-Use new menu
ff2_song_info (0) | -1-Never show song and artist in chat, 0-Only if boss has song and artist, 1-Always show song and artist in chat
ff2_companion_random (0) | 0-Next player in queue, 1-Random player is the companion
ff2_companion_min (4) | Minimum players required to enable duos
ff2_companion_restore (0) | 0-Disable, 1-Companions don't lose queue points
ff2_point_time (45) | Time before unlocking the control point
ff2_low_stab (1) | 0-Disable, 1-Low-player count stabs, market, and caber do more damage
ff2_text_game (0) | For game messages: 0-Use HUD texts, 1-Use game_text_tf entities, 2-Include boss intro and timer too
ff2_text_msg (0) | For backstabs and such: 0-Use hint texts, 1-Use annotations, 2-Use game_text_tf entities
ff2_text_names (1) | For backstabs and such: 0-Don't show player/boss names, 1-Show player/boss names
ff2_shield_type (1) | 0-None, 1-Breaks on any hit, 2-Breaks if it'll kill, 3-Breaks if shield HP is depleted or melee hit, 4-Breaks if shield or player HP is depleted
ff2_shield_health (500) | Maximum amount of health a Shield has if ff2_shield_type is 3 or 4
ff2_shield_resistance (0.75) | Maximum amount (inverted) precentage of damage resistance a Shield has if ff2_shield_type is 3 or 4
ff2_countdown_overtime (0) | 0-Disable, 1-Delay 'ff2_countdown_result' action until control point is no longer being captured
ff2_boss_log (0) | 0-Disable, #-Players required to enable logging
ff2_boss_desc (0) | 0-Disable, 1-Show boss description before selecting a boss
ff2_rps_points (0) | 0-Disable, #-Queue points awarded / removed upon RPS
ff2_rps_limit (0) | 0-Disable, #-Number of times the boss loses before being slayed
ff2_rps_divide (0) | 0-Disable, 1-Divide current boss health with ff2_rps_limit
ff2_hud_heal (0) | 0-Disable, 1-Show player's healing in damage HUD with they done healing, 2-Always show
ff2_theme (0) | 0-No Theme, #-Flags of Themes
ff2_sapper (0) | 0-Disable, 1-Can sap the boss, 2-Can sap minions, 3-Can sap both
ff2_sapper_cooldown (500) | 0-No Cooldown, #-Damage needed to be able to use again
ff2_sapper_starting (0) | #-Damage needed for first usage (Not used if ff2_sapper or ff2_sapper_cooldown is 0)
ff2_healing (0) | 0-Block Boss Healing, 1-Allow Self-Healing, 2-Allow Non-Self Healing, 3-Allow All Healing
ff2_bot_rage (1) | 0-Disable, 1-Bots can use rage when ready
ff2_tts_damage (250.0) | Minimum damage boss needs to take in order to be teleported to spawn
ff2_hud_stats (-1) | -1-Disable, 0-Only by ff2_stats_bosses override, 1-Show only to client, 2-Show to anybody
ff2_stats_players (6) | 0-Disable, #-Players required to use StatTrak
ff2_stats_chat (-1) | -1-Disable, 0-Only by ff2_stats_bosses override, 1-Show only to client if changed, 2-Show to everybody if changed, 3-Show only to client, 4-Show to everybody
ff2_hud_health (0) | 0-Disable, 1-Show boss's lives left, 2-Show boss's total health
ff2_hud_aiming (0.0) | -1-No Range Limit, 0-Disable, #-Show teammate's stats by looking at them within this range
ff2_boss_skip (0) | 0-Disable, 1-Add menu option to skip being a boss
ff2_boss_vs_boss (0) | 0-Always Boss vs Players, #-Chance of Boss vs Boss, 100-Always Boss vs Boss
ff2_boss_vs_boss_lose (0) | 0-Lose when all of a team die, 1-Lose when all of a team's bosses die, 2-Lose when all the team's mercs die
ff2_boss_vs_boss_count (1) | How many bosses per a team are assigned?
ff2_boss_vs_boss_damage (1.0) | How much to multiply non-boss damage against non-boss while each team as a boss alive
ff2_boss_vs_boss_stats (0) | Should Boss vs Boss mode count towards StatTrak?
ff2_times_ten (5.0) | Amount to multiply boss's health and ragedamage when TF2x10 is enabled
ff2_bosspack_vote (0) | 0-Random option and show all packs, #-Random amount of packs to choose
ff2_broadcast (0) | 0-Block round end sounds, 1-Play round end sounds
ff2_market_garden (1.0) | 0-Disable market gardens, #-Damage ratio of market gardens
ff2_cloak_damage (1.0) | #-Extra damage multipler or maximum damage taken for cloak watches from bosses
ff2_deadringer_damage (1.0) | #-Extra damage multipler or maximum damage taken for dead ringers from bosses
ff2_kunai_health (200) | #-Overheal gained via Conniver's Kunai
ff2_kunai_max (600) | #-Maximum overheal gained via Conniver's Kunai
ff2_disguise (1) | 0-Disable, 1-Enable disguises showing player models (requires tf2attributes)
ff2_diamondback (2) | #-Amount of revenge crits gained upon backstabbing a boss
ff2_cloak_stun (2.0) | #-Amount in seconds before allowing to cloak after a backstab
ff2_stats_database (0) | 0-Only Client Preferences, 1-SQL over Client Preferences, 2-Only SQL | Table is ff2_stattrak
ff2_charge_angle (30) | View angle requirement to activate charge abilities
ff2_attributes (2 ; 3.1 ; 275 ; 1) | Default attributes assigned to bosses without 'override' setting
ff2_uber_start (40.0) | Starting Ubercharge precentage on round start
ff2_damage_tracker (0) | Default Damage Tracker value for players
ff2_telefrag_damage (5000.0) | Damage dealt upon a Telefrag
ff2_health_formula ((((760.8+n)*(n-1))^1.0341)+2046) | Default boss health formula
ff2_rage_formula (1900.0) | Default boss ragedamage formula
ff2_difficulty_random (0.0) | 0-Players can set their difficulty, #-Chance of difficulty
ff2_enable_sandmanstun (0) | 0-Disable the Sandman stun ability, 1-Enable the Sandman stun ability
Your modification has some features I really like(!ff2companion for example), sadly the community where I play installed it and there were some gamebreaking bugs(some rages/abilities not working, rounds not starting). About rounds not starting, line https://github.com/Batfoxkid/FreakFo...ess_2.sp#L7270 should be:
PHP Code:
// Only block the commands when FF2 is actively running if(!Enabled || RoundCount<arenaRounds || CheckRoundState()==-1) { return Plugin_Continue; }
Your modification has some features I really like(!ff2companion for example), sadly the community where I play installed it and there were some gamebreaking bugs(some rages/abilities not working, rounds not starting). About rounds not starting, line https://github.com/Batfoxkid/FreakFo...ess_2.sp#L7270 should be:
PHP Code:
// Only block the commands when FF2 is actively running if(!Enabled || RoundCount<arenaRounds || CheckRoundState()==-1) { return Plugin_Continue; }
Also you're right about FF2 is not currently actively updated. What about you make some pull requests with features?
Fixed, but it is unusual that the main server I have this running on has no issues with abilities and rounds not starting and I'm not sure what features will be appropriate in official like the strange rank or other outside plugins into FF2 itself.
EDIT: And now my GitHub profile is flagged, rip me
On the original fork, the main purpose of ditching the timers was to improve stability, but at the same time, the BBG servers had a unique bug that no matter how many workarounds I did to it, I just simply couldn't fix it properly. That's one main thing that led to the infamous "first round bug".
much appreciated unoffical update,hope it works on my server(even thr it means i gotta edit it again for my custom stuff)
do you accpet donations?:thonk:
No problem, myself is not taking donations, but I am co-owner of a FF2 server and donating to that helps keep it up. (Plus it's the only place I can test updates with players myself, rip)