Difference between revisions of "Cabal Common Library Doc OXPStrength"

From Elite Wiki
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 0..192, but OXP entities can have a lot higher value based on their settings.
+
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 110 in the beginning and gets up to 307 if fully equipped with standard weaponry, missiles and other standard equipment. The Boa Class Cruiser even gets 314.
+
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

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").


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;}