Elemental BETA 3-C

Published on Monday, July 19, 2010 By Brad Wardell In Elemental Dev Journals

image Greetings!

We have a Monday update for Elemental beta testers.

This will be the last beta prior to Beta 4 which is the modding beta.

Here’s what’s new:


* Gameplay *

+ Settlements have a Maintenance cost. 0 for the first, 1 for the second, 2 for the third, and on.

+ Significant strategic AI changes

+ We no longer require technology pre-reqs to builds on resources (if you find one, it’s a bug and you should let us know)

+ Attacking a city now automatically brings up a tactical battle, as long as either the attacker or defender.

- New system for determining the cost of a tactical action.

- Tactical moves should take 2 actions, everything else should take 1.

+ Units in tactical battles now counter attack when attacked with melee attacks. Countering costs action points. See next point;

+ Units in tactical battles now have their action points refunded every time initiative switches, AKA when mode switches from attacker to defender turn, or from defender to attacker turn.

+ Units in tactical battles can no longer move after attacking, (this effectively separates each unit’s move phase into moving and then attacking, or just attacking).  Casting spells is unaffected, you may always cast spells.

+ Groups of units now have their hitpoints, attack strength and defense properly increased.

- added code so that when applying a modifier with attribute "AdjustUnitStat", and that stat is Essence, if the target unit has no  essence to begin with, then not only will they be given the essence, they will also have their mana refilled.  This is so when you imbue a champion with essence, they become a spellcaster, but for example end up with 0 mana out of 5 otherwise.  If we decide my code of filling up their mana in this scenario is too much, then it's easily taken out.

+ Added message boxes for when a caravan tries to start trade with a city that it is at war with, tries to start trade with a city their home city is already trading with, and when they try to enter their home city

+ Also prevents movement in these cases, the last two would leave the caravan sitting dumbly on top of the city it failed to make a trade route with

+ Changed GetCitiesWeTradeWith to return the cities we have trade routes with, instead of just ones that the world checks are connected passively by roads

+ Added IsTradeCity

+ GetHarvestMultiplierFromTradeRoute checks for the trading cities being under siege or at war before returning the multiplier, fixes bug where warring or sieged cities were still getting food trade bonuses

+ Also added a 10% bonus to the new "crappy road" level that was added after this function was first written, so it didn't have a bonus before

+ Your sovereign can now found a kingdom, even if they already have done so once, if they have no cities and no pioneers, to combat early-game issue of if your first city is attacked before you can train a pioneer, not being able to have any cities

+ Added support for blunt weapon type

+ Added support for Blunt and BluntTwo animation types for BattleIdle, Attack, AttackKill, OnHit, and Dodge

+ Added< AlwaysInTileCenter> tag for unit types

+ This will prevent the unit from moving in tile during attack animations

+ Used by dragon units and larger creatures that don't need to move

+ Changed requirements for UNIT_ACTION_FOUNDKINGDOM in IsActionAvailableToUnit, are now allowed to found a kingdom even if you already have if you have no cities or pioneers

+ Hooked up, sized, and positioned a lot of the new spell particle effects.

+ New music playing while at war with a major faction

+ Allows setting of the ChooseFactionWnd background based on the faction

+ Allows for setting of the background image in XML files

+ Added storage for the Choose Faction Background

+ Added changing the music to the "At War" music when your AtWarWithAnyMajorfaction status changes

+ Removed favorites system from the spellbook wnd, and removed the spell tab from the unit context

+ The cast spell button in the spellbook wnd is now easier to hit, and when moused-over if disabled, will explain why a unit can't cast the selected spell

+ Added strings for tooltips explaining why a spell can't be cast from the spellbook

+ Disabled the spells tab in UpdateUnitTabs

+ Removed per-pixel hit detection on the cast spell button, makes it much easier to press and get the tooltip to appear on now

+ Hid the favorites button under all circumstances

+ Cast spell button is now hidden if the spellbook is accessed from the kingdom screen (no spellcaster selected)

+ Cast spell button now has a tooltip explaining why a selected spell can't be cast (including that the spell isn't known yet, that it is a tactical spell on the main map, as well as the other reasons CUnit::CanCastSpell would fail)

+ Added a reason case to CanCastSpell to explain if a spell can't be cast because it can only be cast once and has already been cast, instead of saying "498237492 cooldown turns left"

- Added a quick way to put spell casts in tactical battle reports. Will need to spruce this up and make it driven by the string file later in the week.

+ Added a "Trade Routes" section to the city details lorebook, lists the cities a city has trade routes with, if they have a caravan making runs on that trade route, what the food bonus from the route is, and if it is currently suspended because of siege or war

+ Removed some hardcoded strings in message boxes I found

+ Added ability to specify a tile to move the camera to when a message box wnd is unhidden in CMessageBoxData

+ Added strings for new caravan message boxes and city info

+ Moved some hardcoded strings I found into here, too

+ Made city context tooltips use signed integers, so that when e.g. prestige goes into the negatives when under rationing, it doesn't show up as a huge number

+ Added UnhideAIMessageBoxWnd_RejectedCaravanWar, UnhideMessageBoxWnd_CaravanExistingRoute, and UnhideMessageBoxWnd_CaravanIsAtHome

+ Removed hardcoded strings I found

+ Fixed formatting issues in CityLevelUpBonuses.xml and CoreSpecialWeapons.xml

+ Changes to SpellBookWnd.cpp

+ Added Cast Spell Button (replaced entry)

+ Added favorites button (replaced entry)

+ Updated SpellBookWnd.dxpack

+ Fixed tactical battle spell list excluding all spells but those marked as favorites

+ Also, because all known tactical spells are shown in the spell context, favorites button gets hidden when a tactical spell is selected in the spellbook, since favoriting doesn't mean anything

+ Fixed weird highlight behavior when favoriting a spell in the spellbook wnd, where you'd have to click on the current spell again to see whether it was a favorite or not after changing it

+ Fixed cast spell button being available even for spells the player didn't learn yet, once a castable spell was selected

+ Modified the Popup Dialog, PlayCutscene, OpenCampaignBook and SimpleConversation game trigger results to have the option of requiring a particular unit be alive or dead when they’re triggered, or they won’t show up. This allows us to display different things depending on whether a certain NPC is alive or dead at a given point. To specify the unit’s type name, use the “ReqUnitTypeName” XML tag. To specify that the unit must be alive (which is the default), use the “ReqUnitAlive” tag, and set it to 1. To set that the unit must be dead, set it to 0.

+ In UpdatecontextAreaFromSelection, favorites button is hidden when a tactical spell is selected

+ Also in UpdatecontextAreaFromSelection, cast spell button is disabled by default, unless a unit is selected and that unit knows the spell

+ Added additional context area refresh at the end of ButtonClicked when the favorites button is clicked, seems to fix weird highlight behavior when clicking that button

+ Added a message box that pops up when a game modifier unlocks a spellbook for the local player, so that there is some feedback that the player got a spellbook from the goodie hut besides the treasure def message

+ Also found only one goodie hut that was unlocking a spellbook, a tomb in Moriah's Tomb quest, and it had an invalid spellbook specified, so I changed it to match Moriah's spellbook's internal name

+ Added support for using the AI message box as a yes/no dialog, and changed the found kingdom dialog to use this bigger message box instead


* Bug Fixes *

+ Fixed a bug that would cause some counter attacks to fail in tactical battles.

+ Fixed an issue that was causing the graphic of a unit attacking and tacking over a city after a tactical battle to remain  visible on the main map. This would occur when the local player was the attacker, and they had other unmoved units off-screen.

+ After the attacking unit would take the city, the camera would move to the next unit before the attacking unit had the chance  to be hidden, causing it to remain on the map until the garrisoned unit was moved from the city.

- Players should no longer be able to move onto mountains in tactical battles.

+  Lots of sanity checks in various places to prevent crashers

+ Fixed a bug where the tactical battle AI wasn’t picking new units to target if their old target unit had escaped.

- Small fix to the auto resolve logic for quick battles to be sure the function returns normally.

- in GetResourceProductionPerTurn(), added some else if's instead of having them all be if statements.  Will save some string comparisons if the matching string is found early in the set of if-statements.

+ Fixed bug where cities were silently getting food bonuses from trade routes, even if the cities connected by the route were under siege or at war

+ Fixed bug where caravans wouldn't actually teleport through non-hostile cities while on a trade route, instead stepping through each tile of the city one at a time

+ Fixed "attracting 43238498019283 citizens" prestige tooltip when a city is under rationing, now says that the city is losing citizens

+ Fixed a bug where Empires could sometimes build resource hoards without the necessary tech.

+ When placing sovereigns for the first time, the game will now remove anything that is on the sovereign's starting tile.

+ Fixed sporadic crash on load by adding critical sections around info card background stuff, and having unit types wait until after xml loading is done before trying to find the info card background info from the name read in from xml, so that they don't search while the list of info card backgrounds is still being created

+ Fixed bug where BattleIdleBluntTwo animation type was interpreted to be BattleIdleBlunt animation

+ Fixed crash when applying items that had models that attach to a local frame on the character that is already in use by another item (ie, the Master Full Plate Armor)

+ Fixed bug where units had the wrong number of moves when removed from an army

+ Commented out code to toggle city improvements on/off in cloth map mode

+ Fixed bug where shadow decals would scale on zoom when scale on zoom option was off

- in ClearData(), moved GarbageCollection call above destruction of sector mapper.  Was causing crashes otherwise in game-within-a-game

- fixed bug where you could double-click an entry in the load game wnd and it would click through to the title screen, putting you in a state of NEW game, and Load game, which will always lead to a hanged game save.

- added a critical section to a place where it was looping through players.

+ FillWithUnitSpells uses regular grab of all known spell defs if showing tactical spells, fixes issue where tactical spells had to be made favorites to show up in the spell list

+ Moved trying to find and set the info card background for a unit type to OnEndLoadData from AddStat, fixes unit types trying to find their backgrounds before they'd all been loaded in


Known bugs:

- We still have a random crash bug caused by the road geometry. We’re “this close” to getting it but the unfortunate reality is, roads are going to cause random crashes (even if you start out on a map that has roads already).

- If we solve the above, we may release an update because it’s responsible for 90% of the random crashes.

- There are some seed maps that have hard coded monsters still floating around. We’re getting rid of these but your version still has them on occasion.

- We are close to fixing the problem with certain nVidia cards where the graphics are blurry or goofed up (affects a small number of ATI cards as well). Zee drivers, they lie!

Other issues we are ware of and working on:

- The technology trees haven’t been balanced yet

- The relations between factions is still fairly primitive

- There are still a lot of reported issues from beta 3B in this build since Beta 3C is merely what we were able to do over the weekend

What we are looking for from the Beta community:

  1. Feedback on Quests. Too hard? Too easy? Didn’t work right?
  2. Feedback on balance.
  3. Crash reports (FOLLOW THE DIRECTIONS FOUND HERE: https://forums.elementalgame.com/364285)
  4. General discussion on what would make the game more fun for you. We love hearing your ideas. Some may make it into 1.0. Some may make it into 1.01 (day 0), some may make it into 1.1, and some may require an expansion pack (and still some we just won’t be able to use of course).
  5. Request to the beta community: The team is working pretty long hours right now, your support and kind words make a big morale booster to the team. Please keep suggestions and criticism constructive).


The beta should be up within the next hour.