Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
power crystals
Jun 6, 2007

Who wants a belly rub??

Mazz posted:

My suggestion, if you spend more than 66% of your starting income on one unit type, a little icon appears next to your name of that unit type. Apply this for the first 2 minutes of gameplay too so you can't skate around it by deploying after the clock starts.

After 2 minute the icons disappear.

Wouldn't this leave you with the issue of wondering if they bought heavy APCs or helicopters as their transports, though? If it just said "majority infantry" that doesn't really help you prepare for a wall of transport hinds if you were expecting BTR70s (or vice-versa). 40% gunships/40% infantry in helicopters/20% other would also be an issue, but you might be able to cover that by changing from > 66% to just "whichever category they spent the most on, probably excepting logistics". I like this idea otherwise!

Adbot
ADBOT LOVES YOU

Mazz
Dec 12, 2012

Orion, this is Sperglord Actual.
Come on home.
I think you can solve that with just bundling by the transport and not the unit type, infantry in helos should count as helos since that's what matters. APC rushes aren't very scary anymore since so many things delete them well outside their effective range. There's very few APCs that are truly frightening in that capacity, and almost all are priced accordingly such that you won't walk over most good starts with that kind of strict loadout. Helos differ because they outright beat most classes of units except a specific few hard counters. They also move wayyyyyy faster then any ground attack.

Or since you'll have to make classes for this regardless, just bundle everything helicopter into that class, regardless of what it carries.

It's not perfect, I don't think anything will be, but it's a good way to reveal the most obvious rushes without doing drastic stuff like allowing full vision of deployments or changing the entire opening mechanic.

Also, an addendum, it needs to work such that the icon appears as points are spent, not as the game starts or at a specific time. Otherwise people will just figure out how to game it like always. It needs to be pretty foolproof: as you spend points, you add up on the counter, you can rearrange and remove the icon, but as soon as you go over it shows.

Also the exact amount is completely debatable, 66% just seemed like a good starting point.

Mazz fucked around with this message at 20:08 on Jul 29, 2016

power crystals
Jun 6, 2007

Who wants a belly rub??

Oh don't get me wrong I'm not trying to claim to be an expert on competitive wargame; I'm actually terrible which is why I mostly just stick to mod tool nonsense. My point was more that if you buy a bunch of gun AA and then they bring nothing but ground units that's going to be a subpar engagement for you, even if the APCs normally aren't very threatening on their own. Showing the transport as the type for the icon (or just along with the infantry icon) would probably cover that issue, though.

KomradeX
Oct 29, 2011

Hey I got a question I hope you guys can help me with. My game kind of suddenly stopped working, like the escape button doesn't really bring up the menu and when building a deck double clicking a unit doesn't add it. I uninstalled the game and reinstalled it but still it's broken. Any advice on how to fix it, if anyone has run into a similar problem

Panzeh
Nov 27, 2006

"..The high ground"

power crystals posted:

Oh don't get me wrong I'm not trying to claim to be an expert on competitive wargame; I'm actually terrible which is why I mostly just stick to mod tool nonsense. My point was more that if you buy a bunch of gun AA and then they bring nothing but ground units that's going to be a subpar engagement for you, even if the APCs normally aren't very threatening on their own. Showing the transport as the type for the icon (or just along with the infantry icon) would probably cover that issue, though.

When I played my hedge against helo rushes was to bring about 6-8 of the cheaper shilkas and use that as my starting AA net because i'm not that concerned about ATGM snipers and SEAD planes in the opening and that's usually the death of the cheaper gun AA.

Of course, I usually did helo rushes myself because in RD if you're going to be aggressive in the opening you need helos given the map size and the east germans weren't too bad at it.

Warbadger
Jun 17, 2006

The best solution would really be to create locked theme decks, or at least themed decks with much more restrictive options. If the dude takes the "Air Assault" deck it would both broadcast a bit of warning that he's probably rolling choppers and at the same time set some sane limits to the numbers/types of choppers he'll be rolling in with.

It's really the only way to prevent the samey min/max and FoTM decks, anyways.

Heer98
Apr 10, 2009
Just for clarification purposes, a chopper rush isn't when you rush infantry in choppers and seize important cap zones. It's when you mass gunships and kill all the other teams CVs in 180 seconds.

Bastables
Aug 7, 2014

Dave47 posted:

Zerg rushing / peon rushing has always been a thing, and doesn't make RTS games "fundamentally broken." Besides, it sounds like this was a hybrid competitive tourney / community building event.

This is the part I don't get. Helicopter openings are strong, but there are a ton of cost-effective AA options that absolutely wreck helicopters. A competitive deck should have access to at least a few of them.

The latter may be the issue. In the replay I saw Random and mate were running MI17 with strela, their opponents called in a bunch of challenger Marksman AA and left them in the open. From EE where helo rushing was much more prevalent, missile were a better counter as their damage is AOE, stun locking helos 1 for 1 with shilka/M163s was pretty ineffective when there is a swarm of high HP choppers around. Plus they did not even hide the aa units in trees/buildings like you had to in ee and in Red Dragon.

Edit, thinking about it I wonder if helo rushing is actually more viable in RD as competitive games are conquest and most maps lack the "centre Spawn" control points of ALB/EE. In destruction games you can actually really hurt a helo rush opening by trading well in points lost, in conquest it's far more binary, especially when helo rushs can concentrate 2 v 1.

Bastables fucked around with this message at 22:23 on Aug 2, 2016

Arglebargle III
Feb 21, 2006

I don't really Wang to pay this anymore but is there a cast anyone doing out there anymore?

Arglebargle III
Feb 21, 2006

I'd like to see assault guns differentiated from tank destroyers more.

Top Hats Monthly
Jun 22, 2011


People are people so why should it be, that you and I should get along so awfully blink blink recall STOP IT YOU POSH LITTLE SHIT
Yay new nations!

Kind of hilarious that Finland is a redfor country though?

Dandywalken
Feb 11, 2014

They demanded it.

And gently caress, the Yugoslavian nationalism. I thought that was a Paradox-forums only thing :psyduck:

Top Hats Monthly
Jun 22, 2011


People are people so why should it be, that you and I should get along so awfully blink blink recall STOP IT YOU POSH LITTLE SHIT
I really wanted SADF, I have no opinion on the Netherlands, but I would rather have had Italy instead of the Dutch, because then you could make a Yugoslavia-Italy campaign

Top Hats Monthly fucked around with this message at 03:36 on Aug 8, 2016

Triple A
Jul 14, 2010

Your sword, sahib.
Add in Austria to the mix as well and you'll have a good set for some post-Tito unfuckery of the balkans.

Arglebargle III
Feb 21, 2006

Add Großdeutschland as a coalition. :godwinning:

Triple A
Jul 14, 2010

Your sword, sahib.
Alpine axis: Austria, West Germany and Italy on the same coalition.

ArchangeI
Jul 15, 2010

Arglebargle III posted:

Add Großdeutschland as a coalition. :godwinning:

I've long been arguing for a reunified Germany faction with East and West German equipment.

Arglebargle III
Feb 21, 2006

East Germany, West Germany, Austria, Czech, Poland, France.

Top Hats Monthly
Jun 22, 2011


People are people so why should it be, that you and I should get along so awfully blink blink recall STOP IT YOU POSH LITTLE SHIT

Arglebargle III posted:

East Germany, West Germany, Austria, Czech, Poland, France.

USSR, Yugoslavia

BadLlama
Jan 13, 2006

Are there any mods for this that would let 3 people have a free-for-all battle?

reagan
Apr 29, 2008

by Lowtax
Uralmod dead? I've been trying to play lately and this vanilla poo poo is unbearable.

xthetenth
Dec 30, 2012

Mario wasn't sure if this Jeb guy was a good influence on Yoshi.

reagan posted:

Uralmod dead? I've been trying to play lately and this vanilla poo poo is unbearable.

I hope not and will do whatever work can be meaningfully pawned off on me to make it happen if someone who's familiar with the build process can help.

Xerxes17
Feb 17, 2011

Last I heard from RangerPL was that with Eugen committing to new nation packs, keeping the mod updated is kidna pointless as each update terribly breaks the mod and porting it forward is not possible due to database number changes. Also doesn't help that it seems that every time it was updated Eugen would patch and gently caress it soon after.

Edit: He was talking with power crystals to see if the tool could be improved but I've heard little since.

Xerxes17 fucked around with this message at 01:07 on Aug 17, 2016

power crystals
Jun 6, 2007

Who wants a belly rub??

My name does not involve capital letters I will not stand for this slander :argh:

I got and answered a number of questions. To my knowledge he has nothing he's waiting for me on now that it can do list-of-list types and match on references, so your guess is as good as mine.

xthetenth
Dec 30, 2012

Mario wasn't sure if this Jeb guy was a good influence on Yoshi.

power crystals posted:

My name does not involve capital letters I will not stand for this slander :argh:

I got and answered a number of questions. To my knowledge he has nothing he's waiting for me on now that it can do list-of-list types and match on references, so your guess is as good as mine.

You got documentation for the tool or should I start combing through your posts when I decide to knuckle down?

power crystals
Jun 6, 2007

Who wants a belly rub??

xthetenth posted:

You got documentation for the tool or should I start combing through your posts when I decide to knuckle down?

No, but largely because nobody's ever asked. I'll see what I can do.

power crystals
Jun 6, 2007

Who wants a belly rub??

Doublepostin' but I got excited and since you're the one that asked, here's a first draft of very badly formatted notes on how to actually write patches for this thing. Let me know if anything's confusing or seems to be missing.



The patcher uses XML files as its input to describe what to do. XML could in short be described as being composed of Elements and Attributes, like so:
code:
<rootElement>
 <element1>
  <element2 attribute="some value">some value</element2>
 </element1>
 <element3 />
</rootElement>
Note the quotes for the attribute value but not the element value, and note the special syntax for element3 that you can use for an empty element. Element values can be either strings or other elements. Each document must have exactly one top-level element.
For more detail on XML in general, the internet has you covered. Remember that the patcher download includes several example patch files which cover common use cases.


General notes:
As time has gone on, I have added new attributes to things that previously didn't have them. When this happens, I update the tool to default to whatever the old case was, but warn you that you should be explicit now.
There is no support for matching based on instance ID. These numbers change with every build, so that would defeat the entire point, which is to allow you to not care which build you're working against.
Unless otherwise specified, assume all names and values specified are case-sensitive.


The document
The root element should be named "<wargamepatch>" and has no attributes. Each <wargamepatch> can have 0 to N elements, though one with 0 isn't exactly useful. All elements have three potential attributes:
  • ndf - Required. The path to the ndfbin file inside the .dat file, for example "pc\ndf\patchable\gfx\everything.ndfbin".
  • table - Required. The name of the table in the specified ndfbin file.
  • name - Optional. Name used when the patcher prints messages and when using the __createdby matchcondition. If none is specified, the patcher will assign an integer based on the order of the patch.

Adding instances
The first possible element is <ndfcreate> (<ndfadd> is accepted as a synonym, which I added at some point when I couldn't remember which it was, and since I don't want to break backwards compatibility it stays). This will create a new instance in the specified table.
It requires no additional information to do this.
Example:
code:
<ndfcreate ndf="pc\ndf\patchable\gfx\everything.ndfbin" table="TUniteAuSolDescriptor" name="New Unit" />
Deleting instances
The second is <ndfdelete>. It deletes instances from the specified table. It accepts a <matchconditions> element as its child, though this is not mandatory if you for some reason want to wipe out an entire table. <matchconditions> is explained below.
Example:
code:
<ndfdelete ndf="pc\ndf\patchable\gfx\everything.ndfbin" table="TUniteAuSolDescriptor">
	<matchconditions>
		<matchcondition property="ClassNameForDebug">Unit_90_Motorstrelki</matchcondition>
	</matchconditions>
</ndfdelete>
I'm not sure anyone has actually used this, ever.

Changing instances
The third and most important is <ndfpatch>. <ndfpatch> is used to change values on existing ndf instances. It has two children - <matchconditions> and <changes>.

Matching instances
<matchconditions> instructs the patcher to filter a table. It can be omitted if you want to change every instance. <matchconditions> in turn contains 0 to N <matchcondition> elements. It will start with the entire specified table. Each time a <matchcondition> is processed, any instances that do not match the specified criteria are discarded from the list. If a <matchconditions> is somewhere that expects exactly one instance (such as setting a reference) and it returns 0 or 2+, a warning will be issued.
<matchcondition> has three attributes:
  • type - Optional. Possible values are "property", "referencedby", and "references". If missing, defaults to "property".
  • property - Required for type "property", ignored otherwise. Specifies which property match on.
  • table - Required for types "referencedby" and "references", ignored otherwise. Specifies which table the child <matchconditions> will search.

For type "property", the patcher will require that instances' specified property equals the specified value. Note that this currently does not support indexed types (i.e. it can't match Lists or MapLists right now). It can match complex types. It also has the following "special" values for the property attribute that only exist in the patcher's context:
  • __order - The (0-indexed) order in the table this instance occurs at. Can have the special values of "first" or "last" as well as an integer value.
  • __createdby - Pass the name given to a previous <ndfcreate> to operate on the instance created by it. This is not case-sensitive.
Examples:
code:
	<matchconditions>
		<matchcondition property="ClassNameForDebug">Unit_90_Motorstrelki</matchcondition>
	</matchconditions>
code:
	<matchconditions>
		<matchcondition property="__createdby">new unit</matchcondition>
	</matchconditions>
For type "referencedby", the <matchcondition> expects another <matchconditions> as its child. It require that all instances are referenced by at least one of the instance(s) selected by the inner <matchconditions>. Note that you can recurse these to functionally unlimited depth if you want to find something based on a reference to a reference.
Example:
code:
<matchconditions>
	<matchcondition type="referencedby" table="TUniteAuSolDescriptor">
		<matchconditions>
			<matchcondition type="property" property="ClassNameForDebug">Unit_152mm_SpGH_Dana</matchcondition>
		</matchconditions>
	</matchcondition>
</matchconditions>
For type "references", it's the same as "referencedby" except in reverse - it requires that the instances reference at least one of the instance(s) selected by the inner <matchconditions>.

Specifying changes
<changes> describes what the patch is going to actually do. It contains 0 to N <change> elements, though a <changes> with no <change>s will issue a warning that you probably forgot to do something. <change> has four attributes:
  • operation - Optional. Possible values are "add", "clear", "delete", "null", "select", "set", and "unselect". If missing, defaults to "set".
  • property - Required at top level (see below). Specifies which property this change is going to affect.
  • key - Required for indexed types (List/Collection and MapList) and some operations. Specifies which element this change is going to affect.
  • type - Required in some situations for the "add" and "set" operations only. This must be specified if the patcher cannot infer what type a field is supposed to have, as the ndf type doesn't actually provide an intended type anywhere. The patcher can usually figure it out, but if you're setting a value that's currently null or trying to add to a nested list it won't be able to tell and then you must include this. Valid value are discussed in the section on types below.

The various operations do various things as described below. In alphabetical order:
  • add - Adds a new element to an indexed type. Also accepted as "append". May require a key and may require a type.
  • clear - Removes all elements from an indexed type.
  • delete - Removes an element from an indexed type. Requires a key.
  • null - Sets a value to null. You could do this already with set and type of Null, but this is a shorthand version. Same rules apply as for set (except no need to specify a type, obviously).
  • select - Instructs the parser to move its current context into an indexed type, allowing you to operate on lists-of-lists. Once in an inner context, you no longer specify poperty names but must specify the type. Requires a key.
  • set - Sets a property to the specified value. Uses key and type when applicable.
  • unselect - When in a nested context, move back up one level. If you don't use an unselect, context will reset at the end of the <ndfpatch>.

I will make a special example here for the nested list context, as described in passing for the select and unselect operations. For this I'm going to shamelessly borrow an example patch from RangerPL:
code:
  <ndfpatch ndf="pc\ndf\patchable\gfx\everything.ndfbin" table="TTypeUnitModuleDescriptor" name="A">
    <matchconditions>
      <matchcondition property="NameInMenuToken">5F90780000000000</matchcondition>
      <matchcondition property="GenerateName">True</matchcondition>
    </matchconditions>
    <changes>
      <change operation="select" property="Filters" key="2"/>
      <change operation="clear" type="list"/>
      <change operation="append" type="LocalisationHash">41E22D4DD9380000</change>
      <change operation="append" type="LocalisationHash">5C76718B57360E00</change>
      <change operation="unselect" />

      <change operation="select" property="Filters" key="3"/>
      <change operation="clear" type="list"/>
      <change operation="append" type="LocalisationHash">41E22D4DD9380000</change>
      <change operation="append" type="LocalisationHash">5C76718B57360E00</change>
    </changes>
  </ndfpatch>
TTypeUnitModuleDescriptor contains a property named Filters, which is a List that contains other Lists. This patch edits the Lists under Filters with keys 2 and 3, by both times selecting into that inner list and then clearing it and replacing it with two user-specified values. An unselect operation is used to return to the outer element between the two lists.

Basically, think of "select" as zooming in, and "unselect" as zooming back out. If it makes you feel any better, this was so confusing to program that it took me literally years to get around to doing it.

NDF types
Finally, a discussion of types. These are what you specify as the type attribute to the add and set operations. The NDF format supports a number of types, which I have mostly arbitrarily grouped as follows:
Primitive types
These are single values that stand alone and require no other information.
  • Int8
  • Int16
  • Int32
  • UInt16
  • UInt32
  • Unset
  • Boolean
  • WideString
  • TableString
  • TransTableReference
  • LocalisationHash (note the spelling)

Complex types
These require multiple values to properly describe.
ObjectReference - A reference to another ndf instance. The value specified is as follows:
code:
<reference table="TUinteAuSolDescriptor">
 <matchconditions>
</reference>
The <reference> element must specify the table for the <matchconditions> to search in. All the standard rules above apply to this <matchconditions>.

Map - A single map (not a MapList!), with a key and a value. This has a special syntax as follows:
code:
<map>
 <key type="Int32">1</key>
 <value type="WideString">Hello</value>
</map>
Both elements of the map must have a type attribute specified.

There are other complex types that the patcher currently doesn't parse (such as the various vector/tuple types). If you need this, let me know.

Indexed types
The List and MapList are special cases in that they can contain other things. Creating either is actually very easy - you don't need a value at all, as they don't have anything that could be understand to be their one, single value. Example:
code:
<change operation="set" property="MissionAndUnitList_OnlyForTest" type="MapList">
Note that internally to the moddingSuite library a MapList is just a List that can only ever have Maps as children (though it actually doesn't enforce this very well). There's no functional difference at all, and if you treat MapLists as a List of Maps it'll probably still work, if that somehow makes it easier for you.

Putting all that together, here's one of my test patches so you can see most of the syntax at work in one place:
code:
<wargamepatch>
	<!-- This will insert a record into an instance the below table (chosen by being the first one I found with nested list) -->
	<ndfpatch ndf="pc\ndf\patchable\gfx\everything.ndfbin" table="TIASkirmishDescriptor" name="Nested Lists">
		<!-- Select the first element in this table -->
		<matchconditions>
			<matchcondition property="__order">first</matchcondition>
		</matchconditions>
		<changes>
			<!-- Add a map. Here, type is required for it to insert a Map and not overwrite the property with a new MapList due to a
			 deficiency in the type inference system. I'm not sure how to fix that without breaking the file format -->
			<change operation="add" property="MissionAndUnitList_OnlyForTest" type="map">
				<map>
					<key type="Int32">16</key>
					<value type="List" />
				</map>
			</change>
			<!-- Navigate inwards to the selected list. Note the specification of the key -->
			<change operation="select" property="MissionAndUnitList_OnlyForTest" key="16" />
			<!-- Add a record to the inner list we created earlier -->
			<change operation="add" type="ObjectReference">
				<reference table="TUnitSpawnInfos">
					<matchconditions>
						<matchcondition property="__order">first</matchcondition>
					</matchconditions>
				</reference>
			</change>
			<!-- And update it by specifying its key (0-indexed) -->
			<change operation="set" key="0" type="ObjectReference">
				<reference table="TUnitSpawnInfos">
					<matchconditions>
						<matchcondition property="__order">last</matchcondition>
					</matchconditions>
				</reference>
			</change>
		</changes>
	</ndfpatch>
</wargamepatch>
Additional examples are included in the download if you want to see other ways to use this tool.

This is a very verbose file format, but it should ensure version-agnosticism unless Eugen changes things so drastically that the rules you tell it aren't valid anymore.

e: oh god tables I'm so sorry

xthetenth
Dec 30, 2012

Mario wasn't sure if this Jeb guy was a good influence on Yoshi.

That's good documentation, I'll probably confuse myself once I get going though.

StashAugustine
Mar 24, 2013

Do not trust in hope- it will betray you! Only faith and hatred sustain.

What did uralmod do?

xthetenth
Dec 30, 2012

Mario wasn't sure if this Jeb guy was a good influence on Yoshi.

StashAugustine posted:

What did uralmod do?

Kick rear end.

It repriced command units dramatically and repriced tanks to make mid range tanks a lot cheaper so they can be a real backbone. There were also changes to infantry to make them more balanced, and generally some work to make the units a lot more balanced pricewise.

I definitely want to make a cv cheapener at the very least.

OctaMurk
Jun 21, 2013
IMO, the grand tank rebalance patch and patches since then have largely obsoleted Uralmod. We're now playing in the era of the 135pt T-72 '89 and 65pt T-80 and affordable command tnaks.

xthetenth
Dec 30, 2012

Mario wasn't sure if this Jeb guy was a good influence on Yoshi.

OctaMurk posted:

IMO, the grand tank rebalance patch and patches since then have largely obsoleted Uralmod. We're now playing in the era of the 135pt T-72 '89 and 65pt T-80 and affordable command tnaks.

Yeah, the tank changes aren't as necessary as they had been, but there's still some goofy infantry stuff to be found, and command units as a whole are priced to discourage actually taking ground.

Vahakyla
May 3, 2013
:frogsiren:

I originally announced this in this thread on Dec 31, 2014 00:01, so it took a while, but hey!


Since AirLand Battle is the only one with coop campaign, I decided long time ago to atleast make the campaigns last a longer.

This is the final campaign, the fourth one, in ALB. It can be played solo, coop or versus. It's called "The Nordic Escalation", and it _massively_ modifies the available units, the composition of decks fighting, and the amount of troops. Many decks have hundreds of tanks, infantry and tens of planes. This mod is in it for the long grind, where battlegroups can fight for an ingame day before a victor emerges, and in my opinion, greatly increased the enjoyability and longevity of the campaign. The target morale for NATO side is also increased, since it made no sense for the defender, who already has the innate bonus in itself, to have equal goals to the attacker. Time limit is 30 days. I also edited the name of the campaign, and the description.


Carefully look at the decks you can purchase, since many of them are way more powerful, and many of their units have been switched. Aerial Recon was also made free.

I could not have done any of this without dandywalken.
This mod fucks up your ability to play ALB with anyone who doesn't have it.
You can use steam cache verify to get rid of it.


There are important house rules here, though. The AI difficulty should be Very Hard, and the border tiles on the campaign should not be touched by NATO. PACT needs them to function correctly, since it can't retreat it's battlegroups to "outside of map", and will get instadestroyed, which makes zero sense when there are 50 MIGs and 100 T80s left in it. You can sometimes force retreat a healthy battlegroup outside the map and just get rid of them in an exploitative way.
NATO should not step on these tiles: Namsos, Stromsund, Kiel, Ornskoldsvik


Dandywalken taught me wargame modding from the scratch. I am none the wiser, but at least I know some french words now!
Thanks so much.


Download here: https://drive.google.com/file/d/0B6J0NFxo-WK-U3NDLTNvblc2MzQ/view?usp=sharing

Vahakyla fucked around with this message at 16:25 on Aug 22, 2016

Panzeh
Nov 27, 2006

"..The high ground"

xthetenth posted:

Yeah, the tank changes aren't as necessary as they had been, but there's still some goofy infantry stuff to be found, and command units as a whole are priced to discourage actually taking ground.

I actually like the way uralmod kinda pushed for its gameplay because the cheap as chips tanks allowed for a more aggressive, meatgrinder style tank gameplay that made the game pretty exciting beyond the first five minutes.

I enjoyed 1984(for ALB) mod in the way it doled out reinforcements- instead of getting a trickle, you got a lump sum every few minutes and the unit roster, much pared down pretty much mandated using line units through availability.

working mom
Jul 8, 2015

Vahakyla posted:

~awesome mod talk~

This is pretty cool, will definitely give this a play through soon, you mentioned this being the 4th campaign? Do you mean there are 3 built in with the game and this adds to them or have you built 3 before this? If the latter, do you have links to the other 3?

Vahakyla
May 3, 2013
This replaces the 4th vanilla one

reagan
Apr 29, 2008

by Lowtax
Uralmod seems to be working again with the tweaks mentioned here: http://forums.eugensystems.com/viewtopic.php?f=187&t=45797&start=1260

Or is this not a complete fix?

quote:

Firstly, many thanks to authors for they work.

With the last patches the mod doesn't work well - it has incorrect units description and icons.
Here is the corrected config for the mod installer for the latest patch (510025133)
https://www.dropbox.com/s/637bvwskhg2kvg6/installerConfig.wmi?dl=0

To install the mod properly you need to:
1. Unpack mod files to Wargame root folder
2. ReplaceWargame Red Dragon\Uralmod\2.2Inst\installerConfig.wmi with my file
3. Run Uralmod Installer.bat

P.S. Remember, that there is only modded install config that I made for myself, so you need to manually add this files to backup :
Data\WARGAME\PC\510019512\510024196\ZZ_4.dat
Data\WARGAME\PC\510019512\510024196\ZZ_Win.dat
Data\WARGAME\PC\510025133\NDF_Win.dat

quote:

"I have tried to use this however it does not seem to want to work. I have unpacked it, placed the installer conig and ran the installer.bat. It will install and say it is complete, however only the pictures will change and not the information, costs or names. Looking for some help, don't mind losing NL, would like to play the mod."

Hi, obviously the problem is in the last patch, that is 510027397. The data in it overrides the same data in previous patches. So you need to manually change 510025133 with 510027397 in the installer config file, and run the installer again.

RangerPL
Jul 23, 2014
That'll make it work but without any of the Dutch stuff.

Edit: Hey I totally missed the conversation above. Yeah, I wasn't waiting for power crystals, I was just lazy. That said I'm on vacation from work this week so I've put some :effortless: in and managed to rewrite a few things in XML format. This should hopefully make the mod patch- and DLC-proof.

And here's a tiny piece of the revived mod: https://dl.dropboxusercontent.com/u/3766742/NDF_Win_Ural3.dat

The (modest) list of changes is as follows:

Command units' prices reduced. As a rule of thumb, price is price of base vehicle + 25p. Infantry costs 25p
Units 1981-1986 added to Cat C decks, units 1987-1991 added to Cat B
Cat C set to 1986, Cat B set to 1991
Rafale: Intro year set to 1995
USA: Motorized decks enabled for Cat C
US LAV-25 Made capable of transporting infantry
Marines (90): LAV-25 added to transport options
SMAW: LAV-25 added to transport options

We've started over so these are changes from vanilla. None of the other old stuff is in this version, but the new Cat B/C should be fun.

The goal is to get as close to 100% XML for future versions of the mod so we don't get wiped out by a patch again

RangerPL fucked around with this message at 06:01 on Aug 26, 2016

DJ Dizzy
Feb 11, 2009

Real men don't use bolters.
Anyone got a decent US armoured deck lying around? Or are tanks not suited for a beginner? :ohdear:

Adbot
ADBOT LOVES YOU

reagan
Apr 29, 2008

by Lowtax

RangerPL posted:

That'll make it work but without any of the Dutch stuff.

Edit: Hey I totally missed the conversation above. Yeah, I wasn't waiting for power crystals, I was just lazy. That said I'm on vacation from work this week so I've put some :effortless: in and managed to rewrite a few things in XML format. This should hopefully make the mod patch- and DLC-proof.

And here's a tiny piece of the revived mod: https://dl.dropboxusercontent.com/u/3766742/NDF_Win_Ural3.dat

The (modest) list of changes is as follows:

Command units' prices reduced. As a rule of thumb, price is price of base vehicle + 25p. Infantry costs 25p
Units 1981-1986 added to Cat C decks, units 1987-1991 added to Cat B
Cat C set to 1986, Cat B set to 1991
Rafale: Intro year set to 1995
USA: Motorized decks enabled for Cat C
US LAV-25 Made capable of transporting infantry
Marines (90): LAV-25 added to transport options
SMAW: LAV-25 added to transport options

We've started over so these are changes from vanilla. None of the other old stuff is in this version, but the new Cat B/C should be fun.

The goal is to get as close to 100% XML for future versions of the mod so we don't get wiped out by a patch again

Where does the NDF file go?

  • Locked thread