Difference between revisions of "Cabal Common Library Doc OXPStrength"
m (part IV) |
m (part V) |
||
Line 14: | Line 14: | ||
* Mass (v1.7.1) | * Mass (v1.7.1) | ||
* MaxEnergy | * MaxEnergy | ||
+ | * MaxPitch (v1.7.1) | ||
+ | * MaxRoll (v1.7.1) | ||
* MaxSpeed | * MaxSpeed | ||
* MaxThrust | * MaxThrust | ||
Line 21: | Line 23: | ||
* Subent laser | * Subent laser | ||
* Turrets | * Turrets | ||
− | |||
== Functions == | == Functions == |
Revision as of 21:41, 7 February 2013
Contents
Overview
This is the main class for the OXPStrength with its members and part of the Cabal_Common_Library.
It is a helper tool specially for mission OXPs to check the environment and helps to determine the players strength. The script is meant for OXP developers only.
The underlaying API calculates a checksum (coef) for entities. This checksum can be gathered by scripts for specific entities (Player and NPCs). Factors are:
- Accuracy (v1.7.1)
- Distance to the hotspots (MainStation,WP and lanes WP,WS,PS)
- Equipment
- Escorts / Defense ships
- Laser
- Mass (v1.7.1)
- MaxEnergy
- MaxPitch (v1.7.1)
- MaxRoll (v1.7.1)
- MaxSpeed
- MaxThrust
- Missiles
- PrimaryRole
- ShieldRechargeRates
- Subent laser
- Turrets
Functions
All profiled times are only for gathering infos for a fully equipped player ship.
checkPower()
worldScripts.Cabal_Common_OXPStrength.checkOXPStrength.checkPower(entity,logging); |
Profiler | |
---|---|
Native | 0.001295s |
Extension | 0.000488s |
JS | 0.000807s |
Checks entities and returns the gathered coefficient. This is the main entry point for OXPs.
For NPCs the standard range is <200, but OXP entities can have a lot higher value based on their settings. Playerships are treated different and are getting higher values. A standard Cobra MkIII has a value of ~100 in the beginning and gets up to <500 if fully equipped with standard weaponry, missiles and other standard equipment. The Boa Class Cruiser has even if little bit more.
Parameters:
- entity
- Entity. If specified only this entity will be checked, otherwise all entities in the system (except the player).
- Optional.
- logging
- Boolean. If true a verbose lits will be logged to Latest.log. This is useful while writing OXPs.
- Optional.
Returns:
- coef
- Number. Calculated coefficient.
- If entity was specified the value for this specific entity, otherwise the highest gathered coefficient in the system.
checkEQs()
worldScripts.Cabal_Common_OXPStrength.checkOXPStrength.checkEQs(entity); |
Profiler | |
---|---|
Native | 0.000423s |
Extension | 0.000032s |
JS | 0.000083s |
Returns weighted value of installed equipment.
Paramerters:
- entity
- Entity.
Returns:
- value
- Number. Summed value for all installed equipment.
- Every equipment adds based on tokens
- 35 - naval, military, jammer, laser
- 30 - energy, shield, boost, cloak
- 25 - turret, missile, mine
- 20 - hide, eeu, rack
- 10 - ecm, target
checkMissiles()
worldScripts.Cabal_Common_OXPStrength.checkOXPStrength.checkMissiles(entity); |
Profiler | |
---|---|
Native | 0.000168s |
Extension | 0.000064s |
JS | 0.000124s |
Returns weighted value of pylon mounted weapons.
Parameters:
- entity
- Entity.
Returns:
- value
- Number. Summed value for all mounted pylons.
- Every pylon mounted missile or mine adds based on tokens
- 5 - naval, boost, military, cascade
- 4 - harpoon, intercept, nuke, law, frag, bomb
- 3 - mine, stun, override, jammer, drone, guard, field
- 2 - hard, ecm, rack, launcher, ams
- 1 - otherwise
checkSpaceLane()
worldScripts.Cabal_Common_OXPStrength.checkOXPStrength.checkSpaceLane(entity); |
Profiler | |
---|---|
Native | 0.000550s |
Extension | 0.000260s |
JS | 0.000545s |
Returns array with distances to the main station, witchpoint and lanes (witchpoint->planet, planet->sun, witchpoint->sun). In interstellar space or nova systems all distances will be zero.
Parameters:
- entity
- Entity.
Returns:
- array
- Array with the format [ID,distMS,distWP,distLWP,distLPS,distLWS].
- ID is
- -1 for interstellar space.
- 0 for standard systems if at least one of the distances < 50000.
- 1 for nova systems.
- 2 for standard systems if none of the distances < 50000.
checkWeapons()
worldScripts.Cabal_Common_OXPStrength.checkOXPStrength.checkWeapons(entity); |
Profiler | |
---|---|
Native | 0.000176s |
Extension | 0.000067s |
JS | 0.000152s |
Returns array with values for weapons in standard weapon slots (forward, aft, port, starboard).
Parameters:
- entity
- Entity.
Returns:
- array
- Array with the format [number of slots, sum, typestring]. typestring is concatenated string of sum (e.g. "5311").
- sum is the sum of all weapons
- 1 - Pulse Laser
- 3 - Beam Laser
- 4 - Mining Laser, Twin Plasma Cannon
- 5 - Military Laser
- 8 - Thargoid Laser
checkSubWeapons()
worldScripts.Cabal_Common_OXPStrength.checkOXPStrength.checkSubWeapons(entity); |
Profiler | |
---|---|
Native | 0.000180s |
Extension | 0.000077s |
JS | 0.000132s |
Returns array with values for weapons in subEntites.
Parameters:
- entity
- Entity.
Returns:
- array
- Array with the format [Number of Turrets, Number of slots, sum, typestring]. typestring is concatenated string of sum, but exclusive turrets (e.g. "1111").
- See checkWeapons()
Properties
CCL_OXPStrength
The script can set a property to be used for strong entities.
worldScripts.Cabal_Common_OXPStrength.CCL_OXPStrength = 5; |
Main purpose is to prevent the spawning by the populator. OXPs can use it in condition scripts. Default is 9.
Suggested classes:
- 1 = coef < 100
- 2 = coef < 200 - This is the default threshold for native Oolite NPCs if logging is used.
- 3 = coef < 300
- 4 = coef < 400
- 5 = coef < 600
- 6 = coef < 900
- 7 = coef < 1000
- 8 = coef < 3000
- 9 = otherwise, default setting for .CCL_OXPStrength.
scriptInfo
ccl_missionShip
Missionships can also use a script_info key to indicate that this entity has to be handled with care by other scripts.
script_info = {ccl_missionShip = true;} |