ACE3/addons/repair/ACE_Repair.hpp
BrettMayson 10c1085aba
Repair - Add wheel patching (#8835)
* patch wheels on vehicles

* all tire patching working

Co-authored-by: mp-singh <mandeep@mandeepsingh.ca>

* doc

* remove unused string

* Update CfgVehicles.hpp

* use strintable

* setting for where the wheel can be patched

* localize

* Update stringtable.xml

* can't patch a missing tire

* removal > replacement

* Update addons/repair/initSettings.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Apply suggestions from code review

Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Apply suggestions from code review

Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>

* patch icon

* use PATCH_WHEEL_STEP_TIME

* fix wheel translation

---------

Co-authored-by: mp-singh <mandeep@mandeepsingh.ca>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: Filip Maciejewski <veteran29@users.noreply.github.com>
Co-authored-by: Jouni Järvinen <rautamiekka@users.noreply.github.com>
2023-06-28 13:39:08 +03:00

93 lines
3.8 KiB
C++

class ACE_Repair {
class Actions {
class ReplaceWheel {
displayName = CSTRING(ReplaceWheel);
displayNameProgress = CSTRING(ReplacingWheel);
repairLocations[] = {"All"};
requiredEngineer = QGVAR(engineerSetting_Wheel);
repairingTime = 10;
repairingTimeSelfCoef = 1;
items = QGVAR(wheelRepairRequiredItems);
condition = QFUNC(canReplaceWheel);
itemConsumed = 0;
claimObjects[] = {{"ACE_Wheel"}};
callbackSuccess = QFUNC(doReplaceWheel);
callbackFailure = "";
callbackProgress = "";
animationCaller = "Acts_carFixingWheel";
animationCallerProne = "Acts_carFixingWheel";
animationCallerSelf = "Acts_carFixingWheel";
animationCallerSelfProne = "Acts_carFixingWheel";
litter[] = {};
};
class RemoveWheel: ReplaceWheel {
displayName = CSTRING(RemoveWheel);
displayNameProgress = CSTRING(RemovingWheel);
condition = QFUNC(canRemove);
callbackSuccess = QFUNC(doRemoveWheel);
claimObjects[] = {};
};
class PatchWheel: ReplaceWheel {
displayName = CSTRING(PatchWheel);
displayNameProgress = CSTRING(PatchingWheel);
condition = QFUNC(canPatchWheel);
repairingTime = QFUNC(getPatchWheelTime);
callbackProgress = QFUNC(doPatchWheelProgress);
items = QGVAR(patchWheelRequiredItems);
requiredEngineer = QGVAR(engineerSetting_Wheel);
callbackSuccess = "";
claimObjects[] = {};
};
class MiscRepair: ReplaceWheel {
displayName = CSTRING(Repairing); // let's make empty string an auto generated string
displayNameProgress = CSTRING(RepairingHitPoint);
condition = QFUNC(canMiscRepair);
requiredEngineer = QGVAR(engineerSetting_Repair);
repairingTime = 15;
callbackSuccess = QFUNC(doRepair);
items = QGVAR(miscRepairRequiredItems);
itemConsumed = QGVAR(consumeItem_ToolKit);
claimObjects[] = {};
};
class RepairTrack: MiscRepair {
displayName = CSTRING(Repairing);
displayNameProgress = CSTRING(RepairingHitPoint);
condition = QFUNC(canRepairTrack);
callbackSuccess = QFUNC(doRepairTrack);
requiredEngineer = QGVAR(engineerSetting_Wheel);
claimObjects[] = {{"ACE_Track"}};
itemConsumed = 0;
};
class RemoveTrack: MiscRepair {
displayName = CSTRING(RemoveTrack);
displayNameProgress = CSTRING(RemovingTrack);
condition = QFUNC(canRemove);
callbackSuccess = QFUNC(doRemoveTrack);
requiredEngineer = QGVAR(engineerSetting_Wheel);
itemConsumed = 0;
};
class ReplaceTrack: RemoveTrack {
displayName = CSTRING(ReplaceTrack);
displayNameProgress = CSTRING(ReplacingTrack);
condition = QFUNC(canReplaceTrack);
callbackSuccess = QFUNC(doReplaceTrack);
requiredEngineer = QGVAR(engineerSetting_Wheel);
claimObjects[] = {{"ACE_Track"}};
};
class FullRepair: MiscRepair {
displayName = CSTRING(fullRepair);
displayNameProgress = CSTRING(fullyRepairing);
requiredEngineer = QGVAR(engineerSetting_fullRepair);
repairLocations[] = {QGVAR(fullRepairLocation)};
repairingTime = 30;
condition = "-1 != ((getAllHitPointsDamage _target param [2,[]]) findIf {_x > 0})";
callbackSuccess = QFUNC(doFullRepair);
items = QGVAR(fullRepairRequiredItems);
itemConsumed = QGVAR(consumeItem_ToolKit);
};
};
};