Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions project.godot

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 8 additions & 7 deletions scenes/buildings/eco_dome.tscn

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions scenes/buildings/headquarters.tscn

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 9 additions & 8 deletions scenes/buildings/iron_refinery.tscn

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 8 additions & 7 deletions scenes/buildings/power_plant.tscn

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions scenes/buildings/residential.tscn

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion scenes/ui_components/hud.tscn

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 8 additions & 1 deletion scenes/ui_components/notification_ui.tscn

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion scenes/world.tscn

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion scripts/buildings/eco_dome.gd
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ func _get_selection_payload() -> Dictionary:
"\n ": "",
"PRODUCTION": str(int(_get_production_rate())) + " FOOD PER TURN",
"\n ": "",
"POWER REQUIRED": int(get_power_draw()),
"POWER DRAW": int(get_power_draw()),
"POWERED": "YES" if is_powered else "NO",
"\n": "",
"UPGRADE COST": "MAX LEVEL" if current_level == max_level else str(int(self.building_spec.cost_levels[current_level].cost[ResourceManager.ResourceType.FOOD])) + " FOOD AND " + str(int(self.building_spec.cost_levels[current_level].cost[ResourceManager.ResourceType.IRON])) + " IRON"
Expand Down
2 changes: 1 addition & 1 deletion scripts/buildings/headquarters.gd
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func _get_selection_payload() -> Dictionary:
"\n ": "",
"PRODUCTION": str(iron_per_turn) + " IRON PER TURN",
"\n ": "",
"POWER REQUIRED": int(get_power_draw()),
"POWER DRAW": int(get_power_draw()),
"POWERED": "YES" if is_powered else "NO",
"\n": "",
}
2 changes: 1 addition & 1 deletion scripts/buildings/iron_refinery.gd
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ func _get_selection_payload() -> Dictionary:
"\n ": "",
"PRODUCTION": str(int(_get_production_rate())) + " IRON PER TURN",
"\n ": "",
"POWER REQUIRED": int(get_power_draw()),
"POWER DRAW": int(get_power_draw()),
"POWERED": "YES" if is_powered else "NO",
"\n": "",
"UPGRADE COST": "MAX LEVEL" if current_level == max_level else str(int(self.building_spec.cost_levels[current_level].cost[ResourceManager.ResourceType.FOOD])) + " FOOD AND " + str(int(self.building_spec.cost_levels[current_level].cost[ResourceManager.ResourceType.IRON])) + " IRON"
Expand Down
2 changes: 1 addition & 1 deletion scripts/buildings/power_plant.gd
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ func _get_selection_payload() -> Dictionary:
"\n ": "",
"PRODUCTION": str(int(_get_production_rate())) + " ELECTRICITY",
"\n ": "",
"POWER REQUIRED": int(get_power_draw()),
"POWER DRAW": int(get_power_draw()),
"\n": "",
"UPGRADE COST": "MAX LEVEL" if current_level == max_level else str(int(self.building_spec.cost_levels[current_level].cost[ResourceManager.ResourceType.FOOD])) + " FOOD AND " + str(int(self.building_spec.cost_levels[current_level].cost[ResourceManager.ResourceType.IRON])) + " IRON"
}
Expand Down
4 changes: 2 additions & 2 deletions scripts/buildings/residential.gd
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ func _get_selection_payload() -> Dictionary:
super()
return {
"\n ": "",
"HOUSING CAPACITY": str(get_housing_capacity()) + " POPULATION",
"CAPACITY": str(get_housing_capacity()) + " POPULATION",
"\n ": "",
"POWER REQUIRED": int(get_power_draw()),
"POWER DRAW": int(get_power_draw()),
"POWERED": "YES" if is_powered else "NO",
"\n": "",
"UPGRADE COST": "MAX LEVEL" if current_level == max_level else str(int(self.building_spec.cost_levels[current_level].cost[ResourceManager.ResourceType.FOOD])) + " FOOD AND " + str(int(self.building_spec.cost_levels[current_level].cost[ResourceManager.ResourceType.IRON])) + " IRON"
Expand Down
2 changes: 1 addition & 1 deletion scripts/managers/building_manager.gd
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ func get_adjacent_positions(building_id: int) -> Array:

return adjacent_tiles.get(building_id, [])


# Use this method for building buffs
func get_adjacent_buildings(building_id: int) -> Array[BuildingType]:
var adjacent_positions: Array = get_adjacent_positions(building_id)
var adjacent_buildings: Array[BuildingType] = []
Expand Down
24 changes: 16 additions & 8 deletions scripts/managers/event_manager.gd
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
class_name EventManager
extends Node

enum Event { NONE, PARASITE, STORM, FOG, PLAGUE, HARVEST }
enum Event { NONE, PARASITE, STORM, FOG, PLAGUE, HARVEST, ECLIPSE }

var event_turn_lengths: Dictionary[Event, int] = {
Event.NONE: -1,
Event.PARASITE: 4,
Event.STORM: 4,
Event.FOG: 2,
Event.PLAGUE: 4,
Event.HARVEST: 3
Event.HARVEST: 3,
Event.ECLIPSE: 5
}

var current_event: Event
Expand Down Expand Up @@ -41,26 +42,30 @@ func _handle_runtime_event(_turn_number: int) -> void:
var rand = randf()
#rand = 0.93 # TODO: this is for testing, deleteme

# 85% nothing happens, 3% for each event (on next turn)
if rand < 0.85:
# 82% nothing happens, 3% for each event (on next turn)
if rand < 0.82:
print("No event triggered")
return
elif rand < 0.88:
elif rand < 0.85:
print("Parasite event triggered")
Signals.notification.emit(NotificationManager.Notification.new("Parasites have infested your eco-domes"))
_trigger_parasite()
elif rand < 0.91:
elif rand < 0.88:
print("Electromagnetic storm event triggered")
Signals.notification.emit(NotificationManager.Notification.new("An electromagnetic storm has begun"))
_trigger_storm()
elif rand < 0.94:
elif rand < 0.91:
print("Fog event triggered")
Signals.notification.emit(NotificationManager.Notification.new("Methane fog has covered the surface"))
_trigger_fog()
elif rand < 0.97:
elif rand < 0.94:
print("Plague event triggered")
Signals.notification.emit(NotificationManager.Notification.new("A deadly plague has hit your colonists"))
_trigger_plague()
elif rand < 0.97:
print("Lunar eclipse triggered")
Signals.notification.emit(NotificationManager.Notification.new("A lunar eclipse has caused a cold winter"))
_trigger_eclipse()
else:
print("Harvest event triggered")
Signals.notification.emit(NotificationManager.Notification.new("The soil is rich, a harvest begins"))
Expand Down Expand Up @@ -113,3 +118,6 @@ func _trigger_plague() -> void:
func _trigger_harvest() -> void:
event_turns_left = event_turn_lengths[Event.HARVEST]
pass

func _trigger_eclipse() -> void:
event_turns_left = event_turn_lengths[Event.ECLIPSE]
Loading