[RELEASE] Towbar OXP v1.0

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: winston, another_commander

User avatar
Norby
---- E L I T E ----
---- E L I T E ----
Posts: 2577
Joined: Mon May 20, 2013 9:53 pm
Location: Budapest, Hungary (Mainly Agricultural Democracy, TL10)
Contact:

Re: [RELEASE] Towbar OXP v0.104

Post by Norby »

Hi all!

What an interesting discussion above. :) Thank you for all ideas and coding, it is good to see that the community is doing well even I pop up here rarely. I will always be happy with any changes you decide together, so go ahead!

About rebalance my opinion is the same than dybal said. The very costly repairs are mentioned many times in the forum, together with the sharpshooter enemies. Well, players can choose to learn early how to avoid lanes and use oxps which offset any difficulties, and in this case the salvage payout could be minimal, but I support the opposite way: keep the game interesting in harsh environments too, where a deep space pirates is a must have and the payout should stay attractive after deducting expenses.

I agree that the previous rewards was too good in the case of the best equipments and I think the published "easy" rebalance is a good solution. Even better that you made it configurable, so with a TowbarPayoutReducer OXP players can choose even less revenue also.
Nice work! :)

Also thanks to Disembodied for the interesting reading about Marine salvage. It is good to know the background of what we do here.
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: [RELEASE] Towbar OXP v0.104

Post by dybal »

Thanks, Norby!

What you created is a huge part of my Ooniverse... I can't imagine playing without Telescope, Towbar created a whole new in-game career, the one in which spend most of my game-time, EscortDeck has added hugely to the fun, and I can't wait to find a Carrier for sale :lol:

About this salvaging payout balance, I will still change something in ShipVersion to modify the distribution of the expensive equipment: grant more Shield Cycler and less Shield Equalizer, basically.

I'm working on making it possible for the user to enable the functionality of those defensive OXPs for the NPCs (right now only Shield Equalizer+Capacitors can work on NPCs if the player enables the Station Interfaces Add-On configuration for it, but I have the bugs for that squashed from Shield Cycler and N-Shields), so the awarding of those equipments should have real combat balance consequences and the awarding probabilities might have to be tweaked a bit...
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

[RELEASE] Towbar Payout - Medium OXP v1.0

Post by dybal »

Version 1.0 of Towbar Payout - Medium OXP is available on the Expansion Manager and here.

The reasons for the OXP can be found in a discussion a few posts back.

I updated the [EliteWiki] Towbar page and created one for the [EliteWiki] Towbar Payout OXPs (I hope there will be more variations).

From the Towbar Payout wiki page:
In v0.104, those policies overwrite the standard policy - to change policies the player has to uninstall one policy OXP and install the other policy OXP, which requires exiting the game session. Payout OXPs compatible with the v0.104 version must have a single policy packaged inside.

After v0.105, Towbar supports in-game selection of the payout policy through the Station Interfaces (F4) Config for AddOns screen. Payout OXPs compatible with v0.105 could package more than one payout policy for the player to choose, but if an OXP packages more than one policy it is not compatible with Towbar v0.104.
Towbar v0.105 isn't published yet (I'm tracking down some Laser Reductor misbehaviour) but I made this first Payout OXP compatible with v0.104 so people can give it a try while I squash the Laser Reductor bug.

To make a Payout OXP compatible with Towbar v0.104:
  • create a function that takes a EquipmentInfo object as parameter and returns its salvage price in credits;
  • overwite worldScripts.towbar.$Towbar_EqSalvagePrice with that function reference in the OXP's startUpComplete event handler.
To make a Payout OXP compatible with Towbar v0.105:
  • create a function that takes a EquipmentInfo object as parameter and returns its salvage price in credits;
  • in the OXP's startUpComplete event handler, append the reference to that function at the end of worldScripts.towbar.$TowbarEquipmentPayoutHandlers array, define a property display for that function and assign a short and distinctive string to it - the first 6 characters will be used to identify the policy implemented by the function in the policy selection screen;
  • repeat for as many policies as wished (but bear in mind that all the policies short names will have to fit in a single line).
Example from Towbar Policy - Medium:

Code: Select all

this.$display = "Medium"; // for use by Towbar in Lib_Config

this.startUpComplete = function() {
    var wstb = worldScripts.towbar;

    if (wstb) {
        if (wstb.$TowbarEquipmentPayoutHandlers) {
            // Towbar version >= 0.105
            log(this.name, "Registering Towbar Equipment Payout handler '"+this.$display+"'");
            wstb.$TowbarEquipmentPayoutHandlers.push(this.$Towbar_EqPayout_Medium);
            this.$Towbar_EqPayout_Medium.display = this.$display;
        } else if (wstb.$Towbar_EqSalvagePrice) {
            // Towbar version 0.104
            log(this.name, "Overwriting Towbar Equipment Payout handler");
            wstb.$Towbar_EqSalvagePrice = this.$Towbar_EqPayout_Medium;
        }
    }
}

this.$Towbar_EqPayout_Medium = function _Towbar_EqPayout_Medium(eqInfo) {
    if (!eqInfo || !eqInfo.equipmentKey) return 0;
...
User avatar
Nite Owl
---- E L I T E ----
---- E L I T E ----
Posts: 558
Joined: Sat Jan 20, 2018 4:08 pm
Location: In The Dark

Re: [RELEASE] Towbar OXP v0.104

Post by Nite Owl »

Towbar gets used sparingly in my Ooniverse and is highly modified to fit my own needs. This requires lots of maintenance whenever a new version is released but that is half the fun of such things. The only question is: will these Towbar Payout OXP's be mandatory or will the stand alone releases still contain all the necessary code to produce a payout? Thank you for your maintenance of Towbar and, in advance, for an answer to my question.
Humor is the second most subjective thing on the planet

Brevity is the soul of wit and vulgarity is wit's downfall

Good Night and Good Luck - Read You Soon
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: [RELEASE] Towbar OXP v0.104

Post by dybal »

Nite Owl wrote: Thu Aug 20, 2020 3:12 pm
Towbar gets used sparingly in my Ooniverse and is highly modified to fit my own needs. This requires lots of maintenance whenever a new version is released but that is half the fun of such things.
I keep a collection of patch files (outputs from the diff program that the patch program can use to update a source tree - most of the times) for the modifications I did to the OXPs I run to make it easier to "bring them to my standards" :lol: when a new version is released...

But then I've been applying some of those changes back to the OXPs... I don't have to patch so many things up any more :lol:
Nite Owl wrote: Thu Aug 20, 2020 3:12 pm
The only question is: will these Towbar Payout OXP's be mandatory or will the stand alone releases still contain all the necessary code to produce a payout? Thank you for your maintenance of Towbar and, in advance, for an answer to my question.
The new OXPs are add-ons, Towbar still have its standard payout policy.

Install the Towbar Payout - Medium OXP if you (like me and Milo) think the standard payout policy pays so much that money loses meaning too fast.

I think there's room for more payout OXPs, one paying even less than Medium (that would be Towbar Payout - Hard) and one paying more than standard (that would be Towbar Payout - Easy), so players could choose and use the one that keeps the game interesting for them.

I would be interested in knowing about your modifications to Towbar... perhaps some of them would be useful to others and could be incorporated into the OXP... if you are inclined to share (that's work! :lol: ), please PM me.
User avatar
Nite Owl
---- E L I T E ----
---- E L I T E ----
Posts: 558
Joined: Sat Jan 20, 2018 4:08 pm
Location: In The Dark

Re: [RELEASE] Towbar OXP v0.104

Post by Nite Owl »

My modifications to Towbar are strictly cosmetic.

1) Changed all instances of the name "Towbar" to "Tractor Beam" as the invisible part of the code is used.

2) Changed all instances of consoleMessage to commsMessage.

My ship does A LOT of talking as it is easier for me to retain messages if they are heard rather than glancing over at the message console which tends to get overlooked when busy and therefore missed. My description.plist has been edited to remove the "Incoming Message" part of any commsMessage so that all of the spoken stuff appears like a more natural part of my ship's behavior.

3) Smaller stuff tweaked to make the above speech synthesis flow more naturally. Simple things like changing references to Tons from "t" to the actual word "Tons". Other simple grammatical changes to make things more pleasing to my ear.

None of this changes any of the core functions of Towbar but, as stated originally, are simply cosmetic. Unfortunately once you start down this path of a speaking ship the changes necessary to make it work properly can be very large in volume, in terms of both a singular OXZ (like Towbar with over 100 tweaks) and then across all of the OXZ's you may use. In my case this extends to over 300 OXZ's of which around 110 have been tweaked for speech synthesis and other minor stuff.
Humor is the second most subjective thing on the planet

Brevity is the soul of wit and vulgarity is wit's downfall

Good Night and Good Luck - Read You Soon
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: [RELEASE] Towbar OXP v0.104

Post by dybal »

Nite Owl wrote: Sat Aug 22, 2020 12:26 am
My modifications to Towbar are strictly cosmetic.

1) Changed all instances of the name "Towbar" to "Tractor Beam" as the invisible part of the code is used.

2) Changed all instances of consoleMessage to commsMessage.

My ship does A LOT of talking as it is easier for me to retain messages if they are heard rather than glancing over at the message console which tends to get overlooked when busy and therefore missed. My description.plist has been edited to remove the "Incoming Message" part of any commsMessage so that all of the spoken stuff appears like a more natural part of my ship's behavior.

3) Smaller stuff tweaked to make the above speech synthesis flow more naturally. Simple things like changing references to Tons from "t" to the actual word "Tons". Other simple grammatical changes to make things more pleasing to my ear.

None of this changes any of the core functions of Towbar but, as stated originally, are simply cosmetic. Unfortunately once you start down this path of a speaking ship the changes necessary to make it work properly can be very large in volume, in terms of both a singular OXZ (like Towbar with over 100 tweaks) and then across all of the OXZ's you may use. In my case this extends to over 300 OXZ's of which around 110 have been tweaked for speech synthesis and other minor stuff.
That "speaking ship" seems worthwhile to pursue... I could add a config option for the player to choose if the messages should go to console or comms, and make the comms ones your tweaked messages. If you would PM me your last tweaked towbar scripts I will incorporate as much of those mods as I can in 0.105
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

[RELEASE] Towbar OXP v0.105

Post by dybal »

Version 0.105 is available on the Expansion Manager and here.

Changes:
  • Fixes bug in cargo pod script that looks at the pod's cargo space instead of the player ship's when scooped.
  • Implements salvaged equipment payout policy selection in-game through Stations Interfaces (F4) Config for AddOns.
  • Laser Reductor looks at EquipmentInfo.weaponInfo.damage to know the energy of the hit to be reduced (uses a fallback for core game versions that don't allow scripts retrieval of weaponInfo).
  • Creates TalkingShip, StartMode and Appearance parameters in Stations Interfaces (F4) Config for AddOns.
  • Implements TalkingShip, with messages in better English thanks to Nite Owl.
  • Removes the "Incoming Message" speech intro for Comms messages.
User avatar
Nite Owl
---- E L I T E ----
---- E L I T E ----
Posts: 558
Joined: Sat Jan 20, 2018 4:08 pm
Location: In The Dark

Re: [RELEASE] Towbar OXP v0.104

Post by Nite Owl »

The following errors have cropped up in Mr. Latest Log:

Code: Select all

04:01:42.243 [script.javaScript.exception.notDefined]: ***** JavaScript exception (towbar 0.105): ReferenceError: currentWeapon is not defined
This might be due to my use of New Lasers but not 100% sure. It repeats hundreds of times in the log which leads me to believe it is referencing my New Laser weapon every time it is fired.

Code: Select all

04:01:43.527 [script.javaScript.exception.ooliteDefined]: ***** JavaScript exception (towbar 0.105): Error: Ship.removeEquipment: Invalid arguments ("EQ_DTAUSA") -- expected equipment type.
Also not 100% sure about this one as "EQ_DTAUSA" should be some type of equipment that the game is looking to remove. In towbar.js it is grouped with the EQ's that allow you to place the additional words in your H.U.D. According to insertintohudlegends.plist only three of those do anything - EQ_DTADER - EQ_DTAEMP - EQ_DTAMIN - these have been in my H.U.D. for a long time. What the other three - EQ_DTADAM - EQ_DTAUSA - EQ_DTAWEA - do is the unsure part. In any case the above error with EQ_DTAUSA does not crop up that often, possibly only when the towbar is actually used. This error stopped occurring once any reference to EQ_DTAUSA was commented out in towbar.js. As yet this has not lead to any other unforeseen circumstances.

Thank You for the attention to detail, the maintenance of this OXZ, and, in advance, a solution to the above problems.
Humor is the second most subjective thing on the planet

Brevity is the soul of wit and vulgarity is wit's downfall

Good Night and Good Luck - Read You Soon
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: [RELEASE] Towbar OXP v0.104

Post by dybal »

My bad...

The currentWeapon error is a mistyping, it should be current_weapon (I use New Lasers too).

The EQ_DTAUSA is my naivety showing... it's a display for HUDs defined buy EscortDeck to indicate the target is an usable derelict, my naivety because I assumed removing it would fail quietly... it does if the ship doesn't have the equipment, but it has to be defined which requires EscortDeck installed...

New version tomorrow (gotta test it tonight...)
Last edited by dybal on Mon Aug 31, 2020 11:28 pm, edited 1 time in total.
User avatar
Nite Owl
---- E L I T E ----
---- E L I T E ----
Posts: 558
Joined: Sat Jan 20, 2018 4:08 pm
Location: In The Dark

Re: [RELEASE] Towbar OXP v0.104

Post by Nite Owl »

As suggested the two occurrences of currentWeapon in towbar.js (currentWeapon does not appear in any of the other JavaScripts) were changed to current_weapon and the following error still appeared in Mr. Latest Log a few hundred times.

Code: Select all

 [script.javaScript.exception.unexpectedType]: ***** JavaScript exception (towbar 0.105): TypeError: current_weapon is undefined 
Methinks there may be more going on here than meets the eye. Thanks Again.
Humor is the second most subjective thing on the planet

Brevity is the soul of wit and vulgarity is wit's downfall

Good Night and Good Luck - Read You Soon
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: [RELEASE] Towbar OXP v0.104

Post by dybal »

Nite Owl wrote: Mon Aug 31, 2020 9:48 pm
As suggested the two occurrences of currentWeapon in towbar.js (currentWeapon does not appear in any of the other JavaScripts) were changed to current_weapon and the following error still appeared in Mr. Latest Log a few hundred times.

Code: Select all

 [script.javaScript.exception.unexpectedType]: ***** JavaScript exception (towbar 0.105): TypeError: current_weapon is undefined 
Methinks there may be more going on here than meets the eye. Thanks Again.
Tested the fix with a core game without the weaponInfo patch, so Laser Reductor uses the fallback code (that's were the problem was, and why I didn't get it before - I was testing the weaponInfo patch to the core game as well), and without EscortDeck... no exceptions from Towbar, and Laser Reductor worked fine, all targets abandoned ship and I didn't blow up any derelict... weapon was a RimmerAce Quadcooled 'ImpasseResolver', dual barrel in one test (ship was a Hacker Viper), single barrel in another (ship was a Saiph Interceptor).

I dunno why you still get exceptions... here's the fix in towbar.js, shipAttackedOther event handler:

Code: Select all

    var weapon_info = current_weapon.weaponInfo;
    var hit_energy = (weapon_info && weapon_info.damage ?
                                    weapon_info.damage : 
//                                    (weak_lasers.indexOf(currentWeapon.equipmentKey) >= 0 ? 14 : 23) 
                                    (weak_lasers.indexOf(current_weapon.equipmentKey) >= 0 ? 14 : 23) 
                     );
    var debug = this.$TowbarDebug;
current_weapon.weaponInfo will be undefined with the current core game, so weapon_info will be undefined and hit_energy will be set by by the fallback code, weak_lasers.indexOf(current_weapon.equipmentKey) >= 0 ? 14 : 23

I will be publishing v0.106 soon.
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

[RELEASE] Towbar OXP v0.106

Post by dybal »

Version 0.106 is available on the Expansion Manager and here.

Changes:
  • Fixes a bug in the fallback code for Laser Reductor.
  • Doesn't blindly remove equipments defined by other OXPs.
User avatar
Nite Owl
---- E L I T E ----
---- E L I T E ----
Posts: 558
Joined: Sat Jan 20, 2018 4:08 pm
Location: In The Dark

Re: [RELEASE] Towbar OXP v0.104

Post by Nite Owl »

With v0.106 getting the following error in Mr. Latest Log every time a ship is attached to the Towbar.

Code: Select all

 [script.javaScript.exception.notDefined]: ***** JavaScript exception (towbar 0.106): ReferenceError: id is not defined 
Sat around attached to several ships ship for a good 15 minutes each and nothing happened, no salvaging going on whatsoever. Unsure if this is due to my tweaking or a code fault or a whatever it may be. Any advice would be greatly appreciated.
Humor is the second most subjective thing on the planet

Brevity is the soul of wit and vulgarity is wit's downfall

Good Night and Good Luck - Read You Soon
dybal
---- E L I T E ----
---- E L I T E ----
Posts: 499
Joined: Mon Feb 10, 2020 12:47 pm

Re: [RELEASE] Towbar OXP v0.104

Post by dybal »

Nite Owl wrote: Tue Sep 01, 2020 6:23 am
With v0.106 getting the following error in Mr. Latest Log every time a ship is attached to the Towbar.

Code: Select all

 [script.javaScript.exception.notDefined]: ***** JavaScript exception (towbar 0.106): ReferenceError: id is not defined 
Sat around attached to several ships ship for a good 15 minutes each and nothing happened, no salvaging going on whatsoever. Unsure if this is due to my tweaking or a code fault or a whatever it may be. Any advice would be greatly appreciated.
That's a new one.... I did some cargo salvaging and towing yesterday while testing and didn't see any exception (I will look at the logs and see if I missed something - my logs are saved before I start a new game session :D ), so I guess the bug isn't in the cargo salvaging code... what Ship Miner mode do you use, Full or Salvager? If I can reproduce it, my core game is build with options that show the line number where the exception happened (there are too many instances of variables named id in towbar.js :cry: )
Post Reply