From a8f40914713a215cf1f06b546e2abafa0c0eb38d Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Fri, 20 Sep 2019 00:56:39 +0200 Subject: [PATCH] Fix Demolisher model scale, was twice as large as it was supposed to be for some reason. Demolisher rebalancing. --- ProtoNotes.md | 1 + modeldef.biggun | 2 +- zscript/biggun.zsc | 15 +++++++++------ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ProtoNotes.md b/ProtoNotes.md index 710b6bc..6685a96 100644 --- a/ProtoNotes.md +++ b/ProtoNotes.md @@ -24,6 +24,7 @@ scratch sometime. - I forgot to re-add in the little bits of flesh/dried blood that hang from the blades, but I think it still looks fine like this. + Edit: I re-added them. - Same story as the Demolisher. The fact that these two only popped up in one third-party source for another game is really suspicious. diff --git a/modeldef.biggun b/modeldef.biggun index 8dd29f9..44ecc02 100644 --- a/modeldef.biggun +++ b/modeldef.biggun @@ -103,7 +103,7 @@ Model "BigGun" SurfaceSkin 0 0 "JBigGun1.png" SurfaceSkin 0 1 "Automa1.png" AngleOffset -85 - Scale 0.2 -0.1 0.2 + Scale 0.1 -0.05 0.1 Offset 7 -10 -3 // Still diff --git a/zscript/biggun.zsc b/zscript/biggun.zsc index cc0d313..ec96745 100644 --- a/zscript/biggun.zsc +++ b/zscript/biggun.zsc @@ -128,10 +128,10 @@ Class BigBlast : Actor override void PostBeginPlay() { Super.PostBeginPlay(); - A_Explode(200,250); - A_QuakeEx(4,4,4,10,0,400,"",QF_RELATIVE|QF_SCALEDOWN,falloff:200,rollintensity:0.2); + A_Explode(50+special1,150); + A_QuakeEx(4,4,4,10,0,300,"",QF_RELATIVE|QF_SCALEDOWN,falloff:150,rollintensity:0.2); A_PlaySound("big/blast",CHAN_VOICE,pitch:FRandom[BigGun](0.8,1.2)); - UTMainHandler.DoBlast(self,250,80000); + UTMainHandler.DoBlast(self,150,80000); let r = Spawn("FatRing",pos); r.angle = angle; r.pitch = pitch; @@ -200,8 +200,9 @@ Class BigTracer : LineTracer ent.x = Results.HitVector; ent.hitdamage = min(Results.HitActor.health,int(penetration)); hitlist.Push(ent); - penetration -= ent.hitdamage*.3; - if ( penetration <= 0 ) return TRACE_Abort; + penetration = max(0,penetration-ent.hitdamage*.2); + if ( (penetration <= 0) || (hitlist.Size() > 9) ) + return TRACE_Abort; return TRACE_Skip; } return TRACE_Skip; @@ -316,7 +317,7 @@ Class BigGun : UnrealWeapon if ( !invoker.t ) invoker.t = new("BigTracer"); invoker.t.ignoreme = self; invoker.t.hitlist.Clear(); - invoker.t.penetration = 1000.; + invoker.t.penetration = 200.; invoker.t.Trace(origin,level.PointInSector(origin.xy),dir,10000.,0); for ( int i=0; i