include library.groundquests; include library.factions; include library.loot; include library.money; include library.prose; include library.static_item; include library.utils; include library.weapons; include library.xp; // --------------------------------------------------------------------- inherits quest.task.ground.base_task; // --------------------------------------------------------------------- const String taskType = "reward"; // --------------------------------------------------------------------- //fires when this task is added to the player trigger OnTaskActivated(int questCrc, int taskId) { groundquests.questOutputDebugInfo(self, questCrc, taskId, taskType, "OnTaskActivated", taskType + " task activated."); //instantly complete questCompleteTask(questCrc, taskId, self); return SCRIPT_CONTINUE; } // --------------------------------------------------------------------- //fires when the task is completed trigger OnTaskCompleted(int questCrc, int taskId) { groundquests.questOutputDebugInfo(self, questCrc, taskId, taskType, "OnTaskCompleted", taskType + " task completed."); //gather data for this task String experienceType = groundquests.getTaskStringDataEntry(questCrc, taskId, groundquests.dataTableColumnExperienceType); int experienceAmount = groundquests.getTaskIntDataEntry (questCrc, taskId, groundquests.dataTableColumnExperienceAmount); String factionName = groundquests.getTaskStringDataEntry(questCrc, taskId, groundquests.dataTableColumnFactionName); int factionAmount = groundquests.getTaskIntDataEntry (questCrc, taskId, groundquests.dataTableColumnFactionAmount); int bankCredits = groundquests.getTaskIntDataEntry (questCrc, taskId, groundquests.dataTableColumnBankCredits); String item = groundquests.getTaskStringDataEntry(questCrc, taskId, groundquests.dataTableColumnItem); int itemCount = groundquests.getTaskIntDataEntry (questCrc, taskId, groundquests.dataTableColumnCount); String weapon = groundquests.getTaskStringDataEntry(questCrc, taskId, groundquests.dataTableColumnWeapon); int weaponCount = groundquests.getTaskIntDataEntry (questCrc, taskId, groundquests.dataTableColumnCountWeapon); float weaponSpeed = utils.stringToFloat(groundquests.getTaskStringDataEntry (questCrc, taskId, groundquests.dataTableColumnSpeed)); float weaponDamage = utils.stringToFloat(groundquests.getTaskStringDataEntry (questCrc, taskId, groundquests.dataTableColumnDamage)); float weaponEfficiency = utils.stringToFloat(groundquests.getTaskStringDataEntry (questCrc, taskId, groundquests.dataTableColumnEfficiency)); float weaponElementalValue = utils.stringToFloat(groundquests.getTaskStringDataEntry (questCrc, taskId, groundquests.dataTableColumnElementalValue)); String armor = groundquests.getTaskStringDataEntry(questCrc, taskId, groundquests.dataTableColumnArmor); int armorCount = groundquests.getTaskIntDataEntry (questCrc, taskId, groundquests.dataTableColumnCountArmor); int armorQuality = groundquests.getTaskIntDataEntry (questCrc, taskId, groundquests.dataTableColumnQuality); String lootName = groundquests.getTaskStringDataEntry(questCrc, taskId, groundquests.dataTableColumnLootName); int lootCount = groundquests.getTaskIntDataEntry (questCrc, taskId, groundquests.dataTableColumnLootCount); string badge = groundquests.getTaskStringDataEntry(questCrc, taskId, groundquests.dataTableColumnBadge); String[] lootNames = {lootName}; int[] lootCounts = {lootCount}; groundquests.grantQuestReward(self, questCrc, -1, -1, experienceType, experienceAmount, factionName, factionAmount, false, bankCredits, item, itemCount, weapon, weaponCount, weaponSpeed, weaponDamage, weaponEfficiency, weaponElementalValue, armor, armorCount, armorQuality, lootNames, lootCounts, null, 1, badge, ( questIsQuestForceAccept(questCrc) || !questDoesUseAcceptanceUI(questCrc) )); return SCRIPT_CONTINUE; } // --------------------------------------------------------------------- //fires when the task is completed trigger OnTaskFailed(int questCrc, int taskId) { groundquests.questOutputDebugInfo(self, questCrc, taskId, taskType, "OnTaskFailed", taskType + " task failed."); return SCRIPT_CONTINUE; } // --------------------------------------------------------------------- trigger OnTaskCleared(int questCrc, int taskId) { groundquests.questOutputDebugInfo(self, questCrc, taskId, taskType, "OnTaskCleared", taskType + " task cleared."); return SCRIPT_CONTINUE; } // --------------------------------------------------------------------- trigger OnDetach() { //make sure the base objvar is removed removeObjVar(self, groundquests.getTaskTypeObjVar(self, taskType)); return SCRIPT_CONTINUE; } // ---------------------------------------------------------------------