Files
dsrc/sku.0/sys.server/compiled/game/script/quest/task/ground/reward.script
T

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;
}
// ---------------------------------------------------------------------