Add balance option to give all noise alerts infinite range.
Should fix issues with vanilla-style teleport closets that store enemies out of bounds the middle of god-knows-where.
This commit is contained in:
parent
ff8101f30e
commit
9aa636aed5
18 changed files with 70 additions and 64 deletions
|
|
@ -86,4 +86,5 @@ user bool swwm_precisecrosshair = true; // use mod's own, more precise crosshai
|
|||
user bool swwm_ldspoil = false; // [LD] always shows "Legendary" prefix on Legendary monsters, otherwise only when they've transformed
|
||||
user bool swwm_camhud = false; // keep full hud visible when operating cameras, otherwise only shows messages
|
||||
user bool swwm_rageshader = false; // alternate ragekit shader for people with photosensitivity
|
||||
server bool swwm_uncapalert = false; // all noise alerts have infinite range
|
||||
server noarchive bool swwm_iseriouslywanttoplaythiswithbd = false; //self-explanatory
|
||||
|
|
|
|||
|
|
@ -152,6 +152,7 @@ SWWM_LDSPOIL = "Always Show Legendaries";
|
|||
SWWM_ETITLE = "Effect Options";
|
||||
SWWM_RAGESHADER = "Alternate Ragekit Shader";
|
||||
SWWM_CAMHUD = "Full HUD In Cameras";
|
||||
SWWM_UNCAPALERT = "Uncap Alert Range";
|
||||
TOOLTIP_SWWM_VOICETYPE = "Sets the voice pack for the player.";
|
||||
TOOLTIP_SWWM_MUTEVOICE = "Control what gets muted, if you'd rather have a more silent protagonist.";
|
||||
TOOLTIP_SWWM_FLASHSTRENGTH = "Screen flashes usually happen when firing some weapons, you can lower this if these effects are harmful for you.";
|
||||
|
|
@ -226,6 +227,7 @@ TOOLTIP_SWWM_PRECISECROSSHAIR = "Projects crosshair onto the spot the weapon wil
|
|||
TOOLTIP_SWWM_LDSPOIL = "[LegenDoom] Always show the \"Legendary\" prefix on healthbar tags, rather than after the monster has transformed. Disable if you'd rather not spoil the surprise.";
|
||||
TOOLTIP_SWWM_RAGESHADER = "The normal Ragekit shader may be harmful for people with photosensitivity. Enabling this switches to a fainter alternative.";
|
||||
TOOLTIP_SWWM_CAMHUD = "By default, when the player is looking through a camera, most HUD elements excluding messages will be hidden. Set this to keep the full HUD.";
|
||||
TOOLTIP_SWWM_UNCAPALERT = "If enabled, all weapons and projectiles will have infinite noise radius. May fix maps that employ vanilla-style teleport traps.";
|
||||
// knowledge base
|
||||
SWWM_COMINGSOON = "(coming soon)";
|
||||
SWWM_MISSTAB = "Mission";
|
||||
|
|
|
|||
|
|
@ -151,6 +151,7 @@ SWWM_LDSPOIL = "Mostrar Siempre Legendarios";
|
|||
SWWM_ETITLE = "Opciones de Efectos";
|
||||
SWWM_RAGESHADER = "Shader Alternativo de Ragekit";
|
||||
SWWM_CAMHUD = "HUD Completo en Cámaras";
|
||||
SWWM_UNCAPALERT = "Rango de Alerta Ilimitado";
|
||||
TOOLTIP_SWWM_VOICETYPE = "Selecciona el pack de voz para el jugador.";
|
||||
TOOLTIP_SWWM_MUTEVOICE = "Controla lo que se mutea, si prefieres tener un protagonista más silencioso.";
|
||||
TOOLTIP_SWWM_FLASHSTRENGTH = "Los destellos en pantalla suelen ocurrir al disparar algunas armas, puedes reducirlo si este tipo de efectos te causan malestar.";
|
||||
|
|
@ -225,6 +226,7 @@ TOOLTIP_SWWM_PRECISECROSSHAIR = "Proyecta la mira en el punto que el arma alcanz
|
|||
TOOLTIP_SWWM_LDSPOIL = "[LegenDoom] Muestra siempre el sufijo de \"Legendario\" en las etiquetas de barra de vida, en lugar de despues de que el enemigo se haya transformado. Desactiva si prefieres no estropear la sorpresa.";
|
||||
TOOLTIP_SWWM_RAGESHADER = "El shader normal del Ragekit puede ser dañino para personas con fotosensibilidad. Activando esto se cambia a una alternativa más suave.";
|
||||
TOOLTIP_SWWM_CAMHUD = "Por defecto, cuando el jugador está mirando por una cámara, la mayor parte de elementos del HUD excluyendo mensajes son ocultados. Activa esto para mantener el HUD completo.";
|
||||
TOOLTIP_SWWM_UNCAPALERT = "Si se activa, todas las armas y proyectiles tendrán un rango de ruido ilimitado. Puede arreglar mapas que usan trampas de teletransporte estilo vanilla.";
|
||||
// knowledge base
|
||||
SWWM_COMINGSOON = "(próximamente)";
|
||||
SWWM_MISSTAB = "Misión";
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
[default]
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r623 \cu(Tue 17 Nov 13:11:44 CET 2020)";
|
||||
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r624 \cu(Thu 19 Nov 21:33:06 CET 2020)";
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ OptionMenu "SWWMOptionMenu"
|
|||
Option "$SWWM_DOOMFALL", "swwm_doomfall", "YesNo"
|
||||
Option "$SWWM_BALLUSE", "swwm_balluse", "YesNo"
|
||||
Option "$SWWM_CBTALL", "swwm_cbtall", "YesNo"
|
||||
Option "$SWWM_UNCAPALERT", "swwm_uncapalert", "YesNo"
|
||||
Option "$SWWM_CAPMCRANGE", "swwm_capmcrange", "YesNo"
|
||||
Option "$SWWM_NOTRACK", "swwm_notrack", "YesNo"
|
||||
Option "$SWWM_YNYKRONALERT", "swwm_ynykronalert", "YesNo"
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@ Class HellblazerMissile : Actor
|
|||
A_StopSound(CHAN_BODY);
|
||||
A_StartSound("hellblazer/hitm",CHAN_WEAPON,attenuation:.8);
|
||||
A_StartSound("hellblazer/hitm",CHAN_VOICE,attenuation:.5);
|
||||
A_AlertMonsters(2500);
|
||||
A_AlertMonsters(swwm_uncapalert?0:2500);
|
||||
Spawn("HellblazerExplLight",pos);
|
||||
int numpt = Random[Hellblazer](12,24);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
|
|
@ -399,7 +399,7 @@ Class HellblazerCrackshot : HellblazerMissile
|
|||
A_StopSound(CHAN_BODY);
|
||||
A_StartSound("hellblazer/hitc",CHAN_WEAPON,attenuation:.7);
|
||||
A_StartSound("hellblazer/hitc",CHAN_VOICE,attenuation:.4);
|
||||
A_AlertMonsters(3000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:3000);
|
||||
Spawn("HellblazerExplLight",pos);
|
||||
int numpt = Random[Hellblazer](12,24);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
|
|
@ -469,7 +469,7 @@ Class HellblazerRavager : HellblazerMissile
|
|||
A_StopSound(CHAN_BODY);
|
||||
A_StartSound("hellblazer/hitr",CHAN_WEAPON,attenuation:.6);
|
||||
A_StartSound("hellblazer/hitr",CHAN_VOICE,attenuation:.3);
|
||||
A_AlertMonsters(4500);
|
||||
A_AlertMonsters(swwm_uncapalert?0:4500);
|
||||
Spawn("HellblazerExplLight",pos);
|
||||
int numpt = Random[Hellblazer](16,28);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
|
|
@ -548,7 +548,7 @@ Class HellblazerWarhead : HellblazerMissile
|
|||
A_StopSound(CHAN_BODY);
|
||||
A_StartSound("hellblazer/hitw",CHAN_WEAPON,attenuation:.4);
|
||||
A_StartSound("hellblazer/hitw",CHAN_VOICE,attenuation:.1);
|
||||
A_AlertMonsters(40000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:40000);
|
||||
Spawn("HellblazerExplLight3",pos);
|
||||
int numpt = Random[Hellblazer](20,30);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
|
|
@ -752,7 +752,7 @@ Mixin Class HellblazerGrenade
|
|||
ExplodeMissile();
|
||||
return;
|
||||
}
|
||||
if ( swwm_extraalert ) A_AlertMonsters(300);
|
||||
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:300);
|
||||
A_StartSound("hellblazer/bounce",CHAN_ITEM);
|
||||
rollvel = FRandom[Hellblazer](-16,16);
|
||||
anglevel = FRandom[Hellblazer](-16,16);
|
||||
|
|
@ -839,7 +839,7 @@ Class HellblazerClusterMini : HellblazerMissile2
|
|||
A_StopSound(CHAN_BODY);
|
||||
A_StartSound("hellblazer/hitcs",CHAN_WEAPON,attenuation:.9);
|
||||
A_StartSound("hellblazer/hitcs",CHAN_VOICE,attenuation:.5);
|
||||
A_AlertMonsters(2000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:2000);
|
||||
Spawn("HellblazerExplLight2",pos);
|
||||
int numpt = Random[Hellblazer](4,8);
|
||||
for ( int i=0; i<numpt; i++ )
|
||||
|
|
@ -1323,7 +1323,7 @@ Class Hellblazer : SWWMWeapon
|
|||
"HellblazerMissile2","HellblazerCrackshot2","HellblazerRavager2","HellblazerWarhead2"};
|
||||
static const Color cols[] = {Color(4,3,2),Color(2,4,2),Color(4,2,2),Color(3,2,4)};
|
||||
A_StartSound(bAlt?"hellblazer/altfire":"hellblazer/fire",CHAN_WEAPON,CHANF_OVERLAP,attenuation:(bAlt?1.7:.8));
|
||||
A_AlertMonsters(bAlt?400:1200);
|
||||
A_AlertMonsters(swwm_uncapalert?0:bAlt?400:1200);
|
||||
int qstr = bAlt?4:5;
|
||||
A_QuakeEx(qstr,qstr,qstr,bAlt?4:12,0,8,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.12*qstr);
|
||||
A_ZoomFactor(bAlt?.96:.93,ZOOM_INSTANT);
|
||||
|
|
|
|||
|
|
@ -379,7 +379,7 @@ Class BustedQuake : Actor
|
|||
if ( special1 < 3 ) A_StartSound("wallbuster/smallbust",CHAN_VOICE,CHANF_OVERLAP,min(1.,special1*.32),1./max(1.,special1*.35),1.-special1*.05);
|
||||
else A_StartSound("wallbuster/bigbust",CHAN_VOICE,CHANF_OVERLAP,min(1.,special1*.16),1./max(1.,special1*.35),1.-special1*.03);
|
||||
A_QuakeEx(special1,special1,special1,20+special1*5,0,300+special1*90,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:special1*.1);
|
||||
A_AlertMonsters(2500);
|
||||
A_AlertMonsters(swwm_uncapalert?0:2500);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
|
|
@ -1266,7 +1266,7 @@ Class Wallbuster : SWWMWeapon
|
|||
A_QuakeEx(qk,qk,qk,ql,0,8,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:qk*.15);
|
||||
A_ZoomFactor(1.-qk*.04,ZOOM_INSTANT);
|
||||
A_ZoomFactor(1.);
|
||||
A_AlertMonsters(alertness);
|
||||
A_AlertMonsters(swwm_uncapalert?0:alertness);
|
||||
A_PlayerFire();
|
||||
if ( redflashstr > 0 )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@ Class EvisceratorChunk : Actor
|
|||
pitchvel = FRandom[Eviscerator](50,100)*RandomPick[Eviscerator](-1,1)*(vel.length()/speed);
|
||||
rollvel = FRandom[Eviscerator](50,100)*RandomPick[Eviscerator](-1,1)*(vel.length()/speed);
|
||||
A_StartSound("eviscerator/hit",CHAN_WEAPON,CHANF_OVERLAP,.4);
|
||||
if ( swwm_extraalert ) A_AlertMonsters(300);
|
||||
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:300);
|
||||
if ( vel.length() < 3 )
|
||||
{
|
||||
A_Stop();
|
||||
|
|
@ -274,7 +274,7 @@ Class EvisceratorChunk : Actor
|
|||
l.pitch = -pitch;
|
||||
A_StartSound("eviscerator/hith",CHAN_WEAPON,CHANF_OVERLAP,.2);
|
||||
}
|
||||
if ( swwm_extraalert || !Random[Eviscerator](0,3) ) A_AlertMonsters(900);
|
||||
if ( swwm_extraalert || !Random[Eviscerator](0,3) ) A_AlertMonsters(swwm_uncapalert?0:900);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
@ -415,7 +415,7 @@ Class EvisceratorProj : Actor
|
|||
A_QuakeEx(6,6,6,20,0,1200,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:.7);
|
||||
A_StartSound("eviscerator/shell",CHAN_WEAPON,attenuation:.5);
|
||||
A_StartSound("eviscerator/shell",CHAN_VOICE,attenuation:.3);
|
||||
A_AlertMonsters(3000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:3000);
|
||||
if ( !Tracer ) Spawn("EvisceratorProjSmoke",pos);
|
||||
Spawn("EvisceratorProjLight",pos);
|
||||
Vector3 x, y, z;
|
||||
|
|
@ -688,7 +688,7 @@ Class Eviscerator : SWWMWeapon
|
|||
A_SWWMFlash();
|
||||
A_PlayerFire();
|
||||
SWWMHandler.DoFlash(self,Color(64,255,224,96),3);
|
||||
A_AlertMonsters(4500);
|
||||
A_AlertMonsters(swwm_uncapalert?0:4500);
|
||||
Vector3 x, y, z, x2, y2, z2, dir, origin;
|
||||
double a, s;
|
||||
[x, y, z] = swwm_CoordUtil.GetAxes(pitch,angle,roll);
|
||||
|
|
@ -745,7 +745,7 @@ Class Eviscerator : SWWMWeapon
|
|||
A_SWWMFlash();
|
||||
A_PlayerFire();
|
||||
SWWMHandler.DoFlash(self,Color(16,255,224,96),3);
|
||||
A_AlertMonsters(4000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:4000);
|
||||
Vector3 x, y, z, x2, y2, z2, dir, origin;
|
||||
double a, s;
|
||||
[x, y, z] = swwm_CoordUtil.GetAxes(pitch,angle,roll);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ Class AirBullet : FastProjectile
|
|||
}
|
||||
void A_Splode()
|
||||
{
|
||||
A_AlertMonsters(8000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:8000);
|
||||
if ( target && SWWMUtility.SphereIntersect(target,pos,120) )
|
||||
{
|
||||
// push away
|
||||
|
|
@ -251,7 +251,7 @@ Class DeepImpact : SWWMWeapon
|
|||
invoker.charge = 0;
|
||||
A_StartSound("deepimpact/charge",CHAN_WEAPONEXTRA);
|
||||
A_QuakeEx(2,2,2,35,0,1,"",QF_RELATIVE|QF_SCALEUP,rollIntensity:.2);
|
||||
A_AlertMonsters(100);
|
||||
A_AlertMonsters(swwm_uncapalert?0:100);
|
||||
}
|
||||
|
||||
action void A_ChargeUp()
|
||||
|
|
@ -275,7 +275,7 @@ Class DeepImpact : SWWMWeapon
|
|||
let weap = Weapon(invoker);
|
||||
if ( !weap ) return;
|
||||
A_StartSound("deepimpact/dryfire",CHAN_WEAPON,CHANF_OVERLAP,.5);
|
||||
A_AlertMonsters(70);
|
||||
A_AlertMonsters(swwm_uncapalert?0:70);
|
||||
Vector3 x, y, z;
|
||||
[x, y, z] = swwm_CoordUtil.GetAxes(pitch,angle,roll);
|
||||
Vector3 origin = level.Vec3Offset(Vec2OffsetZ(0,0,player.viewz),10*x+2*y-3*z);
|
||||
|
|
@ -297,7 +297,7 @@ Class DeepImpact : SWWMWeapon
|
|||
if ( !weap ) return;
|
||||
A_QuakeEx(1,1,1,2,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.05);
|
||||
A_StartSound("deepimpact/fire",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
A_AlertMonsters(300);
|
||||
A_AlertMonsters(swwm_uncapalert?0:300);
|
||||
A_PlayerFire();
|
||||
invoker.clipcount = max(0,invoker.clipcount-3);
|
||||
Vector3 x, y, z, dir;
|
||||
|
|
@ -416,7 +416,7 @@ Class DeepImpact : SWWMWeapon
|
|||
A_StopSound(CHAN_WEAPONEXTRA);
|
||||
A_QuakeEx(6,6,6,10,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.7);
|
||||
A_StartSound("deepimpact/altfire",CHAN_WEAPON,CHANF_OVERLAP,attenuation:.5);
|
||||
A_AlertMonsters(8000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:8000);
|
||||
A_PlayerFire();
|
||||
invoker.clipcount = 0;
|
||||
Vector3 x, y, z, x2, y2, z2;
|
||||
|
|
|
|||
|
|
@ -1307,7 +1307,7 @@ Class SWWMWeapon : Weapon abstract
|
|||
A_QuakeEx(quakin/2,quakin/2,quakin/2,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.06*quakin);
|
||||
if ( raging ) A_StartSound(bloodless?"pusher/althit":"pusher/altmeat",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
else A_StartSound((hitsound!="")?hitsound:bloodless?"demolitionist/punch":"demolitionist/punchf",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
A_AlertMonsters(300);
|
||||
A_AlertMonsters(swwm_uncapalert?0:300);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
@ -1383,7 +1383,7 @@ Class SWWMWeapon : Weapon abstract
|
|||
int quakin = raging?4:1;
|
||||
A_QuakeEx(quakin,quakin,quakin,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:0.12*quakin);
|
||||
A_StartSound(raging?"pusher/althit":(hitsound!="")?hitsound:"demolitionist/punch",CHAN_WEAPON,CHANF_OVERLAP);
|
||||
A_AlertMonsters(100);
|
||||
A_AlertMonsters(swwm_uncapalert?0:100);
|
||||
if ( raging ) raging.DoHitFX();
|
||||
if ( swwm_omnibust ) BusterWall.BustLinetrace(d,raging?(dmg*8):dmg,self,d.HitDir,d.HitLocation.z);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@ Class PusherProjectile : Actor
|
|||
// re-do the bounce with our formula
|
||||
vel = .8*((vel dot HitNormal)*HitNormal*(-1.8+FRandom[Pusher](.0,.8))+vel);
|
||||
A_StartSound("pusher/bounce",volume:.3);
|
||||
A_AlertMonsters(300);
|
||||
A_AlertMonsters(swwm_uncapalert?0:300);
|
||||
if ( vel.length() < 5 )
|
||||
{
|
||||
special1 = 0;
|
||||
|
|
@ -400,7 +400,7 @@ Class PusherWeapon : SWWMWeapon
|
|||
if ( d.HitType != TRACE_HitNone )
|
||||
{
|
||||
A_QuakeEx(2,2,2,7,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.8);
|
||||
A_AlertMonsters(1200);
|
||||
A_AlertMonsters(swwm_uncapalert?0:1200);
|
||||
int dmg = int(5+invoker.chargelevel*3);
|
||||
if ( d.HitType == TRACE_HitActor )
|
||||
{
|
||||
|
|
@ -460,7 +460,7 @@ Class PusherWeapon : SWWMWeapon
|
|||
s.scale *= 1.4;
|
||||
s.alpha *= .03;
|
||||
}
|
||||
if ( swwm_extraalert || !(invoker.hitcnt%20) ) A_AlertMonsters(500);
|
||||
if ( swwm_extraalert || !(invoker.hitcnt%20) ) A_AlertMonsters(swwm_uncapalert?0:500);
|
||||
invoker.hitcnt++;
|
||||
}
|
||||
|
||||
|
|
@ -487,7 +487,7 @@ Class PusherWeapon : SWWMWeapon
|
|||
if ( d.HitType != TRACE_HitNone )
|
||||
{
|
||||
A_QuakeEx(8,8,8,12,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.8);
|
||||
A_AlertMonsters(1600);
|
||||
A_AlertMonsters(swwm_uncapalert?0:1600);
|
||||
int dmg = int(300*invoker.chargelevel);
|
||||
if ( d.HitType == TRACE_HitActor )
|
||||
{
|
||||
|
|
@ -560,7 +560,7 @@ Class PusherWeapon : SWWMWeapon
|
|||
s.alpha *= .1;
|
||||
}
|
||||
}
|
||||
A_AlertMonsters(1200);
|
||||
A_AlertMonsters(swwm_uncapalert?0:1200);
|
||||
invoker.chargelevel = 0.;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ Class Demolitionist : PlayerPawn
|
|||
if ( dashboost < .2 ) dashboost = 0.;
|
||||
else
|
||||
{
|
||||
if ( swwm_extraalert ) A_AlertMonsters(800);
|
||||
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:800);
|
||||
dashboost *= (player.cmd.buttons&BT_USER2)?.9:.1;
|
||||
}
|
||||
mystats.fuelusage += dashfuel-max(0.,dashfuel-dashboost);
|
||||
|
|
@ -365,7 +365,7 @@ Class Demolitionist : PlayerPawn
|
|||
if ( dashboost < .2 ) dashboost = 0.;
|
||||
else
|
||||
{
|
||||
if ( swwm_extraalert ) A_AlertMonsters(800);
|
||||
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:800);
|
||||
dashboost *= (player.cmd.buttons&BT_JUMP)?.95:.4;
|
||||
last_boost = level.maptime+1;
|
||||
}
|
||||
|
|
@ -617,7 +617,7 @@ Class Demolitionist : PlayerPawn
|
|||
s.special1 = int(-lastvelz);
|
||||
ReactionTime = 17;
|
||||
A_Stop();
|
||||
A_AlertMonsters(2500);
|
||||
A_AlertMonsters(swwm_uncapalert?0:2500);
|
||||
if ( player == players[consoleplayer] )
|
||||
{
|
||||
A_StartSound("demolitionist/hardland",CHAN_FOOTSTEP,CHANF_OVERLAP);
|
||||
|
|
@ -740,7 +740,7 @@ Class Demolitionist : PlayerPawn
|
|||
if ( a.bACTLIKEBRIDGE && (diff.z <= -a.Height) ) continue; // don't bump bridges if hit by above
|
||||
// large monsters will stop the player (unless hit from above if we're going at ground pound speed)
|
||||
A_QuakeEx(4,4,4,10,0,128,"",QF_RELATIVE|QF_SCALEDOWN);
|
||||
A_AlertMonsters(800);
|
||||
A_AlertMonsters(swwm_uncapalert?0:800);
|
||||
A_StartSound("demolitionist/bump",CHAN_DAMAGE,CHANF_OVERLAP);
|
||||
a.A_StartSound("demolitionist/bump",CHAN_DAMAGE,CHANF_OVERLAP);
|
||||
bumptic = gametic+int(20+spd/4.);
|
||||
|
|
@ -860,7 +860,7 @@ Class Demolitionist : PlayerPawn
|
|||
A_StartSound("demolitionist/bump",CHAN_DAMAGE,CHANF_OVERLAP);
|
||||
bumptic = gametic+int(20+spd/4.);
|
||||
A_QuakeEx(8,8,8,16,0,128,"",QF_RELATIVE|QF_SCALEDOWN);
|
||||
A_AlertMonsters(800);
|
||||
A_AlertMonsters(swwm_uncapalert?0:800);
|
||||
vel *= .2;
|
||||
vel -= dir*(10+(spd*30/mass));
|
||||
vel.z += 5+(spd*(10/mass));
|
||||
|
|
@ -953,7 +953,7 @@ Class Demolitionist : PlayerPawn
|
|||
A_StartSound("demolitionist/bump",CHAN_DAMAGE,CHANF_OVERLAP);
|
||||
bumptic = gametic+int(20+spd/4.);
|
||||
A_QuakeEx(8,8,8,16,0,128,"",QF_RELATIVE|QF_SCALEDOWN);
|
||||
A_AlertMonsters(800);
|
||||
A_AlertMonsters(swwm_uncapalert?0:800);
|
||||
vel *= .2;
|
||||
vel -= dir*(10+(spd*30/mass));
|
||||
vel += wallnorm*(10+(spd*50/mass));
|
||||
|
|
@ -1414,7 +1414,7 @@ Class Demolitionist : PlayerPawn
|
|||
s.special1 = 30;
|
||||
ReactionTime = 17;
|
||||
A_Stop();
|
||||
A_AlertMonsters(2500);
|
||||
A_AlertMonsters(swwm_uncapalert?0:2500);
|
||||
if ( player == players[consoleplayer] )
|
||||
{
|
||||
A_StartSound("demolitionist/hardland",CHAN_FOOTSTEP,CHANF_OVERLAP);
|
||||
|
|
|
|||
|
|
@ -858,7 +858,7 @@ Class RagekitPower : Powerup
|
|||
}
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
lastrage = SWWMHandler.AddOneliner("ragekit",2,20)+40;
|
||||
Owner.A_AlertMonsters(5000);
|
||||
Owner.A_AlertMonsters(swwm_uncapalert?0:5000);
|
||||
SWWMHandler.DoFlash(Owner,Color(64,255,0,0),30);
|
||||
Owner.A_QuakeEx(8,8,8,20,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:1.);
|
||||
lasteffect = int.min;
|
||||
|
|
@ -880,7 +880,7 @@ Class RagekitPower : Powerup
|
|||
SWWMHandler.DoFlash(Owner,Color(16,255,0,0),5);
|
||||
if ( Owner.GiveBody(1,100) )
|
||||
SWWMScoreObj.Spawn(1,Owner.Vec3Offset(FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8)+Owner.Height/2),Font.CR_BLUE);
|
||||
Owner.A_AlertMonsters(2000);
|
||||
Owner.A_AlertMonsters(swwm_uncapalert?0:2000);
|
||||
if ( (Owner.player == players[consoleplayer]) && (gametic > lastrage) && (CVar.GetCVar('swwm_mutevoice',players[consoleplayer]).GetInt() < 2) )
|
||||
lastrage = SWWMHandler.AddOneliner("ragekit",2,5)+40;
|
||||
Owner.A_QuakeEx(2,2,2,Random[Rage](1,2),0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.5);
|
||||
|
|
@ -934,7 +934,7 @@ Class RagekitPower : Powerup
|
|||
if ( level.maptime <= lasteffect+5 ) return;
|
||||
if ( Owner.GiveBody(5,100) )
|
||||
SWWMScoreObj.Spawn(5,Owner.Vec3Offset(FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8)+Owner.Height/2),Font.CR_BLUE);
|
||||
Owner.A_AlertMonsters(5000);
|
||||
Owner.A_AlertMonsters(swwm_uncapalert?0:5000);
|
||||
SWWMHandler.DoFlash(Owner,Color(64,255,0,0),10);
|
||||
Owner.A_QuakeEx(8,8,8,Random[Rage](3,8),0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:1.);
|
||||
if ( (Owner.player == players[consoleplayer]) && (gametic > lastrage) )
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ Class SpreadImpact : Actor
|
|||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
if ( swwm_extraalert ) A_AlertMonsters(200);
|
||||
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:200);
|
||||
A_StartSound("spreadgun/pellet",CHAN_VOICE,CHANF_DEFAULT,.4,4.);
|
||||
A_SprayDecal("TinyPock",-20);
|
||||
int numpt = Random[Spreadgun](2,4)-special1;
|
||||
|
|
@ -203,7 +203,7 @@ Class SlugImpact : Actor
|
|||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
if ( swwm_extraalert ) A_AlertMonsters(500);
|
||||
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:500);
|
||||
A_StartSound("spreadgun/slug",CHAN_VOICE,CHANF_DEFAULT,1.,2.);
|
||||
A_SprayDecal("Pock",-20);
|
||||
int numpt = Random[Spreadgun](5,10)-special1;
|
||||
|
|
@ -499,7 +499,7 @@ Class SaltImpact : Actor
|
|||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
A_AlertMonsters(6000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:6000);
|
||||
SWWMUtility.DoExplosion(self,25+special2*5,15000,100,40);
|
||||
A_QuakeEx(3,3,3,10,0,250,"",QF_RELATIVE|QF_SCALEDOWN,falloff:150,rollintensity:0.2);
|
||||
A_StartSound("spreadgun/salt",CHAN_VOICE,attenuation:.35);
|
||||
|
|
@ -1275,7 +1275,7 @@ Class BallImpact : Actor
|
|||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
if ( swwm_extraalert ) A_AlertMonsters(500);
|
||||
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:500);
|
||||
A_QuakeEx(3,3,3,12,0,200,"",QF_RELATIVE|QF_SCALEDOWN,falloff:100,rollIntensity:.3);
|
||||
A_StartSound("spreadgun/ball",CHAN_VOICE);
|
||||
A_SprayDecal("WallCrack",-20);
|
||||
|
|
@ -1354,7 +1354,7 @@ Class TheBall : Actor
|
|||
Spawn("SWWMItemFog",pos);
|
||||
int whichclonk = Random[Spreadgun](1,11);
|
||||
String snd = String.Format("misc/clonk%d",whichclonk);
|
||||
A_AlertMonsters(2500);
|
||||
A_AlertMonsters(swwm_uncapalert?0:2500);
|
||||
A_StartSound(snd,CHAN_VOICE,CHANF_OVERLAP,1.,.2);
|
||||
A_StartSound(snd,CHAN_VOICE,CHANF_OVERLAP,1.,.2);
|
||||
victim.A_QuakeEx(8,8,8,8,0,3000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:1.);
|
||||
|
|
@ -1593,7 +1593,7 @@ Class GoldenImpact : Actor
|
|||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
A_AlertMonsters(40000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:40000);
|
||||
SWWMUtility.DoExplosion(self,7777,40000,600,500,DE_EXTRAZTHRUST);
|
||||
A_QuakeEx(9,9,9,40,0,5000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:500,rollintensity:1.5);
|
||||
A_StartSound("spreadgun/goldexpl",CHAN_VOICE,attenuation:.3);
|
||||
|
|
@ -2164,7 +2164,7 @@ Class Spreadgun : SWWMWeapon
|
|||
if ( invoker.loadammo != types[i] ) continue;
|
||||
A_SWWMFlash(flashes[i]);
|
||||
A_StartSound(sounds[i],CHAN_WEAPON,CHANF_OVERLAP,attenuation:.6);
|
||||
A_AlertMonsters(louds[i]);
|
||||
A_AlertMonsters(swwm_uncapalert?0:louds[i]);
|
||||
A_QuakeEx(quakes[i],quakes[i],quakes[i],9,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.2*quakes[i]);
|
||||
A_ZoomFactor(1.-quakes[i]*.04,ZOOM_INSTANT);
|
||||
A_ZoomFactor(1.);
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ Class BigBiospark : Actor
|
|||
void A_BigSparkExplode()
|
||||
{
|
||||
A_StopSound(CHAN_VOICE);
|
||||
A_AlertMonsters(15000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:15000);
|
||||
SWWMUtility.DoExplosion(self,350,90000,250,100,flags:DE_HOWL);
|
||||
A_QuakeEx(9,9,9,30,0,1400,"",QF_RELATIVE|QF_SCALEDOWN,falloff:500,rollIntensity:1.5);
|
||||
A_StartSound("biospark/bighit",CHAN_ITEM,attenuation:.4);
|
||||
|
|
@ -537,7 +537,7 @@ Class BiosparkBall : Actor
|
|||
void A_SparkExplode()
|
||||
{
|
||||
A_StopSound(CHAN_VOICE);
|
||||
A_AlertMonsters(5000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:5000);
|
||||
SWWMUtility.DoExplosion(self,50,20000,150,80,flags:DE_HOWL);
|
||||
A_QuakeEx(6,6,6,16,0,800,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:.8);
|
||||
A_StartSound("biospark/hit",CHAN_ITEM,attenuation:.8);
|
||||
|
|
@ -701,7 +701,7 @@ Class BiosparkBeamImpact : Actor
|
|||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
A_AlertMonsters(2000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:2000);
|
||||
SWWMUtility.DoExplosion(self,40,20000,100,40,flags:DE_HOWL);
|
||||
A_QuakeEx(3,3,3,12,0,800,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:.4);
|
||||
A_StartSound("biospark/beamhit",CHAN_ITEM,attenuation:1.1);
|
||||
|
|
@ -903,7 +903,7 @@ Class BiosparkComboImpact : Actor
|
|||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
A_AlertMonsters(6000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:6000);
|
||||
SWWMUtility.DoExplosion(self,bAMBUSH?(200+Args[0]*25):150,bAMBUSH?120000:60000,bAMBUSH?500:300,bAMBUSH?350:150,DE_HOWL);
|
||||
A_QuakeEx(9,9,9,25,0,2000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:600,rollIntensity:1.5);
|
||||
A_StartSound("biospark/bighit",CHAN_ITEM,attenuation:.4);
|
||||
|
|
@ -1793,7 +1793,7 @@ Class BiosparkCore : Actor
|
|||
}
|
||||
void A_Deploy()
|
||||
{
|
||||
A_AlertMonsters(700);
|
||||
A_AlertMonsters(swwm_uncapalert?0:700);
|
||||
A_QuakeEx(7,7,7,8,0,1400,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:1.);
|
||||
A_StartSound("biospark/deploy",CHAN_ITEM,attenuation:.7);
|
||||
A_StartSound("biospark/deploy",CHAN_WEAPON,attenuation:.5);
|
||||
|
|
@ -1808,7 +1808,7 @@ Class BiosparkCore : Actor
|
|||
{
|
||||
bNOGRAVITY = true;
|
||||
A_SetRenderStyle(1.,STYLE_Add);
|
||||
A_AlertMonsters(5000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:5000);
|
||||
SWWMUtility.DoExplosion(self,50,120000,150,60);
|
||||
A_QuakeEx(6,6,6,16,0,800,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollIntensity:.8);
|
||||
Scale *= FRandom[ExploS](0.8,1.1);
|
||||
|
|
@ -2036,7 +2036,7 @@ Class Sparkster : SWWMWeapon
|
|||
A_ZoomFactor(1.);
|
||||
A_SWWMFlash();
|
||||
SWWMHandler.DoFlash(self,Color(64,192,255,96),3);
|
||||
A_AlertMonsters(5000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:5000);
|
||||
A_PlayerFire();
|
||||
a = FRandom[Spread](0,360);
|
||||
s = FRandom[Spread](0,.007);
|
||||
|
|
@ -2056,7 +2056,7 @@ Class Sparkster : SWWMWeapon
|
|||
A_ZoomFactor(1.);
|
||||
A_SWWMFlash();
|
||||
SWWMHandler.DoFlash(self,Color(64,192,255,96),3);
|
||||
A_AlertMonsters(4000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:4000);
|
||||
A_PlayerFire();
|
||||
a = FRandom[Spread](0,360);
|
||||
s = FRandom[Spread](0,.003);
|
||||
|
|
@ -2074,7 +2074,7 @@ Class Sparkster : SWWMWeapon
|
|||
A_QuakeEx(5,5,5,10,0,8,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:.6);
|
||||
A_ZoomFactor(.94,ZOOM_INSTANT);
|
||||
A_ZoomFactor(1.);
|
||||
A_AlertMonsters(1200);
|
||||
A_AlertMonsters(swwm_uncapalert?0:1200);
|
||||
A_PlayerFire();
|
||||
SWWMUtility.DoKnockback(self,-x,2500.);
|
||||
a = FRandom[Spread](0,360);
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ Class ExplodiumMagProj : Actor
|
|||
bNOGRAVITY = true;
|
||||
A_SetRenderStyle(1.,STYLE_Add);
|
||||
Scale *= 2.+.2*special1;
|
||||
A_AlertMonsters(6000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:6000);
|
||||
SWWMUtility.DoExplosion(self,20+15*special1,80000+8000*special1,90+10*special1,60,DE_EXTRAZTHRUST);
|
||||
A_QuakeEx(9,9,9,30,0,400+80*special1,"",QF_RELATIVE|QF_SCALEDOWN,falloff:300,rollintensity:2.);
|
||||
A_StartSound("explodium/maghit",CHAN_VOICE,attenuation:.35);
|
||||
|
|
@ -240,7 +240,7 @@ Class ExplodiumBulletImpact : Actor
|
|||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
A_AlertMonsters(3000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:3000);
|
||||
SWWMUtility.DoExplosion(self,25,80000,90,40,DE_EXTRAZTHRUST);
|
||||
A_QuakeEx(4,4,4,10,0,250,"",QF_RELATIVE|QF_SCALEDOWN,falloff:150,rollintensity:0.2);
|
||||
A_StartSound("explodium/hit",CHAN_VOICE,attenuation:.6);
|
||||
|
|
@ -380,7 +380,7 @@ Class ExplodiumGun : SWWMWeapon
|
|||
A_ZoomFactor(1.);
|
||||
A_SWWMFlash();
|
||||
SWWMHandler.DoFlash(self,Color(64,255,224,64),3);
|
||||
A_AlertMonsters(5000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:5000);
|
||||
A_PlayerFire();
|
||||
Vector3 x, y, z, x2, y2, z2;
|
||||
[x, y, z] = swwm_CoordUtil.GetAxes(pitch,angle,roll);
|
||||
|
|
@ -799,7 +799,7 @@ Class DualExplodiumGun : SWWMWeapon
|
|||
else if ( side == -1 )
|
||||
A_LeftFlash("LeftFlash");
|
||||
SWWMHandler.DoFlash(self,Color(64,255,224,64),3);
|
||||
A_AlertMonsters(5000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:5000);
|
||||
A_PlayerFire();
|
||||
Vector3 x, y, z, x2, y2, z2;
|
||||
[x, y, z] = swwm_CoordUtil.GetAxes(pitch,angle,roll);
|
||||
|
|
|
|||
|
|
@ -541,7 +541,7 @@ Class CandyGunProj : Actor
|
|||
bNOGRAVITY = true;
|
||||
A_SetRenderStyle(1.,STYLE_Add);
|
||||
Scale *= 7.+.2*special1;
|
||||
A_AlertMonsters(40000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:40000);
|
||||
SWWMUtility.DoExplosion(self,5000+900*special1,80000+15000*special1,500+30*special1,300,DE_EXTRAZTHRUST);
|
||||
A_QuakeEx(9,9,9,70,0,1500+100*special1,"",QF_RELATIVE|QF_SCALEDOWN,falloff:1200,rollintensity:2.);
|
||||
A_StartSound("candygun/gunhit",CHAN_VOICE,attenuation:.24);
|
||||
|
|
@ -657,7 +657,7 @@ Class CandyMagProj : Actor
|
|||
bNOGRAVITY = true;
|
||||
A_SetRenderStyle(1.,STYLE_Add);
|
||||
Scale *= 3.+.2*special1;
|
||||
A_AlertMonsters(20000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:20000);
|
||||
SWWMUtility.DoExplosion(self,1000+900*special1,60000+15000*special1,200+20*special1,100,DE_EXTRAZTHRUST);
|
||||
A_QuakeEx(9,9,9,30,0,500+80*special1,"",QF_RELATIVE|QF_SCALEDOWN,falloff:500,rollintensity:2.);
|
||||
A_StartSound("candygun/maghit",CHAN_VOICE,attenuation:.24);
|
||||
|
|
@ -752,7 +752,7 @@ Class CandyBulletImpact : Actor
|
|||
override void PostBeginPlay()
|
||||
{
|
||||
Super.PostBeginPlay();
|
||||
A_AlertMonsters(9000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:9000);
|
||||
SWWMUtility.DoExplosion(self,1200,48000,250,80,DE_EXTRAZTHRUST);
|
||||
A_QuakeEx(6,6,6,15,0,300,"",QF_RELATIVE|QF_SCALEDOWN,falloff:200,rollintensity:0.2);
|
||||
A_StartSound("candygun/hit",CHAN_VOICE,attenuation:.25);
|
||||
|
|
@ -972,7 +972,7 @@ Class CandyGun : SWWMWeapon
|
|||
A_ZoomFactor(1.);
|
||||
A_SWWMFlash();
|
||||
SWWMHandler.DoFlash(self,Color(64,224,64,255),5);
|
||||
A_AlertMonsters(9000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:9000);
|
||||
A_PlayerFire();
|
||||
Vector3 x, y, z, x2, y2, z2;
|
||||
[x, y, z] = swwm_CoordUtil.GetAxes(pitch,angle,roll);
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ Class SilverImpact : Actor
|
|||
{
|
||||
Super.PostBeginPlay();
|
||||
SWWMUtility.DoExplosion(self,100,8000,100,20);
|
||||
A_AlertMonsters(2500);
|
||||
A_AlertMonsters(swwm_uncapalert?0:2500);
|
||||
A_QuakeEx(4,4,4,20,0,400,"",QF_RELATIVE|QF_SCALEDOWN,falloff:100,rollIntensity:.9);
|
||||
if ( special1 )
|
||||
{
|
||||
|
|
@ -434,7 +434,7 @@ Class FatChodeImpact : Actor
|
|||
{
|
||||
Super.PostBeginPlay();
|
||||
SWWMUtility.DoExplosion(self,1500,40000,250,120,DE_THRUWALLS|DE_EXTRAZTHRUST);
|
||||
A_AlertMonsters(8000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:8000);
|
||||
A_QuakeEx(7,7,7,50,0,2000,"",QF_RELATIVE|QF_SCALEDOWN,falloff:800,rollIntensity:1.);
|
||||
A_StartSound("silverbullet/chode",CHAN_VOICE,CHANF_DEFAULT,1.,.35);
|
||||
A_SprayDecal("BigPock",-64);
|
||||
|
|
@ -931,7 +931,7 @@ Class SilverBullet : SWWMWeapon
|
|||
{
|
||||
A_SWWMFlash();
|
||||
A_StartSound(invoker.fcbchambered?"silverbullet/altfire":"silverbullet/fire",CHAN_WEAPON,CHANF_OVERLAP,attenuation:.3);
|
||||
A_AlertMonsters(16000);
|
||||
A_AlertMonsters(swwm_uncapalert?0:16000);
|
||||
int str = invoker.fcbchambered?7:8;
|
||||
A_QuakeEx(str,str,str,10,0,1,"",QF_RELATIVE|QF_SCALEDOWN,rollIntensity:str/4.);
|
||||
double basezoom = invoker.zoomed?clamp(invoker.zoomlevel,1.,16.):1.;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue