fixed turret facing order, added rocket turret

This commit is contained in:
Matthias Mailänder
2012-06-27 20:12:19 +02:00
committed by Chris Forbes
parent b9cda8fcca
commit 8041b17032
9 changed files with 309 additions and 36 deletions

View File

@@ -114,16 +114,16 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
new string[] {"--r8", PathToDataR8, PathToPalette, "2521", "2522", Path.Combine(PathToSHPs, "radara"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2523", "2524", Path.Combine(PathToSHPs, "pwra"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2525", "2526", Path.Combine(PathToSHPs, "barra"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2527", "2558", Path.Combine(PathToSHPs, "wall"), "--wall"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2527", "2558", Path.Combine(PathToSHPs, "walla"), "--wall"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2559", "2560", Path.Combine(PathToSHPs, "conyarda"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2561", "2563", Path.Combine(PathToSHPs, "refa"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2564", "2565", Path.Combine(PathToSHPs, "hightecha"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2566", "2570", Path.Combine(PathToSHPs, "siloa"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2571", "2572", Path.Combine(PathToSHPs, "repaira"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2573", "2588", Path.Combine(PathToSHPs, "guntower"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2589", "2620", Path.Combine(PathToSHPs, "gunturret"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2621", "2636", Path.Combine(PathToSHPs, "rockettower"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2637", "2668", Path.Combine(PathToSHPs, "rocketturreta"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2573", "2588", Path.Combine(PathToSHPs, "guntowera"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2589", "2620", Path.Combine(PathToSHPs, "gunturreta"), "--turret"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2621", "2636", Path.Combine(PathToSHPs, "rockettowera"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2637", "2668", Path.Combine(PathToSHPs, "rocketturreta"), "--turret"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2669", "2670", Path.Combine(PathToSHPs, "researcha"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2671", "2672", Path.Combine(PathToSHPs, "starporta"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2673", "2675", Path.Combine(PathToSHPs, "lighta"), "--building"},
@@ -132,15 +132,16 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
new string[] {"--r8", PathToDataR8, PathToPalette, "2681", "2682", Path.Combine(PathToSHPs, "radarh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2683", "2684", Path.Combine(PathToSHPs, "pwrh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2685", "2686", Path.Combine(PathToSHPs, "barrh"), "--building"},
// identical wall
new string[] {"--r8", PathToDataR8, PathToPalette, "2687", "2718", Path.Combine(PathToSHPs, "wallh"), "--wall"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2719", "2720", Path.Combine(PathToSHPs, "conyardh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2721", "2723", Path.Combine(PathToSHPs, "refh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2724", "2725", Path.Combine(PathToSHPs, "hightechh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2726", "2730", Path.Combine(PathToSHPs, "siloh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2731", "2732", Path.Combine(PathToSHPs, "repairh"), "--building"},
// identical guntower
new string[] {"--r8", PathToDataR8, PathToPalette, "2749", "2780", Path.Combine(PathToSHPs, "gunturreth"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2797", "2828", Path.Combine(PathToSHPs, "rocketturreth"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2733", "2748", Path.Combine(PathToSHPs, "guntowerh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2749", "2780", Path.Combine(PathToSHPs, "gunturreth"), "--turret"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2781", "2796", Path.Combine(PathToSHPs, "rockettowerh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2797", "2828", Path.Combine(PathToSHPs, "rocketturreth"), "--turret"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2829", "2830", Path.Combine(PathToSHPs, "researchh"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2831", "2832", Path.Combine(PathToSHPs, "starporth"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2833", "2835", Path.Combine(PathToSHPs, "lighth"), "--building"},
@@ -149,15 +150,16 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
new string[] {"--r8", PathToDataR8, PathToPalette, "2841", "2842", Path.Combine(PathToSHPs, "radaro"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2843", "2844", Path.Combine(PathToSHPs, "pwro"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2845", "2846", Path.Combine(PathToSHPs, "barro"), "--building"},
// identical wall
new string[] {"--r8", PathToDataR8, PathToPalette, "2847", "2878", Path.Combine(PathToSHPs, "wallo"), "--wall"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2879", "2880", Path.Combine(PathToSHPs, "conyardo"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2881", "2883", Path.Combine(PathToSHPs, "refo"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2884", "2885", Path.Combine(PathToSHPs, "hightecho"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2886", "2890", Path.Combine(PathToSHPs, "siloo"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2891", "2892", Path.Combine(PathToSHPs, "repairo"), "--building"},
// identical guntower
new string[] {"--r8", PathToDataR8, PathToPalette, "2909", "2940", Path.Combine(PathToSHPs, "gunturreto"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2957", "2988", Path.Combine(PathToSHPs, "rocketturreto"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2893", "2908", Path.Combine(PathToSHPs, "guntowero"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2909", "2940", Path.Combine(PathToSHPs, "gunturreto"), "--turret"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2941", "2956", Path.Combine(PathToSHPs, "rockettowero"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2957", "2988", Path.Combine(PathToSHPs, "rocketturreto"), "--turret"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2989", "2990", Path.Combine(PathToSHPs, "researcho"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2991", "2992", Path.Combine(PathToSHPs, "starporto"), "--building"},
new string[] {"--r8", PathToDataR8, PathToPalette, "2993", "2995", Path.Combine(PathToSHPs, "lighto"), "--building"},
@@ -327,15 +329,15 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
new string[] {"--shp", Path.Combine(PathToSHPs, "radara.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "pwra.png"), "64"},
new string[] {"--shp", Path.Combine(PathToSHPs, "barra.png"), "80"},
new string[] {"--shp", Path.Combine(PathToSHPs, "wall.png"), "32"},
new string[] {"--shp", Path.Combine(PathToSHPs, "walla.png"), "32"},
new string[] {"--shp", Path.Combine(PathToSHPs, "conyarda.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "refa.png"), "120"},
new string[] {"--shp", Path.Combine(PathToSHPs, "hightecha.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "siloa.png"), "32"},
new string[] {"--shp", Path.Combine(PathToSHPs, "repaira.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "guntower.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "gunturret.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "rockettower.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "guntowera.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "gunturreta.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "rockettowera.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "rocketturreta.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "researcha.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "starporta.png"), "96"},
@@ -344,13 +346,16 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
new string[] {"--shp", Path.Combine(PathToSHPs, "heavyh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "radarh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "pwrh.png"), "64"},
new string[] {"--shp", Path.Combine(PathToSHPs, "wallh.png"), "32"},
new string[] {"--shp", Path.Combine(PathToSHPs, "barrh.png"), "64"},
new string[] {"--shp", Path.Combine(PathToSHPs, "conyardh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "refh.png"), "120"},
new string[] {"--shp", Path.Combine(PathToSHPs, "hightechh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "siloh.png"), "32"},
new string[] {"--shp", Path.Combine(PathToSHPs, "repairh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "guntowerh.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "gunturreth.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "rockettowerh.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "rocketturreth.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "researchh.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "starporth.png"), "96"},
@@ -360,12 +365,15 @@ namespace OpenRA.Mods.D2k.Widgets.Logic
new string[] {"--shp", Path.Combine(PathToSHPs, "radaro.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "pwro.png"), "64"},
new string[] {"--shp", Path.Combine(PathToSHPs, "barro.png"), "64"},
new string[] {"--shp", Path.Combine(PathToSHPs, "wallo.png"), "32"},
new string[] {"--shp", Path.Combine(PathToSHPs, "conyardo.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "refo.png"), "120"},
new string[] {"--shp", Path.Combine(PathToSHPs, "hightecho.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "siloo.png"), "32"},
new string[] {"--shp", Path.Combine(PathToSHPs, "repairo.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "guntowero.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "gunturreto.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "rockettowero.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "rocketturreto.png"), "48"},
new string[] {"--shp", Path.Combine(PathToSHPs, "researcho.png"), "96"},
new string[] {"--shp", Path.Combine(PathToSHPs, "starporto.png"), "96"},

View File

@@ -128,7 +128,6 @@ namespace OpenRA.Utility
frame = srcImage[startFrame];
//TODO: This is not enough as the run and shoot animation are next to each other for each sequence in RA/CnC.
if (args.Contains("--infantry")) //resorting to RA/CnC compatible counter-clockwise frame order
{
endFrame = startFrame-1;
@@ -189,6 +188,34 @@ namespace OpenRA.Utility
frame = srcImage[f];
}
}
else if (args.Contains("--turret")) //resorting to RA/CnC compatible counter-clockwise frame order
{
frame = srcImage[startFrame];
for (int f = endFrame-1; f > startFrame-1; f--)
{
if (frame.OffsetX < 0) { frame.OffsetX = 0 - frame.OffsetX; }
if (frame.OffsetY < 0) { frame.OffsetY = 0 - frame.OffsetY; }
OffsetX = 0 + frame.OffsetX;
OffsetY = frame.FrameHeight - frame.OffsetY;
Console.WriteLine("calculated OffsetX: {0}", OffsetX);
Console.WriteLine("calculated OffsetY: {0}", OffsetY);
var data = bitmap.LockBits(new Rectangle(x+OffsetX, 0+OffsetY, frame.Width, frame.Height), ImageLockMode.WriteOnly,
PixelFormat.Format8bppIndexed);
for (var i = 0; i < frame.Height; i++)
Marshal.Copy(frame.Image, i * frame.Width,
new IntPtr(data.Scan0.ToInt64() + i * data.Stride), frame.Width);
bitmap.UnlockBits(data);
x += frame.FrameWidth;
frame = srcImage[f];
}
}
else if (args.Contains("--wall")) //complex resorting to RA/CnC compatible frame order
{
int[] D2kBrikFrameOrder = {1, 4, 2, 12, 5, 6, 16, 9, 3, 13, 7, 8, 14, 10, 11, 15, 17, 20, 18, 28, 21, 22, 32, 25, 19, 29, 23, 24, 30, 26, 27, 31};
@@ -411,6 +438,7 @@ namespace OpenRA.Utility
srcImage.Frames.Select( im => im.Image.Select(px => (byte)remap[px]).ToArray() ));
}
//This is needed because the run and shoot animation are next to each other for each sequence in RA/CnC, but not in D2k.
public static void TransposeShp(string[] args)
{
var srcImage = ShpReader.Load(args[1]);

View File

@@ -13,7 +13,6 @@
# add more spice tiles and make them fit
# add game logic for concrete plates (use terrain overlay from bridges/ressources)
# allow placing turrets on walls
# RenderBuildingTurreted does not support separate turret sequence
# R8 converter needs infantry/ornithocopter frame resorter
# add grenade thrower
# make sandworm behave like a moving anti-vehicle mine
@@ -33,4 +32,4 @@
# support patch 1.06 gamefiles: DATA.R8 has more frames and currently fails to extract, also featuring new terrain with white houses and new unit: grenade thrower
# infantry-only areas (Rough) do not show the dark-green mouse cursor
# put TilesetBuilder.Export into OpenRA.Utility to call the functions directly when extracting game-files (instead of opening a GUI)
# group number metrics are off, should use DrawText not pips SHP
# group number metrics are off

View File

@@ -25,6 +25,24 @@ PWRA:
Prerequisites: conyarda
Owner: atreides
GUNTOWERA:
Inherits: ^GUNTOWER
Buildable:
Prerequisites: conyarda
Owner: atreides
ROCKETTOWERA:
Inherits: ^ROCKETTOWER
Buildable:
Prerequisites: radara
Owner: atreides
WALLA:
Inherits: ^WALL
Buildable:
Prerequisites: conyarda
Owner: atreides
REFA:
Inherits: ^REFINERY
Buildable:

View File

@@ -45,6 +45,24 @@ BARRH:
CancelledAudio: HI_CANCL.AUD
BlockedAudio: HI_NROOM.AUD
GUNTOWERH:
Inherits: ^GUNTOWER
Buildable:
Prerequisites: conyardh
Owner: harkonnen
ROCKETTOWERH:
Inherits: ^ROCKETTOWER
Buildable:
Prerequisites: radarh
Owner: harkonnen
WALLH:
Inherits: ^WALL
Buildable:
Prerequisites: conyardh
Owner: harkonnen
HIGHTECHH:
Inherits: ^HIGHTECH
Buildable:

View File

@@ -45,6 +45,24 @@ BARRO:
CancelledAudio: OI_CANCL.AUD
BlockedAudio: OI_NROOM.AUD
GUNTOWERO:
Inherits: ^GUNTOWER
Buildable:
Prerequisites: conyardo
Owner: ordos
ROCKETTOWERO:
Inherits: ^ROCKETTOWER
Buildable:
Prerequisites: radaro
Owner: ordos
WALLO:
Inherits: ^WALL
Buildable:
Prerequisites: conyardo
Owner: ordos
HIGHTECHO:
Inherits: ^HIGHTECH
Buildable:

View File

@@ -377,11 +377,10 @@
LowPowerSlowdown: 3
ProductionBar:
WALL:
^WALL:
Buildable:
Queue: Defense
BuildPaletteOrder: 1000
Owner: atreides,harkonnen,ordos
SoundOnDamageTransition:
DamagedSound:
DestroyedSound:
@@ -392,6 +391,7 @@ WALL:
Tooltip:
Name: Concrete Wall
Description: Stop units and blocks enemy fire.
Icon: wallicon
AppearsOnRadar:
Building:
Dimensions: 1,1
@@ -423,12 +423,11 @@ WALL:
Types:Wall
Sellable:
GUNTOWER:
^GUNTOWER:
Inherits: ^Building
Buildable:
Queue: Defense
BuildPaletteOrder: 40
Owner: atreides,harkonnen,ordos
Valued:
Cost: 600
Tooltip:
@@ -436,7 +435,7 @@ GUNTOWER:
Description: Anti-Armor base defense.\n Strong vs Tanks\n Weak vs Infantry, Aircraft
Icon: turreticon
Building:
Power: -40
Power: -20
-GivesBuildableArea:
Health:
HP: 400
@@ -447,6 +446,7 @@ GUNTOWER:
RenderRangeCircle:
-RenderBuilding:
RenderBuildingSeparateTurret:
HasMakeAnimation: false
Turreted:
ROT: 12
InitialFacing: 50
@@ -456,6 +456,40 @@ GUNTOWER:
RequiresPower:
CanPowerDown:
^ROCKETTOWER:
Inherits: ^Building
RequiresPower:
Valued:
Cost: 1000
Tooltip:
Name: Rocket Tower
Icon: rturreticon
Description: Anti-armor defensive structure.\n Strong vs Light Vehicles, Tanks\n Weak vs Infantry
Buildable:
Queue: Defense
BuildPaletteOrder: 60
Building:
Power: -40
-GivesBuildableArea:
Health:
HP: 800
Armor:
Type: Heavy
RevealsShroud:
Range: 8
-RenderBuilding:
RenderBuildingSeparateTurret:
HasMakeAnimation: false
AttackTurreted:
PrimaryWeapon: TowerMissle
PrimaryOffset: 0,0,5,2
PrimaryLocalOffset: 7,-7,0,0,-25, -7,-7,0,0,25
Turreted:
ROT: 12
InitialFacing: 50
AutoTarget:
RenderRangeCircle:
^REPAIR:
Inherits: ^Building
Buildable:

View File

@@ -18,7 +18,35 @@ harvester:
Start: 10
Length: 1
wall:
walla:
idle:
Start: 0
Length: 16
scratched-idle:
Start: 0
Length: 16
damaged-idle:
Start: 16
Length: 16
critical-idle:
Start: 16
Length: 16
wallh:
idle:
Start: 0
Length: 16
scratched-idle:
Start: 0
Length: 16
damaged-idle:
Start: 16
Length: 16
critical-idle:
Start: 16
Length: 16
wallo:
idle:
Start: 0
Length: 16
@@ -75,7 +103,7 @@ sonictank:
Start: 0
Facings: 32
guntower:
guntowera:
idle:
Start: 0
Facings: 1
@@ -91,7 +119,106 @@ guntower:
damaged-recoil:
Start: 0
Facings: 1
turret: gunturret
turret: gunturreta
Start: 0
Facings: 32
guntowerh:
idle:
Start: 0
Facings: 1
recoil:
Start: 0
Facings: 1
make: silomake
Start: 0
Length: *
damaged-idle:
Start: 0
Facings: 1
damaged-recoil:
Start: 0
Facings: 1
turret: gunturreth
Start: 0
Facings: 32
guntowero:
idle:
Start: 0
Facings: 1
recoil:
Start: 0
Facings: 1
make: silomake
Start: 0
Length: *
damaged-idle:
Start: 0
Facings: 1
damaged-recoil:
Start: 0
Facings: 1
turret: gunturreto
Start: 0
Facings: 32
rockettowera:
idle:
Start: 0
Facings: 1
recoil:
Start: 0
Facings: 1
make: silomake
Start: 0
Length: *
damaged-idle:
Start: 0
Facings: 1
damaged-recoil:
Start: 0
Facings: 1
turret: rocketturreta
Start: 0
Facings: 32
rockettowerh:
idle:
Start: 0
Facings: 1
recoil:
Start: 0
Facings: 1
make: silomake
Start: 0
Length: *
damaged-idle:
Start: 0
Facings: 1
damaged-recoil:
Start: 0
Facings: 1
turret: rocketturreth
Start: 0
Facings: 32
rockettowero:
idle:
Start: 0
Facings: 1
recoil:
Start: 0
Facings: 1
make: silomake
Start: 0
Length: *
damaged-idle:
Start: 0
Facings: 1
damaged-recoil:
Start: 0
Facings: 1
turret: rocketturreto
Start: 0
Facings: 32

View File

@@ -93,11 +93,41 @@ TurretGun:
Light: 75%
Concrete: 50%
Explosion: small_explosion
WaterExplosion: small_splash
InfDeath: 3
SmudgeType: SandCrater, RockCrater
Damage: 60
TowerMissle:
ROF: 40
Range: 7
Report: MISSLE1
ValidTargets: Ground, Air
Burst: 2
BurstDelay: 10
Projectile: Missile
Arm: 0
High: yes
Shadow: no
Proximity: yes
Inaccuracy: 3
Image: DRAGON
ROT: 10
Trail: smokey
Speed: 25
RangeLimit: 40
Warhead:
Spread: 6
Versus:
None: 90%
Wood: 75%
Light: 60%
Heavy: 25%
InfDeath: 2
Explosion: small_explosion
ImpactSound: kaboom12
SmudgeType: SandCrater, RockCrater
Damage: 60
25mm:
ROF: 13
Range: 4
@@ -113,7 +143,6 @@ TurretGun:
Heavy: 40%
Concrete: 30%
Explosion: small_explosion
WaterExplosion: small_splash
InfDeath: 3
SmudgeType: SandCrater, RockCrater
Damage: 16
@@ -133,7 +162,6 @@ TurretGun:
Light: 75%
Concrete: 50%
Explosion: small_explosion
WaterExplosion: small_splash
InfDeath: 3
SmudgeType: SandCrater, RockCrater
Damage: 30
@@ -155,7 +183,6 @@ TurretGun:
Light: 75%
Concrete: 50%
Explosion: small_explosion
WaterExplosion: small_splash
InfDeath: 3
SmudgeType: SandCrater, RockCrater
Damage: 40
@@ -176,7 +203,6 @@ TurretGun:
Light: 75%
Concrete: 50%
Explosion: small_explosion
WaterExplosion: small_splash
InfDeath: 3
SmudgeType: SandCrater, RockCrater
Damage: 50
@@ -213,7 +239,6 @@ TurretGun:
SmudgeType: SandCrater, RockCrater
Damage: 25
#for rocket turret
MammothTusk:
ROF: 60
Range: 8
@@ -298,7 +323,6 @@ ChainGun:
Heavy: 25%
Concrete: 25%
Explosion: piffs
WaterExplosion: small_splash
InfDeath: 1
Damage: 20
@@ -317,7 +341,6 @@ M60mg:
Heavy: 10%
Concrete: 10%
Explosion: piffs
WaterExplosion: small_splash
InfDeath: 1
Damage: 15