URL:
<http://gna.org/bugs/?10703>
Summary: Expand statuses
Project: Battle for Wesnoth
Submitted by: turin
Submitted on: Monday 01/07/2008 at 02:45
Category: Feature Request
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: WML
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: post 1.4
Operating System: n/a
_______________________________________________________
Details:
Right now there are, by my count, three possible unit statuses, which can be
combined into eight possible variations - stoned on/off, poison on/off,
slowed on/off. All of these are hardwired into the game and are completely
unmodifiable using the WML - for example, the code for the "poisons" weapon
special, which inflicts the "poisoned" status, is:
#define WEAPON_SPECIAL_POISON
# Canned definition of the Poison ability to be included in a
# [specials] clause.
[poison]
id=poison
name= _ "poison"
description= _ "Poison:
This attack poisons living targets. Poisoned units lose 8 HP every turn until
they are cured or are reduced to 1 HP. Poison can not, of itself, kill a
unit."
[/poison]
#enddef
It would be much more useful if statuses were more malleable. I imagine it
would work something like this:
[inflict] #the poisons weapons special
id=poison
name= _ "poison"
status=poisoned #which references a predefined status, poisoned
description= _ "Poison:
This attack poisons living targets. Poisoned units lose 8 HP every turn until
they are cured or are reduced to 1 HP. Poison can not, of itself, kill a
unit."
[/inflict]
[status] #the poisoned status, which would be found elsewhere in the
code
id=poisoned #how it is referenced outside the game
name= _ "poisoned" #
duration=level #when the status wears off - can always be removed by
other
events such as curing, of course
description= _ "Poisoned units lose 8 HP every turn until they are
cured or
are reduced to 1 HP. Poison can not, of itself, kill a unit." #appears in a
tooltip
image=misc/poisoned.png #determines the small icon that appears in the
sidebar
[effect]
apply_to=hitpoints #deals damage
add=-8 #eight, exactly
minimum=1 #but can't kill you
frequency=turn #takes effect every turn - could take effect every
time
the unit moved, or every time it attacked, or even every time it was
selected. >)
[/effect]
[effect]
apply_to=rgb #to get that lovely green shade
shift=*work color-manipulating voodoo* #it should be possible using
RColor or whatever it's called to make a sprite entirely green
[/effect]
[/status]
I used a few attributes in that [effect] tag that aren't currently available
- but that [effect] tag should have the capability to do anything else an
[effect] tag can normally do. Slows, then, would be defined by saying
[effect] apply_to=attacks multiply=.5 [/effect].
This probably won't be easy, but it's something that has been desired for a
long time and I didn't see a feature request for it, so I'm submitting one
now. I don't particularly expect it to be done any time soon.
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?10703>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs