[MOD] Miscellaneous IZ Combat Tweaks
Moderators: Moderators for English X Forum, Scripting / Modding Moderators
A lot of the changes in this last revision are in MICT_supp2, and that should be compatible with CES.
Didn't port the changes to the movement script to the CES edition because CES handles targeting. So ships will go after the furthermost station modules, but CES probably won't have them on the targeting list (or might. come to think of it, am not sure.) so won't fire.
Guess could add the signal to attack immediately. I hesitate though because then, the two scripts (MICT and MICT_CES) will start diverging widely, and will start becoming a pain to maintain. (Rather than maintaining a mod and a version of the same mod with a change, it will start becoming like maintaining two entirely different mods. The likelihood of errors creeping in will be much higher in that case.)
The changes to the DO script won't apply, of course, since CES does that in CES + MICT_CES.
Didn't port the changes to the movement script to the CES edition because CES handles targeting. So ships will go after the furthermost station modules, but CES probably won't have them on the targeting list (or might. come to think of it, am not sure.) so won't fire.
Guess could add the signal to attack immediately. I hesitate though because then, the two scripts (MICT and MICT_CES) will start diverging widely, and will start becoming a pain to maintain. (Rather than maintaining a mod and a version of the same mod with a change, it will start becoming like maintaining two entirely different mods. The likelihood of errors creeping in will be much higher in that case.)
The changes to the DO script won't apply, of course, since CES does that in CES + MICT_CES.
-
- Posts: 122
- Joined: Sat, 23. Nov 13, 20:33
If I'm spawning NPCs on game start and manually starting their scripts, do I need to specifically start MICT Scripts? My starting NPCs are all 4 stars in their respective stats so I expect them all to be MICT capable.
Here's what I'm currently doing (mostly a modification of the CWIR game start):
I guess the same goes for the AutoCrew mod I'm using. Crew generated by Auto Crew will be between 3-5 stars so some may be MICT compatible but others aren't until they're trained up using the AutoTrain mod.
Here's what I'm currently doing (mostly a modification of the CWIR game start):
Code: Select all
<start_script object="$titurel4Commander" name="'player.default'"/>
<start_script object="$titurel4DefenceNPC" name="'fight.defend.capital'"/>
<start_script object="$titurel4Engineer" name="'engineer.ai'"/>
-
- Posts: 122
- Joined: Sat, 23. Nov 13, 20:33
Yup. The main AI scripts that MICT uses are the captain combat script, the defence officer script, the escort script, and the engineer script. The captain, DO, and escort scripts are separate from the vanilla scripts and are called from the same points that their vanilla counterparts are called.
The captain combat script is called from fight.attack.object which is where the other combat movement scripts are selected when a ship enters combat.
The DO script is called from fight.defend.capital.
The escort script is called from move.escort from which vanilla branches out into the other escort scripts.
Didn't feel that the changes in the engineer script are extensive enough to warrant branching it out so that works by directly diff patching engineer.ai.
The captain combat script is called from fight.attack.object which is where the other combat movement scripts are selected when a ship enters combat.
The DO script is called from fight.defend.capital.
The escort script is called from move.escort from which vanilla branches out into the other escort scripts.
Didn't feel that the changes in the engineer script are extensive enough to warrant branching it out so that works by directly diff patching engineer.ai.
-
- Posts: 1244
- Joined: Fri, 8. Nov 13, 22:35
Hm... i have a couple really critical issues. :/
1. Defense Officer settings don't do much. On defensive they still keep killing ships, they don't stop with their assigned target. Also drones get launched no matter if defensive or not.
2. My Xenon I's suddenly don't use missiles anymore. (Not sure if that goes for other missile boats aswell)
3. 1 fight actually streched over 8 times the enemy cap jumped away. And my cap jumped after it.
4. It's kinda odd when i tell my ships to patroll a sector or kill things in a sector and they jump-follow an enemy in the neighbour system and fight him there, while completely ignoring their purpose. :/
Edit: I found the issue of the missiles:
MICT.fight.attack.object.capital.xml:
<shoot_at object="this.ship" target="$target" slot="tag.secondary_slot" tolerance="15.0deg" locktarget="true" weapontype="combat" additional_targets="$MICT_PrimTargets.list"/>
U set a 15 degree limit for secondary cap weapons, which are usually missiles. That means they will almost never be able to use them.
Edit2: Seems bad DOs regulary launch missile slavos while experienced ones only fire missiles now and then (after fixing the tolerance).
I didn't dig into your files deep enough yet, but maybe the vanilla script calls the "shoot secondary" command alot more often than your mict script.
Maybe this can be improved to get experienced DOs to use missiles effectivly too.
Edit3:
Regarding the ship going on a rampage even on defensive.
Maybe i'm just rusty in coding, but ... in MICT.fight.attack.object.capital.xml at the end of the script when checking if other targets should be allowed:
I couldn't find anything that stops the ship from going on a rampage because $allowothertargets simply stays enabled.
If i'm just wrong, let me know. As i said, has been years since i worked with this code.
Edit4: Hmm, seems ships don't move, but their turrets aggress everything red even on defensive without any aggression towards themselfs.
Edit5: There also seems to be a problem with fighter squads. In Vanilla fighters (m) engage the enemy, if one set as squadleader gets the order to engage. However with this mod installed, they simply don't.
They keep "escorting" without attacking until the squadleader dies and then try to follow a nonexistent ship.
1. Defense Officer settings don't do much. On defensive they still keep killing ships, they don't stop with their assigned target. Also drones get launched no matter if defensive or not.
2. My Xenon I's suddenly don't use missiles anymore. (Not sure if that goes for other missile boats aswell)
3. 1 fight actually streched over 8 times the enemy cap jumped away. And my cap jumped after it.
4. It's kinda odd when i tell my ships to patroll a sector or kill things in a sector and they jump-follow an enemy in the neighbour system and fight him there, while completely ignoring their purpose. :/
Edit: I found the issue of the missiles:
MICT.fight.attack.object.capital.xml:
<shoot_at object="this.ship" target="$target" slot="tag.secondary_slot" tolerance="15.0deg" locktarget="true" weapontype="combat" additional_targets="$MICT_PrimTargets.list"/>
U set a 15 degree limit for secondary cap weapons, which are usually missiles. That means they will almost never be able to use them.
Edit2: Seems bad DOs regulary launch missile slavos while experienced ones only fire missiles now and then (after fixing the tolerance).
I didn't dig into your files deep enough yet, but maybe the vanilla script calls the "shoot secondary" command alot more often than your mict script.
Maybe this can be improved to get experienced DOs to use missiles effectivly too.
Edit3:
Regarding the ship going on a rampage even on defensive.
Maybe i'm just rusty in coding, but ... in MICT.fight.attack.object.capital.xml at the end of the script when checking if other targets should be allowed:
I couldn't find anything that stops the ship from going on a rampage because $allowothertargets simply stays enabled.
If i'm just wrong, let me know. As i said, has been years since i worked with this code.
Edit4: Hmm, seems ships don't move, but their turrets aggress everything red even on defensive without any aggression towards themselfs.
Edit5: There also seems to be a problem with fighter squads. In Vanilla fighters (m) engage the enemy, if one set as squadleader gets the order to engage. However with this mod installed, they simply don't.
They keep "escorting" without attacking until the squadleader dies and then try to follow a nonexistent ship.
Hey iforgotmysocks. Good to see you're back. I think I started about the time you left so we haven't really met, but I've heard good things.
First off: which distribution did you go with? Did you get the mod from the Steam Workshop or the Nexus? If the Nexus, which optional files did you install with it?
set to Attack,
or the ship is attacked.
Once they go into the attack script, they stay there until they run out of enemies to attack.
If all of the attack actions in the attack script are made dependent on the DO setting, and they come under attack, they will endlessly loop between fight.defend.capital and fight.attack.object.capital without doing anything.
It would be possible, as you said, to make $allowothertargets dependent on that setting, in which case they will not add anything to their target lists if the DO setting is then set to Defend. But why would you want to do that? They will then still keep attacking the things in their target list and ignore any additional targets unless they shoot first.
Another way would be to make the attack script quit if the DO setting is set to Defend, and keep it there by making the setting an absolute requirement for getting into the attack script in the first place. But in that case, attacked ships won't fire back at all unless their DO's setting is changed.
Particular to the Xenon I, the torpedo launchers are on the sides, and your captain might have judged that they would do more damage from a different angle, hence not firing their torpedoes. As I'm writing this however, the thought occurred to me that they might orient a different side to their target but still try and maintain torpedo range, in which case they won't fire. Was that the case?
First off: which distribution did you go with? Did you get the mod from the Steam Workshop or the Nexus? If the Nexus, which optional files did you install with it?
No, DOs do not stop shooting once they have started. Most of the time, they're running fight.defend.capital, and only go into fight.attack.object.capital (or the MICT version in this case) if they are either:iforgotmysocks wrote:1. Defense Officer settings don't do much. On defensive they still keep killing ships, they don't stop with their assigned target.
set to Attack,
or the ship is attacked.
Once they go into the attack script, they stay there until they run out of enemies to attack.
If all of the attack actions in the attack script are made dependent on the DO setting, and they come under attack, they will endlessly loop between fight.defend.capital and fight.attack.object.capital without doing anything.
It would be possible, as you said, to make $allowothertargets dependent on that setting, in which case they will not add anything to their target lists if the DO setting is then set to Defend. But why would you want to do that? They will then still keep attacking the things in their target list and ignore any additional targets unless they shoot first.
Another way would be to make the attack script quit if the DO setting is set to Defend, and keep it there by making the setting an absolute requirement for getting into the attack script in the first place. But in that case, attacked ships won't fire back at all unless their DO's setting is changed.
Yes, drone launch is not connected to the DO setting either. That said, a ship with a DO set to defend shouldn't go into the attack script in the first place unless set to attack or the ship is attacked.iforgotmysocks wrote:Also drones get launched no matter if defensive or not.
This was done because of how capital ship torpedoes were changed in MICT, which won't make as much sense if you don't have those changes. (Hence my question above as to which distribution you went with.) In the full package, torpedoes are extremely long-range, very destructive, and very inaccurate, so they should only be fired if there is a reasonable chance of hitting the target. In this case, it is dependent on the DO setting because a way to control when the DO fires those torpedoes is necessary due to their nature, and their role.iforgotmysocks wrote:2. My Xenon I's suddenly don't use missiles anymore. (Not sure if that goes for other missile boats aswell)
Edit: I found the issue of the missiles:
MICT.fight.attack.object.capital.xml:
<shoot_at object="this.ship" target="$target" slot="tag.secondary_slot" tolerance="15.0deg" locktarget="true" weapontype="combat" additional_targets="$MICT_PrimTargets.list"/>
Particular to the Xenon I, the torpedo launchers are on the sides, and your captain might have judged that they would do more damage from a different angle, hence not firing their torpedoes. As I'm writing this however, the thought occurred to me that they might orient a different side to their target but still try and maintain torpedo range, in which case they won't fire. Was that the case?
If they're both running MICT, or if the enemy ship tries to vanilla flee, yes, that can happen.iforgotmysocks wrote:3. 1 fight actually streched over 8 times the enemy cap jumped away. And my cap jumped after it.
I actually recently changed that back, but only for escorts. The squadron commander should only stay as long as the target is within radar range. If that happens to be in the next zone over, why should that matter? They are authorized to attack and they found a target.iforgotmysocks wrote:4. It's kinda odd when i tell my ships to patroll a sector or kill things in a sector and they jump-follow an enemy in the neighbour system and fight him there, while completely ignoring their purpose. :/
As long as they're oriented properly, they fire often enough that I had to add an additional restriction that you can control.iforgotmysocks wrote:U set a 15 degree limit for secondary cap weapons, which are usually missiles. That means they will almost never be able to use them.
If you have a bad DO, chances are your ship's crew isn't using MICT at all. That means that they would use the old tolerances. (I believe that is full 360 degrees? So they would fire whenever the weapon cycles regardless if they can actually hit.)iforgotmysocks wrote:Edit2: Seems bad DOs regulary launch missile slavos while experienced ones only fire missiles now and then (after fixing the tolerance).
I didn't dig into your files deep enough yet, but maybe the vanilla script calls the "shoot secondary" command alot more often than your mict script.
If firing anytime regardless of chance to hit is an improvement? Sure.iforgotmysocks wrote:Maybe this can be improved to get experienced DOs to use missiles effectivly too.
Above. And yes, $allowothertargets isn't connected to the DO attack/defend setting.iforgotmysocks wrote:Edit3:
Regarding the ship going on a rampage even on defensive.
Maybe i'm just rusty in coding, but ... in MICT.fight.attack.object.capital.xml at the end of the script when checking if other targets should be allowed:
I couldn't find anything that stops the ship from going on a rampage because $allowothertargets simply stays enabled.
If i'm just wrong, let me know. As i said, has been years since i worked with this code.
Sounds like they aren't running MICT. Is this with your example above with the bad DO?iforgotmysocks wrote:Edit4: Hmm, seems ships don't move, but their turrets aggress everything red even on defensive without any aggression towards themselfs.
You either went with the Nexus distro and didn't install MICT_supp2 (which is the escort package), or your ships aren't running MICT.iforgotmysocks wrote:Edit5: There also seems to be a problem with fighter squads. In Vanilla fighters (m) engage the enemy, if one set as squadleader gets the order to engage. However with this mod installed, they simply don't.
They keep "escorting" without attacking until the squadleader dies and then try to follow a nonexistent ship.
-
- Posts: 1244
- Joined: Fri, 8. Nov 13, 22:35
Hey there, ya, i guess. Was quite tired back then. Keeping everything up to date while the game didn't rly get any better dispite all the frequent patches kinda drove me away. Nice to meet you know, though.w.evans wrote:Hey iforgotmysocks. Good to see you're back. I think I started about the time you left so we haven't really met, but I've heard good things.
Thought i'm gonna give it another try, now that 4.0 and the expansions are out.
I tried both but ended up testing the combined version further.w.evans wrote:First off: which distribution did you go with? Did you get the mod from the Steam Workshop or the Nexus? If the Nexus, which optional files did you install with it?
Honestly, talking with me too much about the different jobs that the ai scripts have is pointless, i don't remember much at all and seeing how many bugs are still around, i'm not gonna start again. ^^w.evans wrote:No, DOs do not stop shooting once they have started. Most of the time, they're running fight.defend.capital, and only go into fight.attack.object.capital (or the MICT version in this case) if they are either:
set to Attack,
or the ship is attacked.
Once they go into the attack script, they stay there until they run out of enemies to attack.
If all of the attack actions in the attack script are made dependent on the DO setting, and they come under attack, they will endlessly loop between fight.defend.capital and fight.attack.object.capital without doing anything.
It would be possible, as you said, to make $allowothertargets dependent on that setting, in which case they will not add anything to their target lists if the DO setting is then set to Defend. But why would you want to do that? They will then still keep attacking the things in their target list and ignore any additional targets unless they shoot first.
Another way would be to make the attack script quit if the DO setting is set to Defend, and keep it there by making the setting an absolute requirement for getting into the attack script in the first place. But in that case, attacked ships won't fire back at all unless their DO's setting is changed.
If i'm not mistaken, the vanilla script actually stops firing with a defensive DO, when the attacking ship was destroyed, even if there are more enemies around (and commands like "hold position" make them stop even with the engaged enemy still being alive). And i think ur script even started firing on defensive without any aggression happening.
That stuff just drove me mad when i tried ship boarding. ^^ And on defense u kinda only wanna shoot what shoots you. Otherwise the defensive mode would be kinda pointless. That was my thought there.
Hm, if i recall right u stated somewhere that drones wouldn't be launched with a defensive DO setting. ^^ - Gonna look it up later.w.evans wrote:Yes, drone launch is not connected to the DO setting either. That said, a ship with a DO set to defend shouldn't go into the attack script in the first place unless set to attack or the ship is attacked.
Ah i see. I suspected something like that. However, if you wanna keep it "balanced" you should change the regular script too.w.evans wrote:This was done because of how capital ship torpedoes were changed in MICT, which won't make as much sense if you don't have those changes. (Hence my question above as to which distribution you went with.) In the full package, torpedoes are extremely long-range, very destructive, and very inaccurate, so they should only be fired if there is a reasonable chance of hitting the target. In this case, it is dependent on the DO setting because a way to control when the DO fires those torpedoes is necessary due to their nature, and their role.
Particular to the Xenon I, the torpedo launchers are on the sides, and your captain might have judged that they would do more damage from a different angle, hence not firing their torpedoes. As I'm writing this however, the thought occurred to me that they might orient a different side to their target but still try and maintain torpedo range, in which case they won't fire. Was that the case?
Because right now a bad DO, who is not using ur script and flying an I will destroy an I with a DO using ur script just because he can spam the 2 variations of missilelauncher types and your pilot can not.
(I don't know how many other Cap ships actually suffer from that missile restriction, so maybe it't not much of an issue, concidering the i was never ment to be owned by the player)
I was just suggesting that a cooldown on the jd might be an idea cause it rly wasn't fun chasing down those ships the entire time. ^^iforgotmysocks wrote:3. 1 fight actually streched over 8 times the enemy cap jumped away. And my cap jumped after it.
w.evans wrote:If they're both running MICT, or if the enemy ship tries to vanilla flee, yes, that can happen.
Well, the idea to patroll a sector is kinda to keep it safe. ^^w.evans wrote:I actually recently changed that back, but only for escorts. The squadron commander should only stay as long as the target is within radar range. If that happens to be in the next zone over, why should that matter? They are authorized to attack and they found a target.
If your caps jump off and fight some enemies in another system u couldn't care less about while ur stations get wrecked, it's a little silly.
Nah all my ships had a 5 star crew and they used the old tolerance, cause i changed it back to test further. Thats when i noticed that caps running the vanilla script still are able to fire missiles alot more frequently than ships running ur script. But that doesn't rly matter much then, anyway. ^^w.evans wrote:If you have a bad DO, chances are your ship's crew isn't using MICT at all. That means that they would use the old tolerances. (I believe that is full 360 degrees? So they would fire whenever the weapon cycles regardless if they can actually hit.)
All with ships running ur script. In vanilla, that actually wouldn't happen, cause they do stop firing. ^^iforgotmysocks wrote:Edit4: Hmm, seems ships don't move, but their turrets aggress everything red even on defensive without any aggression towards themselfs.
w.evans wrote:Sounds like they aren't running MICT. Is this with your example above with the bad DO?
Was the steam version and yes, they did. (Simple fighters though, so pilots also with a fighter-pilot as leader. Not sure if you adjusted them, cause with ur script they can't attack.) ^^iforgotmysocks wrote:Edit5: There also seems to be a problem with fighter squads. In Vanilla fighters (m) engage the enemy, if one set as squadleader gets the order to engage. However with this mod installed, they simply don't.
They keep "escorting" without attacking until the squadleader dies and then try to follow a nonexistent ship.
w.evans wrote:You either went with the Nexus distro and didn't install MICT_supp2 (which is the escort package), or your ships aren't running MICT.
Hm, i hope u could follow some of my thoughts there.
I also hope to be around long enough to see where this mod is going. I like the start, but right now i feel more like i wanna keep half of the vanilla options and half of what ur script is offering. xD
Hope you deactivated the Nexus install then. Come to think of it, nothing bad should happen if both are installed. Part of the mod would be loaded from one folder, part from the other, but since they're identical, should still work. But haven't tried so don't know.iforgotmysocks wrote:I tried both but ended up testing the combined version further.w.evans wrote:First off: which distribution did you go with? Did you get the mod from the Steam Workshop or the Nexus? If the Nexus, which optional files did you install with it?
That bit was actually stolen straight from vanilla. Been trying to keep things working with vanilla until i bother to change something so that all the rest of it keeps vanilla functionality at least.iforgotmysocks wrote:If i'm not mistaken, the vanilla script actually stops firing with a defensive DO, when the attacking ship was destroyed, even if there are more enemies around (and commands like "hold position" make them stop even with the engaged enemy still being alive). And i think ur script even started firing on defensive without any aggression happening.
Looking at the vanilla script, $allowothertargets is true by default and is called from fight.defend.capital with allowothertargets set to "@this.$config_attackenemies or @$allowothertargets". Didn't change that. It does have a bunch of interrupt handlers that configure $allowothertargets depending on different conditions, the DO Attack setting being one of them, but those should also hold true with MICT since i didn't change those.
Unless. This looks interesting:
Code: Select all
<handler comment="update the configuration attack">
<conditions>
<event_object_signalled object="this" param="'update config'" />
</conditions>
<actions>
<remove_value name="$allowothertargets" />
<remove_value name="$attacker" />
<set_value name="$checkrelation" exact="true" comment="check relation by default" />
<abort_called_scripts />
</actions>
</handler>
Won't stop them going postal if the DO was set to 'attack' to begin with though.
Yeah. There actually is code in there that makes them stop firing when their target is being boarded, but i kept it commented out because i don't really like the idea. The best implementation of that that I'm aware of was in cicero111's Better Turrets where, if DO is set to defend and a target is being boarded, they would keep firing but only on surface elements. I think beaver1981's CES has something similar.iforgotmysocks wrote:That stuff just drove me mad when i tried ship boarding. ^^ And on defense u kinda only wanna shoot what shoots you. Otherwise the defensive mode would be kinda pointless. That was my thought there.
You could activate it yourself if you want to play around with it. It's the bit that starts with:
<do_elseif value="@$enemies.{$i}.boarder">
Was connected with the "Resupply Drones" checkbox in the DO's settings, but that checkbox was taken out with 4.0.iforgotmysocks wrote:Hm, if i recall right u stated somewhere that drones wouldn't be launched with a defensive DO setting. ^^ - Gonna look it up later.
You mean the change to the torpedo? Wasn't so much a balance thing as much as i wanted to change its role somewhat drastically.iforgotmysocks wrote:Ah i see. I suspected something like that. However, if you wanna keep it "balanced" you should change the regular script too.
If you mean the DO firing, having them fire all the time with those torpedoes is dangerous, to any friendly factions or stations that might be close by and to your own ships. (which eMYNOCK would probably attest to)
Just a small correction. They would fire the same torpedoes. Launcher's the same too.iforgotmysocks wrote:Because right now a bad DO, who is not using ur script and flying an I will destroy an I with a DO using ur script just because he can spam the 2 variations of missilelauncher types and your pilot can not.
Think the fix in this case would be that the MICT ship should avoid those teeth, unless that IS the I's weakest spot. That thing's bristling with weaponry.
None. Not in vanilla anyway. Just the Balor and the I.iforgotmysocks wrote:(I don't know how many other Cap ships actually suffer from that missile restriction, so maybe it't not much of an issue, concidering the i was never ment to be owned by the player)
They actually do have a jump drive cool down. Think the only place that's skipped is in the escort script for escorts who have to jump to keep up. That's sorta cheaty though.iforgotmysocks wrote:I was just suggesting that a cooldown on the jd might be an idea cause it rly wasn't fun chasing down those ships the entire time. ^^
Agreed. Squadron leader (or the MICT ship, if not in a squadron) shouldn't pursue beyond radar range, and should go back to patrol when it's done.iforgotmysocks wrote:Well, the idea to patroll a sector is kinda to keep it safe. ^^
If your caps jump off and fight some enemies in another system u couldn't care less about while ur stations get wrecked, it's a little silly.
If it doesn't, got a save? Have some time to debug this weekend.
iforgotmysocks wrote:Nah all my ships had a 5 star crew and they used the old tolerance, cause i changed it back to test further. Thats when i noticed that caps running the vanilla script still are able to fire missiles alot more frequently than ships running ur script. But that doesn't rly matter much then, anyway. ^^
Code: Select all
<do_if value="@this.$config_attackenemies">
<shoot_at object="this.ship" target="$target" slot="tag.secondary_slot" tolerance="15.0deg" locktarget="true" weapontype="combat" additional_targets="$MICT_PrimTargets.list"/>
</do_if>
Were they in a position to fire? They used to move around a lot more, but that was changed a while back. They now tend to try and find a good position and orientation, and stay there relative to their target.iforgotmysocks wrote:All with ships running ur script. In vanilla, that actually wouldn't happen, cause they do stop firing. ^^iforgotmysocks wrote:Edit4: Hmm, seems ships don't move, but their turrets aggress everything red even on defensive without any aggression towards themselfs.
w.evans wrote:Sounds like they aren't running MICT. Is this with your example above with the bad DO?
If they weren't, could this be the case with the I i described earlier where it goes to torpedo range but with some other side oriented?
Otherwise, it's a bug and should be fixed. Save would be nice. Haven't seen that happen, and don't know what could cause it.
They would if the leader of the squad is a MICT ship (4/4/4 or better skills). In this case, wanted them to stick with their squad until they're fairly close to their target, so they use their leader's radar and don't engage until they come to within half of their leader's radar range.iforgotmysocks wrote:Was the steam version and yes, they did. (Simple fighters though, so pilots also with a fighter-pilot as leader. Not sure if you adjusted them, cause with ur script they can't attack.) ^^
Oh crap. Found it. Fix coming up.
Heh. Fair enough. To be honest though, I haven't actively been working on the mod since the last update, although that wasn't very long ago. Not much more planned, although there are some optimizations in the DO script that i've been meaning to do.iforgotmysocks wrote:Hm, i hope u could follow some of my thoughts there.
I also hope to be around long enough to see where this mod is going. I like the start, but right now i feel more like i wanna keep half of the vanilla options and half of what ur script is offering. xD
edit: about that boarding thing, it's missing this bit at the end, right before that do_elseif closes:
<remove_from_group group="$enemies" object="$enemies.{$i}"/>
Getting rid of the <break/> right before the end of that do_elseif makes it so that they don't stop firing on anything else hostile in the vicinity.
-
- Posts: 1244
- Joined: Fri, 8. Nov 13, 22:35
Course i did. ^^w.evans wrote:Hope you deactivated the Nexus install then. Come to think of it, nothing bad should happen if both are installed. Part of the mod would be loaded from one folder, part from the other, but since they're identical, should still work. But haven't tried so don't know.
Hm, gonna test again then, was pretty sure about it though.w.evans wrote:That bit was actually stolen straight from vanilla. Been trying to keep things working with vanilla until i bother to change something so that all the rest of it keeps vanilla functionality at least.
Looking at the vanilla script, $allowothertargets is true by default and is called from fight.defend.capital with allowothertargets set to "@this.$config_attackenemies or @$allowothertargets". Didn't change that. It does have a bunch of interrupt handlers that configure $allowothertargets depending on different conditions, the DO Attack setting being one of them, but those should also hold true with MICT since i didn't change those.
Unless. This looks interesting:No. Thought the signal might be called from the captain's attack script and i didn't include it, but it isn't. Which means that this signal, wherever it's called from, should still be called and work. It would mean that the DO should stop firing if he/she was set to 'defend' to begin with then the ship was ordered to do something other than attack or patrol.Code: Select all
<handler comment="update the configuration attack"> <conditions> <event_object_signalled object="this" param="'update config'" /> </conditions> <actions> <remove_value name="$allowothertargets" /> <remove_value name="$attacker" /> <set_value name="$checkrelation" exact="true" comment="check relation by default" /> <abort_called_scripts /> </actions> </handler>
Won't stop them going postal if the DO was set to 'attack' to begin with though.
Cause i basicly boarded my entire fleet by simply giving my ships the "hold position" command and they'd stop. With ur script u can only try to make them jump out and hope they leave fast enough. ^^
Gonna check it again.
That was actually just about the defense mode, not about boarding. ^^iforgotmysocks wrote:That stuff just drove me mad when i tried ship boarding. ^^ And on defense u kinda only wanna shoot what shoots you. Otherwise the defensive mode would be kinda pointless. That was my thought there.w.evans wrote:Yeah. There actually is code in there that makes them stop firing when their target is being boarded, but i kept it commented out because i don't really like the idea. The best implementation of that that I'm aware of was in cicero111's Better Turrets where, if DO is set to defend and a target is being boarded, they would keep firing but only on surface elements. I think beaver1981's CES has something similar.
You could activate it yourself if you want to play around with it. It's the bit that starts with:
<do_elseif value="@$enemies.{$i}.boarder">
Why would a ship aggress more enemy ships and taking on more fire if they wanna stay defensive?
Thats why i'm under the impression that they should stop firing once the target is gone and noone else is shooting it.
Nah, i ment I's themselfs. Read my post again, i think u were missing the point. Right now I's with the bad DOs(vanilla) script are stronger cause they can apply their missile and torp dps (around a third) while MICT DOs can't use them at all if not perfectly aligned down.iforgotmysocks wrote:Ah i see. I suspected something like that. However, if you wanna keep it "balanced" you should change the regular script too.w.evans wrote:You mean the change to the torpedo? Wasn't so much a balance thing as much as i wanted to change its role somewhat drastically.
If you mean the DO firing, having them fire all the time with those torpedoes is dangerous, to any friendly factions or stations that might be close by and to your own ships. (which eMYNOCK would probably attest to)
So basicly if the game spawns stronger I's which would apply ur script, they'd loose a shittone of damage, while the "worse" ones still have it.
Nooot anymore. Gonna try to reproduce it soon-ish.w.evans wrote:Agreed. Squadron leader (or the MICT ship, if not in a squadron) shouldn't pursue beyond radar range, and should go back to patrol when it's done.
If it doesn't, got a save? Have some time to debug this weekend.
That happend to a Fulmekron actually and ya, it was in position to fire. ^^w.evans wrote:Sounds like they aren't running MICT. Is this with your example above with the bad DO?
Were they in a position to fire? They used to move around a lot more, but that was changed a while back. They now tend to try and find a good position and orientation, and stay there relative to their target.iforgotmysocks wrote:All with ships running ur script. In vanilla, that actually wouldn't happen, cause they do stop firing. ^^
If they weren't, could this be the case with the I i described earlier where it goes to torpedo range but with some other side oriented?
Otherwise, it's a bug and should be fixed. Save would be nice. Haven't seen that happen, and don't know what could cause it.
Don't have them anymore, overwrote them when i was done testing. Gonna make new ones and send them your way.
Alright, gonna check out the boarding stuff.w.evans wrote:Heh. Fair enough. To be honest though, I haven't actively been working on the mod since the last update, although that wasn't very long ago. Not much more planned, although there are some optimizations in the DO script that i've been meaning to do.
edit: about that boarding thing, it's missing this bit at the end, right before that do_elseif closes:
<remove_from_group group="$enemies" object="$enemies.{$i}"/>
Getting rid of the <break/> right before the end of that do_elseif makes it so that they don't stop firing on anything else hostile in the vicinity.
Thanks for your help.
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.
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.
Hello w.evans.
supp2
What is this for ?
It is necessary or not?
supp2
Code: Select all
w.e_mict
aiscripts
fight.attack.object.fighter.bigtarget.xml
fight.attack.object.fighter.xml
MICT.move.escort.capital.xml
move.escort.capital.xml
move.escort.xml
move.generic.xml
move.refuel.xml
player.default.xml
<DIR> w.e_mict\extensions\carriers\aiscripts\
move.generic.carrier.xml
It is necessary or not?
Code: Select all
<DIR> w.e_mict\extensions\carriers\aiscripts\
move.generic.carrier.xml
19.July 2016 - Miscellaneous IZ Combat Tweaks updated to v0.69
Slight performance optimization of the Defence Officer script.
.......
Please let me know if this should be optimized further, particularly for people who are using MICT or the MCT with CWIR. Further optimization will, however, start eating into functionality.
Slight performance optimization of the Defence Officer script.
.......
Please let me know if this should be optimized further, particularly for people who are using MICT or the MCT with CWIR. Further optimization will, however, start eating into functionality.