From 2c47f593f3cf0aed88fbf03de1ca6c241ed453ff Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Fri, 28 Feb 2025 14:10:48 -0600 Subject: [PATCH] dungeon generation --- src/engine/Dungeons/DungeonManager.java | 30 +++++++++++++++++++++---- src/engine/devcmd/cmds/DungenonCmd.java | 24 +++----------------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/src/engine/Dungeons/DungeonManager.java b/src/engine/Dungeons/DungeonManager.java index 7792699b..651ccb5f 100644 --- a/src/engine/Dungeons/DungeonManager.java +++ b/src/engine/Dungeons/DungeonManager.java @@ -1,10 +1,11 @@ package engine.Dungeons; +import engine.Enum; import engine.InterestManagement.WorldGrid; -import engine.objects.AbstractWorldObject; -import engine.objects.Guild; -import engine.objects.Mob; -import engine.objects.PlayerCharacter; +import engine.gameManager.DbManager; +import engine.gameManager.ZoneManager; +import engine.math.Vector3fImmutable; +import engine.objects.*; import engine.powers.EffectsBase; import engine.server.MBServerStatics; @@ -100,4 +101,25 @@ public class DungeonManager { } } + + public static void createDungeon(Vector3fImmutable loc, int count){ + + Zone parent = ZoneManager.findSmallestZone(loc); + + Dungeon dungeon = new Dungeon(loc,count); + + Vector3fImmutable loc1 = new Vector3fImmutable(loc.x + 128,loc.y,loc.z + 128); + Vector3fImmutable loc2 = new Vector3fImmutable(loc.x - 128,loc.y,loc.z - 128); + Vector3fImmutable loc3 = new Vector3fImmutable(loc.x - 128,loc.y,loc.z + 128); + Vector3fImmutable loc4 = new Vector3fImmutable(loc.x + 128,loc.y,loc.z - 128); + + Building building1 = DbManager.BuildingQueries.CREATE_BUILDING(parent.getObjectUUID(),1,"Building",450200,loc1,1.0f,5000, Enum.ProtectionState.NPC,0,1,null,454200,0f,0f); + Building building2 = DbManager.BuildingQueries.CREATE_BUILDING(parent.getObjectUUID(),1,"Building",450200,loc2,1.0f,5000, Enum.ProtectionState.NPC,0,1,null,454200,0f,0f); + Building building3 = DbManager.BuildingQueries.CREATE_BUILDING(parent.getObjectUUID(),1,"Building",450200,loc3,1.0f,5000, Enum.ProtectionState.NPC,0,1,null,454200,0f,0f); + Building building4 = DbManager.BuildingQueries.CREATE_BUILDING(parent.getObjectUUID(),1,"Building",450200,loc4,1.0f,5000, Enum.ProtectionState.NPC,0,1,null,454200,0f,0f); + WorldGrid.addObject(building1,loc1.x,loc1.z); + WorldGrid.addObject(building2,loc2.x,loc2.z); + WorldGrid.addObject(building3,loc3.x,loc3.z); + WorldGrid.addObject(building4,loc4.x,loc4.z); + } } diff --git a/src/engine/devcmd/cmds/DungenonCmd.java b/src/engine/devcmd/cmds/DungenonCmd.java index 650a063f..d20fa518 100644 --- a/src/engine/devcmd/cmds/DungenonCmd.java +++ b/src/engine/devcmd/cmds/DungenonCmd.java @@ -9,6 +9,7 @@ package engine.devcmd.cmds; +import engine.Dungeons.DungeonManager; import engine.Enum.GameObjectType; import engine.devcmd.AbstractDevCmd; import engine.gameManager.ChatManager; @@ -30,31 +31,12 @@ public class DungenonCmd extends AbstractDevCmd { @Override protected void _doCmd(PlayerCharacter pc, String[] words, AbstractGameObject target) { - if (words.length != 1) { - this.sendUsage(pc); - return; - } - if(words.length < 1) { - throwbackInfo(pc, this._getHelpString()); - return; - } + Zone parent = ZoneManager.findSmallestZone(pc.loc); if(parent == null) return; - switch(words[0]){ - case "mob": - int mobbase = Integer.parseInt(words[1]); - int level = Integer.parseInt(words[2]); - Mob.createStrongholdMob(mobbase,pc.loc,Guild.getErrantGuild(),true,parent,null,0,"",level); - break; - case "building": - int blueprint = Integer.parseInt(words[1]); - int rank = Integer.parseInt(words[2]); - int rot = Integer.parseInt(words[3]); - - break; - } + DungeonManager.createDungeon(parent.getLoc(),5); } @Override