Jagger2013
General of the Army
Posts: 641
Joined: Sat Apr 27, 2013 2:14 am

Modding Disrupter Ability

Tue Sep 30, 2014 1:39 am

I am modding the disrupter ability for RUS. Here is the modded ability:

UID = 145
Name = $abi_nam_Disrupter
Alias = Disrupter
Kind = $abiBattleBonus
Text = $abi_txt_Disrupter
ImageID = abi_SiegeExpert.png
Color = $colAbi_Green
Appliance = Self
Family = 0
Level = 1
ProgRate = 0
Param1 = 90
Param2 = -1
Param3 = -1
Param5 = -1
Param9 = -1
StrParam6 = *Disrupt*
StrParam7 = *Panic1*

Tanks receive the "disrupter ability" and the "disrupt" attribute, while the target troops receive the "panic" attribute. My objective is to reflect the panic of certain troops when facing tanks by imposing the negative Param penalties. But now I am wondering who do the penalties actually apply to? It is not clear to me whether the negative "battlebonus" penalties will apply to the tanks or the troops facing the tanks. The way "battlebonuses" are designed, I think the penalty will apply to the tanks with the "ability" rather than the troops without an "ability". Can anyone tell for sure?

If I understand "battlebonus" correctly, all penalties can only apply to units possessing an "ability" and cannot impact the parameters of an enemy unit opposing that unit. Is that correct?

If so, it seems I need to reverse the ability. I need to give units facing tanks the negative "battle bonus ability" which is then triggered when facing opposing tanks.

Cannot anyone clarify?

Jagger2013
General of the Army
Posts: 641
Joined: Sat Apr 27, 2013 2:14 am

Tue Sep 30, 2014 2:53 am

I noticed in a siege ability that you can designate by picking specific params whether the effects apply to the opposing unit or the owning unit. As far as I can tell that option is not available for battlebonus abilities. Since the option doesn't appear available for battlebonuses, that suggests that the battle bonuses or penalties apply only to the unit with the ability. It seems.

I am also curious whether anyone has tried to link the unit identifying strparam6 or strparam7 attributes with unit identifying Param7 or Param8 families. Clearly strparam6 is meant to work with strparam7 and the same with Param7 and Param8 but it would be useful if the linkage worked between all of them. It would be useful to identify a couple specific units with attributes affecting entire families of units rather than having to provide linking attributes to massive numbers of units.

User avatar
Bohémond
Posts: 2547
Joined: Wed May 14, 2008 8:47 pm

Tue Sep 30, 2014 3:05 am

Hello,

AGE Wiki seems not up to date regarding BattleBonus Ability Kind.

But recent xls file posted by you seems to confirm models with StrParam7 will suffer from this special Battle Bonus Abi kind from models with StrParam6 attribute. Not sure if my sentence is clear.

Some previous email exchange with Pocus confirm this.

I see al least one issue ;

*disrupt* is a attribute handled by the code and not a custom one. It think StrParam6 and StrParam7 have been designed for custom made attibute. But it does not mean *disrupt* does not work.

Second Point ;

Your ability definition is a malus abi (90,-1,-1,-1,-1), it should a bonus Abi like 150, NULL, etc,


Regards
Marco, perché vai così forte in salita?» «Per abbreviare la mia agonia.

Jagger2013
General of the Army
Posts: 641
Joined: Sat Apr 27, 2013 2:14 am

Tue Sep 30, 2014 3:27 am

Hello Bohemond,

AGE Wiki seems not up to date regarding BattleBonus Ability Kind.

But recent xls file posted by you seems to confirm models with StrParam7 will suffer from this special Battle Bonus Abi kind from models with StrParam6 attribute. Not sure if my sentence is clear.

Some previous email exchange with Pocus confirm this.


So Pocus has confirmed that penalties/bonuses will apply to models identified in StrParam7? My problem is that I could see no method to identify whether the owning unit or the opposing unit receives the penalties/bonuses. And existing abilities all seem to affect the owning unit which can be triggered by facing certain enemy units in StrParam7. So then, I assumed that all penalties/bonuses must apply only to the owning unit. So how do we identify whether the penalties/bonuses apply to the owning unit or the enemy unit?

I see al least one issue ;

*disrupt* is a attribute handled by the code and not a custom one. It think StrParam6 and StrParam7 have been designed for custom made attibute. But it does not mean *disrupt* does not work.


So basically the disrupt attribute cannot be modded. I should leave it alone and create another ability to achieve my objectives? I guess all the flavor attributes are not custom but special code abilities?


Second Point ;

Your ability definition is a malus abi (90,-1,-1,-1,-1), it should a bonus Abi like 150, NULL, etc,


I have never quite understood why some param columns are listed with 100 rather than simply left out. I assume 100 means no change. And if there is no change, why is it even listed? So I only included params with changes. It sounds as if I should list all battle params even if there are no changes to values?

User avatar
Bohémond
Posts: 2547
Joined: Wed May 14, 2008 8:47 pm

Tue Sep 30, 2014 10:48 am

Your Disrupter abi should lool like this ;

UID = 145
Name = $abi_nam_Disrupter
Alias = Disrupter
Kind = $abiBattleBonus
Text = $abi_txt_Disrupter
ImageID = abi_SiegeExpert.png
Color = $colAbi_Green
Appliance = Self
Family = 0
Level = 1
ProgRate = 0
Param1 = 150
Param6 = -150
StrParam6 = *Disrupter*
StrParam7 = *Panic1*


And you tank mdl should lool like this


UID = 55
NationTag = RED
Alias = mdl_RED_Tnk1
Name = $Model_Name_RED_Tanks
ShortName = $Model_ShortName_RED_Tanks
Text = $mdl_txt_RED_Tnk1
To&E = $mdl_toe_RED_Tnk1
Family = $famHvyVehicle
ImageID = symbol_WW1Tank.png
NatoSize = $sizNatoCoy
Color = $colREDRegular
Sound_FactionTag = RUS
Portrait = mdl_RED_tank1.png
OffFire = 15
DefFire = 9
Initiative = 5
Range = 2
ROF = 2
Protection = 5
TQ = 7
Assault = 11
Hits = 8
MenPerHit = 10
HorsesPerHit = 0
VehiclesPerHit = 0
GunsPerHit = 0
PlanesPerHit = 0
ArmouredPerHit = 1
HitsPerShip = 0
Cohesion = 55
DmgDone = 1
CohDone = 10
AsltDmgDone = 4
AsltCohDone = 25
CbtSignature = 130
Move Type = $Tracked
Move Ratio = 15
CohMove = 40
AtrMove = 20
BaseCohLoss = 10
BaseAttrition = 10
DetectLand = 1
DetectSea = 1
Blockade = 0
HideValue = 1
Weight = 10
ProgRate = 20
Police = 1
Patrol = 3
Evasion = 1
CapturePerc = 40
IsSupport = 0
SupplyUsage = 1
SupplyStore = 20
AmmoUsage = 2
AmmoStore = 20
ShareSupply = 1
SupHitPen = 25
SupMovePen = 80
SupCbtPen = 80
Attributes = *disrupt*|*disrupter*
Ability0 = $Disrupter
//Ability1 = $Armored_Support
VPValue = 5
POLValue = 0
Money = 15
Conscript = 1
WarSupply = 15
Days = 70
Morale = 0
CustomNames = 1st Tanks Div.|2nd Tanks Div.|3rd Tanks Div.|4th Tanks Div.|5th Tanks Div.|6th Tanks Div.|7th Tanks Div.|8th Tanks Div.|9th Tanks Div.|10th Tanks Div.|11th Tanks Div.|12th Tanks Div.|13th Tanks Div.|14th Tanks Div.|15th Tanks Div.|16th Tanks Div.|17th Tanks Div.|18th Tanks Div.|19th Tanks Div.|20th Tanks Div.|21st Tanks Div.|22nd Tanks Div.|23rd Tanks Div.|24th Tanks Div.|25th Tanks Div.|26th Tanks Div.|27th Tanks Div.|28th Tanks Div.|29th Tanks Div.|30th Tanks Div.|31st Tanks Div.|32nd Tanks Div.|33rd Tanks Div.|34th Tanks Div.|35th Tanks Div.|36th Tanks Div.|37th Tanks Div.|38th Tanks Div.|39th Tanks Div.|40th Tanks Div.


*Disrupter* has been added to attributes parameter and Armored support has been removed from Ability1 as 2 BattleBonus cannot be given to the same model.


The ''target'' model should look like this ;

UID = 108
NationTag = WHI
Alias = mdl_WHI_Inf5
Name = $Model_Name_WHI_Infantry
ShortName = $Model_ShortName_WHI_Infantry
Text = $mdl_txt_WHI_Inf5
To&E = $mdl_toe_WHI_Inf5
Family = $famLine
ImageID = symbol_conscript2.png
NatoSize = $sizNatoRgt
Color = $colWHIRegular
Sound_FactionTag = RUS
Portrait = mdl_WHI_Inf8.png
OffFire = 8
DefFire = 14
Initiative = 6
Range = 3
ROF = 2
Protection = 0
TQ = 4
Assault = 5
Hits = 20
MenPerHit = 50
HorsesPerHit = 0
VehiclesPerHit = 0
GunsPerHit = 0
PlanesPerHit = 0
ArmouredPerHit = 0
HitsPerShip = 0
Cohesion = 55
DmgDone = 2
CohDone = 5
AsltDmgDone = 2
AsltCohDone = 10
Move Type = $HvyFoot
Move Ratio = 100
CohMove = 50
AtrMove = 20
BaseCohLoss = 10
BaseAttrition = 10
DetectLand = 2
DetectSea = 2
Blockade = 0
HideValue = 1
Weight = 1
ProgRate = 5
Police = 1
Patrol = 4
Evasion = 3
TrainUpg = $mdl_WHI_Inf1
CapturePerc = 0
IsSupport = 0
SupplyUsage = 2
SupplyStore = 4
AmmoUsage = 2
AmmoStore = 4
ShareSupply = 1
SupHitPen = 25
SupMovePen = 25
SupCbtPen = 50
Attributes = *Panic1*
VPValue = 3
POLValue = 0
Money = 4
Conscript = 7
WarSupply = 0
Days = 30
Morale = 0
CustomNames = 1st Khoper|2nd Khoper|1st Volgsk|2nd Volgsk|1st Ekaterinodar|2nd Ekaterinodar|3rd Ekaterinodar|4th Bataisk|5th Bataisk|6th Azov|7th Sevastopol|8th Stavropol|9th Tikhoretsk|10th Taganrog|11th Azov|12th Novorossiysk|13th Novorossiysk|14th Armavir|15th Armavir|16th Barabinsk|17th Ekaterinodar|18th Ekaterinodar|19th Donetsk|20th Donetsk|21st Fusiliers|22th Fusiliers|23th Fusiliers|24th Fusiliers|25th Fusiliers|26th Fusiliers|27th Fusiliers|28th Fusiliers|29th Fusiliers|30th Fusiliers|31st Fusiliers|32nd Fusiliers|33thFusiliers|34th Fusiliers|35th Fusiliers|36th Fusiliers|37th Fusiliers|38th Fusiliers|39th Fusiliers|40th Fusiliers|41st Fusiliers|42nd Fusiliers|43rd Fusiliers|44th Fusiliers|45th Fusiliers|46th Fusiliers|47th Fusiliers|48th Fusiliers|49th Fusiliers|50th Fusiliers|51st Fusiliers|52nd Fusiliers|53rd Fusiliers|54th Fusiliers|55th Fusiliers|56th Fusiliers|57th Fusiliers|58th Fusiliers|59th Fusiliers|60th Fusiliers|61st Fusiliers|62nd Fusiliers|63rd Fusiliers|64th Fusiliers|65th Fusiliers|66th Fusiliers|67th Fusiliers|68th Fusiliers|69th Fusiliers|70th Fusiliers|71st Fusiliers|72nd Fusiliers|73rd Fusiliers|74th Fusiliers|75th Fusiliers|76th Fusiliers|77th Fusiliers|78th Fusiliers|79th Fusiliers|80th Fusiliers|81st Fusiliers|82nd Fusiliers|83rd Fusiliers|84th Fusiliers|85th Fusiliers|86th Fusiliers|87th Fusiliers|88th Fusiliers|89th Fusiliers|90th Fusiliers|91st Fusiliers|92nd Fusiliers|93rd Fusiliers|94th Fusiliers|95th Fusiliers|96th Fusiliers|97th Fusiliers|98th Fusiliers|99th Fusiliers|100th Fusiliers


Attributes Parameter has been added.


When a tank will face a WHI Conscript Infantry , the Disrupter Abi will be applied to the tank.

Hope it's clear

Regards
Marco, perché vai così forte in salita?» «Per abbreviare la mia agonia.

Jagger2013
General of the Army
Posts: 641
Joined: Sat Apr 27, 2013 2:14 am

Wed Oct 01, 2014 3:08 am

Thanks Bohemend, I had to change the ability because I want the unit facing tanks to suffer the penalties. For some reason, the game is not recognizing the ability. When I hover the mouse over the ability, it claims it is an erroroneous ability. Ran some test battles anyway and I am seeing no evidence of penalties in the battle log. I don't see any problems in the ability format. So I am going to try again tomorrow night. I think I will try using family Param7 and Param8 for linkage. In this particular case, I think I could achieve results almost as precise as attributes.

User avatar
JacquesDeLalaing
Colonel
Posts: 344
Joined: Tue Mar 09, 2010 11:05 pm
Location: Vienna (Austria)

Wed Oct 01, 2014 8:05 am

I'm just plopping in to say I'm also interested in this, since I think I've run into similar problems with the charge/counter-charge and my attempt to give elements who are fighting against light infantry elements battle mali here.
[CENTER][color="#A52A2A"] S I L E S I A I N R U P T A[/color]
- a work-in-progress mod for Rise of Prussia - [/CENTER]

Jagger2013
General of the Army
Posts: 641
Joined: Sat Apr 27, 2013 2:14 am

Wed Oct 01, 2014 4:02 pm

I suspect the problem lies with the attribute system. I am not sure it is suppose to work with RUS. I have the RUS abilities database and it doesn't even have columns for strParam6 and strParam7 attributes. Also I see plenty of models with attributes but all appear to be custom coded rather than tied to abilities. That is the reason I am going to try the Family Linkage method tonight. Basically both systems do the same thing but the attribute system is more precise. I also noticed RUS is using different columns for family params than the abilities spreadsheet. IIRC, RUS family linkage uses Param3 and Param4 rather than Param1 and param2 or vice versa. Hopefully I will get a chance to check out family linkage tonight.

Jagger2013
General of the Army
Posts: 641
Joined: Sat Apr 27, 2013 2:14 am

Wed Oct 01, 2014 5:28 pm

PS: The abilities and attribute system definitely works for Espana. I found 4 abilities that weren't set up yet. I was able to activate them using the ability and attribute system. Although they were simpler abilities than what I am trying to set up for tanks.

Jagger2013
General of the Army
Posts: 641
Joined: Sat Apr 27, 2013 2:14 am

Thu Oct 02, 2014 1:11 am

Ok, figured it out. The ability will not work with Rus Original. Rus only uses Unit subtype designations within ListParams1 and ListParams2. And as far as I can see, you cannot use both Params at the same time for an ability.
Unit Subtype is very broad and not very useful. I assume any game using AGEOD engine older than RUS is the same.

ListParams3 and Listparams4 are based on the models family grouping. So the ability should work with an engine using ListParams 3 and 4 if we can use both Params at the same time for an ability. I will need to test that.

StrParam6 and StrParam7 are based on specific models and can be linked. So the ability should definitely work with an engine using StrParam 6 and 7.

You can determine what parameters are used within a specific game by looking at either the abilities spreadsheet from the game database or by individually opening abilities game files. Much better looking at the database if available.

I know Espana definitely uses StrParam6 and StrParam7. I suspect it also uses ListParams3 and ListParams4. So I will try the ability out later this week with Espana and probably RUS Gold.

Here is an updated abilities spreadsheet with expanded explanations for ListParams1,2,3,4.
[ATTACH]31697[/ATTACH]

PS: All of the above was tested for battle abilities. I don't know if the results apply to other types of abilities.
Attachments

[The extension xls has been deactivated and can no longer be displayed.]


Jagger2013
General of the Army
Posts: 641
Joined: Sat Apr 27, 2013 2:14 am

Thu Oct 02, 2014 1:58 am

Jacques, I assume you were working on ROP Gold. I believe that engine is older than RUS and if so, it is probably using ListParam1 and 2 only. Which means your ability probably can't work. You could look at the abilities spreadsheet or check the individual files to see what ListParams are used for battle abilities. If it is using ListParams3 and 4, it might work and if it uses attributes strParams, it should be doable. Someone might know at the ROP forum also.

User avatar
JacquesDeLalaing
Colonel
Posts: 344
Joined: Tue Mar 09, 2010 11:05 pm
Location: Vienna (Austria)

Fri Oct 03, 2014 8:43 am

Thanks, Jagger2013. I'm currently not in medias res but I certainly will interpret your statement once I am! ;)
[CENTER][color="#A52A2A"] S I L E S I A I N R U P T A[/color]

- a work-in-progress mod for Rise of Prussia - [/CENTER]

Return to “Modding AGE engine games”

Who is online

Users browsing this forum: No registered users and 1 guest