Difference between revisions of "Cabal Common Library Doc OXPStrength"
m (part III) |
m (part IV) |
||
Line 24: | Line 24: | ||
== Functions == |
== Functions == |
||
+ | All profiled times are only for gathering infos for a fully equipped player ship. |
||
=== checkPower() === |
=== checkPower() === |
||
{{CodeEx|codeex=worldScripts.Cabal_Common_OXPStrength.checkOXPStrength.checkPower(entity,logging); }} |
{{CodeEx|codeex=worldScripts.Cabal_Common_OXPStrength.checkOXPStrength.checkPower(entity,logging); }} |
||
+ | {{CodeExTime|native=0.001295|extension=0.000488|js=0.000807}} |
||
Checks entities and returns the gathered coefficient. This is the main entry point for OXPs. |
Checks entities and returns the gathered coefficient. This is the main entry point for OXPs. |
||
− | For NPCs the standard range is |
+ | 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 |
+ | 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:''' |
'''Parameters:''' |
||
Line 40: | Line 42: | ||
:;coef:Number. Calculated coefficient. |
:;coef:Number. Calculated coefficient. |
||
::If entity was specified the value for this specific entity, otherwise the highest gathered coefficient in the system. |
::If entity was specified the value for this specific entity, otherwise the highest gathered coefficient in the system. |
||
+ | |||
+ | |||
+ | === checkEQs() === |
||
+ | {{CodeEx|codeex=worldScripts.Cabal_Common_OXPStrength.checkOXPStrength.checkEQs(entity); }} |
||
+ | {{CodeExTime|native=0.000423|extension=0.000032|js=0.000083}} |
||
+ | 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() === |
||
+ | {{CodeEx|codeex=worldScripts.Cabal_Common_OXPStrength.checkOXPStrength.checkMissiles(entity); }} |
||
+ | {{CodeExTime|native=0.000168|extension=0.000064|js=0.000124}} |
||
+ | 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 |
||
Line 90: | Line 128: | ||
* See [[#checkWeapons()|checkWeapons()]] |
* See [[#checkWeapons()|checkWeapons()]] |
||
− | |||
− | |||
− | === checkMissiles() === |
||
− | {{CodeEx|codeex=worldScripts.Cabal_Common_OXPStrength.checkOXPStrength.checkMissiles(entity); }} |
||
− | {{CodeExTime|native=0.000168|extension=0.000064|js=0.000124}} |
||
− | 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 |
||
Revision as of 15:35, 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
- 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;} |