YieldsFish.c
class FishYieldItemBaseclass YieldItemGenericFishclass YieldItemMackerelclass YieldItemCarpclass YieldItemSardinesclass YieldItemBitterlingsclass YieldItemWalleyePollockclass YieldItemSteelheadTroutclass YieldItemShrimp
class FishYieldItemBase : YieldItemBase
{
//used for interpolation between min/max times (UAFishingConstants.CYCLE_LENGTH_MIN/UAFishingConstants.CYCLE_LENGTH_MAX)
protected float m_HourlyCycleLengthCoefs[24]; //0 - 23h;
override void Init()
{
super.Init();
m_HourlyCycleLengthCoefs = {1,1,1,1,0.5,0.2,0,0,0,0.2,0.5,1,1/*12h*/,1,1,1,0.75,0.5,0.2,0,0,0,0.2,0.5};
m_QualityBase = AnimalCatchingConstants.QUALITY_FISH_BASE; //base quality of the fish
}
float GetCycleTimeForYieldItem(CatchingContextFishingRodAction ctx)
{
int hour = Math.Floor(g_Game.GetDayTime());
float res = Math.Lerp(UAFishingConstants.CYCLE_LENGTH_MIN,UAFishingConstants.CYCLE_LENGTH_MAX,m_HourlyCycleLengthCoefs[hour]);
return res;
}
override float GetBaitTypeSensitivity(ECatchingBaitCategories type)
{
switch (type)
{
case ECatchingBaitCategories.BAIT_TYPE_EMPTY:
case ECatchingBaitCategories.BAIT_TYPE_MEAT_SMALL:
return 1;
}
return 0.0;
}
override string GetCatchDeathSoundset()
{
return "Fishing_splash_SoundSet";
}
override string GetCatchAINoise()
{
return "";
}
override int GetCatchParticleID()
{
return ParticleList.FISHING_SIGNAL_SPLASH;
}
}
//----------------------------------//
//generic fish with basic info only //
//----------------------------------//
class YieldItemGenericFish : FishYieldItemBase
{
void YieldItemGenericFish(int baseWeight, string type, int enviroMask, int methodMask)
{
m_Type = type;
m_EnviroMask = enviroMask;
m_MethodMask = methodMask;
}
}
//------------------------------//
//detailed yield items over nyah//
//------------------------------//
//--------------//
//temperate fish//
//--------------//
class YieldItemMackerel : FishYieldItemBase
{
override void Init()
{
super.Init();
//m_HourlyCycleLengthCoefs = {1,1,1,1,1,1,1,1,1,1,1,1,1/*12h*/,1,1,1,1,1,1,1,1,1,1,1};
//m_QualityBase = some custom value here;
m_Type = "Mackerel";
m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
}
}
class YieldItemCarp : FishYieldItemBase
{
override void Init()
{
super.Init();
//m_HourlyCycleLengthCoefs = {1,1,1,1,1,1,1,1,1,1,1,1,1/*12h*/,1,1,1,1,1,1,1,1,1,1,1};
//m_QualityBase = some custom value here;
m_Type = "Carp";
m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_POND;
m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
}
}
class YieldItemSardines : FishYieldItemBase
{
override void Init()
{
super.Init();
//m_HourlyCycleLengthCoefs = {1,1,1,1,1,1,1,1,1,1,1,1,1/*12h*/,1,1,1,1,1,1,1,1,1,1,1};
//m_QualityBase = some custom value here;
m_Type = "Sardines";
m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
m_MethodMask = AnimalCatchingConstants.MASK_METHOD_FISHTRAP_SMALL;
}
}
class YieldItemBitterlings : FishYieldItemBase
{
override void Init()
{
super.Init();
//m_HourlyCycleLengthCoefs = {1,1,1,1,1,1,1,1,1,1,1,1,1/*12h*/,1,1,1,1,1,1,1,1,1,1,1};
//m_QualityBase = some custom value here;
m_Type = "Bitterlings";
m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_POND;
m_MethodMask = AnimalCatchingConstants.MASK_METHOD_FISHTRAP_SMALL;
}
}
//---------//
//cool fish//
//---------//
class YieldItemWalleyePollock : FishYieldItemBase
{
override void Init()
{
super.Init();
m_HourlyCycleLengthCoefs = {1,1,1,1,1,1,1,0.8,0.7,0.5,0.2,0,0/*12h*/,0,0,0,0.2,0.5,0.7,0.8,1,1,1,1};
//m_QualityBase = some custom value here;
m_Type = "WalleyePollock";
m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
}
}
class YieldItemSteelheadTrout : FishYieldItemBase
{
override void Init()
{
super.Init();
m_HourlyCycleLengthCoefs = {1,1,1,1,1,1,1,1,1,0.5,0.2,0,0/*12h*/,0,0,0.2,0.5,0.7,1,1,1,1,1,1};
//m_QualityBase = some custom value here;
m_Type = "SteelheadTrout";
m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
}
}
class YieldItemShrimp : FishYieldItemBase
{
override void Init()
{
super.Init();
m_HourlyCycleLengthCoefs = {1,1,1,1,1,1,1,1,1,1,0,0,0/*12h*/,0,0,0,0,1,1,1,1,1,1,1};
//m_QualityBase = some custom value here;
m_Type = "Shrimp";
m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
m_MethodMask = AnimalCatchingConstants.MASK_METHOD_FISHTRAP_SMALL;
}
}