Sheen rebalancing.
This commit is contained in:
parent
57253d5434
commit
d64e487231
5 changed files with 46 additions and 41 deletions
|
|
@ -61,6 +61,7 @@ Class SpreadgunTracer : LineTracer
|
|||
Class SpreadSlugTracer : SpreadgunTracer
|
||||
{
|
||||
double penetration; // please don't laugh
|
||||
double resist; // resistance against penetration loss (1.0 = don't lose)
|
||||
|
||||
override ETraceStatus TraceCallback()
|
||||
{
|
||||
|
|
@ -88,7 +89,7 @@ Class SpreadSlugTracer : SpreadgunTracer
|
|||
ent.hitactor = Results.HitActor;
|
||||
ent.hitlocation = Results.HitPos;
|
||||
ent.x = Results.HitVector;
|
||||
if ( (Results.HitActor.Health >= int(penetration)) || Results.HitActor.bNODAMAGE )
|
||||
if ( ((Results.HitActor.Health*(1.-resist)) >= penetration) || Results.HitActor.bNODAMAGE )
|
||||
{
|
||||
ent.hitdamage = int(penetration);
|
||||
penetration = 0;
|
||||
|
|
@ -97,7 +98,7 @@ Class SpreadSlugTracer : SpreadgunTracer
|
|||
{
|
||||
int gibh = (Results.HitActor.GibHealth!=int.min)?-abs(Results.HitActor.GibHealth):-int(Results.HitActor.GetSpawnHealth()*gameinfo.gibfactor);
|
||||
ent.hitdamage = min(Results.HitActor.health+abs(gibh),int(penetration));
|
||||
penetration = max(0,penetration-ent.hitdamage);
|
||||
penetration = max(0,penetration-(ent.hitdamage*(1.-resist)));
|
||||
}
|
||||
hitlist.Push(ent);
|
||||
if ( penetration <= 0 ) return TRACE_Stop;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue