mirror of
https://github.com/ProjectSWGCore/Holocore.git
synced 2026-09-11 21:45:26 -04:00
Merge pull request #661 from madsboddum/Holocore-660
Holocore-660 Default attack
This commit is contained in:
+1
-1
Submodule pswgcommon updated: 8a516676d7...5720b896f6
+19
@@ -0,0 +1,19 @@
|
||||
package com.projectswg.holocore.resources.support.global.commands.callbacks.combat
|
||||
|
||||
import com.projectswg.common.network.packets.swg.zone.ExecuteConsoleCommand
|
||||
import com.projectswg.holocore.resources.support.global.commands.ICmdCallback
|
||||
import com.projectswg.holocore.resources.support.global.player.Player
|
||||
import com.projectswg.holocore.resources.support.objects.swg.SWGObject
|
||||
|
||||
class CmdAttack : ICmdCallback {
|
||||
override fun execute(player: Player, target: SWGObject?, args: String) {
|
||||
val creatureObject = player.creatureObject
|
||||
val equippedWeapon = creatureObject.equippedWeapon
|
||||
val weaponType = equippedWeapon.type
|
||||
val defaultAttack = weaponType.defaultAttack
|
||||
val executeConsoleCommand = ExecuteConsoleCommand()
|
||||
executeConsoleCommand.addCommand(defaultAttack)
|
||||
|
||||
player.sendPacket(executeConsoleCommand)
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,6 @@ import com.projectswg.holocore.resources.support.objects.swg.custom.AIBehavior
|
||||
import com.projectswg.holocore.resources.support.objects.swg.custom.AIObject
|
||||
import com.projectswg.holocore.resources.support.objects.swg.custom.NpcMode
|
||||
import com.projectswg.holocore.resources.support.objects.swg.weapon.WeaponObject
|
||||
import com.projectswg.holocore.resources.support.objects.swg.weapon.WeaponType
|
||||
import java.util.*
|
||||
import java.util.concurrent.CopyOnWriteArraySet
|
||||
import java.util.concurrent.ThreadLocalRandom
|
||||
@@ -157,15 +156,7 @@ class NpcCombatMode(obj: AIObject) : NpcMode(obj) {
|
||||
return "creatureMeleeAttack"
|
||||
}
|
||||
|
||||
return when (weapon.type) {
|
||||
WeaponType.PISTOL -> "rangedShot"
|
||||
WeaponType.RIFLE -> "rangedShot"
|
||||
WeaponType.LIGHT_RIFLE -> "rangedShot"
|
||||
WeaponType.CARBINE, WeaponType.HEAVY, WeaponType.HEAVY_WEAPON, WeaponType.DIRECTIONAL_TARGET_WEAPON -> "rangedShot"
|
||||
WeaponType.ONE_HANDED_MELEE, WeaponType.TWO_HANDED_MELEE, WeaponType.UNARMED, WeaponType.POLEARM_MELEE, WeaponType.THROWN -> "meleeHit"
|
||||
WeaponType.ONE_HANDED_SABER, WeaponType.TWO_HANDED_SABER, WeaponType.POLEARM_SABER -> "saberHit"
|
||||
else -> "meleeHit"
|
||||
}
|
||||
return weapon.type.defaultAttack
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+25
-16
@@ -26,28 +26,30 @@
|
||||
***********************************************************************************/
|
||||
package com.projectswg.holocore.resources.support.objects.swg.weapon;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
|
||||
public enum WeaponType {
|
||||
RIFLE (0, "rifle_speed", WeaponClass.RANGED, "rifle_defense", "rifle_accuracy"),
|
||||
CARBINE (1, "carbine_speed", WeaponClass.RANGED, "carbine_defense", "carbine_accuracy"),
|
||||
PISTOL (2, "pistol_speed", WeaponClass.RANGED, "pistol_defense", "pistol_accuracy"),
|
||||
HEAVY (3, "heavyweapon_speed", WeaponClass.RANGED, "heavyweapon_defense", "heavyweapon_accuracy"),
|
||||
ONE_HANDED_MELEE (4, "onehandmelee_speed", WeaponClass.MELEE, "onehandmelee_defense", "onehandmelee_accuracy"),
|
||||
TWO_HANDED_MELEE (5, "twohandmelee_speed", WeaponClass.MELEE, "twohandmelee_defense", "twohandmelee_accuracy"),
|
||||
UNARMED (6, "unarmed_speed", WeaponClass.MELEE, "unarmed_defense", "unarmed_accuracy"),
|
||||
POLEARM_MELEE (7, "polearm_speed", WeaponClass.MELEE, "polearm_defense", "polearm_accuracy"),
|
||||
THROWN (8, "thrown_speed", WeaponClass.RANGED, null, "thrown_accuracy"),
|
||||
ONE_HANDED_SABER (9, "onehandlightsaber_speed", WeaponClass.MELEE, null, "onehandlightsaber_accuracy"),
|
||||
TWO_HANDED_SABER (10, "twohandlightsaber_speed", WeaponClass.MELEE, null, "twohandlightsaber_accuracy"),
|
||||
POLEARM_SABER (11, "polearmlightsaber_speed", WeaponClass.MELEE, null, "polearmlightsaber_accuracy"),
|
||||
RIFLE (0, "rifle_speed", WeaponClass.RANGED, "rifle_defense", "rifle_accuracy", "rangedShot"),
|
||||
CARBINE (1, "carbine_speed", WeaponClass.RANGED, "carbine_defense", "carbine_accuracy", "rangedShot"),
|
||||
PISTOL (2, "pistol_speed", WeaponClass.RANGED, "pistol_defense", "pistol_accuracy", "rangedShot"),
|
||||
HEAVY (3, "heavyweapon_speed", WeaponClass.RANGED, "heavyweapon_defense", "heavyweapon_accuracy", "rangedShot"),
|
||||
ONE_HANDED_MELEE (4, "onehandmelee_speed", WeaponClass.MELEE, "onehandmelee_defense", "onehandmelee_accuracy", "meleeHit"),
|
||||
TWO_HANDED_MELEE (5, "twohandmelee_speed", WeaponClass.MELEE, "twohandmelee_defense", "twohandmelee_accuracy", "meleeHit"),
|
||||
UNARMED (6, "unarmed_speed", WeaponClass.MELEE, "unarmed_defense", "unarmed_accuracy", "meleeHit"),
|
||||
POLEARM_MELEE (7, "polearm_speed", WeaponClass.MELEE, "polearm_defense", "polearm_accuracy", "meleeHit"),
|
||||
THROWN (8, "thrown_speed", WeaponClass.RANGED, null, "thrown_accuracy", "meleeHit"),
|
||||
ONE_HANDED_SABER (9, "onehandlightsaber_speed", WeaponClass.MELEE, null, "onehandlightsaber_accuracy", "saberHit"),
|
||||
TWO_HANDED_SABER (10, "twohandlightsaber_speed", WeaponClass.MELEE, null, "twohandlightsaber_accuracy", "saberHit"),
|
||||
POLEARM_SABER (11, "polearmlightsaber_speed", WeaponClass.MELEE, null, "polearmlightsaber_accuracy", "saberHit"),
|
||||
|
||||
// TODO these are NGE weapon types we should remove later
|
||||
HEAVY_WEAPON (12, "unavailable", WeaponClass.RANGED, null, null),
|
||||
DIRECTIONAL_TARGET_WEAPON (13, "unavailable", WeaponClass.RANGED, null, null),
|
||||
LIGHT_RIFLE (14, "unavailable", WeaponClass.RANGED, null, null);
|
||||
HEAVY_WEAPON (12, "unavailable", WeaponClass.RANGED, null, null, ""),
|
||||
DIRECTIONAL_TARGET_WEAPON (13, "unavailable", WeaponClass.RANGED, null, null, ""),
|
||||
LIGHT_RIFLE (14, "unavailable", WeaponClass.RANGED, null, null, "");
|
||||
|
||||
private static final WeaponType [] VALUES = values();
|
||||
|
||||
@@ -56,13 +58,15 @@ public enum WeaponType {
|
||||
private final WeaponClass weaponClass;
|
||||
private final String defenseSkillMod;
|
||||
private final String accuracySkillMod;
|
||||
private final String defaultAttack;
|
||||
|
||||
WeaponType(int num, String speedSkillMod, WeaponClass weaponClass, String defenseSkillMod, String accuracySkillMod) {
|
||||
WeaponType(int num, String speedSkillMod, WeaponClass weaponClass, String defenseSkillMod, String accuracySkillMod, String defaultAttack) {
|
||||
this.num = num;
|
||||
this.speedSkillMod = speedSkillMod;
|
||||
this.weaponClass = weaponClass;
|
||||
this.defenseSkillMod = defenseSkillMod;
|
||||
this.accuracySkillMod = accuracySkillMod;
|
||||
this.defaultAttack = defaultAttack;
|
||||
}
|
||||
|
||||
public int getNum() {
|
||||
@@ -134,4 +138,9 @@ public enum WeaponType {
|
||||
public boolean isRanged() {
|
||||
return weaponClass == WeaponClass.RANGED;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public String getDefaultAttack() {
|
||||
return defaultAttack;
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -35,6 +35,7 @@ import com.projectswg.holocore.resources.support.global.commands.callbacks.admin
|
||||
import com.projectswg.holocore.resources.support.global.commands.callbacks.admin.qatool.CmdQaTool;
|
||||
import com.projectswg.holocore.resources.support.global.commands.callbacks.chat.*;
|
||||
import com.projectswg.holocore.resources.support.global.commands.callbacks.chat.friend.*;
|
||||
import com.projectswg.holocore.resources.support.global.commands.callbacks.combat.CmdAttack;
|
||||
import com.projectswg.holocore.resources.support.global.commands.callbacks.combat.CmdCoupDeGrace;
|
||||
import com.projectswg.holocore.resources.support.global.commands.callbacks.combat.CmdDuel;
|
||||
import com.projectswg.holocore.resources.support.global.commands.callbacks.combat.CmdEndDuel;
|
||||
@@ -185,6 +186,7 @@ public class CommandExecutionService extends Service {
|
||||
registerScriptCallback("cmdCoupDeGrace", CmdCoupDeGrace::new);
|
||||
registerCppCallback("duel", CmdDuel::new);
|
||||
registerCppCallback("endDuel", CmdEndDuel::new);
|
||||
registerScriptCallback("attack", CmdAttack::new);
|
||||
}
|
||||
|
||||
private void addLootScripts() {
|
||||
|
||||
Reference in New Issue
Block a user