Skip to content
This repository was archived by the owner on Jan 5, 2024. It is now read-only.

Commit ed01233

Browse files
committed
Matched up other activity AI loadouts with bunker breach ones
Made sure AIs can spawn with breaching tools and have more variety in their equipment Changed bunker breach heavy loadout a bit so they can get medkits
1 parent e79cf30 commit ed01233

File tree

5 files changed

+216
-112
lines changed

5 files changed

+216
-112
lines changed

Base.rte/Activities/BrainVsBrain.lua

Lines changed: 69 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -815,18 +815,23 @@ end
815815

816816
-- Get any Actor from the CPU's native tech
817817
function BrainvsBrain:CreateRandomInfantry(team, mode)
818-
local Passenger = RandomAHuman("Actors", self.TechName[team])
818+
local Passenger = RandomAHuman("Actors", self.TechName[team])
819819
if Passenger then
820820
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Primary", self.TechName[team]))
821821
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]))
822822

823-
if math.random() < 0.4 then
824-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]))
825-
if math.random() < 0.5 then
826-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]))
827-
end
828-
elseif math.random() < 0.5 then
829-
Passenger:AddInventoryItem(RandomHDFirearm("Tools - Diggers", self.TechName[team]))
823+
local rand = math.random();
824+
if rand < 0.25 then
825+
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]));
826+
elseif rand < 0.50 then
827+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]));
828+
elseif rand < 0.75 then
829+
Passenger:AddInventoryItem(RandomHeldDevice("Shields", self.TechName[team]));
830+
else
831+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
832+
end
833+
if math.random() < 0.05 then
834+
Passenger:AddInventoryItem(RandomHDFirearm("Tools - Breaching", self.TechName[team]));
830835
end
831836

832837
-- Set AI mode and team so it knows who and what to fight for!
@@ -837,13 +842,18 @@ function BrainvsBrain:CreateRandomInfantry(team, mode)
837842
end
838843

839844
function BrainvsBrain:CreateLightInfantry(team, mode)
840-
local Passenger = RandomAHuman("Actors - Light", self.TechName[team])
845+
local Passenger = RandomAHuman("Actors - Light", self.TechName[team])
841846
if Passenger then
842847
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", self.TechName[team]))
843848
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]))
844849

845-
if math.random() < 0.2 then
846-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]))
850+
local rand = math.random();
851+
if rand < 0.5 then
852+
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]));
853+
elseif rand < 0.8 then
854+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
855+
else
856+
Passenger:AddInventoryItem(RandomHDFirearm("Tools - Breaching", self.TechName[team]));
847857
end
848858

849859
-- Set AI mode and team so it knows who and what to fight for!
@@ -855,7 +865,7 @@ end
855865

856866
function BrainvsBrain:CreateDefender(team)
857867
local name = self.TechName[team] or "Dummy"
858-
local Passenger = RandomAHuman("Actors - Light", name)
868+
local Passenger = RandomAHuman("Actors - Light", name)
859869
if Passenger then
860870
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", name))
861871
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", name))
@@ -872,19 +882,25 @@ function BrainvsBrain:CreateDefender(team)
872882
end
873883

874884
function BrainvsBrain:CreateHeavyInfantry(team, mode)
875-
local Passenger = RandomAHuman("Actors - Heavy", self.TechName[team])
885+
local Passenger = RandomAHuman("Actors - Heavy", self.TechName[team])
876886
if Passenger then
877887
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Heavy", self.TechName[team]))
878-
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]))
879888

880-
if math.random() < 0.6 then
881-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]))
882-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]))
883-
if math.random() < 0.4 then
884-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]))
889+
if math.random() < 0.3 then
890+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", self.TechName[team]));
891+
if math.random() < 0.25 then
892+
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]));
893+
elseif math.random() < 0.35 then
894+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
885895
end
886896
else
887-
Passenger:AddInventoryItem(RandomHDFirearm("Tools - Diggers", self.TechName[team]))
897+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]));
898+
if math.random() < 0.3 then
899+
Passenger:AddInventoryItem(RandomHeldDevice("Shields", self.TechName[team]));
900+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
901+
else
902+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]));
903+
end
888904
end
889905

890906
-- Set AI mode and team so it knows who and what to fight for!
@@ -895,11 +911,20 @@ function BrainvsBrain:CreateHeavyInfantry(team, mode)
895911
end
896912

897913
function BrainvsBrain:CreateMediumInfantry(team, mode)
898-
local Passenger = RandomAHuman("Actors - Heavy", self.TechName[team])
914+
local Passenger = RandomAHuman("Actors - Heavy", self.TechName[team])
899915
if Passenger then
900916
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", self.TechName[team]))
901917
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]))
902918

919+
if math.random() < 0.3 then
920+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]));
921+
else
922+
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]));
923+
end
924+
if math.random() < 0.5 then
925+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
926+
end
927+
903928
-- Set AI mode and team so it knows who and what to fight for!
904929
Passenger.AIMode = mode or Actor.AIMODE_GOTO
905930
Passenger.Team = team
@@ -908,14 +933,18 @@ function BrainvsBrain:CreateMediumInfantry(team, mode)
908933
end
909934

910935
function BrainvsBrain:CreateScoutInfantry(team, mode)
911-
local Passenger = RandomAHuman("Actors - Light", self.TechName[team])
936+
local Passenger = RandomAHuman("Actors - Light", self.TechName[team])
912937
if Passenger then
938+
if math.random() < 0.15 then
939+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Sniper", self.TechName[team]))
940+
end
913941
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]))
914942

915-
if math.random() < 0.6 then
916-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]))
917-
else
943+
if math.random() < 0.3 then
918944
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]))
945+
else
946+
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.TechName[team]))
947+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"))
919948
end
920949

921950
-- Set AI mode and team so it knows who and what to fight for!
@@ -925,44 +954,27 @@ function BrainvsBrain:CreateScoutInfantry(team, mode)
925954
end
926955
end
927956

928-
function BrainvsBrain:CreateSniper(team, mode)
929-
local Passenger
930-
if math.random() < 0.7 then
931-
Passenger = RandomAHuman("Actors - Light", self.TechName[team])
932-
else
933-
Passenger = RandomAHuman("Actors - Heavy", self.TechName[team])
934-
end
935-
936-
if Passenger then
937-
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Sniper", self.TechName[team]))
938-
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]))
939-
940-
-- Set AI mode and team so it knows who and what to fight for!
941-
Passenger.AIMode = mode or Actor.AIMODE_GOTO
942-
Passenger.Team = team
943-
return Passenger
944-
end
945-
end
946-
947957
function BrainvsBrain:CreateEngineer(team, mode)
948958
local Passenger = RandomAHuman("Actors - Light", self.TechName[team])
949959
if Passenger then
950-
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", self.TechName[team]))
951-
Passenger:AddInventoryItem(CreateHDFirearm("Medium Digger", "Base.rte"))
960+
if math.random() < 0.7 then
961+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", self.TechName[team]));
962+
else
963+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.TechName[team]));
964+
local rand = math.random();
965+
if rand < 0.2 then
966+
Passenger:AddInventoryItem(RandomHeldDevice("Shields", self.TechName[team]));
967+
elseif rand < 0.4 then
968+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
969+
else
970+
Passenger:AddInventoryItem(RandomTDExplosive("Tools - Breaching", self.TechName[team]));
971+
end
972+
end
973+
Passenger:AddInventoryItem(RandomHDFirearm("Tools - Diggers", self.TechName[team]));
952974

953975
-- Set AI mode and team so it knows who and what to fight for!
954976
Passenger.AIMode = mode or Actor.AIMODE_GOLDDIG
955977
Passenger.Team = team
956978
return Passenger
957979
end
958-
end
959-
960-
function BrainvsBrain:CreateAntiAir(team, mode)
961-
local Passenger = RandomACrab("Anti-Air", self.TechName[team])
962-
if Passenger then
963-
-- Set AI mode and team so it knows who and what to fight for!
964-
Passenger.AIMode = mode or Actor.AIMODE_SENTRY
965-
Passenger.Team = team
966-
return Passenger
967-
end
968-
end
980+
end

Base.rte/Activities/BunkerBreach.lua

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,12 +474,18 @@ function BunkerBreach:CreateInfantry(team, loadout)
474474
actor:AddInventoryItem(RandomHDFirearm("Weapons - Heavy", tech));
475475
if math.random() < 0.3 then
476476
actor:AddInventoryItem(RandomHDFirearm("Weapons - Light", tech));
477+
if math.random() < 0.25 then
478+
actor:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", tech));
479+
elseif math.random() < 0.35 then
480+
actor:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
481+
end
477482
else
478483
actor:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", tech));
479484
if math.random() < 0.3 then
480485
actor:AddInventoryItem(RandomHeldDevice("Shields", tech));
481-
else
482486
actor:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
487+
else
488+
actor:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", tech));
483489
end
484490
end
485491

Base.rte/Activities/SkirmishDefense.lua

Lines changed: 68 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -893,18 +893,23 @@ end
893893

894894
-- Get any Actor from the CPU's native tech
895895
function SkirmishDefense:CreateRandomInfantry(Team)
896-
local Passenger = RandomAHuman("Actors", self.AI[Team].TechID)
896+
local Passenger = RandomAHuman("Actors", self.AI[Team].TechID)
897897
if Passenger then
898898
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Primary", self.AI[Team].TechID))
899899
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.AI[Team].TechID))
900900

901-
if math.random() < 0.4 then
902-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID))
903-
if math.random() < 0.5 then
904-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID))
905-
end
906-
elseif math.random() < 0.5 then
907-
Passenger:AddInventoryItem(RandomHDFirearm("Tools - Diggers", self.AI[Team].TechID))
901+
local rand = math.random();
902+
if rand < 0.25 then
903+
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID));
904+
elseif rand < 0.50 then
905+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.AI[Team].TechID));
906+
elseif rand < 0.75 then
907+
Passenger:AddInventoryItem(RandomHeldDevice("Shields", self.AI[Team].TechID));
908+
else
909+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
910+
end
911+
if math.random < 0.05 then
912+
Passenger:AddInventoryItem(RandomHDFirearm("Tools - Breaching", self.AI[Team].TechID));
908913
end
909914

910915
-- Set AI mode and team so it knows who and what to fight for!
@@ -915,13 +920,18 @@ function SkirmishDefense:CreateRandomInfantry(Team)
915920
end
916921

917922
function SkirmishDefense:CreateLightInfantry(Team)
918-
local Passenger = RandomAHuman("Actors - Light", self.AI[Team].TechID)
923+
local Passenger = RandomAHuman("Actors - Light", self.AI[Team].TechID)
919924
if Passenger then
920925
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", self.AI[Team].TechID))
921926
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.AI[Team].TechID))
922927

923-
if math.random() < 0.2 then
924-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID))
928+
local rand = math.random();
929+
if rand < 0.5 then
930+
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID));
931+
elseif rand < 0.8 then
932+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
933+
else
934+
Passenger:AddInventoryItem(RandomHDFirearm("Tools - Breaching", self.AI[Team].TechID));
925935
end
926936

927937
-- Set AI mode and team so it knows who and what to fight for!
@@ -932,19 +942,25 @@ function SkirmishDefense:CreateLightInfantry(Team)
932942
end
933943

934944
function SkirmishDefense:CreateHeavyInfantry(Team)
935-
local Passenger = RandomAHuman("Actors - Heavy", self.AI[Team].TechID)
945+
local Passenger = RandomAHuman("Actors - Heavy", self.AI[Team].TechID)
936946
if Passenger then
937947
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Heavy", self.AI[Team].TechID))
938-
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.AI[Team].TechID))
939948

940-
if math.random() < 0.6 then
941-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID))
942-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID))
943-
if math.random() < 0.4 then
944-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID))
949+
if math.random() < 0.3 then
950+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", self.AI[Team].TechID));
951+
if math.random() < 0.25 then
952+
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID));
953+
elseif math.random() < 0.35 then
954+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
945955
end
946956
else
947-
Passenger:AddInventoryItem(RandomHDFirearm("Tools - Diggers", self.AI[Team].TechID))
957+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.AI[Team].TechID));
958+
if math.random() < 0.3 then
959+
Passenger:AddInventoryItem(RandomHeldDevice("Shields", self.AI[Team].TechID));
960+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
961+
else
962+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.AI[Team].TechID));
963+
end
948964
end
949965

950966
-- Set AI mode and team so it knows who and what to fight for!
@@ -955,11 +971,20 @@ function SkirmishDefense:CreateHeavyInfantry(Team)
955971
end
956972

957973
function SkirmishDefense:CreateMediumInfantry(Team)
958-
local Passenger = RandomAHuman("Actors - Heavy", self.AI[Team].TechID)
974+
local Passenger = RandomAHuman("Actors - Heavy", self.AI[Team].TechID)
959975
if Passenger then
960976
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", self.AI[Team].TechID))
961977
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.AI[Team].TechID))
962978

979+
if math.random() < 0.3 then
980+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.AI[Team].TechID));
981+
else
982+
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID));
983+
end
984+
if math.random() < 0.5 then
985+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
986+
end
987+
963988
-- Set AI mode and team so it knows who and what to fight for!
964989
Passenger.AIMode = Actor.AIMODE_BRAINHUNT
965990
Passenger.Team = Team
@@ -970,8 +995,20 @@ end
970995
function SkirmishDefense:CreateEngineer(Team)
971996
local Passenger = RandomAHuman("Actors - Light", self.AI[Team].TechID)
972997
if Passenger then
973-
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", self.AI[Team].TechID))
974-
Passenger:AddInventoryItem(CreateHDFirearm("Medium Digger", "Base.rte"))
998+
if math.random() < 0.7 then
999+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", self.AI[Team].TechID));
1000+
else
1001+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.AI[Team].TechID));
1002+
local rand = math.random();
1003+
if rand < 0.2 then
1004+
Passenger:AddInventoryItem(RandomHeldDevice("Shields", self.AI[Team].TechID));
1005+
elseif rand < 0.4 then
1006+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"));
1007+
else
1008+
Passenger:AddInventoryItem(RandomTDExplosive("Tools - Breaching", self.AI[Team].TechID));
1009+
end
1010+
end
1011+
Passenger:AddInventoryItem(RandomHDFirearm("Tools - Diggers", self.AI[Team].TechID));
9751012

9761013
-- Set AI mode and team so it knows who and what to fight for!
9771014
Passenger.AIMode = Actor.AIMODE_GOLDDIG
@@ -984,7 +1021,7 @@ function SkirmishDefense:CreateBreachInfantry(Team)
9841021
local Passenger = RandomAHuman("Actors - Light", self.AI[Team].TechID)
9851022
if Passenger then
9861023
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Light", self.AI[Team].TechID))
987-
Passenger:AddInventoryItem(CreateHDFirearm("Heavy Digger", "Base.rte"))
1024+
Passenger:AddInventoryItem(RandomHDFirearm("Tools - Breaching", self.AI[Team].TechID))
9881025

9891026
-- Set AI mode and team so it knows who and what to fight for!
9901027
Passenger.AIMode = Actor.AIMODE_BRAINHUNT
@@ -994,14 +1031,18 @@ function SkirmishDefense:CreateBreachInfantry(Team)
9941031
end
9951032

9961033
function SkirmishDefense:CreateScoutInfantry(Team)
997-
local Passenger = RandomAHuman("Actors - Light", self.AI[Team].TechID)
1034+
local Passenger = RandomAHuman("Actors - Light", self.AI[Team].TechID)
9981035
if Passenger then
1036+
if math.random() < 0.15 then
1037+
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Sniper", self.AI[Team].TechID))
1038+
end
9991039
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.AI[Team].TechID))
10001040

1001-
if math.random() < 0.6 then
1002-
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID))
1003-
else
1041+
if math.random() < 0.3 then
10041042
Passenger:AddInventoryItem(RandomHDFirearm("Weapons - Secondary", self.AI[Team].TechID))
1043+
else
1044+
Passenger:AddInventoryItem(RandomTDExplosive("Bombs - Grenades", self.AI[Team].TechID))
1045+
Passenger:AddInventoryItem(CreateHDFirearm("Medikit", "Base.rte"))
10051046
end
10061047

10071048
-- Set AI mode and team so it knows who and what to fight for!

0 commit comments

Comments
 (0)