mirror of
https://github.com/ProjectSWGCore/Holocore.git
synced 2026-09-12 22:45:18 -04:00
Merge pull request #538 from madsboddum/locomotions
Added support for more locomotions to prevent a lot of game-breaking …
This commit is contained in:
+17
-3
@@ -1,7 +1,21 @@
|
||||
package com.projectswg.holocore.resources.support.global.commands
|
||||
|
||||
import com.projectswg.common.data.encodables.tangible.Posture
|
||||
import com.projectswg.holocore.resources.support.objects.swg.creature.CreatureObject
|
||||
|
||||
enum class Locomotion(val locomotionTableId: Int, val commandSdbColumnName: String, val check: (CreatureObject) -> Boolean) {
|
||||
KNOCKED_DOWN(18, "L:knockedDown", {creatureObject -> creatureObject.posture == com.projectswg.common.data.encodables.tangible.Posture.KNOCKED_DOWN})
|
||||
}
|
||||
enum class Locomotion(val locomotionTableId: Int, val commandSdbColumnName: String, val posture: Posture) {
|
||||
STANDING(0, "L:standing", Posture.UPRIGHT),
|
||||
KNEELING(4, "L:kneeling", Posture.CROUCHED),
|
||||
PRONE(7, "L:prone", Posture.PRONE),
|
||||
SITTING(14, "L:sitting", Posture.SITTING),
|
||||
SKILL_ANIMATING(15, "L:skillAnimating", Posture.SKILL_ANIMATING),
|
||||
DRIVING_VEHICLE(16, "L:drivingVehicle", Posture.DRIVING_VEHICLE),
|
||||
RIDING_CREATURE(17, "L:ridingCreature", Posture.RIDING_CREATURE),
|
||||
KNOCKED_DOWN(18, "L:knockedDown", Posture.KNOCKED_DOWN),
|
||||
INCAPACITATED(19, "L:incapacitated", Posture.INCAPACITATED),
|
||||
DEAD(20, "L:dead", Posture.DEAD);
|
||||
|
||||
fun isActive(creatureObject: CreatureObject): Boolean {
|
||||
return creatureObject.posture == posture
|
||||
}
|
||||
}
|
||||
|
||||
+2
-5
@@ -25,7 +25,6 @@ import com.projectswg.holocore.resources.support.objects.swg.creature.CreatureOb
|
||||
import com.projectswg.holocore.resources.support.objects.swg.weapon.WeaponObject;
|
||||
import com.projectswg.holocore.resources.support.objects.swg.weapon.WeaponType;
|
||||
import com.projectswg.holocore.services.support.objects.ObjectStorageService.ObjectLookup;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import me.joshlarson.jlcommon.concurrency.ScheduledThreadPool;
|
||||
import me.joshlarson.jlcommon.control.IntentHandler;
|
||||
import me.joshlarson.jlcommon.control.Service;
|
||||
@@ -227,11 +226,9 @@ public class CommandQueueService extends Service {
|
||||
@NotNull Locomotion[] locomotions = Locomotion.values();
|
||||
|
||||
for (Locomotion locomotion : locomotions) {
|
||||
Function1<CreatureObject, Boolean> check = locomotion.getCheck();
|
||||
boolean active = locomotion.isActive(source);
|
||||
|
||||
Boolean result = check.invoke(source);
|
||||
|
||||
if (Boolean.TRUE.equals(result)) {
|
||||
if (active) {
|
||||
sourceLocomotions.add(locomotion);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user