mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-13 05:44:36 +01:00
Add optional level param to /spawn
Doesnt work for all battle stages yet
This commit is contained in:
@@ -16,7 +16,7 @@ import emu.lunarcore.game.scene.entity.EntityProp;
|
||||
import emu.lunarcore.util.Position;
|
||||
import emu.lunarcore.util.Utils;
|
||||
|
||||
@Command(label = "spawn", permission = "player.spawn", requireTarget = true, desc = "/spawn [monster/prop id] x[amount] s[stage id]. Spawns a monster or prop near the targeted player.")
|
||||
@Command(label = "spawn", permission = "player.spawn", requireTarget = true, desc = "/spawn [monster/prop id] [stage id] x[amount] lv[level] r[radius]. Spawns a monster or prop near the targeted player.")
|
||||
public class SpawnCommand implements CommandHandler {
|
||||
|
||||
@Override
|
||||
@@ -68,6 +68,10 @@ public class SpawnCommand implements CommandHandler {
|
||||
monster.setEventId(monsterInfo.getEventID());
|
||||
monster.setOverrideStageId(stage);
|
||||
|
||||
if (args.getLevel() > 0) {
|
||||
monster.setOverrideLevel(Math.min(args.getLevel(), 100));
|
||||
}
|
||||
|
||||
target.getScene().addEntity(monster, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -106,7 +106,15 @@ public class BattleService extends BaseGameService {
|
||||
|
||||
// Create battle and add npc monsters to it
|
||||
Battle battle = new Battle(player, player.getLineupManager().getCurrentLineup(), stages);
|
||||
battle.getNpcMonsters().addAll(monsters);
|
||||
|
||||
// Add npc monsters
|
||||
for (var npcMonster : monsters) {
|
||||
battle.getNpcMonsters().add(npcMonster);
|
||||
|
||||
if (npcMonster.getOverrideLevel() > 0) {
|
||||
battle.setLevelOverride(npcMonster.getOverrideLevel());
|
||||
}
|
||||
}
|
||||
|
||||
// Add buffs to battle
|
||||
if (isPlayerCaster) {
|
||||
|
||||
@@ -14,19 +14,20 @@ import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
public class EntityMonster implements GameEntity {
|
||||
@Setter private NpcMonsterExcel excel;
|
||||
@Setter private int entityId;
|
||||
@Setter private int worldLevel;
|
||||
@Setter private int groupId;
|
||||
@Setter private int instId;
|
||||
@Setter private int eventId;
|
||||
@Setter private int overrideStageId;
|
||||
@Setter private NpcMonsterExcel excel;
|
||||
|
||||
private final Scene scene;
|
||||
private final Position pos;
|
||||
private final Position rot;
|
||||
|
||||
private int farmElementId;
|
||||
@Setter private int overrideStageId;
|
||||
@Setter private int overrideLevel;
|
||||
|
||||
public EntityMonster(Scene scene, NpcMonsterExcel excel, GroupInfo group, MonsterInfo monsterInfo) {
|
||||
this.scene = scene;
|
||||
|
||||
Reference in New Issue
Block a user