Files
dsrc/sku.0/sys.server/compiled/game/script/working/jfreeman/combattest.java
T

74 lines
2.5 KiB
Java
Executable File

package script.working.jfreeman;
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;
public class combattest extends script.systems.combat.combat_base
{
public combattest()
{
}
public int OnAttach(obj_id self) throws InterruptedException
{
debugSpeakMsg(self, "attached. Detaching AI scripts in 5");
messageTo(self, "detachAI", null, 5, false);
return SCRIPT_CONTINUE;
}
public int detachAI(obj_id self, dictionary params) throws InterruptedException
{
detachScript(self, "ai.ai");
detachScript(self, "ai.creature_combat");
stop(self);
debugSpeakMsg(self, "ai detached!");
return SCRIPT_CONTINUE;
}
public int OnHearSpeech(obj_id self, obj_id objSpeaker, String strText) throws InterruptedException
{
if (strText.equals("setTarget"))
{
debugSpeakMsg(self, "target is set to " + objSpeaker);
setTarget(self, objSpeaker);
}
if (strText.equals("getTarget"))
{
obj_id objTarget = getTarget(self);
debugSpeakMsg(self, "target is " + objTarget);
}
return SCRIPT_CONTINUE;
}
public int OnDefenderCombatAction(obj_id self, obj_id attacker, obj_id weapon, int combatResult) throws InterruptedException
{
debugSpeakMsg(self, "defender_action, locomotion is " + getLocomotion(self) + " and posture is " + getPosture(self));
if (hasCombatAction(self))
{
debugSpeakMsg(self, "I've got combat actions already, returning");
return SCRIPT_CONTINUE;
}
obj_id objTarget = getTarget(self);
if ((objTarget == null) || (objTarget == obj_id.NULL_ID))
{
debugSpeakMsg(self, "setting target to " + attacker);
setTarget(self, attacker);
}
debugSpeakMsg(self, "queueing attack against " + attacker);
queueCommand(self, (966697619), attacker, "Test params", COMMAND_PRIORITY_DEFAULT);
return SCRIPT_CONTINUE;
}
public boolean hasCombatAction(obj_id npc) throws InterruptedException
{
return checkForCombatActions(npc);
}
public int OnIncapacitated(obj_id self, obj_id attacker) throws InterruptedException
{
kill(self);
debugSpeakMsg(self, "I am dead");
detachScript(self, "jfreeman.combattest");
return SCRIPT_CONTINUE;
}
}