mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2026-09-11 01:00:02 +00:00
Compare commits
4 Commits
574d3111bc
...
copilot/fi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9e5ec2fd6 | ||
|
|
0639bf2ae8 | ||
|
|
ed3bf6a952 | ||
|
|
c7bccd62c6 |
9
.github/workflows/check-builds.yaml
vendored
9
.github/workflows/check-builds.yaml
vendored
@@ -84,11 +84,8 @@ jobs:
|
|||||||
Invoke-Expression "vcpkg integrate install"
|
Invoke-Expression "vcpkg integrate install"
|
||||||
|
|
||||||
foreach ($version in $versions) {
|
foreach ($version in $versions) {
|
||||||
if (Test-Path -LiteralPath "build") {
|
$buildDir = "build-$version"
|
||||||
Remove-Item "build" -Recurse
|
Invoke-Expression "cmake -B $buildDir -DPROTOCOL_VERSION=$version -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake"
|
||||||
Write-Output "Deleted existing build folder"
|
|
||||||
}
|
|
||||||
Invoke-Expression "cmake -B build -DPROTOCOL_VERSION=$version -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake"
|
|
||||||
if ($LASTEXITCODE -ne "0") {
|
if ($LASTEXITCODE -ne "0") {
|
||||||
Write-Error "cmake generation failed for version $version" -ErrorAction Stop
|
Write-Error "cmake generation failed for version $version" -ErrorAction Stop
|
||||||
}
|
}
|
||||||
@@ -96,7 +93,7 @@ jobs:
|
|||||||
|
|
||||||
foreach ($configuration in $configurations) {
|
foreach ($configuration in $configurations) {
|
||||||
Write-Output "Building version $version $configuration"
|
Write-Output "Building version $version $configuration"
|
||||||
Invoke-Expression "msbuild build\OpenFusion.sln /maxcpucount:8 /p:BuildInParallel=true /p:CL_MPCount=8 /p:UseMultiToolTask=true /p:Configuration=$configuration"
|
Invoke-Expression "msbuild $buildDir\OpenFusion.sln /maxcpucount:8 /nodeReuse:false /p:BuildInParallel=true /p:CL_MPCount=8 /p:UseMultiToolTask=true /p:Configuration=$configuration"
|
||||||
if ($LASTEXITCODE -ne "0") {
|
if ($LASTEXITCODE -ne "0") {
|
||||||
Write-Error "msbuild build failed for version $version" -ErrorAction Stop
|
Write-Error "msbuild build failed for version $version" -ErrorAction Stop
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -595,30 +595,33 @@ void Missions::mobKilled(CNSocket *sock, int mobid, std::map<int, int>& rolls) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// drop quest item
|
// drop quest item
|
||||||
if (task["m_iCSUItemNumNeeded"][j] != 0 && !isQuestItemFull(sock, task["m_iCSUItemID"][j], task["m_iCSUItemNumNeeded"][j]) ) {
|
if (task["m_iCSUItemNumNeeded"][j] != 0) {
|
||||||
bool drop = rolls[plr->tasks[i]] % 100 < task["m_iSTItemDropRate"][j];
|
if (!isQuestItemFull(sock, task["m_iCSUItemID"][j], task["m_iCSUItemNumNeeded"][j])) {
|
||||||
if (drop) {
|
bool drop = rolls[plr->tasks[i]] % 100 < task["m_iSTItemDropRate"][j];
|
||||||
dropQuestItem(sock, plr->tasks[i], 1, task["m_iCSUItemID"][j], mobid);
|
if (drop) {
|
||||||
|
dropQuestItem(sock, plr->tasks[i], 1, task["m_iCSUItemID"][j], mobid);
|
||||||
/*
|
|
||||||
* Workaround: The client has a bug where it only sends a TASK_END request
|
|
||||||
* for the first task of multiple that met their quest item requirements
|
|
||||||
* at the same time. We deal with this by sending TASK_END response packets
|
|
||||||
* proactively and then silently ignoring the extra TASK_END requests it
|
|
||||||
* sends afterwards.
|
|
||||||
*/
|
|
||||||
if (isQuestItemFull(sock, task["m_iCSUItemID"][j], task["m_iCSUItemNumNeeded"][j])) {
|
|
||||||
INITSTRUCT(sP_FE2CL_REP_PC_TASK_END_SUCC, end);
|
|
||||||
end.iTaskNum = plr->tasks[i];
|
|
||||||
|
|
||||||
if (!endTask(sock, plr->tasks[i]))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
sock->sendPacket(end, P_FE2CL_REP_PC_TASK_END_SUCC);
|
|
||||||
}
|
}
|
||||||
} else {
|
else {
|
||||||
// fail to drop (itemID == 0)
|
// fail to drop (itemID == 0)
|
||||||
dropQuestItem(sock, plr->tasks[i], 1, 0, mobid);
|
dropQuestItem(sock, plr->tasks[i], 1, 0, mobid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Workaround: The client has a bug where it only sends a TASK_END request
|
||||||
|
* for the first task of multiple that met their quest item requirements
|
||||||
|
* at the same time. We deal with this by sending TASK_END response packets
|
||||||
|
* proactively and then silently ignoring the extra TASK_END requests it
|
||||||
|
* sends afterwards.
|
||||||
|
*/
|
||||||
|
if (isQuestItemFull(sock, task["m_iCSUItemID"][j], task["m_iCSUItemNumNeeded"][j])) {
|
||||||
|
INITSTRUCT(sP_FE2CL_REP_PC_TASK_END_SUCC, end);
|
||||||
|
end.iTaskNum = plr->tasks[i];
|
||||||
|
|
||||||
|
if (!endTask(sock, plr->tasks[i]))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
sock->sendPacket(end, P_FE2CL_REP_PC_TASK_END_SUCC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user