yieldsfish.c 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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,1,0,0,0,0,0,1,1,1/*12h*/,1,1,1,1,1,0,0,0,0,0,1};
  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. default:
  25. return 0.0;
  26. }
  27. return super.GetBaitTypeSensitivity(type);
  28. }
  29. override string GetCatchDeathSoundset()
  30. {
  31. return "Fishing_splash_SoundSet";
  32. }
  33. override string GetCatchAINoise()
  34. {
  35. return "";
  36. }
  37. override int GetCatchParticleID()
  38. {
  39. return ParticleList.FISHING_SIGNAL_SPLASH;
  40. }
  41. }
  42. //----------------------------------//
  43. //generic fish with basic info only //
  44. //----------------------------------//
  45. class YieldItemGenericFish : FishYieldItemBase
  46. {
  47. void YieldItemGenericFish(int baseWeight, string type, int enviroMask, int methodMask)
  48. {
  49. m_Type = type;
  50. m_EnviroMask = enviroMask;
  51. m_MethodMask = methodMask;
  52. }
  53. }
  54. //------------------------------//
  55. //detailed yield items over nyah//
  56. //------------------------------//
  57. //--------------//
  58. //temperate fish//
  59. //--------------//
  60. class YieldItemMackerel : FishYieldItemBase
  61. {
  62. override void Init()
  63. {
  64. super.Init();
  65. //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};
  66. //m_QualityBase = some custom value here;
  67. m_Type = "Mackerel";
  68. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
  69. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
  70. }
  71. }
  72. class YieldItemCarp : FishYieldItemBase
  73. {
  74. override void Init()
  75. {
  76. super.Init();
  77. //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};
  78. //m_QualityBase = some custom value here;
  79. m_Type = "Carp";
  80. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_POND;
  81. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
  82. }
  83. }
  84. class YieldItemSardines : FishYieldItemBase
  85. {
  86. override void Init()
  87. {
  88. super.Init();
  89. //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};
  90. //m_QualityBase = some custom value here;
  91. m_Type = "Sardines";
  92. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
  93. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_FISHTRAP_SMALL;
  94. }
  95. }
  96. class YieldItemBitterlings : FishYieldItemBase
  97. {
  98. override void Init()
  99. {
  100. super.Init();
  101. //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};
  102. //m_QualityBase = some custom value here;
  103. m_Type = "Bitterlings";
  104. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_POND;
  105. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_FISHTRAP_SMALL;
  106. }
  107. }
  108. //---------//
  109. //cool fish//
  110. //---------//
  111. class YieldItemWalleyePollock : FishYieldItemBase
  112. {
  113. override void Init()
  114. {
  115. super.Init();
  116. 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};
  117. //m_QualityBase = some custom value here;
  118. m_Type = "WalleyePollock";
  119. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
  120. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
  121. }
  122. }
  123. class YieldItemSteelheadTrout : FishYieldItemBase
  124. {
  125. override void Init()
  126. {
  127. super.Init();
  128. 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};
  129. //m_QualityBase = some custom value here;
  130. m_Type = "SteelheadTrout";
  131. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
  132. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_ROD|AnimalCatchingConstants.MASK_METHOD_FISHTRAP_LARGE;
  133. }
  134. }
  135. class YieldItemShrimp : FishYieldItemBase
  136. {
  137. override void Init()
  138. {
  139. super.Init();
  140. 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};
  141. //m_QualityBase = some custom value here;
  142. m_Type = "Shrimp";
  143. m_EnviroMask = AnimalCatchingConstants.MASK_ENVIRO_SEA;
  144. m_MethodMask = AnimalCatchingConstants.MASK_METHOD_FISHTRAP_SMALL;
  145. }
  146. }