Difference between revisions of "DroppableItem"

From The Battle for Wesnoth Wiki
 
(Droppable Item)
Line 13: Line 13:
 
IMAGE=the image of the object
 
IMAGE=the image of the object
  
  #define DROPPABLE_ITEM X Y XVAR YVAR NAME IMAGE
+
  #define DROPPABLE_ITEM X Y XVAR YVAR NAME IMAGE ADDITIONAL_FILTERS
 +
[label]
 +
x={X}
 +
y={Y}
 +
text="{NAME}"
 +
[/label]
 
  [event]
 
  [event]
 
  name=prestart
 
  name=prestart
Line 19: Line 24:
 
  {VARIABLE {XVAR} {X}}
 
  {VARIABLE {XVAR} {X}}
 
  {VARIABLE {YVAR} {Y}}
 
  {VARIABLE {YVAR} {Y}}
 
+
 
  [item]
 
  [item]
 
  x=${XVAR}
 
  x=${XVAR}
Line 25: Line 30:
 
  image={IMAGE}
 
  image={IMAGE}
 
  [/item]
 
  [/item]
 
+
 +
[event]
 +
name=die
 +
first_time_only=no
 +
[store_unit]
 +
[filter]
 +
x=$x1
 +
y=$y1
 +
[/filter]
 +
variable=itemstore
 +
[/store_unit]
 +
[if]
 +
[variable]
 +
name=itemstore.variables.{XVAR}
 +
equals=on
 +
[/variable]
 +
[then]
 +
{VARIABLE_OP {XVAR} to_variable x1}
 +
{VARIABLE_OP {YVAR} to_variable y1}
 +
[item]
 +
x=$x1
 +
y=$y1
 +
image={IMAGE}
 +
[/item]
 +
[/then]
 +
[/if]
 +
[/event]
 +
 
  [event]
 
  [event]
 
  name=moveto
 
  name=moveto
Line 32: Line 64:
 
  x=${XVAR}
 
  x=${XVAR}
 
  y=${YVAR}
 
  y=${YVAR}
 +
{ADDITIONAL_FILTERS}
 
  [/filter]
 
  [/filter]
 
[event]
 
name=die
 
first_time_only=no
 
[store_unit]
 
[filter]
 
x=$x1
 
y=$y1
 
[/filter]
 
variable=itemstore
 
[/store_unit]
 
[if]
 
[variable]
 
name=itemstore.variables.{XVAR}
 
equals=on
 
[/variable]
 
[then]
 
{VARIABLE_OP {XVAR} to_variable x1}
 
{VARIABLE_OP {YVAR} to_variable y1}
 
[item]
 
x=$x1
 
y=$y1
 
image={IMAGE}
 
[/item]
 
[/then]
 
[/if]
 
[/event]
 
 
 
 
 
 
  [removeitem]
 
  [removeitem]
Line 72: Line 78:
 
  [/filter]
 
  [/filter]
 
  [/store_unit]
 
  [/store_unit]
  {VARIABLE itemstore.variables.{XVAR} on}
+
{VARIABLE itemstore.variables.{XVAR} on}
 
  [unstore_unit]
 
  [unstore_unit]
 
  variable=itemstore
 
  variable=itemstore
 
  [/unstore_unit]
 
  [/unstore_unit]
 
 
 
 
  {VARIABLE {XVAR} 0}
+
  [unit_overlay]
  {VARIABLE {YVAR} 0}
+
x=${XVAR}
 +
  y=${YVAR}
 +
image={IMAGE}
 +
[/unit_overlay]
 
 
 
 
 
  [object]
 
  [object]
Line 84: Line 93:
 
  image={IMAGE}
 
  image={IMAGE}
 
  duration=forever
 
  duration=forever
 +
cannot_use_message="-cannot use message-"
 
  [filter]
 
  [filter]
 
  x=${XVAR}
 
  x=${XVAR}
Line 90: Line 100:
 
  #enddef
 
  #enddef
 
 
 
 
  #All this should be between the DROPPABLE_ITEM macro and /DROPPABLE_ITEM
+
  #All this should be between the usage of the DROPPABLE_ITEM macro and its /DROPPABLE_ITEM
 
  # description="-the description-"
 
  # description="-the description-"
# cannot_use_message="-cannot use message-"
 
 
  # [effect]
 
  # [effect]
 
  # blahblahblah=somethingorother
 
  # blahblahblah=somethingorother
 
  # [/effect]
 
  # [/effect]
 
+
  #define /DROPPABLE_ITEM
+
  #define /DROPPABLE_ITEM XVAR YVAR
 
  [/object]
 
  [/object]
 +
 +
{VARIABLE {XVAR} 0}
 +
{VARIABLE {YVAR} 0}
 
  [/event]
 
  [/event]
 
  [/event]
 
  [/event]
 
  #enddef
 
  #enddef
 
  
 
== See Also ==
 
== See Also ==
  
 
* [[UsefulWMLFragments]]
 
* [[UsefulWMLFragments]]
 

Revision as of 13:24, 22 August 2005

Droppable Item

X=the starting X-location for the object

Y=the starting Y-location for the object

XVAR=the variable to store the item's current X-location in

YVAR=the variable to store the item's current Y-location in

NAME=the name of the object

IMAGE=the image of the object

#define DROPPABLE_ITEM X Y XVAR YVAR NAME IMAGE ADDITIONAL_FILTERS
[label]
x={X}
y={Y}
text="{NAME}"
[/label]
[event]
name=prestart
	
	{VARIABLE {XVAR} {X}}
	{VARIABLE {YVAR} {Y}}

	[item]
	x=${XVAR}
	y=${YVAR}
	image={IMAGE}
	[/item]
		
	[event]
	name=die
	first_time_only=no
	[store_unit]
	[filter]
	x=$x1
	y=$y1
	[/filter]
	variable=itemstore
	[/store_unit]
	[if]
	[variable]
	name=itemstore.variables.{XVAR}
	equals=on
	[/variable]
		[then]
		{VARIABLE_OP {XVAR} to_variable x1}
		{VARIABLE_OP {YVAR} to_variable y1}
		[item]
		x=$x1
		y=$y1
		image={IMAGE}
		[/item]
		[/then]
	[/if]
	[/event]

	[event]
	name=moveto
	first_time_only=no
		[filter]
		x=${XVAR}
		y=${YVAR}
		{ADDITIONAL_FILTERS}
		[/filter]
		
		[removeitem]
		x=${XVAR}
		y=${YVAR}
		[/removeitem]
		[store_unit]
		variable=itemstore
		[filter]
		x=${XVAR}
		y=${YVAR}
		[/filter]
		[/store_unit]
		{VARIABLE itemstore.variables.{XVAR} on}
		[unstore_unit]
		variable=itemstore
		[/unstore_unit]
		
		[unit_overlay]
		x=${XVAR}
		y=${YVAR}
		image={IMAGE}
		[/unit_overlay]
		
		[object]
		name={NAME}
		image={IMAGE}
		duration=forever
		cannot_use_message="-cannot use message-"
			[filter]
			x=${XVAR}
			y=${YVAR}
			[/filter]
#enddef
		
#All this should be between the usage of the DROPPABLE_ITEM macro and its /DROPPABLE_ITEM
#		description="-the description-"
#			[effect]
#			blahblahblah=somethingorother
#			[/effect]

#define /DROPPABLE_ITEM XVAR YVAR
		[/object]
		
		{VARIABLE {XVAR} 0}
		{VARIABLE {YVAR} 0}
	[/event]
[/event]
#enddef

See Also