mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-31 00:15:54 -04:00
who isn't sick of converting the freaking scripts? this negates the need
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
package script.quest.task;
|
||||
|
||||
import script.*;
|
||||
import script.base_class.*;
|
||||
import script.combat_engine.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.Hashtable;
|
||||
import java.util.Vector;
|
||||
import script.base_script;
|
||||
|
||||
import script.library.quests;
|
||||
import script.library.utils;
|
||||
|
||||
public class survey extends script.base_script
|
||||
{
|
||||
public survey()
|
||||
{
|
||||
}
|
||||
public int surveyComplete(obj_id self, dictionary params) throws InterruptedException
|
||||
{
|
||||
LOG("newquests", "survey - surveyComplete()");
|
||||
String resourceType = params.getString("resource_type");
|
||||
String resourceClass = params.getString("resource_class");
|
||||
float efficiency = params.getFloat("efficiency");
|
||||
obj_id resource = params.getObjId("resource_type_object");
|
||||
String[] activeTasks = quests.getActiveQuestsWithScript("quest.task.survey", self);
|
||||
LOG("newquests", "checking " + activeTasks.length + " tasks for completion");
|
||||
if (activeTasks != null && activeTasks.length > 0)
|
||||
{
|
||||
int iter = 0;
|
||||
for (iter = 0; iter < activeTasks.length; ++iter)
|
||||
{
|
||||
LOG("newquests", "survey - Checking task " + activeTasks[iter] + " for completion");
|
||||
float efficiencyParameter = 0.0f;
|
||||
String objvarname = "quest." + activeTasks[iter] + ".parameter";
|
||||
if (hasObjVar(self, objvarname))
|
||||
{
|
||||
efficiencyParameter = getFloatObjVar(self, objvarname);
|
||||
}
|
||||
else
|
||||
{
|
||||
String efficiencyParameterString = quests.getDataEntry(activeTasks[iter], "PARAMETER");
|
||||
if (efficiencyParameterString != null && efficiencyParameterString.length() > 0)
|
||||
{
|
||||
efficiencyParameter = utils.stringToFloat(efficiencyParameterString);
|
||||
}
|
||||
}
|
||||
LOG("newquests", "survey - " + activeTasks[iter] + " - efficiency=" + efficiency + " efficienty required=" + efficiencyParameter);
|
||||
if (efficiency > efficiencyParameter)
|
||||
{
|
||||
String resourceTarget = null;
|
||||
objvarname = "quest." + activeTasks[iter] + ".target";
|
||||
if (hasObjVar(self, objvarname))
|
||||
{
|
||||
resourceTarget = getStringObjVar(self, objvarname);
|
||||
}
|
||||
else
|
||||
{
|
||||
resourceTarget = quests.getDataEntry(activeTasks[iter], "TARGET");
|
||||
LOG("newquests", "survey - " + activeTasks[iter] + " efficiency qualifies, validating resource type " + getResourceName(resource) + " against target " + resourceTarget);
|
||||
}
|
||||
if (resourceTarget != null && resourceTarget.length() > 0)
|
||||
{
|
||||
if (isResourceDerivedFrom(resource, resourceTarget))
|
||||
{
|
||||
LOG("newquests", "survey - " + activeTasks[iter] + " qualifies! Completing task!");
|
||||
objvarname = "quest.survey.efficency";
|
||||
setObjVar(self, objvarname, efficiency);
|
||||
quests.complete(activeTasks[iter], self, true);
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG("newquests", "survey - " + getResourceName(resource) + " does not match target " + resourceTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return SCRIPT_CONTINUE;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user