Open questions: (If you know something - let us know it)
Is it possible to get what something will take for a hit?
Such as particle resisting paste on various types of armor? (is it added or multiplied?)
Also is there a way of viewing the resistance in code of various things?
For the shpEnhanceItem, when adjusting damage above 100% - what is the formula? (100%, 111%, 125%, 143%... )
Tips, Hints and Q&A:
What is weaponintensity?
Weapon intensity increase the graphical size of the shots the weapon fires.
What does the frequency tag of an item and what are possible values
The game uses frequency values to say how often something appears in the game. The known values are:
* Common
* Uncommon
* Rare
* VeryRare
* Notrandom
What are all the different beam types and how does the game apply the colors?
Known types:
* laser
* blaster
* lightning
* greenparticle
* heavyblaster
* starblaster
* blueparticle
Links to bring color to your game:
HTML Colors
Color Picker - also as download (7kb)
A different Color Picker
Does techorder of a ship have any bearing on the game at all?
Not at the present time.
Whats is first plural?
This is used in the description.
For example
barrels of radioactive waste
vs.
Ares Archcannons
The default is to pluralize the last word in the description, but firstPlural and secondPlural can override it.
What are bullet speed & life time and what do they do?
The actual formula is (Speed * Lifetime)/50 = range
How does combatstyle affect the AI? What are the styles?
a) standard - If you omit the combatStyle attribute you get "standard" combat; most ships use it.
b) standOff - Used by missileship and capital ships. The ship will move out to mid-range away from the target and fire from there. This style works best when the ship has omnidirectional weapons.
c) flyby - Used by Himal interceptors. Not sure if this is an interesting style--it doesn't feel much different.
d) noRetreat - Used by Urak ships. This is the same as "standard" except that the ship will not retreat if it is too close to its target.
What is WMD and what does it do?
WMD = Weapon of mass destruction
1. When hitting a large station, only WMD counts. WMD is some percentage of normal weapon damage, using this table:
* WMD0 = 0%
* WMD1 = 4%
* WMD2 = 10%
* WMD3 = 20%
* WMD4 = 34%
* WMD5 = 52%
* WMD6 = 74%
* WMD7 = 100%
For example, if 10 points of WMD3 damage hit a station, then the station only takes 20% of the damage or 2 points. Regardless of the above, any hit on a station causes at least 1 point of damage, so even weapons with no WMD do some damage (this may or may not change in the future).
Note that only stations with multiHull="true" count as "large stations"
2. Ships generally take full damage (regardless of WMD) but for ships that have "non critical" armor segments, WMD comes into play. The chance that a hit to a non critical segment will destroy the ship increases for WMD weapons.
3. When hitting wrecks, etc. only WMD counts.
List of functions
ArmorClass functions
(armGetName type) -> Name of the armor
(armIsRadiationImmune type) -> True/Nil
(armGetRepairCost type) -> Cost to repair 1 hit point
(armGetRepairTech type) -> Tech level required to repair
Item functions
(itmCreate type count) -> itemStruct
(itmEnumTypes criteria item-var exp)
(itmGetArmorInstalledLocation itemStruct) -> segment #
(itmGetArmorType itemStruct)
(itmGetCategory itemStruct)
(itmGetCharges itemStruct) -> charges
(itmGetCount itemStruct)
(itmGetInstallCost itemStruct) -> cost
(itmGetLevel itemStruct) -> level
(itmGetMass itemStruct) -> mass of single item in Kg
(itmGetName itemStruct flags)
* flag 1 = capitalize
* flag 2 = pluralize
* flag 4 = prefix with 'the' or 'a'
* flag 8 = prefix with count
(itmGetPrice itemStruct) -> price of a single item
(itmGetTypeData itemStruct)
(itmGetUNID itemStruct) -> UNID
(itmGetUseScreen itemStruct)
(itmHasModifier itemStruct modifier)
(itmIsDamaged itemStruct)
(itmIsEnhanced itemStruct) -> Nil or enhancement counts
(itmIsInstalled itemStruct)
(itmIsKnown itemStruct)
(itmMatches itemStruct criteria)
(itmSetKnown {itemStruct | type})
(itmSetReference itemStruct)
(itmHasReference itemStruct)
Miscellaneous functions
(rollDice count sides bonus)
(itmAtCursor itemListCursor) -> itemStruct
Ship functions
(shpAddArmorSpecialAbility ship armorSegment ability) -> True/Nil
(shpAddEnergyField ship fieldUNID lifetime)
(shpCancelOrders ship)
(shpCanInstallDevice ship itemListCursor/itemStruct) ->
* 0 = OK
* 1 = Not a device
* 2 = No slots
* 3 = Already installed
* 4 = Shields already installed
* 5 = Drive already installed
* 6 = Missile launcher already installed
(shpConsumeFuel ship fuel)
(shpDamageArmor obj armorSegment damageType damage)
(shpDecontaminate ship)
(shpIsRadioactive ship)
(shpGetArmorCount ship) -> number of armor segments
(objGetArmorType obj armorSegment) -> CArmorClass *
(objGetArmorDamage obj armorSegment) -> damage to armor segment
(shpGetArmorMaxHitPoints obj armorSegment) -> damage to armor segment
(shpGetClass ship) -> class UNID
(shpGetCargoSpaceLeft ship) -> space left in Kg
(shpGetDirection ship) -> angle
(shpGetEngineCore ship) -> EngineCoreTypes
(shpGetFuelNeeed ship itemStruct) -> items needed
(shpGetFuelLeft ship) -> fuel left
(shpGetItemCharges ship itemListCursor) -> charges
(shpGetItemDeviceName ship itemStruct) -> device name of item (or -1)
(shpGetShieldItemUNID ship) -> UNID (or Nil)
(shpGetShieldDamage ship) -> damage to shields
(shpGetShieldMaxHitPoints ship) -> max hp of shields
(shpInstallArmor ship itemListCursor armorSegment)
(shpInstallAutopilot ship)
(shpInstallTargetingComputer ship)
(shpInstallDevice ship itemListCursor)
(objIsAbandoned obj) -> True/Nil
(shpIsAutopilotInstalled ship)
(shpIsTargetingComputerInstalled ship)
(shpIsSRSEnhanced ship)
(objIsDeviceSlotAvailable ship) -> True/Nil
(objIsShip obj) -> True/Nil
(objIsUnderAttack obj) -> True/Nil
(shpEnhanceItem ship itemListCursor enhanceCode)
Note(v.97): This function currently only works with armor and shields, but you might call it inside a ship's OnCreate (like a Luminous drone) to randomly enhance a ship's armor/shields.
* enhanceCodes (always starts with 0x*Value*, e.g. 0x0101):
* 010X For enhancing hitpoint; 10% hp multiplied with X (e.g., 0101 = +10% hp, 0102 = +20% hp, etc.)
* 810X for reducing hitpoints;-10% hp multiplied with X (e.g., 8101 = -10% hp, 8102 = -20% hp, etc.)
* 0200 Regenerate (like Duralloy, only applies to armor)
* 8200 Decay (like Transuranic, only applies to armor)
* 03YX Reflect damage type Y with X effectiveness (X{effectiveness} starts with 0=50% and rises in 5% steps; Y{dam type} is listed further down)
* 83Y0 Transparency to damage Y, applies only to shields (e.g., 8300 = shield does not absorb laser damage, 8310 = shield does not reflect kinetic damage).
* 050X reduce damage to armor/shield (e.g., 0500 = armor/shield takes 100% of damage; 0501 = 90% of damage; 0502 = 80% of damage, etc.)
* 850X enhance damage to armor/shield (e.g., 8500 = armor/shield takes 100% of damage; 8501 = 111% damage; 8502 = 125% damage; 8503 = 143% damage, etc.)
* 060X reduce ENERGY damage (e.g., laser, particle, etc.). % is same as 050X.
* 860X enhance ENERGY damage. % is same as 850X.
* 070X reduce MATTER damage (e.g., kinetic, blast, etc.). % is same as 050X.
* 870X enhance MATTER damage. % is same as 850X.
* 08YX reduce damage when damage is of type Y or of type Y+1. For example, 080X adjusts damage to armor/shield when hit by either laser or kinetic damage. % is same as 050X.
* 88YX enhance damage when damage is of type Y or of type Y+1. % is same as 850X.
* 09YX reduce damage when damage is of type Y (e.g., 0901 = armor/shield takes 90% damage from laser; 0911 = armor/shield takes 90% damage from kinetic). % is same as 050X.
* 89YX enhance damage when damage is of type Y. % is same as 850X.
* 0AYX reduce damage with % same as 050X. If damage is of type Y+2, adjusts damage with % equal to 1.5 times 050X. (e.g., 0A05: For laser damage, adjustment is 50%; for particle damage, adjustment is 75%.)
* 8AYX If damage is of type Y, enhance damage with % same as 050X. If damage is of type Y+2, adjusts damage with % equal to 1.5 times 850X.
* 0B00 Armor is immune to radiation.
* 0B10 Armor is immune to blinding.
* 0B20 Armor is immune to EMP.
* 0B30 Armor is immune to device damage.
* 0B40 Armor is immune to disintegration.
* 0C00 Armor is immune to blinding/EMP/device damage.
* 8C00 Armor interferes with shields (like meteorsteel) - no shields.
* 0D00 Armor regenerates near sun - solar regeneration.
* 0E00 Armor refuels reactor near sun - solar power.
* 0F0X Shield consumes less power (X values: 0=100%, 1=90% etc. of original value).
* 8F0X Shield consumes more power (8F00 = shield consumes 100% of rated power, 8F01 = consumes 111% of rated power, 8F02 = consumes 125% of rated power, 8F03 = consumes 143% of rated power).
* Reducing: changes by 10% -> x/% 0/100 1/90 2/80 3/70 4/60 5/50 6/40 7/30 8/20 9/10 (A/0?)
* Enhancing: changes by ??? -> x/% 0/100 1/111 2/125 3/143 4/ 5/ 6/ 7/ 8/ 9/ (A/)
(shpEnhanceSRS ship)
(shpMakeBlind ship blindTime)
(shpMakeRadioactive ship)
(shpOrderAttack ship target) -> True/Nil
(shpOrderDock ship destination) -> True/Nil
(shpOrderEscort ship protect [formation]) -> True/Nil
(shpOrderGate ship [gate]) -> True/Nil
(shpOrderLoot ship station) -> True/Nil
(shpOrderPatrol ship center dist) -> True/Nil
(shpOrderWait ship waitTime) -> wait time in seconds (real time)
(shpRechargeItem ship itemListCursor charges)
(shpRechargeShield ship hpToRecharge)
(shpRefuelFromItem ship itemStruct) -> True/Nil
(shpRemoveDevice ship itemListCursor)
(shpSetEngineCore ship EngineCoreTypes)
(objRepairArmor ship armorSegment [hpToRepair])
SpaceObject functions
(objAddItem obj itemStruct)
(objAddRandomItems obj table count)
(objCommunicate obj senderObj msg [obj] [data])
(objEnumItems obj criteria item-cursor-var exp)
(objGateTo obj node entrypoint [effectID])
(objGetCargoSpaceLeft obj) -> space left in Kg
(objGetDamageType obj) -> damage type
(objGetData obj attrib) -> data
(objGetDistance obj destObj) -> distance in light-seconds
(objGetGlobalData obj attrib) -> data
(objGetItems obj criteria) -> list of itemStructs
(objGetName obj flags) -> Name of the object
* flag 1 = capitalize
* flag 2 = pluralize
* flag 4 = prefix with 'the' or 'a'
* flag 8 = prefix with count
(objGetNearestStargate obj) -> obj
(objGetObjRefData obj attrib) -> obj
(objGetPos obj) -> vector
(objGetStaticData obj attrib) -> data
(objGetTarget obj) -> obj
(objGetVisibleDamage obj) -> damage %
(objIncData obj attrib increment)
(objIsKnown obj)
(objJumpeTo obj posVector)
(objLowerShields obj)
(objMakeParalyzed obj time)
(objMoveTo obj posVector)
(objProgramDamage obj hacker progName aiLevel code)
(objRegisterForEvents target obj)
(objRemoveItem obj itemStruct [count]) -> itemStruct
(objSendMessage obj sender msg)
(objSetData obj attrib data)
(objSetGlobalData obj attrib data)
(objSetKnown obj)
(objSetName obj name)
(objSetObjRefData obj attrib obj)
(objUnregisterForEvents target obj)
Station functions
(staClearFireReconEvent station)
(staClearReconned station)
(staGetDockedShips station) -> list of docked ships
(staGetGlobalData type attrib) -> data
(staGetSubordinates station) -> list of subordinates (e.g., guardians)
(staGetType station) -> UNID
(staIsReconned station) -> True/Nil
(staSetActive station)
(staSetFireReconEvent station)
(staSetGlobalData type attrib data)
(staSetImageVariant station variant)
(staSetInactive station)
System functions
(sysAddEncounterEvent delay target encounterID gate)
(sysAddEncounterEventAtDist delay target encounterID distance)
(sysAddObjTimerEvent delay obj event) -> delay in ticks
(sysAddObjRecurringTimerEvent interval obj event) -> interval in ticks
(sysCreateEffect effectID anchor posVector) -> effect
(sysCreateShip classID pos sovereignID [controller]) -> ship
* pos is either a position vector or a gate object
* controller
. "" = standard
. "auton" = auton controller
. "fleet" = fleet controller
(sysCreateStation classID posVector) -> station
(sysFindObject source filter) -> list of objects
* G -> Stargates only
* s -> Include ships
* t -> Include stations (including planets)
* T -> Include structure-scale stations
* T:xyz -> Include stations with attribute 'xyz'
* A -> Active objects only (i.e., objects that can attack)
* B:xyz -> Only objects with attribute 'xyz'
* D:xyz -> Only objects with data 'xyz'
* E -> Enemy objects only
* F -> Friendly objects only
* M -> Manufactured objects only (i.e., no planets or asteroids)
* N -> Return only the nearest object to the source
* N:nn -> Return only objects within nn light-seconds
* O:escort -> Ships ordered to escort source
* R:nn -> Return only objects greater than nn light-seconds away
(sysGetName) -> name
(sysGetObjectByName source name) -> obj
(sysStopTime duration except)
(sysVectorPolarOffset obj angle radius) -> vector, radius in light-seconds
(sysVectorAdd vector vector) -> vector
(sysVectorDivide vector scalar) -> vector
(sysVectorMultiply vector scalar) -> vector
(sysVectorSubtract vector vector) -> vector
(unvGetTick) -> time
Dock Screen functions
(scrEnableAction screen action enabled)
(scrExitDock screen)
(scrGetCounter screen)
(scrGetItem screen) => itemStruct
(scrGetItemListCursor screen) => itemListCursor
(scrRemoveItem screen count) => itemStruct
(scrSetActionLabel screen action label)
(scrSetCounter screen counter)
(scrSetDesc screen description)
(scrSetListFilter screen filter)
(scrShowPane screen pane)
(scrShowPane screen screen [pane])
Player functions
(plyCharge player charge)
(plyComposeString player string)
(plyCredit player credit)
(plyDestroyed player destroyed-text)
(plyGetCredits player) -> Credits left
(plyGetInsuranceClaims player) -> No of insurance claims
(plyIncreaseDominaRel player change)
(plyIncreaseOracusRel player change)
(plyInsure player)
(plyIsInsured player) -> True if insured
(plyMessage player message)
Events in TranscendenceSource:
<OnCreate>
<OnDestroy>
<OnInit>
<OnRefuel>
<OnShieldDown>
<OnShow>
<OnObjDestroyed>
<OnObjDocked>
<OnObjEnteredGate>
<OnObjJumped>
<OnObjReconned>
<OnOrderChanged>
Damage types in order:
0. laser
1. kinetic
2. particle
3. blast
4. ion
5. thermo
6. positron
7. plasma
8. antimatter
9. nano
A. graviton
B. singularity
C. dark acid
D. dark steel
E. dark lightning
F. dark fire
----Notes----
The above is a collection from various threads and serves only as a easy-to-view reminder or help. Should any of the above statements prove incorrect of incomplete please message me and I'll add/change.
Just in case someone wonders - I didn't use the list function because of the linebreaks.
Thanks to everyone contributing and of course to George for providing the platform to mod on.
