@ -20,70 +20,11 @@ The Magicbane Team has wanted to open source Shadowbane for half a decade. We a
@@ -20,70 +20,11 @@ The Magicbane Team has wanted to open source Shadowbane for half a decade. We a
## Contributing
- Project is released under an MIT license. Please see the LICENSE file.
- Inbound == Outbound.
- IntelliJ is the supported IDE.
- Write code today see it running on the Magicbane production server tomorrow.
## Project setup
## Support
**Prerequisites**:
- Git
- IntelliJ
- Java 8 JDK
- Account on the Magicbane [Public Repository](http://repo.magicbane.com)
Copy the HTTP link if you haven't yet installed a public key:
You can now move onto the [Development Workflow](http://repo.magicbane.com/MagicBane/Server/wiki/Development-workflow) or [MagicBox Setup](http://repo.magicbane.com/MagicBane/Server/wiki/MagicBox-:-Magicbane-in-a-Box) pages for further information.
Support is also available through the Magicbane [Discord server](www.magicbane.com). Feel free to stop in and pick Magicbot's brain!
Documentation is available through the Magicbane [Wiki](http://repo.magicbane.com/MagicBane/Server/wiki) and [Discord server](www.magicbane.com).
@ -92,7 +92,23 @@ public class AbandonAssetMsgHandler extends AbstractClientMsgHandler {
@@ -92,7 +92,23 @@ public class AbandonAssetMsgHandler extends AbstractClientMsgHandler {
// Trees require special handling beyond an individual building
@ -43,7 +41,7 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
@@ -43,7 +41,7 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
Blueprintblueprint;
blueprint=building.getBlueprint();
Citycity=building.getCity();
// Can't destroy buildings without a blueprint.
if(blueprint==null)
@ -57,7 +55,11 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
@@ -57,7 +55,11 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
@ -71,15 +73,12 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
@@ -71,15 +73,12 @@ public class DestroyBuildingHandler extends AbstractClientMsgHandler {
@ -92,7 +92,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -92,7 +92,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
PlaceAssetMsg.sendPlaceAssetError(origin,1,"A Serious error has occurred. Please post details for to ensure transaction integrity");
closePlaceAssetWindow(origin);
returntrue;
@ -115,7 +115,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -115,7 +115,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
+" null blueprint UUID: "+buildingList.getBlueprintUUID()+" on deed use");
+" null blueprint UUID: "+buildingList.getBlueprintUUID()+" on deed use");
PlaceAssetMsg.sendPlaceAssetError(origin,1,"A Serious error has occurred. Please post details for to ensure transaction integrity");
closePlaceAssetWindow(origin);
returntrue;
@ -130,66 +130,66 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -130,66 +130,66 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@ -230,7 +230,6 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -230,7 +230,6 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@ -346,125 +345,125 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -346,125 +345,125 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@ -507,8 +506,8 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -507,8 +506,8 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@ -527,18 +526,18 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -527,18 +526,18 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
for(AbstractGameObjectgameObject:cityObjects){
switch(gameObject.getObjectType()){
caseBuilding:
treeObject=(Building)gameObject;
treeObject.runAfterLoad();
break;
caseCity:
cityObject=(City)gameObject;
break;
caseZone:
cityZone=(Zone)gameObject;
break;
default:
// log some error here? *** Refactor
caseBuilding:
treeObject=(Building)gameObject;
treeObject.runAfterLoad();
break;
caseCity:
cityObject=(City)gameObject;
break;
caseZone:
cityZone=(Zone)gameObject;
break;
default:
// log some error here? *** Refactor
}
}
@ -562,7 +561,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -562,7 +561,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@ -708,7 +707,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -708,7 +707,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@ -716,7 +715,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -716,7 +715,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
PlaceAssetMsg.sendPlaceAssetError(origin,43,"");// "shrine of that type exists"
@ -811,13 +810,13 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -811,13 +810,13 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
// Method checks validation conditions arising when placing
// buildings. Player must be on a city grid, must be
@ -956,7 +955,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -956,7 +955,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
// Method validates the location we have selected for our new city
@ -995,7 +994,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -995,7 +994,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
if(
(realmType.equals(RealmType.MAELSTROM))||
(realmType.equals(RealmType.OBLIVION))){
(realmType.equals(RealmType.OBLIVION))){
PlaceAssetMsg.sendPlaceAssetError(origin,57,playerCharacter.getName());// No building may be placed within this territory
returnfalse;
}
@ -1107,7 +1106,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -1107,7 +1106,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@ -1121,20 +1120,20 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -1121,20 +1120,20 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
PlaceAssetMsg.sendPlaceAssetError(player.getClientConnection(),1,"A Serious error has occurred. Please post details for to ensure transaction integrity");
PlaceAssetMsg.sendPlaceAssetError(player.getClientConnection(),1,"A Serious error has occurred. Please post details for to ensure transaction integrity");
break;
}
}
@ -1172,7 +1171,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -1172,7 +1171,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@ -1249,6 +1248,85 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -1249,6 +1248,85 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@ -1259,7 +1337,14 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -1259,7 +1337,14 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
PlaceAssetMsg.sendPlaceAssetError(origin,10,"");// You must be a guild leader
returnfalse;
}
@ -1282,7 +1367,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -1282,7 +1367,7 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
if(
(currentRealm.equals(RealmType.MAELSTROM))||
(currentRealm.equals(RealmType.OBLIVION))){
(currentRealm.equals(RealmType.OBLIVION))){
PlaceAssetMsg.sendPlaceAssetError(origin,57,player.getName());// No building may be placed within this territory
returnfalse;
}
@ -1373,8 +1458,6 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
@@ -1373,8 +1458,6 @@ public class PlaceAssetMsgHandler extends AbstractClientMsgHandler {
PlaceAssetMsg.sendPlaceAssetError(origin,9,"");//You must be a guild member to place this asset
@ -180,7 +180,7 @@ public class LoginServerMsgHandler implements NetMsgHandler {
@@ -180,7 +180,7 @@ public class LoginServerMsgHandler implements NetMsgHandler {