9 Commits

Author SHA1 Message Date
Jacob Schmidt
86ae5c4248 feat: Implement task rewards and penalties
This commit introduces a new task reward and penalty system.

The following changes were made:

- Added `handleTaskRewards` to `XEH_PREP.hpp` for pre-processing.
- Added parameters for equipment, supply, weapon, vehicle, and special rewards to the task definition functions (`fnc_defuse.sqf`, `fnc_destroy.sqf`, `fnc_attack.sqf`, `fnc_hvt.sqf`, `fnc_delivery.sqf`, `fnc_defend.sqf`, `fnc_hostage.sqf`).
- Modified task completion logic to handle rewards and penalties using the new `handleTaskRewards` function.
- Replaced direct reputation and fund modifications with the new reward system.
- Updated documentation to reflect the new reward parameters.
2025-05-25 14:20:36 -05:00
Jacob Schmidt
3ab612fad1 feat: Implement defend task type
This commit introduces a new "defend" task type.

The following changes were made:

- Added `defend` and `defendModule` to `XEH_PREP.hpp` for pre-processing.
- Implemented `defend` case in `fnc_handler.sqf` to handle defend tasks.
- Added `spawnEnemyWave` to `XEH_PREP.hpp` for pre-processing.
2025-05-25 13:28:38 -05:00
Jacob Schmidt
0cbe027b3b Fix: Correct typo in cargo damage handler
This commit corrects a typo in the cargo damage handler within `fnc_makeCargo.sqf`. The event handler name was misspelled as "Dammaged" instead of "Damaged". This has been corrected to ensure the event handler functions as intended. Additionally, the hint message displayed when cargo is severely damaged also had the same typo, which has been corrected.
2025-05-25 12:36:33 -05:00
Jacob Schmidt
c822d4e601 feat: Implement cargo delivery task type and improve task assignment
This commit introduces a new "delivery" task type and enhances the task assignment process for various entities.

The following changes were made:

- Added `delivery` and `deliveryModule` to `XEH_PREP.hpp` for pre-processing.
- Added `GVAR(allCargo)` to `XEH_preInit.sqf` to track cargo objects.
- Implemented `delivery` case in `fnc_handler.sqf` to handle delivery tasks.
- Added `makeCargo` to `XEH_PREP.hpp` for pre-processing.
- Refactored `fnc_makeShooter.sqf`, `fnc_makeObject.sqf`, `fnc_makeTarget.sqf`, `fnc_makeHVT.sqf`, `fnc_makeHostage.sqf`, and `fnc_makeIED.sqf` to:
  - Update descriptions to reflect assignment rather than registration.
  - Add error handling for null entities and missing task IDs.
  - Add diag_log messages for debugging.
  - Standardize parameter handling.
2025-05-25 12:33:36 -05:00
Jacob Schmidt
d474b3676a Refactor: Standardize function descriptions and variable handling
All checks were successful
Build / Build (push) Successful in 28s
This commit refactors several client-side functions to improve code consistency and readability.

- Standardizes function descriptions by removing redundant "Function: forge_client..." prefixes and "[Description]" sections, focusing on concise descriptions of the function's purpose.
- Updates variable handling in arsenal functions to use GVAR and EGVARS for default values, improving consistency and reducing code duplication.
- Removes the bank init function as it is no longer needed.
- Adds a done variable to the preinit file.
2025-05-25 11:30:26 -05:00
Jacob Schmidt
44625a8677 feat: Refactor and document client-side functions
All checks were successful
Build / Build (push) Successful in 27s
This commit refactors and adds documentation to several client-side functions across various addons, including:

- **Task Addon:** Added function headers and descriptions to task-related functions (fnc_destroy, fnc_attack, fnc_defuse, fnc_hostage, fnc_makeIED, fnc_hvt, fnc_heartBeat, fnc_makeTarget, fnc_makeHVT, fnc_makeHostage, fnc_makeObject, fnc_makeShooter, fnc_attackModule, fnc_destroyModule, fnc_hvtModule, fnc_hostageModule, fnc_defuseModule, fnc_protectedModule, fnc_hostagesModule, fnc_explosivesModule, fnc_shootersModule).
- **Org Addon:** Updated author and added function headers/descriptions to organization-related functions (fnc_initOrgStore, fnc_requestServerDB, fnc_addAsset, fnc_addReputation, fnc_create, fnc_removeAsset, fnc_addFunds, fnc_leave, fnc_addMember, fnc_disband, fnc_verifyOrgStore, fnc_handleOrgLoad).
- **Garage Addon:** Added function headers and descriptions to garage-related functions (fnc_openGarage, fnc_fetchNearby, fnc_initGarage, fnc_fetchGarage, fnc_storeVehicle).
- **Locker Addon:** Added function headers and descriptions to locker-related functions (fnc_openLocker, fnc_fetchPlayer, fnc_initLocker, fnc_fetchLocker).
- **Phone Addon:** Added function headers, descriptions, and examples to phone-related functions (fnc_initAction, fnc_showEmail, fnc_showMessage, fnc_delEmail, fnc_delMsg, fnc_showMessageInput, fnc_addContact, fnc_initPhone, fnc_addMsg, fnc_addEmail, fnc_newEmail, fnc_initVar, fnc_addOfflineEmail, fnc_addOfflineMsg, fnc_sendMsg, fnc_sendEmail, fnc_showContact, fnc_newMsg, fnc_dateToHhMm, fnc_initAddAction, fnc_openPhone, fnc_viewSettings, fnc_viewMessages, fnc_viewContacts, fnc_viewEmail, fnc_showDialpad, fnc_showSafari).
- **Admin Addon:** Added function headers and descriptions to admin-related functions (fnc_adminMessage, fnc_printAddonName, fnc_initAdmin, fnc_openAdmin, fnc_adminPromote).
- **Store Addon:** Added function headers and descriptions to store-related functions (fnc_openStore, fnc_initStore, fnc_selectProduct, fnc_changeFilter, fnc_changePayment, fnc_handlePurchase).
- **Medical Addon:** Added function headers, descriptions, and examples to medical-related functions (fnc_saveDroppedWeapons, fnc_moveInventory, fnc_onRespawn, fnc_onKilled, fnc_initMedical, fnc_deductMedicalCost, fnc_heartBeat).
- **Misc Addon:** Added function headers, descriptions, and examples to misc-related functions (fnc_formatNumber, fnc_isAssignableBinocular, fnc_isWeaponType, fnc_cargoToPairs, fnc_serializeString, fnc_deserializeString, fnc_getSystemTime).
- **Init Addon:** Updated author and removed unnecessary copyright information from init-related functions (fnc_initPlayer, fnc_playerDBSave, fnc_playerSaveLoop, fnc_playerDBLoad, fnc_handlePlayerLoad).
- **Money Addon:** Removed unnecessary copyright information from money-related functions (fnc_takeCash, fnc_giveCash, fnc_giveCashSubmit).
- **Interaction Addon:** Removed unnecessary copyright information from interaction-related functions (fnc_initInteraction, fnc_openInteraction, fnc_interactionAction).
- **Ambient Addon:** Removed unnecessary copyright information from ambient-related functions (fnc_ambientSound).
- **Arsenal Addon:** Added function headers, descriptions, and examples to arsenal-related functions (fnc_openArmory, fnc_saveUnlocks, fnc_updateUnlocks, fnc_openGarage, fnc_addGarageVehicle, fnc_addVirtualVehicles, fnc_addVirtualVehicles).
- **Dialogue Addon:** Added function headers and descriptions to dialogue-related functions (fnc_selectAI, fnc_selectDialogue).
- **Service Addon:** Added function headers and descriptions to service-related functions (fnc_initService).
- **Bank Addon:** Added function headers and descriptions to bank-related functions (fnc_initBank, fnc_refresh, fnc_openBank).

These changes improve code readability, maintainability, and provide better context for developers working with these functions. The author field was updated to `IDSolutions` where appropriate.
2025-04-05 16:12:32 -05:00
Jacob Schmidt
c87deec60b Refactor: Organization Funds, Reputation, Tasks, and Player Saving
All checks were successful
Build / Build (push) Successful in 26s
This commit refactors how organization funds and reputation are handled, updates task completion logic to use the new organization functions, and modifies player saving to include organization data. Additionally, it introduces string serialization/deserialization and fixes a player save loop.

*   **Organization Funds and Reputation:** Replaces direct server calls for handling funds and reputation with calls to the new organization functions (`EFUNC(org,addFunds)` and `EFUNC(org,addReputation)`). This centralizes fund and reputation management within the organization store.
*   **Task Completion Logic:** Updates task completion functions (`fnc_destroy.sqf`, `fnc_attack.sqf`, `fnc_hostage.sqf`, `fnc_hvt.sqf`, `fnc_defuse.sqf`) to use the new organization functions for adding funds and reputation upon task success or failure. Also adds notifications to inform the player of reputation and fund changes.
*   **Player Saving:** Modifies the player saving function (`fnc_playerDBSave.sqf`) to include the player's organization ID in the saved data.
*   **String Serialization/Deserialization:** Adds `serializeString` and `deserializeString` PREP macros to `XEH_PREP.hpp` and uses them in `fnc_handleOrgLoad.sqf` and `fnc_create.sqf` to handle special characters in organization and member names.
*   **Player Save Loop Fix:** Removes unnecessary brackets from the `call FUNC(playerDBSave)` in `fnc_playerSaveLoop.sqf`.
*   **Organization Purchase Verification:** Adds organization ownership verification to `fnc_handlePurchase.sqf` to ensure only the owner can make purchases using organization funds.
*   **Player Initialization:** Updates `fnc_initPlayer.sqf` to retrieve and set the player's organization upon initialization.
2025-04-05 14:16:24 -05:00
Jacob Schmidt
db9a0b8fd8 Added Editor Task Modules 2025-01-05 17:00:03 -06:00
Jacob Schmidt
c6daf95415 Initial Repo Setup
All checks were successful
Build / Build (push) Successful in 53s
2025-01-01 14:35:12 -06:00