Guest User

human exp 10

a guest
Aug 24th, 2016
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.74 KB | None | 0 0
  1. -- Stratagus Map - Single player campaign
  2.  
  3. Load("campaigns/human-exp/levelx10h_c2.sms")
  4.  
  5. Briefing(
  6. title,
  7. objectives,
  8. "../campaigns/human/interface/introscreen1.png",
  9. "campaigns/human-exp/levelx10h.txt",
  10. {"campaigns/human-exp/levelx10h-intro1.wav",
  11. "campaigns/human-exp/levelx10h-intro2.wav",
  12. "campaigns/human-exp/levelx10h-intro3.wav"}
  13. )
  14.  
  15. Triggers = [[
  16. AddTrigger(
  17. function() return GetPlayerData(2, "TotalNumUnits") == 0 and
  18. GetPlayerData(3, "TotalNumUnits") == 0 and
  19. GetPlayerData(6, "TotalNumUnits") == 0 end,
  20. function() return ActionVictory() end)
  21. AddTrigger(
  22. function() return true end,
  23. function() SetDiplomacy(0, "allied", 1)
  24. SetDiplomacy(1, "allied", 0)
  25. SetSharedVision(1, true, 0)
  26. SetSharedVision(0, true, 1)
  27. SetDiplomacy(0, "enemy", 2)
  28. SetDiplomacy(2, "enemy", 0)
  29. SetDiplomacy(0, "enemy", 3)
  30. SetDiplomacy(3, "enemy", 0)
  31. SetDiplomacy(0, "enemy", 6)
  32. SetDiplomacy(6, "enemy", 0)
  33. return false end)
  34. AddTrigger(
  35. function() return GetPlayerData(15, "UnitTypesCount", "unit-gold-mine") == 0 end,
  36. function() return ActionVictory() end)
  37. AddTrigger(
  38. function() return GetPlayerData(GetThisPlayer(), "TotalNumUnits") == 0 end,
  39. function() return ActionDefeat() end)
  40. AddTrigger(
  41. function() return GetPlayerData(GetThisPlayer(), "UnitTypesCount", "unit-white-mage") == 0 and
  42. GetPlayerData(0, "UnitTypesCount", "unit-white-mage") == 0 end,
  43. function() return ActionDefeat() end)
  44. AddTrigger(
  45. function() return GetPlayerData(GetThisPlayer(), "UnitTypesCount", "unit-female-hero") == 0 and
  46. GetPlayerData(0, "UnitTypesCount", "unit-female-hero") == 0 end,
  47. function() return ActionDefeat() end)
  48. AddTrigger(
  49. function() return GetPlayerData(GetThisPlayer(), "UnitTypesCount", "unit-flying-angel") == 0 and
  50. GetPlayerData(0, "UnitTypesCount", "unit-flying-angel") == 0 end,
  51. function() return ActionDefeat() end)
  52. AddTrigger(
  53. function() return GetPlayerData(GetThisPlayer(), "UnitTypesCount", "unit-arthor-literios") == 0 and
  54. GetPlayerData(0, "UnitTypesCount", "unit-arthor-literios") == 0 end,
  55. function() return ActionDefeat() end)
  56. AddTrigger(
  57. function() return GetPlayerData(GetThisPlayer(), "UnitTypesCount", "unit-knight-rider") == 0 and
  58. GetPlayerData(0, "UnitTypesCount", "unit-knight-rider") == 0 end,
  59. function() return ActionDefeat() end)
  60. ]]
  61.  
  62. assert(loadstring(Triggers))()
  63.  
  64. --local hum_exp_10_hero_loop = {
  65. -- function() DebugPrint("Looping !\n") return false end,
  66. -- function() return AiSleep(250) end,
  67. -- function() return OrderUnits(0, "unit-knight-rider", 94, 96, 1, 1, 94, 96, "attack")
  68. -- function() return OrderUnits(0, "unit-arthor-literios", 95, 95, 1, 1, 95, 95, "attack")
  69. -- function() return OrderUnits(0, "unit-female-hero", 91, 77, 1, 1, 91, 77, "attack")
  70. -- function() return OrderUnits(0, "unit-white-mage", 92, 78, 1, 1, 92, 78, "attack")
  71. -- function() return OrderUnits(0, "unit-flying-angel", 96, 88, 1, 1, 96, 88, "attack")
  72. -- function() DebugMessage("Heroes move..."); return AIHeroMove end,
  73. -- function() stratagus.gameData.AIState.loop_index[1 + AiPlayer()] = 0; return false end,
  74. --}
  75.  
  76. local hum_exp_10_ally_force = {
  77. function() DebugPrint("Looping !\n") return false end,
  78. function() return AiSleep(2500) end,
  79. function() return AiForce(1, {AiFlyer(), 3}) end,
  80. function() return AiWaitForce(1) end,
  81. function() DebugMessage("Attacking..."); return AiAttackWithForce(1) end,
  82. function() return AiSleep(1000) end,
  83. function() return AiForce(2, {AiSoldier(), 3, AiShooter(), 3}) end,
  84. function() return AiWaitForce(2) end,
  85. function() DebugMessage("Attacking..."); return AiAttackWithForce(2) end,
  86. function() stratagus.gameData.AIState.loop_index[1 + AiPlayer()] = 0; return false end,
  87. }
  88.  
  89.  
  90. local hum_exp_10a_loop_funcs = {
  91. function() DebugPrint("Looping !\n") return false end,
  92. function() return AiSleep(2000) end,
  93. function() return AiForce(1, {AiFlyer(), 3}) end,
  94. function() return AiWaitForce(1) end,
  95. function() DebugMessage("Attacking..."); return AiAttackWithForce(1) end,
  96. function() stratagus.gameData.AIState.loop_index[1 + AiPlayer()] = 0; return false end,
  97. }
  98.  
  99. local hum_exp_10b_loop_funcs = {
  100. function() DebugPrint("Looping !\n") return false end,
  101. function() return AiForce(1, {AiSoldier(), 1}, true) end,
  102. function() return AiWaitForce(1) end,
  103. function() DebugMessage("Attacking..."); return AiAttackWithForce(1) end,
  104. function() stratagus.gameData.AIState.loop_index[1 + AiPlayer()] = 0; return false end,
  105. }
  106.  
  107. local hum_exp_10c_loop_funcs = {
  108. function() DebugPrint("Looping !\n") return false end,
  109. function() return AiForce(1, {AiSoldier(), 4, AiShooter(), 4, AiCavalry(), 5, AiCatapult(), 2, AiMage(), 2}) end,
  110. function() return AiWaitForce(1) end,
  111. function() DebugMessage("Attacking..."); return AiAttackWithForce(1) end,
  112. function() stratagus.gameData.AIState.loop_index[1 + AiPlayer()] = 0; return false end,
  113. }
  114.  
  115. local hum_exp_10a_funcs = {
  116. function() return AiSet(AiWorker(), 1) end,
  117. function() return AiNeed(AiCityCenter()) end,
  118. function() return AiNeed(AiLumberMill()) end,
  119. function() return AiNeed(AiBarracks()) end,
  120. function() return AiSet(AiWorker(), 14) end,
  121. function() return AiWait(AiWorker()) end,
  122. function() return AiForce(0, {AiSoldier(), 3, AiShooter(), 2}) end,
  123.  
  124. function() return AiUpgradeTo(AiBetterCityCenter()) end,
  125. function() return AiWait(AiBetterCityCenter()) end,
  126.  
  127.  
  128. function() return AiNeed(AiBlacksmith()) end,
  129. function() return AiNeed(AiStables()) end,
  130. function() return AiNeed(AiScientific()) end,
  131.  
  132. function() return AiNeed(AiTower()) end,
  133. function() return AiNeed(AiTower()) end,
  134. function() return AiUpgradeTo(AiGuardTower()) end,
  135. function() return AiNeed(AiTower()) end,
  136. function() return AiUpgradeTo(AiGuardTower()) end,
  137. function() return AiUpgradeTo(AiGuardTower()) end,
  138. function() return AiUpgradeTo(AiBestCityCenter()) end,
  139. function() return AiWait(AiBestCityCenter()) end,
  140. function() return AiForce(0, {AiSoldier(), 2, AiShooter(), 3, AiCavalry(), 3, AiCatapult(), 2}) end,
  141. function() return AiNeed(AiAirport()) end,
  142.  
  143. function() return AiForce(1, {AiFlyer(), 1}) end,
  144. function() return AiWaitForce(1) end,
  145. function() return AiSleep(1000) end,
  146. function() DebugMessage("Attacking..."); return AiAttackWithForce(1) end,
  147.  
  148. function() return AiResearch(AiUpgradeWeapon1()) end,
  149. function() return AiResearch(AiUpgradeArmor1()) end,
  150. function() return AiResearch(AiUpgradeMissile1()) end,
  151. function() return AiResearch(AiUpgradeArmor2()) end,
  152. function() return AiResearch(AiUpgradeMissile2()) end,
  153.  
  154. function() return AiLoop(hum_exp_10a_loop_funcs, stratagus.gameData.AIState.loop_index) end,
  155. }
  156.  
  157. local hum_exp_10b_funcs = {
  158. function() return AiSet(AiWorker(), 1) end,
  159. function() return AiNeed(AiCityCenter()) end,
  160. function() return AiNeed(AiLumberMill()) end,
  161. function() return AiNeed(AiBarracks()) end,
  162. function() return AiNeed(AiCityCenter()) end,
  163. function() return AiNeed(AiTower()) end,
  164. function() return AiUpgradeTo(AiGuardTower()) end,
  165. function() return AiNeed(AiTower()) end,
  166. function() return AiUpgradeTo(AiGuardTower()) end,
  167. function() return AiNeed(AiTower()) end,
  168. function() return AiUpgradeTo(AiGuardTower()) end,
  169. function() return AiNeed(AiTower()) end,
  170. function() return AiUpgradeTo(AiGuardTower()) end,
  171. function() return AiNeed(AiBarracks()) end,
  172. function() return AiNeed(AiBarracks()) end,
  173. function() return AiResearch(AiUpgradeWeapon1()) end,
  174. function() return AiResearch(AiUpgradeArmor1()) end,
  175. function() return AiResearch(AiUpgradeMissile1()) end,
  176.  
  177. function() return AiSet(AiWorker(), 10) end,
  178. function() return AiWait(AiWorker()) end,
  179. function() return AiForce(1, {AiSoldier(), 8, AiShooter(), 7}) end,
  180. function() return AiWaitForce(1) end,
  181. function() return AiSleep(2000) end,
  182. function() DebugMessage("Attacking..."); return AiAttackWithForce(1) end,
  183.  
  184. function() return AiForce(1, {AiSoldier(), 5, AiShooter(), 5, AiCatapult(), 2}, true) end,
  185. function() return AiWaitForce(1) end,
  186. function() return AiSleep(2000) end,
  187. function() DebugMessage("Attacking..."); return AiAttackWithForce(1) end,
  188.  
  189. function() return AiLoop(hum_exp_10b_loop_funcs, stratagus.gameData.AIState.loop_index) end,
  190. }
  191.  
  192. local hum_exp_10c_funcs = {
  193. function() return AiSet(AiWorker(), 1) end,
  194. function() return AiNeed(AiCityCenter()) end,
  195. function() return AiNeed(AiLumberMill()) end,
  196. function() return AiNeed(AiBarracks()) end,
  197. function() return AiUpgradeTo(AiBetterCityCenter()) end,
  198.  
  199. function() return AiNeed(AiBlacksmith()) end,
  200. function() return AiNeed(AiStables()) end,
  201. function() return AiNeed(AiScientific()) end,
  202. function() return AiNeed(AiTower()) end,
  203. function() return AiNeed(AiTower()) end,
  204. function() return AiUpgradeTo(AiGuardTower()) end,
  205. function() return AiUpgradeTo(AiGuardTower()) end,
  206. function() return AiNeed(AiTower()) end,
  207. function() return AiUpgradeTo(AiGuardTower()) end,
  208. function() return AiUpgradeTo(AiBestCityCenter()) end,
  209.  
  210. function() return AiResearch(AiUpgradeWeapon1()) end,
  211. function() return AiResearch(AiUpgradeArmor1()) end,
  212. function() return AiResearch(AiUpgradeMissile1()) end,
  213. function() return AiResearch(AiUpgradeWeapon2()) end,
  214. function() return AiResearch(AiUpgradeArmor2()) end,
  215.  
  216. function() return AiNeed(AiTemple()) end,
  217. function() return AiNeed(AiMageTower()) end,
  218. function() return AiResearch(AiUpgradeCavalryMage()) end,
  219. function() return AiResearch(AiCavalryMageSpell1()) end,
  220. function() return AiResearch(AiMageSpell5()) end,
  221. function() return AiWait(AiBetterCityCenter()) end,
  222. function() return AiWait(AiBestCityCenter()) end,
  223.  
  224. function() return AiForce(0, {AiScout(), 1}) end,
  225. function() return AiForce(1, {AiSoldier(), 3, AiShooter(), 4, AiCavalry(), 4, AiCatapult(), 1}) end,
  226. function() return AiWaitForce(1) end,
  227. function() return AiSleep(2000) end,
  228. function() DebugMessage("Attacking..."); return AiAttackWithForce(1) end,
  229. function() return AiForce(1, {AiSoldier(), 3, AiShooter(), 4, AiCavalry(), 4, AiCatapult(), 1}) end,
  230. function() return AiWaitForce(1) end,
  231. function() return AiSleep(2000) end,
  232. function() DebugMessage("Attacking..."); return AiAttackWithForce(1) end,
  233.  
  234. function() return AiLoop(hum_exp_10c_loop_funcs, stratagus.gameData.AIState.loop_index) end,
  235. }
  236.  
  237. local hum_exp_10_ally = {
  238. function() return AiSet(AiWorker(), 1) end,
  239. function() return AiNeed(AiCityCenter()) end,
  240. function() return AiNeed(AiLumberMill()) end,
  241. function() return AiNeed(AiBarracks()) end,
  242. function() return AiSet(AiWorker(), 14) end,
  243. function() return AiWait(AiWorker()) end,
  244. function() return AiForce(2, {AiSoldier(), 3, AiShooter(), 3}) end,
  245. function() return AiWaitForce(2) end,
  246. function() return AiSleep(2000) end,
  247. function() DebugMessage("Attacking..."); return AiAttackWithForce(2) end,
  248.  
  249. function() return AiNeed(AiAirport()) end,
  250.  
  251. function() return AiForce(1, {AiFlyer(), 1}) end,
  252. function() return AiWaitForce(1) end,
  253. function() return AiSleep(1000) end,
  254. function() DebugMessage("Attacking..."); return AiAttackWithForce(1) end,
  255.  
  256. function() return AiResearch(AiUpgradeMissile1()) end,
  257. function() return AiResearch(AiUpgradeMissile2()) end,
  258.  
  259. function() return AiLoop(hum_exp_10_ally_force, stratagus.gameData.AIState.loop_index) end,
  260. }
  261.  
  262.  
  263. function AiHumanExp10a() return AiLoop(hum_exp_10a_funcs, stratagus.gameData.AIState.index) end
  264. function AiHumanExp10b() return AiLoop(hum_exp_10b_funcs, stratagus.gameData.AIState.index) end
  265. function AiHumanExp10c() return AiLoop(hum_exp_10c_funcs, stratagus.gameData.AIState.index) end
  266. --function AiHumanExp10Hero() return AiLoop(hum_exp_10_hero_loop, stratagus.gameData.AIState.index) end
  267. function AiHumanExp10Ally() return AiLoop(hum_exp_10_ally, stratagus.gameData.AIState.index) end
  268. DefineAi("hum-exp-10a", "*", "hum-exp-10a", AiHumanExp10a)
  269. DefineAi("hum-exp-10b", "*", "hum-exp-10b", AiHumanExp10b)
  270. DefineAi("hum-exp-10c", "*", "hum-exp-10c", AiHumanExp10c)
  271. --DefineAi("hum-exp-10-hero", "*", "hum-exp-10-hero", AiHumanExp10Hero)
  272. DefineAi("hum-exp-10-ally", "*", "hum-exp-10-ally", AiHumanExp10Ally)
  273.  
  274. --Units
  275. DefineAllowNormalHumanUnits("AAAAAAAAAAAAAAAA")
  276. DefineAllowExtraHumanUnits("FFFFFFFFFFFFFFFF")
  277. DefineAllowNormalOrcUnits("AAAAAAAAAAAAAAAA")
  278. DefineAllowExtraOrcUnits("FFFFFFFFFFFFFFFF")
  279. DefineAllowSpecialUnits("FFFFFFFFFFFFFFFF")
  280. DefineAllowHumanAlways()
  281. DefineAllowOrcAlways()
  282. DefineAllow("upgrade-holy-vision", "RRRRRRRRRRRRRRRR")
  283. DefineAllow("upgrade-healing", "RRRRRRRRRRRRRRRR")
  284. DefineAllow("upgrade-exorcism", "RRRRRRRRRRRRRRRR")
  285. DefineAllow("upgrade-fireball", "RRRRRRRRRRRRRRRR")
  286. DefineAllow("upgrade-slow", "RRRRRRRRRRRRRRRR")
  287.  
  288.  
  289. Load("campaigns/human-exp/levelx10h.sms")
Advertisement
Add Comment
Please, Sign In to add comment