84 for (
int i = 0; i < count; i++)
106 for (
int i = 0; i < count; i++)
112 for (
int j = 0; j < weight; j++)
176 float highestSensitivity = 0.0;
177 float sensitivity = 0.0;
179 ECatchingBaitCategories baitCategoryType;
181 for (
int i = 0; i < count; i++)
184 if (excludedTypes && excludedTypes.Find(baitCategoryType) != -1)
195 highestSensitivity =
Math.
Max(highestSensitivity,sensitivity);
202 Print(
"dbgTrapz | " + yItem +
" compatible due to unspecified bait compatibility!");
203 else if (highestSensitivity > 0.0)
204 Print(
"dbgTrapz | " + yItem +
" compatible with highestSensitivity: " + highestSensitivity);
208 return count == 0 || highestSensitivity > 0.0;
221 ErrorEx(
"No item defined for 'InitCatchingItemData'. Skipping.");
284 m_Result.SetCatchChanceOverride(ovrd,val);
289 m_Result.SetQualityOverride(ovrd,val);
309 return m_Result.SpawnAndSetup(yItemIdx,v);
map< int, ref YieldItemBase > YieldsMap
void InitBaitCompatibilityMap()
void ClearCatchingItemData()
called before actual item data initialization
ref array< YieldItemBase > m_ExcludedItems
void UpdateCatchingItemData()
void ParseYieldItemsForCompatibility(array< ECatchingBaitCategories > excludedTypes=null)
void InitCatchMethodMask()
void DeserializeData(Param par)
ref map< int, ref BaitData > m_BaitCompatibilityMap
class BaitData m_MainItem
ref CatchingResultBasic m_Result
void InitItemValues(EntityAI item)
override to init context-specific values
int GetCatchMethodMask()
override using 'ECatchMethodMask'
bool ModifySignalProbability(inout float probability)
void SetResultQualityOverride(bool ovrd, float val=0.0)
float m_QualityDispersionMinMod
ref array< YieldItemBase > m_CompatibleItems
ref array< int > m_ProbabilityArray
void CreateResultDataStructure()
override if using another result
void InitCatchingItemData()
EntityAI SpawnAndSetupCatch(out int yItemIdx, vector v=vector.Zero)
void CatchingContextBase(Param par)
float m_QualityDispersionMaxMod
void SetResultChanceOverride(bool ovrd, float val=0.0)
float GetQualityModifier()
void InitCatchEnviroMask()
bool CheckBaitCompatibility(YieldItemBase yItem, array< ECatchingBaitCategories > excludedTypes=null)
bool CheckMaskCompatibility(YieldItemBase yItem)
void RecalculateProcessingData()
Calculates and sets all data used in ongoing calculations.
void UpdateBaseProbability(YieldItemBase yItem)
updates base probability when catching the specific item (some context subclasses only)
void SetupProbabilityArray()
void BaitData(float value, EntityAI owner)
proto native Mission GetMission()
Super root of all classes in Enforce script.
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
CatchYieldBank GetCatchYieldBank()
int GetYieldWeight(CatchingContextBase ctx)
float GetBaitTypeSensitivity(ECatchingBaitCategories type)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
InventoryTraversalType
tree traversal type, for more see http://en.wikipedia.org/wiki/Tree_traversal
proto native CGame GetGame()
proto void Print(void var)
Prints content of variable to console/log.
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static proto float Max(float x, float y)
Returns bigger of two given values.
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
proto native int Hash()
Returns hash of string.
proto native bool IsCLIParam(string param)
Returns if command line argument is present.