diff --git a/scripts/commands/pvp.py b/scripts/commands/pvp.py new file mode 100644 index 00000000..7ed57c66 --- /dev/null +++ b/scripts/commands/pvp.py @@ -0,0 +1,28 @@ +from resources.objects.creature import CreatureObject +import sys + +def setup(): + return + +def run(core, actor, target, commandString): + actorFaction = actor.getFaction() + actorStatus = actor.getFactionStatus() + if commandString.startswith('imperial') and actorFaction != "imperial": + actor.setFaction('imperial') + return + + if commandString.startswith('rebel') and actorFaction != "rebel": + actor.setFaction('rebel') + return + + if actorStatus != 0 and actorStatus == 1: + actor.setFactionStatus(2) + actor.sendSystemMessage('@faction_recruiter:overt_complete', 0) + return + + if actorStatus == 2: + actor.setFactionStatus(1) + actor.sendSystemMessage('@faction_recruiter:covert_complete', 0) + return + return + \ No newline at end of file diff --git a/src/services/SimulationService.java b/src/services/SimulationService.java index 0aa3428a..660ae50f 100644 --- a/src/services/SimulationService.java +++ b/src/services/SimulationService.java @@ -109,6 +109,7 @@ public class SimulationService implements INetworkDispatch { core.commandService.registerCommand("giveitem"); core.commandService.registerCommand("object"); core.commandService.registerCommand("getattributesbatch"); + core.commandService.registerCommand("pvp"); } diff --git a/src/services/sui/SUIService.java b/src/services/sui/SUIService.java index 14a7407a..8cccd2cc 100644 --- a/src/services/sui/SUIService.java +++ b/src/services/sui/SUIService.java @@ -79,12 +79,12 @@ public class SUIService implements INetworkDispatch { if(target == null || owner == null) return; - + core.scriptService.callScript("scripts/radial/", getRadialFilename(target), "createRadial", core, owner, target, request.getRadialOptions()); if(getRadialFilename(target).equals("default")) return; - + sendRadial(owner, target, request.getRadialOptions(), request.getRadialCount()); } @@ -290,7 +290,30 @@ public class SUIService implements INetworkDispatch { return window; } + + public SUIWindow createInputBox(int type, String title, String promptText, SWGObject owner, SWGObject rangeObject, float maxDistance) { + SUIWindow window = createSUIWindow("Script.inputBox", owner, rangeObject, maxDistance); + window.setProperty("bg.caption.lblTitle:Text", title); + window.setProperty("Prompt.lblPrompt:Text", promptText); + + switch(type) { + case InputBoxType.INPUT_BOX_OK: + window.setProperty("btnOk:visible", "True"); + window.setProperty("btnOk:Text", "@ok"); + window.setProperty("btnCancel:visible", "False"); + window.setProperty("cmbInput:visible", "False"); + break; + case InputBoxType.INPUT_BOX_OK_CANCEL: + window.setProperty("btnOk:visible", "True"); + window.setProperty("btnCancel:visible", "True"); + window.setProperty("btnCancel:Text", "@cancel"); + window.setProperty("btnOk:Text", "@ok"); + window.setProperty("cmbInput:visible", "False"); + } + return window; + } + public void closeSUIWindow(SWGObject owner, int id) { if(owner.getClient() == null || owner.getClient().getSession() == null)