Add tower

This commit is contained in:
2024-02-05 09:26:04 +01:00
parent d55ed29f97
commit ba293b15d9
5 changed files with 22 additions and 7 deletions

View File

@@ -161,6 +161,11 @@ void getBuildingCost(BuildingType type, i32 cost[RES_COUNT]) {
case BUILDING_WAREHOUSE:
cost[RES_WOOD] = 100;
break;
case BUILDING_TOWER:
cost[RES_WOOD] = 400;
cost[RES_FOOD] = 100;
cost[RES_GOLD] = 500;
break;
case BUILDING_NONE:
case BUILDING_KEEP:
case BUILDING_COUNT:

View File

@@ -331,6 +331,7 @@ typedef enum BuildingType {
BUILDING_KEEP,
BUILDING_MARKET,
BUILDING_MILL,
BUILDING_TOWER,
BUILDING_WAREHOUSE,
BUILDING_WHEAT_0,
BUILDING_WHEAT_1,
@@ -341,6 +342,8 @@ static BuildingType getTileBuilding(BzTileID tile) {
switch (tile) {
case 5638:
return BUILDING_BARRACKS;
case 5650:
return BUILDING_TOWER;
case 5654:
case 5655:
case 5910:
@@ -387,6 +390,7 @@ static BuildingType getTileBuilding(BzTileID tile) {
static BzTileID getBuildingTile(BuildingType type) {
switch (type) {
case BUILDING_BARRACKS: return 5638;
case BUILDING_TOWER: return 5650;
case BUILDING_KEEP: return 5654;
case BUILDING_WHEAT_1: return 6400;
case BUILDING_WHEAT_0: return 6401;
@@ -411,6 +415,7 @@ static BzTileID getBuildingTile(BuildingType type) {
static const char *getBuildingStr(BuildingType type) {
switch (type) {
case BUILDING_BARRACKS: return "barracks";
case BUILDING_TOWER: return "tower";
case BUILDING_KEEP: return "keep";
case BUILDING_WHEAT_1: return "wheat_1";
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 (outHeight) *outHeight = 1;
break;
case BUILDING_TOWER:
if (outWidth) *outWidth = 1;
if (outHeight) *outHeight = 1;
break;
case BUILDING_KEEP:
if (outWidth) *outWidth = 2;
if (outHeight) *outHeight = 2;

View File

@@ -54,24 +54,24 @@ void drawGameUI(Game *game, f32 dt) {
InputState *input = ecs_singleton_get_mut(ECS, InputState);
const BuildingType buildingOrder[] = {
BUILDING_HOUSE_01,
BUILDING_WHEAT_0,
BUILDING_HOUSE_05,
BUILDING_GRANARY,
BUILDING_WAREHOUSE,
BUILDING_MARKET,
BUILDING_MILL,
BUILDING_WHEAT_0,
BUILDING_BARRACKS,
BUILDING_ARCHERY_RANGE
BUILDING_TOWER
};
const char *buildingNames[] = {
"Farm",
"House",
"Granary",
"Warehouse",
"Market",
"Mill",
"Farm",
"Barracks",
"Archery Range"
"Tower"
};
i32 numBuildings = sizeof(buildingOrder) / sizeof(*buildingOrder);

View File

@@ -6859,7 +6859,8 @@
"name":"player",
"type":"int",
"value":0
}]
}],
"type":"tower"
},
{
"id":5651,

View File

@@ -2508,7 +2508,7 @@
<property name="player" type="int" value="0"/>
</properties>
</tile>
<tile id="5650">
<tile id="5650" type="tower">
<properties>
<property name="building" value=""/>
<property name="player" type="int" value="0"/>