From ccd923a256501cca24a897cb21e7efc4cb6273d4 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Wed, 24 Jun 2020 14:41:26 +0200 Subject: [PATCH] Finetuning of stuff: - Price adjustments. - Ammo spawn adjustments. - Prevent Sabreclaws and other Heretic enemies from dropping TOO MUCH ammo. - Increased Silver Bullet JET damage and penetration. - Add blood recolors for vanilla Heretic and Hexen enemies. --- PriceTable.md | 20 ++++++++--------- language.version | 2 +- zscript/swwm_ammo.zsc | 43 ++++++++++++++++++++++++++++-------- zscript/swwm_blod.zsc | 15 ++++++++++++- zscript/swwm_common.zsc | 21 ++++++++++++------ zscript/swwm_thiccboolet.zsc | 30 ++++++++++++++----------- 6 files changed, 90 insertions(+), 41 deletions(-) diff --git a/PriceTable.md b/PriceTable.md index 43ad767c7..b95b4cf98 100644 --- a/PriceTable.md +++ b/PriceTable.md @@ -19,22 +19,22 @@ respective weapon. Red Shell | 500 Green Shell | 800 White Shell | 1000 - Blue Shell | 1500 - Black Shell | 3500 - Purple Shell | 1200 + Blue Shell | 2500 + Black Shell | 4000 + Purple Shell | 1500 Golden Shell | N/A Wallbuster | 35000 Eviscerator | 50000 - Evisc. Shell | 2500 + Evisc. Shell | 3000 Hellblazer | 90000 - Missiles | 6000 - Crackshots | 8000 - Ravagers | 12000 - Warheads | 25000 + Missiles | 8000 + Crackshots | 15000 + Ravagers | 25000 + Warheads | 40000 Sparkster S-5 | 200000 Spark Unit | 50000 Silver Bullet | 400000 - S.B. Mag | 70000 + S.B. Mag | 80000 Candygun | 1000000 Candy Mag | 100000 Spare Gun | 600000 @@ -54,7 +54,7 @@ These will be available long after the first release. Quadravol | 80000 Quad. Ammo | 10000 Blackfire Ig. | 120000 - Blackfire C. | 15000 + Blackfire C. | 20000 Sparkster x3 | 250000 Nokron Unit | 35000 Kinylum Unit | 25000 diff --git a/language.version b/language.version index 5922e7257..9e75cc538 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\chSWWM \cwGZ\c- r397 (Wed 24 Jun 13:13:22 CEST 2020)"; +SWWM_MODVER="\chSWWM \cwGZ\c- r398 (Wed 24 Jun 14:41:26 CEST 2020)"; diff --git a/zscript/swwm_ammo.zsc b/zscript/swwm_ammo.zsc index 9a3a7e149..ba2c63b77 100644 --- a/zscript/swwm_ammo.zsc +++ b/zscript/swwm_ammo.zsc @@ -357,7 +357,7 @@ Class BlueShell : Ammo Default { Tag "$T_BLUESHELLS"; - Stamina 1500; + Stamina 2500; Inventory.Icon "graphics/HUD/Icons/A_ShellsKinylum.png"; Inventory.Amount 1; Inventory.MaxAmount 24; @@ -404,7 +404,7 @@ Class BlackShell : Ammo Default { Tag "$T_BLACKSHELLS"; - Stamina 3500; + Stamina 4000; Inventory.Icon "graphics/HUD/Icons/A_ShellsFuck.png"; Inventory.Amount 1; Inventory.MaxAmount 12; @@ -444,7 +444,7 @@ Class PurpleShell : Ammo Default { Tag "$T_PURPLESHELLS"; - Stamina 1200; + Stamina 1500; Inventory.Icon "graphics/HUD/Icons/A_ShellsBall.png"; Inventory.Amount 1; Inventory.MaxAmount 20; @@ -554,7 +554,7 @@ Class EvisceratorShell : Ammo { Tag "$T_EVISHELLS"; Inventory.PickupMessage "$T_EVISHELL"; - Stamina 2500; + Stamina 3000; Inventory.Icon "graphics/HUD/Icons/A_Eviscerator.png"; Inventory.Amount 1; Inventory.MaxAmount 24; @@ -563,6 +563,11 @@ Class EvisceratorShell : Ammo +FLOATBOB; FloatBobStrength 0.25; } + override void ModifyDropAmount( int dropamount ) + { + Super.ModifyDropAmount(dropamount); + Amount = min(Amount,4); + } States { Spawn: @@ -593,7 +598,7 @@ Class HellblazerMissiles : Ammo { Tag "$T_HELLMISSILES"; Inventory.PickupMessage "$T_HELLMISSILE"; - Stamina 6000; + Stamina 8000; Inventory.Icon "graphics/HUD/Icons/A_HellblazerMissile.png"; Inventory.Amount 1; Inventory.MaxAmount 30; @@ -602,6 +607,11 @@ Class HellblazerMissiles : Ammo +FLOATBOB; FloatBobStrength 0.25; } + override void ModifyDropAmount( int dropamount ) + { + Super.ModifyDropAmount(dropamount); + Amount = min(Amount,3); + } States { Spawn: @@ -627,7 +637,7 @@ Class HellblazerCrackshots : Ammo { Tag "$T_HELLCLUSTERS"; Inventory.PickupMessage "$T_HELLCLUSTER"; - Stamina 8000; + Stamina 15000; Inventory.Icon "graphics/HUD/Icons/A_HellblazerCrackshot.png"; Inventory.Amount 1; Inventory.MaxAmount 18; @@ -636,6 +646,11 @@ Class HellblazerCrackshots : Ammo +FLOATBOB; FloatBobStrength 0.25; } + override void ModifyDropAmount( int dropamount ) + { + Super.ModifyDropAmount(dropamount); + Amount = min(Amount,2); + } States { Spawn: @@ -661,7 +676,7 @@ Class HellblazerRavagers : Ammo { Tag "$T_HELLBURNINATORS"; Inventory.PickupMessage "$T_HELLBURNINATOR"; - Stamina 12000; + Stamina 25000; Inventory.Icon "graphics/HUD/Icons/A_HellblazerRavager.png"; Inventory.Amount 1; Inventory.MaxAmount 9; @@ -670,6 +685,11 @@ Class HellblazerRavagers : Ammo +FLOATBOB; FloatBobStrength 0.25; } + override void ModifyDropAmount( int dropamount ) + { + Super.ModifyDropAmount(dropamount); + Amount = min(Amount,1); + } States { Spawn: @@ -695,7 +715,7 @@ Class HellblazerWarheads : Ammo { Tag "$T_HELLNUKES"; Inventory.PickupMessage "$T_HELLNUKE"; - Stamina 25000; + Stamina 40000; Inventory.Icon "graphics/HUD/Icons/A_HellblazerWarhead.png"; Inventory.Amount 1; Inventory.MaxAmount 4; @@ -704,6 +724,11 @@ Class HellblazerWarheads : Ammo +FLOATBOB; FloatBobStrength 0.25; } + override void ModifyDropAmount( int dropamount ) + { + Super.ModifyDropAmount(dropamount); + Amount = min(Amount,1); + } States { Spawn: @@ -761,7 +786,7 @@ Class SilverBulletAmmo : Ammo { Tag "$T_XSBMAG"; Inventory.PickupMessage "$T_XSBMAG"; - Stamina 70000; + Stamina 80000; Inventory.Icon "graphics/HUD/Icons/A_SilverBullet.png"; Inventory.Amount 1; Inventory.MaxAmount 3; diff --git a/zscript/swwm_blod.zsc b/zscript/swwm_blod.zsc index d835db469..6bda3e6ae 100644 --- a/zscript/swwm_blod.zsc +++ b/zscript/swwm_blod.zsc @@ -435,6 +435,13 @@ Class BlueBloodReference : Actor BloodColor "Blue"; } } +Class PurpleBloodReference : Actor +{ + Default + { + BloodColor "Purple"; + } +} // corpse thump handler Class CorpseFallTracker : Thinker @@ -484,7 +491,7 @@ Class SWWMGoreHandler : EventHandler override void WorldThingSpawned( WorldEvent e ) { // vanilla blood color changes - if ( (e.Thing.GetClass() == "BaronOfHell") || (e.Thing.GetClass() == "HellKnight") ) + if ( (e.Thing.GetClass() == "BaronOfHell") || (e.Thing.GetClass() == "HellKnight") || (e.Thing.GetClass() == "Bishop") || (e.Thing.GetClass() == "Korax") ) { let gb = Actor.Spawn("GreenBloodReference"); e.Thing.CopyBloodColor(gb); @@ -496,6 +503,12 @@ Class SWWMGoreHandler : EventHandler e.Thing.CopyBloodColor(bb); bb.Destroy(); } + else if ( (e.Thing.GetClass() == "Wizard") || (e.Thing.GetClass() == "Heresiarch") || (e.Thing.GetClass() == "Sorcerer2") ) + { + let pb = Actor.Spawn("PurpleBloodReference"); + e.Thing.CopyBloodColor(pb); + pb.Destroy(); + } } override void WorldThingDamaged( WorldEvent e ) diff --git a/zscript/swwm_common.zsc b/zscript/swwm_common.zsc index d41da0685..e8d8adc19 100644 --- a/zscript/swwm_common.zsc +++ b/zscript/swwm_common.zsc @@ -3216,27 +3216,29 @@ Class SWWMHandler : EventHandler } else if ( (e.Replacee == 'RocketBox') || (e.Replacee == 'PhoenixRodHefty') || (e.Replacee == 'MaceHefty') ) { - switch ( Random[Replacements](0,9) ) + switch ( Random[Replacements](0,11) ) { case 0: case 1: case 2: case 3: + case 4: if ( Random[Replacements](0,2) ) e.Replacement = 'HellblazerMissiles'; else e.Replacement = 'HellblazerMissileMag'; break; - case 4: case 5: case 6: + case 7: + case 8: if ( Random[Replacements](0,3) ) e.Replacement = 'HellblazerCrackshots'; else e.Replacement = 'HellblazerCrackshotMag'; break; - case 7: - case 8: + case 9: + case 10: if ( Random[Replacements](0,8) ) e.Replacement = 'HellblazerRavagers'; else e.Replacement = 'HellblazerRavagerMag'; break; - case 9: + case 11: if ( Random[Replacements](0,10) ) e.Replacement = 'HellblazerWarheads'; else e.Replacement = 'HellblazerWarheadMag'; break; @@ -3244,8 +3246,12 @@ Class SWWMHandler : EventHandler } else if ( (e.Replacee == 'Cell') || (e.Replacee == 'SkullRodAmmo') ) { - if ( Random[Replacements](0,6) ) e.Replacement = 'SparkUnit'; - else e.Replacement = 'SilverBulletAmmo'; + if ( Random[Replacements](0,6) ) + { + if ( Random[Replacements](0,2) ) e.Replacement = 'HellblazerRavagers'; + else e.Replacement = 'HellblazerWarheads'; + } + else e.Replacement = 'SparkUnit'; } else if ( (e.Replacee == 'ArtiTeleport') || (e.Replacee == 'ArtiTeleportOther') ) { @@ -3255,6 +3261,7 @@ Class SWWMHandler : EventHandler else if ( (e.Replacee == 'CellPack') || (e.Replacee == 'SkullRodHefty') ) { if ( !Random[Replacements](0,2) ) e.Replacement = 'SilverBulletAmmo'; + else if ( Random[Replacements](0,1) ) e.Replacement = 'SparkUnit'; else e.Replacement = 'CandyGunAmmo'; } else if ( e.Replacee == 'Mana1' ) e.Replacement = 'FabricatorTier1'; diff --git a/zscript/swwm_thiccboolet.zsc b/zscript/swwm_thiccboolet.zsc index 6c0736ae3..8c3129f11 100644 --- a/zscript/swwm_thiccboolet.zsc +++ b/zscript/swwm_thiccboolet.zsc @@ -56,8 +56,8 @@ Class SilverAirRip : Actor override void PostBeginPlay() { Super.PostBeginPlay(); - SWWMHandler.DoBlast(self,60,2000.,target); - A_Explode(20,60,0); + SWWMHandler.DoBlast(self,50,2000.,target); + A_Explode(10,50,0); Destroy(); } } @@ -79,8 +79,8 @@ Class SilverImpact : Actor override void PostBeginPlay() { Super.PostBeginPlay(); - SWWMHandler.DoBlast(self,50,8000.); - A_Explode(50,100); + SWWMHandler.DoBlast(self,100,8000.); + A_Explode(40,100); if ( swwm_extraalert ) A_AlertMonsters(2500); A_QuakeEx(4,4,4,20,0,200,"",QF_RELATIVE|QF_SCALEDOWN,falloff:100,rollIntensity:.9); if ( special1 ) @@ -180,7 +180,7 @@ Class SilverBulletTracer : SpreadSlugTracer ent.hitdamage = min(Results.HitActor.health+int(Results.HitActor.GetSpawnHealth()*gameinfo.gibfactor),int(penetration)); int killdamage = min(Results.HitActor.health,int(penetration)); hitlist.Push(ent); - penetration = max(0,penetration-killdamage); + penetration = max(0,penetration-killdamage*.6); if ( penetration <= 0 ) return TRACE_Stop; return TRACE_Skip; } @@ -190,12 +190,12 @@ Class SilverBulletTracer : SpreadSlugTracer { if ( !Results.HitLine.sidedef[1] || (Results.HitLine.Flags&(Line.ML_BlockHitscan|Line.ML_BlockEverything)) ) { - for ( int i=1; i