Elemental: Beta 2-A Change Log

Published on Thursday, June 17, 2010 By Brad Wardell In Elemental Dev Journals


It has been exactly one week since we released Beta 2.  Below is what’s new since last week:

Overview: Lots of fixes to how the game plays out and the overall pacing.

+ Faction ability "Egalitarian" implemented, players with this ability will get female soldiers interspersed with the male soldiers when randomizing a unit type in the unit design window. [Note that in Beta 2A, custom factions are disabled but Tarth is egalitarian).

+ Fortify unit action now unlocked with the "Training" tech in the kingdom tech tree and the "Armies" tech in the fallen tech tree, no longer available for units off the bat
-  Added "UnlockAction" player game modifier to support this

+ Right-clicking on an NPC now talks to them by default instead of attacks them, and right-clicking on a friendly unit talks to their leader rather than attacks them (though, because negociations are disabled for Beta 2, this doesn't actually do anything right now)

+ Only Sovereigns can create cities under any circumstances.
+ Core Items overahaul to be more balanced, more of them.
+ Core Items have better descriptions
+ UnitStats updated to support damage and defense types (cutting, piercing, blunt, crushing, fire, etc.)
+ Overhaul of City Hubs to require fewer houses and such to upgrade.
+ Modified rarity and handling of rarity on map generation
+ Revamped CoreGoodieHuts similarly to CoreItems
+ Revamped CoreResources similarly to CoreItems
+ Rebalanced CoreMonsters
+ Only can build one lumber mill per town
+ Rebalancing and cleanup of various "claimed" improvements.

+ Cost to recruit an NPC doubles for every tech missing by the player that would be required to spawn that NPC on their own (so, if there is a spawn level 3 NPC and the player has no recruiting techs, they would cost 4x as much)

+ Added A_NPCSpawnRating player ability [modding]

+ Added A_CityDefense player ability, granting a hit points bonus to units stationed in any city owned by the player, City Defense tech gives a 25% bonus to the player
- Unit context for stationed units shows the city HP bonuses in the base HP display now
+ Siege tech now unlocks the siege action for units owned by the player, keeps the action from showing up otherwise
+ Added "UnlockSpellbook" player game modifier, for the Spellbooks tech [modding]

+ New Tiny Seed Map
+ Tweaks to Resourcefulness faction ability (only 25 resources)
+ ALERT: GameXMLLoaded and CoreXMLLoaded are now multithreaded (ALERT: Keep an eye for unintended consequences)
+ Faster loading on multi-core systems.
+ Crimon Ring increases HP by 5, not 20.
+ General Reduction of armor and weapons available for sovereign customization.
+ General nerfing of monsters that are running around.
+ NPCs are generally worth a LOT less XP (10 XP versus 50) if you kill them.
+ Revive Land now costs 3 essence
+ On Level Up, player gets 1 point (not 10) with leveling up incrementing a trait typically by 1.
+ Increasing sovereign base abilities on sovereign design now costs 3 instead of 1.
+ Research Pacing increased by default to counter fewer studies being able to be built
+ Cities require less housing to go up levels but have higher population caps.
+ Most improvements are now only 1 per city
+ Tracking ability costs 15 intead of 10
+ Critical Section added around Tile Designer

+ Added support for "TrainingResourceCostDiscount" city modifier, whose value represents the percentage discount on resource costs for training any unit in that city
+ In the interest of making player abilities that provide a multiplier to resource production across the whole kingdom less dependent on code changes, I've made it so that
city production of a resource always looks for the player ability "A_<ResourceTypeName>", and uses that as the multiplier from a player ability, instead of having a bunch of hard-coded cases for different resource types
+ Added a bunch of player ability types for resource production bonuses to CorePlayerAbilities.xml for various techs to use
+ Added player ability "A_SpellRange", where each point adds a tile of range to any spell cast by the sovereign

+ only champions can trigger quest locations, with all other units (whose players can see the quest location) being blocked by the tile
+ Champions need to set a quest trigger as their destination now to trigger the quest, instead of happening to walk over it, and units that can't trigger that quest location won't accidentally trigger it
+ Fixed bug where visited quests were set to block all units, meaning that if the questing unit needed to return there as an objective, they were unable to
+ Witch's Hut goodie hut added
+ Harvesting technology added
+ Improvements generally are somewhat less expensive to compensate for fewer repeatable buildings
+ Weeds tile design added
+ Roads upgrade to better roads at a much slower rate
+ Ship movement increased from 1 to 4.
+ Beta map tweaked
+ Dragons made a high level spawn.
+ Fixed typo of referring to a rat as the innkeeper's daughter.
+ Further balancing of creatures (PLEASE BE CAREFUL ABOUT CHECKING IN CREATURES)
+ New rare resource: VentiOre - provides 1.5X metal
+ New rare resource: Elementium - required for some very rare equipment
+ Removed Ale from the game (thanks ESRB...)
+ Added telescope item (needs graphic)
+ Traveling boots now available at shop to make units faster
+ Further nerfing of creatures (who checked in horses with 23 attack?)
+ New shop item: Recruiting shirt. Adds +1 Charisma.
+ Clean up of sovereign design customization costs

+ Ranged Attack Improved
- If a unit with ranged attack is in an army, at least one ranged attack unit will show up in the army's gfx
- If you use a ranged attack with an army, only the ranged attack unit that is displayed will fire whether or not he is the leader of the army
- Target will play an on-hit animation when the projectile hits the target
- New CUnitSetAnimationStatusProcess implemented
- Fixed bug where after attacking with a ranged attack, and then taking a unit out of an army, the left-over unit would play an attack animation
- Fixed warning message
- Changed annotation system to work with ranged attack units
+ New Quest: The lost HOrse
+ New Quest: The Terrorize Village
+ New Quest: Darklings in the Workshop
+ New Improvement: Basic Garden
+ New (and first) Royal Achievement: Hosten's Library
+ New Quest Tile: Inn2
+ New Tile: Witch's Hut
+ Cleaned up Breakthrough Window
+ Updated New Technology window to not be redundant
+ Updated Beta map
+ Libraries require Civics
+ Markets require Civics
+ General trending in Tech balancing: Fewer techs that do more.
+ Removed legacy extraneous improvements
+ Relias re-designed
+ Training quality significantly more powerful
+ Unit training times reduced
+ Spell book cost reduced from 5 to 3 in custom sovereign
+ Default research pacing increased


* AI Improvements *

Overview: AI now plays a smarter game.

+ Added many new AI definitions for managing relations

+ Improved AI's ability to find new places for cities
+ Sovereign will now take out targets of opportunity

+ AI will Call for reinforcements if a given city is in trouble

+ AI difficulty levels partially added
+ AI slightly smarter about deciding when to go to war.


* Sovereign Abilities * 

Overview: Hooked up the various abilities that you can use to customize your sovereign.

+ Hooked up "Resourceful" ability
+ Hooked up "Influential" ability
+ Added code to handle the "Daring" ability
+ Added code so that ability techs wouldn't show up in the list (ability techs given a rarity of 0 so they can't be researched)
+ Added PlayerAbilityType Influence (range of influence modifier) and Learning (cost of learning new spells)
+ Modified rarity of ability techs
+ Added techs Organized and Daring for abilities
+ Created functions GetAbility_Influence() and GetAbility_Learning() to handle the new abilities

+ Hooked up abilities Diplomatic, Organized, Stupid and Daring

+ Modified GetLearnCost to read in a player for the Learning abilities
+ Modified IsMissingRequirements to return the correct value

+ Removed deprecated function GetResearchPointsNeededForSpell
+ Modified calls to SpellDef::GetLearnCost to include the player data (needed for the Learning abilities


* Bug Fixes *

+ Fixed bug where if unit was removed from the moveable list (like from being stationed in a city after a battle) the turn could not progress

+ Fixed crash for completed improvements built by a pioneer without a city

+ Changing NO_GFX and NO_AUDIO checks in ElementalData.cpp in order to prevent asserts on the server.
+ When the game ends the player should no longer get a message about their sovereign being gravely wounded.
+ The empire tree should now properly clear its entries.
+ Game Within a Game Fix: Tile Designs now clear out their cached scene nodes so that tile designs now get recreated and show up in new games
+ Fixed bug where unit gfx would appear to stand on top of cities, if you equip or unequip items on a unit while it was stationed in a city
+  Can no longer build on inns and other quest locations.

+  Offset single-tile improvements appearing when cities update have now been fixed.  Once and for all.  For all time.  To never break again.

+ Modified how the mouse detects what object the mouse is at by grabbing the nearest object in the tile (fixes Improvement tooltips)
+ Modified how the screen offset is saved to prevent the "meandering window" issue people have been having when closing/loading a lot

+ Removed code that disabled tooltips when an object was selected
+ Hide the proper controls when a spell had no requirements
+ Hide proper controls when the user owned no shards

+ Fixed some places where you could still bring up the negotiation screen for Beta 2
+ Units removed from an army at the same time are able to set a target unit destination now, would only set the tile destination before
- This gives nicer attack action behavior when splitting up an army

+ when a caravan establishes a trade route, the dirt road graphic now shows up to give some feedback that a road has been created
- However, there are 4 road levels but only 2 sets of graphics, so after the second road level all the roads look the same until more graphics get added
+ Fixed an issue that was preventing water environment colors from working after loading a saved game.

+ Made it so that you can't delete pre-made sovereigns from the choose sovereign list.
+ Added another check to model batch code to prevent an obscure crash

+ Fixed ALT-ESC "Invalid Call" crash
- Water graphics were not releasing a dynamic texture (dynamic textures must be freed or D3D device cannot be reset)

+ Fixed possilbe crashes in AutoResolveBattle (for loops iterating backwaurds using a ULONG counter)

+ Fixed bug where cities without a multiplier bonus to stationed unit stats would still display "x0" for that stat (which isn't even what it was doing, it just wasn't applying a multiplier at all)
+ Fixed memory leak with sound code in tactical units
- We had made a similar change in regular units, applied same change to tactical units

+ Fixed memory leak in main game window's event list.  CReportItems were not getting deallocated.  (Saved over 100MB when pressing CTRL+R key)

+ Fixed bug where a player ability to summon units would summon the units every time the game was loaded

+ Fixed crash/bug where tile designs would not load their XML before tile designs were used
- Added critical section around tile design vector code in tile design manager

+ CUnitType’s default spawn rating is now set to -1 rather than 1, which will prevent units with undefined spawn ratings from being placed on the map.

+ Fixed bug where after killing an NPC, when you right-clicked to move into the tile where the NPC used to be, you were prompted to talk to the NPC to recruit it

+ Fixed bug where, if any unit of a particular unit grouping type was killed or hurt in a battle, all units with that unit grouping type would have their troop counts affected, basically screwing up that grouping type for the rest of the game and giving too few troops to everyone
+ Fixed bug where loading a game with armies or any units stacked in the same tile would cause them to get placed in the same army multiple times when they auto-joined while being created, now only spawn unit events auto-join friendly units, keeping loaded games from trying to as well as they recreate everyone

+ Building/destroying improvements now applies/cancels any player modifiers in that improvement type's xml, also applies/cancels player modifiers if the improvement changes ownership

+ Fixed problems with quests not popping up condition completion messages, choice result messages, displaying incorrect pop-ups multiple times in a row, and not setting images in the quest choice pop-up.


* UI *

+ hooked up new icons for spell details: spell cost, spell radius, spell range, and spell cooldown
+ changed the entry for displaying which spellbook a spell comes from to use the short entry instead of the long one.

+ Added additional text for the labels on the ResearchSubWnd (now shows upcoming techs and such)

+ "Death Fly Back" is now supported in both tactical and quick battles
- If a unit's combat rating is 10 or more higher than its opponent, when it deals the death blow, it will cause the opponent's units to go flying into the air

+  Improvements that have had their per-city limit reached will no longer appear in the improvement build list.

+ Build list wnd now shows the city level requirement for an improvement instead of the placement number restrictions
+ Added city level icon to build list and city context wnd
+ Mousing-over the entries in the build list now brings up the info card for that improvement type

+ Pre-Made Custom Sovereign Descriptions
- If the sovereign picks a new history, and custom text hasn't been entered into the backstory wnd, update the random backstory
- Parses out tags to fill players info correctly
- selecting MALE and FEMALE instantly setting those values in the unit type (fixes bug where every description used the female gender strings)

+ Spell Info Card uses the proper Essence Icon
+ Combined the best of the build list and train list resizing and placement functions to make them more robust, less hard-coded, and in the case of the train unit wnd, change width for a scroll bar, and in the case of the build list wnd, use all the available vertical space instead of arbitrarily limiting it

+ added new code in GetTooltipBreakdownOfBattleBonuses() so that it would use army values if the unit was in an army. Fixes bug where the tooltip of selected armys stats would only be for the leader.

+ Can now specify a background image for the quest choice window using the ChoiceBackground tag in the quest XML. If this isn’t specified, it uses the choice medallion image instead. Updated the Damsel in Distress quest to feature this as an example.

Next Week: BETA 2-B (Custom Factions turned on, more balance, tweaking, quests, city improvements, royal achievements, and much more). (Next week we’ll have even more).


image_thumb[1][1] image_thumb[2][1] image_thumb