diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381Azimuth.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381Azimuth.mwm
new file mode 100644
index 000000000..34e46eec4
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381Azimuth.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381Barrel.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381Barrel.mwm
new file mode 100644
index 000000000..daf63a212
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381Barrel.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381Elevation.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381Elevation.mwm
new file mode 100644
index 000000000..817b062dc
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381Elevation.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm.mwm
new file mode 100644
index 000000000..588c3bd38
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm_BS1.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm_BS1.mwm
new file mode 100644
index 000000000..6b429955e
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm_BS1.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm_BS2.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm_BS2.mwm
new file mode 100644
index 000000000..2bf53f5bb
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm_BS2.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm_BS3.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm_BS3.mwm
new file mode 100644
index 000000000..6ce6e4965
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/15inchItal/OTO381mm_BS3.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Azi.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Azi.mwm
new file mode 100644
index 000000000..a69a82f0d
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Azi.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Barrel.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Barrel.mwm
new file mode 100644
index 000000000..09d81dcb1
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Barrel.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Elevation.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Elevation.mwm
new file mode 100644
index 000000000..561ce92ad
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Elevation.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1.mwm
new file mode 100644
index 000000000..3191110ff
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1_BS1.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1_BS1.mwm
new file mode 100644
index 000000000..0f358ebc2
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1_BS1.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1_BS2.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1_BS2.mwm
new file mode 100644
index 000000000..740244376
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1_BS2.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1_BS3.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1_BS3.mwm
new file mode 100644
index 000000000..d4bc8d9ad
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK16Inch45Mark1_BS3.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK_16InchAPShell.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK_16InchAPShell.mwm
new file mode 100644
index 000000000..e2acc05df
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/16InchBrit/UK_16InchAPShell.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5EleTwin.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5EleTwin.mwm
new file mode 100644
index 000000000..c67031455
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5EleTwin.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45.mwm
new file mode 100644
index 000000000..060e3b4c3
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45_BS1.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45_BS1.mwm
new file mode 100644
index 000000000..9c866d17a
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45_BS1.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45_BS2.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45_BS2.mwm
new file mode 100644
index 000000000..6fb87ba04
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45_BS2.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45_BS3.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45_BS3.mwm
new file mode 100644
index 000000000..659c2caad
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5Inch45_BS3.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5InchAziTwin.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5InchAziTwin.mwm
new file mode 100644
index 000000000..bf2abd5cd
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5InchAziTwin.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5InchTwinBarrelFlat.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5InchTwinBarrelFlat.mwm
new file mode 100644
index 000000000..6bcbf7ff9
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/4.5 inch/4_5InchTwinBarrelFlat.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinAzimuth.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinAzimuth.mwm
new file mode 100644
index 000000000..a04be9470
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinAzimuth.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinBarrel.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinBarrel.mwm
new file mode 100644
index 000000000..112384c69
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinBarrel.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate.mwm
new file mode 100644
index 000000000..2604382e6
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate_BS1.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate_BS1.mwm
new file mode 100644
index 000000000..2a1db3256
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate_BS1.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate_BS2.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate_BS2.mwm
new file mode 100644
index 000000000..9cf362745
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate_BS2.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate_BS3.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate_BS3.mwm
new file mode 100644
index 000000000..03604747a
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinCasemate_BS3.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinElevation.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinElevation.mwm
new file mode 100644
index 000000000..f0e280cbd
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15Cm55TwinElevation.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15CmBarrel.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15CmBarrel.mwm
new file mode 100644
index 000000000..38a0758b9
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15CmBarrel.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45CaseAzimuth.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45CaseAzimuth.mwm
new file mode 100644
index 000000000..c9851fc82
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45CaseAzimuth.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45CaseBarrel.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45CaseBarrel.mwm
new file mode 100644
index 000000000..4a11040a9
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45CaseBarrel.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45CaseElevation.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45CaseElevation.mwm
new file mode 100644
index 000000000..39bf17759
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45CaseElevation.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate.mwm
new file mode 100644
index 000000000..d0316ecf8
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate_BS1.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate_BS1.mwm
new file mode 100644
index 000000000..c9224324d
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate_BS1.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate_BS2.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate_BS2.mwm
new file mode 100644
index 000000000..716accfbf
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate_BS2.mwm differ
diff --git a/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate_BS3.mwm b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate_BS3.mwm
new file mode 100644
index 000000000..6a64ec71a
Binary files /dev/null and b/Weapon Mods/Stable/TaitMod_Fletcher/Models/Casemates/15cm45Casemate_BS3.mwm differ
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/BlockCategories.sbc b/Weapon Mods/TaitMod_Fletcher/Data/BlockCategories.sbc
index d02ebc39b..6a48cc19c 100644
--- a/Weapon Mods/TaitMod_Fletcher/Data/BlockCategories.sbc
+++ b/Weapon Mods/TaitMod_Fletcher/Data/BlockCategories.sbc
@@ -23,9 +23,12 @@
ConveyorSorter/Mk25Rangefinder
ConveyorSorter/20InchTwin
ConveyorSorter/203mmTwin
+ ConveyorSorter/15cm45Casemate
+ ConveyorSorter/15Cm55TwinCasemate
ConveyorSorter/FAM2BrowningTurret
ConveyorSorter/OerlikonDual
ConveyorSorter/OerlikonMain
+ ConveyorSorter/4_5Inch45
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/15Cm55TwinCasemate.sbc b/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/15Cm55TwinCasemate.sbc
new file mode 100644
index 000000000..10455dc6d
--- /dev/null
+++ b/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/15Cm55TwinCasemate.sbc
@@ -0,0 +1,49 @@
+
+
+
+
+
+ ConveyorSorter
+ 15Cm55TwinCasemate
+
+ [FAS] Graf Zeppelin
+
+ [Turret Range: 5000]
+ [Reload: 3 Seconds/Barrel]
+
+ [Ammo Types: HE | AP]
+ [Shell Range: 7km]
+ [Shell Speed: 1000m/s | 1100m/s]
+ [Damage Types: Energy | Kinetic]
+
+
+ Textures\GUI\Icons\15Cm55TwinCasemate.dds
+ Large
+ TriangleMesh
+
+
+ Models\Casemates\15Cm55TwinCasemate.mwm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 15Cm55TwinCasemate
+ Y
+ 150
+
+
+
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/15cm45Casemate.sbc b/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/15cm45Casemate.sbc
new file mode 100644
index 000000000..a7d404b53
--- /dev/null
+++ b/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/15cm45Casemate.sbc
@@ -0,0 +1,50 @@
+
+
+
+
+
+ ConveyorSorter
+ 15cm45Casemate
+
+ [FAS] Baden
+
+ [Turret Range: 5000]
+ [Reload: 3 Seconds/Barrel]
+
+ [Ammo Types: HE | AP]
+ [Shell Range: 7km]
+ [Shell Speed: 1000m/s | 1100m/s]
+ [Damage Types: Energy | Kinetic]
+
+
+ Textures\GUI\Icons\15cm45Casemate.dds
+ Large
+ TriangleMesh
+
+
+ Models\Casemates\15cm45Casemate.mwm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 15cm45Casemate
+ Y
+ 150
+
+
+
\ No newline at end of file
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/4_5Inch45.sbc b/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/4_5Inch45.sbc
new file mode 100644
index 000000000..ae6764780
--- /dev/null
+++ b/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/4_5Inch45.sbc
@@ -0,0 +1,47 @@
+
+
+
+
+
+ ConveyorSorter
+ 4_5Inch45
+
+ [FAS] Dido
+
+ [Turret Range: 4000]
+ [Reload: 1.5 Seconds/Barrel]
+
+ [Ammo Types: HE | SAP]
+ [Shell Range: 5km]
+ [Shell Speed: 850m/s | 1500m/s]
+ [Damage Types: Energy | Kinetic]
+ [AMS capable: 50]
+
+ Textures\GUI\Icons\4_5Inch45.dds
+ Large
+ TriangleMesh
+
+
+ Models\4.5 inch\4_5Inch45.mwm
+
+
+
+
+
+
+
+
+
+
+
+ 150
+ Z
+ Y
+
+
+
+ 4_5Inch45
+ 100
+
+
+
\ No newline at end of file
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/OTO381mm.sbc b/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/OTO381mm.sbc
new file mode 100644
index 000000000..5151ef13e
--- /dev/null
+++ b/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/OTO381mm.sbc
@@ -0,0 +1,46 @@
+
+
+
+
+
+ ConveyorSorter
+ OTO381mm
+
+ [FAS] Roma
+
+ [Turret Range: 7000]
+ [Reload: 3 Seconds/Barrel]
+
+ [Ammo Types: HE | AP]
+ [Shell Range: 10km]
+ [Shell Speed: 1200m/s | 1300m/s]
+ [Damage Types: Energy | Kinetic]
+
+ Textures\GUI\Icons\OTO381mm.dds
+ Large
+ TriangleMesh
+
+
+ Models\15inchItal\OTO381mm.mwm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OTO381mm
+ Z
+ Y
+ 225
+
+
+
\ No newline at end of file
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/UK16Inch45Mark1.sbc b/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/UK16Inch45Mark1.sbc
new file mode 100644
index 000000000..c2d1ad8f2
--- /dev/null
+++ b/Weapon Mods/TaitMod_Fletcher/Data/CubeBlocks/UK16Inch45Mark1.sbc
@@ -0,0 +1,47 @@
+
+
+
+
+
+ ConveyorSorter
+ UK16Inch45Mark1
+
+ [FAS] Nelson
+
+ [Turret Range: 7000]
+ [Reload: 3 Seconds/Barrel]
+
+ [Ammo Types: HE | AP]
+ [Shell Range: 10km]
+ [Shell Speed: 1200m/s | 1300m/s]
+ [Damage Types: Energy | Kinetic]
+
+ Textures\GUI\Icons\UK16Inch45Mark1.dds
+ Large
+ TriangleMesh
+
+
+ Models\16InchBrit\UK16Inch45Mark1.mwm
+ Damage_WeapExpl_Damaged
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UK16Inch45Mark1
+ Z
+ Y
+ 225
+
+
+
\ No newline at end of file
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Guided/25InSemiGuideTorp.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Guided/25InSemiGuideTorp.cs
index c80d3fcb5..4f71f7a6c 100644
--- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Guided/25InSemiGuideTorp.cs
+++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Guided/25InSemiGuideTorp.cs
@@ -507,7 +507,7 @@ partial class Parts
},
Grids = new GridSizeDef
{
- Large = 1f, // Multiplier for damage against large grids.
+ Large = 1.5f, // Multiplier for damage against large grids.
Small = -1f, // Multiplier for damage against small grids.
},
Armor = new ArmorDef
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Guided/25InchQuinTorpLaunch.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Guided/25InchQuinTorpLaunch.cs
index c81d9f61b..f47b9c2fa 100644
--- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Guided/25InchQuinTorpLaunch.cs
+++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Guided/25InchQuinTorpLaunch.cs
@@ -85,7 +85,7 @@ partial class Parts {
HardPoint = new HardPointDef
{
PartName = "Neptune quintuple torpedo launcher", // Name of the weapon in terminal, should be unique for each weapon definition that shares a SubtypeId (i.e. multiweapons).
- DeviateShotAngle = 1f, // Projectile inaccuracy in degrees.
+ DeviateShotAngle = 15f, // Projectile inaccuracy in degrees.
AimingTolerance = 35f, // How many degrees off target a turret can fire at. 0 - 180 firing angle.
AimLeadingPrediction = Accurate, // Level of turret aim prediction; Off, Basic, Accurate, Advanced
DelayCeaseFire = 0, // Measured in game ticks (6 = 100ms, 60 = 1 second, etc..). Length of time the weapon continues firing after trigger is released - while a target is available.
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/508HE.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/508HE.cs
index 81bf86dde..a61f04f54 100644
--- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/508HE.cs
+++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/508HE.cs
@@ -106,7 +106,7 @@ partial class Parts
},
Shields = new ShieldDef
{
- Modifier = 5f, // Multiplier for damage against shields.
+ Modifier = 7.5f, // Multiplier for damage against shields.
Type = Default, // Damage vs healing against shields; Default, Heal
BypassModifier = -1f, // If greater than zero, the percentage of damage that will penetrate the shield.
},
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/BL 16 Inch 45 Mark 1.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/BL 16 Inch 45 Mark 1.cs
new file mode 100644
index 000000000..4898756d7
--- /dev/null
+++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/BL 16 Inch 45 Mark 1.cs
@@ -0,0 +1,202 @@
+using static Scripts.Structure;
+using static Scripts.Structure.WeaponDefinition;
+using static Scripts.Structure.WeaponDefinition.ModelAssignmentsDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.Prediction;
+using static Scripts.Structure.WeaponDefinition.TargetingDef.BlockTypes;
+using static Scripts.Structure.WeaponDefinition.TargetingDef.Threat;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.HardwareDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.HardwareDef.HardwareType;
+
+namespace Scripts {
+ partial class Parts {
+ // Don't edit above this line
+ WeaponDefinition FA16Inch45Mark1 => new WeaponDefinition
+ {
+ Assignments = new ModelAssignmentsDef
+ {
+ MountPoints = new[] {
+ new MountPointDef {
+ SubtypeId = "UK16Inch45Mark1", // Block Subtypeid. Your Cubeblocks contain this information
+ SpinPartId = "", // For weapons with a spinning barrel such as Gatling Guns. Subpart_Boomsticks must be written as Boomsticks.
+ MuzzlePartId = "MissileTurretBarrels", // The subpart where your muzzle empties are located. This is often the elevation subpart. Subpart_Boomsticks must be written as Boomsticks.
+ AzimuthPartId = "MissileTurretBase1", // Your Rotating Subpart, the bit that moves sideways.
+ ElevationPartId = "MissileTurretBarrels", // Your Elevating Subpart, that bit that moves up.
+ DurabilityMod = 0.25f, // GeneralDamageMultiplier, 0.25f = 25% damage taken.
+ IconName = "TestIcon.dds" // Overlay for block inventory slots, like reactors, refineries, etc.
+ },
+
+ },
+ Muzzles = new[] {
+ "muzzle_missile_1",
+ "muzzle_missile_2",
+ "muzzle_missile_3",
+
+
+
+
+ },
+ Ejector = "", // Optional; empty from which to eject "shells" if specified.
+ Scope = "camera", // Where line of sight checks are performed from. Must be clear of block collision.
+ },
+ Targeting = new TargetingDef
+ {
+ Threats = new[] {
+ Grids, // Types of threat to engage: Grids, Projectiles, Characters, Meteors, Neutrals
+ },
+ SubSystems = new[] {
+ Thrust, Utility, Offense, Power, Production, Any, // Subsystem targeting priority: Offense, Utility, Power, Production, Thrust, Jumping, Steering, Any
+ },
+ ClosestFirst = true, // Tries to pick closest targets first (blocks on grids, projectiles, etc...).
+ IgnoreDumbProjectiles = false, // Don't fire at non-smart projectiles.
+ LockedSmartOnly = false, // Only fire at smart projectiles that are locked on to parent grid.
+ MinimumDiameter = 0, // Minimum radius of threat to engage.
+ MaximumDiameter = 0, // Maximum radius of threat to engage; 0 = unlimited.
+ MaxTargetDistance = 7000, // Maximum distance at which targets will be automatically shot at; 0 = unlimited.
+ MinTargetDistance = 0, // Minimum distance at which targets will be automatically shot at.
+ TopTargets = 4, // Maximum number of targets to randomize between; 0 = unlimited.
+ TopBlocks = 0, // Maximum number of blocks to randomize between; 0 = unlimited.
+ StopTrackingSpeed = 0, // Do not track threats traveling faster than this speed; 0 = unlimited.
+ },
+ HardPoint = new HardPointDef
+ {
+ PartName = "16 Inch 45 Mark 1", // Name of the weapon in terminal, should be unique for each weapon definition that shares a SubtypeId (i.e. multiweapons).
+ DeviateShotAngle = 0.15f, // Projectile inaccuracy in degrees.
+ AimingTolerance = 1f, // How many degrees off target a turret can fire at. 0 - 180 firing angle.
+ AimLeadingPrediction = Advanced, // Level of turret aim prediction; Off, Basic, Accurate, Advanced
+ DelayCeaseFire = 0, // Measured in game ticks (6 = 100ms, 60 = 1 second, etc..). Length of time the weapon continues firing after trigger is released - while a target is available.
+ AddToleranceToTracking = true, // Allows turret to track to the edge of the AimingTolerance cone instead of dead centre.
+ CanShootSubmerged = false, // Whether the weapon can be fired underwater when using WaterMod.
+
+ Ui = new UiDef
+ {
+ RateOfFire = false, // Enables terminal slider for changing rate of fire.
+ DamageModifier = false, // Enables terminal slider for changing damage per shot.
+ ToggleGuidance = false, // Enables terminal option to disable smart projectile guidance.
+ EnableOverload = false, // Enables terminal option to turn on Overload; this allows energy weapons to double damage per shot, at the cost of quadrupled power draw and heat gain, and 2% self damage on overheat.
+ },
+ Ai = new AiDef
+ {
+ TrackTargets = true, // Whether this weapon tracks its own targets, or (for multiweapons) relies on the weapon with PrimaryTracking enabled for target designation. Turrets Need this set to True.
+ TurretAttached = true, // Whether this weapon is a turret and should have the UI and API options for such. Turrets Need this set to True.
+ TurretController = true, // Whether this weapon can physically control the turret's movement. Turrets Need this set to True.
+ PrimaryTracking = true, // For multiweapons: whether this weapon should designate targets for other weapons on the platform without their own tracking.
+ LockOnFocus = false, // If enabled, weapon will only fire at targets that have been HUD selected AND locked onto by pressing Numpad 0.
+ SuppressFire = false, // If enabled, weapon can only be fired manually.
+ OverrideLeads = false, // Disable target leading on fixed weapons, or allow it for turrets.
+ },
+ HardWare = new HardwareDef
+ {
+ RotateRate = 0.004f, // Max traversal speed of azimuth subpart in radians per tick (0.1 is approximately 360 degrees per second).
+ ElevateRate = 0.004f, // Max traversal speed of elevation subpart in radians per tick.
+ MinAzimuth = -180,
+ MaxAzimuth = 180,
+ MinElevation = -10,
+ MaxElevation = 45,
+ HomeAzimuth = 0, // Default resting rotation angle
+ HomeElevation = 4, // Default resting elevation
+ InventorySize = 1f, // Inventory capacity in kL.
+ IdlePower = 0.25f, // Constant base power draw in MW.
+ FixedOffset = false, // Deprecated.
+ Offset = Vector(x: 0, y: 0, z: 0), // Offsets the aiming/firing line of the weapon, in metres.
+ Type = BlockWeapon, // What type of weapon this is; BlockWeapon, HandWeapon, Phantom
+ CriticalReaction = new CriticalDef
+ {
+ Enable = false, // Enables Warhead behaviour.
+ DefaultArmedTimer = 120, // Sets default countdown duration.
+ PreArmed = false, // Whether the warhead is armed by default when placed. Best left as false.
+ TerminalControls = true, // Whether the warhead should have terminal controls for arming and detonation.
+ AmmoRound = "", // Optional. If specified, the warhead will always use this ammo on detonation rather than the currently selected ammo.
+ },
+ },
+ Other = new OtherDef
+ {
+ ConstructPartCap = 0, // Maximum number of blocks with this weapon on a grid; 0 = unlimited.
+ RotateBarrelAxis = 0, // For spinning barrels, which axis to spin the barrel around; 0 = none.
+ EnergyPriority = 0, // Deprecated.
+ MuzzleCheck = false, // Whether the weapon should check LOS from each individual muzzle in addition to the scope.
+ Debug = false, // Force enables debug mode.
+ RestrictionRadius = 9f, // Prevents other blocks of this type from being placed within this distance of the centre of the block.
+ CheckInflatedBox = false, // If true, the above distance check is performed from the edge of the block instead of the centre.
+ CheckForAnyWeapon = false, // If true, the check will fail if ANY weapon is present, not just weapons of the same subtype.
+ },
+ Loading = new LoadingDef
+ {
+ RateOfFire = 600, // Set this to 3600 for beam weapons. This is how fast your Gun fires.
+ BarrelsPerShot = 1, // How many muzzles will fire a projectile per fire event.
+ TrajectilesPerBarrel = 1, // Number of projectiles per muzzle per fire event.
+ SkipBarrels = 0, // Number of muzzles to skip after each fire event.
+ ReloadTime = 1, // Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ MagsToLoad = 3, // Number of physical magazines to consume on reload.
+ DelayUntilFire = 0, // How long the weapon waits before shooting after being told to fire. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ HeatPerShot = 1, // Heat generated per shot.
+ MaxHeat = 70000, // Max heat before weapon enters cooldown (70% of max heat).
+ Cooldown = .95f, // Percentage of max heat to be under to start firing again after overheat; accepts 0 - 0.95
+ HeatSinkRate = 9000000, // Amount of heat lost per second.
+ DegradeRof = false, // Progressively lower rate of fire when over 80% heat threshold (80% of max heat).
+ ShotsInBurst = 1, // Use this if you don't want the weapon to fire an entire physical magazine in one go. Should not be more than your magazine capacity.
+ DelayAfterBurst = 180, // How long to spend "reloading" after each burst. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ FireFull = false, // Whether the weapon should fire the full magazine (or the full burst instead if ShotsInBurst > 0), even if the target is lost or the player stops firing prematurely.
+ GiveUpAfter = false, // Whether the weapon should drop its current target and reacquire a new target after finishing its magazine or burst.
+ BarrelSpinRate = 0, // Visual only, 0 disables and uses RateOfFire.
+ DeterministicSpin = false, // Spin barrel position will always be relative to initial / starting positions (spin will not be as smooth).
+ SpinFree = true, // Spin barrel while not firing.
+ StayCharged = false, // Will start recharging whenever power cap is not full.
+ MaxActiveProjectiles = 0, // Maximum number of projectiles in flight
+ MaxReloads = 0, // Maximum number of reloads in the LIFETIME of a weapon
+ },
+ Audio = new HardPointAudioDef
+ {
+ PreFiringSound = "", // Audio for warmup effect.
+ FiringSound = "FAHeavyShot", // Audio for firing.
+ FiringSoundPerShot = true, // Whether to replay the sound for each shot, or just loop over the entire track while firing.
+ ReloadSound = "", // Sound SubtypeID, for when your Weapon is in a reloading state
+ NoAmmoSound = "",
+ HardPointRotationSound = "RotateTurretL", // Audio played when turret is moving.
+ BarrelRotationSound = "WepShipGatlingRotation",
+ FireSoundEndDelay = 120, // How long the firing audio should keep playing after firing stops. Measured in game ticks(6 = 100ms, 60 = 1 seconds, etc..).
+ FireSoundNoBurst = true, // Don't stop firing sound from looping when delaying after burst.
+ },
+ Graphics = new HardPointParticleDef
+ {
+
+ Effect1 = new ParticleDef
+ {
+ Name = "Tait_Big_Gun_Go_Boom", // Smoke_LargeGunShot
+ Color = Color(red: 1, green: 1, blue: 1, alpha: 1),
+ Offset = Vector(x: 0, y: 0, z: 0),
+
+ Extras = new ParticleOptionDef
+ {
+ Loop = false,
+ Restart = false,
+ MaxDistance = 1500,
+ MaxDuration = 0,
+ Scale = 1.0f,
+ },
+ },
+ Effect2 = new ParticleDef
+ {
+ Name = "",//Muzzle_Flash_Large
+ Color = Color(red: 10, green: 0, blue: 0, alpha: 1),
+ Offset = Vector(x: 0, y: 0, z: 0),
+
+ Extras = new ParticleOptionDef
+ {
+ Loop = false,
+ Restart = false,
+ MaxDistance = 350,
+ MaxDuration = 0,
+ Scale = 0.3f,
+ },
+ },
+ },
+ },
+ Ammos = new[] {
+ FA380mmShell,FA380mmAPShell // Must list all primary, shrapnel, and pattern ammos.
+ },
+ //Upgrades = UpgradeModules,
+ };
+ // Don't edit below this line.
+ }
+}
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/OTO 381mm.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/OTO 381mm.cs
new file mode 100644
index 000000000..df7c9bfbd
--- /dev/null
+++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Large Calibre/OTO 381mm.cs
@@ -0,0 +1,202 @@
+using static Scripts.Structure;
+using static Scripts.Structure.WeaponDefinition;
+using static Scripts.Structure.WeaponDefinition.ModelAssignmentsDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.Prediction;
+using static Scripts.Structure.WeaponDefinition.TargetingDef.BlockTypes;
+using static Scripts.Structure.WeaponDefinition.TargetingDef.Threat;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.HardwareDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.HardwareDef.HardwareType;
+
+namespace Scripts {
+ partial class Parts {
+ // Don't edit above this line
+ WeaponDefinition FA381mmOTO => new WeaponDefinition
+ {
+ Assignments = new ModelAssignmentsDef
+ {
+ MountPoints = new[] {
+ new MountPointDef {
+ SubtypeId = "OTO381mm", // Block Subtypeid. Your Cubeblocks contain this information
+ SpinPartId = "", // For weapons with a spinning barrel such as Gatling Guns. Subpart_Boomsticks must be written as Boomsticks.
+ MuzzlePartId = "MissileTurretBarrels", // The subpart where your muzzle empties are located. This is often the elevation subpart. Subpart_Boomsticks must be written as Boomsticks.
+ AzimuthPartId = "MissileTurretBase1", // Your Rotating Subpart, the bit that moves sideways.
+ ElevationPartId = "MissileTurretBarrels", // Your Elevating Subpart, that bit that moves up.
+ DurabilityMod = 0.25f, // GeneralDamageMultiplier, 0.25f = 25% damage taken.
+ IconName = "TestIcon.dds" // Overlay for block inventory slots, like reactors, refineries, etc.
+ },
+
+ },
+ Muzzles = new[] {
+ "muzzle_missile_1",
+ "muzzle_missile_2",
+ "muzzle_missile_3",
+
+
+
+
+ },
+ Ejector = "", // Optional; empty from which to eject "shells" if specified.
+ Scope = "camera", // Where line of sight checks are performed from. Must be clear of block collision.
+ },
+ Targeting = new TargetingDef
+ {
+ Threats = new[] {
+ Grids, // Types of threat to engage: Grids, Projectiles, Characters, Meteors, Neutrals
+ },
+ SubSystems = new[] {
+ Thrust, Utility, Offense, Power, Production, Any, // Subsystem targeting priority: Offense, Utility, Power, Production, Thrust, Jumping, Steering, Any
+ },
+ ClosestFirst = true, // Tries to pick closest targets first (blocks on grids, projectiles, etc...).
+ IgnoreDumbProjectiles = false, // Don't fire at non-smart projectiles.
+ LockedSmartOnly = false, // Only fire at smart projectiles that are locked on to parent grid.
+ MinimumDiameter = 0, // Minimum radius of threat to engage.
+ MaximumDiameter = 0, // Maximum radius of threat to engage; 0 = unlimited.
+ MaxTargetDistance = 7000, // Maximum distance at which targets will be automatically shot at; 0 = unlimited.
+ MinTargetDistance = 0, // Minimum distance at which targets will be automatically shot at.
+ TopTargets = 4, // Maximum number of targets to randomize between; 0 = unlimited.
+ TopBlocks = 0, // Maximum number of blocks to randomize between; 0 = unlimited.
+ StopTrackingSpeed = 0, // Do not track threats traveling faster than this speed; 0 = unlimited.
+ },
+ HardPoint = new HardPointDef
+ {
+ PartName = "OTO 381mm", // Name of the weapon in terminal, should be unique for each weapon definition that shares a SubtypeId (i.e. multiweapons).
+ DeviateShotAngle = 0.15f, // Projectile inaccuracy in degrees.
+ AimingTolerance = 1f, // How many degrees off target a turret can fire at. 0 - 180 firing angle.
+ AimLeadingPrediction = Advanced, // Level of turret aim prediction; Off, Basic, Accurate, Advanced
+ DelayCeaseFire = 0, // Measured in game ticks (6 = 100ms, 60 = 1 second, etc..). Length of time the weapon continues firing after trigger is released - while a target is available.
+ AddToleranceToTracking = true, // Allows turret to track to the edge of the AimingTolerance cone instead of dead centre.
+ CanShootSubmerged = false, // Whether the weapon can be fired underwater when using WaterMod.
+
+ Ui = new UiDef
+ {
+ RateOfFire = false, // Enables terminal slider for changing rate of fire.
+ DamageModifier = false, // Enables terminal slider for changing damage per shot.
+ ToggleGuidance = false, // Enables terminal option to disable smart projectile guidance.
+ EnableOverload = false, // Enables terminal option to turn on Overload; this allows energy weapons to double damage per shot, at the cost of quadrupled power draw and heat gain, and 2% self damage on overheat.
+ },
+ Ai = new AiDef
+ {
+ TrackTargets = true, // Whether this weapon tracks its own targets, or (for multiweapons) relies on the weapon with PrimaryTracking enabled for target designation. Turrets Need this set to True.
+ TurretAttached = true, // Whether this weapon is a turret and should have the UI and API options for such. Turrets Need this set to True.
+ TurretController = true, // Whether this weapon can physically control the turret's movement. Turrets Need this set to True.
+ PrimaryTracking = true, // For multiweapons: whether this weapon should designate targets for other weapons on the platform without their own tracking.
+ LockOnFocus = false, // If enabled, weapon will only fire at targets that have been HUD selected AND locked onto by pressing Numpad 0.
+ SuppressFire = false, // If enabled, weapon can only be fired manually.
+ OverrideLeads = false, // Disable target leading on fixed weapons, or allow it for turrets.
+ },
+ HardWare = new HardwareDef
+ {
+ RotateRate = 0.004f, // Max traversal speed of azimuth subpart in radians per tick (0.1 is approximately 360 degrees per second).
+ ElevateRate = 0.004f, // Max traversal speed of elevation subpart in radians per tick.
+ MinAzimuth = -180,
+ MaxAzimuth = 180,
+ MinElevation = -10,
+ MaxElevation = 45,
+ HomeAzimuth = 0, // Default resting rotation angle
+ HomeElevation = 4, // Default resting elevation
+ InventorySize = 1f, // Inventory capacity in kL.
+ IdlePower = 0.25f, // Constant base power draw in MW.
+ FixedOffset = false, // Deprecated.
+ Offset = Vector(x: 0, y: 0, z: 0), // Offsets the aiming/firing line of the weapon, in metres.
+ Type = BlockWeapon, // What type of weapon this is; BlockWeapon, HandWeapon, Phantom
+ CriticalReaction = new CriticalDef
+ {
+ Enable = false, // Enables Warhead behaviour.
+ DefaultArmedTimer = 120, // Sets default countdown duration.
+ PreArmed = false, // Whether the warhead is armed by default when placed. Best left as false.
+ TerminalControls = true, // Whether the warhead should have terminal controls for arming and detonation.
+ AmmoRound = "", // Optional. If specified, the warhead will always use this ammo on detonation rather than the currently selected ammo.
+ },
+ },
+ Other = new OtherDef
+ {
+ ConstructPartCap = 0, // Maximum number of blocks with this weapon on a grid; 0 = unlimited.
+ RotateBarrelAxis = 0, // For spinning barrels, which axis to spin the barrel around; 0 = none.
+ EnergyPriority = 0, // Deprecated.
+ MuzzleCheck = false, // Whether the weapon should check LOS from each individual muzzle in addition to the scope.
+ Debug = false, // Force enables debug mode.
+ RestrictionRadius = 9f, // Prevents other blocks of this type from being placed within this distance of the centre of the block.
+ CheckInflatedBox = false, // If true, the above distance check is performed from the edge of the block instead of the centre.
+ CheckForAnyWeapon = false, // If true, the check will fail if ANY weapon is present, not just weapons of the same subtype.
+ },
+ Loading = new LoadingDef
+ {
+ RateOfFire = 600, // Set this to 3600 for beam weapons. This is how fast your Gun fires.
+ BarrelsPerShot = 1, // How many muzzles will fire a projectile per fire event.
+ TrajectilesPerBarrel = 1, // Number of projectiles per muzzle per fire event.
+ SkipBarrels = 0, // Number of muzzles to skip after each fire event.
+ ReloadTime = 1, // Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ MagsToLoad = 3, // Number of physical magazines to consume on reload.
+ DelayUntilFire = 0, // How long the weapon waits before shooting after being told to fire. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ HeatPerShot = 1, // Heat generated per shot.
+ MaxHeat = 70000, // Max heat before weapon enters cooldown (70% of max heat).
+ Cooldown = .95f, // Percentage of max heat to be under to start firing again after overheat; accepts 0 - 0.95
+ HeatSinkRate = 9000000, // Amount of heat lost per second.
+ DegradeRof = false, // Progressively lower rate of fire when over 80% heat threshold (80% of max heat).
+ ShotsInBurst = 1, // Use this if you don't want the weapon to fire an entire physical magazine in one go. Should not be more than your magazine capacity.
+ DelayAfterBurst = 180, // How long to spend "reloading" after each burst. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ FireFull = false, // Whether the weapon should fire the full magazine (or the full burst instead if ShotsInBurst > 0), even if the target is lost or the player stops firing prematurely.
+ GiveUpAfter = false, // Whether the weapon should drop its current target and reacquire a new target after finishing its magazine or burst.
+ BarrelSpinRate = 0, // Visual only, 0 disables and uses RateOfFire.
+ DeterministicSpin = false, // Spin barrel position will always be relative to initial / starting positions (spin will not be as smooth).
+ SpinFree = true, // Spin barrel while not firing.
+ StayCharged = false, // Will start recharging whenever power cap is not full.
+ MaxActiveProjectiles = 0, // Maximum number of projectiles in flight
+ MaxReloads = 0, // Maximum number of reloads in the LIFETIME of a weapon
+ },
+ Audio = new HardPointAudioDef
+ {
+ PreFiringSound = "", // Audio for warmup effect.
+ FiringSound = "FAHeavyShot", // Audio for firing.
+ FiringSoundPerShot = true, // Whether to replay the sound for each shot, or just loop over the entire track while firing.
+ ReloadSound = "", // Sound SubtypeID, for when your Weapon is in a reloading state
+ NoAmmoSound = "",
+ HardPointRotationSound = "RotateTurretL", // Audio played when turret is moving.
+ BarrelRotationSound = "WepShipGatlingRotation",
+ FireSoundEndDelay = 120, // How long the firing audio should keep playing after firing stops. Measured in game ticks(6 = 100ms, 60 = 1 seconds, etc..).
+ FireSoundNoBurst = true, // Don't stop firing sound from looping when delaying after burst.
+ },
+ Graphics = new HardPointParticleDef
+ {
+
+ Effect1 = new ParticleDef
+ {
+ Name = "Tait_Big_Gun_Go_Boom", // Smoke_LargeGunShot
+ Color = Color(red: 1, green: 1, blue: 1, alpha: 1),
+ Offset = Vector(x: 0, y: 0, z: 0),
+
+ Extras = new ParticleOptionDef
+ {
+ Loop = false,
+ Restart = false,
+ MaxDistance = 1500,
+ MaxDuration = 0,
+ Scale = 1.0f,
+ },
+ },
+ Effect2 = new ParticleDef
+ {
+ Name = "",//Muzzle_Flash_Large
+ Color = Color(red: 10, green: 0, blue: 0, alpha: 1),
+ Offset = Vector(x: 0, y: 0, z: 0),
+
+ Extras = new ParticleOptionDef
+ {
+ Loop = false,
+ Restart = false,
+ MaxDistance = 350,
+ MaxDuration = 0,
+ Scale = 0.3f,
+ },
+ },
+ },
+ },
+ Ammos = new[] {
+ FA380mmShell,FA380mmAPShell // Must list all primary, shrapnel, and pattern ammos.
+ },
+ //Upgrades = UpgradeModules,
+ };
+ // Don't edit below this line.
+ }
+}
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/MasterConfig.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/MasterConfig.cs
index be6566915..8d8f105ed 100644
--- a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/MasterConfig.cs
+++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/MasterConfig.cs
@@ -23,8 +23,8 @@ internal Parts()
FA16InchGun,
FA380mmMLE,
RangeFinderMK24,
-
-
+ FA381mmOTO,
+ FA16Inch45Mark1,
FaBoforSingleRemodel,
FaBoforTwinRemodel,
FaBoforQuadRemodel,
@@ -35,10 +35,12 @@ internal Parts()
QuinTorpLauncher,
twin508,
FaM2Turret,
-
+ FA4InchMk2,
FaOerlikon20mmRemodel,
- FaOerlikon20mmDualRemodel
+ FaOerlikon20mmDualRemodel,
+ FA15Cm45Casemate,
+ FA15Cm55TwinCasemate
);
}
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/15 Cm 45 Casemate.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/15 Cm 45 Casemate.cs
new file mode 100644
index 000000000..213d8f945
--- /dev/null
+++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/15 Cm 45 Casemate.cs
@@ -0,0 +1,199 @@
+using static Scripts.Structure;
+using static Scripts.Structure.WeaponDefinition;
+using static Scripts.Structure.WeaponDefinition.ModelAssignmentsDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.Prediction;
+using static Scripts.Structure.WeaponDefinition.TargetingDef.BlockTypes;
+using static Scripts.Structure.WeaponDefinition.TargetingDef.Threat;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.HardwareDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.HardwareDef.HardwareType;
+
+namespace Scripts {
+ partial class Parts {
+ // Don't edit above this line
+ WeaponDefinition FA15Cm45Casemate => new WeaponDefinition
+ {
+ Assignments = new ModelAssignmentsDef
+ {
+ MountPoints = new[] {
+ new MountPointDef {
+ SubtypeId = "15cm45Casemate", // Block Subtypeid. Your Cubeblocks contain this information
+ SpinPartId = "", // For weapons with a spinning barrel such as Gatling Guns. Subpart_Boomsticks must be written as Boomsticks.
+ MuzzlePartId = "MissileTurretBarrels", // The subpart where your muzzle empties are located. This is often the elevation subpart. Subpart_Boomsticks must be written as Boomsticks.
+ AzimuthPartId = "MissileTurretBase1", // Your Rotating Subpart, the bit that moves sideways.
+ ElevationPartId = "MissileTurretBarrels", // Your Elevating Subpart, that bit that moves up.
+ DurabilityMod = 0.25f, // GeneralDamageMultiplier, 0.25f = 25% damage taken.
+ IconName = "TestIcon.dds" // Overlay for block inventory slots, like reactors, refineries, etc.
+ },
+
+ },
+ Muzzles = new[] {
+ "muzzle_missile_1",
+
+
+ },
+ Ejector = "", // Optional; empty from which to eject "shells" if specified.
+ Scope = "camera", // Where line of sight checks are performed from. Must be clear of block collision.
+ },
+ Targeting = new TargetingDef
+ {
+ Threats = new[] {
+ Grids, // Types of threat to engage: Grids, Projectiles, Characters, Meteors, Neutrals
+ },
+ SubSystems = new[] {
+ Thrust, Utility, Offense, Power, Production, Any, // Subsystem targeting priority: Offense, Utility, Power, Production, Thrust, Jumping, Steering, Any
+ },
+ ClosestFirst = true, // Tries to pick closest targets first (blocks on grids, projectiles, etc...).
+ IgnoreDumbProjectiles = false, // Don't fire at non-smart projectiles.
+ LockedSmartOnly = false, // Only fire at smart projectiles that are locked on to parent grid.
+ MinimumDiameter = 0, // Minimum radius of threat to engage.
+ MaximumDiameter = 0, // Maximum radius of threat to engage; 0 = unlimited.
+ MaxTargetDistance = 5000, // Maximum distance at which targets will be automatically shot at; 0 = unlimited.
+ MinTargetDistance = 0, // Minimum distance at which targets will be automatically shot at.
+ TopTargets = 4, // Maximum number of targets to randomize between; 0 = unlimited.
+ TopBlocks = 8, // Maximum number of blocks to randomize between; 0 = unlimited.
+ StopTrackingSpeed = 0, // Do not track threats traveling faster than this speed; 0 = unlimited.
+ },
+ HardPoint = new HardPointDef
+ {
+ PartName = "15cm45 Casemate", // Name of the weapon in terminal, should be unique for each weapon definition that shares a SubtypeId (i.e. multiweapons).
+ DeviateShotAngle = 0.15f, // Projectile inaccuracy in degrees.
+ AimingTolerance = 2f, // How many degrees off target a turret can fire at. 0 - 180 firing angle.
+ AimLeadingPrediction = Advanced, // Level of turret aim prediction; Off, Basic, Accurate, Advanced
+ DelayCeaseFire = 0, // Measured in game ticks (6 = 100ms, 60 = 1 second, etc..). Length of time the weapon continues firing after trigger is released - while a target is available.
+ AddToleranceToTracking = false, // Allows turret to track to the edge of the AimingTolerance cone instead of dead centre.
+ CanShootSubmerged = false, // Whether the weapon can be fired underwater when using WaterMod.
+
+ Ui = new UiDef
+ {
+ RateOfFire = false, // Enables terminal slider for changing rate of fire.
+ DamageModifier = false, // Enables terminal slider for changing damage per shot.
+ ToggleGuidance = false, // Enables terminal option to disable smart projectile guidance.
+ EnableOverload = false, // Enables terminal option to turn on Overload; this allows energy weapons to double damage per shot, at the cost of quadrupled power draw and heat gain, and 2% self damage on overheat.
+ },
+ Ai = new AiDef
+ {
+ TrackTargets = true, // Whether this weapon tracks its own targets, or (for multiweapons) relies on the weapon with PrimaryTracking enabled for target designation. Turrets Need this set to True.
+ TurretAttached = true, // Whether this weapon is a turret and should have the UI and API options for such. Turrets Need this set to True.
+ TurretController = true, // Whether this weapon can physically control the turret's movement. Turrets Need this set to True.
+ PrimaryTracking = true, // For multiweapons: whether this weapon should designate targets for other weapons on the platform without their own tracking.
+ LockOnFocus = false, // If enabled, weapon will only fire at targets that have been HUD selected AND locked onto by pressing Numpad 0.
+ SuppressFire = false, // If enabled, weapon can only be fired manually.
+ OverrideLeads = false, // Disable target leading on fixed weapons, or allow it for turrets.
+ },
+ HardWare = new HardwareDef
+ {
+ RotateRate = 0.008f, // Max traversal speed of azimuth subpart in radians per tick (0.1 is approximately 360 degrees per second).
+ ElevateRate = 0.006f, // Max traversal speed of elevation subpart in radians per tick.
+ MinAzimuth = -50,
+ MaxAzimuth = 50,
+ MinElevation = -15,
+ MaxElevation = 25,
+ HomeAzimuth = 0, // Default resting rotation angle
+ HomeElevation = 4, // Default resting elevation
+ InventorySize = 1f, // Inventory capacity in kL.
+ IdlePower = 0.25f, // Constant base power draw in MW.
+ FixedOffset = false, // Deprecated.
+ Offset = Vector(x: 0, y: 0, z: 0), // Offsets the aiming/firing line of the weapon, in metres.
+ Type = BlockWeapon, // What type of weapon this is; BlockWeapon, HandWeapon, Phantom
+ CriticalReaction = new CriticalDef
+ {
+ Enable = false, // Enables Warhead behaviour.
+ DefaultArmedTimer = 120, // Sets default countdown duration.
+ PreArmed = false, // Whether the warhead is armed by default when placed. Best left as false.
+ TerminalControls = true, // Whether the warhead should have terminal controls for arming and detonation.
+ AmmoRound = "", // Optional. If specified, the warhead will always use this ammo on detonation rather than the currently selected ammo.
+ },
+ },
+ Other = new OtherDef
+ {
+ ConstructPartCap = 0, // Maximum number of blocks with this weapon on a grid; 0 = unlimited.
+ RotateBarrelAxis = 0, // For spinning barrels, which axis to spin the barrel around; 0 = none.
+ EnergyPriority = 0, // Deprecated.
+ MuzzleCheck = false, // Whether the weapon should check LOS from each individual muzzle in addition to the scope.
+ Debug = false, // Force enables debug mode.
+ RestrictionRadius = 7, // Prevents other blocks of this type from being placed within this distance of the centre of the block.
+ CheckInflatedBox = false, // If true, the above distance check is performed from the edge of the block instead of the centre.
+ CheckForAnyWeapon = false, // If true, the check will fail if ANY weapon is present, not just weapons of the same subtype.
+ },
+ Loading = new LoadingDef
+ {
+ RateOfFire = 600, // Set this to 3600 for beam weapons. This is how fast your Gun fires.
+ BarrelsPerShot = 1, // How many muzzles will fire a projectile per fire event.
+ TrajectilesPerBarrel = 1, // Number of projectiles per muzzle per fire event.
+ SkipBarrels = 0, // Number of muzzles to skip after each fire event.
+ ReloadTime = 1, // Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ MagsToLoad = 1, // Number of physical magazines to consume on reload.
+ DelayUntilFire = 0, // How long the weapon waits before shooting after being told to fire. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ HeatPerShot = 1, // Heat generated per shot.
+ MaxHeat = 70000, // Max heat before weapon enters cooldown (70% of max heat).
+ Cooldown = .95f, // Percentage of max heat to be under to start firing again after overheat; accepts 0 - 0.95
+ HeatSinkRate = 9000000, // Amount of heat lost per second.
+ DegradeRof = false, // Progressively lower rate of fire when over 80% heat threshold (80% of max heat).
+ ShotsInBurst = 1, // Use this if you don't want the weapon to fire an entire physical magazine in one go. Should not be more than your magazine capacity.
+ DelayAfterBurst = 100, // How long to spend "reloading" after each burst. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ FireFull = false, // Whether the weapon should fire the full magazine (or the full burst instead if ShotsInBurst > 0), even if the target is lost or the player stops firing prematurely.
+ GiveUpAfter = false, // Whether the weapon should drop its current target and reacquire a new target after finishing its magazine or burst.
+ BarrelSpinRate = 0, // Visual only, 0 disables and uses RateOfFire.
+ DeterministicSpin = false, // Spin barrel position will always be relative to initial / starting positions (spin will not be as smooth).
+ SpinFree = true, // Spin barrel while not firing.
+ StayCharged = false, // Will start recharging whenever power cap is not full.
+ MaxActiveProjectiles = 0, // Maximum number of projectiles in flight
+ MaxReloads = 0, // Maximum number of reloads in the LIFETIME of a weapon
+ },
+
+ Audio = new HardPointAudioDef
+ {
+ PreFiringSound = "", // Audio for warmup effect.
+ FiringSound = "FALargeShot", // Audio for firing.
+ FiringSoundPerShot = true, // Whether to replay the sound for each shot, or just loop over the entire track while firing.
+ ReloadSound = "", // Sound SubtypeID, for when your Weapon is in a reloading state
+ NoAmmoSound = "",
+ HardPointRotationSound = "WepTurretGatlingRotate", // Audio played when turret is moving.
+ BarrelRotationSound = "WepShipGatlingRotation",
+ FireSoundEndDelay = 120, // How long the firing audio should keep playing after firing stops. Measured in game ticks(6 = 100ms, 60 = 1 seconds, etc..).
+ FireSoundNoBurst = true, // Don't stop firing sound from looping when delaying after burst.
+ },
+ Graphics = new HardPointParticleDef
+ {
+
+ Effect1 = new ParticleDef
+ {
+ Name = "Tait_Stole_Muzzle_Medium", // Smoke_LargeGunShot
+ Color = Color(red: 1, green: 1, blue: 1, alpha: 1),
+ Offset = Vector(x: 0, y: 0, z: 0),
+
+ Extras = new ParticleOptionDef
+ {
+ Loop = false,
+ Restart = false,
+ MaxDistance = 1500,
+ MaxDuration = 0,
+ Scale = 1.0f,
+ },
+ },
+ Effect2 = new ParticleDef
+ {
+ Name = "",//Muzzle_Flash_Large
+ Color = Color(red: 10, green: 0, blue: 0, alpha: 1),
+ Offset = Vector(x: 0, y: 0, z: 0),
+
+ Extras = new ParticleOptionDef
+ {
+ Loop = false,
+ Restart = false,
+ MaxDistance = 350,
+ MaxDuration = 0,
+ Scale = 0.3f,
+ },
+ },
+ },
+ },
+ Ammos = new[] {
+ APShell203, HEShell203 // Must list all primary, shrapnel, and pattern ammos.
+ },
+ //Upgrades = UpgradeModules,
+ };
+ // Don't edit below this line.
+ }
+}
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/15 Cm 55 Twin Casemate.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/15 Cm 55 Twin Casemate.cs
new file mode 100644
index 000000000..f021c5f59
--- /dev/null
+++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Medium Calibre/15 Cm 55 Twin Casemate.cs
@@ -0,0 +1,200 @@
+using static Scripts.Structure;
+using static Scripts.Structure.WeaponDefinition;
+using static Scripts.Structure.WeaponDefinition.ModelAssignmentsDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.Prediction;
+using static Scripts.Structure.WeaponDefinition.TargetingDef.BlockTypes;
+using static Scripts.Structure.WeaponDefinition.TargetingDef.Threat;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.HardwareDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.HardwareDef.HardwareType;
+
+namespace Scripts {
+ partial class Parts {
+ // Don't edit above this line
+ WeaponDefinition FA15Cm55TwinCasemate => new WeaponDefinition
+ {
+ Assignments = new ModelAssignmentsDef
+ {
+ MountPoints = new[] {
+ new MountPointDef {
+ SubtypeId = "15Cm55TwinCasemate", // Block Subtypeid. Your Cubeblocks contain this information
+ SpinPartId = "", // For weapons with a spinning barrel such as Gatling Guns. Subpart_Boomsticks must be written as Boomsticks.
+ MuzzlePartId = "MissileTurretBarrels", // The subpart where your muzzle empties are located. This is often the elevation subpart. Subpart_Boomsticks must be written as Boomsticks.
+ AzimuthPartId = "MissileTurretBase1", // Your Rotating Subpart, the bit that moves sideways.
+ ElevationPartId = "MissileTurretBarrels", // Your Elevating Subpart, that bit that moves up.
+ DurabilityMod = 0.25f, // GeneralDamageMultiplier, 0.25f = 25% damage taken.
+ IconName = "TestIcon.dds" // Overlay for block inventory slots, like reactors, refineries, etc.
+ },
+
+ },
+ Muzzles = new[] {
+ "muzzle_missile_1",
+ "muzzle_missile_2",
+
+
+ },
+ Ejector = "", // Optional; empty from which to eject "shells" if specified.
+ Scope = "camera", // Where line of sight checks are performed from. Must be clear of block collision.
+ },
+ Targeting = new TargetingDef
+ {
+ Threats = new[] {
+ Grids, // Types of threat to engage: Grids, Projectiles, Characters, Meteors, Neutrals
+ },
+ SubSystems = new[] {
+ Thrust, Utility, Offense, Power, Production, Any, // Subsystem targeting priority: Offense, Utility, Power, Production, Thrust, Jumping, Steering, Any
+ },
+ ClosestFirst = true, // Tries to pick closest targets first (blocks on grids, projectiles, etc...).
+ IgnoreDumbProjectiles = false, // Don't fire at non-smart projectiles.
+ LockedSmartOnly = false, // Only fire at smart projectiles that are locked on to parent grid.
+ MinimumDiameter = 0, // Minimum radius of threat to engage.
+ MaximumDiameter = 0, // Maximum radius of threat to engage; 0 = unlimited.
+ MaxTargetDistance = 5000, // Maximum distance at which targets will be automatically shot at; 0 = unlimited.
+ MinTargetDistance = 0, // Minimum distance at which targets will be automatically shot at.
+ TopTargets = 4, // Maximum number of targets to randomize between; 0 = unlimited.
+ TopBlocks = 8, // Maximum number of blocks to randomize between; 0 = unlimited.
+ StopTrackingSpeed = 0, // Do not track threats traveling faster than this speed; 0 = unlimited.
+ },
+ HardPoint = new HardPointDef
+ {
+ PartName = "15cm55 Twin Casemate", // Name of the weapon in terminal, should be unique for each weapon definition that shares a SubtypeId (i.e. multiweapons).
+ DeviateShotAngle = 0.15f, // Projectile inaccuracy in degrees.
+ AimingTolerance = 2f, // How many degrees off target a turret can fire at. 0 - 180 firing angle.
+ AimLeadingPrediction = Advanced, // Level of turret aim prediction; Off, Basic, Accurate, Advanced
+ DelayCeaseFire = 0, // Measured in game ticks (6 = 100ms, 60 = 1 second, etc..). Length of time the weapon continues firing after trigger is released - while a target is available.
+ AddToleranceToTracking = false, // Allows turret to track to the edge of the AimingTolerance cone instead of dead centre.
+ CanShootSubmerged = false, // Whether the weapon can be fired underwater when using WaterMod.
+
+ Ui = new UiDef
+ {
+ RateOfFire = false, // Enables terminal slider for changing rate of fire.
+ DamageModifier = false, // Enables terminal slider for changing damage per shot.
+ ToggleGuidance = false, // Enables terminal option to disable smart projectile guidance.
+ EnableOverload = false, // Enables terminal option to turn on Overload; this allows energy weapons to double damage per shot, at the cost of quadrupled power draw and heat gain, and 2% self damage on overheat.
+ },
+ Ai = new AiDef
+ {
+ TrackTargets = true, // Whether this weapon tracks its own targets, or (for multiweapons) relies on the weapon with PrimaryTracking enabled for target designation. Turrets Need this set to True.
+ TurretAttached = true, // Whether this weapon is a turret and should have the UI and API options for such. Turrets Need this set to True.
+ TurretController = true, // Whether this weapon can physically control the turret's movement. Turrets Need this set to True.
+ PrimaryTracking = true, // For multiweapons: whether this weapon should designate targets for other weapons on the platform without their own tracking.
+ LockOnFocus = false, // If enabled, weapon will only fire at targets that have been HUD selected AND locked onto by pressing Numpad 0.
+ SuppressFire = false, // If enabled, weapon can only be fired manually.
+ OverrideLeads = false, // Disable target leading on fixed weapons, or allow it for turrets.
+ },
+ HardWare = new HardwareDef
+ {
+ RotateRate = 0.008f, // Max traversal speed of azimuth subpart in radians per tick (0.1 is approximately 360 degrees per second).
+ ElevateRate = 0.006f, // Max traversal speed of elevation subpart in radians per tick.
+ MinAzimuth = -50,
+ MaxAzimuth = 50,
+ MinElevation = -15,
+ MaxElevation = 25,
+ HomeAzimuth = 0, // Default resting rotation angle
+ HomeElevation = 4, // Default resting elevation
+ InventorySize = 1f, // Inventory capacity in kL.
+ IdlePower = 0.25f, // Constant base power draw in MW.
+ FixedOffset = false, // Deprecated.
+ Offset = Vector(x: 0, y: 0, z: 0), // Offsets the aiming/firing line of the weapon, in metres.
+ Type = BlockWeapon, // What type of weapon this is; BlockWeapon, HandWeapon, Phantom
+ CriticalReaction = new CriticalDef
+ {
+ Enable = false, // Enables Warhead behaviour.
+ DefaultArmedTimer = 120, // Sets default countdown duration.
+ PreArmed = false, // Whether the warhead is armed by default when placed. Best left as false.
+ TerminalControls = true, // Whether the warhead should have terminal controls for arming and detonation.
+ AmmoRound = "", // Optional. If specified, the warhead will always use this ammo on detonation rather than the currently selected ammo.
+ },
+ },
+ Other = new OtherDef
+ {
+ ConstructPartCap = 0, // Maximum number of blocks with this weapon on a grid; 0 = unlimited.
+ RotateBarrelAxis = 0, // For spinning barrels, which axis to spin the barrel around; 0 = none.
+ EnergyPriority = 0, // Deprecated.
+ MuzzleCheck = false, // Whether the weapon should check LOS from each individual muzzle in addition to the scope.
+ Debug = false, // Force enables debug mode.
+ RestrictionRadius = 7, // Prevents other blocks of this type from being placed within this distance of the centre of the block.
+ CheckInflatedBox = false, // If true, the above distance check is performed from the edge of the block instead of the centre.
+ CheckForAnyWeapon = false, // If true, the check will fail if ANY weapon is present, not just weapons of the same subtype.
+ },
+ Loading = new LoadingDef
+ {
+ RateOfFire = 600, // Set this to 3600 for beam weapons. This is how fast your Gun fires.
+ BarrelsPerShot = 1, // How many muzzles will fire a projectile per fire event.
+ TrajectilesPerBarrel = 1, // Number of projectiles per muzzle per fire event.
+ SkipBarrels = 0, // Number of muzzles to skip after each fire event.
+ ReloadTime = 1, // Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ MagsToLoad = 2, // Number of physical magazines to consume on reload.
+ DelayUntilFire = 0, // How long the weapon waits before shooting after being told to fire. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ HeatPerShot = 1, // Heat generated per shot.
+ MaxHeat = 70000, // Max heat before weapon enters cooldown (70% of max heat).
+ Cooldown = .95f, // Percentage of max heat to be under to start firing again after overheat; accepts 0 - 0.95
+ HeatSinkRate = 9000000, // Amount of heat lost per second.
+ DegradeRof = false, // Progressively lower rate of fire when over 80% heat threshold (80% of max heat).
+ ShotsInBurst = 1, // Use this if you don't want the weapon to fire an entire physical magazine in one go. Should not be more than your magazine capacity.
+ DelayAfterBurst = 100, // How long to spend "reloading" after each burst. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ FireFull = false, // Whether the weapon should fire the full magazine (or the full burst instead if ShotsInBurst > 0), even if the target is lost or the player stops firing prematurely.
+ GiveUpAfter = false, // Whether the weapon should drop its current target and reacquire a new target after finishing its magazine or burst.
+ BarrelSpinRate = 0, // Visual only, 0 disables and uses RateOfFire.
+ DeterministicSpin = false, // Spin barrel position will always be relative to initial / starting positions (spin will not be as smooth).
+ SpinFree = true, // Spin barrel while not firing.
+ StayCharged = false, // Will start recharging whenever power cap is not full.
+ MaxActiveProjectiles = 0, // Maximum number of projectiles in flight
+ MaxReloads = 0, // Maximum number of reloads in the LIFETIME of a weapon
+ },
+
+ Audio = new HardPointAudioDef
+ {
+ PreFiringSound = "", // Audio for warmup effect.
+ FiringSound = "FALargeShot", // Audio for firing.
+ FiringSoundPerShot = true, // Whether to replay the sound for each shot, or just loop over the entire track while firing.
+ ReloadSound = "", // Sound SubtypeID, for when your Weapon is in a reloading state
+ NoAmmoSound = "",
+ HardPointRotationSound = "WepTurretGatlingRotate", // Audio played when turret is moving.
+ BarrelRotationSound = "WepShipGatlingRotation",
+ FireSoundEndDelay = 120, // How long the firing audio should keep playing after firing stops. Measured in game ticks(6 = 100ms, 60 = 1 seconds, etc..).
+ FireSoundNoBurst = true, // Don't stop firing sound from looping when delaying after burst.
+ },
+ Graphics = new HardPointParticleDef
+ {
+
+ Effect1 = new ParticleDef
+ {
+ Name = "Tait_Stole_Muzzle_Medium", // Smoke_LargeGunShot
+ Color = Color(red: 1, green: 1, blue: 1, alpha: 1),
+ Offset = Vector(x: 0, y: 0, z: 0),
+
+ Extras = new ParticleOptionDef
+ {
+ Loop = false,
+ Restart = false,
+ MaxDistance = 1500,
+ MaxDuration = 0,
+ Scale = 1.0f,
+ },
+ },
+ Effect2 = new ParticleDef
+ {
+ Name = "",//Muzzle_Flash_Large
+ Color = Color(red: 10, green: 0, blue: 0, alpha: 1),
+ Offset = Vector(x: 0, y: 0, z: 0),
+
+ Extras = new ParticleOptionDef
+ {
+ Loop = false,
+ Restart = false,
+ MaxDistance = 350,
+ MaxDuration = 0,
+ Scale = 0.3f,
+ },
+ },
+ },
+ },
+ Ammos = new[] {
+ APShell203, HEShell203 // Must list all primary, shrapnel, and pattern ammos.
+ },
+ //Upgrades = UpgradeModules,
+ };
+ // Don't edit below this line.
+ }
+}
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/4_5 inch Mark II.cs b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/4_5 inch Mark II.cs
new file mode 100644
index 000000000..171341262
--- /dev/null
+++ b/Weapon Mods/TaitMod_Fletcher/Data/Scripts/CoreParts/Small Calibre/4_5 inch Mark II.cs
@@ -0,0 +1,199 @@
+using static Scripts.Structure;
+using static Scripts.Structure.WeaponDefinition;
+using static Scripts.Structure.WeaponDefinition.ModelAssignmentsDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.Prediction;
+using static Scripts.Structure.WeaponDefinition.TargetingDef.BlockTypes;
+using static Scripts.Structure.WeaponDefinition.TargetingDef.Threat;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.HardwareDef;
+using static Scripts.Structure.WeaponDefinition.HardPointDef.HardwareDef.HardwareType;
+
+namespace Scripts {
+ partial class Parts {
+ // Don't edit above this line
+ WeaponDefinition FA4InchMk2 => new WeaponDefinition
+ {
+ Assignments = new ModelAssignmentsDef
+ {
+ MountPoints = new[] {
+ new MountPointDef {
+ SubtypeId = "4_5Inch45", // Block Subtypeid. Your Cubeblocks contain this information
+ SpinPartId = "", // For weapons with a spinning barrel such as Gatling Guns. Subpart_Boomsticks must be written as Boomsticks.
+ MuzzlePartId = "MissileTurretBarrels", // The subpart where your muzzle empties are located. This is often the elevation subpart. Subpart_Boomsticks must be written as Boomsticks.
+ AzimuthPartId = "MissileTurretBase1", // Your Rotating Subpart, the bit that moves sideways.
+ ElevationPartId = "MissileTurretBarrels", // Your Elevating Subpart, that bit that moves up.
+ DurabilityMod = 0.25f, // GeneralDamageMultiplier, 0.25f = 25% damage taken.
+ IconName = "TestIcon.dds" // Overlay for block inventory slots, like reactors, refineries, etc.
+ },
+
+ },
+ Muzzles = new[] {
+ "muzzle_missile_1",
+ "muzzle_missile_2",
+
+
+ },
+ Ejector = "", // Optional; empty from which to eject "shells" if specified.
+ Scope = "camera", // Where line of sight checks are performed from. Must be clear of block collision.
+ },
+ Targeting = new TargetingDef
+ {
+ Threats = new[] {
+ Grids,Projectiles, // Types of threat to engage: Grids, Projectiles, Characters, Meteors, Neutrals
+ },
+ SubSystems = new[] {
+ Thrust, Utility, Offense, Power, Production, Any, // Subsystem targeting priority: Offense, Utility, Power, Production, Thrust, Jumping, Steering, Any
+ },
+ ClosestFirst = true, // Tries to pick closest targets first (blocks on grids, projectiles, etc...).
+ IgnoreDumbProjectiles = false, // Don't fire at non-smart projectiles.
+ LockedSmartOnly = false, // Only fire at smart projectiles that are locked on to parent grid.
+ MinimumDiameter = 0, // Minimum radius of threat to engage.
+ MaximumDiameter = 0, // Maximum radius of threat to engage; 0 = unlimited.
+ MaxTargetDistance = 4000, // Maximum distance at which targets will be automatically shot at; 0 = unlimited.
+ MinTargetDistance = 0, // Minimum distance at which targets will be automatically shot at.
+ TopTargets = 4, // Maximum number of targets to randomize between; 0 = unlimited.
+ TopBlocks = 8, // Maximum number of blocks to randomize between; 0 = unlimited.
+ StopTrackingSpeed = 0, // Do not track threats traveling faster than this speed; 0 = unlimited.
+ },
+ HardPoint = new HardPointDef
+ {
+ PartName = "4.5 Inch Mark 12 Remodel", // Name of the weapon in terminal, should be unique for each weapon definition that shares a SubtypeId (i.e. multiweapons).
+ DeviateShotAngle = 0.25f, // Projectile inaccuracy in degrees.
+ AimingTolerance = 1f, // How many degrees off target a turret can fire at. 0 - 180 firing angle.
+ AimLeadingPrediction = Advanced, // Level of turret aim prediction; Off, Basic, Accurate, Advanced
+ DelayCeaseFire = 0, // Measured in game ticks (6 = 100ms, 60 = 1 second, etc..). Length of time the weapon continues firing after trigger is released - while a target is available.
+ AddToleranceToTracking = false, // Allows turret to track to the edge of the AimingTolerance cone instead of dead centre.
+ CanShootSubmerged = false, // Whether the weapon can be fired underwater when using WaterMod.
+
+ Ui = new UiDef
+ {
+ RateOfFire = false, // Enables terminal slider for changing rate of fire.
+ DamageModifier = false, // Enables terminal slider for changing damage per shot.
+ ToggleGuidance = false, // Enables terminal option to disable smart projectile guidance.
+ EnableOverload = false, // Enables terminal option to turn on Overload; this allows energy weapons to double damage per shot, at the cost of quadrupled power draw and heat gain, and 2% self damage on overheat.
+ },
+ Ai = new AiDef
+ {
+ TrackTargets = true, // Whether this weapon tracks its own targets, or (for multiweapons) relies on the weapon with PrimaryTracking enabled for target designation. Turrets Need this set to True.
+ TurretAttached = true, // Whether this weapon is a turret and should have the UI and API options for such. Turrets Need this set to True.
+ TurretController = true, // Whether this weapon can physically control the turret's movement. Turrets Need this set to True.
+ PrimaryTracking = true, // For multiweapons: whether this weapon should designate targets for other weapons on the platform without their own tracking.
+ LockOnFocus = false, // If enabled, weapon will only fire at targets that have been HUD selected AND locked onto by pressing Numpad 0.
+ SuppressFire = false, // If enabled, weapon can only be fired manually.
+ OverrideLeads = false, // Disable target leading on fixed weapons, or allow it for turrets.
+ },
+ HardWare = new HardwareDef
+ {
+ RotateRate = 0.01f, // Max traversal speed of azimuth subpart in radians per tick (0.1 is approximately 360 degrees per second).
+ ElevateRate = 0.01f, // Max traversal speed of elevation subpart in radians per tick.
+ MinAzimuth = -180,
+ MaxAzimuth = 180,
+ MinElevation = -15,
+ MaxElevation = 85,
+ HomeAzimuth = 0, // Default resting rotation angle
+ HomeElevation = 5, // Default resting elevation
+ InventorySize = 1f, // Inventory capacity in kL.
+ IdlePower = 0.25f, // Constant base power draw in MW.
+ FixedOffset = false, // Deprecated.
+ Offset = Vector(x: 0, y: 0, z: 0), // Offsets the aiming/firing line of the weapon, in metres.
+ Type = BlockWeapon, // What type of weapon this is; BlockWeapon, HandWeapon, Phantom
+ CriticalReaction = new CriticalDef
+ {
+ Enable = false, // Enables Warhead behaviour.
+ DefaultArmedTimer = 120, // Sets default countdown duration.
+ PreArmed = false, // Whether the warhead is armed by default when placed. Best left as false.
+ TerminalControls = true, // Whether the warhead should have terminal controls for arming and detonation.
+ AmmoRound = "", // Optional. If specified, the warhead will always use this ammo on detonation rather than the currently selected ammo.
+ },
+ },
+ Other = new OtherDef
+ {
+ ConstructPartCap = 0, // Maximum number of blocks with this weapon on a grid; 0 = unlimited.
+ RotateBarrelAxis = 0, // For spinning barrels, which axis to spin the barrel around; 0 = none.
+ EnergyPriority = 0, // Deprecated.
+ MuzzleCheck = false, // Whether the weapon should check LOS from each individual muzzle in addition to the scope.
+ Debug = false, // Force enables debug mode.
+ RestrictionRadius = 0, // Prevents other blocks of this type from being placed within this distance of the centre of the block.
+ CheckInflatedBox = false, // If true, the above distance check is performed from the edge of the block instead of the centre.
+ CheckForAnyWeapon = false, // If true, the check will fail if ANY weapon is present, not just weapons of the same subtype.
+ },
+ Loading = new LoadingDef
+ {
+ RateOfFire = 600, // Set this to 3600 for beam weapons. This is how fast your Gun fires.
+ BarrelsPerShot = 1, // How many muzzles will fire a projectile per fire event.
+ TrajectilesPerBarrel = 1, // Number of projectiles per muzzle per fire event.
+ SkipBarrels = 0, // Number of muzzles to skip after each fire event.
+ ReloadTime = 1, // Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ MagsToLoad = 2, // Number of physical magazines to consume on reload.
+ DelayUntilFire = 0, // How long the weapon waits before shooting after being told to fire. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ HeatPerShot = 1, // Heat generated per shot.
+ MaxHeat = 70000, // Max heat before weapon enters cooldown (70% of max heat).
+ Cooldown = .95f, // Percentage of max heat to be under to start firing again after overheat; accepts 0 - 0.95
+ HeatSinkRate = 9000000, // Amount of heat lost per second.
+ DegradeRof = false, // Progressively lower rate of fire when over 80% heat threshold (80% of max heat).
+ ShotsInBurst = 1, // Use this if you don't want the weapon to fire an entire physical magazine in one go. Should not be more than your magazine capacity.
+ DelayAfterBurst = 75, // How long to spend "reloading" after each burst. Measured in game ticks (6 = 100ms, 60 = 1 seconds, etc..).
+ FireFull = false, // Whether the weapon should fire the full magazine (or the full burst instead if ShotsInBurst > 0), even if the target is lost or the player stops firing prematurely.
+ GiveUpAfter = false, // Whether the weapon should drop its current target and reacquire a new target after finishing its magazine or burst.
+ BarrelSpinRate = 0, // Visual only, 0 disables and uses RateOfFire.
+ DeterministicSpin = false, // Spin barrel position will always be relative to initial / starting positions (spin will not be as smooth).
+ SpinFree = true, // Spin barrel while not firing.
+ StayCharged = false, // Will start recharging whenever power cap is not full.
+ MaxActiveProjectiles = 0, // Maximum number of projectiles in flight
+ MaxReloads = 0, // Maximum number of reloads in the LIFETIME of a weapon
+ },
+ Audio = new HardPointAudioDef
+ {
+ PreFiringSound = "", // Audio for warmup effect.
+ FiringSound = "FAMediumShot", // Audio for firing.
+ FiringSoundPerShot = true, // Whether to replay the sound for each shot, or just loop over the entire track while firing.
+ ReloadSound = "", // Sound SubtypeID, for when your Weapon is in a reloading state
+ NoAmmoSound = "",
+ HardPointRotationSound = "WepTurretGatlingRotate", // Audio played when turret is moving.
+ BarrelRotationSound = "WepShipGatlingRotation",
+ FireSoundEndDelay = 120, // How long the firing audio should keep playing after firing stops. Measured in game ticks(6 = 100ms, 60 = 1 seconds, etc..).
+ FireSoundNoBurst = true, // Don't stop firing sound from looping when delaying after burst.
+ },
+ Graphics = new HardPointParticleDef
+ {
+
+ Effect1 = new ParticleDef
+ {
+ Name = "Tait_Stole_Muzzle_Medium", // Smoke_LargeGunShot
+ Color = Color(red: 1, green: 1, blue: 1, alpha: 1),
+ Offset = Vector(x: 0, y: 0, z: 0),
+
+ Extras = new ParticleOptionDef
+ {
+ Loop = false,
+ Restart = false,
+ MaxDistance = 1500,
+ MaxDuration = 0.81f,
+ Scale = 0.5f,
+ },
+ },
+ Effect2 = new ParticleDef
+ {
+ Name = "",//Muzzle_Flash_Large
+ Color = Color(red: 10, green: 0, blue: 0, alpha: 1),
+ Offset = Vector(x: 0, y: 0, z: 0),
+
+ Extras = new ParticleOptionDef
+ {
+ Loop = false,
+ Restart = false,
+ MaxDistance = 350,
+ MaxDuration = 5,
+ Scale = 0.3f,
+ },
+ },
+ },
+ },
+ Ammos = new[] {
+ FA5InchShell,FA5SAPShell // Must list all primary, shrapnel, and pattern ammos.
+ },
+ //Upgrades = UpgradeModules,
+ };
+ // Don't edit below this line.
+ }
+}
diff --git a/Weapon Mods/TaitMod_Fletcher/Data/TTBlockVariantGroups.sbc b/Weapon Mods/TaitMod_Fletcher/Data/TTBlockVariantGroups.sbc
index 28fc07b53..51a3a9762 100644
--- a/Weapon Mods/TaitMod_Fletcher/Data/TTBlockVariantGroups.sbc
+++ b/Weapon Mods/TaitMod_Fletcher/Data/TTBlockVariantGroups.sbc
@@ -27,6 +27,7 @@
+
@@ -40,7 +41,9 @@
-
+
+
+
@@ -52,6 +55,8 @@
+
+
diff --git a/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/15Cm55TwinCasemate.dds b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/15Cm55TwinCasemate.dds
new file mode 100644
index 000000000..d35352b1a
Binary files /dev/null and b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/15Cm55TwinCasemate.dds differ
diff --git a/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/15cm45Casemate.dds b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/15cm45Casemate.dds
new file mode 100644
index 000000000..a97cd177c
Binary files /dev/null and b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/15cm45Casemate.dds differ
diff --git a/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/4_5Inch45.dds b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/4_5Inch45.dds
new file mode 100644
index 000000000..b91228599
Binary files /dev/null and b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/4_5Inch45.dds differ
diff --git a/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/8Inch55Main.dds b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/8Inch55Main.dds
new file mode 100644
index 000000000..0805e1f3b
Binary files /dev/null and b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/8Inch55Main.dds differ
diff --git a/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/8Inch55RF.dds b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/8Inch55RF.dds
new file mode 100644
index 000000000..bcd3edbc5
Binary files /dev/null and b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/8Inch55RF.dds differ
diff --git a/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/Cubes/8Inch55Main.dds b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/Cubes/8Inch55Main.dds
index 1d8164b03..bcd3edbc5 100644
Binary files a/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/Cubes/8Inch55Main.dds and b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/Cubes/8Inch55Main.dds differ
diff --git a/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/OTO381mm.dds b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/OTO381mm.dds
new file mode 100644
index 000000000..831532cf0
Binary files /dev/null and b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/OTO381mm.dds differ
diff --git a/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/UK16Inch45Mark1.dds b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/UK16Inch45Mark1.dds
new file mode 100644
index 000000000..03ed3d07f
Binary files /dev/null and b/Weapon Mods/TaitMod_Fletcher/Textures/GUI/Icons/UK16Inch45Mark1.dds differ