Guest User

Irkalla

a guest
Dec 12th, 2012
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.04 KB | None | 0 0
  1. function Irkalla_ReturnBestInfantryUnit( city )
  2.  
  3. local plyID = city:GetOwner()
  4. local teamTechs = plyID:GetTeam()
  5.  
  6. if teamTechs:HasTech( GameInfo.Techs.TECH_NUCLEAR_FUSION.ID ) then  -- Should I be shot for this giant if/then bullshit?  Fuck, this thing is ugly.
  7.     return GameInfo.Units.UNIT_MECH.ID -- Giant Death Robot
  8. elseif teamTechs:HasTech( GameInfo.Techs.TECH_MOBILE_TACTICS ) then
  9.     return GameInfo.Units.UNIT_MECHANIZED_INFANTRY.ID
  10. elseif teamTechs:HasTech( GameInfo.Techs.TECH_PLASTIC.ID ) then
  11.     return GameInfo.Units.UNIT_INFANTRY.ID
  12. elseif teamTechs:HasTech( GameInfo.Techs.TECH_REPLACEABLE_PARTS.ID ) then
  13.     return GameInfo.Units.UNIT_GREAT_WAR_INFANTRY.ID
  14. elseif teamTechs:HasTech( GameInfo.Techs.TECH_RIFLING.ID ) then
  15.     return GameInfo.Units.UNIT_RIFLEMAN.ID
  16. elseif teamTechs:HasTech( GameInfo.Techs.TECH_GUNPOWDER.ID ) then
  17.     return GameInfo.Units.UNIT_MUSKETMAN.ID
  18. elseif teamTechs:HasTech( GameInfo.Techs.TECH_STEEL.ID ) then
  19.     return GameInfo.Units.UNIT_LONGSWORDSMAN.ID
  20. elseif teamTechs:HasTech( GameInfo.Techs.TECH_CIVIL_SERVICE.ID ) then
  21.     return GameInfo.Units.UNIT_PIKEMAN.ID
  22. elseif teamTechs:HasTech( GameInfo.Techs.TECH_IRON_WORKING.ID ) then
  23.     return GameInfo.Units.UNIT_SWORDSMAN.ID
  24. elseif teamTechs:HasTech( GameInfo.Techs.TECH_BRONZE_WORKING.ID ) then
  25.     return GameInfo.Units.UNIT_SPARTAN_PHALANX.ID -- May one get modded units like this?
  26. else
  27.     return GameInfo.Units.UNIT_WARRIOR.ID
  28. end
  29.  
  30. GameEvents.SetPopulation.Add( function( iX, iY, oldPop, iNewPop )
  31.  
  32. local plot      = Map.GetPlot( iX, iY )
  33. local city          = plot:GetPlotCity()
  34. local plyID         = city:GetOwner()
  35. local unit_MostCurrent  = nil
  36. local trait     = GameInfo.Traits[PlyID].UnitPerCapitalGrowths
  37. local unitAIType    = GameInfo.UnitAITypes.UNITAI_DEFENSE.ID
  38.  
  39. if ( trait > 0 &&  -- Gotta be a better way then this if/then bollocks
  40. ( math.floor( iNewPop ) % trait ) == 0 ) then
  41.     if city:IsCapital() then
  42.         if iNewPop > oldPop then
  43.             freeUnit = Irkalla_ReturnBestInfantryUnit( city )
  44.  
  45.             plyID:AddFreeUnit( freeUnit, unitAIType )
  46.         end
  47.     end
  48. end
  49.  
  50. end )
Advertisement
Add Comment
Please, Sign In to add comment