mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-31 00:15:54 -04:00
92 lines
4.8 KiB
Plaintext
92 lines
4.8 KiB
Plaintext
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;
|
|
}
|
|
|
|
// ---------------------------------------------------------------------
|