Broforce

Broforce

80 ratings
Level Editor: Secrets, Entity Names and ExecuteFunctions (Tool included)
By st0l3n.id and 1 collaborators
I try to gather advanced knowledge about the Broforce Level Editor in this guide, as well as providing usefull tools to furhter edit them outside of the game.
Finally be able to assign functions/actions to switches. Make it rain mooks and fire and actual rain at the same time with a push of a button? All possible now.
3
   
Award
Favorite
Favorited
Unfavorite
Entity Names
The game has a SpawnResource Function, which allows you to spawn in resources through triggers.
This List was originally created by SoupCalhoun and myself, most of the credit goes to him though, especially for recent updates (post-hell and post-desert).

Certain resources may not even spawn because I have not tested Broforce Forever completely yet.

Aliens/Alien SandWorm Facehugger Launcher Behind Aliens/Alien SandWorm Facehugger Launcher Aliens/AlienGiantBoss SandWorm Aliens/AlienGiantSandWorm Aliens/AlienMiniBoss SandWorm Aliens/SandwormHeadGibHolder Aliens/ZAlienBrute Aliens/ZAlienFaceHugger Aliens/ZAlienMelter Aliens/ZAlienMosquito Aliens/ZAlienXenomorph Aliens/ZAlienXenomorphBrainBox Blocks/SandstormBoulderBlock Blocks/SandstormTire Blocks/SandstormTumbleWeed Blocks/SandstormWoodBlock Boss/Boss_Tank Boss/FlameSandworm Citizens/Agent1 Citizens/Agent3 Enemy Citizens/Agent3 Friend Citizens/Citizen1 Citizens/Citizen2 Citizens/Citizen3 Citizens/Citizen4 Citizens/Citizen5 Citizens/Citizen6 Citizens/Citizen7 Citizens/Citizen8 Citizens/Citizen9 Citizens/CitizenDesert1 Citizens/CitizenDesert2 Citizens/CitizenDesert3 Citizens/CitizenDesert4 Citizens/CitizenDesert5 Citizens/CitizenDesert6 Citizens/CitizenDesert7 Citizens/CitizenDesert8 Citizens/CitizenDesert9 Citizens/Presidant_BillClinton Denizens/Denizen1 Denizens/Denizen2 Drones/Drone Machinegun //CRASHES GAME WHEN DESTROYED Drones/Drone Sawblade //CRASHES GAME WHEN DESTROYED Effects/ReviveBlast Grenades/DemolitionBroBombExplosion Grenades/DemolitionBroFreezeBomb Grenades/flameWallExplosion HellMook Grenades/flameWallExplosion Grenades/flameWallExplosionFlashBang Grenades/flameWallExplosionTollBroad Grenades/flameWaveExplosion Grenades/FlashBang Grenades/FlashBangExplosion Grenades/FreezeExplosion Grenades/Grenade (Launched) Grenades/Grenade Airstrike Grenades/Grenade Alien Pheromones Grenades/Grenade Jensen Grenades/Grenade MechDrop Grenades/Grenade Molotov Fire Grenades/Grenade Molotove Grenades/Grenade Sticky Broship Trooper Grenades/Grenade Sticky Grenades/Grenade Summon Tank Grenades/Grenade TurkeyStrike Grenades/Grenade Grenades/GrenadeCluster Grenades/GrenadeEvilBig Short Life Grenades/GrenadeEvilBig Grenades/GrenadeEvilHelicopter Grenades/GrenadeEvilMedium Grenades/GrenadeEvilSmall Long fuse Grenades/GrenadeEvilSmall Grenades/GrenadeFlameWave Grenades/GrenadeHologram Grenades/GrenadeHolyWater Grenades/GrenadeShrapnel Grenades/GrenadeTearGas Grenades/GrenadeTollBroad Grenades/HelicopterEvilGranade Grenades/HolyWaterExplosion Grenades/LiftOffFlameWallSmall Grenades/LiftOffFlameWallSmaller Grenades/Martini Grenade Grenades/TearGasExplosion Creatures/Hell BoneWorm Creatures/Hell MiniBoss BoneWorm Behind Creatures/Hell MiniBoss BoneWorm Heroes/Ash Brolliams Heroes/BA_Broracus2 Heroes/BillyConnoly Heroes/Blade Heroes/BoondockBro Heroes/Bro Dredd Heroes/Bro Hard Heroes/BroboCop Heroes/Brochete Heroes/Brodel Walker Heroes/Broden Heroes/Broffy Heroes/BroGummer Heroes/BroLee Heroes/Bromander Heroes/BroMax Heroes/Brominator Heroes/BronanTheBrobarian Heroes/BrondleFly Heroes/BroniversalSoldier Heroes/Brononymous Heroes/BroshipTrooper Heroes/BroveHeart Heroes/BroYang Heroes/CaseyBroback Heroes/CherryBroling Heroes/Chev Brolios Heroes/Col James Brodock Heroes/DemolitionBro Heroes/Desperabro Heroes/DirtyHarry Heroes/DoubleBroSeven Heroes/EllenRipbro Heroes/Hobro Heroes/Indiana Brones Heroes/McBrover Heroes/Nebro Heroes/Predabro Heroes/Rambo Heroes/ScorpionBro Heroes/SnakeBroSkin Heroes/SuicideBro Heroes/TankBro Heroes/TheBrocketeer Heroes/TheBrode Heroes/TheBrofessional Heroes/TheBrolander Heroes/Time Bro Van Damme Heroes/Xebro Mooks/DolfLundgrenSoldier Mooks/Pig Rotten Mooks/Pig Mooks/SatanMinibossStage1 Mooks/Seagull Mooks/TankBrosTank Mooks/WarlockPortal Suicide Mooks/WarlockPortal Mooks/WarlockPortalLarge Mooks/WarlockPortalProjectile Mooks/WarlockPortalProjectileGuided Mooks/WarlockPortalSoulDestroyer Mooks/ZConradBroneBanks Mooks/ZHellBigGuy Mooks/ZHellDog Mooks/ZHellDogEgg Mooks/ZHellLostSoul Mooks/ZMook Alarmist Mooks/ZMook Backup Mooks/ZMook Grenadier Mooks/ZMook Strong Mooks/ZMook Mooks/ZMookArmouredGuy Mooks/ZMookBazooka Mooks/ZMookBigElite Mooks/ZMookBigGuy Mooks/ZMookCaptain Mooks/ZMookCaptainCutscene Mooks/ZMookCaptainExpendabro Mooks/ZMookDog Mooks/ZMookGeneral Mooks/ZMookHellArmouredBigGuy Mooks/ZMookHellBoomer Mooks/ZMookHellSoulCatcher Mooks/ZMookJetpack Mooks/ZMookJetpackBazooka Mooks/ZMookMegaDog Mooks/ZMookMortar Mooks/ZMookNinja Mooks/ZMookRiotShield Mooks/ZMookScientist Mooks/ZMookScout Mooks/ZMookSkinless Mooks/ZMookSuicide Mooks/ZMookUndead Mooks/ZMookUndeadStartDead Mooks/ZMookUndeadSuicide Mooks/ZMookWarlock Mooks/ZSatan Mook Mooks/ZSatan Mooks/ZSatanCutscene Mooks/ZSnake Spawnables/Jet Support Attack Spawnables/Support Sniper Attack System/InGame Perk Pickup System/InGame PerkDamage Pickup System/InGame PerkRevive Pickup Player/Avatar Player/ChatEllipsis Player/HeadGearDeathmatchHUDPrefab Player/HobroSprite Player/PlayerHUDPrefab Player/PlayerPrefab Projectiles/BroGummerSniperTargetingSystem Projectiles/Lightning Bombardment Projectiles/robrocopTargetingSystem Projectiles/Rocket Launch Airstrike UI/ReadyPlayerCanvas Vehicles/GoliathMech 1 Vehicles/GoliathMech Vehicles/Helicopter Fake Vehicles/Helicopter Vehicles/Mook_Tank_Mook_Launcher Vehicles/Mook_Tank_Rocket Vehicles/MookArtilleryTruck Vehicles/MookBlimp Vehicles/MookDrillCarrier Vehicles/MookMotorBike Nuclear Vehicles/MookMotorBike Vehicles/MookTruck Vehicles/RemoteControlCar Villagers/Villager Elder Perk Drop Villagers/Villager Elder Villagers/Villager1 Villagers/Villager2 World/Pickupables/Dollar Cash Pickupable World/Pickupables/Dollar Coin Pickupable World/Pickupables/Golden Prize Pickupable Heroes/Broc Heroes/BroCeasar Heroes/BroneyRoss Heroes/BronnarJensen Heroes/LeeBroxmass Heroes/TollBroad Heroes/TrentBroser

Raw Resource Name Dump
https://pastebin.com/vPrdbfbS


Legacy Resource Names (Pre 2019 builds)
flashbang billyconnoly grenade airstrike grenade alien pheromones grenade mechdrop grenade molotov fire grenade molotove grenade summon tank grenadecluster grenadeevilbig grenadeevilhelicopter grenadeevilmedium grenadeevilsmall grenadeflamewave grenadehologram grenadeshrapnel grenadeteargas grenadetollbroad lightning bombardment hobro martini grenade readyplayercanvas reviveblast robrocoptargetingsystem rocket launch airstrike Ash Brolliams BA_Broracus2 Blade BoondockBro Bro Dredd Bro Hard BroLee BroMax Brobocop Brochete Brodel Walker Broden Bromander Brominator BronanTheBrobarian BroniversalSoldier Brononymous Broveheart CherryBroling Col James Brodock DirtyHarry DoubleBroSeven EllenRipbro Indiana Brones MadMaxBrotansky McBrover Nebro Predabro Rambo SnakeBroSkin TankBro TheBrocketeer TheBrode TheBrofessional TheBrolander Time Bro Van Damme broyang expendabros/broc expendabros/broceasar expendabros/broneyross expendabros/bronnarjensen expendabros/leebroxmass expendabros/tollbroad expendabros/trentbroser brondlefly broshiptrooper suicidebro

Raw Legacy Resource Name Dump
https://pastebin.com/gBftHHiv
Execute Functions
There is also a function type called ExecuteFunctions, you can access them by typing smokinggun in the main menu.
After you have done that the new trigger type should be available in the editor.
Call Methods are no longer functional due to Network Security Vulnerability Fix (October 3, 2022).
Execute Functions still function normally.
Execute Functions are case sensitive.
Recent iterations of this list are all possible thanks to SoupCalhoun.
===Units=== =Bros and some enemies= AddSpeedLeft AddSpeedRight AirDashUp AirFlexJump ApplyPerformanceEnhancedFlexing Awake BecomeExhausted BurstChest BrosMustFailToWin //used once in the Expandabros campaign ClearFireInput ClearAllInput CoverInAcid CreateFaderTrailInstance CreateSkeleton CreateSweatParticle DestroyCharacter //destroys the character, doesn't count as kill DestroyRemoteProjectile //used to force teleport after StartTeleportFlexing Disable DisConnectFaceHugger FrontSomersault HideAndDisableCharacter Kick Melt OpenParachute PerformanceEnhancedGrunt PerformSmashAttack PlayAttackSound PlayAttractedSound PlayBackflipGruntSound PlayBassDropSoundSound PlayBleedSound PlayConfusedSound PlayDeathSound PlayDeathGargleSound PlayDecapitateSound PlayExitLadderSound PlayFallDamageSound PlayFireSound PlayGibSound PlayGreetingSound PlayHighFiveSound PlayJumpSound PlayLandSound PlayLaughterSound PlaySliceSound PlaySpecialSound PlayWallSound PressDashButton PressSpecial PressSpecial2 RecallBro RecoverFromInsemination ReducePockettedSpecialAmmo Reenable ReleaseRemoteControlCar RemoveAcid ResetSpecialAmmo RollOnLand RunUpwardDash SetAirDashLeftSpeed SetAirDashRightSpeed SetImmuneToOutOfBounds ShowAndEnableCharacter ShowCharacterInternal ShowStartBubble ShowKickBubble SilentDeath SpawnDrone Start StartHighFive StartMelee StartTeleportFlexing Stun SuspendFromRope ThrowAirstrikeGrenade ThrowAlienPheromoneGrenade ThrowMechDropGrenade TimeSlowSpecialRPC TriggerFlexEvent TrySpawnDrone TryCreateFlexEffect Unfreeze Unrevive UseFire UsePockettedSpecial UseSpecial UseSteroids =Mooks= Death SkinUnit SquirtDecapitatedBlood =Mook Grenadier= DropDeathGrenade =Alien= GrowFromChestBurster //Custom alien spawn anim (call method on spawn or in EF if idle) =AlienSpawner= SpawnAlien =Blimp= ExplodeBlimp FireWeapon RunExploding RunFlameTrail SetHurtMaterial =Dog= TransformIntoMegaDog //Transforms dog into big dog (1 frame), executefunction or via Call method on spawn =Sandworm= Activate Deactivate ExplodeWithinHead FireProjectile SetHeadDead ShowHurtMaterials StartSpitting SwallowGrenade =TerrorCrawler= QuickSpit =GoliathMech= DontCauseLevelVictory =HellDog= GrowFromEgg =Hell Suicide Bomber= CreateFaderTrailInstance =Hell Trooper= Resurrect =Hell Boomer/Soul Catcher= SpawnMooksOnDeath GibMaggots =HellForceField= Start FadeForceField =LostSoul= ForceStartDiving =Warlock= ProjectileDied =Vehicles= BounceOnDeath FireWeapon InvokeDeath Land Start =MookDrillCarrier (vehicle 4)= Activate BloodyDrill StopDrilling //Make DrillRockets with the following Toggle Loop: //ON: Start, Loop: BounceOnDeath, InvokeDeath //OFF: Land =Mook Motorbike= BounceOnDeath ExplodeNuclearBomb FireWeapon InvokeDeath =SatanMiniboss= AnimateForceField FinishReveal SetSatanStage2 StartDeathRattle StartFlameFiring =Satan Final Form= Start StopRising =Mook Mech/Tank Bro Tank= ForceJump PressDashButton PressSpecial ResetDamageAmounts ResetSpecialAmmo SetAmericaMaterials SetHurtMaterial SetUnhurtMaterial =Air Fortress= Start CrushGround DropSides RunThrusters RunStanding SpawnMook ===Enviromental=== =AlarmTower= Activate =Alien Grass= SuckIn =Boulder/Cage/Crate/Beehive= AssignBlockToMap ClearBlock ClearBlockOnRoll DamageGroundUnderneath Disturb ForceBurn HitUnits Land ResetBlock SetupBlockAtStart Start Weaken //Reset Blocks with sequence: ClearBlockOnRoll, ClearBlock, ResetBlock, AssignBlockToMap, Start, SetupBlockAtStart. //Rain boulders with loop Disturb and ResetBlock. =Chain (HangingDoodad)= Start //Resets broken chain. StrainChain =Checkpoint= ActivateInternal ReactivateInternal =ClonePod (vehicle 6)= Drop Disturb SetSpawnFrame SpawnMook =Cage= CollapseForced =Door= Close =Destructible Doodads= Collapse CreateBloodOnDeath CreateExplosion CreateLeafBurstDamaged CreateLeafBurstDeath FlipXRandom SetAlight_Local Start =Effects= Start //loop to increase drip rate. =Elevator= Collapse GoUp GoDown StartMoving StopElevator =Fire Spawner Trap= Collapse =Land Mine= SetupMines =MookDoor= SpawnMook Collapse DestroyDoor TriggerCollapse =Rolling Boulder Desert Trap= Bounce //loop to levivate Death Launch StartRolling =Shifting Hell Block= StartCrushing StopCrushing =Signposts= StartAnimating StartReading StopReading =Spikes= MakeImpaleEffects =WallofGuns= Activate Retract =Zipline= ResetZipline ===Specific Bros=== =DoubleBroSeven= Put On Balaclava //without spaces, had to add them cause steam censorship =Brodator= TurnOnStealthMode SelfDestruct =Brocketeer= BlastOff AirDashLeft AirDashRight =Broden= ExplosiveEndToSpecialAttack =Brolander= PerformZap ReduceSpecialAmmo =Bronan= ShowMaxCharge =Anderbro Brode Lee= SetAirdashAvailable StopAirDashing AirDashLeft AirDashRight =SnakeBroskin= CreateHoloTrailInstance ActivateGlider =Hobro= Free
Execute Functions with Variables
Using Variable Dependent Execute Function
First have a trigger use a Variable Action in order for the variable to be used:

Then have a trigger use an Execute Action and apply the variable to it by checking the box
"Use Scripted Value As Parameter" and inputting the variable name:

In this example the player is set to be invulnerable for 0 seconds, by setting variable "Zero" to 0, and applying that variable to the function "TempInvulnerability" will use it to determine the duration of the function. Other functions that work similarly include: "Stun" "Blind" "CreateMinorGroundWave"

Some functions determine which player or faction the object will effect, like "ArmVillagerRPC" or "ForgetPlayer". Negative numbers can make evil villagers.

There are also functions that determine magnitude and direction with positive and negative numbers: "RollOnto" "Push" "Roll" "Open" "ForceFaceDirection"
Numbers greater than 1 may be needed for them to work.

============= Variable Dependent Execute Functions ============= =Bros and some enemies= Blind Boost CreateElectricShockPuff CreateBlastOffFlames Dance DelayedRevive FallDamage ForceFaceDirection Freeze RollOnto SetSpecialAmmoRPC SetWillComebackToLife Stun TempInvulnerability TimeBroBoost UseAttackJumpForceForSeconds UseSteroidsForDuration UseSteroidsNetworkedForDuration =Boulder/Crate/Tyre= Push Rotate SetPosition =Rolling Boulder Desert Trap= RunXMovement =Bronan/Brolander= CreateMinorGroundWave =HellForceField= SetLife =Door= Open =Mooks= DisableGravity EnableGravity ForgetPlayer =MookRiotShield= DisarmShield =Sandworm= SetPosition SetSpriteOrientations SetWormPositions StunSandworm =Vehicles= SetPosition SetSpriteTurn =Villager= ArmVillagerRPC
Miscellaneous Secrets
==Spawn Mook Action Secrets== Mook Count <0 = Pigs Mook Count 101-199 = Armored Mooks Mook Count 201+ = Agents Suicide Mook Count <0 = Dogs Suicide Mook Count -1 and Spawn Truck = Missile Tank Suicide Mook Count -2 and Spawn Truck = Blimp Suicide Mook Count -3 and Spawn Truck = Drill Suicide Mook Count -4 and Spawn Truck = Mook Launcher Suicide Mook Count -8 and Spawn Truck = Goliath Mech (No victory when destroyed) ==Final Boss Secret== How to make Satan's Floating Head advance to the next scene: Level Event Action; Unit Damage = 2000 on Satan's Head
Tools
Download the Broforce Level Tool here [www.dropbox.com]
Alternate link [drive.google.com]
The tool allows for decompressing and re-compressing the level files to make manual changes with a text editor of your choice (i recommend Notepad++ with the XML extension to refactor and highlight decompressed files).

/Edit: New Version, now with switch support.
There is a funciton that adds 3 triggers with 3 ExecuteFunctions each to every map. It also adds 3 ExecuteFunctions to every switch on every map, therefore unlocking access to create switch puzzles, or simple elevator call buttons.
Be advised that this is not necessary anymore, as you have the "smokinggun" cheatcode now, which is frankly more reliable ;)

Decompressed files give you advanced editing power.
Fe. it its possible to edit block spawning actions to spawn any block. An example level for that is linked in my thread (look at last section).

If you are worried about what the tool exactly does:
The level files of Broforce are compressed with a method to make them smaller (LZF), my tool simply uses a free library to decompress and compress them. Adding the triggers is simply doing the steps of hopping into a text editor and writing lots of lines manually, for you.

Finally, i have added functions to simply mass-spawn stuff etc, on an XML base.
Your published levels (or others) cant be opened with this tool.

Read the ReadMe to learn how to use it. Oh, and the blockSpawnReplace bat wants two coordinates that describe a box and will spawn in given foreground terrain via a trigger (background and doodads are still wip).
Guide Future & Tool updates
This guide is up to date for now, the tool is not, and might still get expanded on, but i have nothing sheduled on this right now.

Alternativly subscribe to this thread, i'll post updates there as well:
https://steamhost.cn/steamcommunity_com/workshop/discussions/-1/610573009257205332/?appid=274190

Also give Soup a big shoutout as he did most of the work on this topic.

Greetings
Stolen
125 Comments
Schizophrenia gaming 15 Jan @ 1:27pm 
what do i put in the "call method on object" section?
lеshii 22 Aug, 2023 @ 1:34am 
Thanks, that helped a lot, although I thought that removing conditions in that case will make the level editor remove every potential bro so I just put // before RemoveAt functions
st0l3n.id  [author] 22 Aug, 2023 @ 1:07am 
You know trivial for your average gamer, just decompile your game and change the games code.... :hoxton:
Soup is the expert on that though, i've not gone that far :Grineer:
Soup Calhoun  [author] 21 Aug, 2023 @ 6:22pm 
It's easy. What you do is get a c# decompiler like dnspy v6.1.8 and then open the AssemblyCSharp.dll file in the Broforce/Broforce_beta_Data/Managed folder. Then you go to the LevelEditorGUI class and remove the bro must be unlocked conditions in the code.

if (!Application.isEditor && !Info.IsDevBuild)
{
for (int l = this.heroTypes.Count - 1; l >= 0; l--)
{
if (!PlayerProgress.Instance.IsHeroUnlocked(this.heroTypes[l]))
{
this.heroTypes.RemoveAt(l);
}
}
for (int m = LevelEditorGUI.broChangeHeroTypes.Count - 1; m >= 0; m--)
{
if (!PlayerProgress.Instance.IsHeroUnlocked(LevelEditorGUI.broChangeHeroTypes[m]))
{
LevelEditorGUI.broChangeHeroTypes.RemoveAt(m);
}
}
}
Then you can access The Expendabros easily. There is also other parts of the code to delete in order to access the scrapped bros.
lеshii 21 Aug, 2023 @ 7:28am 
Hi, my request may sound dumb because I'm sure that this information is public and can be found somewhere around a community(I didn't found it tho:steamthumbsup:) but how can I add expendabros to my levels somehow? Because I didn't find any similar to Brochange functions there, and, you know, Brochange onlu works with vanilla bros
If you know any ways to implement expendabros could you please share this knowledge with me?
Soup Calhoun  [author] 13 Aug, 2023 @ 8:25am 
Those are for abandoned game features, so I don't believe the shop props or money have any function whatsoever.
mæstro :) 13 Aug, 2023 @ 7:11am 
Do these ShopProps even work? And also, is there any use of money? (in Level Editor you can spawn some)
Soup Calhoun  [author] 9 Aug, 2023 @ 9:19pm 
Air Fortress is
Boss/Boss_Tank
Judge Boogiebuns 9 Aug, 2023 @ 11:10am 
How can you spawn an air fortress?
brennfeu 26 Apr, 2022 @ 9:15am 
some can be summoned using entitynames, some can't