0.24.0

From Cosmoteer Wiki
Jump to navigation Jump to search

0.24.0 is a major update released on September 30th 2023. It adds a new Chaingun weapon, crew hiring priorities, new sounds, new ships, amongst many other additions, improvements, quality-of-life changes, and bugfixes. In addition, a large number of modding changes and additions have been made.

The 0.24.0 update adds the Chaingun, a powerful new projectile weapon for mid-to-large sized ships. 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!

Changelog

Additions

Improvements

  • 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.
  • 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.
  • Updates to all language translations.
  • Miscellaneous updates to existing stations and defense platforms.

Bugfixes

  • 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

  • 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.