Damagetype tweaks.

This commit is contained in:
Mari the Deer 2022-09-09 19:20:52 +02:00
commit 4f3891a2a7
11 changed files with 43 additions and 70 deletions

View file

@ -242,7 +242,7 @@ Class HellblazerMissile : Actor
Default
{
Obituary "$O_HELLBLAZER";
DamageType 'Exploded';
DamageType 'Explosive';
Radius 2;
Height 4;
Speed 50;

View file

@ -149,7 +149,7 @@ Class EvisceratorChunk : Actor
Height 4;
Speed 50;
DamageFunction int(clamp((vel.length()-10)*.24,0,15)+(max(0,1-lifetime)**5)*15);
DamageType 'shot';
DamageType 'Shrapnel';
BounceFactor 1.0;
WallBounceFactor 1.0;
PROJECTILE;
@ -448,7 +448,7 @@ Class EvisceratorProj : Actor
Default
{
Obituary "$O_EVISCERATOR";
DamageType 'Exploded';
DamageType 'Explosive';
Radius 2;
Height 4;
Gravity 0.35;

View file

@ -178,7 +178,7 @@ Class SaltImpact : Actor
Default
{
Obituary "$O_SPREADGUN_BLUE";
DamageType "Plasma";
DamageType "Salt";
RenderStyle "Add";
Radius 0.1;
Height 0;
@ -266,7 +266,7 @@ Class SaltBeam : Actor
Default
{
Obituary "$O_SPREADGUN_BLUE";
DamageType "Plasma";
DamageType "Salt";
RenderStyle "Add";
Radius 0.1;
Height 0;

View file

@ -234,7 +234,7 @@ Class BigBiospark : Actor
if ( !t || !t.bSHOOTABLE ) continue;
if ( SWWMUtility.SphereIntersect(t,pos,40) )
{
t.DamageMobj(self,target,4+special1,'Plasma');
t.DamageMobj(self,target,4+special1,'Biospark');
if ( t.bISMONSTER && !Random[Sparkster](0,3) )
t.Howl();
Health--;
@ -357,7 +357,7 @@ Class BigBiospark : Actor
Default
{
Obituary "$O_SPARKSTER";
DamageType "Plasma";
DamageType "Biospark";
RenderStyle "Add";
Health 1200;
Radius 2;
@ -402,7 +402,7 @@ Class BiosparkBall : Actor
Default
{
Obituary "$O_SPARKSTER";
DamageType "Plasma";
DamageType "Biospark";
RenderStyle "Add";
Radius 2;
Height 4;
@ -667,7 +667,7 @@ Class BiosparkBeamImpact : Actor
Default
{
Obituary "$O_SPARKSTER";
DamageType "Plasma";
DamageType "Biospark";
RenderStyle "Add";
Radius .1;
Height 0;
@ -805,7 +805,7 @@ Class BiosparkComboImpactSub : Actor
Default
{
Obituary "$O_SPARKSTER";
DamageType "Plasma";
DamageType "Biospark";
RenderStyle "Add";
Scale 1.4;
Alpha .4;
@ -851,7 +851,7 @@ Class BiosparkComboImpact : Actor
Default
{
Obituary "$O_SPARKSTER";
DamageType "Plasma";
DamageType "Biospark";
RenderStyle "Add";
Scale 2.;
Radius .1;
@ -1105,7 +1105,7 @@ Class BiosparkBeam : Actor
{
SWWMUtility.DoKnockback(t.hitlist[i].hitactor,t.hitlist[i].x,15000);
let p = SWWMPuff.Setup(t.hitlist[i].hitlocation,t.hitlist[i].x,self,target,t.hitlist[i].hitactor);
t.hitlist[i].hitactor.DamageMobj(p,target,GetMissileDamage(0,0),'Plasma',DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
t.hitlist[i].hitactor.DamageMobj(p,target,GetMissileDamage(0,0),'Biospark',DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
if ( t.hitlist[i].hitactor && t.hitlist[i].hitactor.bISMONSTER && !Random[Sparkster](0,3) )
t.hitlist[i].hitactor.Howl();
}
@ -1262,7 +1262,7 @@ Class BiosparkBeam : Actor
{
SWWMUtility.DoKnockback(t.hitlist[i].hitactor,t.hitlist[i].x,15000);
let p = SWWMPuff.Setup(t.hitlist[i].hitlocation,t.hitlist[i].x,self,target,t.hitlist[i].hitactor);
t.hitlist[i].hitactor.DamageMobj(p,target,int(GetMissileDamage(0,0)*alpha),'Plasma',DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
t.hitlist[i].hitactor.DamageMobj(p,target,int(GetMissileDamage(0,0)*alpha),'Biospark',DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
if ( t.hitlist[i].hitactor && t.hitlist[i].hitactor.bISMONSTER && !Random[Sparkster](0,3) )
t.hitlist[i].hitactor.Howl();
}
@ -1454,7 +1454,7 @@ Class BiosparkArc : Actor
if ( !t.hitlist[i].hitactor ) continue;
SWWMUtility.DoKnockback(t.hitlist[i].hitactor,-t.hitlist[i].x,GetMissileDamage(0,0)*1000);
let p = SWWMPuff.Setup(t.hitlist[i].hitlocation,t.hitlist[i].x,self,target,t.hitlist[i].hitactor);
t.hitlist[i].hitactor.DamageMobj(p,target,GetMissileDamage(0,0),'Plasma',DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
t.hitlist[i].hitactor.DamageMobj(p,target,GetMissileDamage(0,0),'Biospark',DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
if ( t.hitlist[i].hitactor && t.hitlist[i].hitactor.bISMONSTER && !Random[Sparkster](0,3) )
t.hitlist[i].hitactor.Howl();
}
@ -1691,6 +1691,7 @@ Class BiosparkCore : Actor
Default
{
Obituary "$O_SPARKSTER";
DamageType "Biospark";
PROJECTILE;
BounceType "Hexen";
+CANBOUNCEWATER;

View file

@ -34,6 +34,7 @@ Class ExplodiumMagArm : Actor
Default
{
Obituary "$O_EXPLODIUM";
DamageType "Explodium";
PROJECTILE;
+THRUACTORS;
+BOUNCEONWALLS;

View file

@ -145,7 +145,7 @@ Class CandyGun : SWWMWeapon
if ( dmg >= d.HitActor.Health ) dmg += 900;
SWWMUtility.DoKnockback(d.HitActor,d.HitDir,72000);
let p = SWWMPuff.Setup(d.HitLocation,d.HitDir,invoker,self,d.HitActor);
dmg = d.HitActor.DamageMobj(p,self,dmg,'Explodium',DMG_THRUSTLESS|DMG_FOILINVUL|DMG_INFLICTOR_IS_PUFF);
dmg = d.HitActor.DamageMobj(p,self,dmg,'Candy',DMG_THRUSTLESS|DMG_FOILINVUL|DMG_INFLICTOR_IS_PUFF);
if ( d.HitActor.bNOBLOOD || d.HitActor.bDORMANT )
{
let p = Spawn("SWWMBulletImpact",d.HitLocation);

View file

@ -111,7 +111,7 @@ Class CandyBeam : Actor
if ( !t.hitlist[i].hitactor ) continue;
SWWMUtility.DoKnockback(t.hitlist[i].hitactor,t.hitlist[i].x,12000);
let p = SWWMPuff.Setup(t.hitlist[i].hitlocation,t.hitlist[i].x,self,target,t.hitlist[i].hitactor);
t.hitlist[i].hitactor.DamageMobj(p,target,GetMissileDamage(0,0),'Explodium',DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
t.hitlist[i].hitactor.DamageMobj(p,target,GetMissileDamage(0,0),'Candy',DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
}
Vector3 normal = -t.Results.HitVector, dir = t.Results.HitVector;
if ( t.Results.HitType == TRACE_HitWall )
@ -215,7 +215,7 @@ Class CandyPop : Actor
Default
{
Obituary "$O_CANDYGUN";
DamageType "Explodium";
DamageType "Candy";
RenderStyle "Add";
Scale 2.;
Radius .1;
@ -349,6 +349,7 @@ Class CandyMagArm : Actor
Default
{
Obituary "$O_CANDYGUN";
DamageType "Candy";
PROJECTILE;
+THRUACTORS;
+BOUNCEONWALLS;
@ -520,7 +521,7 @@ Class CandyGunProj : Actor
Default
{
Obituary "$O_CANDYGUN";
DamageType "Explodium";
DamageType "Candy";
Radius 3;
Height 6;
Gravity 0.5;
@ -657,7 +658,7 @@ Class CandyMagProj : Actor
Default
{
Obituary "$O_CANDYGUN";
DamageType "Explodium";
DamageType "Candy";
Radius 2;
Height 4;
Gravity 0.5;
@ -786,7 +787,7 @@ Class CandyBulletImpact : Actor
Default
{
Obituary "$O_CANDYGUN";
DamageType "Explodium";
DamageType "Candy";
RenderStyle "Add";
Scale 2.5;
Radius .1;

View file

@ -362,7 +362,7 @@ Class SilverBullet : SWWMWeapon
if ( !t.HitList[i].HitActor ) continue;
SWWMUtility.DoKnockback(t.HitList[i].HitActor,t.HitList[i].x+(0,0,0.025),t.Hitlist[i].HitDamage*20.*FRandom[SilverBullet](.8,1.2));
let p = SWWMPuff.Setup(t.HitList[i].HitLocation,t.HitList[i].x,invoker,self,t.HitList[i].HitActor);
int dmg = t.HitList[i].HitActor.DamageMobj(p,self,t.Hitlist[i].HitDamage,'shot',DMG_FOILINVUL|DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
int dmg = t.HitList[i].HitActor.DamageMobj(p,self,t.Hitlist[i].HitDamage,'Sniped',DMG_FOILINVUL|DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
if ( t.HitList[i].HitActor && (t.HitList[i].HitActor.Health <= 0) && (t.HitList[i].HitActor.bIsMonster || t.HitList[i].HitActor.player) && t.HitList[i].HitActor.IsHostile(self) )
{
invoker.nkills++;
@ -579,7 +579,7 @@ Class SilverBullet : SWWMWeapon
// might as well apply explosion on top
if ( dmg >= t.Results.HitActor.Health ) dmg += 600;
let p = SWWMPuff.Setup(t.Results.HitPos,t.Results.HitVector,invoker,self,t.Results.HitActor);
dmg = t.Results.HitActor.DamageMobj(p,self,dmg,'shot',DMG_FOILINVUL|DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
dmg = t.Results.HitActor.DamageMobj(p,self,dmg,'Explodium',DMG_FOILINVUL|DMG_THRUSTLESS|DMG_INFLICTOR_IS_PUFF);
SWWMUtility.DoKnockback(t.Results.HitActor,t.Results.HitVector+(0,0,.025),dmg*20.*FRandom[SilverBullet](.8,1.2));
if ( t.Results.HitActor && !t.Results.HitActor.bNOBLOOD && !t.Results.HitActor.bDORMANT )
{

View file

@ -42,6 +42,7 @@ Class SilverAirRip : Actor
Default
{
Obituary "$O_SILVERBULLET";
DamageType 'Sniped';
Radius 0.1;
Height 0;
+NOGRAVITY;
@ -98,6 +99,7 @@ Class SilverImpact : Actor
Default
{
Obituary "$O_SILVERBULLET";
DamageType 'Sniped';
Radius 0.1;
Height 0;
+NOGRAVITY;