Modme Forums

Can’t Spawn Brutus & Napalm On Same Map

Game Modding | Call of Duty: Black Ops 3 | Scripting


ModmeBot:

Thread By: KillJoyYT
First I added brutus to the map and it was working fine

then I added the napalm zombies and brutus stopped spawning. napalm zombies work fine though



please help!


ModmeBot:

Reply By: Kabe
It happened to me once, fix it changing in _hb21_zm_ai_napalm.gsc the
Line 408


e_ai.is_boss = 0;
Test and comment ;)


ModmeBot:

Reply By: KillJoyYT
Thanks mate!!! I will try when i get home from work tonight! :-)


ModmeBot:

Reply By: KillJoyYT
I changed the line in the gsc

changed

e_ai.is_boss = 1;

to

e_ai.is_boss = 0;





unfortunately brutus still isn't spawning :(


ModmeBot:

Reply By: Kabe
if you delete zombie_napalm brutus work?


ModmeBot:

Reply By: KillJoyYT
yeah I had brutus spawning in every round

then I added the napalm zombies and brutus doesn't spawn in, but the napalm zombies do

only reason I want them both is for an end game boss fight


ModmeBot:

Reply By: Kabe
This is something that I am creating for my map.
Try to use it, it works for me.
I have put:

e_ai.is_boss = 0;
e_ai.ignore_enemy_count = 0;

both in napalm and sonic.

Go to usemaps/you_map/scripts/zm/you_map.gsc
// Add to top of the script
using scripts\_NSZ\nsz_brutus;

// Add directly after zm_usermap::main();
level thread brutus::init();
level thread brutus_for_round();

// Paste function way down the bottom, not inside any other functions :
function brutus_for_round()
{
	level endon( "intermission" );

	while(1)
	{
		level waittill( "start_of_round" );// Wait till between_round_over

		if ( !isDefined( level.round_number )){ break; } // If round number not defined that decided break
		

		wait( 1 );
		if( level.round_number == 5 ){ spawn_brutus_for_round(1); } // spawn X brutus in round 5
		if( level.round_number >= 7 && level.round_number <= 10 ){ spawn_brutus_for_round(2); }
		if( level.round_number >= 11 && level.round_number <= 15 ){ spawn_brutus_for_round(3); }
		if( level.round_number >= 16 && level.round_number <= 18 ){ spawn_brutus_for_round(5); }
		if( level.round_number >= 22 ){ spawn_brutus_for_round(6); }
		
	}
} 

function spawn_brutus_for_round(num)
{
	n_brutus = 0;
	while( n_brutus < num )//while n_brutus is less to num 
	{
		wait( RandomIntRange( 10, 20 ) ); // is used on brutus::spawn_brutus(); 
		if( !IS_TRUE( level.intermission ) )
		{ 
			brutus::spawn_brutus(); //Force spawn brutus
			n_brutus++; // + 1 brutus spawned
		}
		wait( RandomIntRange( 20, 30 ) );
	}	
}

Go to usemaps/you_map/scripts/_NSZ/nsz_brutus.gsc
// go to function main()
//level thread brutus_spawn_logic();
Comment this line

//go to function spawn_brutus()
//wait( RandomIntRange( 10, 20 ) );
Comment this line


ModmeBot:

Reply By: KillJoyYT
thanks I'll give it a try now!


- wow man awesome thank you very much!

only thing is the fire (from the napalm) kills brutus instantly.... I'm trying to figure out how to disable it now, i'll post if I do.


ModmeBot:

Reply By: Kabe
I'm glad that it works for you and if you need something more special you can ask me for it.
The same thing happens to me, if you find it please tell me


ModmeBot:

Reply By: Harry Bo21
um no

just "disabling" the damage entirely is dumb asf - considering its all this guy even does? Might as well just rename him "demonic walking dude who commits completely inconsequential suicide"

e_ai.b_napalm_zombie_explode_immune 				= 1;
e_ai.b_napalm_zombie_fire_patch_immune 			= 1;


set these on brutus


ModmeBot:

Reply By: Kabe
I got the wrong post and you're absolutely right

thans for the good code ;)

e_ai.b_napalm_zombie_explode_immune 				= 1;
e_ai.b_napalm_zombie_fire_patch_immune 			= 1;


ModmeBot:

Reply By: Abnormal202

Harry Bo21
Might as well just rename him "demonic walking dude who commits completely inconsequential suicide"

you just gave me a brilliant boss zombie idea. "Zombie who commits suicide until player feels so guilty they leave the game"


ModmeBot:

Reply By: KillJoyYT
lol thank you guys

where did you put the two lines of code?

can't get it to work for some reason


ModmeBot:

Reply By: mathfag

KillJoyYT
lol thank you guys where did you put the two lines of code? can't get it to work for some reason

find
brutus thread zombie_spawn_init();

etc...

below that there are some variables.
Just add
brutus.b_napalm_zombie_explode_immune 				= 1;
brutus.b_napalm_zombie_fire_patch_immune 			= 1;


ModmeBot:

Reply By: KillJoyYT
I put the two lines here in the brutus gsc but hes still getting raped by the napalm fire lol


brutus thread zombie_spawn_init();
	brutus thread boss_footsteps(); 
	brutus thread melee_track(); 
	brutus thread note_tracker(); 
	brutus thread new_death(); 
	brutus thread aat_override(); 
	brutus thread zombie_utility::round_spawn_failsafe();
	
	n_players = getplayers(); 
	n_players = n_players.size; 
	test_health = level.brutus_base_health*level.round_number*n_players; 
	
	if( test_health < 85000 )
		brutus.health = test_health;
	else 
		brutus.health = 85000; 
	brutus.deathanim = %brutus_death; 
	brutus BloodImpact( "normal" ); 
	brutus.no_damage_points = true; 
	brutus.allowpain = false; 
	brutus.ignoreall = true; 
	brutus.ignoreme = true; 
	brutus.allowmelee = false; 
	brutus.needs_run_update = true; 
	brutus.no_powerups = true; 
	brutus.canattack = false; 
	brutus detachAll(); 
	brutus.goalRadius = 32; 
	brutus.is_on_fire = true; 
	brutus.gibbed = true; 
	brutus.variant_type = 0; 
	brutus.zombie_move_speed = "sprint"; 
	brutus.zombie_arms_position = "down"; 
	brutus.ignore_nuke = true; 
	brutus.instakill_func = &anti_instakill; 
	brutus.ignore_enemy_count = true; 
	brutus PushActors( true );
	brutus.lightning_chain_immune = true; 
	brutus.tesla_damage_func = &new_tesla_damage_func; 
	brutus.thundergun_fling_func = &new_thundergun_fling_func; 
	brutus.thundergun_knockdown_func = &new_knockdown_damage; 
	brutus.is_boss = true; 


brutus.b_napalm_zombie_explode_immune 				= 1;
brutus.b_napalm_zombie_fire_patch_immune 			= 1;
	
	brutus thread track_helmet(); 


ModmeBot:

Reply By: Kabe
I think that's line 1009

function napalm_zombie_napalm_fire_patch_damage()

if ( IS_TRUE( e_entity.b_napalm_zombie_fire_patch_immune ) )
			continue;
		


is posible that will be

if ( IS_TRUE( e_entity.b_napalm_zombie_fire_patch_immune ) )
			return;