C2C SVN Changelog

6114

Updated Caveman2Cosmos Readme (Dancing Hoskuld version).

Changed the format of the Editing Readme from World Document to RTF (Rich Text Format). It's in Docs folder. I think I Delete the Word Version, if I didn't please do. Anyone can Edit it, but please save it in RTF Format.

Bravo my friend, BRAVO :clap::salute: Nice work;)
 
Updates
- Renamed "Semiconductors" resource to "Microchips".
- Applied Organic Photonic Cells resource to Organic Lamps.
- Rapid Prototyping tech now requires 3D Printing AND Machine Learning.
- Automated Traffic tech now requires Rapid Prototyping AND Digitization.
- Derivatives tech now requires Communication Networks AND Conglomerates AND Legalized Gambling AND Long Range Forecasting.
- Star Fort now replaces Citadel.
 
Updates

- Move Bulldozer unit into core. @unit makers if you can get the terraformer to work without causing a CTD I can add its build stuff.
- Art for new tower improvements. @hydro could you add the alpha channel to the two buttons in the new tower improvements. Thanks.
 
Updates
- Added Fausmouses new stuff plus fixed the errors for him. Also added Mechs resource for him.

Here are the changes Fausmouse made to the files I uploaded ...

Spoiler :
New Buildings
Augmented Equipment Center
Automobile Dealership
Automated Vehicle Dealership
Shockwave Vehicle Dealership
Antigrav Vehicle Dealership
Stem Cell Lab
Tissue Engineering Lab
Bacteriophage Therapy Clinic
Virotherapy Clinic
Cyberimmuniology Therapy Clinic
Microsatellite Constellation
Nanosatellite Constellation
Chemosynthesis Plant Farm
Programmable Plant Farm
Cyber Chloroplastida Bloom
Epsilon Assembler
Delta Assembler
Gamma Assembler
Beta Assembler
Mining Bot Control Center
Mining Mech Control Center
Mining Nanobot Control Center
Farm Bot Control Center
Farm Mech Control Center
Farm Nanobot Control Center

New Resources
Mechs

Changes
Some "Fixes"
Changed requirements so the new buildings are in line with others
 
Updates

Hydraulic Factory
Req Buildings: Factory AND Mechatronics Lab

Rejuvenation Tanks
- From -10 gold to -30 gold

Replacement Organs Factory
Req Tech: Factory AND Cloning Laboratory AND Tissue Engineering Lab

- Made the Nano Research Department and Nanite Lab normal buildings.
- Tweaked Mech Assembly Plant, Nanite Lab, Nanofactory, Nanobotic Printing Mill
- Oops forgot some tweaks on the Nano Research Department and Nanite Lab.
 
Just pushed to SVN (6128):
  • Fixed a bug with choke point evaluation due to a merge issue
  • Fixed CTD reported by SO
  • Start of debug globe layer (incomplete)

Note - if you pan out to the globe view there will be a duplicate icon, which is incomplete work - ignore it for now.
 
Updates

- Geoglyph moved into core
- Two watch tower improvements. They should be built outside your borders to see further. I ended up using te art from Total War as Kathys were units not buildings and did not work. The wooden tower one does not look god.
 
6133, 6134

Added The Hydro Requested Technologies (Button, Pedia, and Quote Complete)

Highway Systems
Req Tech: Applied Economics AND Logistics
Location: x68 Y7
Cost: Same As Globalization

Franchises
Req Tech: Globalization AND Highway Systems
Location: X69 Y7
Cost: Same As Microwaves

Gastronomy
Req Tech: Extreme Sports (For Sports Foods) AND Genetics (For Health Foods) AND Astronautics (For Space Food)
Location: X77 Y13
Cost: Same As 3D Printing

---
Changes:

Conglomerates
Req Tech: Manufacturing AND Mass Media AND Franchises

Media Psychology
Req Tech: Knowledge Management AND Virtual Reality AND Gastronomy

Manufacturing
Req Tech: Electronics AND Highway Systems

Modern Healthcare
Req Tech: Molecular Biology AND Refigeration AND Antibiotics AND Highway Systems
 
Updates
- Moved Highways, Expressway and Route 66 to Highway Systems tech.
- Moved Highway (Path) to Highway Systems tech.
- Moved Burger Joint, Pizza Parlor, Taco Hut, Pancake House, Cafe, Deli and Diner to Franchises tech.
- Moved Health Food Store and Energy Drink Factory to Gastronomy tech.
- Moved Energy Drinks resource to Gastronomy tech.
- Walker Mech, Assault Mech, Power Armored Infantry, Anti-Personnel Mech, Police Mech and Dolphin Mech now require Mech resource instead of Mech Assembly Plant.
- Mech Assembly Plant now requires Epsilon Assembly Plant.
- Epsilon Assembler now requires Nanotubes AND Flash Memory Devices.
- Added Wang Zhen's Workshop by Sargon.
 
Updates
  • UnitCombat moves to Units File and picks up the ability to modify units by its own tags much like promotions.

  • A few New Unit/Promotion/UnitCombat tags

  • Numerous small adjustments to XML

I'll come back and edit this in a minute to give a lot more specifics.
 
@TB

Tommorow I have time for xml work so please pm me changes you want implement to units.
 
Pretty simple. In my Combat Class Plans link in my sig, under the Units Assignments page, you'll find the first few subcombat categories plotted out across all the units we had at the time I compiled the 'plan'.

I need those subcombats added, the list updated with any new units that have been added since, and I have a feeling you'll be able to properly update those units with the two categories of subcombats I've plotted out so far. To make things easier on us as well, if we can get the <Type> tags filled in on that chart too that'd help a lot.

I also have a Withdraw/Pursuit xml implementation plan document that will need to start getting implemented immediately after the freeze.
 
i looked through thread but cant find - how can i disable GraphicalPaging?
looking in py files i found :

def createViewOptionsPanel(self, screen, panel):
self.addLabel(screen, panel, "View", "View options:")
left, right = self.addTwoColumnLayout(screen, panel, "ViewOptions", False)

self.addCheckbox(screen, left, "MainInterface__EnableGraphicalPaging")

in BugGeneralOptionsTab.py

but i cant see where it is linked to.

i click in options to disable \ enable on GraphicalPaging but i dont see difference (i restarted game after disabling in options)
 
i looked through thread but cant find - how can i disable GraphicalPaging?

in BugGeneralOptionsTab.py

You got to be playing to UNclick or click to get it to work. (Bug Options) Little Green Monstger
 
i click in options to disable \ enable on GraphicalPaging but i dont see difference (i restarted game after disabling in options)

There should be no visual difference between the two. If you can see a difference then there is a bug in it. (Assuming that is what you meant: literally seeing a difference.)

It is purely a memory saving thing. With it on the game uses less memory. That is the gain from it, the loss from it is the occasional delay when moving your viewpoint around to look at different places on the map.

If the game is not yet using more than some threshold amount of memory, then it should do nothing at all that is noticeable. Once the game goes over the memory usage threshold that option will start to do things that can cause the slight delays when moving your viewpoint around the map. (With another assumption: that I'm understanding the explanations correctly.)

You don't have to restart for the setting to take effect. Unlike viewports, this can be activated or deactivated whenever you want.
 
i explain myself :

i cant launch WB, Koshling told me to try with and without paging.
so i tried to disable it (as it turned ON by default) but i dont see difference in memory usage - so i cant say did i really disabled it or not.
 
Ok, so the actual list of changes introduced by my recent commit is as follows:
  • Updated the following Unit Schema, Basic Infos Schema and Unit Combat Infos files to reflect the new Unit Combat reliance on the Unit Schema in the following files:
    • Modules/DancingHoskuld/SubduedAnimals
    • Modules/OrionsMods/Aviation
    • Modules/OrionsMods/HealthCareMods/GreatDoctor
    • Modules/OrionsMods/MineWarfare
    • And of course in the core the UnitCombatInfos.xml has been moved and now relies upon the Unit Infos schema rather than the Basic Infos schema.
    This was all done because the Unit Infos schema already had most of the tags declared that are now in use on UnitCombats and it saved us from having to overcomplexify the Basic Infos schema. It simply makes more sense to have UnitCombats rely on the Unit schema.

  • City Raider 5 in ls612's promotions module was added to the City Raider promotionline.

  • Some tweaks to my own texts to better describe a few things such as when Repel takes place.

  • Added nearly all tags in use on promotions to be potentially used for UnitCombats. There were only a few that were incompatible with the concept of being applied to/through a UnitCombat, mostly those involving equipments/afflictions and promotionlines.

    The full list of UnitCombat tags is as follows (from the schema):
    Spoiler :
    Code:
     	<ElementType name="UnitCombatInfo" content="eltOnly">
    		<element type="Type"/>
    <!-- XMLCOPY				02/20/2008			MRGENIE		-->
    		<element type="bTypeDependency" minOccurs="0"/>
    		<element type="AndDependencyTypes" minOccurs="0"/>
    		<element type="OrDependencyTypes" minOccurs="0"/>
    <!-- XMLCOPY				END					MRGENIE		-->
    		<element type="Description" minOccurs="0"/>
    		<element type="GenericCategory" minOccurs="0"/>
    		<element type="Button" minOccurs="0"/>
    		
    		<element type="KillOutcomes" minOccurs="0"/>
    		<element type="Actions" minOccurs="0"/>
    		
    		<element type="iAssetMultiplierPercent" minOccurs="0"/>
    		<element type="iPowerMultiplierPercent" minOccurs="0"/>
    		<element type="iVisibilityChange" minOccurs="0"/>
    		<element type="iMovesChange" minOccurs="0"/>
    		<element type="iMoveDiscountChange" minOccurs="0"/>
    		<element type="iAirRangeChange" minOccurs="0"/>
    		<element type="iInterceptChange" minOccurs="0"/>
    		<element type="iEvasionChange" minOccurs="0"/>
    		<element type="iWithdrawalChange" minOccurs="0"/>
    		<element type="iCargoChange" minOccurs="0"/>
    		<element type="iCollateralDamageChange" minOccurs="0"/>
    		<element type="iBombardRateChange" minOccurs="0"/>
    		<element type="iFirstStrikesChange" minOccurs="0"/>
    		<element type="iChanceFirstStrikesChange" minOccurs="0"/>
    		<element type="iEnemyHealChange" minOccurs="0"/>
    		<element type="iNeutralHealChange" minOccurs="0"/>
    		<element type="iFriendlyHealChange" minOccurs="0"/>
    		<element type="iSameTileHealChange" minOccurs="0"/>
    		<element type="iAdjacentTileHealChange" minOccurs="0"/>
    		<element type="iCombatPercent" minOccurs="0"/>
    		<element type="iCityAttack" minOccurs="0"/>
    		<element type="iCityDefense" minOccurs="0"/>
    		<element type="iHillsAttack" minOccurs="0"/>
    		<element type="iHillsDefense" minOccurs="0"/>
    		<element type="iHillsWork" minOccurs="0"/>
    		<element type="iWorkRateModifier" minOccurs="0"/>
    		<element type="iRevoltProtection" minOccurs="0"/>
    		<element type="iCollateralDamageProtection" minOccurs="0"/>
    		<element type="iPillageChange" minOccurs="0"/>
    		<element type="iUpgradeDiscount" minOccurs="0"/>
    		<element type="iExperiencePercent" minOccurs="0"/>
    		<element type="iKamikazePercent" minOccurs="0"/>
    		<element type="iAirCombatLimitChange" minOccurs="0"/>
    		<element type="iCelebrityHappy" minOccurs="0"/>
    		<element type="iCollateralDamageLimitChange" minOccurs="0"/>
    		<element type="iCollateralDamageMaxUnitsChange" minOccurs="0"/>
    		<element type="iCombatLimitChange" minOccurs="0"/>
    		<element type="iExtraDropRange" minOccurs="0"/>
    		<element type="iSurvivorChance" minOccurs="0"/>
    		<element type="iVictoryAdjacentHeal" minOccurs="0"/>
    		<element type="iVictoryHeal" minOccurs="0"/>
    		<element type="iVictoryStackHeal" minOccurs="0"/>
    		<element type="iAttackCombatModifierChange" minOccurs="0"/>
    		<element type="iDefenseCombatModifierChange" minOccurs="0"/>
    		<element type="iPursuitChange" minOccurs="0"/>
    		<element type="iEarlyWithdrawChange" minOccurs="0"/>
    		<element type="iVSBarbsChange" minOccurs="0"/>
    		<element type="iArmorChange" minOccurs="0"/>
    		<element type="iPunctureChange" minOccurs="0"/>
    		<element type="iDigInChange" minOccurs="0"/>
    		<element type="iFortCollatDefChange" minOccurs="0"/>
    		<element type="iOverrunChange" minOccurs="0"/>
    		<element type="iRepelChange" minOccurs="0"/>
    		<element type="iFortRepelChange" minOccurs="0"/>
    		<element type="iRepelRetriesChange" minOccurs="0"/>
    		<element type="iUnyieldingChange" minOccurs="0"/>
    		<element type="iKnockbackChange" minOccurs="0"/>
    		<element type="iKnockbackRetriesChange" minOccurs="0"/>
    		<element type="iStrAdjperAttChange" minOccurs="0"/>
    		<element type="iStrAdjperDefChange" minOccurs="0"/>
    		<element type="iWithdrawAdjperAttChange" minOccurs="0"/>
    		<element type="iUnnerveChange" minOccurs="0"/>
    		<element type="iEncloseChange" minOccurs="0"/>
    		<element type="iLungeChange" minOccurs="0"/>
    		<element type="iDynamicDefenseChange" minOccurs="0"/>
    		<element type="iStrengthChange" minOccurs="0"/>
    		<element type="iFortitudeChange" minOccurs="0"/>
    		<element type="iAidChange" minOccurs="0"/>
    		<element type="iFrontSupportPercentChange" minOccurs="0"/>
    		<element type="iShortRangeSupportPercentChange" minOccurs="0"/>
    		<element type="iMediumRangeSupportPercentChange" minOccurs="0"/>
    		<element type="iLongRangeSupportPercentChange" minOccurs="0"/>
    		<element type="iFlankSupportPercentChange" minOccurs="0"/>
    		<element type="iDodgeModifierChange" minOccurs="0"/>
    		<element type="iPrecisionModifierChange" minOccurs="0"/>
    		<element type="iPowerShotsChange" minOccurs="0"/>
    		<element type="iPowerShotCombatModifierChange" minOccurs="0"/>
    		<element type="iPowerShotPunctureModifierChange" minOccurs="0"/>
    		<element type="iPowerShotPrecisionModifierChange" minOccurs="0"/>
    		<element type="iPowerShotCriticalModifierChange" minOccurs="0"/>
    		<element type="iCriticalModifierChange" minOccurs="0"/>
    		<element type="iEnduranceChange" minOccurs="0"/>
    		<element type="iRoundStunProbChange" minOccurs="0"/>
    		<element type="iPoisonProbabilityModifierChange" minOccurs="0"/>
    		<element type="iCaptureProbabilityModifierChange" minOccurs="0"/>
    		<element type="iCaptureResistanceModifierChange" minOccurs="0"/>
    		<element type="iHillsWorkModifierChange" minOccurs="0"/>
    		<element type="iPeaksWorkModifierChange" minOccurs="0"/>
    		<element type="iBreakdownChanceChange" minOccurs="0"/>
    		<element type="iBreakdownDamageChange" minOccurs="0"/>
    		<element type="iTauntChange" minOccurs="0"/>
    		<element type="iMaxHPChange" minOccurs="0"/>
    		<element type="bDefensiveVictoryMove" minOccurs="0"/>
    		<element type="bFreeDrop" minOccurs="0"/>
    		<element type="bOffensiveVictoryMove" minOccurs="0"/>
    		<element type="bOneUp" minOccurs="0"/>
    		<element type="bPillageCulture" minOccurs="0"/>
    		<element type="bPillageEspionage" minOccurs="0"/>
    		<element type="bPillageMarauder" minOccurs="0"/>
    		<element type="bPillageOnMove" minOccurs="0"/>
    		<element type="bPillageOnVictory" minOccurs="0"/>
    		<element type="bPillageResearch" minOccurs="0"/>
    		<element type="bBlitz" minOccurs="0"/>
    		<element type="bAmphib" minOccurs="0"/>
    		<element type="bRiver" minOccurs="0"/>
    		<element type="bEnemyRoute" minOccurs="0"/>
    		<element type="bAlwaysHeal" minOccurs="0"/>
    		<element type="bHillsDoubleMove" minOccurs="0"/>
    		<element type="bImmuneToFirstStrikes" minOccurs="0"/>
    		<element type="bStampedeChange" minOccurs="0"/>
    		<element type="bRemoveStampede" minOccurs="0"/>
    		<element type="bAnimalIgnoresBordersChange" minOccurs="0"/>
    		<element type="bOnslaughtChange" minOccurs="0"/>
    		<element type="bMakesDamageCold" minOccurs="0"/>
    		<element type="bMakesDamageNotCold" minOccurs="0"/>
    		<element type="bAddsColdImmunity" minOccurs="0"/>
    		<element type="bRemovesColdImmunity" minOccurs="0"/>
    		<element type="bAttackOnlyCitiesAdd" minOccurs="0"/>
    		<element type="bAttackOnlyCitiesSubtract" minOccurs="0"/>
    		<element type="bIgnoreNoEntryLevelAdd" minOccurs="0"/>
    		<element type="bIgnoreNoEntryLevelSubtract" minOccurs="0"/>
    		<element type="bIgnoreZoneofControlAdd" minOccurs="0"/>
    		<element type="bIgnoreZoneofControlSubtract" minOccurs="0"/>
    		<element type="bCanMovePeaks" minOccurs="0"/>
    		<element type="bCanLeadThroughPeaks" minOccurs="0"/>
    		<element type="bZoneOfControl" minOccurs="0"/>
    		<element type="bSpy" minOccurs="0"/>
    		<element type="DomainMods" minOccurs="0"/>
    		<element type="CureAfflictionChangeTypes" minOccurs="0"/>
    		<element type="TerrainIgnoreDamageChangeTypes" minOccurs="0"/>
    		<element type="TerrainDoubleMoveChangeTypes" minOccurs="0"/>
    		<element type="FeatureDoubleMoveChangeTypes" minOccurs="0"/>
    		<element type="NotOnGameOptions" minOccurs="0"/>
    		<element type="AfflictionFortitudeChangeModifiers" minOccurs="0"/>
    		<element type="TerrainAttackChangeModifiers" minOccurs="0"/>
    		<element type="TerrainDefenseChangeModifiers" minOccurs="0"/>
    		<element type="TerrainWorkChangeModifiers" minOccurs="0"/>
    		<element type="BuildWorkChangeModifiers" minOccurs="0"/>
    		<element type="FeatureAttackChangeModifiers" minOccurs="0"/>
    		<element type="FeatureDefenseChangeModifiers" minOccurs="0"/>
    		<element type="FeatureWorkChangeModifiers" minOccurs="0"/>
    		<element type="UnitCombatChangeModifiers" minOccurs="0"/>
    		<element type="FlankingStrengthbyUnitCombatTypesChanges" minOccurs="0"/>
    		<element type="WithdrawVSUnitCombatTypesChanges" minOccurs="0"/>
    		<element type="RepelVSUnitCombatTypesChanges" minOccurs="0"/>
    		<element type="KnockbackVSUnitCombatTypesChanges" minOccurs="0"/>
    		<element type="PunctureVSUnitCombatTypesChanges" minOccurs="0"/>
    		<element type="ArmorVSUnitCombatTypesChanges" minOccurs="0"/>
    		<element type="DodgeVSUnitCombatTypesChanges" minOccurs="0"/>
    		<element type="PrecisionVSUnitCombatTypesChanges" minOccurs="0"/>
    		<element type="CriticalVSUnitCombatTypesChanges" minOccurs="0"/>
    		<element type="RoundStunVSUnitCombatTypesChanges" minOccurs="0"/>
    		<element type="AfflictOnAttackChangeTypes" minOccurs="0"/>
    		<element type="PropertyManipulators" minOccurs="0"/>
    	</ElementType>
    Note: bSpy should be used on any combat class for spies. Adding that usage where applicable should be a priority here.

  • Added UNITCOMBAT_GUN to the list of unit combats qualified to take the SHOCK promotionline (so your upgraded gun units won't lose your anti-melee promos now.)

  • I finally figured out why Joseph was thinking that you needed to take the Shock promo before you could take Sidestep - it was just a text error on the sidestep promotionline. Fixed.

  • Updated the UnitCombat and Unit help hovers to include information on the unit combat tags.

  • IMPORTANT TO NOTE: Added multiple pages accessed by hotkeys to the base unit hover information breakdown. This isolates our long lists of unit information into 4 different categories you can see by holding down hotkeys (Ctrl, Shift, Alt and none) and hovering over the unit in the city build lists. This will keep the massive amount of unit information a bit more manageable and will allow you to see all pertinent information without it running off the screen. May take a bit of getting used to using it but text is in place to explain how to get at the information you're looking for. This is a test of concept to see if this would be appreciated on other help hover pops like buildings, plots, units in the field etc...

    Been meaning to do this for a while and the Combat Class changes really pushed this need to the forefront for unit displays.

  • Added the following tags:
    • Taunt: On units: iTaunt. For Promotions and UnitCombats: iTauntChange.

      Taunt allows the unit to make itself more likely to come up first when the stack is attacked. This is intended for Scouting units as a base ability but an accompanying promotionline or two could make it interesting to add the ability by player selection to other units.

      Technically what the number represents is the % modifier to the unit's 'best defender' evaluation. Therefore, a weak taunting unit must have quite a bit of this value to overcome the evaluation of much stronger units in the stack but if accompanying similarly strengthed units it will easily put the taunting unit at the forefront.

      The idea here is that scouts, with an excellent chance of withdrawal, will prefer to cause diversions, running around quite obtrusively to their enemies to conceal that there are other, more potent targets in the same space (like hunters or captives), then once attacked they take off and lead their foes on wild goose chases, wasting the enemy's time when he could've been hitting those more valuable targets instead.

    • MaxHP: on Units: iMaxHP. on Promotions and UnitCombats: iMaxHPChange.

      Our standard maximum HP on all units currently is 100. It has never been adjustable. It basically is considered to be a % range of how damaged the unit is. I was reluctant, therefore, to make this tag for fears of misuse. It can be easily confused with 'strength'. However, I found a need for it when doing the withdrawal evaluations. Not for giving units another path along which to develop as it would conflict and overlap with most combat enhancements and probably be TOO potent to keep in easy balance (though we may run some tests later...)

      Rather, when looking at the withdrawal of birds, I realized that most birds would take off immediately from a fight and that with their flight, we should not allow land-bound units to 'pursue'. So why are they so easily taken out? And if trying to represent things that accurately, would we not make birds next to invincible and have tons of birds flocking around all over the continent? So I realized that really, most bird hunters, like blowgunners, archers, cats, etc... take these small creatures down in one hit. So the model of having numerous rounds of combat against these creatures was completely flawed. The only way to really affect this would be to reduce their MaxHP.

      I also realized that our current 'Harmless' promos for animals really isn't working because 1 strength is really the minimum. SO, this is an alternative solution for that as well. (Not just for birds ;) )

      Syntax-wise, if a unit doesn't have any definition in the iMaxHP tag, it will default to 100. If you want to have it start at a differing max HP, then you are defining its base value. Thus, if you want a unit to have maxHP of 70% then put 70 in that tag.

      However, the Change tags on Promos and Unitcombats work a little differently as they are a modifier to this value. Thus if a UnitCombat has 20% less maxHP to all its units then you'd put a -20 in the iMaxHPChange tag under that unit combat. I'm thinking we may want to apply maxHP modifiers by size CCs to give this system a good start.

      Be careful here guys... if we reduce a unit to less than 100 maxHP it will die immediately upon being trained or spawned.

      This could also be a useful tag for afflictions I think. And if used VERY sparingly, perhaps as an alternative way to strengthen a unit via promos. Just keep in mind it will also influence Max Strength of the unit equally as well as giving more or less ability to take hits!

    • iAssetMultiplierPercent and iPowerMultiplierPercent: I didn't add these myself but activated them in the schema for promotions and unitcombats. I'm surprised we haven't been using these. Koshling may wish to review and express the full implications of these (self explanatory I hope) tags before we start using them though.

    • Attack Only Cities: for Units: bAttackOnlyCities, for Promos and UnitCombats: bAttackOnlyCitiesAdd and bAttackOnlyCitiesSubtract

      For our ram units. bAttackOnlyCities gives the unit one cause to be unable to attack a plot unless it's a city or fort. The add and subtract tags either add another cause or remove one cause.

    • Ignore No Entry Level: for units: bIgnoreNoEntryLevel. For Promos and UnitCombats: bIgnoreNoEntryLevelAdd and bIgnoreNoEntryLevelSubtract.

      The bIgnoreNoEntryLevel tag allows a unit to ignore the minimum defense level needed to attack a city and allows it to attack even if the city defenses haven't been reduced below that established level.

      Add and Subtract tags either add a cause to have this ability or remove a cause to have this ability.

      I realize this is largely to support Nimek's concept of using Siege Towers to overcome this type of city defense but to do that will also require the use of stack support promotions which I have not yet added. It should be coming fairly soon though.

    • Ignore Zone of Control: for Units: bIgnoreZoneofControl. for Promos and UnitCombats: bIgnoreZoneofControlAdd and bIgnoreZoneofControlSubtract.

      Allows the unit to Ignore Zone of Control effects, as requested by Nimek. The unit tag gives one reason for the unit to have this ability and the add and subtract tags either give a reason or remove a reason to have the ability. Thus, if you wanted to give all criminals the ability to ignore zones of control, simply apply to the criminal unit combat the bIgnoreZoneofControlAdd tag with a boolean value of 1.

  • This is mostly a programmer's note to Koshling and our Python programmers here. Changed the way Unit Combats are applied to and maintained by units. Now Unit Combats process in and out of the unit in a manner almost identical to promos, and are held by the isHasUnitCombat(UnitCombatTypes eUnitCombat) function rather than the hasCombatType function. I MAY need to report this to python if the hasCombatType function is being used anywhere there so it can be replaced with isHasUnitCombat function instead. The read wrapper process will catch old formats and update units immediately on loading a game.

    But we do need to now work up a unit recalculation method which is one of my next tasks. And I'll need some guidance at least on how to get UnitCombats to properly contribute to AI unit evaluations. Those are the two things I really wanted to include here but felt I was already adding so much to review that I should wait and make that the 'next steps'.

  • Implemented a few initial uses of the CombatClass tags:
    • Law Enforcement units gain a +50% combat modifier vs Criminal Units.
    • Mounted units gain a +25% combat modifier vs Throwing Units.
    • Civilian units suffer a -25% combat modifier vs Combatants.
    As noted elsewhere there are more plans here of course but some other steps must be taken before utilizing this system to the fullest.

Note: still having a lot of difficulty in trying to commit the new dll/pdb archive!
 
Back
Top Bottom