Page 1 of 3

1.06

Posted: Wed Jun 15, 2011 12:55 am
by george moromisato
1.06 is ready and at the usual place:

http://www.neurohack.com/downloads/Trans106.zip

This release has several enhancements for modding, but likely introduces quite a few bugs. Please test carefully and let me know what you find. The major enhancements are as follows:

CURRENCIES

I've changed the way Ringer currency is implemented in order to make it easier to support. There is a new design type, called <EconomyType> which defines the currency used by a given economy block. For example:

Code: Select all

<EconomyType UNID="..."
      id="rin"
      currency="rin|rin"
      conversion="500"
      />
id= is an identifier for the currency. It can be used optionally wherever a price is listed (see below).
currency= describes the name of the currency. Use the same syntax as item names to indicate pluralization. [The example says that the plural of "rin" is "rin".]
conversion= is the standard conversion into credits of 100 units of the currency. In this case, 100 rin = 500 credits.

You can assign prices to an item in any currency. For example:

Code: Select all

<ItemType ...
      ...
      value="rin:75"
      ...
</ItemType>
The above code prices the given item in rin.

The <Trade> section of a station uses the currency= attribute to specify the currency used by the station. For example, Ringer stations specify that they use rin. Prices are automatically converted as appropriate.

The following functions have been changed (in a backwards compatible fashion) to take a currency parameter: plyGetCredits, plyCharge, plyCredit, objGetBalance, objCharge, objCredit. [Also, the last three functions now work on the player ship: gPlayerShip; they should be used instead of the ply??? functions.]

objGetSellPrice and objGetBuyPrice return values in whatever currency the station uses.

You may use objGetDefaultCurrency to figure out what currency a station uses.
You may use itmGetDefaultCurrency to figure out what currency an item is priced in.
You may use ecoExchange to convert from one currency to another.
You may use fmtCurrency to format a string containing a currency value.

One other minor addition: The priceAdj= attribute in a <Trade> element now takes some special variants:

priceAdj="constant:xxx" sets the price to xxx (as opposed to adjusting the price by some percentage)
priceAdj="unavailable" means that the specified item(s) are not for sale or not bought by the staiton.

WEAPONS

I've made a few enhancements to weapons.

There is a new linkedFire= attribute on weapons. If you set linkedFire="always" then the weapon will fire regardless of whether it is the selected weapon or not. Linked weapons will fire when you press the fire weapon key; linked launchers will fire when you press the fire missile key. Note that this attribute is designed for player-ship weapons. AI ships should still use the secondaryWeapon attribute. [In fact, in the future, weapons with the linkedFire attribute may always count as secondary weapons for the AI.]

I've added some new functions: objSetDeviceFireArc and objSetDevicePos can be used inside of <OnInstall> to place a weapon at a particular position on the ship. The corresponding objGet??? functions are also implemented.

There is a new event on weapons: <GetOverlayType>. When the weapon is installed, the event fires and you may return the UNID of an overlay to install corresponding to the weapon. The overlay will be automatically removed when the weapon is uninstalled. [An easier method is to specify the overlay UNID in the weapon element using the overlayType= attribute; but the event allows you to dynamically determine whether to have an overlay or not.]

Weapons now have an <OnFragment> event. You may override the normal creation of fragments and create whatever you want (e.g., a station).

Particle-type weapons (like the PK25 Morning Star) now honor the maneuverRate= attribute. This allows for tracking particle-type weapons.

As previously described on the forums, there is a new effect type called <Beam>, which allows any missile to appear like a beam.

Weapons (and shields) have a new idlePowerUse= attribute which (optionally) specifies how much power a weapon or shield draws while idle.

I've reworked how shockwave-type weapons cause damage. See: http://wiki.neurohack.com/transcendence/trac/ticket/473 for details.

MISCELLANEOUS CHANGES

I've added shpGetAISetting and shpSetAISetting to dynamically change the AI combat parameters.

For stations, you no longer have to specify maxHitPoints or maxStructuralHitPoints. If you specify hitPoints= then we assume that maxHitPoints is equal to that. Same thing for structuralHitPoints.

I've expanded the set of sovereign alignments. In practice they don't change anything about sovereign relationships (each new alignment maps to one of the old ones for purposes of who is an enemy of whom). But the new set of alignments fits better with my plans for Part II. I'll post a fuller description soon.

There is a new <ImageComposite> element on stations. For example:

Code: Select all

<ImageComposite>
      <Image imageID="{image A}"/>
      <Image imageID="{image B}"/>
</ImageComposite>
The above takes image A and draws it on top of image B and then uses the result as the station image. The code will also accept a <Table> so you could have a random image composited on top of another random image. This allows for more variety in station images.

GAME BALANCE CHANGES

Items that Teratons steal from the player have a 90% chance of surviving after the Teraton station is destroyed.
I've increased the chance that armor segments will survive for ships with lots of segments (e.g., Iocrym).
I've decreased the probability of insurance station spawns.
New Victoria arcology has more hit points.

OTHER BUGS & ENHANCEMENTS

As always, the complete list of bugs fixed is here: http://wiki.neurohack.com/transcendence/trac/report/14

CREDIT

I've added the following people to the credits section for reporting bugs fixed in this release:

Amariithynar
Azmond
Mist
Zerat00l

If I've misspelled you rname or you would like your name to appear differently in the credits, please PM me.

Re: 1.06

Posted: Wed Jun 15, 2011 1:15 am
by sdw195
Cool thanks George

Re: 1.06

Posted: Wed Jun 15, 2011 1:21 am
by sdw195
i seem to be having issues with opening the tdb with transdata

Code: Select all

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Trans106>transdata.exe /decompile
TransData v2.2
Copyright (c) 2001-2010 by George Moromisato. All Rights Reserved.

Unable to open data file: Transcendence.tdb


Re: 1.06

Posted: Wed Jun 15, 2011 1:23 am
by Aury
Cool changes! Going to have to mess around with some of this stuff, and thanks for getting the targeting right on the secondary homing weapons! I'll have to test that out tonight to see if its working.

Re: 1.06

Posted: Wed Jun 15, 2011 1:28 am
by george moromisato
sdw195 wrote:i seem to be having issues with opening the tdb with transdata
Sorry--as usual it needs a new TransData. Just uploaded 2.3:

http://www.neurohack.com/downloads/TransData23.zip

Re: 1.06

Posted: Wed Jun 15, 2011 1:43 am
by Aury
ok, thanks!

Re: 1.06

Posted: Wed Jun 15, 2011 1:49 am
by sdw195
george moromisato wrote:
sdw195 wrote:i seem to be having issues with opening the tdb with transdata
Sorry--as usual it needs a new TransData. Just uploaded 2.3:

http://www.neurohack.com/downloads/TransData23.zip
np, its just that Wolfy beat me to putting the xml sources on xelerus :D

Re: 1.06

Posted: Wed Jun 15, 2011 1:59 am
by Aury
Huh?
Anyways: http://xelerus.de/index.php?s=mod&id=928 <-- link to the decompiled xml

Re: 1.06

Posted: Wed Jun 15, 2011 3:41 am
by Hatsuya Kanzaki
Would mounting two SmartCannons be possible now, and such that you'll be able to fire both Smartcannons at once?

Re: 1.06

Posted: Wed Jun 15, 2011 4:59 am
by Chase
Yahoo! I have been waiting for this, thank you!

Re: 1.06

Posted: Wed Jun 15, 2011 6:27 am
by alterecco
Great! Lots of good stuff in this version. Thanks George.

Re: 1.06

Posted: Wed Jun 15, 2011 12:17 pm
by digdug
Thanks George! I love how you always add some surprises like LinkedFire and <GetOverlayType> :D

Re: 1.06

Posted: Wed Jun 15, 2011 1:12 pm
by Aury
Hatsuya Kanzaki wrote:Would mounting two SmartCannons be possible now, and such that you'll be able to fire both Smartcannons at once?
Not the vanilla smart cannon, but you could have a modded version that could.

Re: 1.06

Posted: Wed Jun 15, 2011 2:25 pm
by alterecco
I added the changelog for 1.06 to the wiki and uploaded the 1.06 diffs. So many nice new changes in this one!
We also welcome two new files to the Transcendence xml, Compatibility10.xml and SystemsVol01.xml. Interesting!

Changelog: http://wiki.neurohack.com/transcendence ... #june_2011
Diff: http://drop.alterecco.net/transcendence/diffs/1.06.diff

Re: 1.06

Posted: Wed Jun 15, 2011 3:49 pm
by george moromisato
A few more things after looking at the diffs:

1. SmokeTrail effect had a bug in which particle speeds were interpreted incorrectly. All speeds had to be doubled to work correctly. I've fixed this for 1.1, so new extensions should use the proper values. Old extensions will continue to work (ie, the bug remains for 1.0 extensions)

2. Subordinates on stations are inconsistent. For occupied stations, enemy guards used to count as subordinates. But this caused problems because the station tried to order them to defend. I changed it so enemy ships are not automatically made subordinates.