alexalsp reported that stations were taking too long to repair. (longer than ~8 hours for fully destroyed stations.) v0.01_alexalsp increases the amount by which Engineer skill of player-owned station-based Engineers increases the rate of repair. (was a factor of 0.8 to 4.0, now a straight multiplier from 20 to 100)
Rather cheaty at the moment. Would prefer to find a decent balance which would then be applied to all station-based Engineers -- player-owned and NPC.
........
The alexalsp variant adds:
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<diff>
<remove sel="/aiscript/attention/actions/set_value[@exact='$repairratefactor * this.combinedskill / 25']"/>
<add sel="/aiscript/attention/actions/set_value[@name='$repairrate']" pos="before">
<do_if value="this.defensible.isclass.station and (this.owner == faction.player)">
<set_value name="$repairratefactor" operation="add" exact="$repairratefactor * this.combinedskill"/>
<show_notification caption="'=== Station Repair Rate ==='" details="'%5 \n Repairing: %6 \n Raw Repair Rate: %2 \n Engineer Skill: %3 \n Repair Rate Factor: %1 \n Resultant Repair Rate: %4'.[$repairratefactor, $baserepairrate, this.combinedskill, ($baserepairrate * $repairratefactor), this.station.name, (100f * ($baserepairrate * $repairratefactor) / $Defensible.maxhull)]" queued="true" priority="7" sound="notification_generic"/>
<write_to_logbook category="general" text="'%5 STATION REPAIR RATE: \n Repairing: %6 \n Raw Repair Rate: %2 \n Engineer Skil: %3 \n Repair Rate Factor: %1 \n Resultant Repair Rate: %4'.[$repairratefactor, $baserepairrate, this.combinedskill, ($baserepairrate * $repairratefactor), this.station.name, (100f * ($baserepairrate * $repairratefactor) / $Defensible.maxhull)]"/>
</do_if>
<do_else>
<set_value name="$repairratefactor" operation="add" exact="$repairratefactor * this.combinedskill / 25" comment="engineer speeds up repair by up to 400% (meaning a fifth of the normal repair time)" />
<!--<show_notification caption="'=== Ship/NPC Repair Rate ==='" details="'Repairing: %5 \n Raw Repair Rate: %2 \n Engineer Skill: %3 \n Repair Rate Factor: %1 \n Resultant Repair Rate: %4'.[$repairratefactor, $baserepairrate, this.combinedskill, ($baserepairrate * $repairratefactor), (100f * ($baserepairrate * $repairratefactor) / $Defensible.maxhull)]" queued="true" priority="7" sound="notification_generic"/>
<write_to_logbook category="general" text="'SHIP REPAIR RATE: \n Repairing: %5 \n Raw Repair Rate: %2 \n Engineer Skill: %3 \n Repair Rate Factor: %1 \n Resultant Repair Rate: %4'.[$repairratefactor, $baserepairrate, this.combinedskill, ($baserepairrate * $repairratefactor), (100f * ($baserepairrate * $repairratefactor) / $Defensible.maxhull)]"/>-->
</do_else>
</add>
</diff>
Still a lot of PDA and logbook spew at the moment to verify that the alteration is indeed working. Will be taken out once the increase is found to be satisfactory. If you want to take it out, simply comment out the <show_notification ... /> and <write_to_logbook ... /> lines.
edit: Also verified that the vanilla bug with Construction URVs failing to dock/docked Construction URVs not being made available is causing repair slowdowns -- subsequent repairs do not count those Construction URVs. Working on a fix now.
edit 2: fixed the problem mentioned in "edit:" here. Decided to implement the fix in a separate mod (and do tiny mods in general) to maintain modularity. (Is that a word? Modularness? Modulärheit?)