Chainguns! - Update 0.24.0

Cosmoteer: Starship Architect & Commander

Design and simulate the starship of your dreams! Command it in epic battles and manage your crew while exploring a dangerous galaxy. Play alone or with friends, test your ship in online PvP, and let your imagination reach for the stars!

[h3]THE CHAINGUN HAS ARRIVED, FULLY ARMED AND OPERATIONAL![/h3] [img]{STEAM_CLAN_IMAGE}/32020212/7e21697f4bfb09a7afc66f9f74d412477226672a.gif[/img] [img]{STEAM_CLAN_IMAGE}/32020212/4faf370b9c28cae73fc4e9759c661e05716cbe8e.gif[/img] The 0.24.0 update adds the [b]Chaingun, a powerful new projectile weapon for mid-to-large sized ships[/b]. The Chaingun sports a rotating multi-barreled cannon that spins and fires slowly at first but gets faster and faster the longer it shoots, eventually reaching an extremely high rate of fire. [img]{STEAM_CLAN_IMAGE}/32020212/da3ca6ec141d04e4a819116cbe5af8531174b30c.gif[/img] While firing, the Chaingun is exposed and vulnerable to enemy weapons. But while not firing, it [b]retracts into a protective shell[/b] that closes around it, greatly enhancing its damage and penetration resistance. You'll have to think tactically about when to start firing your Chainguns because doing so will create a few seconds of exposed vulnerability while they are getting up to speed. [img]{STEAM_CLAN_IMAGE}/32020212/5e4f8def24170e1a7c74c0ea593798284ac7f071.png[/img] Because they use so much ammunition, Chainguns are designed to support any number of additional [b]ammunition magazines[/b] with belts that feed directly into the Chaingun itself. These extended magazines must be placed on either side of the Chaingun or other magazines, and each one extends the maximum amount of time that a Chaingun can keep firing before having to retract and reload. In fact, the Chaingun itself does not actually have enough internal ammunition capacity to reach its maximum theoretical rate of fire, requiring at least a few magazines to reach it. When designing a ship with Chainguns, you'll need to think carefully about exactly how many magazines to attach to them, because while each magazine will increase its Chaingun's firing duration, each also of course increases cost, bulk, and crew logistics. Due to the fact that the ammunition belts are constantly moving while the it is firing, [b]the Chaingun cannot be reloaded while it is firing[/b]. The Chaingun must stop firing and retract into its shell before crew can start reloading it or its magazines, meaning your battle plans will have to account for the downtime while your Chainguns are being reloaded. ------------------------------------------------------------------------------------------------------------ While Chainguns are of course the Big New Feature of 0.24.0, there are also plenty of other bug fixes, quality-of-life improvements, and modding features in this update! Here's the full 0.24.0 changelog: [list] [*] New weapon: The "Chaingun", a powerful rotary cannon that increases its rate of fire the longer it shoots and hides behind a protective shell while not shooting. Additional ammunition magazines can be attached to increase its duration and rate of fire. [*] After launching Cosmoteer, a popup with a "Did You Know?" style tip will be displayed on the title screen. These tips let you know about various lesser-known features in Cosmoteer. You can disable these tips if you don't like them from either the popup itself or the Misc settings. You can also view all the tips at any time in the Codex. [*] Crew roles now each have a "Hiring Priority" between 1 and 10 that will determine which roles new crew will be assigned to. Crew will be assigned to roles with higher Hiring Priorities before roles with lower Hiring Priorities. [*] Crew roles now have an "Auto-Fill From Lower Priority Roles" toggle that, if activated, will automatically fill any empty beds assigned to that role by transferring crew from roles with lower Hiring Priority. [*] When transferring crew between ships, crew assigned to roles with the lowest Hiring Priority will now be transferred first. [*] Station crew with the lowest role hiring priority will now be preferred when the game chooses which ones should be hireable. This should make it much less likely for the player to hire crew in critical roles from stations. [*] New sound effects for picking up and delivering of most resource types. [*] When using the "Load Ship (Replace Existing)" feature and checking "Also Load Resource Assignments", the resource limits will now also be loaded. [*] Most turreted weapons should now be a bit quicker at automatically picking targets thanks to an improvement in the targeting algorithm. [*] In Creative Mode, if crew find themselves carrying resources with nowhere to put them, the resources will now be deleted. [*] Disabling crew construction in Career or Creative modes will now cancel all queued construction. This is done to prevent other issues such as being able to switch to free-build mode and then build parts next to not-yet-constructed parts. [*] Trade ships that are about to jump away will now reject all incoming hails. [*] The F11 feedback window now makes it clearer exactly how your email address will be used (if you choose to provide one). [*] Small optimizations to Cosmoteer's multicore task scheduler which may result in small performance gains. [*] Added 3 new Monolith ships: Juridical, Negotiator, and Sentry. [*] Added 6 new Imperium ships: Cooper Hawk, Hummingbird, Rain Crow, Razorbill, Sharpshinned, and Skein. [*] Added 4 new Fringe ships: Crumblerig, Hecatoncheires, Thornlark, Toadvine. [*] Updates to all language translations. [*] Miscellaneous updates to existing stations and defense platforms. [*] Bugfix: Occasional "NotSupportedException" crashes in Career mode. [*] Bugfix: Occasional crashes when flying or jumping away from trade stations. [*] Bugfix: Random freezes when playing on Linux or Steam Deck with multicore enabled. Multicore was previously disabled by default to prevent these freezes but has now been re-enabled. If playing on Linux or Steam Deck, you should now experience improved performance at the expense of higher CPU usage and lower battery life. Use the launch argument '--cores 1' to disable multicore if desired. [*] Bugfix: Possible fix for "The game cannot currently be saved" messages. (Most common when using mods but theoretically possible in vanilla as well.) [*] Bugfix: Resources that were pre-purchased from trade ships or stations but not yet picked up wouldn't be refunded if the ship or station made a hyper-jump or was destroyed/removed from the game. [*] Bugfix: In creative mode, ships belonging to a different allegiance were erroneously appearing as possible destinations in the crew/resource transfer window. [*] Bugfix: Loading a saved game while using mods that the save wasn't using would display "Host Not Using" even though they shouldn't ordinarily cause problems. [*] Bugfix: A.I. trade ships weren't jumping away after being attacked as was intended. (They will now attempt to jump away after being attacked for 10-20 seconds.) [*] Bugfix: The resource collection cursor had the wrong glow color applied to it. (Literally unplayable.) [*] Modding: All buff provider components now support an optional 'BuffMultiplier' parameter that can be hooked to other value-provider components to multiply the buff value by the value provided by that other component. [*] Modding: Added a 'Stopwatch' part component that provides a value which increases over time while the Stopwatch is operational. [*] Modding: ProgressBar components now support an optional 'LerpRange' parameter that controls the range of input values that map to "empty" and "full" on the progress bar. [*] Modding: Hit effect 'DamageType' parameters can now be arbitrary strings. If omitted, then "default" will be used by default, except for ExplosiveDamage which defaults to "explosive". The string "salvage" has special meaning and will be treated as salvage damage. [*] Modding: Parts, shields, and bullets can now specify damage resistances versus those arbitrary strings using a new 'DamageResistances' parameter. (ExplosiveDamageResistance is now obsolete but still supported for backwards-compatibility.) [*] Modding: CircleCollider and PolygonCollider can now be given 'InitialPenetrationResistance' and 'DamageResistances' that, if specified, will override the values in their part when that specific collider is hit by a weapon. [*] Modding: CircleCollider and PolygonCollider now support OperationalToggle. [*] Modding: Timer components now support optional 'StartExpired' and 'InvertToggle' parameters. [*] Modding: MultiResourceStorage components now support optional 'CycleStorageOnAdd' and 'CycleStorageOnRemove' parameters that, if true, will cause the list of storages to be automatically cycled when adding or removing resources. [*] Modding: Added a 'TransformLerp' part component that takes an input value between 0 and 1 and uses that to linearly interpolate between a starting location/rotation and ending location/rotation. [*] Modding: Added a 'ValueTween' part component that provides a value which "tweens" over time towards either an 'OffValue' or an 'OnValue' depending on the state of its 'IsOnToggle'. [*] Modding: Added a 'TransformMatch' part component that will match its own location and/or rotation to those of another component at a given speed. It also supports a toggle to reset it to the "zero" position, clamping based on circles, rects, and arcs, and acts as a toggle that is "on" when it is matching the desired location/rotation. [*] Modding: Added a DirectControlToggle component that is "on" whenever its ship is in direct control mode. It can also be hooked to a specifc weapon and will only be "on" if that weapon is under direct control (bound to a fire input). Optionally it can also only be "on" when that weapon is actually being fired in direct control mode. [*] Modding: TurretWeapon now supports an optional 'ResetRotationIfNotAllowed' parameter that, if true, will cause the turret's rotation to set to zero if it is not otherwise allowed to rotate. [*] Modding: TurretWeapon now supports an optional 'InstantSearchesAfterTargetLost' parameter that can be use to tell a weapon to quickly do some number of target searches instantly after losing its current target. [*] Modding: TurretWeapon now supports an 'AimIncludesEmitterOffset' parameter that, if set to false, will prevent the turret from considering its emitter's location when calculating where it should aim. [*] Modding: FixedWeapon now targets using its own location and rotation instead of its emitter. In cases where the emitter is ChainedTo the FixedWeapon with no Location or Rotation offset (or always has the exact same Location and Rotation as the FixedWeapon), then there should be no practical consequence of this change. But in cases where the Location and/or Rotation of the emitter differ greatly from the FixedWeapon, you may see a change or break in targeting behavior depending on the difference. [*] Modding: Split ToggleOnMode's 'WantsToFire' into 'WantsAndReadyToFire' (the old behavior and old/new default) and 'WantsToFire' (doesn't check permission or resources). [*] Modding: ToggleOnMode now supports a HasTargetExceptShipRelative value. [*] Modding: ResourceConverter now supports a 'CheckAnticipatedCapacity' parameter that, if true, will check to see if any resources are being delivered to the destination storage and only convert if there is enough capacity anticipated even after those resources are delivered. [*] Modding: Almost all ID strings are now case-insensitive. [*] Modding: All proxy components now support an optional 'ProxyToggle' parameter that can be connected to a toggle component which, if toggled off, will disconnect the proxy from its connected component. [*] Modding: All proxy components can now define multiple sets of PartCriteria/ComponentID pairs and will "match" the first such component found. [*] Modding: All resource storage components (except for flex grids) now support a 'GiveResourceMediaEffects' parameter. [*] Modding: Most types of resource storage components now support an optional 'AllowManualReceiveToggle' that, when toggled off, will prevent the player from manually transferring resources to that storage. [*] Modding: Setting a string to an empty string ("") will no longer result in it displaying the string key path instead. [*] Modding: ResourceSprites components now support an 'AnimationSpeedFactor' parameter. [*] Modding: Bullet Sprite and AnimatedSprite components now support a 'CaptureBackBuffer' parameter that, if true, will capture the backbuffer into a texture that can then be used by the sprite's shader. [*] Modding: Added a 'GetHitNormal' particle updater/initializer that will copy the hit direction normal of the bullet or beam into a particle variable. [*] Modding: Added a 'ParticleRotationFromNormal' particle updater/initializer. [*] Modding: Added a 'ParticleAlternatingConstVector2' particle updater/initializer' that sets a Vector2 variable to one of two possible Vector2 values in alternating sequence. [*] Modding: BeamEmitter now supports an optional 'Spread' parameter that works just like BulletEmitter's. [*] Modding: BeamEmitter now supports a 'BeamMediaEffectsOffset' parameter which causes the beam effects to be offset by the specified [x,y] amount relative to the BeamEmitter's location and rotation. [*] Modding: BeamEmitter now supports an optional BeamMediaEffectsLengthOffset parameter. [*] Modding: Renamed the ModifiesMultiplayer flag to 'ModifiesGameplay' for clarity. (ModifiesMultiplayer is still supported for backwards compatibility.) [*] Modding: Mods that have ModifiesGameplay (or ModifiesMultiplayer) set to false will no longer suggest mods synchronization when loading a saved game with that mod. (Only works for newly-saved games.) [*] Modding: Setting ExpandStartRadius to a value greater than or equal to Radius will now cause a crash with error when the explosive effect is triggered. (Previously it would silently get the game stuck in a non-saveable state.) [*] Modding: Fixed crash on load that was being caused by certain kinds of modding errors but was hiding the actual underlying error. [*] Developer Mode: Multiplayer rec files now contain the list of mods active while playing. Loading a rec file without those mods will now prompt to synchronize mods. [/list]