mirror of
https://github.com/ineedbots/iw4_bot_warfare.git
synced 2025-05-12 07:24:50 +00:00
nuke
This commit is contained in:
parent
8cddf2532f
commit
440a905f4a
@ -546,6 +546,7 @@ set scr_killstreak_mod "0"
|
||||
set scr_nuke_is_moab "1"
|
||||
set scr_nuke_kills_all "0"
|
||||
set scr_nuke_emp_duration "30"
|
||||
set scr_nuke_perm_vision "1"
|
||||
|
||||
// _emp
|
||||
set scr_emp_doesFriendlyFire "0"
|
||||
|
@ -1,3 +1,24 @@
|
||||
/*
|
||||
_nuke modded
|
||||
Author: INeedGames
|
||||
Date: 09/22/2020
|
||||
|
||||
DVARS:
|
||||
- scr_nuke_is_moab <bool>
|
||||
false - (default) if a nuke ends the game or is a mw3 moab
|
||||
|
||||
- scr_nuke_kills_all <bool>
|
||||
true - (default) if a nuke kills all, even friendly fire
|
||||
|
||||
- scr_nuke_emp_duration <float>
|
||||
60.0 - (default) how long to have the emp effect on for the nuked
|
||||
|
||||
- scr_nuke_perm_vision <bool>
|
||||
true - (default) if to never change the vision back to normal after a bomb
|
||||
|
||||
Thanks: H3X1C, Emosewaj
|
||||
*/
|
||||
|
||||
#include common_scripts\utility;
|
||||
#include maps\mp\_utility;
|
||||
|
||||
@ -19,13 +40,19 @@ init()
|
||||
|
||||
setDvarIfUninitialized( "scr_nukeTimer", 10 );
|
||||
setDvarIfUninitialized( "scr_nukeCancelMode", 0 );
|
||||
|
||||
setDvarIfUninitialized( "scr_nuke_is_moab", true );
|
||||
setDvarIfUninitialized( "scr_nuke_kills_all", true );
|
||||
setDvarIfUninitialized( "scr_nuke_emp_duration", 60.0 );
|
||||
setDvarIfUninitialized( "scr_nuke_perm_vision", true );
|
||||
|
||||
level.nukeTimer = getDvarInt( "scr_nukeTimer" );
|
||||
level.cancelMode = getDvarInt( "scr_nukeCancelMode" );
|
||||
|
||||
level.nukeEndsGame = getDvarInt( "scr_nuke_is_moab" );
|
||||
level.nukeKillsAll = getDvarInt( "scr_nuke_kills_all" );
|
||||
level.nukeEmpDuration = getDvarFloat( "scr_nuke_emp_duration" );
|
||||
level.nukePermAftermath = getDvarFloat( "scr_nuke_perm_vision" );
|
||||
|
||||
/#
|
||||
setDevDvarIfUninitialized( "scr_nukeDistance", 5000 );
|
||||
@ -153,14 +180,15 @@ doNuke( allowCancel )
|
||||
wait( 1.0 );
|
||||
}
|
||||
|
||||
clockObject notify("death");
|
||||
clockObject delete();
|
||||
}
|
||||
|
||||
killClockObjectOnEndOn(clockObject)
|
||||
{
|
||||
clockObject endon("death");
|
||||
|
||||
level waittill( "nuke_cancelled" );
|
||||
|
||||
clockObject delete();
|
||||
}
|
||||
|
||||
@ -173,7 +201,6 @@ cancelNukeOnDeath( player )
|
||||
player thread maps\mp\killstreaks\_emp::EMP_Use( 0, 0 );
|
||||
|
||||
level.nukeIncoming = undefined;
|
||||
|
||||
level.nukeDetonated = undefined;
|
||||
|
||||
maps\mp\gametypes\_gamelogic::resumeTimer();
|
||||
@ -221,7 +248,8 @@ nukeEffects()
|
||||
{
|
||||
if ( level.teamBased )
|
||||
{
|
||||
level thread maps\mp\killstreaks\_emp::EMP_JamTeam(level.otherTeam[level.nukeInfo.team], 60, 5, level.nukeInfo.player, true);
|
||||
if (level.nukeEmpDuration != 0)
|
||||
level thread maps\mp\killstreaks\_emp::EMP_JamTeam(level.otherTeam[level.nukeInfo.team], level.nukeEmpDuration, 5, level.nukeInfo.player, true);
|
||||
|
||||
foreach (player in level.players)
|
||||
{
|
||||
@ -234,7 +262,9 @@ nukeEffects()
|
||||
}
|
||||
else
|
||||
{
|
||||
level thread maps\mp\killstreaks\_emp::EMP_JamPlayers(level.nukeInfo.player, 60, 5, true);
|
||||
if (level.nukeEmpDuration != 0)
|
||||
level thread maps\mp\killstreaks\_emp::EMP_JamPlayers(level.nukeInfo.player, level.nukeEmpDuration, 5, true);
|
||||
|
||||
if(isDefined(level.nukeInfo.player))
|
||||
{
|
||||
level.nukeInfo.player.xpScaler = 2;
|
||||
@ -277,8 +307,9 @@ killNukeEntOn(nukeEnt)
|
||||
{
|
||||
nukeEnt endon("death");
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
level waittill("nuke_death");
|
||||
nukeEnt notify("death");
|
||||
|
||||
nukeEnt delete();
|
||||
}
|
||||
|
||||
@ -308,22 +339,12 @@ nukeAftermathEffect()
|
||||
|
||||
nukeSlowMo()
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
|
||||
//SetSlowMotion( <startTimescale>, <endTimescale>, <deltaTime> )
|
||||
setSlowMotion( 1.0, 0.25, 0.5 );
|
||||
level waittill( "nuke_death" );
|
||||
level waittill_either( "nuke_death", "nuke_cancelled" );
|
||||
setSlowMotion( 0.25, 1, 2.0 );
|
||||
}
|
||||
|
||||
fixVisionOnCancel()
|
||||
{
|
||||
level waittill ( "nuke_cancelled" );
|
||||
//reset nuke vision
|
||||
visionSetNaked( getDvar( "mapname" ), 2.0 );
|
||||
level.nukeVisionInProgress = undefined;
|
||||
}
|
||||
|
||||
nukeVision()
|
||||
{
|
||||
level endon ( "nuke_cancelled" );
|
||||
@ -335,9 +356,6 @@ nukeVision()
|
||||
|
||||
visionSetNaked( "mpnuke_aftermath", 5 );
|
||||
|
||||
level thread fixVisionOnCancel();
|
||||
|
||||
|
||||
if( level.NukeEndsGame )
|
||||
{
|
||||
wait 5;
|
||||
@ -346,7 +364,14 @@ nukeVision()
|
||||
else
|
||||
{
|
||||
wait 3.5;
|
||||
level notify ( "nuke_cancelled" );
|
||||
|
||||
if (level.nukePermAftermath)
|
||||
visionSetNaked( "aftermath", 1 );
|
||||
else
|
||||
{
|
||||
level.nukeVisionInProgress = undefined;
|
||||
visionSetNaked( getDvar( "mapname" ), 10 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user