DroppableItem

From The Battle for Wesnoth Wiki
Revision as of 13:24, 22 August 2005 by Elvish Pillager (talk | contribs) (Droppable Item)

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