yieldsfish.c 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. class FishYieldItemBase : YieldItemBase
  2. {
  3. //used for interpolation between min/max times (UAFishingConstants.CYCLE_LENGTH_MIN/UAFishingConstants.CYCLE_LENGTH_MAX)
  4. protected float m_HourlyCycleLengthCoefs[24]; //0 - 23h;
  5. override void Init()
  6. {
  7. super.Init();
  8. 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};
  9. m_QualityBase = AnimalCatchingConstants.QUALITY_FISH_BASE; //base quality of the fish
  10. }
  11. float GetCycleTimeForYieldItem(CatchingContextFishingRodAction ctx)
  12. {
  13. int hour = Math.Floor(GetGame().GetDayTime());
  14. float res = Math.Lerp(UAFishingConstants.CYCLE_LENGTH_MIN,UAFishingConstants.CYCLE_LENGTH_MAX,m_HourlyCycleLengthCoefs[hour]);
  15. return res;
  16. }
  17. override float GetBaitTypeSensitivity(ECatchingBaitCategories type)
  18. {
  19. switch (type)
  20. {
  21. case ECatchingBaitCategories.BAIT_TYPE_EMPTY:
  22. case ECatchingBaitCategories.BAIT_TYPE_MEAT_SMALL:
  23. return 1;
  24. }
  25. return 0.0;
  26. }
  27. override string GetCatchDeathSoundset()
  28. {
  29. return "Fishing_splash_SoundSet";
  30. }
  31. override string GetCatchAINoise()
  32. {
  33. return "";
  34. }
  35. override int GetCatchParticleID()
  36. {
  37. return ParticleList.FISHING_SIGNAL_SPLASH;
  38. }
  39. }
  40. //----------------------------------//
  41. //generic fish with basic info only //
  42. //----------------------------------//
  43. class YieldItemGenericFish : FishYieldItemBase
  44. {
  45. void YieldItemGenericFish(int baseWeight, string type, int enviroMask, int methodMask)
  46. {
  47. m_Type = type;
  48. m_EnviroMask = enviroMask;
  49. m_MethodMask = methodMask;
  50. }
  51. }
  52. //------------------------------//
  53. //detailed yield items over nyah//
  54. //------------------------------//
  55. //--------------//
  56. //temperate fish//
  57. //--------------//
  58. class YieldItemMackerel : FishYieldItemBase
  59. {
  60. override void Init()
  61. {
  62. super.Init();
  63. //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};
  64. //m_QualityBase = some custom value here;
  65. m_Type = "Mackerel";
  66. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
  67. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
  68. }
  69. }
  70. class YieldItemCarp : FishYieldItemBase
  71. {
  72. override void Init()
  73. {
  74. super.Init();
  75. //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};
  76. //m_QualityBase = some custom value here;
  77. m_Type = "Carp";
  78. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_POND;
  79. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
  80. }
  81. }
  82. class YieldItemSardines : FishYieldItemBase
  83. {
  84. override void Init()
  85. {
  86. super.Init();
  87. //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};
  88. //m_QualityBase = some custom value here;
  89. m_Type = "Sardines";
  90. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
  91. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_FISHTRAP_SMALL;
  92. }
  93. }
  94. class YieldItemBitterlings : FishYieldItemBase
  95. {
  96. override void Init()
  97. {
  98. super.Init();
  99. //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};
  100. //m_QualityBase = some custom value here;
  101. m_Type = "Bitterlings";
  102. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_POND;
  103. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_FISHTRAP_SMALL;
  104. }
  105. }
  106. //---------//
  107. //cool fish//
  108. //---------//
  109. class YieldItemWalleyePollock : FishYieldItemBase
  110. {
  111. override void Init()
  112. {
  113. super.Init();
  114. 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};
  115. //m_QualityBase = some custom value here;
  116. m_Type = "WalleyePollock";
  117. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
  118. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
  119. }
  120. }
  121. class YieldItemSteelheadTrout : FishYieldItemBase
  122. {
  123. override void Init()
  124. {
  125. super.Init();
  126. 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};
  127. //m_QualityBase = some custom value here;
  128. m_Type = "SteelheadTrout";
  129. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
  130. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
  131. }
  132. }
  133. class YieldItemShrimp : FishYieldItemBase
  134. {
  135. override void Init()
  136. {
  137. super.Init();
  138. 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};
  139. //m_QualityBase = some custom value here;
  140. m_Type = "Shrimp";
  141. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
  142. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_FISHTRAP_SMALL;
  143. }
  144. }