Add tower
This commit is contained in:
@@ -161,6 +161,11 @@ void getBuildingCost(BuildingType type, i32 cost[RES_COUNT]) {
|
|||||||
case BUILDING_WAREHOUSE:
|
case BUILDING_WAREHOUSE:
|
||||||
cost[RES_WOOD] = 100;
|
cost[RES_WOOD] = 100;
|
||||||
break;
|
break;
|
||||||
|
case BUILDING_TOWER:
|
||||||
|
cost[RES_WOOD] = 400;
|
||||||
|
cost[RES_FOOD] = 100;
|
||||||
|
cost[RES_GOLD] = 500;
|
||||||
|
break;
|
||||||
case BUILDING_NONE:
|
case BUILDING_NONE:
|
||||||
case BUILDING_KEEP:
|
case BUILDING_KEEP:
|
||||||
case BUILDING_COUNT:
|
case BUILDING_COUNT:
|
||||||
|
|||||||
@@ -331,6 +331,7 @@ typedef enum BuildingType {
|
|||||||
BUILDING_KEEP,
|
BUILDING_KEEP,
|
||||||
BUILDING_MARKET,
|
BUILDING_MARKET,
|
||||||
BUILDING_MILL,
|
BUILDING_MILL,
|
||||||
|
BUILDING_TOWER,
|
||||||
BUILDING_WAREHOUSE,
|
BUILDING_WAREHOUSE,
|
||||||
BUILDING_WHEAT_0,
|
BUILDING_WHEAT_0,
|
||||||
BUILDING_WHEAT_1,
|
BUILDING_WHEAT_1,
|
||||||
@@ -341,6 +342,8 @@ static BuildingType getTileBuilding(BzTileID tile) {
|
|||||||
switch (tile) {
|
switch (tile) {
|
||||||
case 5638:
|
case 5638:
|
||||||
return BUILDING_BARRACKS;
|
return BUILDING_BARRACKS;
|
||||||
|
case 5650:
|
||||||
|
return BUILDING_TOWER;
|
||||||
case 5654:
|
case 5654:
|
||||||
case 5655:
|
case 5655:
|
||||||
case 5910:
|
case 5910:
|
||||||
@@ -387,6 +390,7 @@ static BuildingType getTileBuilding(BzTileID tile) {
|
|||||||
static BzTileID getBuildingTile(BuildingType type) {
|
static BzTileID getBuildingTile(BuildingType type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case BUILDING_BARRACKS: return 5638;
|
case BUILDING_BARRACKS: return 5638;
|
||||||
|
case BUILDING_TOWER: return 5650;
|
||||||
case BUILDING_KEEP: return 5654;
|
case BUILDING_KEEP: return 5654;
|
||||||
case BUILDING_WHEAT_1: return 6400;
|
case BUILDING_WHEAT_1: return 6400;
|
||||||
case BUILDING_WHEAT_0: return 6401;
|
case BUILDING_WHEAT_0: return 6401;
|
||||||
@@ -411,6 +415,7 @@ static BzTileID getBuildingTile(BuildingType type) {
|
|||||||
static const char *getBuildingStr(BuildingType type) {
|
static const char *getBuildingStr(BuildingType type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case BUILDING_BARRACKS: return "barracks";
|
case BUILDING_BARRACKS: return "barracks";
|
||||||
|
case BUILDING_TOWER: return "tower";
|
||||||
case BUILDING_KEEP: return "keep";
|
case BUILDING_KEEP: return "keep";
|
||||||
case BUILDING_WHEAT_1: return "wheat_1";
|
case BUILDING_WHEAT_1: return "wheat_1";
|
||||||
case BUILDING_WHEAT_0: return "wheat_0";
|
case BUILDING_WHEAT_0: return "wheat_0";
|
||||||
@@ -438,6 +443,10 @@ static BuildingType getBuildingSize(BuildingType type, i32 *outWidth, i32 *outHe
|
|||||||
if (outWidth) *outWidth = 1;
|
if (outWidth) *outWidth = 1;
|
||||||
if (outHeight) *outHeight = 1;
|
if (outHeight) *outHeight = 1;
|
||||||
break;
|
break;
|
||||||
|
case BUILDING_TOWER:
|
||||||
|
if (outWidth) *outWidth = 1;
|
||||||
|
if (outHeight) *outHeight = 1;
|
||||||
|
break;
|
||||||
case BUILDING_KEEP:
|
case BUILDING_KEEP:
|
||||||
if (outWidth) *outWidth = 2;
|
if (outWidth) *outWidth = 2;
|
||||||
if (outHeight) *outHeight = 2;
|
if (outHeight) *outHeight = 2;
|
||||||
|
|||||||
@@ -54,24 +54,24 @@ void drawGameUI(Game *game, f32 dt) {
|
|||||||
InputState *input = ecs_singleton_get_mut(ECS, InputState);
|
InputState *input = ecs_singleton_get_mut(ECS, InputState);
|
||||||
|
|
||||||
const BuildingType buildingOrder[] = {
|
const BuildingType buildingOrder[] = {
|
||||||
BUILDING_HOUSE_01,
|
BUILDING_WHEAT_0,
|
||||||
|
BUILDING_HOUSE_05,
|
||||||
BUILDING_GRANARY,
|
BUILDING_GRANARY,
|
||||||
BUILDING_WAREHOUSE,
|
BUILDING_WAREHOUSE,
|
||||||
BUILDING_MARKET,
|
BUILDING_MARKET,
|
||||||
BUILDING_MILL,
|
BUILDING_MILL,
|
||||||
BUILDING_WHEAT_0,
|
|
||||||
BUILDING_BARRACKS,
|
BUILDING_BARRACKS,
|
||||||
BUILDING_ARCHERY_RANGE
|
BUILDING_TOWER
|
||||||
};
|
};
|
||||||
const char *buildingNames[] = {
|
const char *buildingNames[] = {
|
||||||
|
"Farm",
|
||||||
"House",
|
"House",
|
||||||
"Granary",
|
"Granary",
|
||||||
"Warehouse",
|
"Warehouse",
|
||||||
"Market",
|
"Market",
|
||||||
"Mill",
|
"Mill",
|
||||||
"Farm",
|
|
||||||
"Barracks",
|
"Barracks",
|
||||||
"Archery Range"
|
"Tower"
|
||||||
};
|
};
|
||||||
i32 numBuildings = sizeof(buildingOrder) / sizeof(*buildingOrder);
|
i32 numBuildings = sizeof(buildingOrder) / sizeof(*buildingOrder);
|
||||||
|
|
||||||
|
|||||||
@@ -6859,7 +6859,8 @@
|
|||||||
"name":"player",
|
"name":"player",
|
||||||
"type":"int",
|
"type":"int",
|
||||||
"value":0
|
"value":0
|
||||||
}]
|
}],
|
||||||
|
"type":"tower"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id":5651,
|
"id":5651,
|
||||||
|
|||||||
@@ -2508,7 +2508,7 @@
|
|||||||
<property name="player" type="int" value="0"/>
|
<property name="player" type="int" value="0"/>
|
||||||
</properties>
|
</properties>
|
||||||
</tile>
|
</tile>
|
||||||
<tile id="5650">
|
<tile id="5650" type="tower">
|
||||||
<properties>
|
<properties>
|
||||||
<property name="building" value=""/>
|
<property name="building" value=""/>
|
||||||
<property name="player" type="int" value="0"/>
|
<property name="player" type="int" value="0"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user