Fix broken player damage vfx handling.
This commit is contained in:
parent
dc93c6b5bf
commit
6837df09b2
3 changed files with 17 additions and 12 deletions
|
|
@ -1,3 +1,3 @@
|
|||
[default]
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r151 \cu(Sun 3 Jul 23:46:16 CEST 2022)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r151 \cu(2022-07-03 23:46:17)\c-";
|
||||
SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r152 \cu(Sun 3 Jul 23:46:31 CEST 2022)\c-";
|
||||
SWWM_SHORTVER="\cw1.3pre r152 \cu(2022-07-03 23:46:31)\c-";
|
||||
|
|
|
|||
|
|
@ -110,8 +110,8 @@ extend Class SWWMHandler
|
|||
}
|
||||
else PPShader.SetEnabled("SlimeWarp",false);
|
||||
int lastdmg = (demo.Health>0)?demo.lastdamage:Random[Flicker](60,80);
|
||||
int lastdmgtic = (demo.Health>0)?demo.lastdamagetic:(gametic+Random[Flicker](30,20));
|
||||
double noiz = min(lastdmg*.09*max(0,(lastdmgtic-(gametic+e.Fractic))/35.),.5);
|
||||
int lastdmgtimer = (demo.Health>0)?demo.lastdamagetimer:(gametic+Random[Flicker](30,20));
|
||||
double noiz = min(lastdmg*.09*max(0,(lastdmgtimer-(gametic+e.Fractic))/35.),.5);
|
||||
PPShader.SetEnabled("Glitch",noiz>0);
|
||||
PPShader.SetEnabled("Grain",noiz>0);
|
||||
if ( noiz > 0 )
|
||||
|
|
@ -119,9 +119,9 @@ extend Class SWWMHandler
|
|||
PPShader.SetUniform1f("Glitch","Timer",(gametic+e.FracTic)/GameTicRate);
|
||||
PPShader.SetUniform1f("Grain","Timer",(gametic+e.FracTic)/GameTicRate);
|
||||
PPShader.SetUniform1f("Grain","ni",noiz);
|
||||
noiz = min(lastdmg*.08*max(0,(lastdmgtic-(gametic+e.Fractic))/35.),.8);
|
||||
noiz = min(lastdmg*.08*max(0,(lastdmgtimer-(gametic+e.Fractic))/35.),.8);
|
||||
PPShader.SetUniform1f("Glitch","str1",noiz);
|
||||
noiz = min(lastdmg*.03*max(0,(lastdmgtic-(gametic+e.Fractic))/35.),3.5);
|
||||
noiz = min(lastdmg*.03*max(0,(lastdmgtimer-(gametic+e.Fractic))/35.),3.5);
|
||||
PPShader.SetUniform1f("Glitch","str2",noiz);
|
||||
}
|
||||
if ( !demo.InStateSequence(demo.CurState,demo.FindState("Dash")) )
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ Class Demolitionist : PlayerPawn
|
|||
bool bInDefaultInventory;
|
||||
bool oldsinglefirst;
|
||||
|
||||
int lastdamage;
|
||||
transient int lastdamagetic;
|
||||
transient int lastdamage;
|
||||
transient int lastdamagetic, lastdamagetimer;
|
||||
bool lastground;
|
||||
int lastgroundtic, lastairtic;
|
||||
double lastvelz, prevvelz, landvelz;
|
||||
|
|
@ -1724,8 +1724,14 @@ Class Demolitionist : PlayerPawn
|
|||
int realdmg = Super.DamageMobj(inflictor,source,damage,mod,flags,angle);
|
||||
// hotfix damagecount overflow until proper fix is in stable gzdoom
|
||||
if ( player && (player.damagecount < 0) ) player.damagecount = 100;
|
||||
lastdamage = max(lastdamage,realdmg);
|
||||
lastdamagetic = max(lastdamagetic,gametic+clamp(lastdamage/2,10,40));
|
||||
if ( lastdamagetic != gametic )
|
||||
{
|
||||
lastdamage = 0;
|
||||
lastdamagetimer = 0;
|
||||
}
|
||||
lastdamage += realdmg;
|
||||
lastdamagetic = gametic;
|
||||
lastdamagetimer = max(lastdamagetimer,lastdamagetic+clamp(lastdamage/2,10,40));
|
||||
if ( (lastdamage > 0) && (PainChance == 0) && (level.maptime>lastmpain) )
|
||||
{
|
||||
lastmpain = level.maptime;
|
||||
|
|
@ -2683,7 +2689,7 @@ Class Demolitionist : PlayerPawn
|
|||
A_StartSound("demolitionist/jetstop",CHAN_JETPACK);
|
||||
if ( !myvoice ) myvoice = CVar.GetCVar('swwm_voicetype',player);
|
||||
int loudlv = swwm_voiceamp;
|
||||
if ( lastdamage > 90 )
|
||||
if ( lastdamage > 70 )
|
||||
{
|
||||
if ( swwm_extraalert ) A_AlertMonsters(swwm_uncapalert?0:1200);
|
||||
A_QuakeEx(3,3,3,9,0,8,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D);
|
||||
|
|
@ -2725,7 +2731,6 @@ Class Demolitionist : PlayerPawn
|
|||
if ( loudlv > 3 ) A_StartSound(String.Format("voice/%s/lopain",myvoice.GetString()),CHAN_DEMOVOICEAUX3,CHANF_OVERLAP);
|
||||
}
|
||||
}
|
||||
lastdamage = 0;
|
||||
}
|
||||
void A_DemoScream()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue