2001 Gear^.State := Gear^.State or gsttmpFlag; |
2001 Gear^.State := Gear^.State or gsttmpFlag; |
2002 end; |
2002 end; |
2003 |
2003 |
2004 //////////////////////////////////////////////////////////////////////////////// |
2004 //////////////////////////////////////////////////////////////////////////////// |
2005 procedure doStepDynamite(Gear: PGear); |
2005 procedure doStepDynamite(Gear: PGear); |
|
2006 var VGear: PVisualGear; |
2006 begin |
2007 begin |
2007 doStepFallingGear(Gear); |
2008 doStepFallingGear(Gear); |
2008 AllInactive := false; |
2009 AllInactive := false; |
|
2010 |
|
2011 if (GameTicks and $F = 0) and (random(3) = 0) then |
|
2012 begin |
|
2013 VGear:= AddVisualGear(hwRound(Gear^.X)+12-(Gear^.Tag shr 1), hwRound(Gear^.Y)-16, vgtStraightShot); |
|
2014 if VGear <> nil then |
|
2015 with VGear^ do |
|
2016 begin |
|
2017 Tint:= $FFCC00FF; |
|
2018 Angle:= random(360); |
|
2019 dx:= 0.0005 * (random(200)); |
|
2020 dy:= 0.0005 * (random(200)); |
|
2021 if random(2) = 0 then |
|
2022 dx := -dx; |
|
2023 if random(2) = 0 then |
|
2024 dy := -dy; |
|
2025 FrameTicks:= 100+random(300); |
|
2026 Scale:= 0.1+1/(random(3)+3); |
|
2027 State:= ord(sprStar) |
|
2028 end |
|
2029 end; |
|
2030 |
|
2031 |
2009 if Gear^.Timer mod 166 = 0 then |
2032 if Gear^.Timer mod 166 = 0 then |
2010 inc(Gear^.Tag); |
2033 inc(Gear^.Tag); |
2011 if Gear^.Timer = 1000 then // might need better timing |
2034 if Gear^.Timer = 1000 then // might need better timing |
2012 makeHogsWorry(Gear^.X, Gear^.Y, 75); |
2035 makeHogsWorry(Gear^.X, Gear^.Y, 75); |
2013 if Gear^.Timer = 0 then |
2036 if Gear^.Timer = 0 then |