[MOD] Miscellaneous OOZ Combat Tweaks

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

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

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

quickly looked this up: (Attacker is this / target is $target )

Code: Select all

            <create_list name="$quadrant" exact="6" />
            <is_in_quadrant object="this" target="$target" result="$quadrant.{1}" front="true" />
            <is_in_quadrant object="this" target="$target" result="$quadrant.{2}" back="true" />
            <is_in_quadrant object="this" target="$target" result="$quadrant.{3}" left="true" />
            <is_in_quadrant object="this" target="$target" result="$quadrant.{4}" right="true" />
            <is_in_quadrant object="this" target="$target" result="$quadrant.{5}" up="true" />
            <is_in_quadrant object="this" target="$target" result="$quadrant.{6}" down="true" />
            
            <do_if value="$quadrant.{1}" >
              <set_value name="$output" exact="$output + 'F'" />
            </do_if>
            <do_elseif value="$quadrant.{2}" >
              <set_value name="$output" exact="$output + 'B'" />
            </do_elseif>
            <do_else>
              <set_value name="$output" exact="$output + '-'" />
            </do_else>
            <do_if value="$quadrant.{3}" >
              <set_value name="$output" exact="$output + 'L'" />
            </do_if>
            <do_elseif value="$quadrant.{4}" >
              <set_value name="$output" exact="$output + 'R'" />
            </do_elseif>
            <do_else>
              <set_value name="$output" exact="$output + '-'" />
            </do_else>
            <do_if value="$quadrant.{5}" >
              <set_value name="$output" exact="$output + 'U'" />
            </do_if>
            <do_elseif value="$quadrant.{6}" >
              <set_value name="$output" exact="$output + 'D'" />
            </do_elseif>
            <do_else>
              <set_value name="$output" exact="$output + '-'" />
            </do_else>
            
            <remove_value name="$quadrant" />
didnt find another way on a quick search.. it appends 3 Letters to the $output ( Front or Back, Left or Right, Up or Down - or a - if its in neither one )
Quadrants in opposite directions are mutually exclusive, so i think they can share the same place
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans »

Sparky Sparkycorp wrote:In case it helps, I'm pretty much the recent info about ship angles mattering came from a Dev such as Xenon_Slayer or Lino (it wasn't a guess by me).
Yes, sorry I doubted. It was in the link that Xenon_Slayer gave about changes in OOZ combat.

Objects can now deal turret damage to a target from several sides at the same time (e.g up & left & forward), instead of just one
UniTrader wrote:it appends 3 Letters to the $output ( Front or Back, Left or Right, Up or Down - or a - if its in neither one )
Quadrants in opposite directions are mutually exclusive, so i think they can share the same place
Thanks! Hmm.
Xenon_Slayer wrote:I can shed a bit of light on how things stand at the moment (although I'm not near the code so it'll be brief and a bit vague).

Range to the target is not currently factored in, so you will not see that make a difference. The main reason for that is that pathing in low attention is so rudementary that it's simpler to just say 'target is in-range, fire'.

That said, we do take position into account when it comes to which turrets fire. A station/capship will not fire with all turret force at once. Depending on where the target is relative to it, it will use different groups of turrets. Given there are 6 'quadrants' a station may use 3 maximum sides of turrets to attack a target e.g. up, left, forward.

Take a look at libraries/parameters.xml. The XSD has some documentation on the different parameters so you get a better guage on what is factored into these calculations.
Thanks! I see that there's a new masstraffic node in there too that could be fun.

Ok, let's see what Uncle Xenon_Slayer gave us to play with for christmas:

Code: Select all

<lowattentioncombat>
  <attack 
    firingarea="36000000" 
    primaryweaponfactor="1.0" 
    secondaryweaponfactor="1.0" 
    turretfactor="1.0" 
    droneprimaryfactor="0.35"
    dronesecondaryfactor="0.20" 
    minspeed="100"/>

  <defence 
    maneouverfactor="0.42" 
    minspeed="50" 
    maxsize="500.0" 
    sizefactor="0.5" 
    capshipfactor="0.6" 
    dronedistractionfactor="0.003" 
    dronedamageamount="200000"/>
</lowattentioncombat>
de-linearized it for your viewing pleasure.
Sparky Sparkycorp
Moderator (English)
Moderator (English)
Posts: 8074
Joined: Tue, 30. Mar 04, 12:28
x4

Post by Sparky Sparkycorp »

No apology necessary! Just wanted to make sure my earlier lack of referencing wasn't missleading :)
w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans »

20.Feb.2015 - v0.03 is up!

Tweaker special!
* Inserted the new parameters from X:R v3.50 Beta 1 in ready-to-tweak format, but all commented out (in case any of you don't like to tweak.)
* Removed the Drostan nerf.
* Otherwise identical to v0.02

The following parameters were inserted for our tweaking pleasure by Egosoft:

Code: Select all

<attack firingarea="36000000" primaryweaponfactor="1.0" secondaryweaponfactor="1.0" turretfactor="1.0" droneprimaryfactor="0.35" dronesecondaryfactor="0.20" minspeed="100"/>
<defence maneouverfactor="0.42" minspeed="50" maxsize="500.0" sizefactor="0.5" capshipfactor="0.6" dronedistractionfactor="0.003" dronedamageamount="200000"/>
I was about to start playing with these new toys, when I thought to myself, wouldn't it be so much more fun if we all started poking at these new playthings together? So these were added to this mod in ready-to-tweak format:

Code: Select all

    <!--Effective area for turrets to fire from, limiting damage from very large obects-->
    <replace sel="parameters/lowattentioncombat/attack/@firingarea">36000000</replace>
    <!--Multiplier for primary weapon damage-->
    <replace sel="parameters/lowattentioncombat/attack/@primaryweaponfactor">1.0</replace>
    <!--Multiplier for secondary weapon damage-->
    <replace sel="parameters/lowattentioncombat/attack/@secondaryweaponfactor">1.0</replace>
    <!--Multiplier for turret damage-->
    <replace sel="parameters/lowattentioncombat/attack/@turretfactor">1.0</replace>
    <!--Multiplier for defence drone (not attack) primary damage-->
    <replace sel="parameters/lowattentioncombat/attack/@droneprimaryfactor">0.35</replace>
    <!--Multiplier for defence drone (not attack) primary damage-->
    <replace sel="parameters/lowattentioncombat/attack/@dronesecondaryfactor">0.20</replace>
    <!--The minimum speed of the attacker, used for evasion calculations. Slower or immobile objects will use this value-->
    <replace sel="parameters/lowattentioncombat/attack/@minspeed">100</replace>

    <!--Factor of how much of a difference the speed between the attacker and defender affects the hit chance-->
    <replace sel="parameters/lowattentioncombat/defence/@maneouverfactor">0.42</replace>
    <!--The minimum speed of the defender, used for evasion calculations. Slower or immobile objects will use this value-->
    <replace sel="parameters/lowattentioncombat/defence/@minspeed">50</replace>
    <!--The minimum size of the defender, used for hit chance calculations. Very large objects will use this value-->
    <replace sel="parameters/lowattentioncombat/defence/@maxsize">500.0</replace>
    <!--Factor of how much of a difference the object size and 'maxsize' affects the hit chance-->
    <replace sel="parameters/lowattentioncombat/defence/@sizefactor">0.5</replace>
    <!--Factor of how much turret damage against a defending capitalship is negated. Simulating the high attention wandering of capships which slows the battle-->
    <replace sel="parameters/lowattentioncombat/defence/@capshipfactor">0.6</replace>
    <!--Factor of how much damage a single defence drone will negate by distracting the attacker. Total result clamped between 0.5 and 1.0-->
    <replace sel="parameters/lowattentioncombat/defence/@dronedistractionfactor">0.003</replace>
    <!--Amount of damage needed to be dealt to destroy one defence drone-->
    <replace sel="parameters/lowattentioncombat/defence/@dronedamageamount">200000</replace>
Tweak parameters are in libraries\parameters.xml
Parameter descriptions are from libraries\parameters.xsd

All parameters are commented out in this mod by default. A commented-out line will look like this:

Code: Select all

<!--<replace sel="parameters/lowattentioncombat/defence/@dronedistractionfactor">0.003</replace>-->
Uncomment it to make it active:

Code: Select all

<replace sel="parameters/lowattentioncombat/defence/@dronedistractionfactor">0.003</replace>
And tweak the number to alter OOZ behavior:

Code: Select all

<replace sel="parameters/lowattentioncombat/defence/@dronedistractionfactor">1.000</replace>
(in this case, possibly making ships attacking drone-defended ships incapable of firing on the capital ship?)

Thank you to Xenon_Slayer for spelling out these changes in so much detail, and possibly for being instrumental in their being made!
w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans »

Reading this in more detail because I'm taking it as speaking from authority, and it might pay to make sure that I didn't miss anything.
Xenon_Slayer wrote:Range to the target is not currently factored in, so you will not see that make a difference.
Yup.
Xenon_Slayer wrote:The main reason for that is that pathing in low attention is so rudementary that it's simpler to just say 'target is in-range, fire'.
Disappointing, but I agree with the argument. Looking at the output from just five seconds of recording every single OOZ battle happening in the game makes me shudder at the thought of making the calculations involved more expensive than they have to be to make it convincing. (My computer is not aging very well.) Having said that, range would have been nice, especially with regard to something like the Drostan which has, unless I'm mistaken, 4 (or was it 5?) different weapons systems, each with distinct ranges. Still, it looks much better now than in 3.20, which really wasn't all that bad if you know what to expect, except for the Drostan.

And the Balor sucking OOZ (which it apparently still does, so I'm keeping the Balor range boost in the mod. @Mod users, do keep in mind that that range boost now increases the maximum range of the Drostan as well, since I took out the Drostan nerf in v0.03.)
Xenon_Slayer wrote:That said, we do take position into account when it comes to which turrets fire. A station/capship will not fire with all turret force at once. Depending on where the target is relative to it, it will use different groups of turrets. Given there are 6 'quadrants' a station may use 3 maximum sides of turrets to attack a target e.g. up, left, forward.
Which means I'll have to look for a way to hook into that quadrant information UniTrader gave us.
Xenon_Slayer wrote:Take a look at libraries/parameters.xml. The XSD has some documentation on the different parameters so you get a better guage on what is factored into these calculations.
Done. And thanks for documenting the new stuff so well for us!

@UniTrader, was scratching my head over that snippet that you posted, then realized that it's code that I could plug into my data spew thing. :facepalm: Plugging it in now.
w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans »

@UniTrader, I have it set up like this:

Code: Select all

  <create_list name="$quadrant" exact="6" />
  <is_in_quadrant object="this" target="$target" result="$quadrant.{1}" front="true" />
  <is_in_quadrant object="this" target="$target" result="$quadrant.{2}" back="true" />
  <is_in_quadrant object="this" target="$target" result="$quadrant.{3}" left="true" />
  <is_in_quadrant object="this" target="$target" result="$quadrant.{4}" right="true" />
  <is_in_quadrant object="this" target="$target" result="$quadrant.{5}" up="true" />
  <is_in_quadrant object="this" target="$target" result="$quadrant.{6}" down="true" />
  
  <do_if value="$quadrant.{1}" >
  	<set_value name="$UniQuadrant" exact="@$UniQuadrant + 'F'" />
  </do_if>
  <do_elseif value="$quadrant.{2}" >
  	<set_value name="$UniQuadrant" exact="@$UniQuadrant + 'B'" />
  </do_elseif>
  <do_else>
  	<set_value name="$UniQuadrant" exact="@$UniQuadrant + '-'" />
  </do_else>
  <do_if value="$quadrant.{3}" >
  	<set_value name="$UniQuadrant" exact="@$UniQuadrant + 'L'" />
  </do_if>
  <do_elseif value="$quadrant.{4}" >
  	<set_value name="$UniQuadrant" exact="@$UniQuadrant + 'R'" />
  </do_elseif>
  <do_else>
  	<set_value name="$UniQuadrant" exact="@$UniQuadrant + '-'" />
  </do_else>
  <do_if value="$quadrant.{5}" >
  	<set_value name="$UniQuadrant" exact="@$UniQuadrant + 'U'" />
  </do_if>
  <do_elseif value="$quadrant.{6}" >
  	<set_value name="$UniQuadrant" exact="@$UniQuadrant + 'D'" />
  </do_elseif>
  <do_else>
  	<set_value name="$UniQuadrant" exact="@$UniQuadrant + '-'" />
  </do_else>
  
  <remove_value name="$quadrant" />
  
  <show_notification caption="'=== Station OOZ ==='" details="'%1 fighting %2 OOZ \n at Quadrant: %7 \n at Range: %3 \n Attack Strength: %4 \n Firing Range: %5 \n has %6 combat drones'.[this.station.knownname, $target.knownname, this.station.distanceto.{$target}, $result, $stationfirerange, this.station.units.{unitcategory.defence}.count, $UniQuadrant]" queued="true" priority="9" sound="notification_generic"/>
  <write_to_logbook category="general" text="'%1 fighting %2 OOZ \n at Quadrant: %7 \n at Range: %3 \n Attack Strength: %4 \n Firing Range: %5 \n has %6 combat drones'.[this.station.knownname, $target.knownname, this.station.distanceto.{$target}, $result, $stationfirerange, this.station.units.{unitcategory.defence}.count, $UniQuadrant]"/>
but it doesn't work. I keep getting "at Quadrant: null---"

Looks like it should work.

Code: Select all

<xs:element name="is_in_quadrant">
  <xs:annotation>
    <xs:documentation>
      Check if target object is in all specified quadrants of object, returns false if target is not detected at all
    </xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:attributeGroup ref="action" />
    <xs:attribute name="object" type="expression" use="required">
      <xs:annotation>
        <xs:documentation>
          Scanning object
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="target" type="expression" use="required">
      <xs:annotation>
        <xs:documentation>
          The object to look for
        </xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="result" type="lvaluename" use="required" />
    <xs:attribute name="up" type="boolean" />
    <xs:attribute name="down" type="boolean" />
    <xs:attribute name="left" type="boolean" />
    <xs:attribute name="right" type="boolean" />
    <xs:attribute name="front" type="boolean" />
    <xs:attribute name="back" type="boolean" />
  </xs:complexType>
Don't know what I'm doing wrong.
Xenon_Slayer
EGOSOFT
EGOSOFT
Posts: 13123
Joined: Sat, 9. Nov 02, 11:45
x4

Post by Xenon_Slayer »

<is_in_quadrant object="this" target="$target" result="$quadrant.{1}" front="true" />

That should be this.ship or this.station

Another thing to note, after loading a savegame, there may a few seconds until fighting objects actually have quadrant information about each other. That may explain some of the 0 damage you're seeing.
w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans »

Right, I forgot! Because "this" is the defence officer. Thanks!

About the Titurel with 0 attack strength, I don't think so, and it's odd because attackstrength=0 is occurring only for Titurels attacking stations, and not in any other situations.

raw data:

<entry time="24.3579" text="HV Marauder Titurel fighting JSS URV Integration I OOZ
at Range: 9306
Attack Strength: 0
Firing Range: 7401
has 0 combat drones"/>
<entry time="34.4739" text="SS Marauder Titurel fighting PMC Metalworks Yard I OOZ
at Range: 4409
Attack Strength: 0
Firing Range: 7401
has 0 combat drones"/>
<entry time="37.2809" text="SS Marauder Titurel fighting HOA Cell Recharge Fac I OOZ
at Range: 12004
Attack Strength: 0
Firing Range: 7401
has 0 combat drones"/>
<entry time="37.744" text="SS Marauder Titurel fighting PMC Metalworks Yard I OOZ
at Range: 4495
Attack Strength: 0
Firing Range: 7401
has 0 combat drones"/>
<entry time="40.1021" text="SS Marauder Titurel fighting PMC Metalworks Yard I OOZ
at Range: 4561
Attack Strength: 0
Firing Range: 7401
has 0 combat drones"/>
<entry time="43.1314" text="SS Marauder Titurel fighting PMC Metalworks Yard I OOZ
at Range: 4645
Attack Strength: 0
Firing Range: 7401
has 0 combat drones"/>

and jumping forward:

<entry time="434.387" text="SS Marauder Titurel fighting AES Cell Fab Matrix I OOZ
at Range: 4994
Attack Strength: 0
Firing Range: 7401
has 0 combat drones"/>


And it only applies to Titurels attacking stations. Titurels seem to be attacking other things with no problems, even from very close to game start:

<entry time="24.575" text="SS Marauder Titurel fighting WF Food Trader Gigurum (Container) OOZ
at Range: 4929
Attack Strength: 16709.24
Firing Range: 7401
has 0 combat drones"/>
<entry time="30.3202" text="HV Marauder Titurel fighting FP High-Tech Freighter Lyranea OOZ
at Range: 8262
Attack Strength: 7192
Firing Range: 7401
has 0 combat drones"/>

And other things seem to be attacking stations with no problems:

<entry time="54.5929" text="HV Riot Squad Maelchon fighting JSS Hardware Supplier I OOZ
at Range: 4605
Attack Strength: 6000
Firing Range: 5000"/>

I really hope you're right and it's not a problem, though.
Sparky Sparkycorp
Moderator (English)
Moderator (English)
Posts: 8074
Joined: Tue, 30. Mar 04, 12:28
x4

Post by Sparky Sparkycorp »

Random thought. Since Marauder Titurels may be the only pirate capitals tested so far, perhaps they have some form of combat routine that circumvents the test code.

Maybe if they preferentially shoot something like the detached Targon Tracer platforms/add signs or storage compartments first, they don't register correctly? I don't think all storage modules have turrets for example, whereas Pirate Fighters would focus on surface elements and so would more likely hit an element attached to the main body of a station than Titurels.
w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans »

Possible. Also realized that I wasn't able to capture any incidents of other capital ships attacking a station, so it could also be a capship vs station problem. Or you're right and they're targeting something specific and it's not registering as an attack on the station.

Will narrow the test today to only look for assets of Ledda in hopes of catching an ongoing battle. Hope that Ledda's small enough. Will give me something to do while waiting for everyone to update their mods. :)
Sparky Sparkycorp
Moderator (English)
Moderator (English)
Posts: 8074
Joined: Tue, 30. Mar 04, 12:28
x4

Post by Sparky Sparkycorp »

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

Post by w.evans »

Just raw chronological data for now following the exploits of a Xenon Branch 9 Destroyer K:

Code: Select all

Time    Attacker        Target                          Quadrant        Range   Attack Strength Max Range       Combat Drones
150.355 XEN Destroyer K LI Escort Fighter Artio         nullBRU         5048    1802.345        9965            0
152.177 XEN Destroyer K LI Weapons Dealer Gigurum       nullFLU         9716    16354.981       9965            0
154.356 XEN Destroyer K LI Escort Fighter Orlam         nullBRU         4879    1944.617        9965            0
156.743 XEN Destroyer K LI Weapons Dealer Gigurum       nullFLU         9518    16354.981       9965            0
156.743 XEN Destroyer K LI Weapons Dealer Gigurum       nullBRU         5694    10450.655       9965            0
159.058 LI H-T Fab I    XEN Destroyer K                 nullFLD         9622    108548.313      18536           48
160.382 XEN Destroyer K LI Weapons Dealer Gigurum       null---         9360    16354.981       9965            0
162.688 LI H-T Fab I    XEN Destroyer K                 nullFLD         9482    108548.313      18536           48
166.021 LI H-T Fab I    XEN Destroyer K                 nullFLD         9360    108548.313      18536           48
167.397 XEN Destroyer K LI Escort Fighter Artio         nullBRU         3812    1802.345        9965            0
168.998 XEN Destroyer K LI Escort Fighter Orlam         nullBRU         3649.5  1944.617        9965            0
169.068 XEN Destroyer K LI Weapons Dealer Gigurum       nullBRU         6010    10450.655       9965            0
170.594 LI H-T Fab I    XEN Destroyer K                 nullFLD         9210    108548.313      18536           48
175.596 LI H-T Fab I    XEN Destroyer K                 nullFLD         9056    108548.313      18536           48
176.628 XEN Destroyer K LI Escort Fighter Artio         nullBRU         3060    1802.345        9965            0
177.042 LI H-T Fab I    XEN Destroyer K                 nullFLD         9012    108548.313      18536           48
179.54  XEN Destroyer K LI Escort Fighter Orlam         nullBRU         2919.5  1944.617        9965            0
179.68  XEN Destroyer K LI Weapons Dealer Gigurum       nullBRU         6633    10450.655       9965            0
180.399 LI H-T Fab I    XEN Destroyer K                 nullFLD         8926    108548.313      18536           48
185.204 LI H-T Fab I    XEN Destroyer K                 nullFLD         8810    108548.313      18536           48
189.431 LI H-T Fab I    XEN Destroyer K                 nullFLD         8724    108548.313      18536           48
191.465 LI H-T Fab I    XEN Destroyer K                 nullFLD         8688    108548.313      18536           48
191.899 XEN Destroyer K LI Escort Fighter Artio         nullBRU         2027.75 1802.345        9965            0
192.919 XEN Destroyer K LI Escort Fighter Talorcan      nullFLU         7776    2574.557        9965            0
193.791 XEN Destroyer K LI Escort Fighter Orlam         nullBLD         8041    3381.106        9965            0
195.392 XEN Destroyer K LI Escort Fighter Orlam         nullBRU         1827.25 1944.617        9965            0
195.537 XEN Destroyer K LI Weapons Dealer Gigurum       nullBRU         7995    10450.655       9965            0
196.261 XEN Destroyer K LI H-T Fab I                    nullFLU         8612    0               9965            0
196.552 LI H-T Fab I    XEN Destroyer K                 nullFLD         8608    108548.313      18536           48
197.135 XEN Destroyer K LI Escort Fighter Orlam         nullBLD         7853    3381.106        9965            0
198.443 LI H-T Fab I    XEN Destroyer K                 nullFLD         8580    108548.313      18536           48
198.588 LI H-T Fab I    XEN Destroyer K                 nullFLD         8580    108548.313      18536           48
199.022 XEN Destroyer K LI Escort Fighter Talorcan      nullFLU         5249    2574.557        9965            0
199.31  XEN Destroyer K LI Escort Fighter Artio         nullBRU         1580.75 1802.345        9965            0
200.615 XEN Destroyer K LI Escort Fighter Orlam         null---         7652    3381.106        9965            0
201.787 XEN Destroyer K LI Escort Fighter Orlam         nullBRU         1545.75 1944.617        9965            0
202.521 XEN Destroyer K LI H-T Fab I                    nullFLU         8534    0               9965            0
203.247 LI H-T Fab I    XEN Destroyer K                 nullFLD         8526    108548.313      18536           48
205.128 XEN Destroyer K LI Weapons Dealer Gigurum       nullBRU         8980    10450.655       9965            0
205.272 XEN Destroyer K LI Escort Fighter Talorcan      null---         3115.5  2574.557        9965            0
205.416 XEN Destroyer K LI H-T Fab I                    nullFLU         8510    0               9965            0
207.865 LI H-T Fab I    XEN Destroyer K                 nullFLD         8496    108548.313      18536           48
208.735 XEN Destroyer K LI Escort Fighter Artio         nullBRU         1296    1802.345        9965            0
209.891 LI H-T Fab I    XEN Destroyer K                 nullFLD         8486    108548.313      18536           48
211.477 XEN Destroyer K LI H-T Fab I                    nullFLU         8448    0               9965            0
212.216 LI H-T Fab I    XEN Destroyer K                 nullFLD         8422    108548.313      18536           48
212.657 XEN Destroyer K LI Escort Fighter Orlam         null---         1181    1944.617        9965            0
214.671 LI H-T Fab I    XEN Destroyer K                 nullFLD         8336    108548.313      18536           48
215.388 XEN Destroyer K LI H-T Fab I                    nullFLU         8308    0               9965            0
216.102 LI H-T Fab I    XEN Destroyer K                 nullFLD         8284    108548.313      18536           48
217.378 LI H-T Fab I    XEN Destroyer K                 nullFLD         8242    108548.313      18536           48
218.52  XEN Destroyer K LI Escort Fighter Artio         nullBRU         1228.75 1802.345        9965            0
221.806 LI H-T Fab I    XEN Destroyer K                 nullFLD         8099    108548.313      18536           48
222.374 XEN Destroyer K LI H-T Fab I                    nullFLU         8080    0               9965            0
223.515 LI H-T Fab I    XEN Destroyer K                 nullFLD         8049    108548.313      18536           48
224.794 LI H-T Fab I    XEN Destroyer K                 nullFLD         8010    108548.313      18536           48
224.938 XEN Destroyer K LI Escort Fighter Artio         null---         1306.75 1802.345        9965            0
228.994 XEN Destroyer K LI H-T Fab I                    nullFLU         7893    0               9965            0
229.742 LI H-T Fab I    XEN Destroyer K                 nullFLD         7875    108548.313      18536           48
232.875 XEN Destroyer K LI Intermediates Trader Gigurum nullBLD         8476    18101.166       9965            0
232.875 LI H-T Fab I    XEN Destroyer K                 nullFLD         7802    108548.313      18536           48
235.614 XEN Destroyer K LI Intermediates Trader Gigurum null---         8352    18101.166       9965            0
237.484 LI H-T Fab I    XEN Destroyer K                 nullFLD         7701    108548.313      18536           48
240.621 LI H-T Fab I    XEN Destroyer K                 nullFLD         7649    108548.313      18536           48
242.775 XEN Destroyer K LI H-T Rahanas                  nullFLU         5735    7415.078        9965            0
244.497 XEN Destroyer K LI H-T Fab I                    nullFLU         7628    0               9965            0
244.783 LI H-T Fab I    XEN Destroyer K                 nullFLD         7624    108548.313      18536           48
246.79  LI H-T Rahanas  XEN Destroyer K                 nullBRD         5298    1218            5235.5          0
247.077 LI H-T Fab I    XEN Destroyer K                 nullFLD         7621    108548.313      18536           48
249.221 LI H-T Fab I    XEN Destroyer K                 nullFLD         7617    108548.313      18536           48
249.65  LI H-T Rahanas  XEN Destroyer K                 nullBRD         5010    1218            5235.5          0
252.651 XEN Destroyer K LI H-T Rahanas                  nullFLU         4733    6899.77         9965            0
252.793 XEN Destroyer K LI H-T Fab I                    nullFLU         7624    0               9965            0
253.361 LI H-T Rahanas  XEN Destroyer K                 nullBRD         4673    1218            5235.5          0
253.504 LI H-T Fab I    XEN Destroyer K                 nullFLD         7628    108548.313      18536           48
254.787 LI H-T Rahanas  XEN Destroyer K                 nullBRD         4555    1218            5235.5          0
257.065 LI H-T Fab I    XEN Destroyer K                 nullFLD         7645    108548.313      18536           48
261.328 LI H-T Rahanas  XEN Destroyer K                 nullBRD         4125    1218            5235.5          0
265.427 LI H-T Rahanas  XEN Destroyer K                 nullBRD         3963.5  1218            5235.5          0
267.42  LI H-T Rahanas  XEN Destroyer K                 nullBRD         3921    1218            5235.5          0
270.812 LI H-T Rahanas  XEN Destroyer K                 nullBRD         3899    1218            5235.5          0
274.49  LI H-T Rahanas  XEN Destroyer K                 nullBRD         3857.5  1218            5235.5          0
274.561 XEN Destroyer K LI H-T Rahanas                  nullFLU         3856    1338.462        9965            0
275.749 LI H-T Fab I    XEN Destroyer K                 nullFLD         7687    108548.313      18536           48
278.305 LI H-T Fab I    XEN Destroyer K                 nullFLD         7631    108548.313      18536           48
278.305 LI H-T Rahanas  XEN Destroyer K                 nullBRD         3849    1218            5235.5          0
280.089 LI H-T Fab I    XEN Destroyer K                 nullFLD         7593    108548.313      18536           48
284.464 LI H-T Fab I    XEN Destroyer K                 nullFLD         7512    108548.313      18536           48
286.945 LI H-T Fab I    XEN Destroyer K                 nullFLD         7471    108548.313      18536           48
288.806 LI H-T Fab I    XEN Destroyer K                 nullFLD         7445    108548.313      18536           48
289.566 LI S-T Fab I    XEN Destroyer K                 nullFLD         16916   83629.602       16014           32
291.403 LI H-T Rahanas  XEN Destroyer K                 nullBRD         4248    1218            5235.5          0
292.688 LI H-T Fab I    XEN Destroyer K                 nullFLD         7399    108548.313      18536           48
294.479 LI S-T Fab I    XEN Destroyer K                 nullFLD         16592   83629.602       16014           32
294.966 LI H-T Rahanas  XEN Destroyer K                 nullBRD         4457    1218            5235.5          0
295.73  LI H-T Fab I    XEN Destroyer K                 nullFLD         7373    108548.313      18536           48
296.219 XEN Destroyer K LI H-T Rahanas                  nullFLU         4537    1338.462        9965            0
296.663 LI S-T Fab I    XEN Destroyer K                 nullFLD         16452   83629.602       16014           32
297.807 LI H-T Rahanas  XEN Destroyer K                 nullBRD         4645    1218            5235.5          0
299.56  LI H-T Fab I    XEN Destroyer K                 nullFLD         7350    108548.313      18536           48
299.699 XEN Destroyer K LI H-T Fab I                    nullFLU         7350    0               9965            0
300.826 LI S-T Fab I    XEN Destroyer K                 nullFLD         16206   83629.602       16014           32
301.108 LI H-T Rahanas  XEN Destroyer K                 nullBRD         4876    1218            5235.5          0
Funny how we could sort of tell what happened. The K chances upon a Ledda-employed trader and promptly starts ravaging it and its escorts. It comes into range of a Ledda station which starts taking pot shots thus attracting the K's attention. And fireworks start flying.

Funny thing, it looks like the Rahanas, of all things, finishes the K off because this particular K no longer appears in the record after it gets hit by that Rahanas.

Also notable: attackstrength=0 when the K is firing upon the station. Could be a capital vs station issue, or the metric I'm looking for doesn't apply to stations.

Will massage it for quadrant data next, and try to truncate it a bit to get rid of that line-wrapping. Eek.

edit: just noticed: the fighters don't seem to be fighting back. Ah. They seem to prefer small targets now.
w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans »

Didn't get a whole lot of data involving the Xenon K fighting the same target type at different quadrants, but there does appear to be changes in attack strength depending on quadrant.

Code: Select all

Time    Attacker        Target                          Quadrant        Range   Attack Strength Max Range       Combat Drones
152.177 XEN Destroyer K LI Weapons Dealer Gigurum       nullFLU         9716    16354.981       9965            0
156.743 XEN Destroyer K LI Weapons Dealer Gigurum       nullBRU         5694    10450.655       9965            0
160.382 XEN Destroyer K LI Weapons Dealer Gigurum       null---         9360    16354.981       9965            0

232.875 XEN Destroyer K LI Intermediates Trader Gigurum nullBLD         8476    18101.166       9965            0
235.614 XEN Destroyer K LI Intermediates Trader Gigurum null---         8352    18101.166       9965            0

154.356 XEN Destroyer K LI Escort Fighter Orlam         nullBRU         4879    1944.617        9965            0
193.791 XEN Destroyer K LI Escort Fighter Orlam         nullBLD         8041    3381.106        9965            0
200.615 XEN Destroyer K LI Escort Fighter Orlam         null---         7652    3381.106        9965            0
As UniTrader said, F=front, B=back; R=right, L=left; U=up, D=down.
So FLU=front-left-up, BRD=back-right-down

Not sure what Quadrant=--- means. Failed to get quadrant information? When Quadrant=---, it appears to use the attack strength information from the last attack with positive quadrant lookup.
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

w.evans wrote:Not sure what Quadrant=--- means. Failed to get quadrant information? When Quadrant=---, it appears to use the attack strength information from the last attack with positive quadrant lookup.
exactly ;) if the First one is neither Back nor Front it will print - instead of F or B, same for LR and UD. it seems that either you can get all 3 Quadrant Infos or none of them, i first assumed an Object exactly in Front would result in something like F-- but instead there are always values for all Quadrants.

Also you can get rid of the null in Front if you substitute $UniQuadrant with your Output String, initialize it with an Empty String or something similiar.. i assumed you would simply substitute in your Output Vatiable for $output (i didnt look into your Script yet therefore i dont know how its written)

here an extended Version of the Output Block with some comments (it now also checks for opposite Quadrants being both true and doesnt print the null):

Code: Select all

  <!-- Write Front or Back to output -->
  <do_if value="$quadrant.{1} and $quadrant.{2}" >
     <set_value name="$UniQuadrant" exact="'#'" /><!-- Both Front and Back are True -->
  </do_if>
  <do_elseif value="$quadrant.{1}" >
     <set_value name="$UniQuadrant" exact="'F'" /><!-- only Front is True -->
  </do_elseif>
  <do_elseif value="$quadrant.{2}" >
     <set_value name="$UniQuadrant" exact="'B'" /><!-- only Back is True -->
  </do_elseif>
  <do_else>
     <set_value name="$UniQuadrant" exact="'-'" /><!-- neither Back nor Front is True -->
  </do_else>
  <!-- Write Left or Right to output -->
  <do_if value="$quadrant.{3} and $quadrant.{4}" >
     <set_value name="$UniQuadrant" exact="$UniQuadrant + '#'" />
  </do_if>
  <do_elseif value="$quadrant.{3}" >
     <set_value name="$UniQuadrant" exact="$UniQuadrant + 'L'" />
  </do_elseif>
  <do_elseif value="$quadrant.{4}" >
     <set_value name="$UniQuadrant" exact="$UniQuadrant + 'R'" />
  </do_elseif>
  <do_else>
     <set_value name="$UniQuadrant" exact="$UniQuadrant + '-'" />
  </do_else>
  <!-- Write Up or Down to output -->
  <do_if value="$quadrant.{5} and $quadrant.{6}" >
     <set_value name="$UniQuadrant" exact="$UniQuadrant + '#'" />
  </do_if>
  <do_elseif value="$quadrant.{5}" >
     <set_value name="$UniQuadrant" exact="$UniQuadrant + 'U'" />
  </do_elseif>
  <do_elseif value="$quadrant.{6}" >
     <set_value name="$UniQuadrant" exact="$UniQuadrant + 'D'" />
  </do_elseif>
  <do_else>
     <set_value name="$UniQuadrant" exact="$UniQuadrant + '-'" />
  </do_else>
usually it should never output a # but i have the feeling that your output is very slightly biased towards the Quadrants which are checked first, which could explain this ^^ (just a feeling though)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
Sparky Sparkycorp
Moderator (English)
Moderator (English)
Posts: 8074
Joined: Tue, 30. Mar 04, 12:28
x4

Post by Sparky Sparkycorp »

Perhaps "---" could correspond to a target that occupies the same volume of space whilst collisions are not counted OOZ? Then it could be getting the max damage from the available options by default.

I am not sure if we see it in the logs yet or not but I suppose at some point, we could see deterioration in attack strength from the same quadrants following the OOZ chance for surface element destruction.


Edit: Posted before seeing Unitrader's reply.
w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans »

Thanks UniTrader! Thanks Sparky!

Realized that the problem was that this:

Code: Select all

<set_value name="$UniQuadrant" exact="$UniQuadrant + 'F'" />
was appending "F" to "null"
Fixed it via:

Code: Select all

<do_elseif value="$quadrant.{1}" >
  <set_value name="$UniQuadrant" exact="'F'" />
</do_elseif>
for the first set of quadrant data.

Code is now:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<diff>
	<replace sel="//attention[@min='unknown']/actions/set_value[@name='$FiringRange']/@exact">this.ship.maxcombatrange.all + this.ship.size</replace>

	<add sel="//do_if[@value='this.ship.distanceto.{$target} lt ($FiringRange + $target.size/2.0)']">
		<do_if value="this.ship.macro.ismacro.{macro.units_size_xl_red_destroyer_macro} or $target.macro.ismacro.{macro.units_size_xl_red_destroyer_macro}">
			<create_list name="$quadrant" exact="6" />
			<is_in_quadrant object="this.ship" target="$target" result="$quadrant.{1}" front="true" />
			<is_in_quadrant object="this.ship" target="$target" result="$quadrant.{2}" back="true" />
			<is_in_quadrant object="this.ship" target="$target" result="$quadrant.{3}" left="true" />
			<is_in_quadrant object="this.ship" target="$target" result="$quadrant.{4}" right="true" />
			<is_in_quadrant object="this.ship" target="$target" result="$quadrant.{5}" up="true" />
			<is_in_quadrant object="this.ship" target="$target" result="$quadrant.{6}" down="true" />

			<do_if value="$quadrant.{1} and $quadrant.{2}" >
				<set_value name="$UniQuadrant" exact="'C'" />
			</do_if>
			<do_elseif value="$quadrant.{1}" >
				<set_value name="$UniQuadrant" exact="'F'" />
			</do_elseif>
			<do_elseif value="$quadrant.{2}" >
				<set_value name="$UniQuadrant" exact="'B'" />
			</do_elseif>
			<do_else>
				<set_value name="$UniQuadrant" exact="'-'" />
			</do_else>
			<do_if value="$quadrant.{3} and $quadrant.{4}" >
				<set_value name="$UniQuadrant" exact="$UniQuadrant + 'C'" />
			</do_if>
			<do_elseif value="$quadrant.{3}" >
				<set_value name="$UniQuadrant" exact="$UniQuadrant + 'L'" />
			</do_elseif>
			<do_elseif value="$quadrant.{4}" >
				<set_value name="$UniQuadrant" exact="$UniQuadrant + 'R'" />
			</do_elseif>
			<do_else>
				<set_value name="$UniQuadrant" exact="$UniQuadrant + '-'" />
			</do_else>
			<do_if value="$quadrant.{5} and $quadrant.{6}" >
				<set_value name="$UniQuadrant" exact="$UniQuadrant + 'C'" />
			</do_if>
			<do_elseif value="$quadrant.{5}" >
				<set_value name="$UniQuadrant" exact="$UniQuadrant + 'U'" />
			</do_elseif>
			<do_elseif value="$quadrant.{6}" >
				<set_value name="$UniQuadrant" exact="$UniQuadrant + 'D'" />
			</do_elseif>
			<do_else>
				<set_value name="$UniQuadrant" exact="$UniQuadrant + '-'" />
			</do_else>

			<show_notification caption="'=== Capital Ship OOZ ==='" details="'%1 fighting %2 OOZ \n at Quadrant: %7 \n at Range: %3 \n Attack Strength: %4 \n Firing Range: %5 \n has %6 combat drones'.[this.ship.knownname, $target.knownname, this.ship.distanceto.{$target}, $result, $FiringRange, this.ship.units.{unitcategory.defence}.count, $UniQuadrant]" queued="true" priority="9" sound="notification_generic"/>
			<write_to_logbook category="general" text="'%1 fighting %2 OOZ \n at Quadrant: %7 \n at Range: %3 \n Attack Strength: %4 \n Firing Range: %5 \n has %6 combat drones'.[this.ship.knownname, $target.knownname, this.ship.distanceto.{$target}, $result, $FiringRange, this.ship.units.{unitcategory.defence}.count, $UniQuadrant]"/>

			<remove_value name="$quadrant" />
			<remove_value name="$UniQuadrant" />
		</do_if>
	</add>
</diff>
in fight.attack.object.capital.xml

Similar in the fighter and station fight scripts. It's now outputting:

<entry time="35.2663" text="HV Marauder Sucellus fighting AC Mining Ship Dwalin OOZ
at Quadrant: FLD
at Range: 3242
Attack Strength: 23110.488
Firing Range: 13804.5
has 0 combat drones"/>
w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans »

=== X:R 3.50 Beta 1 Data ===

TEST 4

Test set-up:
new gamestart (DeVries Freelancer Start)
Miscellaneous OOZ Combat Tweaks installed
Epic Capital Ship Shields installed (to increase capship survival rate)
no other mods installed

Changes:
Increased IHC range to 12000, and IHC bullet lifetime to 15 (was 8000 and 10 respectively)
Increased IHC burst size to 5 from 3
Changed all marauding Titurels into Sucellus

Why the Sucellus?
Being the only ship mounting the IHC which fires at a fairly narrow angle directly in front of the ship, was hoping that it would generate a wide variance depending on angle of attack relative to ship orientation. And I like the Sucellus.

Don't worry. These changes are not in the mod that is mentioned in the OP. I might eventually include the IHC range tweak, though.

........
Quadrant Test:

Code: Select all

Time    Attacker                Target                  Quadrant        Range   Attack Strength Max Range       Combat Drones
21.2428 SS Marauder Sucellus    LI Harvester Betaver    FLU             6827    24260.111       13804.5         0
26.019  HV Marauder Sucellus    SE Harvester Betaver    BRU             1926.25 24260.111       13804.5         0
-- no change between quadrant FLU and BRU --

29.203  SS Marauder Sucellus    LI Harvester Betaver    ---             5564    24260.111       13804.5         0
31.2916 HV Marauder Sucellus    SE Harvester Betaver    ---             2088    24260.111       13804.5         0
44.8437 HV Marauder Sucellus    AC Harvester Betaver    FLC             4896    26910.379       13804.5         0
-- increase at quadrant FLC, IHC kicking in? --

51.2408 HV Marauder Sucellus    AC Harvester Betaver    ---             5586    26910.379       13804.5         0
72.0107 HV Marauder Sucellus    JSS Harvester Betaver   BLD             7607    10625.77        13804.5         0
-- much lower at quadrant BLD --

74.4847 HV Marauder Sucellus    JSS Harvester Betaver   BLD             7264    10625.77        13804.5         0
81.0053 HV Marauder Sucellus    JSS Harvester Betaver   BLD             6388    10625.77        13804.5         0
88.6635 HV Marauder Sucellus    JSS Harvester Betaver   ---             5480    10625.77        13804.5         0
So, yes, it does look like attack strength changes depending on target position relative to ship orientation, although those first two lines with widely differing angles with the same attack strength does seem to contradict this. Larger variance between Up and Down for the Sucellus? (Haven't seen one in a while so can't remember it's turret lay-out.)

Can confirm that there are no effects from range, as Xenon_Slayer mentioned. So full attack strength at a particular angle is applied at full attack range.

Ships occasionally attack beyond their maximum attack range, and was able to ascertain that that is because target size is taken into account up to an extent. The extent at which target size comes into play is defined in libraries\parameters.xml

........
And here is a running battle between a marauding Sucellus, and a PMC station, a PMC Warden Taranis, and a bunch of PMC fighter escorts.

Code: Select all

Time    Attacker                Target                  Quadrant        Range   Attack Strength Max Range       Combat Drones
425.005 PMC Plutarch Exchange   SS Marauder Sucellus    ---             13462   93777.422       13457           32
427.395 SS Marauder Sucellus    PMC Triath Raider       ---             6583    16303.705       13804.5         0
427.395 PMC Plutarch Exchange   SS Marauder Sucellus    ---             13296   93777.422       13457           32
427.545 SS Marauder Sucellus    PMC Triath Vanguard     BRU             6635    18086.098       13804.5         0
428.591 PMC Plutarch Exchange   SS Marauder Sucellus    ---             13214   93777.422       13457           32
430.09  PMC Destroyer Taranis   SS Marauder Sucellus    FRD             9400    70105.195       8947.25         19
430.844 SS Marauder Sucellus    PMC Triath Raider       ---             6609    16303.705       13804.5         0
430.994 SS Marauder Sucellus    PMC Triath Vanguard     ---             6581    18086.098       13804.5         0
431.296 PMC Plutarch Exchange   SS Marauder Sucellus    ---             13024   93777.422       13457           32
432.351 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             9242    70105.195       8947.25         19
433.711 SS Marauder Sucellus    PMC Triath Vanguard     ---             6633    18086.098       13804.5         0
433.711 PMC Plutarch Exchange   SS Marauder Sucellus    ---             12858   93777.422       13457           32
433.862 SS Marauder Sucellus    PMC Triath Vanguard     ---             6532    18086.098       13804.5         0
434.013 SS Marauder Sucellus    PMC Triath Raider       ---             6491    16303.705       13804.5         0
435.833 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             9010    70105.195       8947.25         19
437.338 SS Marauder Sucellus    PMC Triath Raider       ---             6484    16303.705       13804.5         0
437.488 SS Marauder Sucellus    PMC Triath Raider       ---             6635    16303.705       13804.5         0
438.235 PMC Plutarch Exchange   SS Marauder Sucellus    ---             12542   93777.422       13457           32
439.135 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             8810    70105.195       8947.25         19
439.735 PMC Plutarch Exchange   SS Marauder Sucellus    ---             12440   93777.422       13457           32
441.693 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             8668    82748.602       13804.5         0
441.844 SS Marauder Sucellus    PMC Triath Raider       ---             6519    16303.705       13804.5         0
441.995 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             12284   49720           13804.5         0
442.146 PMC Plutarch Exchange   SS Marauder Sucellus    ---             12276   92797.422       13457           31
442.746 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             8612    69125.195       8947.25         18
443.943 PMC Plutarch Exchange   SS Marauder Sucellus    ---             12146   92797.422       13457           31
444.392 SS Marauder Sucellus    PMC Triath Vanguard     ---             6672    18086.098       13804.5         0
445.598 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             8472    69125.195       8947.25         18
447.56  PMC Plutarch Exchange   SS Marauder Sucellus    ---             11900   92797.422       13457           31
447.711 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             8366    69125.195       8947.25         18
448.464 SS Marauder Sucellus    PMC Triath Sentinel     BRU             6532    20132.281       13804.5         0
449.667 PMC Plutarch Exchange   SS Marauder Sucellus    ---             11750   92797.422       13457           31
451.34  PMC Destroyer Taranis   SS Marauder Sucellus    FRD             8146    69125.195       8947.25         18
452.554 PMC Plutarch Exchange   SS Marauder Sucellus    ---             11552   92797.422       13457           31
453.93  PMC Plutarch Exchange   SS Marauder Sucellus    ---             11462   92797.422       13457           31
455.143 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             7931    69125.195       8947.25         18
455.754 PMC Plutarch Exchange   SS Marauder Sucellus    ---             11334   92797.422       13457           31
456.212 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             7871    82748.602       13804.5         0
458.492 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             11146   49720           13804.5         0
458.643 SS Marauder Sucellus    PMC Triath Sentinel     ---             6614    20132.281       13804.5         0
458.643 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             7748    68145.195       8947.25         17
459.392 PMC Plutarch Exchange   SS Marauder Sucellus    ---             11086   92687.688       13457           31
462.278 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             7576    81147.805       13804.5         0
462.431 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             10878   49720           13804.5         0
463.829 PMC Plutarch Exchange   SS Marauder Sucellus    ---             10788   91817.422       13457           30
467.315 PMC Plutarch Exchange   SS Marauder Sucellus    ---             10550   91817.422       13457           30
468.374 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             7325    67165.195       8947.25         16
470.177 PMC Plutarch Exchange   SS Marauder Sucellus    ---             10354   91817.422       13457           30
471.681 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             7214    67165.195       8947.25         16
475.161 PMC Plutarch Exchange   SS Marauder Sucellus    ---             10024   91817.422       13457           30
475.161 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             10024   49720           13804.5         0
475.914 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             7095    67165.195       8947.25         16
478.635 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             9792    49720           13804.5         0
478.785 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             7012    79929.805       13804.5         0
478.785 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             7012    66185.195       8947.25         15
479.84  PMC Plutarch Exchange   SS Marauder Sucellus    ---             9714    91817.422       13457           30
482.1   SS Marauder Sucellus    PMC Plutarch Exchange   BCC             9564    49720           13804.5         0
482.251 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             6883    79320.805       13804.5         0
482.404 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             6880    65205.195       8947.25         14
484.356 PMC Plutarch Exchange   SS Marauder Sucellus    ---             9414    90837.422       13457           29
484.957 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             9376    49720           13804.5         0
485.108 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             6786    78711.805       13804.5         0
485.712 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             6766    64225.195       8947.25         13
488.71  PMC Destroyer Taranis   SS Marauder Sucellus    FRD             6672    64225.195       8947.25         13
489.309 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             9088    49720           13804.5         0
489.459 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             6646    77111           13804.5         0
491.704 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             6581    63245.195       8947.25         12
492.308 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             8894    49720           13804.5         0
495.183 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             6484    63245.195       8947.25         12
495.336 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             8700    49720           13804.5         0
497.886 PMC Plutarch Exchange   SS Marauder Sucellus    ---             8540    86917.422       13457           25
498.633 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             6397    63245.195       8947.25         12
499.377 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             6380    75284           13804.5         0
502.061 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             6320    62265.195       8947.25         11
502.21  PMC Plutarch Exchange   SS Marauder Sucellus    ---             8262    86917.422       13457           25
502.509 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             8246    49720           13804.5         0
502.659 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             6308    74675           13804.5         0
504.899 PMC Plutarch Exchange   SS Marauder Sucellus    ---             8095    85937.422       13457           24
506.391 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             7999    49720           13804.5         0
506.541 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             6236    74675           13804.5         0
507.147 PMC Plutarch Exchange   SS Marauder Sucellus    ---             7953    84957.422       13457           23
510.01  PMC Destroyer Taranis   SS Marauder Sucellus    FRD             6162    60305.195       8947.25         9
511.503 PMC Plutarch Exchange   SS Marauder Sucellus    ---             7684    84957.422       13457           23
512.692 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             6111    60305.195       8947.25         9
514.48  PMC Destroyer Taranis   SS Marauder Sucellus    FRD             6075    60305.195       8947.25         9
515.971 PMC Plutarch Exchange   SS Marauder Sucellus    ---             7412    84957.422       13457           23
516.119 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             7406    49720           13804.5         0
516.268 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             6040    74675           13804.5         0
517.16  PMC Destroyer Taranis   SS Marauder Sucellus    FRD             6023    59325.195       8947.25         8
519.56  PMC Plutarch Exchange   SS Marauder Sucellus    ---             7199    83977.422       13457           22
520.166 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             7165    49720           13804.5         0
521.229 PMC Destroyer Taranis   SS Marauder Sucellus    FRD             5953    59325.195       8947.25         8
522.879 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             5925    74066           13804.5         0
522.879 PMC Plutarch Exchange   SS Marauder Sucellus    ---             7004    82997.422       13457           20
523.03  SS Marauder Sucellus    PMC Plutarch Exchange   BCC             6995    49720           13804.5         0
523.18  PMC Destroyer Taranis   SS Marauder Sucellus    FRD             5919    58345.195       8947.25         7
525.75  PMC Plutarch Exchange   SS Marauder Sucellus    ---             6838    82017.422       13457           20
527.272 SS Marauder Sucellus    PMC Destroyer Taranis   BRU             5855    42746           13804.5         0
528.473 PMC Destroyer Taranis   SS Marauder Sucellus    ---             5839    58345.195       8947.25         7
Note the decreasing number of drones, and the attack strength getting lower accordingly. Unfortunately, the Sucellus didn't manage to orient its main gun at either the Taranis or the station. Also, unlike in the Titurel and Xenon Branch 9 K tests, the Sucellus has a positive attack strength when firing at the station!
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

i am very surprised to see Cs appearing there :o seems to be contradictionary, i would have expected it to be neither nor in the border case, not both.. so my intuition was correct :)

also i find it irritating that the Succellus seems to flee from the Taranis - in many cases its Attac Quadrant is BCC, so it points exactly away from its Target.. i would have thought its should point towards it ( FCC or F** when not perfectly aligned ) to make use of its Main Gun.. or maybe something is wrong with the Quadrant calculation? (it outputs the opposite of whats actually the case)
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)
w.evans
Posts: 2963
Joined: Tue, 18. Nov 14, 16:23
x4

Post by w.evans »

UniTrader wrote:i am very surprised to see Cs appearing there :o seems to be contradictionary, i would have expected it to be neither nor in the border case, not both.. so my intuition was correct :)
Yup. And still getting "neither nor" quadrant information. Particularly with fast targets, but not limited to them. One thing that might affect this is that firing OOZ is not instantaneous, and some delay is taken into account. --- quadrant information could be due to ships transiting between quadrants between start and end of firing.

........
Managed to isolate the capship vs station bug, and sorry to say it does appear to be a bug.

Data first:

CAPSHIP vs STATION DATA

Code: Select all

- PRIMARY WEAPONS - 1.0, TURRETS 1.0 -
Time    Attacker                Target                  Quadrant        Range   Attack Strength Max Range
441.995 SS Marauder Sucellus    PMC Plutarch Exchange   BCC             12284   49720           13804.5
Ordinarily, Sucelluses (Sucelli? Are these pseudo-latin names?) apply 49720 attack strength on stations. Fighters apply damage to stations as well. The Xenon Branch 9 K and Titurels we tested before apply no damage to stations OOZ.

Code: Select all

-PRIMARY WEAPONS - 10.0, TURRETS 1.0 -
Time    Attacker                Target                  Quadrant        Range   Attack Strength Max Range
20.4437 HV Marauder Sucellus    AG Cell Recharge Fac I  CRC             9252    497200          13804.5
21.1833 HV Marauder Sucellus    AG Mil Hi-Tech Manuf I  CCC             9268    497200          13804.5
21.2483 HV Marauder Sucellus    JSS TechnoCore Hi-E I   BCU             11556   497200          13804.5
24.7054 HV Marauder Sucellus    AG Cell Recharge Fac I  FLC             13506   497200          13804.5
45.3676 SS Marauder Sucellus    PMC Cell Recharge Fac I FCC             10018   248600          13804.5
48.226  SS Marauder Sucellus    PMC Cell Recharge Fac I FCC             10216   248600          13804.5
50.6397 HV Marauder Sucellus    JSS Cell Recharge Fac I CCC             3963.5  497200          13804.5
With the primary weapon damage multiplier increased to 10, The Sucelli apply precisely 10 times the damage to stations, except in some cases where they apply precisely half that. (ed. This means that no other factors are involved in the attack strength calculations of capships vs stations. Only primary weapons hit stations, and the Sucellus' only primary weapon is the IHC.)

Code: Select all

- PRIMARY WEAPONS - 0.0, TURRETS 10.0 -
Time    Attacker                Target                  Quadrant        Range   Attack Strength Max Range
22.5431 HV Marauder Sucellus    JSS Mass Shipyard I     CRC             8504    0               13804.5
27.0873 SS Marauder Sucellus    NL Med Dispensary I     CRC             11678   0               13804.5
27.1522 SS Marauder Sucellus    PMC Techno-Complex I    FRC             9274    0               13804.5
And with the primary weapon damage multiplier decreased to 0, and the turret damage multiplier increased to 10, Sucelli apply no damage against stations. Unless I'm mistaken, the Xenon Branch 9 K and the Titurel both do not have primary weapons. All of their weapons are turrets.

Therefore, turrets do no damage against stations OOZ.

Just to reinforce:

Code: Select all

- PRIMARY WEAPONS 1.0, TURRETS 1.0 -
Time    Attacker                Target                  Quadrant        Range   Attack Strength Max Range
25.0924 SS Marauder Sucellus    LI Freighter Rahanas    FLD             8612    32530.566       13804.5
30.9977 SS Marauder Sucellus    PMC Freighter Rahanas   FLD             6491    32530.566       13804.5
50.7751 SS Marauder Sucellus    PMC Freighter Rahanas   FLD             6476    32530.566       13804.5

25.3848 SS Marauder Sucellus    PMC Freighter Rahanas   FCU             3752.5  43372.105       13804.5
42.931  SS Marauder Sucellus    PMC Freighter Rahanas   FCU             4567    43372.105       13804.5
50.279  SS Marauder Sucellus    PMC Freighter Rahanas   FCU             5069    43372.105       13804.5

- PRIMARY WEAPONS 10.0, TURRETS 1.0 -
Time    Attacker                Target                  Quadrant        Range   Attack Strength Max Range
45.4505 SS Marauder Sucellus    WF Freighter Rahanas    BRC             9392    212633.969      13804.5
48.2935 SS Marauder Sucellus    WF Freighter Rahanas    BRC             9154    212633.969      13804.5
52.3005 SS Marauder Sucellus    WF Freighter Rahanas    BRC             8764    212633.969      13804.5
60.2134 SS Marauder Sucellus    WF Freighter Rahanas    BRC             8041    212009.359      13804.5
64.4742 SS Marauder Sucellus    WF Freighter Rahanas    BRC             7684    210563.813      13804.5
68.3164 SS Marauder Sucellus    WF Freighter Rahanas    BRC             7383    210251.516      13804.5
-- data above shows missiles missing --

- PRIMARY WEAPONS 0.0, TURRETS 10.0 -
Time    Attacker                Target                  Quadrant        Range   Attack Strength Max Range
47.0901 SS Marauder Sucellus    LI Freighter Rahanas    FRU             7842    239495.406      13804.5
56.7985 SS Marauder Sucellus    LI Freighter Rahanas    FRU             8588    239495.406      13804.5
61.6127 SS Marauder Sucellus    LI Freighter Rahanas    FRU             8888    236372.328      13804.5
Would have been better if I had found Sucelli firing on Rahanas on the exact same coordinate with different weapon multipliers, but no luck in these last three runs.

While attack strength does change depending on target position relative to ship orientation, and attack strength does consistently increase when the primary weap multiplier is increased to 10, again when primary weapons are reduced to 0 with turrets increased to 10 -- it does not increase by a clean multiplier, thereby showing other factors coming into play. (The Sucellus has both primary weapons and turrets. Also, the Sucellus has missile turrets too, and those could miss OOZ!)

........
edit: Forgot to add that while quadrant information does change attack strength, it only appears to do so for turrets. So boosting the multiplier for primary weapons makes the Sucellus apply attackstrength of it's IHC even if it's oriented away from the target that it's shooting. Same with fighters.

Turrets however, or more likely, turret banks (I remember cicero111 saying that it isn't possible to control individual turrets, unless that's changed since last December) do appear to fire or not fire depending on where the target is relative to a given turret bank. Not certain if firing or not firing is specified, but it is certain that the attack strength exerted by turrets changes depending on relative position.

Not sure about missile turrets yet, but it looks like all missile always fire, but each launcher has a chance to miss.

And I don't know what secondary weapons are. Integrated missile launchers?

........
edit 2: just a quick update on attackstrength calc: The Sucellus applies 49720 attack strength via primary weapons fire.

IHC damage = 31075
reload rate = 1.6
31075 * 1.6 = 49720

This does not take the IHC firing 3 rounds before requiring reload into account. Adjusting IHC to fire 1 round per turn in my game, and multiplying the damage of that one round by three. Should keep the dps of the Sucellus IZ the same.
Last edited by w.evans on Sat, 21. Feb 15, 12:48, edited 5 times in total.
Sparky Sparkycorp
Moderator (English)
Moderator (English)
Posts: 8074
Joined: Tue, 30. Mar 04, 12:28
x4

Post by Sparky Sparkycorp »

:Sherlock:

Return to “X Rebirth - Scripts and Modding”