Change the AMLA system

Brainstorm ideas of possible additions to the game. Read this before posting!

Moderator: Forum Moderators

Forum rules
Before posting a new idea, you must read the following:
User avatar
Melon
Posts: 193
Joined: February 8th, 2008, 2:30 am
Location: Calgary

Re: Change the AMLA system

Post by Melon »

Turuk wrote:
michchar wrote:Really, the only thing I see this for is SX, which will make it much more interesting, but rarely in MP do you get a level 3 in the first place, much less an AMLA. In campaigns, it's ridiculous to AMLA more than 2 or three times. What I would suggest is to lower the exp needed to get the AMLA, but that might couse some unbalancing
I have to agree with this, usually when I have a high level unit in a campaign, it is at the very end or it is a character unit you are given (such as Delfador) which you do not want to constantly put in the line of fire. Thus you still level up other units to provide L2 and L3 screening for your characters, which prevents most units from hitting AMLA more than once.

However, I do feel this could be practical in the application of making a campaign focusing on using higher level units, or orienting around a small core group out to complete some quest, overcome some evil, so on and so forth. It would definitely allow for more RPG style campaigns, at least in feel, given that players are leveling to obtain feats.
You must play the campaigns a lot differently then I do. When I was going through HttT on hard, I had most of my veteran units hit at least one AMLA. All the early game loyal troops collected at least 2 and Delfador collected about 3 or 4.
I do agree that the current xp requirement is a little bit high, maybe it would be best to push it back to 100? My second suggestion would be to make the next AMLA level cost (current value+25*current AMLA level) rather then 20%. With this sort of system in place it becomes easy to advance early on, but significantly more difficult at later levels. Here's an overview at what the xp would be starting at ether 100 or 150. The slash separates my proposed method from the current one:
AMLA 1: 100/100
AMLA 2: 125/120
AMLA 3: 175/144
AMLA 4: 250/172.8
AMLA 5 (fullheal only): 350/207.36

AMLA 1: 150/150
AMLA 2: 175/180
AMLA 3: 225/216
AMLA 4: 300/259.2
AMLA 5 (fullheal only): 400/311.04
Lord_Aether wrote:As a fan of rpgs, this sounds like a cool idea. However, I don't know about the randomly choosing 2 out of a list... Kinda takes some of the customization out of the hands of the player.
That's the point. The idea is to give the unit a slight improvement, not give the players a chance to "powerplay" their troops. If given the option to do so, a lot of players will exploit the new AMLA system and only choose the "best" combinations, instantly draining all the fun out of it. One of the main things I'm trying to do is make powerful units more unique and diversified.
User avatar
Viliam
Translator
Posts: 1341
Joined: January 30th, 2004, 11:07 am
Location: Bratislava, Slovakia
Contact:

Re: Change the AMLA system

Post by Viliam »

The current AMLA system has an advantage that it can be applied forever. If you gain enough experience, you could have AMLA 100 times. (Yes, that would create a really overpowered unit.)

I think it would be nice to preserve this also in the new AMLA system. Whatever new options you add, there should be at least one option which can be applied infinitely.
User avatar
Turuk
Sithslayer
Posts: 5283
Joined: February 28th, 2007, 8:58 pm
Contact:

Re: Change the AMLA system

Post by Turuk »

Melon wrote:You must play the campaigns a lot differently then I do. When I was going through HttT on hard, I had most of my veteran units hit at least one AMLA. All the early game loyal troops collected at least 2 and Delfador collected about 3 or 4.
Ah well, it's more that I made a poor choice of reference. I chose Delfador because he instantly came to mind as one of the high level units you receive who AMLAs very easily, and I know that in HttT, with 25 scenarios, it is very easy to AMLA him multiple times, as well as having most other units get at least one.

I was thinking more towards the fact that a number of campaigns are much shorter in length. I know Rise of Wesnoth is also 25, and that the Eastern Invasion is 18, but a large number have 14 scenarios or less. While this is still plenty of time to AMLA, most of the shorter campaigns mean that you cannot rely on one strong unit, so there would not be nearly as many AMLAs.

I agree with the randomization, because if you left players pick, some feats would never be chosen to be applied, and it also adds a bit of that luck of the draw factor that Wesnoth is so known for these days. Villiam raises a very good point, I would at least keep the bonus hp and the full heal able to be applied after the 5th AMLA.
Mainline Maintainer: AOI, DM, NR, TB and THoT.
UMC Maintainer: Forward They Cried, A Few Logs, A Few More Logs, Start of the War, and Battle Against Time
User avatar
Melon
Posts: 193
Joined: February 8th, 2008, 2:30 am
Location: Calgary

Re: Change the AMLA system

Post by Melon »

I've just finished coding the first batch of the generic feats. Here's the list:

"Rapid Strike" increases the number of strikes but decreased the damage of a melee, non-magical weapon
"Rapid Shot" increases the number of strikes but decreased the damage of a ranged, non-magical weapon
"Rapid Spell" increases the number of strikes but decreased the damage of a ranged magical weapon
"Empowered Strike" increases the damage but decreased the number of strikes of a melee, non-magical weapon
"Empowered Shot" increases the damage but decreased the number of strikes of a ranged, non-magical weapon
"Empowered Spell" increases the damage but decreased the number of strikes of a ranged magical weapon
"Attack Mastery" increases the damage of one of the units attacks

"Watchman" increases defense in villages and castles by 5%
"Woodsman" increases movement through forests by 1 and defense by 5%
"Highlander" increases movement through mountains and hills by 1
"Mountaineer" increases defense in mountains and hills by 5%
"Pathfinder" increases movement through sand, frozen and swamp terrain types by 1
"Swimmer" increases movement through shallow water by 1 and defense by 5%
"Navigator" increases movement through deep water by 1 and defense by 10%
"Cartographer" increases movement through caves by 1 and defense by 10%
"Amphibious" increases movement through flat terrain by 1. Only water dwelling races may take this feat

"Fortitude" increases resistance to impact and blade by 5%
"Parry" increases resistance to blade and pierce by 5%
"Evasion" increases resistance to pierce and impact by 5%
"Endure Elements" increases elemental resistances by 5% and gives an hp bonus of 2
"Immaterial Resistance" increases resistance to arcane by 10% and gives an hp bonus of 2

It would be awesome if someone could provide the code to make the game choose two feats at random, since I have no idea how to code such a thing myself.
I haven't had a chance to test the performance of my coding in game as of yet, so it may very possibly be riddled with bugs.
Attachments
amla.cfg
(22.36 KiB) Downloaded 263 times
User avatar
Melon
Posts: 193
Joined: February 8th, 2008, 2:30 am
Location: Calgary

Re: Change the AMLA system

Post by Melon »

Here's an expanded list that contains more AMLA ideas that I intend to code. Most of these will take a bit more work then the ones I posted originally and any WML help for any of the ones that may be a bit trickier to code will be greatly appreciated.

Specialized and unique feats:
(Note: "Units" gives a rough outline of which units can gain the feat.)

Code: Select all

	Vigorous Steed: +1 moves
		Units: All mounted units
	Sneak Attack: Adds a weak backstabbing strike
		Units: Naga Myrmidon, Deathblade, Master at Arms, Huntsman
	Poison Use: Adds a weak poisoning attack
		Units: Saurian Flanker, Naga Myrmidon, Ranger
	Battle Frenzy: Adds a weak attack that initiates combat for 3 consecutive rounds
		Units: Most orcs and dwarves, Necrophages, Drake Blademasters, Blood Bat
	Arcane Lore: Adds a magical attack that deals 6-1 arcane damage
		Units: Paladin, Elvish Marshal, Elvish Champion, Nightgaunt, Spectre
	Elvenbane: +1 damage against elves
		Units: Orcs
	Dwarvenbane: +1 damage against dwarves
		Units: Orcs
	Orc Slayer: +1 damage against orcs
		Units: Dwarves, Elves, Humans
	Undead Hunter: +1 damage against undead
		Units: Paladin, Mermaid Diviner, Mage of Light
	Robust: +2 hp regenerated every turn. This bonus stacks with any other regenerative bonuses
		Units: Trolls, Woses, Necrophages, Saurians, Nagas
	Greater Healing: +2 hp healed to all surrounding units every turn. This bonus stacks with any other healing abilities
		Units: Elvish Shyde, Mage of Light, Saurian Soothsayer, Paladin
	Herb Lore: Restores 2 hp to all surrounding units every turn while occupying a forest or a mushroom grove. This bonus does not stack with traditional healing
		Units: Elvish Avenger, Ranger, Huntsman, Necromancer, Great Mage, Silver Mage, Assassin, Orcish Slayer, Saurian Flanker, Ancient Wose
	Noble: Upkeep reduced by 1
		Units: Most Loyalists, Elves and Drakes
	Overlord: Generates an additional 3 gold while occupying a village
		Units: Orcs, Dwarves, Drakes, Most units with leadership
	Plunder: For every defeated enemy, this unit generates 2 gold times the level of the defeated creature
		Units: Outlaws, Goblin Pillager
	Spirited Charge: +1 to damage if the unit spend at least 2 and no more then half of its movement points in order to make the attack
		Units: Grand Knight, Paladin, Lancer, Cavalier, Elvish Outrider
	*Teacher of Magic: Spawns an initiate with the "loyal" trait next to the promoted unit. The unit comes with a free initiate every time it is recalled (Initiates spawned on recall are not loyal)
		Units: Mages, Liches and Necromancers
	Beloved of the People: Spawns two peasants with the "loyal" trait next to the promoted unit. The unit comes with a free peasant every time it is recalled (Peasants spawned on recall are not loyal)
		Units: Mage of Light, Grand Marshal, Paladin
	Criminal Mastermind: Spawns two ruffians with the "loyal" trait next to the promoted unit. The unit comes with a free ruffian every time it is recalled (Ruffians spawned on recall are not loyal)
		Units: Outlaws
	Reanimator: Spawns three walking corpses of random types next to the promoted unit. The unit comes with a free walking corpse every time the it is recalled
		Units: Necromancer, Lich, Spectre, Nightgaunt
	Slave Driver: Spawns three goblins next to the promoted unit. The unit comes with a free goblin every time the it is recalled
		Units: Orcish Sovereign, Orcish Warlord, Orcish Slurbow, Goblin Rouser
	Heroic Inspiration: +25% damage and 2 xp per turn for any level 0 unit adjacent to a unit with this ability. This bonus stacks with leadership bonuses
		Units: Most non-undead units
	Divine Resurrection: An attack that would normally kill the unit will leave it at one hitpoint instead. This ability activates only once
		Units: Elvish Shyde, Elvish Sylph, Mage of Light, Mermaid Diviner
	Dark Resurrection: If slain, this unit will return to life as a ghost at 50% health (Only the units name is retained, traits and abilities are lost)
		Units: Lich, Necromancer, Silver Mage, Saurian Oracle
*"Teacher of Magic" references a unit called an "initiate". This unit was proposed as a level 0 variation of the mage back in this thread

Any feedback regarding these feats or ideas for new ones will be appreciated.
Last edited by Melon on November 19th, 2008, 1:42 am, edited 1 time in total.
User avatar
Orcish Shyde
Posts: 303
Joined: October 13th, 2008, 6:13 pm

Re: Change the AMLA system

Post by Orcish Shyde »

Requiring the addition of a unit is going to slow this project down, unless the Initiate already has attack and defend frames at least. Summoning a loyal L1 Mage/DA to skirt the issue would likely give Loyalists/Rebels/Undead the edge if they ever get to AMLA their mages.
Shameless Crossover Excuse
Necromancer (campaign)

You are a Dwarvish Berserker: you're freaking crazy and enjoy it.
User avatar
Melon
Posts: 193
Joined: February 8th, 2008, 2:30 am
Location: Calgary

Re: Change the AMLA system

Post by Melon »

Orcish Shyde wrote:Requiring the addition of a unit is going to slow this project down, unless the Initiate already has attack and defend frames at least. Summoning a loyal L1 Mage/DA to skirt the issue would likely give Loyalists/Rebels/Undead the edge if they ever get to AMLA their mages.
It already has all the frames. I'm trying to avoid creating additional level 1s on the field, since it might cause a lot of trouble in multiplayer matches.
User avatar
Orcish Shyde
Posts: 303
Joined: October 13th, 2008, 6:13 pm

Re: Change the AMLA system

Post by Orcish Shyde »

...Oh. I retract my comment. I'm guessing the WML for the L0 units is done too.
Shameless Crossover Excuse
Necromancer (campaign)

You are a Dwarvish Berserker: you're freaking crazy and enjoy it.
User avatar
Melon
Posts: 193
Joined: February 8th, 2008, 2:30 am
Location: Calgary

Re: Change the AMLA system

Post by Melon »

Finished coding about half of the abilities I suggested. I've only ran a few basic tests so far, but everything seems to be in order (or at the very least not in a state of complete disorder). I'm still looking for a code that randomly selects two of the units AMLAs. After this is in place, I'll create an addon that replaces the current AMLA system with my own, which can then be used for testing purposes.
Attachments
amla.cfg
(39.12 KiB) Downloaded 249 times
User avatar
Melon
Posts: 193
Joined: February 8th, 2008, 2:30 am
Location: Calgary

Re: Change the AMLA system

Post by Melon »

I just finished creating a Test era based off of the new AMLA system. For the time being it will feature only Loyalists.

Known bugs that I haven't figured out how to fix yet:

-All of the "slayer" AMLAs apply themselves to all of the units weapons at once and override any of the previous weapon specials that they possess. Here's the code I'm using:

Code: Select all

# "Undead Hunter" improves the odds of successful attacks against undead
#define AMLA_UNDEAD_HUNTER IMAGE ATTACK
    [advancement]
        strict_amla=yes
        max_times=1
        id=undead_hunter_{IMAGE}_{ATTACK}
        description= "Undead Hunter: "{ATTACK}_ " recieves at least a 60% chance to hit when used against undead"
        image={IMAGE}
        [effect]
            apply_to=attack
            [filter_attack]
                name={ATTACK}
            [/filter_attack]
            [set_specials]
                {WEAPON_SPECIAL_UNDEAD_HUNTER}
            [/set_specials]
        [/effect]

        [effect]
            apply_to=hitpoints
            heal_full=yes
        [/effect]
        [effect]
            apply_to=status
            remove=poisoned
        [/effect]
        [effect]
            apply_to=status
            remove=slowed
        [/effect]
        [effect]
            apply_to=max_experience
            increase=50
        [/effect]
    [/advancement]
#enddef

#define WEAPON_SPECIAL_UNDEAD_HUNTER
    [chance_to_hit]
        id=undead_hunter
        name= _ "undead hunter"
        description= _ "Undead Hunter:
When used offensively, this attack always has at least a 60% chance to hit all undead targets."
        value=60
        cumulative=yes
        active_on=offense
        [filter_opponent]
            race=undead
        [/filter_opponent]
    [/chance_to_hit]
#enddef
and here's what the code looks like in the units cfg file (In this case the paladins):

Code: Select all

{AMLA_UNDEAD_HUNTER attacks/sword-holy.png sword}
-The unit summoning AMLAs refuse to function. Here's the code (WARNING: crashes Wesnoth):

Code: Select all

# "Call to Arms" spawns 2 peasants with the "loyal" trait next to the unit. The unit comes with a free peasant every time it is recalled
#define AMLA_CALL_TO_ARMS
    [advancement]
        strict_amla=yes
        max_times=1
        id=call_to_arms
        description= _ "Call to Arms: 2 loyal peasants appear and 1 additional peasant spawns upon every recall"
        image="misc/missing-image.png"
        [effect]
            apply_to=new_ability
            [abilities]
                {ABILITY_CALL_TO_ARMS}
                {ABILITY_RECRUIT_PEASANTS}
            [/abilities]
        [/effect]

        [effect]
            apply_to=hitpoints
            heal_full=yes
        [/effect]
        [effect]
            apply_to=status
            remove=poisoned
        [/effect]
        [effect]
            apply_to=status
            remove=slowed
        [/effect]
        [effect]
            apply_to=max_experience
            increase=50
        [/effect]
    [/advancement]
#enddef

#define ABILITY_RECRUIT_PEASANTS
    [dummy]
        id=recruit_peasants
        name= _ "recruit peasants"
        description=_ "Recruit Peasants:
Spawns 2 loyal peasants adjacent to a unit with this ability."
    [/dummy]

    [event]
        name=post_advance
        first_time_only=no
        [filter]
            ability=recruit_peasants
        [/filter]
        [unit]
            type=peasant
            x,y=$x1,$y1
            generate_name=yes
            random_traits=yes
            random_gender=yes
            upkeep=full
            [modifications]
                {TRAIT_LOYAL}
            [/modifications]
        [/unit]
        [object]
        silent=yes
        duration=forever
        [filter]
            x,y=$x1,$y1
        [/filter]
        [effect]
            apply_to=remove_ability
            [abilities]
                {ABILITY_RECRUIT_PEASANTS}
            [/abilities]
        [/effect]
        [/object]
    [/event]
[+abilities]
#enddef


#define ABILITY_CALL_TO_ARMS
    [dummy]
        id=call_to_arms
        name= _ "call to arms"
        description=_ "Call to Arms:
Spawns an additional peasant every time this unit is recalled."
    [/dummy]
    [event]
        name=recall
        [filter]
            ability=call_to_arms
        [/filter]
        {GENERIC_UNIT side_number Peasant $x1 $y1}
    [/event]
[+abilities]
#enddef
Aside from that, the AMLAs seem to be working rather well. Feel free to give the new system a try, I highly recommend setting the gold to at least 400 at start, +15/turn and +5 from towns. It's also useful to set the XP requirements to someting fairly low.
Attachments
AMLA Test.zip
(29.83 KiB) Downloaded 211 times
New AMLA.PNG
User avatar
Viliam
Translator
Posts: 1341
Joined: January 30th, 2004, 11:07 am
Location: Bratislava, Slovakia
Contact:

Re: Change the AMLA system

Post by Viliam »

It would be impressive to be offered 20+ different AMLA options... but it would take me forever to choose one. :hmm:

Maybe the game should not offer to player all available AMLA options, but only 3-5 randomly selected ones, and the player would have to pick 1 of them. This would add element of luck, but only at level comparable with randomly selecting traits. Also it could keep new players longer curious about yet not discovered AMLA options.
User avatar
Turuk
Sithslayer
Posts: 5283
Joined: February 28th, 2007, 8:58 pm
Contact:

Re: Change the AMLA system

Post by Turuk »

I believe that is Melon's current plan, and it's more a lack of having the proper code to achieve that result.

I like the way your AMLA system works when I tested it out. It's interesting to play with, it would certainly make a difference in the way players approached some campaigns.
Mainline Maintainer: AOI, DM, NR, TB and THoT.
UMC Maintainer: Forward They Cried, A Few Logs, A Few More Logs, Start of the War, and Battle Against Time
User avatar
Corvvs
Posts: 253
Joined: August 9th, 2008, 4:58 pm
Location: Washington, D.C.
Contact:

Re: Change the AMLA system

Post by Corvvs »

That looks neat... I think this will be fun. However, in the screenshot it shows an option to decrease movement costs in hills and mountains. Dragoons can't move in mountains IIRC. Just thought I should point that out.
"we alone truly exist, ... the shadows we traverse are but projections of our own desires..."

Orbivm ||| The Thread of Ill-Fated Portraits
User avatar
Melon
Posts: 193
Joined: February 8th, 2008, 2:30 am
Location: Calgary

Re: Change the AMLA system

Post by Melon »

Glad that you guys like it.
Tonights release features AMLAs for the drakes and a few changes to a few certain feats. I've added a few AMLAs that will increase defense for the races that already have a movement cost of 1 across their favored terrain. I've also changed the way the "slayer" AMLAs work. Now they will apply themselves to all of the units weapons at once (by design rather then a bug), but they will only give a hit rate of 50% rather then 60. The glitch where the new weapon special overrides the old one has been fixed.

I've got a day off tomorrow, so I'll try to get the rest of the races done.
Attachments
AMLA Test.zip
(42.56 KiB) Downloaded 215 times
User avatar
Thrawn
Moderator Emeritus
Posts: 2047
Joined: June 2nd, 2005, 11:37 am
Location: bridge of SSD Chimera

Re: Change the AMLA system

Post by Thrawn »

In terms of getting things to happen, melon is amazing ^_^

nice idea. You play DnD, don't you, just as a side-question
...please remember that "IT'S" ALWAYS MEANS "IT IS" and "ITS" IS WHAT YOU USE TO INDICATE POSSESSION BY "IT".--scott

this goes for they're/their/there as well
Post Reply