Finished refactoring map generation into encapsulated, parameterized steps.
Thick rock roofs now drop ‘collapsed rocks’ instead of solid rocks.
Disallowed building very close to the map edge. This discourages weird building patterns that exploit edges and corners and stress game systems.
Resource lister now counts meals.
Started automatic hunting. So far, colonists can go kick animals to death. Doesn’t work so well for boomrats.
Moved JobDefs into XML.
Job reports like “Hauling Metal.” or “Eating meal.” are now in JobDef, not code.
Finished automated hunting. Colonists will hunt with guns or melee attacks.
Pawns now try to eat nice meals when they have the choice over nutrient meals.
Aptitude has become “average of relevant skills” out of 20 to reduce confusion.
Damage types are now defined in xml definitions.
Recipes can now give skills.
Hydroponics are more fertile and now require power or the plants die. You can also now set what to grow on them.
Raiders come from specific factions and don’t always drop from orbit.
Bedding in and debugging generated faction system.
Tribal raiders now spawn and attack. Created short bow, great bow, and handful-of-stones weapons.
Solidified faction relations. They are now reported on the faction overview.
Pawns of warring factions now fight.
Let pawns spawn with minigun and L-15 LMG.
Refactored gun spawning system to work by tech level, spawn tags, and pawn kind money.
Pawns now spawn with backstories from appropriate spawn category for their faction.
Started trying to fix save/load.
Restricted hairdos by faction. No more pirates or tribals in pigtails.
Mods list is now scrollable.
Can now individually hide zones.
Tribals now have special names (no more tribal Bob Smiths).
All pawn kinds can now carry stuff in their inventory, like silver, and will spawn with some. Hooray, a reason to attack people!
Faction spawning is now data-driven.
XML loader now warns on finding no usable defs in a file.
XML loader now warns and explains on finding anything besides a proper
tag inside a list element.
You can now call factions on the radio and talk to them. You can offer them silver to improve relations.
Colonists don’t get sad about being in darkness until they haven’t seen a light for 3-4 hours.
Corpses can now rot.
Pawns now spawn with randomized goodies. Yay, something to steal!
Faction relations change over time.
For modders: Beauty and TransmitsPower are now overridable properties of Things and Buildings.
Launch pad replaced with orbital trade beacon. Trade system clarification commences.
Mental break probability is much lower.
Colonists will now sleep on the ground if exhausted.
Bills no longer vanish on hitting zero count (you can reactivate them without reconfiguring them).
Bill config interface displays ingredient search radius ring.
Alerts now have a moving arrow to draw attention to critical alerts. They are draw on top of the letter stack and so are more visible.
It is now impossible to place a hopper in an invalid position.
Modders can now create custom Def subclasses.
Modders can now make custom code to define building placement restricters.
Colonists now undraft themselves if they’ve been doing nothing for at least a quarter of a day and there are no enemies on the map.
Merged architect and direct mode code for displaying commands. Direct mode now displays commands for selected things along the bottom of the screen, the same way Architect mode does.
Game can now natively load dictionaries of data with def references as keys or values.
Reworked early-game alerts into a todo list style. “Need growing zone”. “Build a room”. And so on.
Now, if someone tries to get food from a paste dispenser fails, they first try to fill it, even without being assigned as a hauler or cook.
Corpse hauling is now globally prioritized above other hauling.
Right-click prioritize menu now gives sensible reasons why actions cannot be prioritized (e.g. haul -> “no place configured to store this”)
Bill dialog now warns you if you add a bill that no colonist has the skill to do.
Drafted pawns now automatically beat adjacent fires.
Redesigned AI King into a proper state machine so it can handle more complex multi-faction combats and more intricate goals.
Refactored traveler behavior as a king of squad directive, so you can have traveling groups who stay together.
The tutor now properly teaches about the bills tab.
Humanoids no longer eat raw food unless they are near-starving at least.
Faction relations now measured on a -100 to 100 scale instead of 0-100.
Roughed in a way to call allies for combat aid. If they like you enough, they’ll send a group of friendly fighters to help you. Useful in a pinch against tough raids.
Travelers arrive in groups sometimes.
Can no longer place a no roof region where there is a thick roof.
Friendly factions will not help you fight their own friends.
Built up and redesigned AI code so factions can fight each other properly.
Staging enemies no longer assault you on sight. They will hold their staging position and defend. Hopefully pre-emptive attacks become more meaningful this way.
Enemies now stage attacks for randomized amounts of time.
Ally forces now hang around a reasonable point near your base if there are no enemies. After some time, they leave together as a group (they become travelers).
If harmed, traveling groups stop and defend as a group. They resume traveling if they are not harmed for some time.
Roughed in visitor event: groups from non-hostile factions visit the colony, chill for a while, and leave.
You can now suspend bills without deleting or modifying them for easy later reactivation.
AI will now immediately store items after creating them at a bench (if there are multiple items, the first one will be automatically insta-stored). This is part of the crafting job and is independent of hauling.
Testing and grinding down bugs produced over the past few weeks.
Various minor usability improvements.
Spent a while de-spaghettifying map initialize code, as well as moving the world data out of the map itself.
Colonists now start out with the work types they’re best at enabled, instead of everyone having the same settings.
New alerts make tiny bell noises.
Different teams have different color names by randomly shading within the red range (hostile) or blue range (neutral). So you can tell apart two different hostile groups.
Guns are now visible in peoples’ hands when aiming or in certain other circumstances.
Most code-driven text can now be translated. Most text is now linked to the translation system.
Rain now slowly washes away blood.
In the bill interface: made Make X and Make Until exclusive. Gave them separate short form outputs.
Designation categories (Orders, Buildings, Furniture, Zones, etc) are now data-driven. Modders can add new ones.
Thing categories (for storage settings, etc) are now modular defs. They can be localized, and modders can add new ones without replacing the whole tree.