-
Notifications
You must be signed in to change notification settings - Fork 27
Boss Configuration
There are several variables to consider when making a custom boss for Freak Fortress 2.
The required variables are:
name
class
Class | Number |
---|---|
scout |
1 |
sniper |
2 |
soldier |
3 |
demoman |
4 |
medic |
5 |
heavy |
6 |
pyro |
7 |
spy |
8 |
engineer |
9 |
Note: From Freak Fortress 1.11.0 onward you can now just type the name of the class! No more confusing numbers.
model
-
ragedist
Note: From Freak Fortress 1.11.0 the rage distance can use a formula. description_en
The optional variables are:
-
health_formula
(def. ((760+n)*(n-1))^1.075)-
n
(orx
) means the number of players on the non-boss team -
+
means "addition" -
-
means "subtraction" -
*
means "multiply by" -
/
means "divide by" -
^
means "to the power of"
-
-
lives
(def. "1") -
maxspeed
(def. "340") -
sound_block_vo
(def. "0") - Blocks class's normal lines -
companion
(def. "") - You can have a max of 3 bosses this way -
ragedamage
(def. "1900") -
blocked
(def. "0")
The boss needs weapons or else it will be a (pretty useless) civilian.
Item indexes are listed here, and weapon attributes are listed here.
Mandatory variables:
name
index
Optional variables:
-
show
(def. "0") -
attributes
(def. "")
Note: All weapons are given the attributes +200% damage bonus and +2 capture rate.
"weapon1"
{
"name" "tf_weapon_wrench"
"index" "197"
"show" "1"
}
This will give the hale a wrench with +200% damage bonus and +2 capture points.
By default, Freak Fortress 2 allows up to a maximum of 32 abilities, so go wild and make your boss as overpowered as possible.
Abilities are activated through sub-plugins. FF2 has several core subplugins that are included in the default download.
<Slot> - <Description>
-2 - Invalid slot(internally used by FF2 for detecting missing "arg0" argument). Don't use!
-1 - When Boss loses a life (if he has over 1)
0 - Rage
1 - Used by charging brave Jump. Fired every 0.2s
2 - Demopan's charge of targe, projectiles etc.
3 - Weighdown
4 - Killed player (not used for sounds)
5 - Boss killed (not used for sounds)
6 - Boss backstabbed (not used for sounds)
7 - Boss market gardened (not used for sounds)
8..10 - Reserved.
11..2^31−1 - Available for general use
Note: Slots 8-10 inclusive not implemented. They are reserved for future use. You should not use negative slots at all. They are ugly anyway. The only useful negative slot is -1.
"ability1"
{
"name" "rage_uber"
"arg1" "10.0"
"plugin_name" "default_abilities"
}
This will give the boss invulnerability when it rages.
"ability1"
{
"name" "rage_uber"
"arg0" "-1"
"arg1" "10.0"
"plugin_name" "default_abilities"
}
This will give the boss invulnerability when it loses a life.
More information for the default abilities subplugin can be found in default_abilities.ff2.
Sounds are all optional, here are the keys for the sounds:
-
sound_begin
- The list of possible sounds played at the start of the round -
sound_kspree
- The list of possible sounds played when the boss is on a killing spree -
sound_win
- The list of possible sounds played when the boss wins the round -
sound_death
- The list of possible sounds played when the boss dies -
sound_lastman
- The list of possible sounds played when there's only one RED player left alive -
sound_hit
- The list of possible sounds played when the boss kills someone - sound_kill_
-
sound_kill_scout
- The list of possible sounds played when a Scout gets killed by the boss -
sound_kill_soldier
- The list of possible sounds played when a Soldier gets killed by the boss -
sound_kill_pyro
- The list of possible sounds played when a Pyro gets killed by the boss -
sound_kill_demoman
- The list of possible sounds played when a Demoman gets killed by the boss -
sound_kill_heavy
- The list of possible sounds played when a Heavy gets killed by the boss -
sound_kill_engineer
- The list of possible sounds played when an Engineer gets killed by the boss -
sound_kill_medic
- The list of possible sounds played when a Medic gets killed by the boss -
sound_kill_sniper
- The list of possible sounds played when a Sniper gets killed by the boss -
sound_kill_spy
- The list of possible sounds played when a Spy gets killed by the boss
-
-
sound_kill_buildable
- The list of possible sounds played when a sentry/dispenser/teleporter gets destroyed by the boss -
sound_stabbed
- The list of possible sounds played when the boss is backstabbed -
sound_ability
- The list of sounds played when abilities are being used -
catch_phrase
- The voice lines of the boss -
sound_bgm
- The background music/theme for the boss -
sound_precache
- The list of sounds that needs to be precached
"sound_ability"
{
"1" "saxton_hale\lolwut_2.wav"
"slot1" "1"
"2" "saxton_hale\vagineer_responce_rage_1.wav"
"3" "saxton_hale\vagineer_responce_rage_2.wav"
"4" "saxton_hale\vagineer_responce_jump_1.wav"
"slot4" "1"
"5" "saxton_hale\vagineer_responce_jump_2.wav"
"slot5" "1"
}
There are 3 types of downloads:
-
mod_download
- The list of model downloads, where are required model files will be downloaded (.mdl, .physx, etc...) -
mat_download
- The list of material downloads, where are required material files be downloaded (.vmt, .vtf) -
download
- The list of single file downloads (.mp3, .wav, etc...)
"mod_download"
{
"1" "models/player/saxton_hale/saxton_hale"
}
"mat_download"
{
"1" "materials/models/player/saxton_hale/eye"
"2" "materials/models/player/saxton_hale/hale_body"
}
"download"
{
"1" "materials/models/player/saxton_hale/eyeball_l.vmt"
"2" "materials/models/player/saxton_hale/hale_body_normal.vtf"
"3" "sound/saxton_hale/saxton_hale_responce_start1.wav"
}
This will force the player to download the following files:
models/player/saxton_hale/saxton_hale.dx80.vtx
models/player/saxton_hale/saxton_hale.dx90.vtx
models/player/saxton_hale/saxton_hale.mdl
models/player/saxton_hale/saxton_hale.sw.vtx
models/player/saxton_hale/saxton_hale.vvd
materials/models/player/saxton_hale/eye.vmt
materials/models/player/saxton_hale/eye.vtf
materials/models/player/saxton_hale/hale_body.vmt
materials/models/player/saxton_hale/hale_body.vtf
materials/models/player/saxton_hale/eyeball_l.vmt
materials/models/player/saxton_hale/hale_body_normal.vtf
sound/saxton_hale/saxton_hale_responce_start1.wav
"character"
{
//Required keys
"name" "Example of a Boss" //Displayed name of a boss
"class" "9" //9 is engineer.
"model" "models\player\engineer.mdl" //Model of this boss
"ragedist" "400.0" //Default distance for rage abilities
"description_en" "The best Boss ever" //Description of this Boss
"description_ru" "—амый лучший босс" //The same description, but in other languages. (en - English, ru - Russian...)
//Optional keys (with default values)
"health_formula" "((760+n)*n)^1.04" //Formula of Max (Start) Health of boss. Be careful when you use "lives" over 1!
"lives" "1" //Boss will be "respawned" (actually, he doesn't die) until he has lives. Max HPs is a SUMMARY of _ALL_ lives.
"maxspeed" "340" //Max Speed of Boss. Can not be over 520
"sound_block_vo" "0" //"1" blocks class's normal lines (Engineer's lines for Vagineer, for example)
"companion" "" //_Name_ of a companion's boss. Also he can have his own companion, then there will be THREE bosses.
"ragedamage" "1900" //Boss must take this amout of damage to fill his rage meter
"blocked" "0" //This boss can not be randomly called. Use it for companion bosses, like Seeldier for Seeman.
"weapon1" //Plz try to put MAIN weapon as 1st
{
//required
"name" "tf_weapon_wrench" //Classname of boss' weapon
"index" "197" //Index of boss' weapon. You can take both in "team fortress 2 content.gcf\tf\scripts\items\items_game.txt"
//Weapon with index<=3 or 734 is VISIBLE. Over 30 is not.
//optional
"show" "1" //forces the weapon to show, the weapon will only show up if the hale player has the weapon
"attributes" "" //Additional attributes of boss' melee weapon like "attribute1 ; value1 ; attribute2 ; value2" . For example, "40 ; 1" is hidden "no crit" attribute.
}
//Optional keys too
"weapon2"
{
"name" "tf_weapon_wrench"
"index" "197"
}
//etc
//You can put more weapons (but for different slots)
"ability1" //You may use 16 abilities
//See ff2_1st_set_abilities.ff2 and default_abilities.ff2 in the FF2-Official wiki to get more info about abilities.
{
"name" "rage_uber"
//"arg0" "0" //default value //Ability slot
"arg1" "10.0"
"plugin_name" "default_abilities"
}
"ability2"
{
"name" "charge_weightdown"
"arg0" "3"
"plugin_name" "default_abilities"
}
"ability3"
{
"name" "charge_bravejump"
"arg0" "1"
"arg1" "1.5"
"arg2" "5"
"plugin_name" "default_abilities"
}
"ability4"
{
"name" "rage_stun"
"arg1" "5.0"
"plugin_name" "default_abilities"
}
"ability5"
{
"name" "rage_preventtaunt"
"plugin_name" "default_abilities"
}
"ability6"
{
"name" "rage_stunsg"
"arg1" "8.0"
"plugin_name" "default_abilities"
}
//Optional keys
//All sound_* keys precache their lines.
"sound_begin" //"Let's get dangerous!" Line in mini-setup.
{
"1" "saxton_hale\vagineer_responce_intro.wav"
"2" "saxton_hale\lolwut_1.wav"
//You can put more, unlimited
}
"sound_kspree" //When boss does 3 kills in ten or less seconds.
{
"1" "saxton_hale\lolwut_4.wav"
"2" "saxton_hale\vagineer_responce_taunt_1.wav"
"3" "saxton_hale\vagineer_responce_taunt_2.wav"
"4" "saxton_hale\vagineer_responce_taunt_3.wav"
"5" "saxton_hale\vagineer_responce_taunt_4.wav"
"6" "saxton_hale\vagineer_responce_taunt_5.wav"
"7" "saxton_hale\lolwut_3.wav"
}
"sound_win" //When boss wins
{
"1" "saxton_hale\vagineer_responce_taunt_5.wav"
}
"sound_death" //When boss dies
{
"1" "saxton_hale\vagineer_responce_fail_2.wav"
"2" "saxton_hale\vagineer_responce_fail_1.wav"
}
"sound_hit" //When boss kill someone
{
"1" "saxton_hale\lolwut_5.wav"
}
"sound_ability" //When boss uses ability
{
"1" "saxton_hale\lolwut_2.wav" //This is number of line
"slot1" "1" //This is number of ability slot for this line (for example, 0 is rage and it's defalut value)
"2" "saxton_hale\vagineer_responce_rage_1.wav"
"3" "saxton_hale\vagineer_responce_rage_2.wav"
"4" "saxton_hale\vagineer_responce_jump_1.wav"
"slot4" "1"
"5" "saxton_hale\vagineer_responce_jump_2.wav"
"slot5" "1"
}
"catch_phrase" //All default character's (like Engineer for Vagineer) lines replaced with THIS line. Set "sound_block_vo" to "0" if you need it
{
"1" "vo/engineer_jeers02.wav"
}
"sound_bgm" //Background Music
{
"path1" "saxton_hale/the_millionaires_holiday.mp3" //path to 1st track
"time1" "131" //length of 1st track
"path2" "saxton_hale/rick_roll.mp3"
"time2" "99"
}
"sound_precache" //Just precache sounds
{
"1" "saxton_hale\vagineer_responce_jump_42.wav"
}
//Optional keys again, for downloadlist
"mod_download" //Downloads: ".mdl", ".dx80.vtx", ".dx90.vtx", ".sw.vtx", ".vvd"
{
"1" "models\player\saxton_hale\vagineer_v134"
}
"mat_download" //Downloads: ".vtf", ".vmt"
{
"1" "materials\freak_fortress_2\ninjaspy\spy_black"
}
"download" //Downloads these files
{
"1" "sound\saxton_hale\vagineer_responce_intro.wav"
"2" "sound\saxton_hale\lolwut_3.wav"
"3" "sound\saxton_hale\lolwut_4.wav"
"4" "sound\saxton_hale\vagineer_responce_taunt_1.wav"
"5" "sound\saxton_hale\vagineer_responce_taunt_2.wav"
"6" "sound\saxton_hale\vagineer_responce_taunt_3.wav"
"7" "sound\saxton_hale\vagineer_responce_taunt_4.wav"
"8" "sound\saxton_hale\vagineer_responce_taunt_5.wav"
"9" "sound\saxton_hale\vagineer_responce_taunt_5.wav"
"10" "sound\saxton_hale\vagineer_responce_fail_1.wav"
"11" "sound\saxton_hale\vagineer_responce_fail_2.wav"
"12" "sound\saxton_hale\lolwut_2.wav"
"13" "sound\saxton_hale\vagineer_responce_rage_1.wav"
"14" "sound\saxton_hale\vagineer_responce_rage_2.wav"
"15" "sound\saxton_hale\vagineer_responce_jump_1.wav"
"16" "sound\saxton_hale\vagineer_responce_jump_2.wav"
"17" "sound\saxton_hale\lolwut_5.wav"
"18" "sound\saxton_hale\lolwut_0.wav"
"19" "sound\saxton_hale\lolwut_1.wav"
}
}