• Welcome Guest, The new Modme forums are here! Please visit here for all recommended information.

Released Brutus 2

Spiki

Well-known member
Yada, yada, yada

TL;DR
Here's an alternative to NSZ's boss Brutus. He's meaner, he's tougher and he kicks more ass.

342

Package is drag and drop but you must manually move zm_cellbreaker.gsc/csc to your mapname/zm/ folder

You have a few options to play around with in the gsc

Mechanics:
HELMET_HEALTH
How much damage he must take to the head before the helmet falls off and he goes berserk

BERSERK_TIME
How long he will stay berserk (moves faster)

GAS_DROP_INTERVAL
Time in seconds before he can drop teargas again

BARRICADE_BREAK_INTERVAL
Time in seconds before he can break another barricade (window)

DROP_GAS_ANYWHERE
True if he can drop teargas anywhere and not only on specific locations.
Check the teargas mechanics explanation below.

GAS_SPOT_ATTRACT_DISTANCE
The distance between him and his teargas drop spot or barricade.



Automatic spawning:
AUTOSPAWN
Set to true to automatically spawn him.

FIRST_SPAWN_ROUND
First round to spawn. (Value can't be 1)

SPAWN_ROUND_INTERVAL
Number of rounds between spawns

HEALTH_PER_ROUND
Health to multiply by the round number

MAX_HEALTH
Health will never exceed this value unless you manually spawn him

DUAL_SPAWN_ROUND
Round at which 2 will start spawning per round


Installation:
Radiant:
Copy paste your usermap actor (floating sky zombie), click remap class and change it to actor_spawner_cellbreaker
Also give it the targetname cellbreaker_spawner
Remove the zombie_spawner script_noteworthy

Add spawn points by placing structs and giving them the targetname cellbreaker_spot. You don't need to link zones to them

Script:
Add this line to your mapname.gsc AND csc.
Code:
#using scripts\zm\zm_cellbreaker;
Zone:
Nothing fam. Big brain mechanics are in play here.

SZC (sound file):
Code:
{
"Type" : "ALIAS",
"Name" : "cellbreaker",
"Filename" : "AI/cellbreaker.csv",
"Specs" : [ ]
},


To manually spawn him use this line:
zm_cellbreaker::spawn_brutus(health);
health defaults to 2000


Gas drop mechanics:
There are 3 ways Brutus can use his gas attack.
Throwing it
Dropping it wherever he is
Dropping it on a specific location

If DROP_GAS_ANYWHERE is set to false and you don't have any drop spots in your map, no teargas will be used ever.
If DROP_GAS_ANYWHERE is set to false but there are drop points, Brutus will only drop teargas at those points. This can be used to trap a player in a room. Gas lasts 30 secs btw.
If DROP_GAS_ANYWHERE is set to true Brutus will drop gas wherever he's standing.
If teargas is being used Brutus will also throw it if the player is more than 500 units away and in sight.

The drop spot is a script_struct. Targetname = cellbreaker_gas_spot



DL;

Version 1.0.1
 
Last edited:

Ghostlycreep

New member
After installing and compiling my map, when Brutus did spawn everything seems to work like it should, but the second I start shooting him the game crashes to desktop. No error logs, no nothing the game just closes to desktop. Any idea why that would happen?
 

Spiki

Well-known member
After installing and compiling my map, when Brutus did spawn everything seems to work like it should, but the second I start shooting him the game crashes to desktop. No error logs, no nothing the game just closes to desktop. Any idea why that would happen?
go into APE, find c_zom_cellbreaker_helmet and change the physics preset from helmet to default
 

huntoire

New member
He doesn't spawn in my game on the round (8) I set him to spawn on. The struct needs no KVPs just the target name as cellbreaker_spot? How does it work with zones if I have a spawnpoint in a zone the player maybe hasn't activated yet
 

Spiki

Well-known member
He doesn't spawn in my game on the round (8) I set him to spawn on. The struct needs no KVPs just the target name as cellbreaker_spot? How does it work with zones if I have a spawnpoint in a zone the player maybe hasn't activated yet
did you set AUTOSPAWN to 1 in the script?
the struct only has a targetname. the script picks the closest spawn point and if it's not in an active zone it picks the next closest etc.
 
Top