Pickpocket in reverse example code desired
Moderator: Forum Moderators
Forum rules
- Please use [code] BBCode tags in your posts for embedding WML snippets.
- To keep your code readable so that others can easily help you, make sure to indent it following our conventions.
Pickpocket in reverse example code desired
Every one has heard of WEAPON_SPECIAL_PICKPOCKET right? I was planning to code a weapon special like pickpocket except in reverse just for some fun. The attacked unit loses gold when attacked and the attacker gets gold from the unit. This would be used with rock creatures.It would be similar to how in mario games he can hit some blocks and can get coins,powerup etc.I could try to make it an ability or trait too.Here is the code which does not have the desired effect.Any help would be appreciated
Code: Select all
#define WEAPON_SPECIAL_SHED
# Canned definition of the pickpocket ability to be included in a
# [specials] clause.
# dummy weapon special used to describe the effect to the user
# and filter on special's id
[damage]
id=shed
name=shed
description=Shed :Loses money when attacked.
apply_to=unit
[/damage]
[/specials]
[/attack]
[event]
name=attack_end
first_time_only=no
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=unit_damaged_from_shed
mode=append
[/store_unit]
[set_variable]
name=unit_damaged_from_shed.variables.shed_has_worked
value=yes
[/set_variable]
[unstore_unit]
variable=unit_damaged_from_shed
[/unstore_unit]
{CLEAR_VARIABLE unit_damage_from_shed}
[/event]
[event]
name=attack_end
first_time_only=no
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=shedder
mode=append
[/store_unit]
[store_unit]
[filter]
x,y=$x2,$y2
[/filter]
variable=shedee
mode=append
[/store_unit]
[if]
[variable]
name=shedee.variables.shed_has_worked
equals=yes
[/variable]
[then]
[gold]
side=$2
amount=8
[/gold]
[unstore_unit]
variable=shedder
text=!
{COLOR_HARM}
[/unstore_unit]
[/then]
[/if]
{CLEAR_VARIABLE sheddee}
{CLEAR_VARIABLE shedder}
[/event]
[+attack]
[+specials]
#enddef
#define WEAPON_SPECIAL_SHED_2
# Canned definition of the pickpocket ability to be included in a
# [specials] clause.
# dummy weapon special used to describe the effect to the user
# and filter on special's id
[damage]
id=shed2
name=shed2
description=Shed :Loses money on when attacked.
apply_to=unit
[/damage]
[/specials]
[/attack]
[event]
name=attack_end
first_time_only=no
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=unit_damaged_from_shed
mode=append
[/store_unit]
[set_variable]
name=unit_damaged_from_shed.variables.shed_has_worked
value=yes
[/set_variable]
[unstore_unit]
variable=unit_damaged_from_shed
[/unstore_unit]
{CLEAR_VARIABLE unit_damage_from_shed}
[/event]
[event]
name=attack_end
first_time_only=no
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=shedder
mode=append
[/store_unit]
[store_unit]
[filter]
x,y=$x2,$y2
[/filter]
variable=shedee
mode=append
[/store_unit]
[if]
[variable]
name=shedee.variables.shed_has_worked
equals=yes
[/variable]
[then]
[gold]
side=$2
amount=16
[/gold]
[unstore_unit]
variable=shedder
text=!
{COLOR_HARM}
[/unstore_unit]
[/then]
[/if]
{CLEAR_VARIABLE sheddee}
{CLEAR_VARIABLE shedder}
[/event]
[+attack]
[+specials]
#enddef
#define WEAPON_SPECIAL_SHED_3
# Canned definition of the pickpocket ability to be included in a
# [specials] clause.
# dummy weapon special used to describe the effect to the user
# and filter on special's id
[damage]
id=shed3
name=shed3
description=Shed :Loses money when attacked.
apply_to=unit
[/damage]
[/specials]
[/attack]
[event]
name=attack_end
first_time_only=no
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=unit_damaged_from_shed
mode=append
[/store_unit]
[set_variable]
name=unit_damaged_from_shed.variables.shed_has_worked
value=yes
[/set_variable]
[unstore_unit]
variable=unit_damaged_from_shed
[/unstore_unit]
{CLEAR_VARIABLE unit_damage_from_shed}
[/event]
[event]
name=attack_end
first_time_only=no
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=shedder
mode=append
[/store_unit]
[store_unit]
[filter]
x,y=$x2,$y2
[/filter]
variable=shedee
mode=append
[/store_unit]
[if]
[variable]
name=shedee.variables.shed_has_worked
equals=yes
[/variable]
[then]
[gold]
side=$2
amount=24
[/gold]
[unstore_unit]
variable=shedder
text=!
{COLOR_HARM}
[/unstore_unit]
[/then]
[/if]
{CLEAR_VARIABLE sheddee}
{CLEAR_VARIABLE shedder}
[/event]
[+attack]
[+specials]
#enddef
#define WEAPON_SPECIAL_GOLDSHED
# Canned definition of the pickpocket ability to be included in a
# [specials] clause.
# dummy weapon special used to describe the effect to the user
# and filter on special's id
[damage]
id=goldshed
name=goldshed
description=goldshed :Loses money on hitting.
apply_to=self
[/damage]
[/specials]
[/attack]
[event]
name=defender_hits
first_time_only=no
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=unit_damage_from_goldshed
mode=append
[/store_unit]
[set_variable]
name=unit_damage_from_goldshed.variables.goldshed_has_worked
value=yes
[/set_variable]
[unstore_unit]
variable=unit_damage_from_goldshed
[/unstore_unit]
{CLEAR_VARIABLE unit_damage_from_goldshed}
[/event]
[event]
name=defender_hits
first_time_only=no
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=goldshedder
mode=append
[/store_unit]
[store_unit]
[filter]
x,y=$x2,$y2
[/filter]
variable=goldshedee
mode=append
[/store_unit]
[if]
[variable]
name=goldshedee.variables.goldshed_has_worked
equals=yes
[/variable]
[then]
[gold]
side=$side_number
amount=-16
[/gold]
[unstore_unit]
variable=goldshedder
text=!
{COLOR_HARM}
[/unstore_unit]
[/then]
[/if]
{CLEAR_VARIABLE goldsheddee}
{CLEAR_VARIABLE goldshedder}
[/event]
[event]
name=attack_end
first_time_only=no
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=unit_damaged_from_goldshed
mode=append
[/store_unit]
[set_variable]
name=unit_damaged_from_goldshed.variables.goldshed_has_worked
value=yes
[/set_variable]
[unstore_unit]
variable=unit_damaged_from_goldshed
[/unstore_unit]
{CLEAR_VARIABLE unit_damage_from_goldshed}
[/event]
[event]
name=attack_end
first_time_only=no
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=goldshedder
mode=append
[/store_unit]
[store_unit]
[filter]
x,y=$x2,$y2
[/filter]
variable=goldshedee
mode=append
[/store_unit]
[if]
[variable]
name=goldshedee.variables.goldshed_has_worked
equals=yes
[/variable]
[then]
[gold]
side=$side_number
amount=-16
[/gold]
[unstore_unit]
variable=goldshedder
text=!
{COLOR_HARM}
[/unstore_unit]
[/then]
[/if]
{CLEAR_VARIABLE goldsheddee}
{CLEAR_VARIABLE goldshedder}
[/event]
[+attack]
[+specials]
#enddef
Last edited by hart02 on May 14th, 2010, 10:03 pm, edited 1 time in total.
Smart persons learn out of their mistakes, wise persons learn out of others mistakes! It seems that a select few have a talent learning out of others mistakes which many politicians lack.
Author of Era Of Two Suns
Author of Era Of Two Suns
Re: Pickpocket in reverse example code desired
Well, I've never heard of Pickpocket....what era/faction/unit is it from?
F:tGJ, Saurian Campaign
The Southern Chains, a fanfic
“The difference between winners and champions is that champions are more consistent."
~Sierra
The Southern Chains, a fanfic
“The difference between winners and champions is that champions are more consistent."
~Sierra
Re: Pickpocket in reverse example code desired
something like it is in bob's rpg era.Scavenger i belive it is called. you also can find it the wiki here
http://wiki.wesnoth.org/WML_Abilities#Pickpocket
http://wiki.wesnoth.org/WML_Abilities#Pickpocket
Smart persons learn out of their mistakes, wise persons learn out of others mistakes! It seems that a select few have a talent learning out of others mistakes which many politicians lack.
Author of Era Of Two Suns
Author of Era Of Two Suns