Browse Source

dungeon generation

lakebane-jobs
FatBoy-DOTC 8 hours ago
parent
commit
2c47f593f3
  1. 30
      src/engine/Dungeons/DungeonManager.java
  2. 24
      src/engine/devcmd/cmds/DungenonCmd.java

30
src/engine/Dungeons/DungeonManager.java

@ -1,10 +1,11 @@ @@ -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 { @@ -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);
}
}

24
src/engine/devcmd/cmds/DungenonCmd.java

@ -9,6 +9,7 @@ @@ -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 { @@ -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

Loading…
Cancel
Save