Mainline: Make plague work on villages
Moderator: Forum Moderators
Forum rules
Before posting a new idea, you must read the following:
Before posting a new idea, you must read the following:
Re: Mainline: Make plague work on villages
Not really “anyone”. When I saw that happen the first time I thought “oh, they knew someone would attempt to remote-steal a village like this when they designed this thing”.Insinuator wrote:Anyone who played this game for the first time and spammed WCs at the opponent, gleefully Plaguing away, would be disappointed and confused when they find it not working when they get to a village.

(By the way, don’t double-post. If you use quotes properly, we can tell who you are replying to in every part of your post.)
Author of the unofficial UtBS sequels Invasion from the Unknown and After the Storm.
- beetlenaut
- Developer
- Posts: 2867
- Joined: December 8th, 2007, 3:21 am
- Location: Washington State
- Contact:
Re: Mainline: Make plague work on villages
You're completely missing the point. Currently, the game is balanced. No faction has a clear advantage over another. The balance includes having some units with skirmish to make up for other weaknesses in their faction, and limits on plague to keep the undead faction from being too powerful. Adding a small tactical advantage to a balanced system could unbalance it. That's the detriment Noy was talking about. You haven't given us a good enough reason to risk that.Insinuator wrote:And why would it act to its detriment? At the very worst, as Reepur pointed out above, you would get a level 0 unit around ZofC. Remember, a skirmishing unit can do that too, and most of them are level one or above. Why are there no complaints about them?
Campaigns: Dead Water,
The Founding of Borstep,
Secrets of the Ancients,
and WML Guide
The Founding of Borstep,
Secrets of the Ancients,
and WML Guide
Re: Mainline: Make plague work on villages
Fair enough. Unfortunately, the majority of the Wesnoth community seems to think plague works reasonably and sensibly the way it is, so you're not convincing anyone from a gameplay approach, either. The description of plague says it doesn't work on units in villages, so I don't think anyone should be confused or disappointed by that. As someone pointed out earlier, it's entirely possible to do this using WML, so if you really want to zombify units on villages while playing campaigns, you can modify your game to do so. However, you're not likely to sell something that would change multiplayer balance based solely on your expectations of how the ability ought to work.Insinuator wrote:That was in response to someone else's realism argument. I believe that the current system is unrealistic, but that really isn't important, and I understand that. That's why it is not one of my main points. But putting forward a silly realism argument to counter a gameplay issue just bugs me.Caphriel wrote:And then you proceeded to reject all similar lore explanations for why plague has the exception it does
As a bit of anecdotal evidence, I watched a game today in which a player did spam walking corpses, and killed several units on villages with them. In at least two instances he had no other unit in range to grab the village, and in one instance that I recall chose to attack with a dark adept rather than claim the village. Since both players were paying upkeep, that would have been a swing of at least 6 gold each time. In one of the cases, the defending player had a surviving unit adjacent to the village and was able to hold it instead of losing it. The Undead play eventually won anyway, but plaguing units on villages would have significantly accelerated his win.
Right now, the primary objections to this change, as I recall the discussion are:
- You're the only person who thinks it's broken and needs fixing
- It would probably negatively impact multiplayer balance
- It would break existing UMC that relies on plague's current behavior
-
- Posts: 707
- Joined: January 6th, 2004, 10:42 pm
- Location: Wichita, KS
Re: Mainline: Make plague work on villages
Well, I see that I can't convince with just words, so I'm going to make a "Village-Plaguing" unit and do a bunch of scenarios to see how it affects gameplay. I'll compare them with an identical number of "control" scenarios where Plague is used as is.
EDIT: I'm trying to do this inside the unit_type tag. Might have to switch to scenario tag, would be easier.
Unfortunately for me, it's been 5 years since I've written any WML. I'm trying to figure out how to define an event that knows when the defending unit dies. As a side note, I think I can keep all the graphic renditions as they are if I just copy the Walking Corpse unit from mainline and add in my event. Right?StDrake wrote:And if you want plagueing villages - it's a matter of an event firing off when a unit is killed by a plague attack and creating a new unit inside this event. Might want to limit the event only to villages so you don't break where plague works normally. Of course there's still the issue with handling what variation to use, unless you want to go lazy and just stick to the default 'human' ones.

EDIT: I'm trying to do this inside the unit_type tag. Might have to switch to scenario tag, would be easier.
Re: Mainline: Make plague work on villages
The WC is absolutely impossible to understand. You will WANT to put it in your _main.cfg in the end, trust me on that one.Insinuator wrote:Unfortunately for me, it's been 5 years since I've written any WML. I'm trying to figure out how to define an event that knows when the defending unit dies. As a side note, I think I can keep all the graphic renditions as they are if I just copy the Walking Corpse unit from mainline and add in my event. Right?![]()
EDIT: I'm trying to do this inside the unit_type tag. Might have to switch to scenario tag, would be easier.

Code: Select all
[event]
name=die
[filter_second]
type=Walking Corpse,Soulless
[/filter_second]
[filter]
[filter_location]
terrain=*V*
[/filter_location]
[/filter]
[kill]
x,y=$x1,$y1
[/kill]
[unit]
type=Walking Corpse # you might want to do something fancy
x,y=$x1,$y1 # with variations, but I wouldn't recommend it
[/unit]
[/event]
"What do you mean, "a dwarvish dragonguard with marksman is overpowered"?"
Story of a Drake Outcast | The Nonsense Era
Played HttT-Underground Channels? Thought it was rubbish? Help us develop it here!
Story of a Drake Outcast | The Nonsense Era
Played HttT-Underground Channels? Thought it was rubbish? Help us develop it here!
Re: Mainline: Make plague work on villages
You'll also have to make a multiplayer era and provide replays of good players playing that, probably, because some of the objections are on multiplayer balance grounds.Insinuator wrote:Well, I see that I can't convince with just words, so I'm going to make a "Village-Plaguing" unit and do a bunch of scenarios to see how it affects gameplay. I'll compare them with an identical number of "control" scenarios where Plague is used as is.
-
- Posts: 707
- Joined: January 6th, 2004, 10:42 pm
- Location: Wichita, KS
Re: Mainline: Make plague work on villages
I'm using a code very similar to Reepur's but I keep running across the problem of turning all units to side=1. Is there a command to store a side number at the beginning of the turn? From reading the wiki, I'm sure there is but I can't quite find it.
EDIT: Got it. Now I'm having trouble with the variations. I know I can do it with the standard WC, but I think the variations affect gameplay because the different WC iterations actually have different movetypes and defenses.
EDIT: Got it. Now I'm having trouble with the variations. I know I can do it with the standard WC, but I think the variations affect gameplay because the different WC iterations actually have different movetypes and defenses.
Last edited by Insinuator on March 15th, 2011, 6:45 pm, edited 1 time in total.
Re: Mainline: Make plague work on villages
Oh yeah, forgot that. TryInsinuator wrote:I'm using a code very similar to Reepur's but I keep running across the problem of turning all units to side=1. Is there a command to store a side number at the beginning of the turn? From reading the wiki, I'm sure there is but I can't quite find it.
side=second_unit.side
in the [unit] tag."What do you mean, "a dwarvish dragonguard with marksman is overpowered"?"
Story of a Drake Outcast | The Nonsense Era
Played HttT-Underground Channels? Thought it was rubbish? Help us develop it here!
Story of a Drake Outcast | The Nonsense Era
Played HttT-Underground Channels? Thought it was rubbish? Help us develop it here!
-
- Posts: 707
- Joined: January 6th, 2004, 10:42 pm
- Location: Wichita, KS
Re: Mainline: Make plague work on villages
Actually, I used side=$side_number. Here's what I have so far. I put it all under a scenario tag because I couldn't figure out how to do one for a custom unit. You'll notice I haven't figured the variations out.
Code: Select all
# Event to make Walking Corpses spawn on villages
[event]
name=die
first_time_only=no
[filter]
[filter_location]
terrain=*^V*
[/filter_location]
[/filter]
[filter_second]
special={WEAPON_SPECIAL_PLAGUE}
[/filter_second]
[kill]
x,y=$x1,$y1
[/kill]
[unit]
type=Walking Corpse
side=$side_number
x,y=$x1,$y1
moves=0
[/unit]
[/event]
Re: Mainline: Make plague work on villages
You'll observe I made some minor changes.Insinuator wrote:Actually, I used side=$side_number. Here's what I have so far. I put it all under a scenario tag because I couldn't figure out how to do one for a custom unit. You'll notice I haven't figured the variations out.
Code: Select all
# Event to make Walking Corpses spawn on villages [event] name=die first_time_only=no [filter] [filter_location] terrain=*^V* [/filter_location] [/filter] [filter_second_attack] special={WEAPON_SPECIAL_PLAGUE} [/filter_second_attack] [kill] x,y=$x1,$y1 [/kill] [unit] type=Walking Corpse side=$second_unit.side # this MUST happen in case a unit on a village attacks a WC and dies x,y=$x1,$y1 # because otherwise the suicidal unit would be replaced with moves=0 # a WC on their side! attacks_left=0 # don't actually know if this works, but it would be nice [/unit] [/event]
"What do you mean, "a dwarvish dragonguard with marksman is overpowered"?"
Story of a Drake Outcast | The Nonsense Era
Played HttT-Underground Channels? Thought it was rubbish? Help us develop it here!
Story of a Drake Outcast | The Nonsense Era
Played HttT-Underground Channels? Thought it was rubbish? Help us develop it here!
-
- Posts: 707
- Joined: January 6th, 2004, 10:42 pm
- Location: Wichita, KS
Re: Mainline: Make plague work on villages
Here's my latest work. You'll notice I'm trying to fit variable Walking Corpse units in, but it's proving to be a headache.
@Reepur: I did see what you were talking about, but it didn't change when I input your code. I think that's because the Plagued unit has already been killed and his data is lost. So I did a workaround in the filter. This also accomplishes not being able to Plague Undead on villages, which I just realized I could before. I haven't yet seen any WML that allows me to strip attacks from a freshly minted WC, so that is on my to do list.
Code: Select all
[event]
name=die
first_time_only=no
[set_variable]
name=PlaguedGuy
[/set_variable]
[filter]
[filter_location]
terrain=*^V*
[/filter_location]
[not]
race=undead # This removes the possibility of accidentally creating WCs via defensive retaliation
[/not]
[/filter]
[filter_second]
special={WEAPON_SPECIAL_PLAGUE}
[/filter_second]
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=PlaguedGuy
[/store_unit]
[kill]
x,y=$x1,$y1
[/kill]
[unit]
type=Walking Corpse
variation=$PlaguedGuy
side=$side_number
x,y=$x1,$y1
moves=0
[/unit]
[/event]
-
- Posts: 1549
- Joined: June 18th, 2009, 1:45 am
Re: Mainline: Make plague work on villages
Edited code with proper indentation. The variation thing is still not right, ask zookeeper about it.
Code: Select all
[event]
name=die
first_time_only=no
[filter]
[filter_location]
terrain="*^V*"
[/filter_location]
[not]
race=undead
[/not]
[/filter]
[filter_second]
special=plague
[/filter_second]
[kill]
x,y=$x1,$y1
[/kill]
[unit]
type=Walking Corpse
variation=$unit.race # Not the best, but works for most races for now
side=$second_unit.side
x,y=$x1,$y1
moves=0
attacks_left=0
[/unit]
[/event]
Last edited by monochromatic on March 15th, 2011, 10:59 pm, edited 1 time in total.
-
- Posts: 707
- Joined: January 6th, 2004, 10:42 pm
- Location: Wichita, KS
Re: Mainline: Make plague work on villages
What is this part for? And what exactly does "The variation thing is still not right" mean?elvish_sovereign wrote:Code: Select all
[{CLEAR_VARIABLE plague_unit_store}
-
- Posts: 1549
- Joined: June 18th, 2009, 1:45 am
Re: Mainline: Make plague work on villages
Ah, was using that as the variable and then forgot I could use unit and second_unit. I'll edit it out.Insinuator wrote:What is this part for? And what exactly does "The variation thing is still not right" mean?elvish_sovereign wrote:Code: Select all
[{CLEAR_VARIABLE plague_unit_store}
In order for variation to work properly, you will need to store the unit_type of the unit.type, specifically unit_type.variation. For my knowledge it's not possible in WML, so I asked you to ask zookeeper if there is a way. Otherwise I'm pretty sure it can be done quite simply in Lua but I'm just too lazy to figure out how right now.
-
- Posts: 707
- Joined: January 6th, 2004, 10:42 pm
- Location: Wichita, KS
Re: Mainline: Make plague work on villages
Ok, I understand now.
ZOOKEEPER! HEED MY CALL! I CALL UPON THY LIMITLESS KNOWLEDGE AND WISDOM! I BEG THY INDULGENCE FOR MY PETTY VARIABLE PROBLEMS! HEAR ME ZOOKEEPER! IS THERE A WAY?!
ZOOKEEPER! HEED MY CALL! I CALL UPON THY LIMITLESS KNOWLEDGE AND WISDOM! I BEG THY INDULGENCE FOR MY PETTY VARIABLE PROBLEMS! HEAR ME ZOOKEEPER! IS THERE A WAY?!
Last edited by Gambit on March 15th, 2011, 11:53 pm, edited 2 times in total.
Reason: Screaming is unnecessary, and against the posting guidelines.
Reason: Screaming is unnecessary, and against the posting guidelines.