diff --git a/zscript/biorifle.zsc b/zscript/biorifle.zsc index cde94a1..e13cf01 100644 --- a/zscript/biorifle.zsc +++ b/zscript/biorifle.zsc @@ -195,7 +195,7 @@ Class BioGel : Actor { Super.PostBeginPlay(); vel.z += 3; - deadtimer = -1; + deadtimer = 105; l = Spawn("BioLight",pos); l.target = self; rollvel = FRandom[GES](10,30)*RandomPick[GES](-1,1); @@ -274,7 +274,7 @@ Class BioGel : Actor let bi = BlockThingsIterator.Create(self,4*Scale.x); while ( bi.Next() ) { - if ( !bi.Thing || !bi.Thing.bSHOOTABLE || (bi.Thing == b) || ((bi.Thing is 'BioHitbox') && ((bi.Thing.target.master == self) || (bi.Thing.target == master))) ) continue; + if ( !bi.Thing || !bi.Thing.bSHOOTABLE || (bi.Thing == b) || ((bi.Thing is 'BioHitbox') && ((bi.Thing.target.master == self) || (bi.Thing.target == master))) || (bi.Thing == target && !bHITOWNER) ) continue; if ( (Distance2D(bi.Thing)-bi.Thing.radius <= 4*Scale.x) && ((bi.Thing.pos.z <= pos.z+4*Scale.x) && (bi.Thing.pos.z+bi.Thing.height >= pos.z-4*Scale.x)) ) deadtimer = 0; } if ( deadtimer-- <= 0 ) @@ -571,9 +571,9 @@ Class BioGel : Actor XDeath: TNT1 A 0 A_JumpIf(invoker.HitType==HIT_NONE,"Explode"); TNT1 A 0 A_JumpIf(invoker.HitType==HIT_WALL,2); - GELH J 1 Bright A_SetTics(Random[GES](1,3)); + GELH J 1 Bright A_SetTics(Random[GES](3,10)); Goto Explode; - GELS G 1 Bright A_SetTics(Random[GES](1,3)); + GELS G 1 Bright A_SetTics(Random[GES](3,10)); Goto Explode; Explode: TNT1 A 0 A_Jump(255,"Explode1","Explode2","Explode3");