CyGameCoreUtils.cpp 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. #include "CvGameCoreDLL.h"
  2. #include "CyGameCoreUtils.h"
  3. #include "CvGameCoreUtils.h"
  4. #include "CyPlot.h"
  5. #include "CyCity.h"
  6. #include "CyUnit.h"
  7. int cyIntRange(int iNum, int iLow, int iHigh)
  8. {
  9. return range(iNum, iLow, iHigh);
  10. }
  11. float cyFloatRange(float fNum, float fLow, float fHigh)
  12. {
  13. return range(fNum, fLow, fHigh);
  14. }
  15. int cyDxWrap(int iDX)
  16. {
  17. return dxWrap(iDX);
  18. }
  19. int cyDyWrap(int iDY)
  20. {
  21. return dyWrap(iDY);
  22. }
  23. int cyPlotDistance(int iX, int iY, int iX2, int iY2)
  24. {
  25. return plotDistance(iX, iY, iX2, iY2);
  26. }
  27. int cyStepDistance(int iX1, int iY1, int iX2, int iY2)
  28. {
  29. return stepDistance(iX1, iY1, iX2, iY2);
  30. }
  31. CyPlot* cyPlotDirection(int iX, int iY, DirectionTypes eDirection)
  32. {
  33. return new CyPlot(plotDirection(iX, iY, eDirection));
  34. }
  35. CyPlot* cyPlotCardinalDirection(int iX, int iY, CardinalDirectionTypes eCardDirection)
  36. {
  37. return new CyPlot(plotCardinalDirection(iX, iY, eCardDirection));
  38. }
  39. CyPlot* cysPlotCardinalDirection(int iX, int iY, CardinalDirectionTypes eCardDirection)
  40. { static CyPlot plot;
  41. plot.setPlot(plotCardinalDirection(iX, iY, eCardDirection));
  42. return &plot;
  43. }
  44. CyPlot* cyPlotXY(int iX, int iY, int iDX, int iDY)
  45. {
  46. return new CyPlot(plotXY(iX, iY, iDX, iDY));
  47. }
  48. CyPlot* cysPlotXY(int iX, int iY, int iDX, int iDY)
  49. {
  50. static CyPlot plot;
  51. plot.setPlot(plotXY(iX, iY, iDX, iDY));
  52. return &plot;
  53. }
  54. DirectionTypes cyDirectionXYFromInt(int iDX, int iDY)
  55. {
  56. return directionXY(iDX, iDY);
  57. }
  58. DirectionTypes cyDirectionXYFromPlot(CyPlot* pFromPlot, CyPlot* pToPlot)
  59. {
  60. return directionXY(pFromPlot->getPlot(), pToPlot->getPlot());
  61. }
  62. CyPlot* cyPlotCity(int iX, int iY, int iIndex)
  63. {
  64. return new CyPlot(plotCity(iX, iY, iIndex));
  65. }
  66. //>>>>Unofficial Bug Fix: Deleted by Denev 2010/04/06
  67. /*
  68. int cyPlotCityXYFromInt(int iDX, int iDY)
  69. {
  70. return plotCityXY(iDX, iDY);
  71. }
  72. */
  73. //<<<<Unofficial Bug Fix: End Delete
  74. int cyPlotCityXYFromCity(CyCity* pCity, CyPlot* pPlot)
  75. {
  76. return plotCityXY(pCity->getCity(), pPlot->getPlot());
  77. }
  78. CardinalDirectionTypes cyGetOppositeCardinalDirection(CardinalDirectionTypes eCardDirection)
  79. {
  80. return getOppositeCardinalDirection(eCardDirection);
  81. }
  82. DirectionTypes cyCardinalDirectionToDirection(CardinalDirectionTypes eCard)
  83. {
  84. return cardinalDirectionToDirection(eCard);
  85. }
  86. bool cyIsCardinalDirection(DirectionTypes eDirection)
  87. {
  88. return isCardinalDirection(eDirection);
  89. }
  90. DirectionTypes cyEstimateDirection(int iDX, int iDY)
  91. {
  92. return estimateDirection(iDX, iDY);
  93. }
  94. bool cyAtWar(int /*TeamTypes*/ eTeamA, int /*TeamTypes*/ eTeamB)
  95. {
  96. return atWar((TeamTypes)eTeamA, (TeamTypes)eTeamB);
  97. }
  98. bool cyIsPotentialEnemy(int /*TeamTypes*/ eOurTeam, int /*TeamTypes*/ eTheirTeam)
  99. {
  100. return isPotentialEnemy((TeamTypes)eOurTeam, (TeamTypes)eTheirTeam);
  101. }
  102. CyCity* cyGetCity(IDInfo city)
  103. {
  104. return new CyCity(getCity(city));
  105. }
  106. CyUnit* cyGetUnit(IDInfo unit)
  107. {
  108. return new CyUnit(getUnit(unit));
  109. }
  110. bool cyIsPromotionValid(int /*PromotionTypes*/ ePromotion, int /*UnitTypes*/ eUnit, bool bLeader)
  111. {
  112. return isPromotionValid((PromotionTypes) ePromotion, (UnitTypes) eUnit, bLeader);
  113. }
  114. int cyGetPopulationAsset(int iPopulation)
  115. {
  116. return getPopulationAsset(iPopulation);
  117. }
  118. int cyGetLandPlotsAsset(int iLandPlots)
  119. {
  120. return getLandPlotsAsset(iLandPlots);
  121. }
  122. int cyGetPopulationPower(int iPopulation)
  123. {
  124. return getPopulationPower(iPopulation);
  125. }
  126. int cyGetPopulationScore(int iPopulation)
  127. {
  128. return getPopulationScore(iPopulation);
  129. }
  130. int cyGetLandPlotsScore(int iPopulation)
  131. {
  132. return getLandPlotsScore(iPopulation);
  133. }
  134. int cyGetTechScore(int /*TechTypes*/ eTech)
  135. {
  136. return getTechScore((TechTypes)eTech);
  137. }
  138. int cyGetWonderScore(int /*BuildingClassTypes*/ eWonderClass)
  139. {
  140. return getWonderScore((BuildingClassTypes)eWonderClass);
  141. }
  142. int /*ImprovementTypes*/ cyFinalImprovementUpgrade(int /*ImprovementTypes*/ eImprovement, int iCount, int ePlayer)
  143. {
  144. return finalImprovementUpgrade((ImprovementTypes) eImprovement, iCount, (PlayerTypes)ePlayer);
  145. }
  146. int cyGetWorldSizeMaxConscript(int /*CivicTypes*/ eCivic)
  147. {
  148. return getWorldSizeMaxConscript((CivicTypes) eCivic);
  149. }
  150. bool cyIsReligionTech(int /*TechTypes*/ eTech)
  151. {
  152. return isReligionTech((TechTypes) eTech);
  153. }
  154. bool cyIsTechRequiredForUnit(int /*TechTypes*/ eTech, int /*UnitTypes*/ eUnit)
  155. {
  156. return isTechRequiredForUnit((TechTypes)eTech, (UnitTypes)eUnit);
  157. }
  158. bool cyIsTechRequiredForBuilding(int /*TechTypes*/ eTech, int /*BuildingTypes*/ eBuilding)
  159. {
  160. return isTechRequiredForBuilding((TechTypes)eTech, (BuildingTypes)eBuilding);
  161. }
  162. bool cyIsTechRequiredForProject(int /*TechTypes*/ eTech, int /*ProjectTypes*/ eProject)
  163. {
  164. return isTechRequiredForProject((TechTypes)eTech, (ProjectTypes)eProject);
  165. }
  166. bool cyIsWorldUnitClass(int /*UnitClassTypes*/ eUnitClass)
  167. {
  168. return isWorldUnitClass((UnitClassTypes)eUnitClass);
  169. }
  170. bool cyIsTeamUnitClass(int /*UnitClassTypes*/ eUnitClass)
  171. {
  172. return isTeamUnitClass((UnitClassTypes)eUnitClass);
  173. }
  174. bool cyIsNationalUnitClass(int /*UnitClassTypes*/ eUnitClass)
  175. {
  176. return isNationalUnitClass((UnitClassTypes)eUnitClass);
  177. }
  178. bool cyIsLimitedUnitClass(int /*UnitClassTypes*/ eUnitClass)
  179. {
  180. return isLimitedUnitClass((UnitClassTypes)eUnitClass);
  181. }
  182. bool cyIsWorldWonderClass(int /*BuildingClassTypes*/ eBuildingClass)
  183. {
  184. return isWorldWonderClass((BuildingClassTypes)eBuildingClass);
  185. }
  186. bool cyIsTeamWonderClass(int /*BuildingClassTypes*/ eBuildingClass)
  187. {
  188. return isTeamWonderClass((BuildingClassTypes)eBuildingClass);
  189. }
  190. bool cyIsNationalWonderClass(int /*BuildingClassTypes*/ eBuildingClass)
  191. {
  192. return isNationalWonderClass((BuildingClassTypes)eBuildingClass);
  193. }
  194. bool cyIsLimitedWonderClass(int /*BuildingClassTypes*/ eBuildingClass)
  195. {
  196. return isLimitedWonderClass((BuildingClassTypes)eBuildingClass);
  197. }
  198. bool cyIsWorldProject(int /*ProjectTypes*/ eProject)
  199. {
  200. return isWorldProject((ProjectTypes)eProject);
  201. }
  202. bool cyIsTeamProject(int /*ProjectTypes*/ eProject)
  203. {
  204. return isTeamProject((ProjectTypes)eProject);
  205. }
  206. bool cyIsLimitedProject(int /*ProjectTypes*/ eProject)
  207. {
  208. return isLimitedProject((ProjectTypes)eProject);
  209. }
  210. int cyGetCombatOdds(CyUnit* pAttacker, CyUnit* pDefender)
  211. {
  212. return getCombatOdds(pAttacker->getUnit(), pDefender->getUnit());
  213. }
  214. int cyGetEspionageModifier(int iOurTeam, int iTargetTeam)
  215. {
  216. return getEspionageModifier((TeamTypes)iOurTeam, (TeamTypes)iTargetTeam);
  217. }
  218. // BUG - Unit Experience - start
  219. int cyCalculateExperience(int iLevel, int ePlayer)
  220. {
  221. return calculateExperience(iLevel, (PlayerTypes)ePlayer);
  222. }
  223. int cyCalculateLevel(int iExperience, int ePlayer)
  224. {
  225. return calculateLevel(iExperience, (PlayerTypes)ePlayer);
  226. }
  227. // BUG - Unit Experience - end