Leader Magic Mod v1.1.3(SP/MP Modification for 1.12/1.13)

Discussion of all aspects of multiplayer development: unit balancing, map development, server development, and so forth.

Moderator: Forum Moderators

User avatar
Xara
Posts: 270
Joined: December 26th, 2014, 12:23 am
Location: Beijing

Leader Magic Mod v1.1.3(SP/MP Modification for 1.12/1.13)

Post by Xara »

This thread is for the feedback and discussion of the SP/MP Modification Leader Magic Mod.

Current Version
v1.1.3 on Wesnoth 1.12/1.13 server

Backgrounds

So I just returned from a 2 year Wesbreak, and had a look at my older add-ons. I was a bit disappointed at what my Unity Magic Mod turned out to be. From my limited observation on server and from my own experience, the mod mainly become a cheap cheating program. People just turn on "Bless of Eloh++" and WC2 nightmare is as easy as a vanilla lieutenant, and that's the only thing they (or at least myself) do. In reflection, I think one major problem was that I needlessly limit players to stick to one magic for the entire scenario. The design makes a lot of utility spell useless in front of better choices, so there aren't much depth. And the weight of such an early decision can push people out of comfort zone. To fix the problem, I reworked the add-on, made it into this new mod, where a player can always access dozens of spells instead.

Features
  1. 80+ usable magics with a wide range of effects, accessible through a menu item.
  2. The strength of the spells are balanced by a mana system to control the cooldowns.
  3. Usable in SP campaigns( in Wesnoth 1.13), MP matchups and MP survival maps.

Screenshot
Image

Changelogs
Spoiler:


Feedback Questions:
  1. Version of Wesnoth, version of the mod?
  2. Found any bug?
  3. In what map/campaign did you use the mod?
  4. What spells did you use?
  5. Which spells do you like? Which spells do you dislike? Why?
  6. Which spells have wrong cooldowns?
  7. What size of a spell pool would be nice?
  8. Thoughts on balance?
  9. Spell Ideas?
  10. Random comments?
Last edited by Xara on January 23rd, 2018, 2:14 pm, edited 7 times in total.
It pronounces Sha'ha, not Zara.

Feedback Thread of my Add-ons
User avatar
Elder2
Posts: 405
Joined: July 11th, 2015, 2:13 pm

Re: Leader Magic Mod(for 1.12)

Post by Elder2 »

Well I don't remember seeing a WC with umagic.

But its true that many abilities are useless, depending on map top tier is: selected champion, enlightenment, bless of endurance and greedyman. Bless of eloh is occasionally used.
User avatar
Ravana
Forum Moderator
Posts: 3002
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Leader Magic Mod(for 1.12)

Post by Ravana »

For my scenario I added extra multiplier to enemy strength if umagic is enabled. Since that only affects lategame difficulty, use of umagic makes early game easier, but ending usually harder.
User avatar
Xara
Posts: 270
Joined: December 26th, 2014, 12:23 am
Location: Beijing

Re: Leader Magic Mod(for 1.12)

Post by Xara »

ElderofZion wrote:Well I don't remember seeing a WC with umagic.

But its true that many abilities are useless, depending on map top tier is: selected champion, enlightenment, bless of endurance and greedyman. Bless of eloh is occasionally used.
I use the umagic mod to play 1p WC2 myself. When I observe on the server, it's usually survival maps. Always Bless of Eloh++ though.

Many of those useless effects were put in there just because I was trying to see what I could do with WML. But I imagined people could use them occasionally, for example choosing Greedyman's Trick Enlightenment is basically equal to using the "Free XP Mod" add-on. But that's just not how people use the mod.

Ravana wrote:For my scenario I added extra multiplier to enemy strength if umagic is enabled. Since that only affects lategame difficulty, use of umagic makes early game easier, but ending usually harder.
I also thought of adding an anti Rav_xp_mod mechanism in the 2p Planewalker Campaign for once. Just ended up being lazy. :D

But to be fair, it's not worthy. Most of the unity magic effect are minor (when compared to xp mod and orocia buffs). The strongest effect is merely +2 MP, +2 damage, +9 HP. It's strong in "standard Wesnoth power level" like in mainline campaigns, but in Orocia it's almost nothing. I was worrying about how the defense/resistances buffs could be abused in such cases, so I didn't put in many such effects. It has no chance of break your scenario.
Last edited by Xara on January 7th, 2018, 12:51 am, edited 1 time in total.
It pronounces Sha'ha, not Zara.

Feedback Thread of my Add-ons
User avatar
Elder2
Posts: 405
Joined: July 11th, 2015, 2:13 pm

Re: Leader Magic Mod v1.0.4(SP/MP Modification for 1.12/1.13

Post by Elder2 »

Greedyman is crazy on all casual maps.

Even for maps like orocia sometimes considered op
User avatar
Xara
Posts: 270
Joined: December 26th, 2014, 12:23 am
Location: Beijing

Re: Leader Magic Mod v1.0.4(SP/MP Modification for 1.12/1.13

Post by Xara »

ElderofZion wrote:Greedyman is crazy on all casual maps.

Even for maps like orocia sometimes considered op
That escaped my thoughts. Didn't play test enough because it's an uninteresting effect, but it indeed can be a map breaker.
It pronounces Sha'ha, not Zara.

Feedback Thread of my Add-ons
User avatar
ForestDragon
Posts: 1771
Joined: March 6th, 2014, 1:32 pm
Location: Ukraine

Re: Leader Magic Mod v1.1.0(SP/MP Modification for 1.12/1.13

Post by ForestDragon »

Great mod! far better than the unity magic mod in my opinion (since unlike umagic, it actually involves strategic decisions, and gives players incentive for using weaker spells). as for feedback:
-spell idea: summoning spell, summon a random lvl1 unit out the units recruitable in mainline. costs 3 or 4 mana (whichever you think is better)
-spell idea: slow all units in a 1-hex radius around the caster
-it would be nice if there were damaging spells to harm a selected unit in a <insert radius value> radius of the caster. this can be easily done with [set_menu_item] with [show_if]
-idea: you could put "image=" into [option]s, and adds icons to the spell (using icons/units images/halos, etc.) this'll certainly require a lot of work, but should make the interface looks quite nice.
My active add-ons: The Great Steppe Era,XP Bank,Alliances Mod,Pestilence,GSE+EoMa,Ogre Crusaders,Battle Royale,EoMaifier,Steppeifier,Hardcoreifier
My inactive add-ons (1.12): Tale of Alan, The Golden Age
Co-creator of Era of Magic
User avatar
ForestDragon
Posts: 1771
Joined: March 6th, 2014, 1:32 pm
Location: Ukraine

Re: Leader Magic Mod v1.1.0(SP/MP Modification for 1.12/1.13

Post by ForestDragon »

more feedback:
-the current mod description says little about the mod. I suggest replacing the current "Allow the leader of each side to use a set of spells." description with something like "Successor to the 'Unity Magic' mod. Instead of players selecting a spell or passive buff at the start of the match, they are able to cast any spell out of the list during their turn. The spells use a mana system, which also serves as a cooldown."
-I think spells like Mass Darkness/Mass Teleport should cost an amount of mana proportionate to the amount of units affected (maybe 3 mana +1 mana per unit affected for Mass Darkness/Mass Illumination/Mass Teleport)
-spell idea: resist death: while this spell is active, the caster's units are immune to death (are reborn with some hp during last breath events) for 1 turn. feel free to choose the radius/mana cost/hp value of reborn units. you can use the following code with [if]/[then] applied to it

Code: Select all

    [event]
        name=last breath
        first_time_only=no
                    [store_unit]
                        [filter]
			     x,y=$x1,$y1
                        [/filter]
                        variable=reborn
                        kill=no
                    [/store_unit]
                    [store_unit]
                        [filter]
			     x,y=$x2,$y2
                        [/filter]
                        variable=expsub
                        kill=no
                    [/store_unit]
                    [set_variable]
                        name=expsub_value
                        value=$unit.level
                    [/set_variable]
                    [set_variable]
                        name=expsub_value
                        multiply=8
                    [/set_variable]
                    [set_variable]
                        name=second_unit.experience
                        sub=$expsub_value
                    [/set_variable]
                     {VARIABLE reborn.hitpoints 0}
        [unstore_unit]
            variable=reborn
            find_vacant=no
        [/unstore_unit]
        [unstore_unit]
            variable=second_unit
            find_vacant=no
        [/unstore_unit]
	[heal_unit]
		[filter]
                    x,y=$x1,$y1
		[/filter]
		amount=10
		animate=yes
		restore_statuses=yes
	[/heal_unit]
    [/event]
EDIT: oh, and btw, the kamikaze falcon' kamikaze attack is used on defense without the falcon dying. I suggest putting "defense_weight=0.0" in the attack
My active add-ons: The Great Steppe Era,XP Bank,Alliances Mod,Pestilence,GSE+EoMa,Ogre Crusaders,Battle Royale,EoMaifier,Steppeifier,Hardcoreifier
My inactive add-ons (1.12): Tale of Alan, The Golden Age
Co-creator of Era of Magic
User avatar
Xara
Posts: 270
Joined: December 26th, 2014, 12:23 am
Location: Beijing

Re: Leader Magic Mod v1.1.0(SP/MP Modification for 1.12/1.13

Post by Xara »

ForestDragon wrote:Great mod! far better than the unity magic mod in my opinion (since unlike umagic, it actually involves strategic decisions, and gives players incentive for using weaker spells). as for feedback:
-spell idea: summoning spell, summon a random lvl1 unit out the units recruitable in mainline. costs 3 or 4 mana (whichever you think is better)
-spell idea: slow all units in a 1-hex radius around the caster
-it would be nice if there were damaging spells to harm a selected unit in a <insert radius value> radius of the caster. this can be easily done with [set_menu_item] with [show_if]
-idea: you could put "image=" into [option]s, and adds icons to the spell (using icons/units images/halos, etc.) this'll certainly require a lot of work, but should make the interface looks quite nice.
Thanks for the feedbacks. I think all the suggestions can work.

-I think the cost of random summon spell don't matter. The way I imagine people would use the summon spells in a campaign is to create a [loyal][epic] unit at the end of a scenario. The battle would have been decided so there is no need for other spells. In such cases the summon costs make no differences. But it's safer to put the cost at 4/5, to discourage spamming on survival maps or dimaga beach.

-The slow spell can easily work as an option for the Energy Blast 2 counterpart of Energy Blast 3 - twisting forcefield. But I probably should just make the poison nova/twisting forcefields spells on their own.

-I think the spell to damage a selected unit would be better handled by a message than by a right click item. It should be easy to create a message where each option is a target unit in range, but I need to add the cancel option for such spells that offer choices.

-I can make icons for the spell groups. That would be nice effect for minimal effort. I don't think it's worth making icons for every individual spells though. It would be hard to find accurate core images at least.
It pronounces Sha'ha, not Zara.

Feedback Thread of my Add-ons
User avatar
ForestDragon
Posts: 1771
Joined: March 6th, 2014, 1:32 pm
Location: Ukraine

Re: Leader Magic Mod v1.1.0(SP/MP Modification for 1.12/1.13

Post by ForestDragon »

Xara wrote:-I can make icons for the spell groups. That would be nice effect for minimal effort. I don't think it's worth making icons for every individual spells though. It would be hard to find accurate core images at least.
understandable. anyway, more spell ideas:
-vampiric blessing: the caster's units receive drain on their melee attacks, but lose 15% of their max hp for the scenario. isn't applied to units who already have drains on their melee (bats,ghosts,liches,etc.)
-(not entirely sure what to call it): teleport all units in a 1 tile radius to random hexes.
-shroud: apply shroud to a selected side.
-(not entirely sure what to call it): reduces enemy chance to hit against the caster side's units for 1 turn to 20%. can be done with the following code, just replace the placeholder words:

Code: Select all

{FORCE_CHANCE_TO_HIT side=1-9 side=side_criteria 20 (
         [variable]
             name=criteria
#             insert side criteria
         [/variable]
     )}
Last edited by ForestDragon on January 7th, 2018, 6:42 pm, edited 1 time in total.
My active add-ons: The Great Steppe Era,XP Bank,Alliances Mod,Pestilence,GSE+EoMa,Ogre Crusaders,Battle Royale,EoMaifier,Steppeifier,Hardcoreifier
My inactive add-ons (1.12): Tale of Alan, The Golden Age
Co-creator of Era of Magic
User avatar
Ravana
Forum Moderator
Posts: 3002
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Leader Magic Mod v1.1.0(SP/MP Modification for 1.12/1.13

Post by Ravana »

Ensure you are not creating EoHS clone.
User avatar
Xara
Posts: 270
Joined: December 26th, 2014, 12:23 am
Location: Beijing

Re: Leader Magic Mod v1.1.0(SP/MP Modification for 1.12/1.13

Post by Xara »

Reply to ForestDragon:

-For the cunning spells like Mass Darkness/Mass Teleports, I think players should not be punished for optimizing value out of them. I playetested in a few mainline campaigns in 1.13, and I found myself little reason to use the spell. It's already weak in comparison with other spells. (Maybe strong on their own, but the overall power level of the add-on may be tuned down by adding the options of mana_per_turn=1 and disallowing overloading mana.)

-resist death: Seal of Phoenix(cast to a selected unit in radius 1, reborn for 50% on death)

-kamikaze falcon: would now die on defense hit

-vampiric blessing: I think drain(0.5) is too strong when there is risk of combination with other buffs. maybe something like drain(0.2~0.3) would work.

-FORCE_CHANCE_TO_HIT spell: nice idea, I was worried about defense buff would add up with other add-ons' effects. But this can be a good workaround.
Ravana wrote:Ensure you are not creating EoHS clone.
Thanks for the warning.

I tried some EoHS in the day of 1.12.1. I think it had some performance issues back then, and I was overwhelmed by the complexity it introduced, so I didn't get into it. But I always liked the concept of it. Now that you talked about it, I downloaded the Era again and was amazed by the the stuffs it achieved (coding-wise). A lot of those effects there I can never code.

In the end, I would still enjoy myself if what I created is merely my version of the EoHS. I have no problem with my 2p Planewalker Campaign even if it's just an Ageless Version of 2p campaign battle system, because it allows me to add my ideas and my contents upon an already well-established design. But I do think my vision of what my mod should be like is already different enough, so it should be safe.

I think the major difference is that my mod is more lite. The code size is only 20k in comparison against EoHS being 370k. It's not an era, and joiner-download should not be required. The rules are also much simpler in my add-on, my magic rule is as short as "gain 2 mana per turn; can use any magic as long as mana>=0", while in EoHS there are AP/mana/skill points/talents/recruits and things interwine. The description of spells in EoHS can be as long as 100+ words, and to spend the initial skill points at the start of a game, one has to choose 11 spells, among so many potential combinations. Players essentially need to read a thousand words, calculate dozens of combos and still worry about the more optimized configurations that they might have missed, and this probably happened with the pressure of having other players waiting for his actions. The complexity is just overwhelming. In comparison, the player experience that I aim to provide is more friendly I'd say. I don't want to replace standard Wesnoth gameplay, but instead add a perturbation. Most of my spells are straightforward, descriptions are 5 to 20 words, and I'm not making things holistic.

I didn't think much about how my add-on should define itself against EoHS. It's a good topic. The Era is also a nice inspiration. I shall see what I can take from it.
It pronounces Sha'ha, not Zara.

Feedback Thread of my Add-ons
User avatar
Ravana
Forum Moderator
Posts: 3002
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Leader Magic Mod v1.1.0(SP/MP Modification for 1.12/1.13

Post by Ravana »

I will disable FORCE_CHANCE_TO_HIT in orocia if that is added. I will not have players have actual reason to complain about rng.
User avatar
ForestDragon
Posts: 1771
Joined: March 6th, 2014, 1:32 pm
Location: Ukraine

Re: Leader Magic Mod v1.1.0(SP/MP Modification for 1.12/1.13

Post by ForestDragon »

Xara wrote:-For the cunning spells like Mass Darkness/Mass Teleports, I think players should not be punished for optimizing value out of them. I playetested in a few mainline campaigns in 1.13, and I found myself little reason to use the spell. It's already weak in comparison with other spells. (Maybe strong on their own, but the overall power level of the add-on may be tuned down by adding the options of mana_per_turn=1 and disallowing overloading mana.)
ok.
Xara wrote:-vampiric blessing: I think drain(0.5) is too strong when there is risk of combination with other buffs. maybe something like drain(0.2~0.3) would work.
fair enough. btw, I think whisper/chant of eclipse should be changed to only affect enemies, but wear off after about 3 turns (the other alignment chants are generally buffs if used during the right moment, but chant of eclipse is better classified as a debuff spell). also more spell ideas:
-defensive stance (or something like that): the caster's units in a 3 tile radius receive +20% resistance to all types of damage (+10% if they have the steadfast ability), but suffer a damage reduction of 20%. the effects lasts about 2 turns
-(not fully sure what to call it): reduce an enemy's mana per turn rate to 1 (0 if the mana_per_turn=1 is turned off) for 3 turns. costs maybe 4 mana
My active add-ons: The Great Steppe Era,XP Bank,Alliances Mod,Pestilence,GSE+EoMa,Ogre Crusaders,Battle Royale,EoMaifier,Steppeifier,Hardcoreifier
My inactive add-ons (1.12): Tale of Alan, The Golden Age
Co-creator of Era of Magic
User avatar
ForestDragon
Posts: 1771
Joined: March 6th, 2014, 1:32 pm
Location: Ukraine

Re: Leader Magic Mod v1.1.0(SP/MP Modification for 1.12/1.13

Post by ForestDragon »

more spell ideas/feedback/code contribution to the add-on:
-summoning spell: clone: summon a unit of the same type as the leader. there can only be 1 clone of a given side leader at a time. mana cost depends on the leader's level
-summoning spell: spawn undead: spawn 4 units next to the caster which have random types out of the following: Skeleton, Skeleton Archer, Ghoul and Soulless. cost: 11 mana. (basically, summon spells that summon multiple units at once would be nice)
-enchanting spell: (not fully sure what to call it): apply the following ability to the caster's units in a 1-tile radius: explosion: deal an amount of fire damage (using [harm_unit]) to all adjacent enemies upon death. amount is proportionate to level:
lvl0: 5 damage
lvl1 and above: 9 damage multiplied by the dying unit's level
-enchantment spell: (not fully sure what to call it): gives all caster's units in a 3-tile radius the magical special on all attacks for 1 turn.
-maybe Alchemy 2 should have a minimum gold amount of 21, but max amount of 82? (this should make it's results less wildly varying. it would be really disappointing to spend 12 mana, and get less gold than the normal alchemy spell's minimum would give)
-I think the summon soulless spell should either have it's cost slightly increased, or the type changed to walking corpse
-it would be nice if there were more summon spells similar to kamikaze falcon (edited versions of mainline units)
-made a new kamikaze animation for kamikaze falcon. hopefully it will be useful to you (oh, and the victory animation's purpose is to make sure the falcon baseframe isn't shown after the attack):

Code: Select all

					[attack_anim]
						[filter_attack]
							name=xmm_kamikaze_attack
						[/filter_attack]
                                                hits=yes
                                                [explosion_frame]
                                                     image="misc/blank-hex.png:1"
                                                [/explosion_frame]
                                                [explosion_frame]
                                                     halo="projectiles/fireball-impact-[1~16].png:60"
                                                     offset=1.0
                                                     auto_vflip=no
						     sound=explosion.ogg
                                                [/explosion_frame]
						start_time=-575
						explosion_start_time=-275
						[frame]
						  alpha=1:250,1~0:100,0
						  offset=0~0.6:300,0.6
						  sound={SOUND_LIST:GRYPHON_DIE}
						[/frame]
					[/attack_anim]
					[victory_anim]
						[filter_attack]
							name=xmm_kamikaze_attack
						[/filter_attack]
						[frame]
						    image=misc/blank-hex.png:1
						[/frame]
					[/victory_anim]
-if would be a good idea to put the giant scorpling summon option inside the following (so it only shows on the versions with the scorpling. though I'm unsure if the version in this bit of code is actually the one where giant scorpling was added, though):

Code: Select all

#ifver WESNOTH_VERSION >= 1.13.8

#endif
-I noticed that after kamikaze falcon killed units, they remained on the battlefield with negative hitpoints. here's an edited version of the kamikaze event with the bugfix:

Code: Select all

		[event]		#event for kamikaze falcon
			name=attacker hits
			first_time_only=no
			id=xmm_kamikaze_event
			[filter_attack]
				name=xmm_kamikaze_attack
			[/filter_attack]
			[kill]
				x,y=$x1,$y1
				fire_event=yes
				animate=no
			[/kill]
		[store_unit]
			[filter]
				id=$second_unit.id
			[/filter]
			variable=kamikaze_target
			kill=no
		[/store_unit]

		[if]
			[variable]
				name=kamikaze_target.hitpoints
				less_than=1
			[/variable]
			[then]
				[kill]
					id=$second_unit.id
                                        animate=yes
					fire_event=yes
					[second_unit]
					   side=$side_number
					   canrecruit=yes
					[/second_unit]
					[primary_attack]
					   type=fire
					[/primary_attack]
				[/kill]     
			[/then]
		[/if]
		{CLEAR_VARIABLE kamikaze_target}
		[/event]
My active add-ons: The Great Steppe Era,XP Bank,Alliances Mod,Pestilence,GSE+EoMa,Ogre Crusaders,Battle Royale,EoMaifier,Steppeifier,Hardcoreifier
My inactive add-ons (1.12): Tale of Alan, The Golden Age
Co-creator of Era of Magic
Post Reply