mirror of
https://github.com/ineedbots/iw4_bot_warfare.git
synced 2025-05-12 15:34:51 +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_is_moab "1"
|
||||||
set scr_nuke_kills_all "0"
|
set scr_nuke_kills_all "0"
|
||||||
set scr_nuke_emp_duration "30"
|
set scr_nuke_emp_duration "30"
|
||||||
|
set scr_nuke_perm_vision "1"
|
||||||
|
|
||||||
// _emp
|
// _emp
|
||||||
set scr_emp_doesFriendlyFire "0"
|
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 common_scripts\utility;
|
||||||
#include maps\mp\_utility;
|
#include maps\mp\_utility;
|
||||||
|
|
||||||
@ -19,13 +40,19 @@ init()
|
|||||||
|
|
||||||
setDvarIfUninitialized( "scr_nukeTimer", 10 );
|
setDvarIfUninitialized( "scr_nukeTimer", 10 );
|
||||||
setDvarIfUninitialized( "scr_nukeCancelMode", 0 );
|
setDvarIfUninitialized( "scr_nukeCancelMode", 0 );
|
||||||
|
|
||||||
setDvarIfUninitialized( "scr_nuke_is_moab", true );
|
setDvarIfUninitialized( "scr_nuke_is_moab", true );
|
||||||
setDvarIfUninitialized( "scr_nuke_kills_all", 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.nukeTimer = getDvarInt( "scr_nukeTimer" );
|
||||||
level.cancelMode = getDvarInt( "scr_nukeCancelMode" );
|
level.cancelMode = getDvarInt( "scr_nukeCancelMode" );
|
||||||
|
|
||||||
level.nukeEndsGame = getDvarInt( "scr_nuke_is_moab" );
|
level.nukeEndsGame = getDvarInt( "scr_nuke_is_moab" );
|
||||||
level.nukeKillsAll = getDvarInt( "scr_nuke_kills_all" );
|
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 );
|
setDevDvarIfUninitialized( "scr_nukeDistance", 5000 );
|
||||||
@ -153,14 +180,15 @@ doNuke( allowCancel )
|
|||||||
wait( 1.0 );
|
wait( 1.0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
clockObject notify("death");
|
|
||||||
clockObject delete();
|
clockObject delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
killClockObjectOnEndOn(clockObject)
|
killClockObjectOnEndOn(clockObject)
|
||||||
{
|
{
|
||||||
clockObject endon("death");
|
clockObject endon("death");
|
||||||
|
|
||||||
level waittill( "nuke_cancelled" );
|
level waittill( "nuke_cancelled" );
|
||||||
|
|
||||||
clockObject delete();
|
clockObject delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,7 +201,6 @@ cancelNukeOnDeath( player )
|
|||||||
player thread maps\mp\killstreaks\_emp::EMP_Use( 0, 0 );
|
player thread maps\mp\killstreaks\_emp::EMP_Use( 0, 0 );
|
||||||
|
|
||||||
level.nukeIncoming = undefined;
|
level.nukeIncoming = undefined;
|
||||||
|
|
||||||
level.nukeDetonated = undefined;
|
level.nukeDetonated = undefined;
|
||||||
|
|
||||||
maps\mp\gametypes\_gamelogic::resumeTimer();
|
maps\mp\gametypes\_gamelogic::resumeTimer();
|
||||||
@ -221,7 +248,8 @@ nukeEffects()
|
|||||||
{
|
{
|
||||||
if ( level.teamBased )
|
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)
|
foreach (player in level.players)
|
||||||
{
|
{
|
||||||
@ -234,7 +262,9 @@ nukeEffects()
|
|||||||
}
|
}
|
||||||
else
|
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))
|
if(isDefined(level.nukeInfo.player))
|
||||||
{
|
{
|
||||||
level.nukeInfo.player.xpScaler = 2;
|
level.nukeInfo.player.xpScaler = 2;
|
||||||
@ -277,8 +307,9 @@ killNukeEntOn(nukeEnt)
|
|||||||
{
|
{
|
||||||
nukeEnt endon("death");
|
nukeEnt endon("death");
|
||||||
level endon ( "nuke_cancelled" );
|
level endon ( "nuke_cancelled" );
|
||||||
|
|
||||||
level waittill("nuke_death");
|
level waittill("nuke_death");
|
||||||
nukeEnt notify("death");
|
|
||||||
nukeEnt delete();
|
nukeEnt delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -308,22 +339,12 @@ nukeAftermathEffect()
|
|||||||
|
|
||||||
nukeSlowMo()
|
nukeSlowMo()
|
||||||
{
|
{
|
||||||
level endon ( "nuke_cancelled" );
|
|
||||||
|
|
||||||
//SetSlowMotion( <startTimescale>, <endTimescale>, <deltaTime> )
|
//SetSlowMotion( <startTimescale>, <endTimescale>, <deltaTime> )
|
||||||
setSlowMotion( 1.0, 0.25, 0.5 );
|
setSlowMotion( 1.0, 0.25, 0.5 );
|
||||||
level waittill( "nuke_death" );
|
level waittill_either( "nuke_death", "nuke_cancelled" );
|
||||||
setSlowMotion( 0.25, 1, 2.0 );
|
setSlowMotion( 0.25, 1, 2.0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
fixVisionOnCancel()
|
|
||||||
{
|
|
||||||
level waittill ( "nuke_cancelled" );
|
|
||||||
//reset nuke vision
|
|
||||||
visionSetNaked( getDvar( "mapname" ), 2.0 );
|
|
||||||
level.nukeVisionInProgress = undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
nukeVision()
|
nukeVision()
|
||||||
{
|
{
|
||||||
level endon ( "nuke_cancelled" );
|
level endon ( "nuke_cancelled" );
|
||||||
@ -335,9 +356,6 @@ nukeVision()
|
|||||||
|
|
||||||
visionSetNaked( "mpnuke_aftermath", 5 );
|
visionSetNaked( "mpnuke_aftermath", 5 );
|
||||||
|
|
||||||
level thread fixVisionOnCancel();
|
|
||||||
|
|
||||||
|
|
||||||
if( level.NukeEndsGame )
|
if( level.NukeEndsGame )
|
||||||
{
|
{
|
||||||
wait 5;
|
wait 5;
|
||||||
@ -346,7 +364,14 @@ nukeVision()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
wait 3.5;
|
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