[MOD] Miscellaneous IZ Combat Tweaks

The place to discuss scripting and game modifications for X Rebirth.

Moderators: Scripting / Modding Moderators, Moderators for English X Forum

Post Reply
w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

[MOD] Miscellaneous IZ Combat Tweaks

Post by w.evans » Fri, 27. Feb 15, 00:04

A set of tweaks changing in-zone combat. The main mod is still just a movement script for elite crews. The rest of the tweaks are deployed in a series of supplemental files that can be installed as you will.

_____
The mod is available for download:

http://www.nexusmods.com/xrebirth/mods/450

http://steamcommunity.com/sharedfiles/f ... =478790162

_____
Important:

As of MICT v0.46.1, all text moved to t-files, ready for translation.

Any help with translating to any of the languages supported by the game would be greatly appreciated. All text displayed is now in w.e_mict\t\0001.xml

Thus far, text localized for Deutsch and русского языка.

Thank you very much to UniTrader, alexalsp, and DaveDee for your excellent work!

_____
What's New?

17.December 2017 - Miscellaneous IZ Combat Tweaks updated to v0.73
Miscellaneous IZ Combat Tweaks CES Edition updated to v0.73
MICT supplement 2 updated to v0.53
MICT supplement 9 updated to v0.03

- Fixed compatibility issues with Linux.
- Increased firing angle for forward-mounted missile and torpedo launchers on capital ships.

Many thanks to ezra-r and bioscmos303 for the excellent reports and the feedback.

.......
29.July 2017 - Miscellaneous IZ Combat Tweaks updated to v0.72

Compatibility update with XR 4.1

.......
20.August 2016 - Miscellaneous IZ Combat Tweaks updated to v0.71

Settings to configure capital ship combat movement added to the top of aiscripts\MICT.move.attack.object.capital.

Thanks to Scoob for the suggestion.

Documentation available here:

http://forum.egosoft.com/viewtopic.php? ... 94#4625694

.......
24.July 2016 - Miscellaneous IZ Combat Tweaks updated to v0.70

Tentative fix for situation where movement coordinates could become invalid when combat crosses zone boundaries in between two or more consecutive move actions.

Thanks to Scoob for the detailed description of the issue.

...
Please note that this fix is tentative because I have been unable to reproduce this issue, so cause might be different from my best guess. If anyone encounters the problem described in this post:

http://forum.egosoft.com/viewtopic.php? ... 00#4621800

with MICT v0.70+, please let me know.

.......
19.July 2016 - Miscellaneous IZ Combat Tweaks updated to v0.69

Slight performance optimization of the Defence Officer script.

.......
12.July 2016 - MICT_supp2 updated to v0.52

Fix: Ships captained or piloted by non-Split captains in a MICT Squadron subordinate to a combat ship will now actually attack.

My apologies for this oversight. Thanks to milk@lowshake aka Sahnetrommel for the report that cracked the issue and for pointing out that it still didn't work.

.......
8.July 2016 - MICT_supp2 updated to v0.51

Fix: Fighters in a MICT squadron subordinate to another small or medium ship should now attack when their commander does.

Thanks to iforgotmysocks for pointing out that they didn't.

.......
21.June 2016 - Miscellaneous IZ Combat Tweaks updated to v0.68

Capital Ship Combat Movement

- MICT ships that attack order any ships in their respective squadrons to immediately attack as well.
+ if MICT_supp2 is also installed, this will trigger them to go on high alert and scan for any hostile targets within their squadron's radar range, and select and engage particular targets as outlined in MICT Squadron doctrine.
+ if MICT_supp2 is also installed, and no hostile targets are found, they will immediately engage their commander's target.

- Optimized station demolition.
+ when attacking a station, they will engage that station's outermost parts first, and work their way inwards. Feedback on this feature in particular most welcome.
+ when a station module they had targeted is destroyed, they should automatically switch to the next station module that is furthest from the station's center.
+ they should continue working their way inwards until they can no longer find any operational station components belonging to the station that they are attacking.
+ please bear in mind that this does not change the fact that stations are overwhelmingly powerful! be bold by all means, but carry a big gun.

- MICT Ships that have retreated will no longer disengage, but will keep their distance until they judge that they have repaired and replenished their shields to a point where they think that they can go back into the fray for more. Please do bear in mind that they might be wrong. (note that this is a revertion to earlier behavior. at some point, this was changed to have them disengage after retreating and resume previous orders.)

- The Sucellus now moves with roll and pitch unlocked. (What used to be MICT_supp10 is now included in the main mod). They might move funny. Feedback welcome. However, this makes the next entry possible:

- The correction jump for the Sucellus to compensate for going to positions where it cannot pitch enough to bring its big gun to bear on target has been removed.

Capital Ship Target Acquisition and Firing

- Capital Ships consider all hostile station modules, capital ship engines, and capital ship jump drives as valid targets for the Sucellus IHC and the Balor torpedoes. Contrary to some reports, the Balor should not purposely fire their torpedoes on fighters and surface elements other than capital ship engines and jump drives, although the individual torpedoes may acquire fighters or surface elements on their own.

- Minor change to supress pointless debug spew due to a wrong assumption. Behavior wasn't changed as it is fine.

...
MICT_supp2 (MICT escort script) updated to v0.50

- MICT Squadrons should respond much more quickly and reliably to the following orders:
+ Disengage - give a MICT Squadron Commander any order while any member of the Squadron is engaged in combat. Please note that Split pilots can be stubborn about complying with this order.
+ Refuel - giving a MICT Squadron Commander an order to refuel will order the whole squadron to refuel. Only reason i have seen this fail is if a gas station is out of gas.
+ Go - telling a MICT Squadron Commander to go somewhere will order the entire squadron to go there. (not nearly as tidy as UniTrader's CAC method, but they all get where they're going very quickly.)

- Some restructuring to improve responsiveness and make it more reliable. Should also improve performance.

- Fixed a small cosmetic bug that could result in MICT Squadron Subordinates showing "Escort - Jumping" even though their jump has been long finished.

- Removed vanilla code for target acquisition and response to attack as it is now redundant, and apparently has been for a while now.

- Any MICT Subordinates who have acquired a target will now chase that target regardless of how far it goes relative to the rest of the squadron. If this results in MICT Squadrons being separated for extended periods of time, please do let me know. They should catch up with each other when their respective targets are destroyed, they are destroyed, or the MICT Squadron Commander (or you) order them to disengage, whichever comes first. MICT Squadrons tend to gang up on isolated hostiles that have been acquired but have wandered off. Thing to watch out for: isolated MICT Squadron Commander on solitary patrol while everyone else in the squadron is off chasing a hostile ship that has left the immediate area. Opinions welcome.

.......
18.June 2016 - MICT_supp2 updated to v0.49

If a member of a MICT Squadron:

- is attacked,
- or finds a hostile target

while the MICT Squadron is authorized to engage,

all members of that squadron use that ship's sensors to find and engage hostile targets.

Also did some optimization. Ships in a MICT Squadron should now respond to squadron actions faster.

.......
17.June 2016 - initial upload MICT_supp10

experimental: this should allow the Sucellus to pitch above and below their normal range of movement.

I am not sure if this is sufficient to allow them to turn up or down 90 degrees, but it will certainly allow them to use the y-axis more effectively, especially when firing from long range.

If this works, this should also make the correction jump discussed in the last couple of updates completely unnecessary.

.......
5.June 2016 - Miscellaneous IZ Combat Tweaks updated to v0.67

- Fixed MICT long-ranged ships using up jump fuel past the fuel reserve for the correction jump.
- The correction jump should charge up much faster.

Please note that the correction jump will probably still take a very long time if the ship does not have enough jump fuel for even one jump. To avoid this situation, MICT ships should always have at least 100 fuel cells when going into combat.

Many thanks to The Puppeteer and Eightball for reporting and confirming the issue.
Thanks to Marvin Martian, pref, Ezarkal, and Lorc Crc for contributing their opinions on the matter.

note: I entered the date wrong in content.xml. Will correct in the next update. Only thing it'll affect is the date will appear wrong in the in-game extensions menu.

_____
Note to Modders:

The movement script in this mod has long-ranged ships behaving differently to other ships. Those changes mostly involve:

- LR ships always orienting forward,
- And using the maximum range of all of their weapons to determine optimal movement distances, rather than maximum turret range.

If you have a ship that you want to use this LR code, please make an md cue, and add the following line:

Code: Select all

<append_to_list name="global.$MICT_LR_Ships" exact="macro.units_size_xl_van_destroyer_macro"/>
replace "units_size_xl_van_destroyer_macro" with the macro name of your ship.

The init cue that generates the list in MICT is set to run immediately upon:

Code: Select all

<check_any>
  <event_cue_signalled cue="md.Setup.GameStart"/>
  <event_game_loaded/>
</check_any>
I would suggest that you use the condition:

Code: Select all

<event_cue_completed cue="md.MICT_Init.MICT_LR_Init"/>
Thanks to Marvin Martian for pointing out that this would be a really good solution to improving compatibility with other mods.

edit: changed the last snippet above to event_cue_completed so that it'll work out of the box without having to mess with onfail or checkinterval.

_____
Mod Details:

Crew Requirements:

To qualify for MICT, the crew of a ship has to consist entirely of the best of the best:

A MICT Captain has to have at least 4 stars in Leadership, Navigation, and Morale.

A MICT Engineer has to have at least 4 stars in Engineering.

A MICT Defence Officer has to have at least 4 stars in Leadership, Combat, and Morale.

Only ships whose entire crew satisfy the above requirements qualify for MICT.

ALL ships, including NPC ships, will use MICT movement if they meet these criteria.


Ship Crews:

Crew skill is taken into account in a number of things:
  • MICT is only activated for capital ships with crews with a minimum rating of 4 in all of their primary skills.
  • Crews with better skills are better able to know enemy ship specs enough to judge opponents' maximum range.
  • Crews with better skills are better able to calibrate jumps, thus increasing the chance that they successfully jump to within firing range of enemy ships, but outside the range of those ships.
  • Crews with better skills are more responsive overall. A 4/4/4 captain will take from 21 to 23 seconds to respond to events. A 5/5/5 captain will take from 1 to 3 seconds.
Attempt to differentiate captain tactics from background and training. At the moment, only the retreat thresholds are affected:
  • Split captains are trained to attack until danger of obliteration is certain. They will retreat only if shields are completely drained, and will rejoin the fray when their shields recharge to at least 10%.
  • Teladi captains are trained to protect their assets and those of their employers. They will retreat if their shields are depleted to 40%, and will head back to the fight when their shields recharge to 80%.
  • Argon captains are trained to maintain a reasonable balance between application of pressure and protection of property. They will retreat if their shields are depleted to 20%, and will go back to the offensive when their shields recharge to 40%.
.......
Movement Script:

MICT Movement is triggered when a capital ship with a crew that's good enough (combined skill = 80, at least roughly a 4/4/4 captain, a 4/4/4 defence officer, and a 4 star engineer) goes into battle.

Approach:

The captain jumps or boosts close to maximum weapons range. The accuracy of this jump depends on his/her navigation and morale skills.

Combat:

The captain tries to stay within weapons range, and only allows the target to get as close as half of the ship's maximum weapons range. If the target gets too close or too far, the captain jumps or boosts to what the captain thinks is a better position.

Captains of ships with primary or secondary weapons with maximum range of 8,000 or greater (at present, only the Sucellus and the Balor. any additional ships will have to be added to the list of LR ships. for details, see "Note to Modders" above.) engaged with capital ships or stations will try to keep the front of the ship pointed towards the target. (Now specifies only the Sucellus and the Balor to make this more compatible with primarily close or medium range ships with stand-off capability such as the Xenon I.)

All other ships will try to orient the side where they can inflict the most damage towards the target.

In addition, MICT Captains will try to maneouver against a target's side that can inflict the least amount of damage.

If fighters get too close, the captain will try to jump away.

Escape:

If the ship's shields get depleted down to what the captain deems to be dangerous, the captain jumps or boosts to beyond what he/she thinks is the target ship's maximum weapons range. (The accuracy of this estimate depends on the captain's combined primary skills.)

.....
Battle Display:

MICT Captains who are engaged in battle while the player is present in-zone send reports of their actions and intentions to the player via the Skunk's cockpit multi-function display.

.......
supplement 1:

Turns the Balor into a real missile frigate.

Balor fires four volleys of 16 missiles each per reload cycle.
Balor torpedo speed increased, acceleration decreased, turning speed unchanged. (It misses a lot unless the target is very slow, or is preoccupied. Beware friendly fire.)

Sucellus IHC projectile speed increased.

Drostan re-nerfed. (Still fires a massive volley, but only uses it's own shorter ranged torpedoes.)

Both the Sucellus and the Balor still suck OOZ. They can be awesome IZ if used carefully. Drostan's about the same, but with less range. (It's a WWII-era submarine, not a 20th century missile cruiser.)

Might still need rebalancing. Feedback appreciated.

Since MICT_supp1_v0.02, Balor torpedoes are rebalanced:

Damage per missile reduced to 20,000 from 80,000.
Reload rate increased to 160 seconds from 40 seconds.

This effectively brings Balor in-zone dps back to vanilla levels.

This file is available in optional files as MICT_supp1.

The changes made to Balor torpedoes are described in more detail here.

.......
supplement 2:

Squadron-level tactics.

If:
  • a MICT Squadron Commander acquires a target and attacks (whether actively via attack command, or passively via attack all enemies or patrol command), or
  • MICT ships are escorting a civilian ship, and that ship's shields get reduced by a single Joule,
MICT Squadrons will actively seek out enemies and engage according to MICT doctrine.
  • MICT ships in squadrons will only engage ships detected within their radar range, and will stay within radar range of their Squadron Commander.
  • MICT Squadrons warping or moving to stay close to their commander tightened and made more reliable. When not engaging, they should try to stay within a kilometer of their Squadron Commander.
  • If separated from their squadron commander by at least 5km, in-zone, and when not engaged in combat, MICT ships will jump to within 1km of their squadron commander.
  • If separated from their squadron commander by at least 5km, out-of-zone, and when not engaged in combat, MICT ships will warp to within 1km of their squadron commander.
  • Squadron subordinates will now attack only if an attack or patrol order is given to their squadron commander.
  • Squadron subordinates refuel when their commanders do.
Enhanced target acquisition (both IZ and OOZ):
  • Long-ranged MICT ships will only acquire hostile capital ships, and will fight from, and stay at, long range. They will prefer the most dangerous ships that they detect.
  • Short-ranged MICT ships will close to engage acquired hostile capital ships and fighters. They will prefer ships or fighters that are closer to their Squadron Commander.
  • MICT squadron ships will individually engage one ship at a time, and will stick with an acquired target until it's destroyed.
This file is available in optional files as MICT_supp2.

.......
supplement 3:

In preparation to making ships doing in-zone tactical jumps use fuel cells (as they rightfully should), this supplement greatly increases fuel capacity.

Fuel cells occupy less space.
Ships can do 100 jumps instead of 25 on a full tank of gas.
Fuel cell fabs can similarly store 4 times the amount of fuel cells compared to vanilla.
Fuel cell production is not changed.

from v0.02: Ships set to automatically refuel will only do so when they don't have enough fuel to get where they're going.

Thanks to NocturnalS1n for reporting the issue fixed in MICT_supp3_v0.02.

This file is available in optional files as MICT_supp3.

.......
supplement 4:

All stations now launch combat drones.

Number of drones launched depends on:
  • How many combat drones you have on a station,
  • the class of the target,
  • and the skill of the station's defence officer.
A less-experienced defence officer will tend to panic and launch all drones against a target, no matter what the target is. The reflexes of such an officer also won't be very good, and the defence officer can take a long time to acquire and engage targets.

An experienced defence officer will be able to engage multiple targets within the station's radar range, and will calibrate the number of drones sent depending on the severity of the threat, and drone availability in the station.

Only defence officers set to attack enemies will be authorized to launch drones.


TIP: I would strongly advise that you stock up on drones. At least 100 combat drones in a station are needed to present a credible deterrent.

This file is available in optional files as MICT_supp4.

More information on the mechanics of station-based drone launching as done in MICT_supp4 available here.

.......
supplement 5:

Doubles the number of drones that can be equipped on all stations.

This file is available in optional files as MICT_supp5.

.......
supplement 6:

I've been looking at Family Ryak's sole capital ship - the Gangrene Chaser. It has weak shields, weak weaponry, and isn't particularly fast. Been trying to think of a function for it, and concluded that the vanilla Gangrene Chaser's sole function is nostalgia: a familiar link with X3. I get the lore of it -- it's an old ship and isn't really useful for anything. However, to have that result in a ship that's completely useless is a waste, I think, so I've set about to repurposing the Raptor.

With a few tweaks, I think that it's particularly well-suited to be a fast, light cruiser; and that seems to fit the impression I have of how the Split fight from memories of playing with them in X3.

speed increased - it is now the fastest capital ship in the game, but not excessively so. Only slightly faster than the Balor.
ragefire turrets - reload rate tripled, bullet speed increased, range slightly decreased

Vanilla, the Ragefire turrets that this ship packs are identical to the particle repeaters that are mounted on some fighters. Since they're mounted on turret banks linked to a power plant that is, presumably, at least more powerful than a fighter's power plant, I thought it reasonable to increase their volume of fire, and slightly increase the speed of their projectiles. Damage per projectile is unchanged.

Together, these changes give the Gangrene Chaser unparalleled close range bite. Those rapid-fire turrets also give it very good point defense against fighters and drones. It can take down a Taranis one-on-one if it could survive to get close enough. It cannot survive an encounter with an Arawn one-on-one. The damage that it does both IZ and OOZ is now second only to the Xenon I, but it can do that only at very close range. They should be interesting to play in groups of three or four.

Weaknesses remain: the Gangrene Chaser's hull and shielding is still comprised of tissue paper, reinforced with a few pieces of folded cardboard. It has absolutely no long- or medium-range capability.

This file is available in optional files as MICT_supp6.

.......
supplement 7:

Been loading my ships with Assault URVs in the hope that they will someday be useful. However, at this point, I don't think that that's very high in Egosoft's list of priorities, so decided to make them useful.

Problematic with Assault URVs is their armament: they launch limpet bombs that don't move and explode one second after launch. Rather than try to get the limpet bombs to work, decided that they will be just as good performing a bomber role.

They now carry the Drostan's medium-ranged torpedoes.

These torpedoes have a range of 4,080 meters, and do 60,000 damage a pop.

This does not, however, make Assault URVs displace the Drostan since the Drostan has 12 torpedo tubes, and Assault URVs only carry 1. You can, however, equip a capital ship with very many of these drones. In addition, Assault URVs are EXTREMELY slow, and have a tendency to get blown up in droves. Think carefully before using these.

Decided to publish this as another supplemental file in case some of you prefer Camus' Assault URV Fix that, I believe, does have Assault URVs firing functional limpet bombs. If using Camus' mod, do not install this supplement.

This file is available in optional files as MICT_supp7.

.......
supplement 8:

MICT Repair Ships repair damaged ships (capital ships and fighters) and stations owned by the same faction within radar range.

A MICT Repair Ship is:

- a non-combat ship (freighter, miner, CV, the disguised destroyer that is the Lyramekron)
- that is run by a MICT crew (crew requirements specified apply)
- that has Construction URVs equipped.

At the moment, Construction URVs are not launched. However, Construction URVs equipped in the ship or station that is to be repaired are used to accelerate repairs.

If Engineer Drone Fix is also installed, Construction URVs equipped on the Repair Ship will be used to accelerate repairs in case the ship or station to be repaired does not have any.

Repairs otherwise work the same as vanilla repairs.

This file is available in optional files as MICT_supp8.

.......
supplement 9:

The Stromvok is treated by all AI ships as a freighter. It will probably still be ignored by plundering ships unless provoked since it still doesn't have cargo capacity, but it should be able to slip past patrols of factions that are hostile enough to target military vessels but not civilian vessels.

_____
The mod is available for download:

http://www.nexusmods.com/xrebirth/mods/450

http://steamcommunity.com/sharedfiles/f ... =478790162

_____
Installation:

Nexus:

Extract into your extensions directory.

In case you want just one or more of the supplements, but not the base mod:

1. Extract the base mod into your extensions directory.
2. Delete everything in \extensions\w.e_mict\ except content.xml
3. Extract supplement/s into your extensions directory.

Steam:

Click the big, green button marked "Subscribe."

_____
Uninstallation:

Make sure that none of your 4/4/4 or better ship crews are in battle, and deactivate in your in-game "Extensions" menu, or delete from your extensions directory.

_____
Compatibility:

The main mod alters:

- aiscripts\fight.attack.object to load the Captains' combat movement script,
- aiscripts\fight.defend.capital and aiscripts\fight.attack.object.capital to load the Defence Officers' fight script,
- and aiscripts\move.seekenemies to alter the way captains and pilots prioritize targets for acquisition when on patrol.

The actual movement script is completely self-contained. Should be compatible with anything that doesn't alter the four files listed above including other movement scripts such as cicero111's excellent Captain AI Overhaul.

However, please do not take this as a guarantee that mods such as Captain AI Overhaul or the Captain and Defence Officer AI Overhaul will still work properly with the latest versions of the game. For that, please consult the mod threads of the respective mods, or ask the mod authors themselves.

Supplement 1 alters the bullet macros of the Sucellus IHC and the Balor torpedoes, the engines of the Balor torpedoes, and the torpedo launchers of the Drostan.

Supplement 2 alters aiscripts\move.escort.capital.

Supplement 3 alters the entry for fuel cells in libraries\wares and aiscripts\move.jump.

Supplement 4 alters aiscripts\fight.attack.object.station to enable and govern station-based drone launching, and aiscripts\fight.attack.object.drone.leader to add additional conditions when drones should head home to dock.

Supplement 5 alters a single line in assets\structures\Economy\Refinery\pmc\macros\struct_econ_ref_ar_pmc_dronedock_macro to increase the amount of drones each URV Launcher can accommodate.

Supplement 6 alters the bullet macro of the turret type that is unique to the Gangrene Chaser and the ship's engine macro.

Supplement 7 alters the Assault URV macro: assets\units\size_xs\macros\units_size_xs_wardrone_macro

Supplement 8 alters the engineer script: aiscripts\engineer.ai

Supplement 9 alters the Stromvok ship macro and md\Upkeep_Management

This mod is current as of X:R 4.00

Compatible with Windows, Linux, and Mac versions of X Rebirth.

_____
Credits:

While nothing was knowingly lifted from anything other than the Egosoft scripts, this mod would have undeniably been close to impossible for me to figure out if it weren't for the work of cicero111, Euclid, Mad_Joker, Marvin Martian, wysiwyg, and YorrickVander whose work I have been studying and tweaking before working on this. Thanks for your hard work, continuing interest, and generosity in helping fledgling modders get off the ground.

Thank you again to YorrickVander for spotting the problem with the jump commands.

Thanks, as always, to UniTrader who tirelessly helps everyone with coding problems.

Special thanks to Marvin Martian for his work on the Carrier mod, and for his help getting this and the carrier mod to compatibility.

And thanks to clj whose work on the redoubtable Captain and Defence Officer AI Overhaul has remained arguably unsurpassed in combat scripts.

And my gratitude to everyone at Egosoft for putting together, and continuing to work on, this awesome game.

_____
Changelog:

9.April 2016 - Miscellaneous IZ Combat Tweaks updated to v0.66

Fixed MICT ships failing to retreat while engaged with a ship, station, or station module that does not have working weapons.

Thanks to debstar2610 for reporting the issue.

.......
Miscellaneous IZ Combat Tweaks updated to v0.65

Fixed MICT ships targeting silly things like ad signs when attacking a station.

Fix was done via adding a size filter to the node that looks for station modules to switch targeting for movement to. (Adapted from the vanilla DO script.)

Thanks to debstar2610 for reporting the issue.

.......
2.April 2016 - Miscellaneous IZ Combat Tweaks updated to v0.64

Changed the tweak in v0.63 to only apply to MICT ships. MICT ships that are in combat will not vanilla flee.

Also fixed a bug in 0.63.

.......
2.April 2016 - Miscellaneous IZ Combat Tweaks updated to v0.63

Ships that are engaged in combat will no longer be distracted by piffling things such as impending doom.

All ships (regardless of whether they are MICT ships or not) that are engaged in combat will no longer use vanilla flee. Note that this does not include ships that have a "patrol" or "attack all enemies" order before they acquire and actually start attacking a target.

Many thanks to debstar2610 for asking about this, and to Marvin Martian for pointing out the fact and why it, in fact, does happen.

.......
19.March 2016 - Miscellaneous IZ Combat Tweaks updated to v0.62

If the Teladi Outpost DLC is active, MICT Captains of the Teladi Phoenix, the Marauder Phoenix, and the Condor orient the front sides of their ships toward their targets and try to maintain maximum range.

Thanks to Jonzac and Sparky Sparkycorp for advice on the matter.

.......
11.March 2016 - initial upload MICT CES Edition

Version of MICT that does not include the DO script, and does not use tactical jumps.

Primarily for use with beaver1981's CES.

.......
5.March 2016 - Miscellaneous IZ Combat Tweaks updated to v0.61

Fixed cases where the Sucellus sometimes fails to properly orient on target.

Note: One case was not fixed since there appears to be a hard-coded limit to how vertical a ship can orient. Rather, if a MICT Captain of a Sucellus or Balor fails to orient the ship properly within a reasonable amount of time (15-45 seconds for a 5/5/5 captain), the captain attempts to recover by plotting a course along the plane of the ecliptic and jumping there. In tests so far, it only takes one step to recover.

If there are any more cases where Sucellus or Balors fail to effectively orient onto their targets, would love to have an opportunity to take a look at it again.

Thanks to GTAVC for reporting the issue.

.......
4.March 2016 - Miscellaneous IZ Combat Tweaks updated to v0.60

Fixed a potential issue with boosting while in combat. Thanks to Dorknar for reporting the issue.

.......
27.February 2016 - Miscellaneous IZ Combat Tweaks updated to v0.59

Sorted out my data reversion issue and tracked it down to restoring a project in UltraEdit because I didn't like how the layout was changed, of all things. (Some of my files are in SSD, and some in HDD, and that screws it up sometimes). Anyway, missed a spot in the reversion and updating in v0.58. That should be fixed now.

.......
Miscellaneous IZ Combat Tweaks updated to v0.58

My data appeared to suffer a mysterious reversion to before MICT v0.55. More likely to be me starting something then forgetting than anything. Reverted to v0.55, then backported all changes in v0.56 and v0.57. Should be better.

Also fixed a couple more compatibility issues with 4.0
Thanks to alexalsp for the report!

.......
Miscellaneous IZ Combat Tweaks updated to v0.57

Compatibility fix:
Fixed a set of nodes that weren't landing properly in fight.attack.object.drone.leader. Nothing serious. File in MICT v0.56 just didn't do anything at those nodes.

Thanks to alexalsp for the report!

.......
26.February 2016 - Miscellaneous IZ Combat Tweaks updated to v0.56

Compatibility update with X Rebirth 4.0

Please note that MICT_supp4, which enabled stations to launch drones, has been moved to old files. Please do not download MICT_supp4 for now. Those who already have it installed, please delete fight.attack.object.station.xml from \extensions\w.e_mict\aiscripts.

Those who are getting this mod from the workshop need not remove any files manually.

.......
19.December 2015 - MICT_supp2 updated to v0.48

Surprised no one spotted this. Guess there aren't many people playing with Stromvoks.

- For purposes of squadron interaction and rapid response, the Stromvok will be treated as a combat ship.

.......
12.December 2015 - Miscellaneous IZ Combat Tweaks updated to v0.55

- Return of the UniBar! Thank you again to UniTrader for the code that led to this, and to Egosoft for making it so that (ab)using these characters to print the UniBar no longer corrupts the save file.
- An internal change in the X:R 4.0 Beta that allows searching for class.null broke the filter that was filtering out alerts from pilots of player-owned small ships and drones that get in trouble OOZ. This has been fixed.
- Captains of player-owned capships and managers of player-owned stations that are destroyed OOZ have now set automated messages to send you the moment that they die. Unlike other alerts, these will be printed to your logbook.

.......
29.November 2015 - MICT_supp2 updated to v0.47.1

Sorry, missed a spot. Fixed

.......
29.November 2015 - MICT_supp2 updated to v0.47

Fixed a bug that caused fighters escorting capital ships to sometimes continuously warp when their commander is going to a different zone, but hasn't gone yet. Was also keeping Marvin's fighters from docking in similar situations.

.......
23.November 2015 - MICT_supp2 updated to v0.46

All ships immediately subordinate to a MICT Capital Ship will use their commander's sensors for target acquisition.

Please note that the squadron commander's target acquisition is limited to that ship's radar range. Should result in everyone in a squadron moving to attack a target as soon as the commander detects that target if authorized to do so. Squadron hierarchies are maintained so ships following a sub-commander will use the sub-commander's target acquisition system. This should make it possible to design a squadron such that it moves in waves depending on sub-commanders with better radar range than their superiors.

Please pay attention to your ships' radar ranges and plan accordingly.

Feedback, suggestions, criticism, and war stories welcome, as always.

.......
22.November 2015 - MICT_supp9 updated to v0.02

Owning a Stromvok will no longer generate a mission to load up that Stromvok with Cargolifters. (They're just pretending to be freighters, but they still are combat ships.)

Thanks to birdtable for reporting the issue.

.......
22.November 2015

initial upload of MICT_supp9

The Canteran Stromvok is detected by all NPC ships as a trader rather than a combat ship, and is treated accordingly.

...
MICT_supp2 updated to v0.45

If used with MICT_supp9, makes sure that MICT Stromvoks in squadrons have orders consistent with a combat ship.

.......
15.November 2015 - MICT_supp2 updated to v0.44.2

MICT Squadron subordinates search for and acquire hostile targets that can attack them, rather than targets that they can attack. If they are not authorized to attack such a target, they lower relations accordingly.

.......
MICT_supp2 updated to v0.44.1

Rather nasty bug in MICT_supp2 v0.44 prevented MICT Squadron subordinates from attacking at all! Don't worry, I don't think anyone got that update. Fixed in MICT_supp2 v0.44.1

Ships not in rapid response squadrons were incorrectly setting up their rapid response timer. Fixed

.......
MICT_supp2 updated to v0.44

Later accumulated changes appear to have broken the code I added to allow squadron subordinates to keep up with their commander if separated. This has been fixed. For best results, the squadron commander should have the slowest ship in a squadron.

.......
14.November 2015 - MICT_supp2 updated to v0.43

MICT Squadron subordinates should spot and respond to hostile targets as soon as they or their squadron commander spots the hostiles.

Fixed an issue that was preventing squadron subordinates from resuming formation in some situations. (Notably after combat and after boosting between zones)

.......
13.November 2015 - Miscellaneous IZ Combat Tweaks updated to v0.54

MICT_supp2 updated to v0.42

Drone garbage collection code moved from Captains' fight and escort scripts to the DO's script to make it less situational. Should now activate whenever a MICT ship with a DO and combat drones launched moves from IZ to OOZ.

Bugfix: Found a bug that was interrupting inter-zone movement.
Tweak: Squadron subordinates/escorts should check to see if their commander/escortee is going to a different zone regardless of situation. Intentionally did not write this as an interrupt, so if they're busy (fighting, refueling, already boosting), they should finish whatever they're doing and then check.

Squadron inter-zone movement should be much tighter and more reliable as a result.

Rapid Response Squadrons is out of experimental stage, and is now part of the main branch.

.......
6.November.2015 - MICT_supp2 updated to v0.41 and v0.41x

Compatible with X:R 4.00 Beta 2 and X:R 3.61

v0.41 does not have Rapid Response Squadrons
v0.41x does

Thank you to UniTrader for enriching my knowledge regarding sel paths.

.......
4.November.2015 - MICT_supp2 updated to v0.40x

Marking this one experimental for now. Please back up your saves, and prepare to go back to those back-ups if this experiment doesn't pan out. The file is available in Miscellaneous Files at the Nexus.

Rapid Response Squadrons

These are MICT Ships or MICT Squadrons which rush to the defence of any player-owned civilian capital ships that come under attack.

To assign a ship or squadron to the Rapid Response Squadron, simply assign that ship or squadron to escort a non-combat capital ship.

If:

- the ship or squadron cannot detect any hostile ships in the vicinity of the civilian ship that they are escorting,
- the civilian ship they are escorting has fully charged shields and better than 50% hull integrity,
- and any player-owned civilian ship comes under fire serious enough to drop their shields to below 90%

Ships from the Rapid Response Squadron will move to the defence of the player-owned civilian ship that has come under fire.

The speed at which they switch escortees depends on the Captain's primary skills.
At the moment, the option for Really Rapid Response is not active, and they will use gates and jump beacons to move between sectors as normal.

Some ships do still clump under single ships under attack, but they shouldn't all group themselves under single ships (anymore).

Again, please keep in mind that while I have tested this, it appears to work, and doesn't appear to have adverse effects, it is an entirely new feature and, as such, has not been exhaustively tested yet. Thus the experimental tag. Please do take that seriously. Kha'ak and Xenon may yet abound!

Bug reports, suggestions, criticism, general feedback, and just general banter most welcome.

Thank you to birdtable for the idea that led to this.

.......
1.November.2015 - Miscellaneous IZ Combat Tweaks updated to v0.53

- In addition to engagement (Attack/Defend) and drone management settings, capship-based Defence Officers' ammo management settings of capships in MICT Squadrons will now also follow those of their Squadron Commander.
- Tighter controls for authorization of torpedo firing:

++ The IHC and Novadrone torpedoes will no longer be fired against small ships (class xs, s, and m)
++ Defence Officers of MICT Capital Ships will now only launch torpedoes if they are set to Attack, and are authorized to manage their ammunition stores. (Note that this will still not make them restock ammunition. It will only authorize them to fire torpedoes if available.)

Thanks to Monster for the feedback leading to these changes.

.......
MICT_supp2 updated to v0.39

Non-combat ships in a squadron will not break formation to attack hostile targets.

.......
Miscellaneous IZ Combat Tweaks updated to v0.52

Fighters and other small ships under attack OOZ will no longer send reports.

Thanks to Monster for the feedback leading to this change.

.......
18.October 2015 - MICT_supp8 updated to v0.04

MICT Repair Ships are verified to be working, does not cause problems, and looks like it's bug-free. Declaring this to be out of experimental status. Should now be safe for public consumption.

Engineers working in MICT Repair Ships do not launch Construction URVs until a reliable way to manipulate the resulting mass traffic network is made possible. Unfortunately, doesn't look like this is possible with the means that are available to us. However, Construction URVs equipped in the repair target are used to accelerate repairs.

If Engineer Drone Fix is also installed, Construction URVs equipped on the Repair Ship will be used to accelerate repairs in case the ship or station to be repaired does not have any.

ps. Many thanks to Marvin Martian for all the help with this one.

.......
Miscellaneous IZ Combat Tweaks updated to v0.51

- Fixed a bug that was causing capship-based combat drones to immediately dock after being launched. Sorry about that. Thanks to Nemesis_87 for your persistence in reporting this issue.
- A couple of changes to capship-based drone launch:

++ MICT ships will launch combat drones from a maximum range of 12 kilometers. (Increased from 8km)
++ Combat drones will no longer target drone launch bays unless they are within 200 meters of a priority target.
++ Priority combat drone targets are fighters, engines, and jump drives. All surface elements or fighters within 200m of these targets are secondary targets.
++ Priority combat drone targets are designated, and drones are launched against them, regardless of line-of-sight.

.......
3.October 2015 - MICT_supp8 updated to v0.03

Been talking with Marvin Martian a lot, and some of his suggestions and feedback have been incorporated into 0.03

- Engineers stationed aboard MICT repair ships will now repair damaged ships and stations belonging to factions with relation of friend or better.
- Repair target acquisition should now check for ships and stations that are actually repairable, and that have a hull percentage of at least 2.
- Ships and stations designated for repair that become destroyed before repair can actually begin should cause MICT Engineers to search for a new repair target.

Still experimental!

Thanks a lot to Marvin Martian for the feedback, the brainstorm, and for the very useful suggestions.

.......
2.October 2015 - MICT_supp8 updated to v0.02

- Engineers on MICT Repair Ships check other ships for repair only if they have Construction URVs equipped.
- Search routine somewhat optimized. They should only check for damaged ships and stations that are owned by the same faction that owns their ship. Results in a search through a much shorter list, thus improving performance.
- Repaired a bug that overrode found damaged ships for repair with an order to repair their own ship, even if it doesn't need repairs.

Still experimental!

.......
1.October 2015 - initial upload MICT_supp8

Been working on this one on and off (more off than on, sadly) for a couple of weeks now, but haven't released it because I have not had the time to test it at all. Let me repeat that: MICT_supp8 has NOT BEEN TESTED AT ALL. Decided to release it because it doesn't look like I'll have any time to test nor play anytime in the near future, and I thought that some of you might want to play with it.

If this works, MICT repair ships should use any equipped construction drones to repair:

- any damaged capital ships, small ships (S- and M-class fighters and freighters), and stations
- that belong to the same faction.

Repair is managed by the Engineer of the MICT Repair Ship, so works exactly the same way as repairs done by vanilla engineers working aboard capital ships.

A MICT Repair Ship is:

- a non-combat ship (freighter, miner, the disguised destroyer that is the Lyramekron). This does include Construction Vessels. Should work for CVs that are deployed too.
- that is run by a MICT crew (crew requirements specified apply)

Again, the warning: this is experimental and HAS NOT BEEN TESTED. Please take the usual precautions when approaching something that might blow up in your face, but that just might be cool.

.......
20.September 2015 - Miscellaneous IZ Combat Tweaks updated to v0.50

Removed a couple of "go home" conditions in the drone attack script that were keeping drones that were programmed to seek new targets from doing so.
A few changes to capship-based drone deployment:

The MICT Defence Officer generates two target lists:

A list of all ships (bigships and smallships) within radar range and all important surface elements within line-of-sight. These are set as turret targets.
A subset of that list consisting of small ships, drones, engines, jump drives, and drone bays within line-of-sight. These are set as drone targets.

The drone targets are sorted to find the target that is closest. This is designated as the primary drone target.
All turret targets within 200 meters of the primary drone target are marked for immediate destruction.

Each drone bay launches up to 9 combat drones, the drones divided into groups of three drones, each group going after a target within this last target set, and each group having all other targets in the set in it's target list.

If a drone group's primary target is destroyed, they should acquire another designated target within that initial 200 meter radius.

If all targets within that 200 meter radius are destroyed, they will attempt to dock.

...
Idea is that multiple small groups of drones will be launched against all fighters or surface elements in a very small area, and will support each other in an attempt to destroy everything in that small area. The ability of capital ships to do this is limited by the number of combat drones they have equipped, and the number of drone bays they have.

A capship with a single drone bay can launch drones that will simultaneously go after 3 surface elements within a 200 meter radius of a priority target.
A capship with two drone bays, 6 surface elements within 200 meters.
A capship with 24 drone bays can effectively engage 72 surface elements within a 200 meter radius simultaneously.

Distance is set to 200 meters because this appears to be close to the minimum distance at which all of most ships' engines will all be set in one group.

Marginally more effective than before, but drones still break easy.

.......
20.September 2015 - Miscellaneous IZ Combat Tweaks updated to v0.49

Capship-based Assault URVs will no longer try to dock if separated from their parent ship.*
Combat drone operational range now depends on the Defence Officer's skills:

+ Station-based combat drones have a maximum operational range of 50km.
+ Capship-based combat drones have a maximum operational range of 20km.

...
* Noticed that drone launch due to DOs pressing the Panic Button is almost always immediately followed by a jump or boost away from the attacking ship. While this is as it should be, this caused Assault URVs to be launched, then almost immediately try to dock. Since Assault URVs are extremely slow, this attempt inevitably fails, and always leads to them being slaughtered en masse without firing a shot. This change sets them to relentlessly go after the target ship even if their parent ship retreats.

.......
18.September 2015 - Miscellaneous IZ Combat Tweaks updated to v0.48

The Panic Button signals the ship's Engineer to overload the capital ship's shield generators. This immediately boosts the Ship's main shields while damaging the shield generators.

+ Amount of shield energy increased is directly proportional to that ship's Engineer's skills.
+ Amount of damage incurred to the shield generators is inversely proportional to that ship's Engineer's skills.

.......
18.September 2015 - Miscellaneous IZ Combat Tweaks updated to v0.47.1

Panic Button uses all available and functioning drone bays to rapidly launch all combat drones.
Panic Button now also launches Assault URVs if they are equipped and available.
Panic Button drone launch now also checks to make sure that the ship has working drone bays. (Should be unnecessary since drones are destroyed along with drone bays, but this will make this ready in case drone launch and drone storage are made discrete in the future.)

.......
17.September 2015 - Miscellaneous IZ Combat Tweaks updated to v0.47

A grand conference of the MICT HappyTrigger Society of Trigger-Happy Defence Officers (or MICTHaTriSocTriHaDOS for short. They know they're really bad at acronyms. They're working on it.) was called to address a problem of increasingly epidemic proportions threatening their livelihood, their sanity, and at times, their constant urge to take bathroom breaks: The Player. Said one Sendy Brano, "This joker has sent more of us to our deaths than all of the Marauding Titurels AND pirate Drostans combined. And I'm talking about Drostans from back during the dark ages! Remember when Drostans used to take us out in one hit? This Player is worse!" Kriss Cheram opined, "Remember when he/she/it whatever sent old Val Nedley in a Stromvok against a Xenon I? How the hell was Val supposed to win that? Heard him/her/it muttering something about superior maneouvera-whatsit? Bah!"

Discussions on why they seemed compelled to obey this murky character were inconclusive: "He's telepathic!" "He's clairvoyant!" "He has psionic powers!" "Aren't those three the same thing?" "No, they aren't! Page 173 of the 89th ed Rule Book clearly states that one requires 1d10 with a THAC0 of 2 against a virtual AC of..." "It's all just a video game! We're all just pixels in a video game!" "Stop talking rubbish!" ... leading to a fist-fight which ended with everyone making up with a round of strawberry syrup.

Sorry, this is getting nowhere.

Long story short: they installed panic buttons in the Defence Officers' control panels in all MICT Ships. The Panic Buttons launch all combat drones against everything within range. They tend to press these buttons if they think that their ships are about to be blown up.

Thanks to Marvin Martian for the idea. Marvin refers to it as a Drone Flashmob. (Heh.)

Feedback on whether they tend to panic too early or too late welcome.

.......
13.September 2015 - MICT_supp2 updated to v0.38

A few changes to MICT Squadron movement when moving between zones.

IZ, if a MICT Squadron Commander is ordered to boost between zones, the rest of the squadron will get a notification of where the commander is going, and will immediately orient towards the destination and boost there as soon as the commander activates boost engines.*

If a MICT Ship is ordered to follow another MICT Ship, and the lead ship is en route to a different zone, the follower will rendezvous with the commander at the target location rather than going to where the commander presently is.

Ships in a MICT Squadron will now no longer join formation nor try to keep up with their commander if the commander is under boost.

Increased the threshold at which MICT Squadron subordinates will try to jump to keep up with their commander to 10km, from 5km.

Tidied up a bit.

...
* Actually got it so that ships in a squadron immediately plot their respective courses and boost as soon as the commander gets the order to go to a distant zone. Works well with an attack command. However, if the commander is given a "Fly to" command, and subordinates arrive first, squadron subordinates will stupidly wait for the commander when they arrive. Decided that having the commander go first, but reducing the time between the commander starting and the subordinates following is probably a better course of action.

They will STILL not simultaneously boost since subordinates will only plot a course right after the commander engages boost engines. This is to ensure that the commander gets to the destination zone first. Can take a while, particularly when a large, multiply layered squadron is ordered to move since the squadron members individually have to plot courses, orient to the squadron's target zone, and go there.

Squadron Jump will still work as it always has.

.......
7.September 2015 - Miscellaneous IZ Combat Tweaks updated to v0.46.1

Text localized for Deutsch and русского языка.

Thank you very much to UniTrader, alexalsp, and DaveDee for your excellent work!

.......
Miscellaneous IZ Combat Tweaks updated to v0.46

All text moved to t-files, ready for translation.

Any help with translating to any of the languages supported by the game would be greatly appreciated. All text displayed is now in w.e_mict\t\0001.xml

.......
6.September 2015 - Miscellaneous IZ Combat Tweaks updated to v0.45

MICT Capital Ships now use Assault URVs.

These function as bomber drones. They are extremely slow, and are launched as a large swarm. If:

- authorization to launch is given -- Defence Officer set to both attack and manage drone resupply,
- the target is a capship or a station,
- distance to target is 12 km or less,
- AND any Assault URVs are equipped,

ALL of the ship's equipped Assault URVs are launched in one large swarm. They will all go after the target ship's or station's hull, and will completely ignore any other targets in the vicinity. They will try to dock with their parent ship if they survive the target's elimination.

Please note that Assault URVs are non-functional without either the just-published MICT_supp7, OR Camus' Assault URV Fix.

.......
MICT_supp4 updated to v0.11

Same as MICT_supp4_v0.10, but with fight.attack.object.drone.leader removed since that will be moved to the main mod. This is only for newcomers to the mod since install order would have the old file that was in v0.10 overwriting the new file that will be inserted into the main mod.

Those of you who already have supp4 need not redownload.

.......
initial update of MICT_supp7

Been loading my ships with Assault URVs in the hope that they will someday be useful. However, at this point, I don't think that that's very high in Egosoft's list of priorities, so decided to make them useful.

Problematic with Assault URVs is their armament: they launch limpet bombs that don't move and explode one second after launch. Rather than try to get the limpet bombs to work, decided that they will be just as good performing a bomber role.

They now carry the Drostan's medium-ranged torpedoes.

These torpedoes have a range of 4,080 meters, and do 60,000 damage a pop.

This does not, however, make Assault URVs displace the Drostan since the Drostan has 12 torpedo tubes, and Assault URVs only carry 1. You can, however, equip a capital ship with very many of these drones. In addition, Assault URVs are EXTREMELY slow, and have a tendency to get blown up in droves. Think carefully before using these.

Decided to publish this as another supplemental file in case some of you prefer Camus' Assault URV Fix that, I believe, does have Assault URVs firing functional limpet bombs. If using Camus' mod, do not install this supplement.

.......
Miscellaneous IZ Combat Tweaks updated to v0.44.3

MICT Defence Officers were changing attack/defend and drone management settings to comply with their commander even if they were set to escort a freighter. Decided that this is not good because desirable engagement settings for civilian ships and military ships are often different.

SO MICT Defence Officers will only change attack/defend and drone management settings to comply with their commander's IF their commander is in command of a military ship.

Please note that this has nothing to do with whether or not the squadron subordinate is a military ship. Defence officers of civilian ships following military ships WILL change their settings to comply with their commander's.

.......
5.September 2015 - MICT_supp2 updated to v0.37

Added better flow control to the target acquisition code of MICT Ships in squadrons. Should result in a slight performance gain, particularly in-zone with large squadrons.

.......
Miscellaneous IZ Combat Tweaks updated to v0.44.2

Streamlined the new code inserted in move.seekenemies. Probably negligible performance gain, mostly just makes it easier to read. Those who got v0.44.1 need not update to v0.44.2.

.......
Miscellaneous IZ Combat Tweaks updated to v0.44.1

Forgot to remove the notifications I used to verify that the new code is working properly. Sorry about that. - FIXED

.......
Miscellaneous IZ Combat Tweaks updated to v0.44

For ALL ships on patrol:

Ships with a maximum range of 8,000 meters or more will sort through all hostile targets within radar range, and will prioritize targets that can inflict the highest damage.
Ships with a maximum range of less than 8,000 meters will engage the closest hostile target detected.

All ships on patrol will not acquire a target that is undergoing a boost maneouver.

Captains of close-range MICT Ships will decide to go above or below hostile targets depending on where there is least danger to themselves.

.......
4.September 2015 - MICT_supp2 updated to v0.36

Been working a lot with formations, and they simply don't work very well OOZ, so I took it out. MICT Squadrons will now no longer try to maintain formation OOZ. Ironically, this should result in them staying closer together when they're OOZ.

.......
3.September 2015 - Miscellaneous IZ Combat Tweaks updated to v0.43

All ships (not just MICT ships) on patrol will not target capital ships that are boosting. Ships that were already targeted before they start boosting will stay targeted.

...
NB: That tweak to ships on patrol can still target a ship that comes in boosting if it's the only ship that is detected, or if there are no other potential targets that are closer. Can make it more restrictive, but didn't want to touch move.seekenemies any more than absolutely necessary.

Nice script, that one, but the code in that script is so precisely written that it wasn't easy to alter it via a simple replacement or node addition. And the code was so pretty, didn't want to muck it up.

Thanks to Scoob for pointing out the problem, and thanks to UniTrader for the key that fixed it.

.......
MICT_supp2 updated to v0.35

MICT Ships in squadrons will not target capital ships that are boosting. Ships that were already targeted before they start boosting will stay targeted.

.......
Miscellaneous IZ Combat Tweaks updated to v0.42.1

Minor update:

- Short range distance threshold changed. MICT Captains of ships with weapons with a maximum range of less than 7,200 meters will position their ships in very close range (20% - 50% of maximum weapons range). They will reposition if their target gets to within 15% of their weapons range, or moves beyond range.
- Structural change to the defence officer script in MICT v0.42 made a wait node when launching drones redundant. DOs should now correctly recalculate drone target acquisition and launch more drones every 3 seconds. Should be faster than in v0.42 but, for ships with less drone bays, not as fast as in pre-v0.42.

.......
2.September 2015 - Miscellaneous IZ Combat Tweaks updated to v0.42

A few changes today:

Captain:

- MICT Captains of ships with very long-ranged weapons will position their ships from 60% to 90% of their maximum weapons range. They will reposition if their target gets to within 50% of their weapons range, or moves beyond range.
- MICT Captains of ships with weapons with a maximum range of at least 7,200 meters (Jet/LR or modded HIVI/MA) will position their ships from 50% to 80% of their maximum weapons range. They will reposition if their target gets to within 30% of their weapons range, or moves beyond range.
- MICT Captains of ships with weapons with a maximum range of less than 7,200 meters will position their ships in very close range (20% - 50% of maximum weapons range). They will reposition if their target gets to within 10% of their weapons range, or moves beyond range.
- MICT Captains of ships which can equip more than 300 drones, and that have combat drones equipped will position their ships close to 8,000 meters away from their target.

- After escaping, MICT Captains will disengage and will resume their last command: patrolling ships will patrol, ships told to stand by will stand by, and ships that are in a squadron will rejoin their squadron commander.

(This is safest when they are attacking from a patrol command, or are in a squad. In those cases, they will immediately search for any targets nearby and, if they still need to retreat, they will do so.)

Defence Officer:

- A MICT Ship will rapidly launch multiple groups of 3 combat drones from all of its drone bays, each group launched against different targets that are close to each other. (This part isn't new.) After a MICT Ship has launched drones from all of its drone bays, it will now require 3 seconds to prepare drone bays and acquire targets for the next drone salvo.
- Defence Officers of MICT Ships will only launch drones IF:

++ The Defence Officer is set to attack enemies, AND
++ The Defence Officer is set to automatically manage drone resupply.

(They will still not automatically resupply drones, this will only authorize them to manage drone launch.)

- MICT Ships which are in a squadron under a capital ship will inherit their Commander's Defence Officer's settings with regard to attack/defend and automatic drone management.

.......
1.September 2015 - Miscellaneous IZ Combat Tweaks updated to v0.41

- MICT Ships in squadrons will stop fighting when their commander is given an order to do so. (Any order other than attack, attack all enemies or patrol.)

They will not immediately stop attacking, but will do so as soon as they finish their current action (jump/boost/move).

- MICT Defence Officers who are lucky enough to be in charge of big integrated guns (the IHC or Novadrones) will now try to hit surface elements if their weapons happen to be pointed in the right direction. MICT Captains will still orient their ships toward the centers of their targets to maximize the likelihood of scoring a hit.

.......
MICT_supp2 updated to v0.34

Mostly maintenance.*
A few changes:

As an unforeseen consequence of allowing only conventional engines against fighters and drones, some of my Stromvok crews sacrificed their virtual lives for Science when they were torn apart by capital ships while slow-boating their way against the fighters that were escorting those capital ships. In tribute to their bravery which was tested due to my stupidity:

- All MICT capital ship squadron subordinates will target other capital ships within radar range first. If no other capital ships are found within radar range, they will target stations or fighters.
++ Ships with a range of 8,000 meters and above will prioritize hostile targets according to the damage that they can inflict.
++ Ships with a range of less than 8,000 meters will prioritize hostile targets according to proximity to their squadron commander.
(Note: this now applies to all ships. Used to only apply to ships with integrated long-range weaponry. Also note that they will no longer target drones, because that's just silly. Best defence against drones, I think, is to stick together and use overlapping fields of fire from layered turrets from multiple ships.)

I vaguely remember doing a few other changes, but was concentrating on making sure everything was working, so didn't do a very good job of documenting this time around. In other words, there are probably other changes, they are probably improvements, but I can't remember what they are.

Oh yeah, cut out the move.die that was a safety feature left in from adoption of Ego's escort script. Shouldn't be necessary. Ships that'll need it will still most likely be running the vanilla script.

...
* I've been adding stuff to this script over time, and I find that it makes sense to occasionally go over the whole thing in detail again to make sure that the logic still works, that all the parts still make sense, to cut out things that are needlessly complicated and/or redundant, and to restructure things that are needlessly convoluted. Should run more reliably and marginally more efficiently now. However, since the structure was worked on, it's also possible that I broke something and didn't notice during testing. Would advise caution (although one should always be cautious when running code written by people you don't know who don't owe you anything, I think), and would very much appreciate feedback.

.......
29.August 2015 - Miscellaneous IZ Combat Tweaks updated to v0.40

MICT Ships reverted to using anti-fighter movement when station-keeping against capital ships. - FIXED

.......
Miscellaneous IZ Combat Tweaks updated to v0.39

MICT Ships will only use conventional engines when dealing with fighters and drones.
MICT Ships more effectively orient their most damaging side to the target.

Orientation is handled in three special steps (that's all you need. Sorry, kids are growing up and I'm waxing nostalgic.):

Step 1: Captain determines if they can do the most damage from the front, right side, or left side of their ship.

- They orient their ships such that the side of the ship that can deal the most damage is facing the target.

Step 2: Captain determines if their target can do the least damage from their front, right side, left side, or rear.

- They position their ships against a target's weakest side.
- If a target's weakest side changes due to damage incurred during a battle, MICT Captains reorient accordingly.

- LR ships default to moving in front of a target.
++ they should be far enough that any guns oriented forward can't reach them after approach,
++ should minimize later movement since the target is coming towards them.

- non-LR ships default to moving behind a target.
++ this should enable them to quickly disable a target's engines thus immobilizing it.

Step 3: Captain determines if they can do the most damage from above or below a target.

- If a MICT Ship can do more damage from above, they try to go above a target ship. Otherwise, they try to go below.
- When in doubt, MICT Ships default to moving below targets since most ships are more vulnerable when attacked from below, and this is always where the Jump Drive is located.

.......
MICT_supp2 updated to v0.33

MICT Capital ship formation distances are set to 400m plus the length of the squadron commander's ship or this ship, whichever is bigger. Results in looser formations that form up and maneouver faster.

Thanks to Scoob for pointing out that formations were getting crowded with a Fulmekron in the lead, and to UniTrader for suggesting to set the formation radius to the size of the biggest ship in the squadron.

.......
27.August 2015 - MICT_supp2 updated to v0.32

- Fixed fighters sometimes flying in funky formations OOZ. Formations don't seem to work very well OOZ, so now they don't bother.
- Found and fixed a problem that could potentially significantly lower fps.
- Clearer delineation between in-formation and out-of-formation movement.
- Change in supp2 v0.31 made issuing patrol orders to carrier-based fighters not work. - FIXED (I should pay closer attention to my own notes!)

.......
26.August 2015 - MICT_supp6 updated to v0.02

The increase to the Gangrene Chaser's reverse speed was causing fps to sometimes drop to extremely low levels. - FIXED

.......
26.August 2015 - initial upload of MICT_supp6

I've been looking at Family Ryak's sole capital ship - the Gangrene Chaser. It has weak shields, weak weaponry, and isn't particularly fast. Been trying to think of a function for it, and concluded that the vanilla Gangrene Chaser's sole function is nostalgia: a familiar link with X3. I get the lore of it -- it's an old ship and isn't really useful for anything. However, to have that result in a ship that's completely useless is a waste, I think, so I've set about to repurposing the Raptor.

With a few tweaks, I think that it's particularly well-suited to be a fast, light cruiser; and that seems to fit the impression I have of how the Split fight from memories of playing with them in X3.

speed increased - it is now the fastest capital ship in the game, but not excessively so. Only slightly faster than the Balor.
ragefire turrets - reload rate tripled, bullet speed increased, range slightly decreased

Vanilla, the Ragefire turrets that this ship packs are identical to the particle repeaters that are mounted on some fighters. Since they're mounted on turret banks linked to a power plant that is, presumably, at least more powerful than a fighter's power plant, I thought it reasonable to increase their volume of fire, and slightly increase the speed of their projectiles. Damage per projectile is unchanged.

Together, these changes give the Gangrene Chaser unparalleled close range bite. Those rapid-fire turrets also give it very good point defense against fighters and drones. It can take down a Taranis one-on-one if it could survive to get close enough. It cannot survive an encounter with an Arawn one-on-one. The damage that it does both IZ and OOZ is now second only to the Xenon I, but it can do that only at very close range. They should be interesting to play in groups of three or four.

Weaknesses remain: the Gangrene Chaser's hull and shielding is still comprised of tissue paper, reinforced with a few pieces of folded cardboard. It has absolutely no long- or medium- range capability.

.......
26.August 2015 - MICT_supp2 updated to v0.31

Fighters escorting capital ships OOZ were not flying in formation. - FIXED

.......
MICT_supp2 updated to v0.30

Fighters escorting capital ships were not flying in formation. - FIXED

.......
25.August 2015 - Miscellaneous IZ Combat Tweaks updated to v0.38

Fixed LR ships not using LR movement on new game start.

.......
23.August 2015 - Miscellaneous IZ Combat Tweaks updated to v0.37

Betterer, more efficient maneouvering vs stations.
Tweak to MICT capships' performance in OOZ combat.

.......
23.August 2015 - Miscellaneous IZ Combat Tweaks updated to v0.36

Single tweak to make MICT ships deal more effectively with stations.

If you ever find yourself in a situation where stations in X:R could be destroyed, MICT ships would now more effectively do that.

Needed a single tiny tweak. Was so tiny, it's funny.

.......
22.August 2015 - Miscellaneous IZ Combat Tweaks updated to v0.35

Tweaks to movement thresholds.

.......
21.August 2015 - MICT_supp2 updated to v0.29

Bugfix

- MICT Ships in MICT Squadrons now join formations only if they are within 5 kilometers of their squadron commander. Otherwise, they should use faster means to get closer to their squadron commander.
- If not attacking, and squadron commander is not attacking, MICT Squadron ships will stand down and rejoin their commander.
- After interruptions of squadron movement (via combat, refueling, squadron commander docking, etc.), MICT Squadron members will now more reliably rejoin formation.

Between these three, should iron out any lingering problems with squadron members slowing down after boost between zones is interrupted, or sometimes taking a long time to rejoin their squadrons after separation via combat engagement.

.......
Miscellaneous IZ Combat Tweaks updated to v0.34

Target distances for LR ships pushed back to extreme range.
Improved compatibility with modded ships.

Modders:

The movement script in this mod has long-ranged ships act differently to other ships, namely:

They always orient forward,
And they use the maximum range of all of their weapons to determine range, rather than maximum turret range.

If you have a ship that you want to use this LR code, please make an md cue, and add the following line:

<append_to_list name="global.$MICT_LR_Ships" exact="macro.units_size_xl_van_destroyer_macro"/>

replace "units_size_xl_van_destroyer_macro" with the macro name of your ship.

The init cue that generates the list in MICT is set to run immediately upon <event_player_created/>. I would suggest that you use that same condition, and apply a short delay to make sure that the MICT init cue is run first.

Thanks to Marvin Martian for pointing out that this would be a really good solution to the compatibility problem.

.......
Miscellaneous IZ Combat Tweaks updated to v0.33.2

Target distances shifted closer by 20%.

.......
20.August 2015 - Miscellaneous IZ Combat Tweaks updated to v0.33.1

Reduced OOZ combat penalty due to actual relative speed.

.......
Miscellaneous IZ Combat Tweaks updated to v0.33

More effective combat drone usage by MICT Ship-based Defence Officers.

code and description here

.......
MICT_supp2 updated to v0.28

MICT Fighters escorting capital ships now correctly use the capital ships' scanners to acquire targets.
MICT Fighters escorting Drostans now always scan for hostile targets, and attack them when found.
MICT Fighters escorting other fighters (m- or s- class) only engage at half their own scanner range to maintain unit cohesion until the very last moment.

.......
MICT_supp4 updated to v0.10

Bugfix

There was a variable inconsistency in the function that determines how many drones of a type to purchase. Should be more consistent now.

.......
Miscellaneous IZ Combat Tweaks updated to v0.32

Improved compatibility with IHC armed ships from other mods.

.......
19.August 2015 - Miscellaneous IZ Combat Tweaks updated to v0.31

UniBar was causing serious problems. Removed it for now. :(

.......
Miscellaneous IZ Combat Tweaks updated to v0.30

OOZ Battle Display shortened to 7 lines from 9.
Font fix by UniTrader for Rufont. Those playing with RU-localization should now actually see the UniBar! (Thanks, Uni!)

.......
17.August 2015 - MICT_supp2 updated to v0.27

Bugfix

.......
Miscellaneous IZ Combat Tweaks updated to v0.29.1

Battle Display reports more concise, display duration longer, and are less frequent.

- Cut the steps reported from 19 to 7,
- Made reports from different steps more consistent,
- Cut lines from a maximum of 10 to a consistent 7 (could increase for long ship names),
- Incorporated the UniBar from MOCT. (Thanks, UniTrader!)

If the reports are still too intrusive, please do let me know.

.......
Miscellaneous IZ Combat Tweaks updated to v0.28

Having discovered rogue elements operating according to MICT Doctrine, The MICT Council has decided that Defence Officers working in MICT Ships will be trained to face this new threat. Since MICT operates on the prime principle of mobility, MICT Defence Officers are trained to immobilize their opponents' ships, blind them, deny them the crutches that they lean upon, remove their ability to fight, destroy the shields that they cower behind, and ultimately, defeat all comers.

Shortly after this decision was reached, a lone Xenon N was belatedly spotted fleeing after having stolen the plans for the new training.

MICT Defence Officers based on capital ships will now designate jump drives, engines, radar, drone launch bays, turrets, missile launchers, and shield generators for targeting. Turrets will now fire upon any of these surface elements that are within range and line of fire. If no surface elements of high priority are found, turrets will fire directly upon the hull of hostile capital ships.

MICT Defence Officers will use their drones more efficiently:
- Since capital ships cannot field the drone numbers that stations can, they will use drones to surgically strike important modules in multiple small groups rather than sending them in large swarms.
-- Primary targets are the jump drive, engines, and drone launch bays. Drones will be launched against these targets even if they are not within line of sight.
-- Shield generators are a secondary target. Drones will be launched against these only if they are within line of sight.
--- After they destroy their designated target, drones will search within a 500 meter radius of their initial target to seek and destroy other priority targets. If none are found, they will try to dock with their parent ship.

-- These targets, in addition to radar, turrets, and missile launchers, are also designated as priority targets for turret fire.

Will not conflict with cicero111's Better Turrets, nor with the adaptation of Better Turrets implemented in Rubini's Conquer Mod and in CWIR. However, MICT Ships will no longer use Better Turrets nor Rubini's adaptation.

.......
14.Aug.2015 - Miscellaneous IZ Combat Tweaks updated to v0.27

MICT Captains now have an entry added to their pre-engagement checklist to make sure that they have valid targets before they initiate attack.

.......
Miscellaneous IZ Combat Tweaks updated to v0.26

MICT ships are more responsive when engaged in combat with stations.

.......
13.Aug.2015 - MICT_supp2 updated to v0.26

Split captains will now no longer wait for authorization to break attack and open fire. They will always be searching for targets while flying in formation, and will always break and attack immediately when a hostile target is detected, regardless of whether or not they are authorized to do so.

.......
12.Aug.2015 - Miscellaneous IZ Combat Tweaks updated to v0.25

Legendary Hyperion captain-turned-multibillion-credit-mogul Sparky of the ubiquitous Sparkycorp pointed out that MICT Capital Ship Captains are stupid. You heard 'im right, stuuuuupid. Why? Because although MICT Captains take range into account, they often fly smack-dab right into opponent ships' guns! On purpose! Possibly because of adoption of some obscure Split ritual that seems to indicate that doing so is an indication of one's bravery, or some such nonsense.

The MICT council, with typical level-headedness, did not get angry. Rather, they decided to look into the matter and try to decide a better course of action. MICTCorp, with some marginal almost non-existent help from Sparkycorp, now present the SparkyManeouver:

MICT Capital Ship Captains will now try to maneouver their ships towards opponents' weakest points.

However, there has been some resistance among the elite cadre of MICT Sucellus and Balor Captains. They insist to go the opposite direction, and face opponents' strongest points. Asked for an explanation, they stoic band simply smirked and said ""Iñigo Montoya is chickenz."

.......
11.Aug.2015 - MICT_supp2 updated to v0.25

MICT Squadrons OOZ now more efficiently:
  • break formation and attack when attack authorization is given and hostile targets are detected,
  • and rejoin formation when no hostile targets are detected.


.......
10.Aug.2015 - Miscellaneous IZ Combat Tweaks updated to v0.24

Breakthrough!

Although the Teladi would like nothing better than to sit out a battle in stasis and let their Split and Argon brethren take care of it, a young Teladi engineer, stuck in one of MICTCorp's many Stromvoks, was finally convinced that at least knowing when a battle is over is important for the maximization of profitsss, not to mention the considerable lengthening of his life expectancy. The inventive engineer devised a means of detecting if an enemy ship has been destroyed, and, in that event, forcibly removing the captain from stasis even in the midst of a boost maneouver. The prototype, called the All-clear-waker-upper, involves a stick sticking out of a ship connected to a bucket of cold water, but was resisted by some Argon captains whose log-like ability to resist waking is simply astounding. The young engineer has since invented the ALL-CLEAR-WAKER-UPPER-RIGHT-NOW!!! involving a longer stick connected to a bucket filled with ice-cold strawberry syrup. MICT Captains have taken notice.

MICT Ships in combat are now aware when a target ship has been destroyed while they are undergoing a tactical boost maneouver.

The engineer has since been transferred to a Talorcan.

.......
Miscellaneous IZ Combat Tweaks updated to v0.23

A bug in the neural nanonics forcibly implanted into all MICT captains' brains via seeding of nano-creepers into their strawberry-flavored pancakes caused data from everywhere in the galaxy to flow into the Skunk's mighty multi-function display. Unfortunately, this bug has since been isolated, and has since been fixed.

The Battle Display will now only display data from player-owned assets which are engaged in combat while in-zone.

.......
7.Aug.2015 - Miscellaneous IZ Combat Tweaks updated to v0.22

Bugfix. Thank you to BlackRain for reporting the issue.
The Battle Display from the heretofore interim branch is now included in this update.

.......
Miscellaneous IZ Combat Tweaks interim branch updated to v0.21.2

The MICT Captains' Union has demanded that a modicum of privacy be accorded to them due to their heroism, unparalleled courage, and for the sake of common decency. "Besides," they argue, "the fact that my favorite pancakes are slathered with strawberry sauce can hardly be of relevance in a tactical situation."

While their choice of pancake sauce is, in fact, of significant interest, the Overlords of MICT have decided that their thoughts regarding extra-curricular activities after consuming said pancakes are not of interest, nor of tactical relevance.

Battle display feedback slightly reduced.
Ships will not pursue beyond the zone in which combat is initiated.

.......
6.Aug.2015 - Miscellaneous IZ Combat Tweaks interim update v0.21.1

All MICT Captains now require neural implants which connect their deepest thoughts, desires, motivations, and actions to the Skunk's multi-function display.

Battle display informs you of the decisions of your MICT captains in real-time.
Feedback on this much appreciated.

.......
6.Aug.2015 - MICT_supp2 updated to v0.24

Huge Bugfix - Due to a logic problem, MICT Squadron subordinates were not attacking when they were supposed to. Now they do.

Just to refresh: MICT Squadron subordinates have orders to stay in formation unless their Squadron Commander gives them authorization to break off and attack.
This authorization is given when:
  • The MICT Squadron Commander has orders to attack a target,
  • attack all enemies,
  • or patrol;
  • or MICT ships are escorting a civilian vessel.


If authorization to attack is given, MICT Squadrons actively scan for hostile targets.
  • Capital ships in a MICT Squadron will use their own sensors, and will acquire hostile targets within their own sensor range,
  • Fighters will be guided by fire control in the capital ship that they are escorting.


If a hostile target is detected, and permission to fire is given, MICT Doctrine holds that MICT Squadrons must utilize their superior mobility. Therefore, they have orders to break formation and attack.

.......
6.Aug.2015 - MICT_supp4 updated to v0.09

Removed notifications of drone launch from cockpit display.

.......
Miscellaneous IZ Combat Tweaks updated to v0.21

Ships whose crews decide to boost will turn before doing so.

.......
5.Aug.2015 - Miscellaneous IZ Combat Tweaks updated to v0.20

Tweaked movement thresholds. MICT ships should boost much less, boost engines having more of a back-up function to jump-drives and regular engines.

New movement thresholds:

Code: Select all

                        Jump        Boost       Maneouver
Escape                  0           5km         0

Get Away                10km        15km        0

Approach                7km         10km        0

Station-keeping         -           -           0

.......
5.Aug.2015 - MICT_supp2 updated to v0.23

Fighters escorting a capital ship will be guided by the capital ship's sensors for finding and engaging hostile targets.

.......
3.Aug.2015 - MICT_supp4 updated to v0.08


Station-based Defence Officers now purchase combat drones.


Since they started actually using their combat drones five days ago, defence officers watched their drone reserves deplete steadily, and started wondering why they weren't restocking them. So they put their heads together, asked their managers how those market-buyer-thingers work, and now they've started ordering them by the hundred!

ALL NPC stations with defence officers will now purchase combat drones. They will fill up their stations' drone storage to almost full capacity, leaving a reserve of 100 drones for silly things like cargolifters and construction URVs. They will purchase all combat drone types, with most targeted stocks being of type Interceptor URV Mk1 and Intrepid URV Mk1.

Defence Officers of player-owned stations will do the same IF you tell them to automatically manage their AMMO. (The tick box telling them to manage defence drones doesn't work.) They will fill up their stations' drone storage to the same proportions as NPC stations. If you do not want your Defence Officers to do this for you and prefer to do it manually, tell them to stop stocking up on ammo. You can change this decision at will.


A couple of things to think about before downloading this update:

1. Do you want your stations stocked up on combat drones of different types?
- If not, make sure that all of your station-based Defence Officers are not set to manage their stations' ammunition reserves.

2. Do you want to make a crapton of money at the expense of arming your enemies?
- If not, order your drone production facilities to stop trading with NPCs.

3. Are you just starting out, and are you finding the plot just too dang hard?
- Do not download this update.


Another note: existing drone production facilities in the game are not nearly enough to satisfy demand for combat drones. This means that drone stocks in shipyards will probably dry up very soon, and the drone shortage will persist so long as YOU don't fill it. The game's economy simply isn't equipped to handle demand for combat drones at this level.

There are dangers to this situation, but there are also many opportunities, and it is important to go into this aware of what they are.


As always, comments, suggestions, questions, clarifications, and criticism welcome.


For the curious, the development of this part of MICT is documented here:

http://forum.egosoft.com/viewtopic.php?t=381599

.......
2.Aug.2015 - MICT_supp4 updated to v0.07

Code optimized.*
Timings tightened.*

Small structural change to fight.attack.object.drone.leader to check that a target is still flying before checking distance.

* Mostly structural changes and timing tweaks:
  • Moved garbage collection outside the drone launching routine so that it only runs once per entire launch cycle rather than every time drones are launched.
  • Timings for drone launch in large numbers are tricky. Wait too short, and the drones wouldn't be all deployed yet when orders are issued. Wait too long, and the drones appear to get stuck in the station's architecture. (Orders are issued, but they don't move.) Found what seems to be a sweet-spot at 173 milliseconds per drone.
  • When ripple-launching, no wait between launches until all launchers are used.
  • Since drones are launched much faster, reduced time between launch cycles from 60 seconds (vanilla) to 10 seconds.

Note: This is tuned to deliver the maximum number of drones to the target in the minimum amount of time while retaining the ability to engage multiple targets. If there are very many drones in the air, it will make your game run slower.

Since number of drones launched is relative to how many drones a station has, please exercise common sense and don't load too many drones in your stations if you notice your game slowing down to intolerable levels when stations are launching drones IZ.

.......
2.Aug.2015 - MICT_supp2 updated to v0.22

Precautionary bugfix.

.......
1.Aug.2015 - MICT_supp4 updated to v0.06

When stations launch relatively few drones against low-priority targets, drones ripple launch from each available URV Launcher.*

* Marvin Martian very generously shared some code recently that allows very efficient drone docking on ships with multiple drone launcher pads. Adapted Marvin's docking code to this launching code that launches relatively small groups of drones from each operational URV Launcher sequentially. Many thanks to Marvin for sharing his code.

.......
MICT_supp5 is up

Doubles the number of drones that can be equipped on a station.

Not sure how good an idea this one is, but sharing it just in case anyone else wants it.

.......
MCT v0.13

Lucky 13!

1.August 2015 - MICT_supp4 updated to v0.05

Stations now use all installed URV launchers! This allows faster and more reliable deployment of an even greater number of drones. Thanks to Marvin Martian for shedding light on how this might be done.
Timings tightened further.
If drones cannot catch up with their target, they will go home.
Garbage collection run once every drone launch cycle.
General optimization.

.......
MICT_supp2 updated to v0.21

Garbage collection when escorts transit/are transited OOZ.

.......
MiscellaneousIZCombatTweaks updated to v0.19

Garbage collection when ships in combat transit/are transited OOZ.
Typo was causing unnecessary debug spew. Thanks to BlackRain for pointing this out.

.......
31.Jul.2015 - MICT_supp4 updated to v0.04

Bugfix.*

* Found a cause of drones being orphaned: seems like some drones glitch out and aren't assigned a script. They're just launched, but no orders are given. Also seems to happen when drones are launched with conservative timings, such as in vanilla, but problem is more pronounced here since station-based drones are launched much more aggressively. Added a routine to check for those drones, and give them orders to dock.

.......
30.Jul.2015 - MICT_supp2 updated to v0.20

MICT Squadrons should be more responsive when attack/patrol order is given to their squadron commander.
MICT Squadrons should recover all drones when they transit/are transited from IZ to OOZ.

.......
30.Jul.2015 - MICT_supp4 updated to v0.03

- Launch interval tightened:
  • A station-based Defence Officer rated at 5 stars will take only 1 second to acquire a new target and launch drones.
  • An officer rated at 0 stars will take around 2 minutes to do the same.

- Station-based Defence Officers will try to launch at least:
  • 3 drones against fighters,
  • 7 drones against L-class capital ships,
  • 19 drones against XL-class capital ships
if their station has enough combat drones.

- Station-based Defence Officers will launch drones only if their stations are equipped with at least 5 combat drones.

- OOZ Drone recovery code slightly optimized.

- Added additional conditions when drones should break off attack and head home. Drones will head home if:
  • they do not have a target,
  • their target is destroyed,
  • their target is no longer in their superior's zone,
  • they are ship-based drones, and they are more than 10km from their superior,
  • they are station-based drones, and they are more than 50km away from their superior.
These precautions shouldn't be necessary, but best be sure.

.......
29.Jul.2015 - MICT_supp4 is up!

All stations now launch combat drones.

Number of drones launched depends on:
  • How many combat drones you have on a station,
  • the class of the target,
  • and the skill of the station's defence officer.

A less-experienced defence officer will tend to panic and launch all drones against a target, no matter what the target is. The reflexes of such an officer also won't be very good, and the defence officer can take a long time to acquire and engage targets.

An experienced defence officer will be able to engage multiple targets within the station's radar range, and will calibrate the number of drones sent depending on the severity of the threat, and drone availability in the station.

Only defence officers set to attack enemies will be authorized to launch drones.

More information on the mechanics of station-based drone launching as done in MICT_supp4 available here.


TIP: I would strongly advise that you stock up on drones. At least 100 combat drones in a station are needed to present a credible deterrent.

note: tested in this supplement is new code that recovers all drones when you move OOZ. This is because the vanilla game does not use any combat drones OOZ, and using them OOZ would throw the balance off. Any reports on any station-based drones that are not recovered after you move OOZ, or any game slow downs aside from what ought to be caused by having possibly hundreds of drones flying at the same time would be greatly appreciated.

If this new code proves to be reliable and not too resource intensive, this will eventually replace the present solution that is accelerated drone docking.

.......
26.Jul.2015 - MICT_supp2 updated to v0.19

Carrier-based MICT fighters based on Marvin Martian's carriers weren't going on patrol. - FIXED*
Trimmed off some redundant gristle. That goes in the stew pot.

* Screwed up a single do_if condition. Sorry about that. Fixed now. They should also fly in more stable formation around those carriers, and should switch more fluidly between flying in formation around carriers to closing formation to move in patrol, or in attacking.

.......
26.Jul.2015 - MiscellaneousIZCombatTweaks updated to v0.18

- some drones were still getting orphaned when mother ship makes a large move (jump or warp) while drones are on final approach to dock. - FIXED*
- When using with Marvin Martian's Carrier mod, fighter docking sometimes unreliable when mother ship moves while on approach to dock. - FIXED

* <move_target_points ... /> in move.dockat.drone was getting invalidated by capital ships moving such that the ship's dock is no longer where the game expects it to be, resulting in drones that think that they're safely docked, but actually aren't. This bypasses the whole procedure other than the very first approach to dock. Drones approach their mother ship, then are teleported in. Not nearly as pretty as the vanilla docking procedure, but haven't found any orphaned drones since.

This will not fix drones that are already orphaned. If you already have orphaned drones (player-owned drones flying aimlessly in space with Command: None), DockAllDrones should sort you out. However, if you decide to use DockAllDrones, please read the instructions carefully and follow them. If anything is not clear, please ask. DockAllDrones could seriously screw up your game otherwise.

Fighters docking with carriers were sometimes having the same problem, and the same fix was applied. A serendipitous side-effect is that carriers now recover fighters much faster.

.......
25.Jul.2015 - MiscellaneousIZCombatTweaks updated to v0.17

- drones were getting orphaned when parent ship moves while drones are on final approach to dock. - FIXED*

* Working theory is that <move_docking ... /> relies on actual contact with a particular functional area on the dock (or relative to the dock) for the docking maneouver to work. Problem is that MICT ships move a lot so there's a very high likelihood that the ship's dock has moved between the time when a drone initiates docking maneouver, and the time when it finishes said maneouver.

Options to fix are:
  • have the ship wait until all drones are docked (this has thus far been consistently Egosoft's solution to such problems)
  • or make the docking procedure faster (a bit hacky, especially when drones are directly observed while docking, but works without impeding capship mobility, particularly important when under fire)

Opted for the second solution. Hurts immersion a bit, but decided that mobility is more important. Besides, if it's good enough for Lucike, it's most certainly good enough for me.

.......
MICT_supp2 updated to v0.18

- All MICT Squadron subordinates, except for MICT Fighters squadded directly under MICT Capital Ships, now move in formation except when breaking off to attack.*
- Warp to keep up with MICT Squadron restricted to this.zone, and warp threshold increased to 10km from 5km.

* Problem with vanilla squadron movement is that squadron escorts plot a point relative to the lead ship, then move there. If the lead ship is constantly moving (for example, when the lead ship is on patrol), the lead ship would have already moved further by the time that squadron subordinates get to their points, hence they always lag behind. Having them move in formation should improve this. Still doesn't work 100% because capital ships are huge, lumbering things that don't move nor turn on a dime. Fighters escorting capships are excluded to allow for Marvin's carrier-based fighters going on patrol.
  • Capships use the inverted point guard formation, and maintain the vanilla offset distance of 400 meters.
  • Fighter squadrons use the x shape forward formation, and tighten their formations to 100 meters.


.......
23.Jul.2015 - MiscellaneousIZCombatTweaks updated to v0.16

In the initial jump/boost/move to targets, ships were pointing toward targets rather than orienting optimal firing vector. - FIXED
Ships were sometimes becoming temporarily unresponsive when their present target gets blown to smithereens while the ship is undergoing a boost maneouver. - FIXED

.......
23.Jul.2015 - MiscellaneousIZCombatTweaks updated to v0.15

All MICT Ships are now much better at orienting their most damaging side toward targets.
When running Marvin Martian's Carriers mod, and a carrier with deployed fighters is ordered to attack a target in a different zone, carriers will now wait until all fighters dock before jumping/boosting/heading to a jump gate. (Marvin's script. This just calls it now, if the mod is present.)

.......
22.Jul.2015 - MiscellaneousIZCombatTweaks updated to v0.14

Bugfix: Was jumping facing towards the target regardless of optimal firing angle. - FIXED

.......
MICT_supp2 updated to v0.17

MICT Fighter Squadrons* now move in very tight formation unless breaking off to engage targets.
Bugfix: Short-ranged squad followers were acquiring targets far beyond radar range. - FIXED (although harmless because they weren't actually engaging those targets until they get within radar range.)

* A MICT Fighter Squadron is a squadron of fighters (m- or s-class) with at least 4-star ratings in all primary skills led by another fighter with a 4+ star pilot.

.......
21.Jul.2015 - MICT_supp2 updated to v0.16

MICT Fighters assigned under other MICT fighters were sent to move.die by patrolling individually. - FIXED
Sorry about that.

.......
21.Jul.2015 - MiscellaneousIZCombatTweaks updated to v0.13
MICT_supp2 updated to v0.15

Now compatible with Marvin Martian's Carrier Mod.

Thanks to Marvin for helping make the two mods compatible.

.......
20.Jul.2015 - MICT_supp2 updated to v0.14

Quick Bugfix - The new squad conditions were not correctly disallowing drones. - FIXED
No evidence that drones were running the script, but this makes sure.

.......
19.Jul.2015 - MICT_supp2 updated to v0.13

Lucky 13!

non-MICT captains now recognize the effectiveness of their MICT brethren.

  • Ships with MICT crews who are escorting ships with non-MICT crews (for example, MICT ships escorting non-MICT traders) now operate according to MICT doctrine.
  • Fighters (size s, or size m) with pilots rated at at least 4 stars in all primary skills under the command of MICT Captains now operate according to MICT squadron doctrine.
  • MICT Fighters will acquire and engage their own targets as they come within radar range if their squadron commander has an attack command (active or passive). (Tip: Assign a ship/fighter with long radar range as squadron commander to acquire targets at range, and bring the rest of the swarm within range.)
  • When separated by more than 5km from the ships that they're escorting, MICT fighters will warp and keep close together.
  • MICT Ships and Fighters should now face in the same direction that their Squadron Commander is facing after jump/warp/move.

Note that these changes apply to ALL MICT ships! Xenon, pirate, and other NPC fighters will be somewhat more dangerous.

I've been working with BlackRain over the weekend, trying to better integrate MICT_supp2 with WWX, and I picked up a couple of new tricks from that experience that have been incorporated into this update. Thanks to BlackRain and YorrickVander from team World War X for that, and to BlackRain for graciously granting permission to use what I have learned.

.......
16.Jul.2015 - MICT_supp2 updated to v0.12

In celebration of combining MICT and MOCT into the MCT,

MICT Squadrons now rock OOZ!

If:
  • a MICT Squadron Commander acquires a target and attacks (whether actively via attack command, or passively via attack all enemies or patrol command), or
  • MICT ships are escorting a civilian ship, and that ship's shields get reduced by a single Joule,

MICT Squadrons will actively seek out enemies and engage according to MICT doctrine.

MICT ships in squadrons will only engage ships detected within their radar range, and will stay within radar range of their Squadron Commander.
MICT Squadrons warping or moving to stay close to their commander tightened and made more reliable. When not engaging, they should try to stay within a kilometer of their Squadron Commander.

Enhanced target acquisition is now also active for MICT Squadrons OOZ:
  • Long-ranged MICT ships will only acquire hostile capital ships, and will fight from, and stay at, long range. They will prefer the most dangerous ships that they detect.
  • Short-ranged MICT ships will close to engage acquired hostile capital ships and fighters. They will prefer ships or fighters that are closer to their Squadron Commander.
  • MICT squadron ships will individually engage one ship at a time, and will stick with an acquired target until it's destroyed.


.......
14.Jul.2015 - MICT_supp2 updated to v0.11

  • When in-zone, MICT ships escorting non-combat ships will always act aggressively towards hostile targets in the vicinity of the ship that they're escorting.
  • If separated from their squadron commander by at least 5km, in-zone, and when not engaged in combat, MICT ships will jump to within 1km of their squadron commander.
  • If separated from their squadron commander by at least 5km, out-of-zone, and when not engaged in combat, MICT ships will warp to within 1km of their squadron commander.
    (NB: If they are multiple sectors away from each other, ships will jump from sector-to-sector and use jump gates as normal.)

.......
13.Jul.2015 - MICT_supp2 updated to v0.10

A slightly better solution to the drone problem:

Drones found running MICT will head home and dock rather than be instantly annihilated.

Affected drones and their mother ship have to be OOZ for this to work. Orphaned drones caused by vanilla or other mods will not be affected by this fix.

NB: This particular drone problem is a rare bug characterized by drones flying in formation with their parent capital ship. (Itself not a bad thing, but I decided to try to fix it before trying to figure out a way to use it.) If you have not observed this behavior, then you were probably not affected by the bug in the first place.

I have determined that it was not caused by this mod alone, but by this mod in combination with certain other mods which were used in a very particular way, and is unlikely to affect normal playing. (Of course, what constitutes normal playing is debatable since this is an X game!) Am publishing this fix anyway, and this fix, along with the the added checks from the patch before this one (from this morning!) should prevent this problem from occurring again.

.......
13.Jul.2015 - MICT_supp2 updated to v0.09

Found small ships and drones running MICT. Made sure that this does not happen by:

Adding a check to make sure that only capital ships (size l and xl) can run MICT,
Small ships found running MICT while escorting MICT ships have their scripts reset to move.escort
Drones found running MICT while escorting MICT ships are destroyed OOZ. (Will not work IZ.)

Sorry about this. The added checks should prevent this from happening in the future.

.......
13.Jul.2015 - MICT_Supp2 updated to v0.08

Enhanced targeting was sometimes generating null targets - FIXED
Squad refueling was not working in X:R 3.60 Beta 3 - FIXED
Squad refueling now also works OOZ.

.......
12.Jul.2015 - MiscellaneousIZCombatTweaks_v0.12 is up!

MICT ships orient side that can inflict highest amount of damage against a particular target towards that target.
If turrets are damaged on one side such that the ship can inflict more damage from a different side, the ship will change orientation accordingly.
MICT ships face away from target when trying to escape.

.......
5.Jul.2015 - MICT_supp2 updated to v0.07

enhanced target acquisition - see notes for supplement 2 below.
a tiny little bit of optimization.

.......
28.Jun.2015 - updated to v0.11.

Compatibility update. Main mod and all supplements are now compatible with Linux and Mac versions.

.......
24.Jun.2015 - MiscellaneousIZCombatTweaks_v0.10 is up!

- just a quick compatibility update with X:R 3.60 beta 1

.......
24.Mar.2015 - MICT_supp2_v0.03 is up!

Contact with the Canterans has taught your MICT captains the wisdom of restraint, wisdom that the Canterans gained from years of dealing with Reiver stations that are indestructible but oddly always look dilapidated. (Reivers seem to like it that way. Odd sense of aesthetics.)
  • Squadron subordinates will now attack only if an attack or patrol order is given to their squadron commander.


I put the new target designation nodes AFTER the vanilla nodes, so vanilla target designation will still take precedence. Individual ships do still go haring off sometimes, but that's from the vanilla target designation.

.......
21.Mar.2015 - MICT_supp2_v0.02 and MICT_supp3_v0.03 are up!

supplement 2:
  • Squadron subordinates now properly jump to their squadron commander if they're not fighting, and are separated, but are in the same zone. They will now only try do so if they are capital ships.
  • Squadron subordinates will attack everything hostile within their own gravidar range around their squadron commander. This will affect ALL squadron subordinates, including NPC escorts. (Expect hostile fighter escorts to be much more aggressive.)
  • Long-range ships (Sucellus, Balor, I, and Drostan) only target hostile capital ships unless they, or their squadron commander, are/is attacked.

.......
supplement 3:

Fixed a path error fixing the excessive fuel reserve held by ships set to automatically refuel. Should work properly now.

.......
19.Mar.2015 - MICT_supp3_v0.02 is up!

In preparation to making ships doing in-zone tactical jumps use fuel cells (as they rightfully should), this supplement greatly increases fuel capacity.

Fuel cells occupy less space.
Ships can do 100 jumps instead of 25 on a full tank of gas.
Fuel cell fabs can similarly store 4 times the amount of fuel cells compared to vanilla.
Fuel cell production is not changed.

from v0.02: Ships set to automatically refuel will only do so when they don't have enough fuel to get where they're going.

Thanks to NocturnalS1n for reporting the issue fixed in MICT_supp3_v0.02.

.......
9.Mar.2015 - v0.07 is up!

Incorporated a couple of changes from vanilla X:R v3.50 RC1 (Thanks, Egosoft!)
Tightened the tolerances for boost-strafing* and tactical jumps. (Down to half: boosts when at least 5,000m away from plotted destination, was 10,000m. Jumps when at least 15,000m away from plotted destination, was 30,000m.) Probably a bit too twitchy. Feedback would be appreciated.

.......
9.Mar.2015 - MICT_supp2 is up!

Squadron-level tactics.
  • Squadron subordinates act more aggressively toward nearby hostile targets.
  • They will also attack a target designated to their squadron commander if no hostiles are nearby.
  • IZ, squadron subordinates will jump to their commander if they are separated, and are not otherwise engaged.

Just extract to the extensions folder if this added behavior is desired IZ.

.......
* Sorry, should probably clarify. By boost-strafing, I don't mean sideways moving. More like fly-by shooting.

.......
v0.061 is up.

Forgot to turn off the PDA and logbook spam in v0.06. Sorry about that. Nothing else changed.

.......
7.Mar.2015 - v0.06 is up!

* Ships will boost to position if their jump drive is destroyed or if their target position is less than 30,000 meters away except if they're trying to retreat. (This comes with all of the flakyness of vanilla boosting like backwards boosting and sideways drifting.)
* Tactical jumps now need time for jump drives to charge up.
* I'm planning to have tactical jumps use jump fuel in the future. In preparation for this, ships jump much less than they used to, more often boosting or simply using their engines to maneouver.
* Front-firing long-range ships (at present, only the Sucellus and the Balor) stop when they get to their firing position, and more reliably track their targets. Still doesn't work 100%, though.
* Fine target tracking after boosting is still problematic, so long-range ships still jump to position.
* Attempt to differentiate captain tactics from background and training. At the moment, only the retreat thresholds are affected.

.......
6.Mar.2015 - v0.05 is up!

Bungled the conditions for range calculations. Sorry. It was set to calculate long ranges for the Sucellus only, rather than for the Sucellus and for the Balor as intended. Fixed in v0.05.

And it's playing stable on my run-down machine. So alpha status is lifted as of MiscellaneousIZCombatTweaks_v0.05.

.......
4.Mar.2015 - v0.04 is up!

Long-range behavior made specific to the Sucellus and the Balor. All other ships, including the Xenon I, calculate their desired maximum damage relative to maximum turret ranges rather than maximum range of all weapons.

Captains will try to maintain between 2,625 to 3,500 meters from the target when maneouvering against fighters.

Thank you to Simoom for suggesting both of these adjustments.

Makes sure that the ship is maneouvering relative to a ship or station rather than a component.

.......
2.Mar.2015 - v0.03 is up!

Improved maneouvering for destroyers and frigates. (Uses the quadrant information that UniTrader gave me for MOCT to detect which direction to turn. Thanks, UniTrader!)
Shorter wait times between jumps.

MICT capital ships jump away when fighters get too close.

26.Mar.2015 - MiscellaneousIZCombatTweaks_v0.09 and MICT_supp2_v0.05 are up!

MICT_v0.09:

Squadron subordinates will launch the MICT movement script if their crew fulfills the MICT crew requirements
OR if the crew of their commander's ship fulfill the crew requirements of MICT.

MICT_supp2_v0.05:

The MICT squad script was getting big, so before I get into too many blocking actions, decided to separate it from the vanilla scripts. MICT squad script moved to MICT.move.escort.capital, and is triggered from move.escort. This is to improve compatibility between MICT and other mods. (NB: Mods that use custom escort scripts still won't launch the MICT squad script.)
Squadron subordinates will stop attacking and move to their commander after a non-attack/patrol command is given to the commander. If they are engaged in combat, they will finish off their target before breaking off.
Squadrons will act according to MICT doctrine if the Squadron Commander is a MICT ship.

Note: Squadron subordinates who are refueling might get stuck. If they do not rejoin their commander after undocking from the Fuel Recharge Fac, please squad them under the Skunk, then reassign them to their squad. The mod Multiassignment by Phipsz is excellent for mass-assigning ships to squads.

aiscripts\move.escort.capital.xml is now blank, and was only included to overwrite the old file in your directory. The functions that used to be in that file are now in MICT.move.escort.capital.xml. Feel free to delete aiscripts\move.escort.capital.xml. To make sure that you're deleting the correct file, open it in a text editor, and it should say that it's safe to delete. If you are unsure, it is safe to just keep all of the files.

.......
Together, this means that MICT officers will extend MICT behavior to their squadrons regardless of whether or not their squadron subordinates fulfill MICT crew requirements. Still, don't expect any miracles from non-MICT crews trying to fly according to MICT. (Lots of range and distance calculations depend on crew skill.)

.......
26.Mar.2015 - MICT_supp2_v0.04 is up!

Having better squadron combat, I naturally fielded more squadrons and noticed that it's a bit of a pain to get squadron members to maintain the same fuel reserves.

So squadron subordinates now refuel when their commanders do.

.......
24.Mar.2015 - MICT_supp3_v0.04 is up!

Forgot that jump paths are set in move.generic, not in move.jump, so 0.03 was set to refuel only when there is less fuel than is needed for one jump.

Fixed the fuel reserve to 500 fuel cells. This is the value set in vanilla, and should be enough fuel to get to a gas station regardless of where you are in the Universe as of X:R 3.52.

.......
22.Mar.2015 - MiscellaneousIZCombatTweaks_v0.08 is up!
  • Tactical jumps now use jump fuel. MICT ships will maintain a reserve of 500 fuel cells. Squadron subordinates jumping to join their squadron commander (supp2) still do not use jump fuel so that everyone in the squad will have more or less the same amount after a battle.
  • MICT ships in combat will not jump less than 10 seconds after their last jump.
  • MICT Ships that do not, or cannot, jump will keep moving. They will boost if they're trying to go far enough.
  • MICT ships sometimes got stuck attacking nil. - FIXED
  • If targeting station or ship components, MICT ships will maneouver against the station or ship without changing the target.


_____
The mod is available for download:

http://www.nexusmods.com/xrebirth/mods/450

http://steamcommunity.com/sharedfiles/f ... =478790162

_____
Check out my other mods for X Rebirth:
MarineRebalance,
BetterAutoAim,
SmalltalkHack,
Epic Capital Ship Shields,
Station Engineers,
Engineer Drone Fix,
Slightly More Useful Plot Station,
DockAllDrones,
Miscellaneous OOZ Combat Tweaks,
DifficultyHack
Last edited by w.evans on Sun, 17. Dec 17, 10:58, edited 376 times in total.

User avatar
Simoom
Posts: 1110
Joined: Sat, 30. Oct 10, 14:14
x4

Post by Simoom » Fri, 27. Feb 15, 02:57

OMG yes! Can't wait to try this out when you put it back up. :)

Will you potentially be integrating some of the features offered by the discontinued (but awesome) CDOAIO and/or CAIO? I am assuming your script doesn't do anything for Balor/Sucellus combat behavior at the moment?

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Fri, 27. Feb 15, 03:04

Got it working, but the escape function keeps causing the game to crash for some reason.

Nothing specific to the Balor and Sucellus, although it does favor the two ships. Jumps to optimal firing range with the nose pointed at the target.

I do have a tweak running making the Balor more like the missile frigates I remember from X3. Might upload that after this is up and running.

oliverjanda
Posts: 309
Joined: Sun, 14. Feb 10, 17:47
xr

Post by oliverjanda » Fri, 27. Feb 15, 09:29

Interesting work! Do npc ship use this scrips as well? how can one capship kill another one if both use your scripts?

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Fri, 27. Feb 15, 12:58

oliverjanda wrote:Interesting work! Do npc ship use this scrips as well?
Yes, but only if their crew is exceptional. (Should be rare, unless you're running the supplement for MOCT that makes the Xenon all exceptional.
oliverjanda wrote:how can one capship kill another one if both use your scripts?
Good question. One thing is that the escape algorithm (if I can get the bloody thing working) allows for a chance to miscalculate the correct distance to jump so that it still remains inside the opponent's firing range. Chance to correctly calculate the jump distance if the captain's better. Otherwise, for a 5/5/5 crew vs another 5/5/5 crew, it will probably take a very long time.

And, on the topic of getting the bloody thing working, can someone pretty please take a look at this code? I've been working on it for hours now, and I'm getting tired, so I'm probably missing something obvious.

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<aiscript name="MICT.move.attack.object.capital" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="aiscripts.xsd" version="1">
        <params>
                <param name="target" comment="The object to fight with" />
                <param name="escort" default="null" comment="Objects to escort - stay at 'pursuedistance' and shoot enemies attacking this" />
                <param name="pursuedistance" default="this.ship.maxradarrange" comment="Distance to pursue/escort (if pursuetargets true or 'escort' provided). Default: this.ship.maxradarrange" />
                <param name="pursuetargets" default="false" comment="Pursue the target no matter what. Default: false" />
                <param name="checkrelation" default="true"/>
                <!--<param name="debugoutputchance" default="0" />-->
        </params>
        <attention min="unknown">
                <actions>

                        <label name="start" />

                        <set_value name="$MICT_MaxAimDist" exact="this.ship.maxcombatrange.all" />
                        <set_value name="$MICT_MinAimDist" exact="this.ship.maxcombatrange.all / 2.0f" />
                        <set_value name="$MICT_MaxJumpDist" exact="this.ship.maxcombatrange.all * (2.0f - ((this.skill.navigation + this.skill.morale)f / 10.0f))" />
                        <set_value name="$MICT_MinJumpDist" exact="this.ship.maxcombatrange.all * (0.25f * (1.0f + (2.0f * ((this.skill.navigation + this.skill.morale)f / 10.0f))))" />
                        <!--<set_value name="$MICT_MaxEscapeJumpDist" exact="this.ship.maxcombatrange.all * 2.0f" />
                        <set_value name="$MICT_MinEscapeJumpDist" exact="this.ship.maxcombatrange.all" />-->
                        <!--<set_value name="$MICT_MaxEscapeJumpDist" exact="this.ship.maxcombatrange.all * (1.0f + (this.combinedskill / 100.0f))"/>
                        <set_value name="$MICT_MinEscapeJumpDist" exact="this.ship.maxcombatrange.all / (1.9f - (this.combinedskill / 100.0f))"/>-->
                        <!--<set_value name="$MICT_MaxEscapeJumpDist" exact="$target.maxcombatrange.all * (1.0f + ((this.combinedskill)f / 100.0f))"/>
                        <set_value name="$MICT_MinEscapeJumpDist" exact="$target.maxcombatrange.all * (((this.combinedskill)f + 10.0f) / 100.0f)"/>-->
                        <!--<set_value name="$MICT_MinEscapeJumpDist" exact="$target.maxcombatrange.all / (1.9f - ((this.combinedskill)f / 100.0f))"/>-->

                        <set_value name="$issmall" exact="$target.isclass.ship_xs or $target.isclass.ship_s or $target.isclass.ship_m" />
                        <set_value name="$isstation" exact="$target.isclass.station or @$target.container.isclass.station" />

                        <set_value name="$MICT_update" min="105s - (this.combinedskill)s + ($isstation*5)min" max="110s - (this.combinedskill)s + ($isstation*5)min" />
                        <set_value name="$MICT_feedback" exact="true"/>

                        <run_script name="'move.undock'" />
                        <wait min="250ms" max="1s" />

                        <label name="fight" />

                        <do_while value="$target.isoperational and this.ship.defencenpc.exists">
                                <set_command_action commandaction="commandaction.attackingto" param="$target" />

                                <do_if value="not this.ship.mayattack.{$target} and $checkrelation">
                                        <debug_text text="this.ship.name + ' is not enemy to ' + $target.knownname" chance="$debugoutputchance"/>
                                        <break />
                                </do_if>

                                <do_if value="not @$pursuetargets and @$pursuedistance">
                                        <do_if value="$target.zone.isclass.highway">
                                                <debug_text text="'target %1 (%2) entered a highway and we are not to pursue. Breaking off.'.[$target.knownname, $target]" chance="$debugoutputchance" />
                                                <break/>
                                        </do_if>
                                        <!-- escort distance check -->
                                        <do_if value="@$escort.isoperational">
                                                <do_if value="$escort.distanceto.{$target} gt ($pursuedistance + $target.size/2.0f)">
                                                        <debug_text text="'target (%1) is further than %2 to escort object (%3), finish attack move'.[$target.knownname, $pursuedistance, $escort.knownname]" chance="$debugoutputchance" />
                                                        <break/>
                                                </do_if>
                                        </do_if>
                                        <!-- pursue distance check-->
                                        <do_if value="this.ship.distanceto.{$target} gt ($pursuedistance + $target.size/2.0f)">
                                                <debug_text text="'this ship (%1) is further than %2 to target (%3), finish attack move'.[this.ship.knownname, $pursuedistance, $target.knownname]" chance="$debugoutputchance" />
                                                <break/>
                                        </do_if>
                                </do_if>

                                <do_if value="$pursuetargets and this.zone != $target.zone">
                                        <run_script name="'move.generic'" sinceversion="1">
                                                <param name="destination" value="$target" />
                                                <param name="endintargetzone" value="true" />
                                                <param name="debugchance" value="$debugoutputchance"/>
                                        </run_script>
                                </do_if>

                                <do_if value="not $target.isoperational">
                                        <break />
                                </do_if>

                                <do_if value="this.ship.maxcombatrange.primary ge 8000 or this.ship.maxcombatrange.secondary ge 8000">
                                        <create_orientation name="$MICT_AimVector" refobject="$target" orientation="look_at">
                                                <position object="this.ship" space="this.ship.zone" />
                                        </create_orientation>
                                </do_if>
                                <do_else>
                                        <create_orientation name="$MICT_AimVector" refobject="$target" orientation="align_right">
                                                <position object="this.ship" space="this.ship.zone" />
                                        </create_orientation>
                                </do_else>

                                <!--<show_notification caption="'=== MICT Combat Maneouvering ==='" details="'Looking up max firing range of %1: \n %2 \n %3'.[$target.knownname, $target.maxcombatrange.all, $target.ship.maxcombatrange.all]" timeout="30s" queued="false" priority="9"/>
                                <write_to_logbook category="general" text="'Looking up max firing range of %1: \n %2 \n %3'.[$target.knownname, $target.maxcombatrange.all, $target.ship.maxcombatrange.all]"/>-->

                                <do_if value="this.ship.distanceto.{$target} lt $MICT_MinAimDist">
                                        <do_if value="$MICT_feedback">
                                                <show_notification caption="'=== MICT Combat Maneouvering ==='" details="'%1 jumping away from target. \n Moving to attack %2 \n Min distance to Target: %3 \n Max distance to Target: %4 \n Distance to Target: %5'.[this.ship.knownname, $target.knownname, $MICT_MinAimDist, $MICT_MaxAimDist, this.ship.distanceto.{$target}]" queued="false" priority="8"/>
                                                <write_to_logbook category="general" text="'%1 jumping away from target. \n Moving to attack %2 \n Min distance to Target: %3 \n Max distance to Target: %4 \n Distance to Target: %5'.[this.ship.knownname, $target.knownname, $MICT_MinAimDist, $MICT_MaxAimDist, this.ship.distanceto.{$target}]"/>
                                        </do_if>
                                        <get_safe_pos result="$MICT_MovePos" zone="this.zone" radius="this.ship.size" object="$target" min="$MICT_MinJumpDist" max="$MICT_MaxJumpDist" allowyaxis="true"/>
                                        <jump object="this.ship" zone="this.zone" skipcharge="true" ignorefuel="true" sinceversion="1">
                                                <position value="$MICT_MovePos"/>
                                                <orientation refobject="$target" orientation="look_at"/>
                                        </jump>
                                </do_if>
                                <do_elseif value="this.ship.distanceto.{$target} gt $MICT_MaxAimDist">
                                        <do_if value="$MICT_feedback">
                                                <show_notification caption="'=== MICT Combat Maneouvering ==='" details="'%1 jumping to target. \n Moving to attack %2 \n Min distance to Target: %3 \n Max distance to Target: %4 \n Distance to Target: %5'.[this.ship.knownname, $target.knownname, $MICT_MinAimDist, $MICT_MaxAimDist, this.ship.distanceto.{$target}]" queued="false" priority="8"/>
                                                <write_to_logbook category="general" text="'%1 jumping to target. \n Moving to attack %2 \n Min distance to Target: %3 \n Max distance to Target: %4 \n Distance to Target: %5'.[this.ship.knownname, $target.knownname, $MICT_MinAimDist, $MICT_MaxAimDist, this.ship.distanceto.{$target}]"/>
                                        </do_if>
                                        <get_safe_pos result="$MICT_MovePos" zone="this.zone" radius="this.ship.size" object="$target" min="$MICT_MinJumpDist" max="$MICT_MaxJumpDist" allowyaxis="true"/>
                                        <jump object="this.ship" zone="this.zone" skipcharge="true" ignorefuel="true" sinceversion="1">
                                                <position value="$MICT_MovePos"/>
                                                <orientation refobject="$target" orientation="look_at"/>
                                        </jump>
                                </do_elseif>

                                <do_else>
                                        <do_if value="$MICT_feedback">
                                                <show_notification caption="'=== MICT Combat Maneouvering ==='" details="'%1 keeping distance. \n Attacking %2 \n Min distance to Target: %3 \n Max distance to Target: %4 \n Distance to Target: %5'.[this.ship.knownname, $target.knownname, $MICT_MinAimDist, $MICT_MaxAimDist, this.ship.distanceto.{$target}]" queued="false" priority="8"/>
                                                <write_to_logbook category="general" text="'%1 keeping distance. \n Attacking %2 \n Min distance to Target: %3 \n Max distance to Target: %4 \n Distance to Target: %5'.[this.ship.knownname, $target.knownname, $MICT_MinAimDist, $MICT_MaxAimDist, this.ship.distanceto.{$target}]"/>
                                        </do_if>
                                        <get_safe_pos result="$MICT_MovePos" zone="this.zone" radius="this.ship.size" object="$target" min="$MICT_MinJumpDist" max="$MICT_MaxJumpDist" allowyaxis="true"/>
                                        <move_to object="this.ship" destination="this.zone" forcesteering="false" forceposition="false" forcerotation="true" finishonapproach="true" sinceversion="1">
                                                <position value="$MICT_MovePos" />
                                                <rotation value="$MICT_AimVector" />
                                                <interrupt>
                                                        <conditions>
                                                                <check_any>
                                                                        <event_object_destroyed object="$target" />
                                                                </check_any>
                                                        </conditions>
                                                </interrupt>
                                                <!--<interrupt_after_time time="10s - (0.8s * (this.skill.navigation + this.skill.combat))" />-->
                                                <interrupt_after_time time="$MICT_update" />
                                        </move_to>
                                </do_else>
                        </do_while>
                        <stop_moving object="this.ship" />
                </actions>
        </attention>
</aiscript>
I swear it was working, until I put what I thought were finishing touches before uploading. Now, it keeps crashing. And in the excitement of uploading, forgot to back-up before I did those finishing touches, and I can't bloody remember what I changed.

User avatar
YorrickVander
Posts: 2689
Joined: Tue, 29. Oct 13, 21:59
x4

Post by YorrickVander » Fri, 27. Feb 15, 14:36

Not sure if it will help, but when i was helping blackrain with the escorts warping with their cap ship masters we needed to add a small <wait before the <warp command so maybe

Code: Select all

<wait min="250ms" max="500ms" />

<jump object="this.ship" zone="this.zone" skipcharge="true" ignorefuel="true" sinceversion="1">
would help since it's pretty much the same thing as just using the warp command. I might be barking up the wrong tree though as I haven't tested the code.
X Rebirth - A Sirius Cybernetics Corporation Product

Split irritate visiting pilot with strange vocal patterns.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Fri, 27. Feb 15, 14:48

YorrickVander wrote:Not sure if it will help, but when i was helping blackrain with the escorts warping with their cap ship masters we needed to add a small <wait before the <warp command so maybe

Code: Select all

<wait min="250ms" max="500ms" />

<jump object="this.ship" zone="this.zone" skipcharge="true" ignorefuel="true" sinceversion="1">
would help since it's pretty much the same thing as just using the warp command. I might be barking up the wrong tree though as I haven't tested the code.
That actually looks like it's it. Added a <wait exact="5s" /> after each jump command, and it seems to run pretty stable now. Thanks!

Doing some more testing (which I really should have done before making an ass of myself by making the thread before it's ready) to be sure.

ps. That, and using <position ... /> instead of <orientation ... />

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Fri, 27. Feb 15, 16:49

Mod is up.

Very Important: The file is back up, but I'm classifying this an alpha until it could be more thoroughly tested. Please back up your saves, and be prepared to go back to those back-ups.

User avatar
YorrickVander
Posts: 2689
Joined: Tue, 29. Oct 13, 21:59
x4

Post by YorrickVander » Fri, 27. Feb 15, 16:57

We made it a variable wait for wwx as there were potentially hundreds of jumps happening close together, just as there are for this mod. the variation also reduces the chance for overload/jump clash.
X Rebirth - A Sirius Cybernetics Corporation Product

Split irritate visiting pilot with strange vocal patterns.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Fri, 27. Feb 15, 17:19

YorrickVander wrote:We made it a variable wait for wwx as there were potentially hundreds of jumps happening close together, just as there are for this mod. the variation also reduces the chance for overload/jump clash.
Thanks for the tip. Would a difference of 2 seconds with further variable modification via crew skill be enough, you think?

Noticed that the figure you mentioned earlier was in ms, but setting the wait here to 1s was too short. I'm guessing the <warp command is instantaneous, or close enough that less than a second difference was enough to prevent the engine from choking?

User avatar
YorrickVander
Posts: 2689
Joined: Tue, 29. Oct 13, 21:59
x4

Post by YorrickVander » Fri, 27. Feb 15, 17:37

Yeah warp is an insta move thing, with a sweet little star trek style warp effect too :) If >1s works then yeah go with that.
X Rebirth - A Sirius Cybernetics Corporation Product

Split irritate visiting pilot with strange vocal patterns.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Fri, 27. Feb 15, 20:37

@Yorrick, Going with 5-7 seconds for now. Hoping to tighten it down later.

@oliverjanda, looks like they're not as invulnerable as we thought.
logbook wrote:<entry time="533247.607" text="M/FGT 02 - Balor in sector Great Wastelands was destroyed by PMC Warden Destroyer Taranis." category="upkeep"/>
Last entry before that was:
logbook wrote:<entry time="533245.749" text="M/FGT 02 - Balor keeping distance.
Escaping from PMC Warden Destroyer Taranis
Min distance to Target: 7920
Max distance to Target: 14400
Distance to Target: 10614
Shield Strength: 0 / 6000000
Target Max Range: 7200"/>
It was trying to stay outside of a Taranis' field of fire with 0 shields.

oliverjanda
Posts: 309
Joined: Sun, 14. Feb 10, 17:47
xr

Post by oliverjanda » Sat, 28. Feb 15, 19:55

w.evans wrote: I swear it was working, until I put what I thought were finishing touches before uploading. Now, it keeps crashing. And in the excitement of uploading, forgot to back-up before I did those finishing touches, and I can't bloody remember what I changed.
Do you use version control like SVN or GIT? helps a lot with backups and such

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Sat, 28. Feb 15, 20:08

oliverjanda wrote:
w.evans wrote:I swear it was working, until I put what I thought were finishing touches before uploading. Now, it keeps crashing. And in the excitement of uploading, forgot to back-up before I did those finishing touches, and I can't bloody remember what I changed.
Do you use version control like SVN or GIT? helps a lot with backups and such
Hey oliverjanda,

Thanks for the suggestion!

I go with manual back-ups, which I usually fairly reliably do unless I get excited. I took a look at GIT after, I think it was Phipsz, suggested that I take a look. Didn't have the patience to read through it, though. I'm not a programmer by profession and just do this for fun, so didn't think that there would be much benefit to me slogging through it.

The web page is still open in my browser, though. Got about partway down the first subheader of the first chapter of the documentation (Local Version Control Systems) before I wandered off. Maybe I'll go back to it one of these days.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Sun, 1. Mar 15, 19:22

supplement 1:

Turns the Balor into a real missile frigate.

Balor fires four volleys of 16 missiles each per reload cycle.
Balor torpedo speed increased, acceleration decreased, turning speed unchanged. (It misses a lot unless the target is very slow, or is preoccupied. Beware friendly fire.)

Sucellus IHC projectile speed increased.

Drostan re-nerfed. (Still fires a massive volley, but only uses it's own shorter ranged torpedoes.)

Both the Sucellus and the Balor still suck OOZ. They can be awesome IZ if used carefully. Drostan's about the same, but with less range. (It's a WWII-era submarine, not a missile cruiser.)

Might still need rebalancing. Feedback appreciated.

This file is available as MICT_supp1_v0.01

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Mon, 2. Mar 15, 11:16

Since MICT_supp1_v0.02, Balor torpedoes are rebalanced:

Damage per missile reduced to 20,000 from 80,000.
Reload rate increased to 160 seconds from 40 seconds.

This effectively brings Balor in-zone dps back to vanilla levels.

This file is available as MICT_supp1_v0.02

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Mon, 2. Mar 15, 17:15

2.Mar.2015 - v0.03 is up!

Improved maneouvering for destroyers and frigates. (Uses the quadrant information that UniTrader gave me for MOCT to detect which direction to turn. Thanks, UniTrader!)
Shorter wait times between jumps.

MICT capital ships jump away when fighters get too close.

Updated the OP with more information on how the mod runs.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Mon, 2. Mar 15, 17:45

Note on alpha status: if you already have at least 1 ship with a crew with at least 4/4/4 skills, and your game crashes within 15 minutes after game launch after installing this mod, please let me know. I have a pretty good idea of what could go wrong.

That said, it's been running stable on my machine for the past couple of days. Working on the premise that no news is good news, I'm assuming that it hasn't caused crashes or other funny business for the few people who've tried it so far. If this continues, then I'm planning on lifting alpha status later this week.

w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans » Wed, 4. Mar 15, 00:59

This conversation started in the MOCT thread. Continuing this conversation here since it involves IZ combat rather than OOZ combat. Will try to keep IZ combat stuff here from here on out.

_____
Remembered that the Hiigaran Crossroads almost always has a Taranis or three crawling around somewhere, so I got myself 5 Drostans at Balcora Gate, and headed over to Tenhauser Gate where there was a Taranis, a Light Sul, three Fedhelms, and a bunch of fighter escorts.

And the Drostan is, I don't know, ok. It's pretty slow, pretty fragile, and does ok damage. Sending the five against the Taranis, all five got eaten up before they even got within range, of course. (Which is as it should be, I think, so I'm leaning towards the range nerf being good.) Sending them against the Fedhelm, well, they're plunking away. It's surface elements are going down, but it's shields aren't getting eaten up much. They're ok, but they aren't exciting. And I want to get excited enough to want to get a Drostan to want to actually plunk down 5 million for one Drostan rather than getting 5 Katanas or half a Sucellus. (A quarter of a Sucellus if you're using the price increase). I want to be scared when I see a Drostan bearing down on my 50 million credit Arawn.

Starting to get an idea of how it can be exciting, and that's by transferring the instant death experience we used to get from the Drostan OOZ, to the Drostan IZ. I know how horrible that sounds, but bear with me.

Drostans are slow and fragile. That's good, I think, so I don't think the ship macro needs tweaking. So let's talk armament.

Vanilla, Drostans fire 12 torpedoes:

4 of them are the same as the Balor's (8000 range, 80000 damage, 40 second reload, 2000 dps)
4 torpedo 2s (4080 range, 60000 damage, 21 second reload, 2857.14 dps)
and 4 torpedo 3s (2080 range, 40000 damage, 11 second reload, 3636.36 dps)

~33974 total dps with dps being inversely proportional to range

With MICT_supp1, Drostans still fire 12 torpedoes but those are:

4 torpedo 2s (4080 range, 60000 damage, 21 second reload, 2857.14 dps)
8 torpedo 3s (2080 range, 40000 damage, 11 second reload, 3636.36 dps)

~40519.44 total dps (This actually makes them more powerful OOZ, but at the expense of the ability to fire first.)

First, I think that it would be good if those two torpedo types were more different from each other. Have one be a medium range, relatively harmless plunker; and have the other be devastating but only at very close range. So it might be a good idea to increase the damage of those close range torpedoes, but do that in such a way that OOZ damage isn't impacted much, or at all if possible.

One way would be to increase the number of torpedo 3s that a drostan can fire OOZ per reload cycle. This would effectively increase its barrage, hence damage after it gets close, but without affecting OOZ damage at all. This, coupled with maybe a further reduction in range would require the drostan to get really close to a target ship before this barrage could be unleashed, thus exposing it to more HIT/MA fire before it could fire its barrage.

Another would be to simply increase the damage per torpedo, and compensate by increasing the reload time. If done right, it should also be possible to do this OOZ neutral because it looks like dps per alpha strike is taken into account OOZ. (So things like the vanilla Sucellus firing 3 rounds per reload cycle or the MICT Balors firing four torpedos per tube per reload cycle are not taken into account.)

But I also want them to be extremely specialized. Have 20 of them patrolling a sector and they'll be eaten up by fighter escort, but get one close enough to a Taranis long enough, and it should get crippled.

And keep it exactly as it is OOZ.

What do you think?

........
ps. And in writing this, I realized that I did indeed inadvertently nerf the Balor OOZ. I increased the number of projectiles it fires per volley to 16 from 4, and increased the number of volleys per reload cycle to 4 from 1. To compensate, damage per torpedo was reduced to 20000 from 80000, and reload time was quadrupled. IZ, this results in neutral dps, but OOZ, this results in dps being divided by 4.

Not sure what to do about this. On one hand, increasing the damage per torpedo back to normal levels will quadruple its dps IZ, while keeping it the same as in vanilla OOZ. On the other hand, the range increase might be enough to compensate. Thoughts?

........
much later ps. After playing with my newly-acquired Drostans a bit more, I noticed a couple of odd things. First, it very rarely fires all twelve torpedoes at once. It would go on an attack run, fire torpedoes, then veer off. Digging in fight.attack.object.fighter.bigtarget.xml, found that it's programmed to do just that:

Code: Select all

          <move_to object="this.ship" destination="$bigtarget" flightbehaviour="flightbehaviour.bigfight" forcesteering="true" >
            <position object="$component"/>
            <interrupt_after_time time="40s" />
            <interrupt>
              <conditions>
                <check_any>
                  <event_object_destroyed object="$component" />
                  <event_object_launched_missile object="this.ship" />
                </check_any>
              </conditions>
            </interrupt>
          </move_to>
Because the four sets of torpedoes each have different ranges and reload rates, it would almost always only fire four torpedoes, then veer off. So I'm assuming that this is working as intended.

When I changed the torpedo ranges to all fire at the same range, I then noticed that some of the torpedoes would fly right through the target. Digging in the fight script again, found that fighters are programmed to target surface components rather than the hull. It seems that if a component is destroyed while a missile is flying towards it, the missile will fly right through the whole ship.

Turns out that my disappointment with the Drostan stemmed from a misunderstanding of its purpose. OOZ, it used to be a monster that one-shotted capital ships. While it still does huge damage OOZ, this is no longer the case. IZ, however, it's a surgical strike specialist. It cripples a target by systematically removing its surface components. As such, seems ok. Its fragility works against it in this case, however. I could test it by replacing its close range weapons with low-yield swarmers to increase its effectiveness close range, but that seems funny. Maybe high-yield dumbfires?

Sparky Sparkycorp
Moderator (English)
Moderator (English)
Posts: 8074
Joined: Tue, 30. Mar 04, 12:28
x4

Post by Sparky Sparkycorp » Wed, 4. Mar 15, 09:14

If I was designing the Drostan an I'd ditch it's 2 km torpedoes all together and ask the pilot to try and weave about a bit while maintaining range like a Balor with the CAIO mod. DPS would be lower but it would try to avoid suiciding into Hailstorm range and be near the edge of HIT/MA and Ragefire range. Ideally it would be getting missile off but still be vulnerable to heavy armed or non-solo weaker capitals. Does that make some sense?

Post Reply

Return to “X Rebirth - Scripts and Modding”