wesnoth/data/core/macros/items.cfg
newfrenchy83 3910817cf7
add a 'replacement_type' and 'alternative_type' attribute in [damage] special or ability who modify the type of attack used (#7865)
At the suggestion of @stevecotton, I propose a special 'replacement_type' and 'alternative_type' attribute capable of modifying the type of attack used when the conditions are met.

Also make Holy water combine arcane damage with native type of weapon

Like holy water imbued ordinary weapon, it's seem logic what arcane damage dominant what if more efficient what original type(water can't altered pierce or blading of spear or sword)
2023-10-25 08:10:52 -05:00

611 lines
16 KiB
INI
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#textdomain wesnoth
#
# Macros for items and objects
#
#define ITM_WISHINGWELL X Y
# Places a wishing well that allows a player to drop in a coin to make a wish.
# There is no effect of the wish other than losing 1 gold.
[item]
x={X}
y={Y}
image=scenery/well.png
[/item]
[event]
name=moveto
first_time_only=no
[filter]
x={X}
y={Y}
[/filter]
[message]
speaker=narrator
message= _ "You have come across a wishing well. What would you like to wish for?"
image=scenery/well.png
[option]
label= _ "A swift victory"
[command]
[gold]
amount=-1
side=1
[/gold]
[message]
speaker=unit
message= _ "With this golden coin, I wish that this battle end in a swift and safe victory."
[/message]
[/command]
[/option]
[option]
label= _ "Lots of gold"
[command]
[gold]
side=$side_number
amount=-1
[/gold]
[message]
speaker=unit
message= _ "I wish this single gold coin be returned ten-fold to me."
[/message]
[/command]
[/option]
[option]
label= _ "Peace throughout Wesnoth."
[command]
[gold]
side=$side_number
amount=-1
[/gold]
[message]
speaker=unit
message= _ "The only thing worth wishing for is peace throughout the land."
[/message]
[/command]
[/option]
[option]
label= _ "Dont make a wish."
[/option]
[/message]
[/event]
#enddef
#define PICKUPPABLE_ITEM ID X Y CAN_TAKE_FILTER_WML IMAGE TEXT TAKE_IT_STRING LEAVE_IT_STRING CANNOT_TAKE_TEXT OBJECT_WML
# This places an item on the map which can be picked up once, but allows the
# player to choose whether the unit stepping on it should take it or not.
# The "object" doesn't necessarily need to be an [object], any action works.
#
# An example which shows the:
# ! {PICKUPPABLE_ITEM ring_of_hp 8 12 race=human items/ring-red.png
# ! _"$unit.name finds a pretty ring. Should he pick it up?"
# ! _"ring of HP^Take it"
# ! _"ring of HP^Leave it"
# ! _"$unit.name finds a pretty ring. But only a human can take it!" (
# ! [object]
# ! name= _ "Ring of HP"
# ! image=items/ring-red.png
# ! description= _ "This ring grants the wearer +10 max hp!"
# !
# ! [effect]
# ! apply_to=hitpoints
# ! increase_total=10
# ! [/effect]
# ! [/object]
# ! )}
[item]
x,y={X},{Y}
image={IMAGE}
submerge=1
[/item]
[event]
name=moveto
first_time_only=no
[filter]
x,y={X},{Y}
[/filter]
[if]
[have_unit]
x,y={X},{Y}
{CAN_TAKE_FILTER_WML}
[/have_unit]
[variable]
name=item_{ID}_picked_up
not_equals=yes
[/variable]
[then]
[message]
speaker=narrator
message={TEXT}
image={IMAGE}
[option]
label={TAKE_IT_STRING}
[command]
{OBJECT_WML}
[remove_item]
x,y={X},{Y}
image={IMAGE}
[/remove_item]
[set_variable]
name=item_{ID}_picked_up
value=yes
[/set_variable]
[/command]
[/option]
[option]
label={LEAVE_IT_STRING}
[command]
[allow_undo]
[/allow_undo]
[/command]
[/option]
[/message]
[/then]
[else]
[if]
[variable]
name=item_{ID}_picked_up
not_equals=yes
[/variable]
[then]
[message]
speaker=narrator
message={CANNOT_TAKE_TEXT}
image={IMAGE}
side_for=$side_number
# the above is used to prevent an AI side from
# accidentally triggering this dialog
[/message]
[/then]
[/if]
[allow_undo]
[/allow_undo]
[/else]
[/if]
[/event]
[event]
name=victory
[clear_variable]
name=item_{ID}_picked_up
[/clear_variable]
[/event]
#enddef
#define OBJ_POTION_HEALING X Y ID
# Places a potion of healing that heals 10% of the unit's hitpoints. It can only be used once.
[item]
x={X}
y={Y}
image=items/potion-red.png
submerge=1
[/item]
[event]
name=moveto
first_time_only=no
[filter]
x={X}
y={Y}
[/filter]
[object]
id={ID}
name= _ "Potion of Healing"
image=items/potion-red.png
duration=scenario
description= _ "A feeling of well-being overwhelms the drinker."
cannot_use_message= _ "You are not worthy of healing."
[filter]
x={X}
y={Y}
[/filter]
[then]
[remove_item]
x,y={X},{Y}
[/remove_item]
[/then]
[effect]
apply_to=hitpoints
increase=10%
[/effect]
[/object]
[/event]
#enddef
#define OBJ_POTION_POISON X Y ID
# Places a poison potion that poisons the unit who uses it. It can only be used once.
[item]
x={X}
y={Y}
image=items/potion-yellow.png
submerge=1
[/item]
[event]
name=moveto
first_time_only=no
[filter]
x={X}
y={Y}
[/filter]
[object]
id={ID}
name= _ "Poison"
image=items/potion-yellow.png
duration=scenario
description= _ "Poison is seeping through the veins of this unit at this very moment."
[filter]
x={X}
y={Y}
[/filter]
[then]
[remove_item]
x,y={X},{Y}
[/remove_item]
[/then]
[effect]
apply_to=status
add=poisoned
[/effect]
[/object]
[/event]
#enddef
#define OBJ_POTION_HOLY_COMMON X Y ID ARCANE
# Places holy water that turns the unit's melee attacks into arcane attacks. It can only be used once.
{PICKUPPABLE_ITEM {ID} {X} {Y} (
side=1
[has_attack]
range=melee
[not]
type=arcane
[/not]
[/has_attack]
) items/holy-water.png
_"Sprinkling this water on melee weapons grants them the <i>arcane</i> damage type until the end of the current scenario. Should $unit.name use it?"
_"holy water^Take it"
_"holy water^Leave it"
_"$unit.name has no need for this Holy Water! Let another take it." (
[object]
name= _ "Holy Water"
image=items/holy-water.png
duration=scenario
description= _ "This water will make melee weapons have the <i>arcane</i> damage type until the end of the current scenario."
[effect]
apply_to=attack
range=melee
{ARCANE}
[/effect]
[/object]
[sound]
name={SOUND_LIST:HOLY}
[/sound]
)}
#enddef
#define OBJ_POTION_HOLY X Y ID
{OBJ_POTION_HOLY_COMMON {X} {Y} {ID} (set_type=arcane)}
#enddef
#define SET_WEAPON_ARCANE
[set_specials]
mode=append
{WEAPON_SPECIAL_ARCANE}
[/set_specials]
#enddef
#define OBJ_POTION_HOLY_ALT X Y ID
{OBJ_POTION_HOLY_COMMON {X} {Y} {ID} {SET_WEAPON_ARCANE}}
#enddef
#define OBJ_POTION_STRONG X Y ID
# Places a potion of strength that increases the unit's damage by 1 per strike on melee attacks. It can only be used once.
[item]
x={X}
y={Y}
image=items/potion-red.png
submerge=1
[/item]
[event]
name=moveto
first_time_only=no
[filter]
x={X}
y={Y}
[/filter]
[object]
id={ID}
name= _ "Potion of Strength"
image=items/potion-red.png
duration=scenario
description= _ "Strength is given to the drinker."
[filter]
x={X}
y={Y}
[/filter]
[then]
[remove_item]
x,y={X},{Y}
[/remove_item]
[/then]
[effect]
apply_to=attack
range=melee
increase_damage=1
[/effect]
[effect]
apply_to=hitpoints
increase_total=2
heal_full=yes
[/effect]
[/object]
[/event]
#enddef
#define OBJ_POTION_DECAY X Y ID
# Places a potion of decay that damages 10% of the unit's hitpoints. It can only be used once.
[item]
x={X}
y={Y}
image=items/potion-blue.png
submerge=1
[/item]
[event]
name=moveto
first_time_only=no
[filter]
x={X}
y={Y}
[/filter]
[object]
id={ID}
name= _ "Potion of Decay"
image=items/potion-blue.png
duration=scenario
description= _ "This poor unit drank something really bad."
[filter]
x={X}
y={Y}
[/filter]
[then]
[remove_item]
x,y={X},{Y}
[/remove_item]
[/then]
[effect]
apply_to=hitpoints
increase=-10%
[/effect]
[/object]
[/event]
#enddef
#define OBJ_RING_REGENERATION X Y ID
# Places a ring of regeneration that gives the unit a regenerates ability. It can only be used once.
[item]
x={X}
y={Y}
image=items/ring-red.png
submerge=1
[/item]
[event]
name=moveto
first_time_only=no
[filter]
x={X}
y={Y}
[/filter]
[object]
id={ID}
name= _ "Ring of Regeneration"
image=items/ring-red.png
duration=forever
description= _ "This ring will heal the bearer a little each turn."
[filter]
x={X}
y={Y}
[/filter]
[then]
[remove_item]
x,y={X},{Y}
[/remove_item]
[/then]
[effect]
apply_to=new_ability
[abilities]
{ABILITY_REGENERATES}
[/abilities]
[/effect]
[/object]
[/event]
#enddef
#define OBJ_RING_SLOW X Y ID
# Places a potion of slowness that slows the unit. It can only be used once.
[item]
x={X}
y={Y}
image=items/ring-brown.png
submerge=1
[/item]
[event]
name=moveto
first_time_only=no
[filter]
x={X}
y={Y}
[/filter]
[object]
id={ID}
name= _ "Ring of Slowness"
image=items/ring-brown.png
duration=forever
description= _ "The bearer of this ring is slowed."
[filter]
x={X}
y={Y}
[/filter]
[then]
[remove_item]
x,y={X},{Y}
[/remove_item]
[/then]
[effect]
apply_to=status
add=slowed
[/effect]
[/object]
[/event]
#enddef
#define OBJ_STAFF_SPEED X Y ID
# Places a staff of speed that adds 2 movement ponts to the unit. It can only be used once.
[item]
x={X}
y={Y}
image=items/staff.png
submerge=1
[/item]
[event]
name=moveto
first_time_only=no
[filter]
x={X}
y={Y}
[/filter]
[object]
id={ID}
name= _ "Staff of Swiftness"
image=items/staff.png
duration=forever
description= _ "This staff will grant the bearer swift movement."
cannot_use_message= _ "Only magical beings can wield such an object."
[filter]
x={X}
y={Y}
[/filter]
[then]
[remove_item]
x,y={X},{Y}
[/remove_item]
[/then]
[effect]
apply_to=movement
increase=2
[/effect]
[/object]
[/event]
#enddef
#wmllint: markcheck off
#define LIGHTNING_ANIMATION NAME_STRING DIRECTION_NUMBER
# Effect generating a new animation that throws lightning in a specified direction.
[effect]
apply_to=new_animation
id={NAME_STRING}_{DIRECTION_NUMBER}
[attack_anim]
[filter_attack]
name={NAME_STRING}
[/filter_attack]
{LIGHTNING_BOLT {DIRECTION_NUMBER}}
{SOUND:HIT_AND_MISS lightning.ogg lightning-miss.ogg -200}
[/attack_anim]
[/effect]
#enddef
#define OBJ_TRIDENT_STORM X Y ID
# Places a storm trident that grants merfolk a lightning attack. It can only be used once.
{PICKUPPABLE_ITEM {ID} {X} {Y} (
race=merman
[not]
[has_attack]
name="storm trident"
[/has_attack]
[/not]
) items/storm-trident.png
_"Should $unit.name pick up the trident?"
_"storm trident^Take it"
_"storm trident^Leave it"
_"$unit.name cannot use this Storm Trident! Let one of the merfolk who can wield it have it." (
[object]
name= _ "Storm Trident"
image=items/storm-trident.png
duration=forever
description= _ "This trident gives merfolk the power to throw lightning at their enemies."
[effect]
apply_to=new_attack
name="storm trident"
description= _ "storm trident"
icon=attacks/lightning.png
type=fire
range=ranged
[specials]
{WEAPON_SPECIAL_MAGICAL}
[/specials]
damage=14
number=2
[/effect]
{LIGHTNING_ANIMATION "storm trident" 1}
{LIGHTNING_ANIMATION "storm trident" 2}
{LIGHTNING_ANIMATION "storm trident" 3}
[/object]
)}
#enddef
#wmllint: markcheck on
#define SCEPTRE_OF_FIRE_EFFECT
# Adds the Sceptre of Fire as an additional attack to a unit
[effect]
apply_to=new_attack
name=sceptre of fire
description= _ "sceptre of fire"
icon=attacks/fireball.png
type=fire
range=ranged
[specials]
{WEAPON_SPECIAL_MAGICAL}
[/specials]
damage=15
number=4
[/effect]
[effect]
apply_to=new_animation
id="sceptre of fire"
[attack_anim]
[filter_attack]
name=sceptre of fire
[/filter_attack]
{MISSILE_FRAME_FIREBALL_XY 0 0}
start_time=-200
[frame]
sound=fire.wav
[/frame]
[/attack_anim]
[/effect]
#enddef