forked from MagicBane/Server
dungeon generation
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user