From 4083321ec57b328104ba4bc3e843e4cf5447542b Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sat, 24 Oct 2020 13:01:43 +0200 Subject: [PATCH] Rejoice, for buttslams now leave decals. --- decaldef.txt | 11 +++++++++++ language.version | 2 +- zscript/swwm_handler.zsc | 12 +----------- zscript/swwm_player.zsc | 17 ++++++++++------- 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/decaldef.txt b/decaldef.txt index cae6c77ce..7b34dbe04 100644 --- a/decaldef.txt +++ b/decaldef.txt @@ -271,6 +271,17 @@ decal ImpactMark y-scale 0.3 } +decal ButtMark +{ + pic impcrack + translucent 0.85 + shade "00 00 00" + randomflipx + randomflipy + x-scale 0.16 + y-scale 0.2 +} + decal RipBlast { pic ripblast diff --git a/language.version b/language.version index 6773e8674..9796f8f9a 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r573 \cu(Sat 24 Oct 01:08:15 CEST 2020)"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r574 \cu(Sat 24 Oct 13:01:43 CEST 2020)"; diff --git a/zscript/swwm_handler.zsc b/zscript/swwm_handler.zsc index 3c05c83d6..b73524ef4 100644 --- a/zscript/swwm_handler.zsc +++ b/zscript/swwm_handler.zsc @@ -267,17 +267,7 @@ Class SWWMHandler : EventHandler int countem; if ( testme == locme ) countem = 0; else countem = locme.ToInt(); - if ( countem == 0 ) - { - if ( voicetype ~== "default" ) return 0; - // retry with the default voicetype - voicetype = "default"; - testme = String.Format("SWWM_SUBS_DEFAULT_N%s",type.MakeUpper()); - locme = StringTable.Localize(testme,false); - if ( testme == locme ) countem = 0; - else countem = locme.ToInt(); - if ( countem == 0 ) return 0; - } + if ( countem == 0 ) return 0; // voicepack doesn't have this // check last line so we don't repeat int last = 0, ent; for ( int i=0; i -.6 ) continue; + bool buttslam = false; + // BUTTSLAM + if ( dir dot viewdir < -.3 ) + { + buttslam = true; + // leave buttmark + A_SprayDecal("ButtMark",172,(cos(angle+90)*2,sin(angle+90)*2,Height*.54),dir); + A_SprayDecal("ButtMark",172,(cos(angle-90)*2,sin(angle-90)*2,Height*.54),dir); + } if ( raging || swwm_omnibust ) { // see if we can bust it let tempme = new("LineTracer"); // gross hack to pass needed data int dmg = int(15+spd*2.5); if ( raging ) dmg *= 8; - bool buttslam = false; - // BUTTSLAM - if ( dir dot viewdir < -.3 ) - { - dmg *= 3; - buttslam = true; - } + if ( buttslam ) dmg *= 3; tempme.Results.HitLine = BlockingLine; tempme.Results.HitType = TRACE_HitWall; tempme.Results.Side = lside;