You must be logged in to post messages.
Please login or register

Scenario Design
Moderated by Yeebaagooon, nottud

Hop to:    
loginhomeregisterhelprules
Bottom
Topic Subject: Have a Trigger Request? Post it here!
« Previous Page  1 ··· 10 ··· 20 ··· 30 ··· 40 ··· 50 ··· 61 62 63 64 65 ··· 68  Next Page »
posted 23 July 2010 11:41 AM EDT (US)   
So you have a question trigger request?

You can post it here!



Hello and welcome to the Trigger Request Thread (TRT). This thread's purpose is only to place trigger requests and discuss them. If you have unrelated questions or need help with triggers, please use Azur's thread!



Before posting your request, it's always good to read the so-called FAQ.

  1. What is a FAQ?
    The term "FAQ" (when pronounced, it rhymes with "back") is an acronym for Frequently Asked Questions.

  2. How do I install a trigger?
    When we have finished making your trigger, we'll post the required code here. To install this code you will first of all need to find your way to the AoM installation folder. C:\Program Files\Microsoft Games\Age of Mythology by default). Now open the trigger folder if you intend to use the trigger in vanilla, or open the trigger2 folder if you use The Titans expansion. Next, open the file called typetest.xml. The only thing left to do is copy the code at the right position and save. If you requested a condition, then place the line above < /Conditions>, if you requested an effect paste it right above < /Effects>. Note the "s" at the end of both tags.

    Notes:

    1. When copying the trigger from someone please click first and only then copy the required code.
    2. If you're still uncomfortable with installing triggers please backup the original typetest file, i.e. copy the original to another folder.


  3. How do I uninstall a trigger?
    If a trigger happens to be faulty or if it generates errors you better remove it. Just do as if you were installing a new trigger, but instead of copy-pasting new code, remove the code corresponding with the chosen trigger. Make sure to remove it completely, including the starting < effect > or < condition > tag and the corresponding < /effect > or < /condition > closing tag. Failure to do so properly will cause XML errors in the file making ALL triggers in that file inaccessbile for AoM.

  4. So... How exactly are new triggers made?
    AoM has a built-in engine that can parse XS code. Triggers are programmed and interpreted using this language through a series of existing functions. Since there are over 600 functions, and only a few are used by the default triggers, this leaves plenty of room for a whole new set of advanced, useful triggers.

  5. Can I request anything?
    Although we can do a lot with today's knowledge, there are still limitation we won't ever get around. So if you think of a cool new trigger, make sure to post a request but don't forget you might get a negative reply. Commonly requested triggers that are not possible include (but are not limited to):

    • Modify Unit: change the stats of 1 particular unit.
    • Change Playername
    • Change Major God
    • Transform ALL units on map for player
    • I'll add more when I think of them.


  6. I want to learn trigger scripting, how do I do that?
    It takes quite some time, but if you really want to learn trigger coding, we recommend fully understanding XS language before you start making triggers. Therefore, go here: Master XS (WIP). If you want to skip all that, and you want to be able to create only simple triggers, read this guide.

  7. Help! My triggers have stopped working!
    Triggers Stop Working Guide. Also linking camera tracks, using Run Immediately, sound timers and decimals in conditions like Timer and Distance to Unit effect, might cause this. Moreover, typing an invalid name on the Victory Conditions will cause a trigger block. But post these sort of questions in the Great Question thread.



Resources

Recommended Downloads:
  1. Trigger Loader 2 + Quest Vars (AoM && TT) by invent00r and Mythic_Freak
  2. SomeNewXTriggers 3 (TT) & SomeNewTriggers 4 (AoM) by Reyk
  3. Proactive Triggers (TT & AoM) by invent00r
  4. Advanced Triggers Set (TT) by pftq
  5. New Custom Triggers (TT) by Baseballkid14
  6. Nottud's Latest Triggers by nottud
  7. Conditonal Effects (TT & AoM) by nottud
  8. Angry Levels (TT & AoM) by angryzor
  9. SIMSTools (TT) by angryzor
  10. Target Protounit Query by HailToTheOboe

Miscellaneous:
  1. First TRT by invent00r
  2. Trigger Templates by Mephiles
  3. A list of all guides sorted by Paperfriend




Posting a Request

So you have read the FAQ and want to post a request? OK, go for it, just be sure to use the following format:

Name - This should be as straightforward as possible. Try to comply with today's standards.
Description - Always describe the actions that you want the trigger to perform.
Example - Optional. An example can be a great help when requesting complex triggers.


[b]Name[/b] -
[b]Description[/b] -
[b]Example[/b] -


We might even ignore posts in other formats if we're in a bad mood
Remember that not all triggers are possible but we will try our best.




Unfinished Requests

  • Unit Patrol by Bingo Little
  • Army Wander by Endarron
  • QV Damage Units in QV area by name by mrjonathan0
  • Unit Heading Towards Unit by dwieeb
  • Damage units in Area by % (has been done before?) by Steak And Khan
  • Most Units In Area by Sir_Hans
  • QV Modify x by satansfall
  • Move from area to random area by Mister SCP
  • Set Unit Formation by aZeusDude2
  • Army Deploy Random Myth Unit by bgan
  • QV Randomize Series by Alexgd92
  • Convert all except protounit (or unit) by Joshonator
  • SET Ambient Colour/Sun Colour/Sun Specular/Terrain Ambient Fade Version by andrewv42
  • Damage units near army by AJER
  • QV count units in area with state by AuroraP
  • QV Grant random resources per stat by AuroraP
  • Condition: Random Timer by SwordOfValor
  • Army deploy in line by SwordOfValor
  • Condition: unit (type/in area) worked on other unit. by WinstonShnozwick
  • Gruoup selected by Guard of Olympus
  • Pick Unit by XxXItachiXxX
  • Modify Protounit All Percent by AuroraP
  • Random Forest by Bubble

  • Finished Requests

  • Damage Units near protounit for sneaky_squirrel & mrjonathan0
  • Move units from area to unit for Azur
  • Clear Chat History of Player & Chat Contains Anything for Lewonas
  • QV Change unit type by ID for Yeebaagooon
  • Move to QV Unit for Yeebaagoon
  • QV Modify Protounit for Xzyiothe
  • Player Kill GP Slot for Titanic Kraken
  • Move all player units for Anstar
  • Protounit Change Name for Dimir_Guildmage
  • Shop start/end with max for Mephiles
  • Diplomacy trigger for Yeebaagooon
  • Diplomacy both ways trigger for Yeebaagooon
  • Modify protounit trigger for Yeebaagooon
  • Convert trigger for Yeebaagooon
  • Make all units have no bonuses for Brighty
  • Conditional Army Units in Area for Sneaky_Squirrel
  • GROUP Select 2 for AuroraP
  • Send QV Color Chat for Alexgd92
  • Quest Var xModify for Alexgd92
  • QV Randomize 4 amounts for Alexgd92
  • QV Set Population Count for Beelzebub
  • Units in area of army for SwordOfValor
  • Damage units in area of army for SwordOfValor
  • AG with armies for SwordOfValor
  • Army deploy QV Count for Silicone Ruff Jr
  • Quest Var set rank for gunner1
  • Convert units in area to random player for Zorx
  • Units Change Name By Type for beerad
  • Army deploy where the units facing for SwordOfValor
  • Unit Heading Towards Unit for Noble
  • Convert Random Units In Selection for xEXOLARx
  • QV Set Units in Area (Center Army) for SwordOfValor
  • Move Units from Area (action) for SwordOfValor

  • Enjoy.
    Last updated: 03 september 2009

    In all your science of the mind, seeking blind through flesh and bone
    Find the blood inside this stone
    Well, I know I've never shown what I feel, I've always known
    I plan my vengeance on my own - and I was always alone
    Replies:
    posted 13 June 2017 11:03 AM EDT (US)     1551 / 1689  
    Thanks a lot for this complete answer.

    Where can I find the cancel research trigger ?

    I'm doing a list of all useful tech for scenario, which means all tech that are cancellable by trigger, in order to use them for different effects.

    Are this triggers completely new or is it a reedition ?
    Someone now why "tech is status" wasn't in original triggers ?

    I love the concept of "Trigger request"
    posted 13 June 2017 01:52 PM EDT (US)     1552 / 1689  
    The cancel research trigger doesn't exist yet. I've created it just now:

    <Effect name="Cancel Tech Research">
    <Param name="NOTE" dispName="Important" VarType="string">Go to the Player Data menu and make sure the Control is set to CPU for this player!</Param>
    <Param name="PlayerID" dispName="Player" VarType="string">0</Param>
    <Param name="TechID" dispName="Tech" VarType="tech">0</Param>
    <Command>for(buildingProtos=0;>1){}</Command>
    <Command>for(unitTypeID=0;>1){}</Command>
    <Command>for(queryID=0;>1){}</Command>
    <Command>for(unitID=0;>1){}</Command>
    <Command>xsSetContextPlayer(%PlayerID%);</Command>
    <Command>buildingProtos = kbTechTreeGetNumberObtainProtos(%TechID%);</Command>
    <Command>if(trQuestVarGet("QidCTR_%PlayerID%_%TechID%once") == 0) {</Command>
    <Command>trQuestVarSet("QidCTR_%PlayerID%_%TechID%", kbUnitQueryCreate("QidCTR_%PlayerID%_%TechID%"));</Command>
    <Command>trQuestVarSet("QidCTR_%PlayerID%_%TechID%once", 1);</Command>
    <Command>}</Command>
    <Command>queryID = 1*trQuestVarGet("QidCTR_%PlayerID%_%TechID%");</Command>
    <Command>for(index=buildingProtos-1;>=0){</Command>
    <Command>unitTypeID = kbTechTreeGetUnitIDByObtainIndex(%TechID%,index);</Command>
    <Command>kbUnitQuerySetPlayerID(queryID, %PlayerID%, true);</Command>
    <Command>kbUnitQuerySetUnitType(queryID, unitTypeID);</Command>
    <Command>kbUnitQuerySetState(queryID,2);</Command>
    <Command>for(resultIndex=kbUnitQueryExecute(queryID)-1;>=0){</Command>
    <Command>unitID = kbUnitQueryGetResult(queryID,resultIndex);</Command>
    <Command>researchCancelByID(%TechID%, unitID, %PlayerID%);</Command>
    <Command>}</Command>
    <Command>}</Command>
    </Effect>

    This effect only works if you set the Control of the player to CPU (in the Player Data menu (this doesn't mean the player has to be controlled by an AI)).

    Tech is Status is just one of the many triggers you would expect to find in the official trigger list. I guess Ensemble Studios only wanted to deliver the most essential triggers to the public and leave the rest to be created by trigger enthusiasts. Luckily custom triggers are pretty easy to create and understand.

    What are the key ingredients to make a popular RPG? To find out, read the results of the RPG survey.
    Want to create an advanced patrol/pathfinding system? Have a look at the powerful Pathfinding triggers.
    Games I'm playing: The Witness [80%] Chivalry: Medieval Warfare [20%]
    posted 13 June 2017 02:29 PM EDT (US)     1553 / 1689  
    Thank you !

    Does it work online ? (a CPU with no AI can be a player in multiplayer, still considered as a CPU ?)
    posted 14 June 2017 04:40 AM EDT (US)     1554 / 1689  
    I'm not certain, but I believe it'll work online. You would have to test it.

    I really don't understand why ES set a condition that only CPU controlled players can use the very useful kbTechTree commands. I don't know what the conditions to use these commands are exactly, otherwise I might have been able to circumvent the CPU control setting.

    Fyi, there's another much more inefficient way to cancel tech researches which circumvents the CPU control setting. You would have to find and target all buildings that provide researchable techs and attempt to cancel the tech you want to cancel in all these buildings.

    EDIT: I could also create a trigger that asks the user to provide all the building types where the tech needs to be canceled from. This would be much more efficient than the above mentioned method and it would also circumvent the CPU control setting. But of course, the downsides are it requires more user input and it's prone to user errors.

    What are the key ingredients to make a popular RPG? To find out, read the results of the RPG survey.
    Want to create an advanced patrol/pathfinding system? Have a look at the powerful Pathfinding triggers.
    Games I'm playing: The Witness [80%] Chivalry: Medieval Warfare [20%]

    [This message has been edited by Lewonas (edited 06-14-2017 @ 04:47 AM).]

    posted 14 June 2017 05:20 AM EDT (US)     1555 / 1689  
    Thank you, no you don't have to create the last trigger, because my scenario (a new civilisation) is already complex for a first user.

    I will try to do that online, if it works with 2 people and 2 comps does it mean that it works in all cases ?
    (I can say to you that it works if I'm a cpu on a SP scenario)

    [This message has been edited by eine_gurkensalad (edited 06-14-2017 @ 05:25 AM).]

    posted 14 June 2017 08:20 AM EDT (US)     1556 / 1689  
    Sorry for the confusion, but when I was talking about the last trigger and used the word 'user', I actually meant the designer. So using this new trigger would require more input from the designer (in the trigger editor) and that trigger would be prone to errors from the designer (e.g. if you provide the wrong building type to cancel the tech research, nothing would happen. Or if you only provide one building type when there's a second building type that could also research the same tech, the research wouldn't be canceled in that building). But yes, this trigger would only be necessary if the current trigger doesn't work.

    And yes, if it works with 2 people it will also work with more (granted you set the control to CPU for all the players).

    What are the key ingredients to make a popular RPG? To find out, read the results of the RPG survey.
    Want to create an advanced patrol/pathfinding system? Have a look at the powerful Pathfinding triggers.
    Games I'm playing: The Witness [80%] Chivalry: Medieval Warfare [20%]

    [This message has been edited by Lewonas (edited 06-14-2017 @ 08:35 AM).]

    posted 20 June 2017 06:33 AM EDT (US)     1557 / 1689  
    No sorry it doesn't work online.
    I think we are no longer CPU when we play online.

    Anyway, i think the best thing to do is to use existing tech (I'm listing those that are cancelable by opposite triggers such as "modify protounit")
    posted 21 June 2017 11:14 AM EDT (US)     1558 / 1689  
    Then you could try the other effect I mentioned in post 1554 which doesn't require the CPU control setting (see the EDIT paragraph):

    <Effect name="Cancel Tech Research In Buildings">
    <Param name="PlayerID" dispName="Player" VarType="string">0</Param>
    <Param name="TechID" dispName="Tech" VarType="tech">0</Param>
    <Param name="Building1" dispName="Building 1" VarType="protounit">Unit</Param>
    <Param name="Building2" dispName="Building 2" VarType="protounit">Unit</Param>
    <Param name="Building3" dispName="Building 3" VarType="protounit">Unit</Param>
    <Param name="Building4" dispName="Building 4" VarType="protounit">Unit</Param>
    <Command>for(queryID=0;>1){}</Command>
    <Command>xsSetContextPlayer(%PlayerID%);</Command>
    <Command>kbLookAtAllUnitsOnMap();</Command>
    <Command>if(trQuestVarGet("QidCTRIB_%PlayerID%_%TechID%once") == 0) {</Command>
    <Command>trQuestVarSet("QidCTRIB_%PlayerID%_%TechID%", kbUnitQueryCreate("QidCTRIB_%PlayerID%_%TechID%"));</Command>
    <Command>trQuestVarSet("QidCTRIB_%PlayerID%_%TechID%once", 1);</Command>
    <Command>}</Command>
    <Command>queryID = 1*trQuestVarGet("QidCTRIB_%PlayerID%_%TechID%");</Command>
    <Command>if("%Building1%" != "Unit"){</Command>
    <Command>kbUnitQuerySetPlayerID(queryID, %PlayerID%, true);</Command>
    <Command>kbUnitQuerySetUnitType(queryID, kbGetProtoUnitID("%Building1%"));</Command>
    <Command>kbUnitQuerySetState(queryID,2);</Command>
    <Command>for(resultIndex=kbUnitQueryExecute(queryID)-1;>=0){</Command>
    <Command>researchCancelByID(%TechID%, kbUnitQueryGetResult(queryID,resultIndex), %PlayerID%);</Command>
    <Command>}</Command>
    <Command>}</Command>
    <Command>if("%Building2%" != "Unit"){</Command>
    <Command>kbUnitQuerySetPlayerID(queryID, %PlayerID%, true);</Command>
    <Command>kbUnitQuerySetUnitType(queryID, kbGetProtoUnitID("%Building2%"));</Command>
    <Command>kbUnitQuerySetState(queryID,2);</Command>
    <Command>for(resultIndex=kbUnitQueryExecute(queryID)-1;>=0){</Command>
    <Command>researchCancelByID(%TechID%, kbUnitQueryGetResult(queryID,resultIndex), %PlayerID%);</Command>
    <Command>}</Command>
    <Command>}</Command>
    <Command>if("%Building3%" != "Unit"){</Command>
    <Command>kbUnitQuerySetPlayerID(queryID, %PlayerID%, true);</Command>
    <Command>kbUnitQuerySetUnitType(queryID, kbGetProtoUnitID("%Building3%"));</Command>
    <Command>kbUnitQuerySetState(queryID,2);</Command>
    <Command>for(resultIndex=kbUnitQueryExecute(queryID)-1;>=0){</Command>
    <Command>researchCancelByID(%TechID%, kbUnitQueryGetResult(queryID,resultIndex), %PlayerID%);</Command>
    <Command>}</Command>
    <Command>}</Command>
    <Command>if("%Building4%" != "Unit"){</Command>
    <Command>kbUnitQuerySetPlayerID(queryID, %PlayerID%, true);</Command>
    <Command>kbUnitQuerySetUnitType(queryID, kbGetProtoUnitID("%Building4%"));</Command>
    <Command>kbUnitQuerySetState(queryID,2);</Command>
    <Command>for(resultIndex=kbUnitQueryExecute(queryID)-1;>=0){</Command>
    <Command>researchCancelByID(%TechID%, kbUnitQueryGetResult(queryID,resultIndex), %PlayerID%);</Command>
    <Command>}</Command>
    <Command>}</Command>
    </Effect>

    I think this effect is self-explanatory. It's really unbelievable the TechTree commands can't be used for non-CPU players...

    What are the key ingredients to make a popular RPG? To find out, read the results of the RPG survey.
    Want to create an advanced patrol/pathfinding system? Have a look at the powerful Pathfinding triggers.
    Games I'm playing: The Witness [80%] Chivalry: Medieval Warfare [20%]
    posted 21 June 2017 11:52 AM EDT (US)     1559 / 1689  
    I'll use it if I can't do differently. Thank you it will be able to solve some complex situations
    posted 05 July 2017 06:25 AM EDT (US)     1560 / 1689  
    Two effects:

    Name- Rate research/construction for player
    description- same as "rate research""/construction" but for one player only

    Actually we can have a work around for rate construction using plenty of modify protounit; build points; -x but for the rate research i don't know how to do
    posted 07 July 2017 11:53 PM EDT (US)     1561 / 1689  
    As far as I am aware you can not set rates for individual players. there is the work around for construction that you mentioned but I am unaware of one for researching. For gathering resources you can research techs (such as hunting dogs) to increase the gather rate for specific players, I am not sure if this is possible for resarching.
    posted 08 July 2017 03:15 AM EDT (US)     1562 / 1689  
    A possibility will be a timer launched when the tech is researching and it set active before the end of the research.
    posted 09 July 2017 07:02 AM EDT (US)     1563 / 1689  
    Two yconditionnal:
    Effect name- ycondition units in area+Player range
    Description- same as units in area from v-tpq but also with player range. If someone can tell me how to transform a condition in player range condition i'll be able to do also v condition units in area player range

    thanks!

    [This message has been edited by eine_gurkensalad (edited 07-09-2017 @ 07:02 AM).]

    posted 21 July 2017 10:34 AM EDT (US)     1564 / 1689  
    Since nobody has requested this. I need to know if there are wildcards in triggers.

    Example: The Condition "Units In Area", for the Unit Type is there a wildcard that stands for all units of a certain player?
    As in putting * in the Unit Type (obviously that doesn't work because I've tried it and it is why I'm asking.)

    Thank you.
    posted 21 July 2017 10:55 AM EDT (US)     1565 / 1689  
    Hi, I'm new! (Kind of... actually been playing since 2004, but this is my first time posting on AOMH.)

    My 2 questions are this:
    Is there a trigger that lets you modify protounits by percentage instead of value?

    And if not:
    Is there a function that returns the existing value for one of the protounit field stats?

    I found out that in the command field, the * operator works for multiplication, so that's useful. But this won't help me use a percent change if I can't find an existing value for the protounit field. I could manually input it like this, e.g. I wanted to increase the hp of a unit with 100 health:

    <Effect name="Modify Protounit x100">
    <Param name="ProtoUnit" dispName="$$22449$$ProtoUnit" varType="protounit">Villager</Param>
    <Param name="PlayerID" dispName="$$22301$$Player" varType="player">1</Param>
    <Param name="Field" dispName="$$23943$$Field" varType="pufield">0</Param>
    <Param name="Pcent" dispName="Multiplier" varType="float">1.0</Param>
    <Command>trModifyProtounit("%ProtoUnit%", %PlayerID%, %Field%, 100*%Pcent%);</Command>

    But that only works for the one field of HP, and it wouldn't account for changes in the field, e.g. increasing it by 20% the first time would go to 120, but increasing it by 20% the second time would go to 140 instead of 144.

    In theory a percent increase trigger would probably look more like this I think (not sure since I'm new to XS script).

    <Param name="Pcent" dispName="Multiplier" varType="float">1.0</Param>
    <Var name="PUFV" varType="float">pufieldvalue("%ProtoUnit%", %Field%)</Var>
    <Command>trModifyProtounit("%ProtoUnit%", %PlayerID%, %Field%, %PUFV%*%Pcent%);</Command>

    or maybe instead of including the extra parameter, just putting the function directly in the command like:

    <Command>trModifyProtounit("%ProtoUnit%", %PlayerID%, %Field%, pufieldvalue("%ProtoUnit%", %Field%)*%Pcent%);</Command>

    Anyway, the ultimate goal is to do a modify all protounits a la Nottud's trigger for that, but that one doesn't include all the Chinese units. If there's an updated one out there, please let me know! I don't mind otherwise inputting it manually (or programming something to print it for me from some kind of data table), but if this already exists I'd rather not redo it.

    Any tips, links, advice, or revisions would be deeply appreciated! Thanks!

    P.S.
    Other things I'm looking for:
    -Condition that checks the number of god powers a player has (e.g. if you have 2 uses of gaia's forest left)
    -Effect that changes a unit's description similarly to how you can change a unit's name (either protounit or specific unit would work)
    -A Chinese unit stats table or a building table to help with aforementioned modify percent trigger

    [This message has been edited by Nolovent (edited 07-21-2017 @ 11:03 AM).]

    posted 21 July 2017 03:36 PM EDT (US)     1566 / 1689  
    This answer has been written by a horrible phone, please look in the original code window to copy the piece of code. I hope this trigger can be useful for the two last request, but it isn't a complète answer.



    for(k=9999;>0){
    if("%UTID%"==""){
    if(kbGetUnitTypeName(k)!=""){
    trChatSend(0,"Type id: "+ k +" = "+ kbGetUnitTypeName(k));
    }}
    else {
    if(kbGetUnitTypeName(k)=="%UTID%"){
    trChatSend(0,"Type id: "+ k +" = "+ kbGetUnitTypeName(k));
    break;
    }}}


    I think you must be interested by this trigger which displays the complète list of all units and corresponding id (thanks Lewonas) if you put nothing in the field (tape a name to find soecific id). You'll see the list in the dialog window in game.

    You will find also unit type such as all myth units, and maybe a "all" type.

    [This message has been edited by eine_gurkensalad (edited 07-21-2017 @ 03:41 PM).]

    posted 21 July 2017 04:55 PM EDT (US)     1567 / 1689  
    Can you explain what I am supposed to do with that code exactly. I am just getting back into this whole scene and I remember nothing. How would I implement that. What file do I open in what folder, etc.

    Thank you for the help.
    posted 22 July 2017 08:19 AM EDT (US)     1568 / 1689  
    Well I really don't know what is your level so where you block. I 'll explain all so I hope it will help. Sorry for the bad english, you' ll find the answer of this by having a look on my location .

    Go in the "edit" window on my message then copy the code of the trigger.
    Open aom folder in your pc and search "trigger2" then "typetest.xml", open this file with notepad
    BACKUP WHENEVER YOU OPEN AN AOM FILE :-D
    Paste the code at the end of the text, just before two lines like and which have to be always at the end.
    Then launch aom open the editor and the triggers
    Make a simple trigger high priority, always and this effect and playtest.
    It will lag some seconds then open the message box top right of the window.
    You'll see normally all existing unit ids.
    I think you will be interested by the high id which are unit type.
    To do what you want exactly, I see 3 ways.
    They need to édit a new condition. Simply go in the typetest on nogepad and search your units in area condition.
    Copy the entire condition and add a suffix on the condition name (first line) like "units in area2" or what you want.
    Replace in this second version only one Word in one param line (i think it is the second). Search "var type"protounit" " and Replace "protounit" by "string" this allow you to write name or id instead of having the big list of unit.
    Save the file
    Now the 3 ways:
    1) if you find in the message box an id for "all" or a thing like "unit type all", you will be able to type the id in your condition you have created (so this will target all units).
    2) you can search a list of unit type. For exemple, you write on a paper all id for unit type you find. I think that with "human soldier" "myth unit" "hero" "building" "siege weapon" and "ship" you will have all.
    Then it depends of what type of unit you want to target. Un fortunately I don't see a way to have simply all type in addition in conditions. However if you need one unit in area you can make 6 condition with the 6 id of type I mentionned and put 1 on each and "or [x]".
    3) I think only if you have 1 unit for unit in area (maybe if you think a lot you can find a work around) you could use qv: in the protounit field of your New condition write trQuestVarGet("qv") (qv is the name of the qv), make this trigger on loop and add a second condition "qv check" with the same qv and "<=" as opérator. The effect is "qv modify" +1 . then you'll have to search in the data of the game (aom folder/data) and open the last proto file (a thing like "proto2.5"). See at the end of the file the last id (which is the highest) and put this value in the condition" quest var check" in your trigger.
    This will simply Search the id 1 then id 2 etc up to the last id (stoped by the condition "quest vat chreck"). I think the comp can do this in a short time because it makes nothing else than numeric opérations.
    To use this condition another time, set to 0 the value of the qv (all this triggering use the same qv).

    I see other ways which can be better but they use effects instead of condition. Tell me if you can't do what you want with this answer.
    This answer isn't easy for you because I don't have the values you want and i'm on phone so I cant see on aom :p
    But it will be a good exercise for you O:-)
    And if you don't know the proto file, it is a good thing to explore this winderful stuff, as Well as the last techtree ;-)

    [This message has been edited by eine_gurkensalad (edited 07-22-2017 @ 08:27 AM).]

    posted 23 July 2017 08:56 AM EDT (US)     1569 / 1689  
    Yeah I am not able to understand what you're saying. Darn language barriers!
    posted 23 July 2017 10:17 AM EDT (US)     1570 / 1689  
    I hope you aren't english because if you are it means that my english is very very bad :-[
    posted 23 July 2017 03:03 PM EDT (US)     1571 / 1689  
    Hey dethklok,

    I've opted to use brute force when trying to do something with "every unit" in scenarios. I've attached below my script for "modify all protounits" (this excludes embellishments and non-playable units).

    If you want to do something like "ANY Unit in Area," I think you might be able to use this. You just have to copy this into a text editor and replace the tr command with the one you want, and then replace the inputs with the ones you want.


    For example, replacing
    <Command>trModifyProtounit
    with
    <Expression>trCountUnitsInArea


    replacing
    Area("
    with
    Area("%DstObject%",%Player%,"


    and replacing
    , %PlayerID%, %Field%, %Value%);</Command>
    with
    ,%Dist%) %Op% %Count%</Expression>


    I hope this helps! Good luck!
    P.S. I've tested my trigger and it does work. If you find any missing units or typos, let me know! I'm not sure if my condition syntax is correct since I haven't gotten around to scripting any conditions. If team LOS isn't an issue for you, you can always use "unit is in LOS" and place a rock or something.



    <?xml version = "1.0"?>
    <trigger version="2">
    <Effects>
    <Effect name="Modify Every Protounit 2017">
    <Param name="PlayerID" dispName="$$22301$$Player" VarType="player">0</Param>
    <Param name="Field" dispName="$$23943$$Field" varType="pufield">0</Param>
    <Param name="Value" dispName="Value" varType="float">1.0</Param>
    <Command>trModifyProtounit("Academy", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Agamemnon", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ajax", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ajax Older", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Amanra", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Amanra Older", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Animal Attractor", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Anubite", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ao Kuang", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ape of Set", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Apep", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Archer Atlantean", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Archer Atlantean Hero", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Archery Range", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Argus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Arkantos", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Arkantos God", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Arkantosman", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Armory", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Athena", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Atlantis Wall Connector", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Atlantis Wall Long", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Audrey", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Audrey Base", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Audrey Water", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Audrey Water Base", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Aurochs", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Automaton", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Automaton SPC", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Avenger", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Axe", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Axeman", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Azure Dragon", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Baboon", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ballista", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Bandit Migdol", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Barracks", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Barracks Atlantean", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Barracks Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Battle Boar", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Bear", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Behemoth", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Bella", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Bireme", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Boar", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Bogsveigir", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Bolder Wall", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Bolder Wall Asian", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Bondi", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Bridge", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Brokk", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Camelry", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Caravan Atlantean", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Caravan Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Caravan Egyptian", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Caravan Greek", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Caravan Norse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Carcinos", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Caribou", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Castle", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Cataphract", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Cataphract Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Catapult", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Centaur", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Chariot Archer", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Chicken", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Chieroballista", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Chimera", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Chiron", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Chu Ko Nu", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Circe", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Citadel Center", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Colossus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Columns", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Counter Building", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Cow", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Crocodile", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Crocodile of Set", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Crossbowman", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Crowned Crane", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Cyclops", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Danzhu", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Deer", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Dig Pile", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Dock", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Dog", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Dragon Turtle", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Dryad", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Duck", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Dwarf", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Dwarf Foundry", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Dwarven Forge", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Earth", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Einheriar", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Eitri", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Elephant", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Elephant Indian", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Elk", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Excavation", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Farm", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Female", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fence Iron", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fence Stone", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fence Wood", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fenris Wolf", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fimbulwinter Wolf", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fire Giant", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fire Hades", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fire Lance", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fire Lance Shennong", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fire Ship Atlantean", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fire Ship Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fire Siphon", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fishing Ship Atlantean", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fishing Ship Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fishing Ship Egyptian", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fishing Ship Greek", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fishing Ship Norse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Flag", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Flying Medic", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Flying Purple Hippo", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Folstag Flag Bearer", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Forkboy", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Fortress", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Frost Giant", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Gaia Pool", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Garden", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Gargarensis", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Gate", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Gate Ram", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Gate Ram 2", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Gazelle", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Gazelle of Set", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("General Melagius", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ghost Ship", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Giant Duck-billed Platypus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Giraffe", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Giraffe of Set", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Goat", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Goat Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Golden Fleece", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Golden Lion", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Golem", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Granary", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Great Box", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Great Box Cart", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Great Box Cart 2", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Griffon", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Guardian", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Guardian Sleeping", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Guardian Sleeping XP", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Guardian XP", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Guild", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hades Door", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hades Door Small", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Harpy", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Harpy Scout", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hawk", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hawksbill", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Healing Spring Object", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Heavenlight", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Heka Gigantes", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Helepolis", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Boar", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Boar 2", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Chinese General", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Chinese Immortal", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Chinese Monk", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Achilles", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Ajax", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Argo", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Atalanta", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Bellerophon", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Chiron", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Heracles", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Hippolyta", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Jason", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Odysseus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Perseus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Polyphemus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Greek Theseus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Norse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hero Ragnorok", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hetairoi", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hill Fort", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hippikon", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hippo", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hippo of Set", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hippocampus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hoplite", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("House", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Huskarl", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hydra", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hyena", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hyena of Set", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Hypaspist", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Jail Wall", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Jarl", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Javelin Cavalry", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Javelin Cavalry Hero", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Jialong", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Jiangshi", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Jormund Elver", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Junk", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Kamos", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Kastor", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Kastor Adult", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Kebenit", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Khopesh", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("King Folstag", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Kraken", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Kraken SPC", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Krios", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Kronny", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Kronny Flying", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Lampades", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Lancer", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Lancer Hero", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Lazer Bear", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Leviathan", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Lighthouse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Lion", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Lizard", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Locust Swarm", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Longboat", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Longhouse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Lumber Camp", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Maceman", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Maceman Hero", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Man O War", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Manor", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Manticore", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Market", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Medusa", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Mercenary", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Mercenary Cavalry", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Migdol Stronghold", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Militia", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Mining Camp", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Minion", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Minotaur", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Monkey", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Monkey King", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Monkey Raft", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Monument", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Monument 2", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Monument 3", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Monument 4", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Monument 5", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Mountain Giant", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Mounted Archer", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Mummy", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Myrmidon", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Naval Shipyard", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Nemean Lion", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Nereid", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Nidhogg", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Obelisk", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Odins Tower", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Odysseus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Old Man", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Onager", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Oracle Hero", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Oracle Scout", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Orca", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ornlu", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Osiris", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Outpost", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ox Cart", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Palace", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Panda Bear", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pegasus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Peltast", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Petrobolos", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Petsuchos", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pharaoh", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pharaoh of Osiris", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pharaoh of Osiris XP", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pharaoh Secondary", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Phoenix", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Phoenix Egg", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Phoenix From Egg", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Physician", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pig", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pig Special", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pirate Ship", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pirate Ship Norse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pixiu ", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Polar Bear", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Polaris", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Portable Ram", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Poseidon Statue", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Priest", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Prisoner", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Prodromos", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Promethean", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Promethean Small", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pyramid Large", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pyramid Osiris Xpack", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Pyramid Small", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Qilin", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Raft", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Raiding Cavalry", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ramming Ship Egyptian", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ramming Ship Greek", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ramming Ship Norse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Raven", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Regent", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Reginleif", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Reindeer", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Rhinoceros of Set", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Rhinocerous", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Roc", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Roc Tent", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Rocket", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Royal Guard", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Royal Guard Hero", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Rugs", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ruins", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Santa", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Satyr", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Scarab", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Scorpion Man", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Scout", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Scout Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Scylla", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Sea Snake", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Sea Turtle", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Sentinel Base", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Sentinel Main", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Serpent", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Servant", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Servant Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Setna", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Settlement", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Settlement Level 1", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Shaba Ka", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Shade", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Shade of Erebus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Shade of Hades", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Shade XP", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Shark", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Shrine", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Shun", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Siege Camp", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Siege Ship Atlantean", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Siege Ship Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Siege Ship Egyptian", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Siege Ship Greek", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Siege Ship Norse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Siege Tower", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Sitting Tiger", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Sitting Tiger Shennong", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Skraeling", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Skult", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Sky Passage", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Spearman", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Sphinx", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Spider", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Spider Door", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Spider Egg", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Stable", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Stable Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue Chimera", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue Cyclops", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue Hydra", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue Lion Left", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue Lion Right", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue Manticore", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue Nemean Lion", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue of Automaton", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue of Automaton Base", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue of Lightning", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue of Major God", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue of Melagius", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue Pharaoh", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Statue Valkyrie", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Storage Pit", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Storehouse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Stymphalian Bird", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Summoning Tree", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Summoning Tree 2", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Sword Bearers", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Swordsman", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Swordsman Hero", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Tamarisk Tree", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Taproot", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Taproot large", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Taproot Small", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Tartarian Gate", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Tartarian Gate spawn", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Temple", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Temple Kronos", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Temple Overgrown", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Temple Underworld", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Tent", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Terracotta Soldier", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Theocrat", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Theris", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Thor hammer", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Thor Hammer Haft", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Thor Hammer Head", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Throwing Axeman", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Tiger", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Titan Atlantean", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Titan Bad", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Titan Gaia", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Titan Gate", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Titan Kronos", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Titan Prometheus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Tower", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Tower Mirror", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Toxotes", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Transport Ship Atlantean", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Transport Ship Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Transport Ship Egyptian", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Transport Ship Greek", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Transport Ship Norse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Trident Soldier", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Trident Soldier Hero", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Trireme", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Trojan Horse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Troll", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Trollkarien", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Troy Gate", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Troy Wall Connector", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Troy Wall Long", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Troy Wall Short", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ulfsark", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Ulfsark Starting", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Underworld Passage SPC", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Valkyrie", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Vermilion Bird", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Villager Atlantean", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Villager Atlantean Hero", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Villager Chinese", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Villager Egyptian", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Villager Greek", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Villager Norse", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Volley", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Vulture", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Vulture Scout", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Wadjet", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Wall Connector", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Wall Long", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Wall Medium", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Wall Short", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Walrus", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("War Chariot", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("War Elephant", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("War Salamander", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Water Buffalo", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Well of Urd", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("White Tiger", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Wolf", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Wolf Arctic", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Wolf Arctic 2", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Wonder", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Wonder SPC", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Yak", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Yardstick", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Zebra", %PlayerID%, %Field%, %Value%);</Command>
    <Command>trModifyProtounit("Zhi", %PlayerID%, %Field%, %Value%);</Command>
    </Effect>
    </Effects>
    </trigger>

    [This message has been edited by Nolovent (edited 07-23-2017 @ 03:06 PM).]

    posted 24 July 2017 09:11 AM EDT (US)     1572 / 1689  
    @eine_gurkensalad: I've never seen a vconditional units in area player range effect before. How should it work exactly? Does it check if either all or any of the players have units near the center unit, or something else?
    Since nobody has requested this. I need to know if there are wildcards in triggers.

    Example: The Condition "Units In Area", for the Unit Type is there a wildcard that stands for all units of a certain player?
    There isn't a wildcard symbol like * per se, but there're abstract types you can use to select a certain group of units. For instance, if you want to check if there're any units in an area with the units in area condition, you can use the Unit abstract type to do this. You can use the MythUnit abstract type to check for any myth units in the area. There're many more abstract types which you can find in the proto.xml file. Or use the handy unit type lookup effect that eine_gurkensalad tried to give you so you can look over all the abstract types in the game:

    <Effect name="Unit Type ID Lookup">
    <Param name="UTID" dispName="Unit type" VarType="string"></Param>
    <Command>for(k=9999;>0){</Command>
    <Command>if("%UTID%"==""){</Command>
    <Command>if(kbGetUnitTypeName(k)!=""){</Command>
    <Command>trChatSend(0,"Type id: "+ k +" = "+ kbGetUnitTypeName(k));</Command>
    <Command>}}</Command>
    <Command>else {</Command>
    <Command>if(kbGetUnitTypeName(k)=="%UTID%"){</Command>
    <Command>trChatSend(0,"Type id: "+ k +" = "+ kbGetUnitTypeName(k));</Command>
    <Command>break;</Command>
    <Command>}}}</Command>
    </Effect>

    Leave the parameter field empty to compile a list of all type ids and their corresponding names (the latter is what you want).
    My 2 questions are this:
    Is there a trigger that lets you modify protounits by percentage instead of value?

    And if not:
    Is there a function that returns the existing value for one of the protounit field stats?
    I've created a trigger system that lets you modify protounits by a percentage value, but it's not perfect unfortunetaly. And no, there isn't a function that returns protounit stat values.

    You can find my modify protounit percentage triggers here: https://www.dropbox.com/s/krnv9qysvltsnrd/AMPtriggers.xml?dl=0 (maybe I should publish it). There's a setup effect called AMP - Load Protounit Base Stats that needs to be fired just once before you use the other AMP effects (it sets the base stat values of all the units in the game). The only downside is that researched technologies that alter the stat values aren't accounted for (such as the medium/heavy/champion technologies). If you want the AMP triggers to account for these technologies, you would have to add new triggers seperately that check if such technologies have been researched, and then update the stat values for the units you want the technologies to be accounted for (you use the AMP - Adjust Protounit Base Stat Value effect for this).

    Also make sure you only use the AMP Modify Protounit effects instead of any other modify protounit effects, otherwise the unit's stat values won't be updated.
    Other things I'm looking for:
    -Condition that checks the number of god powers a player has (e.g. if you have 2 uses of gaia's forest left)
    You should use the quest var effects and conditions for this. Use the Quest var Set effect to set the number of uses of the god power the player starts with. Whenever the player is granted another use of the god power, or invokes the god power (use the God power active effect to detect this), modify the number of uses with the Quest var Modify effect.
    Other things I'm looking for:
    -Effect that changes a unit's description similarly to how you can change a unit's name (either protounit or specific unit would work)
    You can't change the unit's description in the unit description window without modding the game. But you could send your own unit's description in a chat message to the player(s). One way to do this is for instance like this: if a player selects a certain unit type and presses a certain hotkey, send a spoofed chat message to this player containing the unit's description.
    Other things I'm looking for:
    -A Chinese unit stats table or a building table to help with aforementioned modify percent trigger
    That would be useful, I agree. I'll see what I can do.

    What are the key ingredients to make a popular RPG? To find out, read the results of the RPG survey.
    Want to create an advanced patrol/pathfinding system? Have a look at the powerful Pathfinding triggers.
    Games I'm playing: The Witness [80%] Chivalry: Medieval Warfare [20%]
    posted 24 July 2017 09:54 AM EDT (US)     1573 / 1689  
    I only want a v condition unit in area but not only for one player but for player range, like unit in area of centred unit for p1 to p3.
    You can also explain how to convert a trigger into player range trigger, if it isn't so complicated !
    Don't forget that my first request is a y conditonnal one

    [This message has been edited by eine_gurkensalad (edited 07-24-2017 @ 09:56 AM).]

    posted 24 July 2017 01:40 PM EDT (US)     1574 / 1689  
    <Effect name="ycondition - Units in Area For ALL Players">
    <Param name="qv" dispName="Same var as start" VarType="string">cow</Param>
    <Param name="LP" dispName="Lowest player" varType="string">1</Param>
    <Param name="HP" dispName="Highest player" varType="string">12</Param>
    <Param name="UnitType" dispName="Unit Type" VarType="string">Unit</Param>
    <Param name="Dist" dispName="Radius" VarType="float">10</Param>
    <Param name="Op" dispName="Operator" VarType="operator">==</Param>
    <Param name="Count" dispName="Count" VarType="float">1</Param>
    <Command>for(criterion=1;>1){}</Command>
    <Command>for(c_player=%HP%;>=%LP%) {</Command>
    <Command>if(trCountUnitsInArea(""+1*trQuestVarGet("%qv%"), c_player, "%UnitType%", %Dist%) %Op% %Count%) continue;</Command>
    <Command>else { criterion = 0; break; }</Command>
    <Command>}</Command>
    <Command>if(criterion == 1) {</Command>
    </Effect>

    <Effect name="ycondition - Units in Area For ANY Players">
    <Param name="qv" dispName="Same var as start" VarType="string">cow</Param>
    <Param name="LP" dispName="Lowest player" varType="string">1</Param>
    <Param name="HP" dispName="Highest player" varType="string">12</Param>
    <Param name="UnitType" dispName="Unit Type" VarType="string">Unit</Param>
    <Param name="Dist" dispName="Radius" VarType="float">10</Param>
    <Param name="Op" dispName="Operator" VarType="operator">==</Param>
    <Param name="Count" dispName="Count" VarType="float">1</Param>
    <Command>for(criterion=0;>1){}</Command>
    <Command>for(c_player=%HP%;>=%LP%) {</Command>
    <Command>if(trCountUnitsInArea(""+1*trQuestVarGet("%qv%"), c_player, "%UnitType%", %Dist%) %Op% %Count%) { criterion = 1; break; }</Command>
    <Command>}</Command>
    <Command>if(criterion == 1) {</Command>
    </Effect>

    <Effect name="v Condition - Units in Area For ALL Players">
    <Param name="UID" dispName="Unique vID" varType="float">0</Param>
    <Param name="LP" dispName="Lowest player" varType="string">1</Param>
    <Param name="HP" dispName="Highest player" varType="string">12</Param>
    <Param name="UnitType" dispName="Unit Type" VarType="string">Unit</Param>
    <Param name="Dist" dispName="Radius" VarType="float">10</Param>
    <Param name="Op" dispName="Operator" VarType="operator">==</Param>
    <Param name="Count" dispName="Count" VarType="float">1</Param>
    <Command>for(criterion=1;>1){}</Command>
    <Command>for(unitName=0;>1){}</Command>
    <Command>if(trQuestVarGet("VCUIAFALLP_%UID%") == 0) {</Command>
    <Command>trQuestVarSet("VCUIAFALLP_%UID%",1);</Command>
    <Command>for(c_unit=0;>1){}</Command>
    <Command>if(kbGetBlockID(""+UnitID) == UnitID) trQuestVarSet("VCUIAFALLP_%UID%_name", UnitID);</Command>
    <Command>else {</Command>
    <Command>while(true) {</Command>
    <Command>if(kbGetBlockID(""+c_unit) == UnitID) { trQuestVarSet("VCUIAFALLP_%UID%_name", c_unit); break; }</Command>
    <Command>else c_unit = c_unit + 1;</Command>
    <Command>}}}</Command>
    <Command>unitName = 1*trQuestVarGet("VCUIAFALLP_%UID%_name");</Command>
    <Command>for(c_player=%HP%;>=%LP%) {</Command>
    <Command>if(trCountUnitsInArea(""+unitName, c_player, "%UnitType%", %Dist%) %Op% %Count%) continue;</Command>
    <Command>else { criterion = 0; break; }</Command>
    <Command>}</Command>
    <Command>if(criterion == 1) {</Command>
    </Effect>

    <Effect name="v Condition - Units in Area For ANY Players">
    <Param name="UID" dispName="Unique vID" varType="float">0</Param>
    <Param name="LP" dispName="Lowest player" varType="string">1</Param>
    <Param name="HP" dispName="Highest player" varType="string">12</Param>
    <Param name="UnitType" dispName="Unit Type" VarType="string">Unit</Param>
    <Param name="Dist" dispName="Radius" VarType="float">10</Param>
    <Param name="Op" dispName="Operator" VarType="operator">==</Param>
    <Param name="Count" dispName="Count" VarType="float">1</Param>
    <Command>for(criterion=0;>1){}</Command>
    <Command>for(unitName=0;>1){}</Command>
    <Command>if(trQuestVarGet("VCUIAFANYP_%UID%") == 0) {</Command>
    <Command>trQuestVarSet("VCUIAFANYP_%UID%",1);</Command>
    <Command>for(c_unit=0;>1){}</Command>
    <Command>if(kbGetBlockID(""+UnitID) == UnitID) trQuestVarSet("VCUIAFANYP_%UID%_name", UnitID);</Command>
    <Command>else {</Command>
    <Command>while(true) {</Command>
    <Command>if(kbGetBlockID(""+c_unit) == UnitID) { trQuestVarSet("VCUIAFANYP_%UID%_name", c_unit); break; }</Command>
    <Command>else c_unit = c_unit + 1;</Command>
    <Command>}}}</Command>
    <Command>unitName = 1*trQuestVarGet("VCUIAFANYP_%UID%_name");</Command>
    <Command>for(c_player=%HP%;>=%LP%) {</Command>
    <Command>if(trCountUnitsInArea(""+unitName, c_player, "%UnitType%", %Dist%) %Op% %Count%) { criterion = 1; break; }</Command>
    <Command>}</Command>
    <Command>if(criterion == 1) {</Command>
    </Effect>

    You need to specify an unique ID value for the Unique vID parameter each time you use either of the vtrigger effects. The addition of this unique vID value improves the performance of these triggers by a huge amount (these effects are also much superior in performance in the long run compared to the existing vcondition units in area effect).

    What are the key ingredients to make a popular RPG? To find out, read the results of the RPG survey.
    Want to create an advanced patrol/pathfinding system? Have a look at the powerful Pathfinding triggers.
    Games I'm playing: The Witness [80%] Chivalry: Medieval Warfare [20%]
    posted 24 July 2017 02:17 PM EDT (US)     1575 / 1689  
    Thank you ! I hope you don't see problem in the fact that i can't test it because i'm in hollydays without comp. It means that i'll talk to you again about it in the end of august.
    The only thing I can do is to wish you good hollydays if you have

    [This message has been edited by eine_gurkensalad (edited 07-24-2017 @ 02:20 PM).]

    « Previous Page  1 ··· 10 ··· 20 ··· 30 ··· 40 ··· 50 ··· 61 62 63 64 65 ··· 68  Next Page »
    Age of Mythology Heaven » Forums » Scenario Design » Have a Trigger Request? Post it here!
    Top
    You must be logged in to post messages.
    Please login or register
    Hop to:    
    Age of Mythology Heaven | HeavenGames