From bb061ee98aeb38645d533bf9b2caed27cc2d15aa Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Fri, 30 Oct 2020 13:21:11 +0100 Subject: [PATCH] Fix typo in A_Headpat that would cause a crash. --- Achievements.md | 24 ++++++++++++++---------- gldefs.shinemaps | 4 ++++ language.def_base | 2 +- language.version | 2 +- models/glassmap.png | Bin 0 -> 22451 bytes zscript/swwm_inter.zsc | 4 ++++ zscript/swwm_player.zsc | 2 +- zscript/swwm_utility.zsc | 11 ++++++++--- 8 files changed, 33 insertions(+), 16 deletions(-) create mode 100644 models/glassmap.png diff --git a/Achievements.md b/Achievements.md index 779b79ce9..59ac665eb 100644 --- a/Achievements.md +++ b/Achievements.md @@ -3,6 +3,8 @@ ### Base achievements: - **A Little Sandwich, As A Treat**: Use 50 Grilled Cheese Sandwiches. +- **Ara Ara**: Load SWWM GZ and H-Doom together. +- **A Warning to the Others**: Finish a map with just one enemy left alive. - **Big Oopsie**: Erase yourself with the Ynykron. - **Cloak Engaged**: Use 50 Ghost Artifacts. - **CLONK**: Kill a boss with a Lead Ball crit. @@ -10,7 +12,7 @@ - **Conga Line Of Death**: Kill 20 enemies with a single XSB round. - **Decent Ascent**: Use 50 Gravity Suppressors. - **Demolitionist Space Program**: Send a single enemy flying over 1000 map units. -- **Errand Boy Bullshit**: Bust every locked door in a map. +- **Errand Boy Bullshit**: Finish a map without collecting any keys. - **Fast**: Beat the par time in 30 maps. - **Firestarter**: Kill 500 enemies with FYS shells. - **Fuck This Guy In Particular**: Use the Ynykron to kill a single non-boss enemy. @@ -20,14 +22,17 @@ - **Headstrong**: Kill 20 bosses by dashing into them. - **Humiliator**: Kill 100 enemies with the Deep Impact primary fire. - **Hydrogenated**: Consume a total of 1000L of fuel. +- **I Am Become Death**: Kill 50 enemies with a single Slayer Warhead. - **I Am Very Smart**: Load SWWM GZ and Brutal Doom together. - **Icarus Dimes**: Blow yourself up with your own explosives. +- **Italian Plumber Complex**: Kill 200 enemies by standing on them. - **It's Been Ten Years**: Use a cheat code from SWWM Platinum. - **Just A Replica**: Find something the Ynykron can't destroy. - **Knock Knock**: Kill 50 enemies through walls with the Silver Bullet. - **Layers Of White**: Summon the White Lady. -- **Lethal Love**: Kill 10 enemies with a blown kiss. +- **Lethal Love**: Kill 10 enemies with a blown kiss (not counting insta-kills). - **Let's Get To Bashing Butts**: Kill 100 enemies by dashing backwards. +- **Lovestruck**: Play with the Saya or Kirin plushies 10 times in the same session. - **Makes Me Feel Good**: Bust 100 walls. - **Mother**: Gather 100 moths. - **Mx. Worldwide**: Play on all supported IWADs. @@ -35,13 +40,12 @@ - **No Talk Me Angy**: Use 50 Ragekits. - **Oops I Broke It**: Cause a VM abort. - **Parry King**: Parry 100 projectiles. +- **Pest Control**: Obtain 100% kills in 30 maps. - **Premium Detective**: Obtain 100% secrets in 30 maps. - **Return to Sender**: Kill 50 enemies with parried projectiles. -- **RIP Headphone Users**: Fire 25 Saltshot rounds simultaneously at close range. -- **Robutts Die Twice**: Do exactly that. +- **Robutts Die Twice**: Reenact your favorite Souls-like. - **Salutations**: Greet another player. - **Sayonara, Scumbag**: Wave at a dying enemy 20 times. -- **Shameful Display**: Load SWWM GZ and H-Doom together. - **Shaped Like A Friend**: Befriend 50 Cacodemons with headpats. - **Sharing Is Caring**: Share items in multiplayer 50 times. - **Shockmaster**: Perform 50 Biospark combos. @@ -54,18 +58,18 @@ - **The Full Set**: Obtain all collectables in a single session. - **The Sledge Method**: Activate 100 switches by punching them. - **Unchecked Capitalism**: Have ¥1,000,000,000 in bank. -- **Under Pressure**: Kill 200 enemies by standing on them. - **Verticality**: Walljump 100 times. - **Well That Was Easy**: Kill 100 enemies with a single Ynykron shot. -- **Where Did Everyone Go?**: Obtain 100% kills in 30 maps. - **Who's Steve Jobs?**: Kill an endgame boss with the Ynykron. - **YEET**: Throw a Candygun right into the Icon of Sin's brains. - **You Can Pet The Dog**: Pet an MBF helper dog. ### DLC Weaponset achievements: -- **HAHA DAB**: Gib 100 enemies with the Itamex Hammer. -- **High Noon**: Land 6 killing shots in a single Puntzer Beta reload. +- **And The Dragons Were No More**: Kill the Death Wyvern using the Rail Carbine. - **Dakka**: Fire the Sheen HMG for 1 minute straight. - **Gravely Roast**: Perform 30 bayonet combos with the Quadravol. -- **And The Dragons Were No More**: Kill the Death Wyvern using the Rail Carbine. +- **HAHA DAB**: Gib 100 enemies with the Itamex Hammer. +- **High Noon**: Land 6 killing shots in a single Puntzer Beta reload. +- **The Most Silent Takedown**: Kill 50 enemies with the Ray-Khom primary without alerting anyone else. +- **You Gained Brouzouf**: Unload an entire mag in fuller auto with the Puntzer Gamma without missing a single shot. diff --git a/gldefs.shinemaps b/gldefs.shinemaps index c93aeafa9..937f1eba8 100644 --- a/gldefs.shinemaps +++ b/gldefs.shinemaps @@ -51,3 +51,7 @@ HardwareShader Texture "models/errormap.png" { Shader "shaders/glsl/Shinemap_error.fp" } +HardwareShader Texture "models/glassmap.png" +{ + Shader "shaders/glsl/Shinemap.fp" +} diff --git a/language.def_base b/language.def_base index d89c592d1..7a1d10128 100644 --- a/language.def_base +++ b/language.def_base @@ -910,7 +910,7 @@ SWWM_LASTMONSTER = "\cf%s\cf killed the last monster. +%d\c-"; SWWM_NEWLORE = "New entries have been added to the Library."; SWWM_SELLEXTRA = "\cf%s\cf sold an extra %s\cf. +%d\c-"; // intermission tips -SWWM_NINTERTIP = "60"; +SWWM_NINTERTIP = "69"; SWWM_INTERTIP = "Tip #%d:"; SWWM_INTERTIP1 = "The Demolitionist is immune to drowning, poison and even fall damage (excluding instant kill pits, e.g. in Hexen)."; SWWM_INTERTIP2 = "The Explodium Gun's altfire has an explosive yield proportional to the bullets left in the mag."; diff --git a/language.version b/language.version index 532c1657c..4235b8d6f 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r586 \cu(Tue 27 Oct 20:01:47 CET 2020)"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r586 \cu(Fri 30 Oct 13:21:11 CET 2020)"; diff --git a/models/glassmap.png b/models/glassmap.png new file mode 100644 index 0000000000000000000000000000000000000000..fff4849c2ad7f28b9f5da28db4f754493fb17923 GIT binary patch literal 22451 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 literal 0 HcmV?d00001 diff --git a/zscript/swwm_inter.zsc b/zscript/swwm_inter.zsc index 04e650538..4be901da9 100644 --- a/zscript/swwm_inter.zsc +++ b/zscript/swwm_inter.zsc @@ -115,7 +115,11 @@ Class SWWMStatScreen : StatusScreen abstract Array ents; ents.Clear(); for ( int i=1; i<=maxtip; i++ ) + { + // skip DLC tips for now + if ( (i >= 61) && (i <= 68) ) continue; ents.Push(i); + } if ( pdata.lasttip.Size() >= maxtip ) { // exclude last one, start over diff --git a/zscript/swwm_player.zsc b/zscript/swwm_player.zsc index e40159201..84436972c 100644 --- a/zscript/swwm_player.zsc +++ b/zscript/swwm_player.zsc @@ -3149,7 +3149,7 @@ Class SWWMGesture : SWWMWeapon } if ( pt.target.GiveBody(healamt,pt.target.GetSpawnHealth()) ) { - SWWMScoreObj.Spawn(healamt,pt.Vec3Offset(FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8)+target.Height/2),Font.CR_BLUE); + SWWMScoreObj.Spawn(healamt,pt.Vec3Offset(FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8)+pt.target.Height/2),Font.CR_BLUE); SWWMHandler.DoFlash(pt.target,Color(32,224,128,255),10); } } diff --git a/zscript/swwm_utility.zsc b/zscript/swwm_utility.zsc index 1a83f4140..729f82d57 100644 --- a/zscript/swwm_utility.zsc +++ b/zscript/swwm_utility.zsc @@ -750,7 +750,8 @@ Class SWWMUtility // complete spherical and more accurate replacement of A_Explode // 100% free of the buggery GZDoom's own splash damage has - static play void DoExplosion( Actor Source, double Damage, double MomentumTransfer, double ExplosionRadius, double FullDamageRadius = 0., int flags = 0, Name DamageType = '', Actor ignoreme = null ) + // returns the number of shootables hit/killed + static play int, int DoExplosion( Actor Source, double Damage, double MomentumTransfer, double ExplosionRadius, double FullDamageRadius = 0., int flags = 0, Name DamageType = '', Actor ignoreme = null ) { // debug, display radius sphere if ( swwm_debugblast ) @@ -769,6 +770,7 @@ Class SWWMUtility double brange = 1./(ExplosionRadius-FullDamageRadius); Actor Instigator = (flags&DE_NOTMISSILE)?Source:Source.target; BlockThingsIterator bi = BlockThingsIterator.Create(Source,ExplosionRadius*2); // test with doubled radius, just to be sure + int nhit = 0, nkill = 0; while ( bi.Next() ) { Actor a = bi.Thing; @@ -815,11 +817,14 @@ Class SWWMUtility if ( (flags&DE_BLAST) && a.bCANBLAST && !a.bDONTBLAST ) a.bBLASTED = true; } // hit it + nhit++; int dmg = int(Damage*damagescale); if ( dmg <= 0 ) continue; // no harm int ndmg = a.DamageMobj(Source,Instigator,dmg,(DamageType=='')?Source.DamageType:DamageType,DMG_EXPLOSION,atan2(-dir.y,-dir.x)); - if ( !(flags&DE_NOBLEED) ) a.TraceBleed((ndmg>0)?ndmg:dmg,Source); + if ( a && !(flags&DE_NOBLEED) ) a.TraceBleed((ndmg>0)?ndmg:dmg,Source); + if ( !a || (a.Health <= 0) ) nkill++; } + return nhit, nkill; } static play bool InPlayerFOV( PlayerInfo p, Actor a, double maxdist = 0. ) @@ -843,7 +848,7 @@ Class SWWMUtility { if ( (p != -1) && (p == consoleplayer) ) { - Console.Printf("\cfSORRY NOTHING\c-"); + Console.Printf("\cxSORRY NOTHING\c-"); S_StartSound("misc/trombone",CHAN_VOICE,CHANF_UI); } return true;