bugBattle for Wesnoth - Bugs: bug #10703, Expand statuses

 
 
Show feedback again

bug #10703: Expand statuses

Submitted by:  Joseph Simmons <turin>
Submitted on:  Mon 07 Jan 2008 02:45:49 AM UTC  
 
Category: Feature RequestSeverity: 3 - Normal
Priority: 5 - NormalItem Group: WML
Status: NonePrivacy: Public
Assigned to: NoneOpen/Closed: Open
Release: post 1.4Operating System: n/a

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Sat 19 Jan 2008 10:03:46 AM UTC, comment #1:

bug #10491 has been marked as duplicate.

Mark de Wever <mordante>
Project Member
Mon 07 Jan 2008 02:45:49 AM UTC, original submission:

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.

Joseph Simmons <turin>
Project Member

 

(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by mordante (Posted a comment)
  • -unavailable- added by turin (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    No Changes Have Been Made to This Item
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup