fire-eggs / CivOne

An open source implementation of Sid Meier's Civilization 1 using C# and .NET.
Creative Commons Zero v1.0 Universal
21 stars 4 forks source link

Settlers - irrigation maked on the forest #131

Closed iegik closed 3 years ago

iegik commented 3 years ago

Expected: When press "I" Settlers will clear the forest first

Actual: Settlers make irrigation on forest place

Usually, forest brings negative scores if you build city on its place. So you should clear forest first.

fire-eggs commented 3 years ago

Not specifically confirmed - what I've seen is the settler:

  1. Clears the forest in one turn
  2. Irrigates the space

I believe this bug and #132 are both caused by my patch: "Use auto-settlers-cheat". I say this because if I enable that patch [via Shift+F1 at startup], the bugs from #131 and #132 don't occur.

iegik commented 3 years ago

Sorry, cannot confirm this, because I'm new in this project and dumb at C# :) Could You please recommend some cheatsheets or literature for fast integration into the project? Thanks.

fire-eggs commented 3 years ago

There is some background in the original wiki. I've tried to add more notes in my wiki.

A whole history re CivOne can be found here.

Cheats and extensions are controlled when you first run the program:

image

"Shift+F1" brings up a menu; clicking on 'Patches' shows options, extensions, etc. The "Use auto-settlers-cheat" can be enabled/disabled here. Turning it ON will stop the buggy behavior you're seeing, but now all settler actions (irrigate, mine, etc) will take one turn.

The cheat is represented in code via Settings.Instance.AutoSettlers value. Looking at Settlers.cs for that code is a way to find where the bug(s) exist.

The bulk of the cheat was implemented via this commit.

fire-eggs commented 3 years ago

Fixes integrated from pull request #141