Details
Diff Detail
- Repository
- rP 0 A.D. Public Repository
- Branch
- temp
- Lint
Lint OK - Unit
No Unit Test Coverage - Build Status
Buildable 12907 Build 25347: Vulcan Build Jenkins Build 25346: Vulcan Build (macOS) Jenkins Build 25345: Vulcan Build (Windows) Jenkins Build 25344: arc lint + arc unit
Event Timeline
If I understand correctly, this means the AI won't be able to train them, since Petra uses the CitizenSoldier class for that (see simulation/ai/petra/attackPlan.js).
The Citizen class is used by auras and technologies to exclude champions and heroes; removing it means elephant archers no longer benefit from those, effectively weakening them, so that means this patch changes gameplay.
Hm, you seem to be correct.
I guess the simplest fix would be to special-case this in the AI then. The elephant would remain a very odd citizen soldier.
baseManager.js and headquarters.js should probably use the Worker class, not CitizenSoldier. And maybe introduce a Hunter class for citizen cavalry but not elephants?
Alternative fix that checks that hunters can actually hunt.
baseManager.js and headquarters.js should probably use the Worker class, not CitizenSoldier.
I've added Worker to Cavalry - do you know of a counter-indication to that?
I've added Worker to Cavalry - do you know of a counter-indication to that?
That's wrong. Worker indicates units that can build and gather everything. Cavalry can't build and can only gather food.meat; giving them a Worker class will most likely result in the AI trying to use them for things they can't.
binaries/data/mods/public/simulation/ai/petra/baseManager.js | ||
---|---|---|
653 | It should have an attack as well,,, |
Successful build - Chance fights ever on the side of the prudent.
builderr-debug-macos.txt ../../../source/simulation2/scripting/JSInterface_Simulation.cpp:154:4: warning: suggest braces around initialization of subobject [-Wmissing-braces] CFixedVector2D(-halfSize.X, -halfSize.Y), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. In file included from ../../../source/graphics/tests/test_Camera.cpp:17: /Users/wfg/Jenkins/workspace/macos-differential/source/graphics/tests/test_Camera.h:168:4: warning: suggest braces around initialization of subobject [-Wmissing-braces] CVector3D(-101.0f, -101.0f, 101.0f), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. In file included from ../../../source/simulation2/tests/test_SerializeTemplates.cpp:17: /Users/wfg/Jenkins/workspace/macos-differential/source/simulation2/tests/test_SerializeTemplates.h:39:4: warning: suggest braces around initialization of subobject [-Wmissing-braces] 3, 0, 1, 4, 1, 5 ^~~~~~~~~~~~~~~~ { } 1 warning generated. builderr-release-macos.txt ../../../source/simulation2/scripting/JSInterface_Simulation.cpp:154:4: warning: suggest braces around initialization of subobject [-Wmissing-braces] CFixedVector2D(-halfSize.X, -halfSize.Y), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2.a(precompiled.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libgraphics.a(precompiled.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libatlas.a(precompiled.o) has no symbols In file included from ../../../source/graphics/tests/test_Camera.cpp:17: /Users/wfg/Jenkins/workspace/macos-differential/source/graphics/tests/test_Camera.h:168:4: warning: suggest braces around initialization of subobject [-Wmissing-braces] CVector3D(-101.0f, -101.0f, 101.0f), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. In file included from ../../../source/simulation2/tests/test_SerializeTemplates.cpp:17: /Users/wfg/Jenkins/workspace/macos-differential/source/simulation2/tests/test_SerializeTemplates.h:39:4: warning: suggest braces around initialization of subobject [-Wmissing-braces] 3, 0, 1, 4, 1, 5 ^~~~~~~~~~~~~~~~ { } 1 warning generated.
Link to build: https://jenkins.wildfiregames.com/job/macos-differential/1360/display/redirect
binaries/data/mods/public/simulation/ai/petra/baseManager.js | ||
---|---|---|
653 | Shouldn't it be "food.meat"? |
Build failure - The Moirai have given mortals hearts that can endure.
builderr-debug-gcc6.txt <command-line>:0:0: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make[1]: *** [obj/test_Debug/test_root.o] Error 1 make: *** [test] Error 2
Link to build: https://jenkins.wildfiregames.com/job/docker-differential/3006/display/redirect
Build failure - The Moirai have given mortals hearts that can endure.
builderr-debug-gcc6.txt <command-line>:0:0: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make[1]: *** [obj/test_Debug/test_root.o] Error 1 make: *** [test] Error 2
Link to build: https://jenkins.wildfiregames.com/job/docker-differential/3007/display/redirect
binaries/data/mods/public/simulation/ai/petra/baseManager.js | ||
---|---|---|
653 | canGather doesn't actually allow checking for that. I don't think it's too bad. |
Given that elephants move only half as fast as cavalry, the FastMoving class is quite inappropiate. Removing it would probably solve the AI hunting issue, though it would also prevent the AI from training them.
binaries/data/mods/public/simulation/ai/petra/baseManager.js | ||
---|---|---|
653 | Doesn't it? simulation/ai/common-api/entity.js lines 512 to 520. |
binaries/data/mods/public/simulation/ai/petra/baseManager.js | ||
---|---|---|
653 | You're probably right (line 517). |
Remove FastMoving from the elephant since it indeed isn't.
I don't think the AI explicitly builds war elephants now, so that ought to be fixed someday.
Successful build - Chance fights ever on the side of the prudent.
builderr-debug-macos.txt ../../../source/simulation2/scripting/JSInterface_Simulation.cpp:155:4: warning: suggest braces around initialization of subobject [-Wmissing-braces] CFixedVector2D(-halfSize.X, -halfSize.Y), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. builderr-release-macos.txt ../../../source/simulation2/scripting/JSInterface_Simulation.cpp:155:4: warning: suggest braces around initialization of subobject [-Wmissing-braces] CFixedVector2D(-halfSize.X, -halfSize.Y), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../../../binaries/system/libsimulation2.a(precompiled.o) has no symbols
Link to build: https://jenkins.wildfiregames.com/job/macos-differential/1367/display/redirect
Elephants did not have Cavalry class before so removing FastMoving does not change things before rP23916.
Condition is actually good for "Cavalry" too. It was broken quite long and worked just because in svn Cavalry = attack + gather meat.
But anyhow odd it may sound, why could not slow moving unit slaughter and gather from domestic animals instead of doing nothing because it cant do anything else ?