From 7b0ebf6c5b3e7c3c764469e5cb412b6c50f854e9 Mon Sep 17 00:00:00 2001 From: ln-zookeeper Date: Thu, 19 Jan 2017 15:28:13 +0200 Subject: [PATCH] DW: Assorted speaker and dialogue tweaks Most changes according to reports and fixes posted by Wesbane on the forums, but I've tweaked most of his code and added a few things. Most notable change is that I'm not accounting for the player's possible undead units, because I intend to remove the Undead Bat. --- .../Dead_Water/scenarios/02_Flight.cfg | 231 +++++++++++++----- .../Dead_Water/scenarios/03_Wolf_Coast.cfg | 10 +- .../Dead_Water/scenarios/04_Slavers.cfg | 4 +- .../Dead_Water/scenarios/05_Tirigaz.cfg | 30 ++- .../Dead_Water/scenarios/09_The_Mage.cfg | 10 +- .../scenarios/10_The_Flaming_Sword.cfg | 54 +++- .../Dead_Water/scenarios/12_Revenge.cfg | 49 +++- data/campaigns/Dead_Water/utils/items.cfg | 125 ++++++---- 8 files changed, 378 insertions(+), 135 deletions(-) diff --git a/data/campaigns/Dead_Water/scenarios/02_Flight.cfg b/data/campaigns/Dead_Water/scenarios/02_Flight.cfg index 4965cc020006..d2a57a4e60a4 100644 --- a/data/campaigns/Dead_Water/scenarios/02_Flight.cfg +++ b/data/campaigns/Dead_Water/scenarios/02_Flight.cfg @@ -457,29 +457,12 @@ _f, _f, _f, _f, _f, _f, _f [/unit] [if] - [variable] - name=$second_unit.id - not_equals=Gwabbo - [/variable] + [have_unit] + x,y=$x2,$y2 + id=Gwabbo + [/have_unit] + [then] - [message] - speaker=second_unit - message= _ "Look! There is a massive bat back here." - [/message] - [message] - speaker=Gwabbo - message= _ "Be courageous, and attack it anyway!" - [/message] - [message] - speaker=second_unit - message= _ "But it isn’t attacking me. Do you think, with its master gone, it might desire a new one?" - [/message] - [message] - speaker=Kai Krellis - message= _ "If it does not attack, we shall not kill it. Let us see if it follows us." - [/message] - [/then] - [else] [message] speaker=Kai Krellis message= _ "That is a mighty bat!" @@ -496,6 +479,53 @@ _f, _f, _f, _f, _f, _f, _f speaker=Kai Krellis message= _ "If it does not attack, do not kill it. Let us see if it follows us." [/message] + [/then] + + [else] + [if] + [have_unit] + x,y=$x2,$y2 + race=bats + [/have_unit] + + [then] + [message] + speaker=Kai Krellis + message= _ "That is a mighty bat!" + [/message] + [message] + speaker=second_unit + message= _ "Neep, neep!" + [/message] + [message] + speaker=Cylanna + message= _ "Hold a moment! Do you think, with its master gone, it might desire a new one?" + [/message] + [message] + speaker=Kai Krellis + message= _ "If it does not attack, do not kill it. Let us see if it follows us." + [/message] + [/then] + + [else] + [message] + speaker=second_unit + message= _ "Look! There is a massive bat back here." + [/message] + [message] + speaker=Gwabbo + message= _ "Be courageous, and attack it anyway!" + [/message] + [message] + speaker=second_unit + message= _ "But it isn’t attacking me. Do you think, with its master gone, it might desire a new one?" + [/message] + [message] + speaker=Kai Krellis + message= _ "If it does not attack, we shall not kill it. Let us see if it follows us." + [/message] + [/else] + [/if] [/else] [/if] @@ -554,38 +584,12 @@ _f, _f, _f, _f, _f, _f, _f [/unit] [if] - [variable] - name=$second_unit.id - not_equals=Kai Krellis - [/variable] + [have_unit] + x,y=$x2,$y2 + id=Kai Krellis + [/have_unit] + [then] - [message] - speaker=second_unit - message= _ "And look! There is a bat cowering in the corner here." - [/message] - [message] - speaker=Kai Krellis - message= _ "Well, kill it, and let’s keep moving." - [/message] - [message] - speaker=second_unit - message= _ "But look, it’s licking my hand." - [/message] - [message] - speaker=Friendly Bat - #po: This should just be "translated" to whatever noise a bat makes in your language. - message= _ "Neep?" - [/message] - [message] - speaker=second_unit - message= _ "It’s kind of cute." - [/message] - [message] - speaker=Kai Krellis - message= _ "Very well then. I suppose we have our own bat." - [/message] - [/then] - [else] [message] speaker=second_unit message= _ "Look! There is a bat cowering in the corner here." @@ -606,6 +610,70 @@ _f, _f, _f, _f, _f, _f, _f speaker=Cylanna message= _ "Apparently you have your own bat." [/message] + [/then] + + [else] + [if] + [have_unit] + x,y=$x2,$y2 + race=bats + [/have_unit] + + [then] + [message] + speaker=second_unit + message= _ "Neep, neep!" + [/message] + [message] + speaker=Kai Krellis + message= _ "Look! There is a bat." + [/message] + [message] + speaker=Cylanna + message= _ "Aren’t you going to kill it? We need to keep moving." + [/message] + [message] + speaker=Kai Krellis + message= _ "It’s kind of cute." + [/message] + [message] + speaker=Friendly Bat + message= _ "Neep?" + [/message] + [message] + speaker=Cylanna + message= _ "Apparently you have your own bat." + [/message] + [/then] + + [else] + [message] + speaker=second_unit + message= _ "And look! There is a bat cowering in the corner here." + [/message] + [message] + speaker=Kai Krellis + message= _ "Well, kill it, and let’s keep moving." + [/message] + [message] + speaker=second_unit + message= _ "But look, it’s licking my hand." + [/message] + [message] + speaker=Friendly Bat + #po: This should just be "translated" to whatever noise a bat makes in your language. + message= _ "Neep?" + [/message] + [message] + speaker=second_unit + message= _ "It’s kind of cute." + [/message] + [message] + speaker=Kai Krellis + message= _ "Very well then. I suppose we have our own bat." + [/message] + [/else] + [/if] [/else] [/if] @@ -658,10 +726,31 @@ _f, _f, _f, _f, _f, _f, _f {IS_LOYAL} [/unit] - [message] - speaker=second_unit - message= _ "Look! There is a bat in the corner here. It is moving, but it looks half dead." - [/message] + [if] + [have_unit] + x,y=$x2,$y2 + race=bats + [/have_unit] + + [then] + [message] + speaker=second_unit + message= _ "Neep, neep!" + [/message] + [message] + speaker=Kai Krellis + message= _ "Look! There is a bat. It is moving, but it looks half dead." + [/message] + [/then] + + [else] + [message] + speaker=second_unit + message= _ "Look! There is a bat in the corner here. It is moving, but it looks half dead." + [/message] + [/else] + [/if] + [if] [have_unit] id=Gwabbo @@ -694,10 +783,30 @@ _f, _f, _f, _f, _f, _f, _f x,y=$x1,$y1 image=misc/blank-hex.png~BLIT(items/chest-open.png~CROP(0,0,68,54),4,18) [/item] - [message] - speaker=second_unit - message= _ "He had a chest in his tent, too. It is filled with gold!" - [/message] + + [if] + [have_unit] + x,y=$x2,$y2 + race=bats + [/have_unit] + [then] + [message] + speaker=second_unit + message= _ "Neep, neep!" + [/message] + [message] + speaker=Kai Krellis + message= _ "He had a chest in his tent, too. It is filled with gold!" + [/message] + [/then] + [else] + [message] + speaker=second_unit + message= _ "He had a chest in his tent, too. It is filled with gold!" + [/message] + [/else] + [/if] + [sound] name=gold.ogg [/sound] diff --git a/data/campaigns/Dead_Water/scenarios/03_Wolf_Coast.cfg b/data/campaigns/Dead_Water/scenarios/03_Wolf_Coast.cfg index 424859816744..d1c7c1ad681e 100644 --- a/data/campaigns/Dead_Water/scenarios/03_Wolf_Coast.cfg +++ b/data/campaigns/Dead_Water/scenarios/03_Wolf_Coast.cfg @@ -239,12 +239,12 @@ [if] [variable] name=get_trident - not_equal=done + not_equals=done [/variable] [then] [message] - speaker=$unit.id + speaker=unit message= _ "Neep, neep!" [/message] @@ -283,7 +283,7 @@ [/filter] [message] - speaker=$unit.id + speaker=unit message= _ "There is something sticking out of the mud here. Ah! I got it." [/message] @@ -301,7 +301,7 @@ [/message] [message] - speaker=$unit.id + speaker=unit [option] label= _ "That sounds great! I’ll take it." [command] @@ -348,7 +348,7 @@ [/variable] [then] [message] - speaker=$unit.id + speaker=unit [option] label= _ "Let me have that trident. I want to control lightning!" [command] diff --git a/data/campaigns/Dead_Water/scenarios/04_Slavers.cfg b/data/campaigns/Dead_Water/scenarios/04_Slavers.cfg index 65aac44acf0f..015db659700f 100644 --- a/data/campaigns/Dead_Water/scenarios/04_Slavers.cfg +++ b/data/campaigns/Dead_Water/scenarios/04_Slavers.cfg @@ -580,7 +580,7 @@ [/variable] [then] [message] - speaker=$unit.id + speaker=unit message= _ "Neep!" [/message] [message] @@ -703,7 +703,7 @@ [/variable] [then] [message] - speaker=$unit.id + speaker=unit message= _ "Neep?" [/message] [message] diff --git a/data/campaigns/Dead_Water/scenarios/05_Tirigaz.cfg b/data/campaigns/Dead_Water/scenarios/05_Tirigaz.cfg index 701f690fc101..1452a9bd927e 100644 --- a/data/campaigns/Dead_Water/scenarios/05_Tirigaz.cfg +++ b/data/campaigns/Dead_Water/scenarios/05_Tirigaz.cfg @@ -702,10 +702,32 @@ y=$y1 image=items/chest.png [/item] - [message] - speaker=second_unit - message= _ "It seems that orc was rich! He has a chest here with over 100 pieces of gold!" - [/message] + + [if] + [have_unit] + x,y=$x2,$y2 + race=bats + [/have_unit] + + [then] + [message] + speaker=second_unit + message= _ "Neep, neep!" + [/message] + + [message] + speaker=Kai Krellis + message= _ "It seems that orc was rich! He has a chest here with over 100 pieces of gold!" + [/message] + [/then] + [else] + [message] + speaker=second_unit + message= _ "It seems that orc was rich! He has a chest here with over 100 pieces of gold!" + [/message] + [/else] + [/if] + [sound] name=gold.ogg [/sound] diff --git a/data/campaigns/Dead_Water/scenarios/09_The_Mage.cfg b/data/campaigns/Dead_Water/scenarios/09_The_Mage.cfg index 6fade768bd8a..b6b0c6c8928e 100644 --- a/data/campaigns/Dead_Water/scenarios/09_The_Mage.cfg +++ b/data/campaigns/Dead_Water/scenarios/09_The_Mage.cfg @@ -391,10 +391,10 @@ [/unit] [if] - [variable] - name=unit.id - equals=Keshan - [/variable] + [have_unit] + x,y=$x1,$y1 + id=Keshan,Inky + [/have_unit] [then] [message] speaker=Keshan @@ -417,7 +417,7 @@ [/variable] [then] [message] - speaker=$unit.id + speaker=unit message= _ "Neep, neep, neep!" [/message] [/then] diff --git a/data/campaigns/Dead_Water/scenarios/10_The_Flaming_Sword.cfg b/data/campaigns/Dead_Water/scenarios/10_The_Flaming_Sword.cfg index 458ffb0d458b..3efd0568d3f9 100644 --- a/data/campaigns/Dead_Water/scenarios/10_The_Flaming_Sword.cfg +++ b/data/campaigns/Dead_Water/scenarios/10_The_Flaming_Sword.cfg @@ -578,10 +578,10 @@ [/delay] [if] - [variable] - name=second_unit.id - equals=Kai Krellis - [/variable] + [have_unit] + x,y=$x2,$y2 + type_tree=Merman Child King,Cuttle Fish,Vampire Bat + [/have_unit] [then] {VARIABLE staff_tip_off Cylanna} [/then] @@ -590,10 +590,24 @@ [/else] [/if] - [message] - speaker=second_unit - message= _ "Now we have the sword!" - [/message] + [if] + [have_unit] + x,y=$x2,$y2 + type_tree=Cuttle Fish,Vampire Bat + [/have_unit] + [then] + [message] + speaker=Kai Krellis + message= _ "Now we have the sword!" + [/message] + [/then] + [else] + [message] + speaker=second_unit + message= _ "Now we have the sword!" + [/message] + [/else] + [/if] [message] speaker=Caladon @@ -913,9 +927,7 @@ [event] name=moveto - first_time_only=yes - [allow_undo][/allow_undo] [filter] x=$sword_x y=$sword_y @@ -927,6 +939,26 @@ speaker=unit message= _ "I am not going with you. One of your people should take the sword." [/message] + + [allow_undo][/allow_undo] + [/event] + + [event] + name=moveto + + [filter] + x=$sword_x + y=$sword_y + side=1 + race=monster,bats + [/filter] + + [message] + speaker=Kai Krellis + message= _ "This is not food. And it is definitely not a toy. Leave it." + [/message] + + [allow_undo][/allow_undo] [/event] # The first_time_only moveto causes the sword's attacks to be @@ -946,7 +978,7 @@ y=$sword_y side=1 [not] - race=human + race=human,bats,monster [/not] [/filter] diff --git a/data/campaigns/Dead_Water/scenarios/12_Revenge.cfg b/data/campaigns/Dead_Water/scenarios/12_Revenge.cfg index 789f0638fc57..8f019eefb272 100644 --- a/data/campaigns/Dead_Water/scenarios/12_Revenge.cfg +++ b/data/campaigns/Dead_Water/scenarios/12_Revenge.cfg @@ -782,6 +782,46 @@ [/endlevel] [/event] + [event] + name=moveto + + [filter] + x=14 + y=11 + side=1 + id=Inky + [/filter] + + [message] + speaker=Kai Krellis + message= _ "Inky has found something. Someone should check it out." + [/message] + + [allow_undo][/allow_undo] + [/event] + + [event] + name=moveto + + [filter] + x=14 + y=11 + side=1 + race=bats + [/filter] + + [message] + speaker=unit + message= _ "Neep, neep!" + [/message] + [message] + speaker=Kai Krellis + message= _ "Something must be there! Good bat! Someone should find out what it is." + [/message] + + [allow_undo][/allow_undo] + [/event] + # The first_time_only moveto event causes a necklace *image* to # show up on the hex, and causes the necklace to be explained. The # moved unit gets the option to take it. @@ -803,10 +843,13 @@ x=14 y=11 side=1 + [not] + race=bats,monster + [/not] [/filter] [message] - speaker=$unit.id + speaker=unit message= _ "This man was wearing a necklace with a pendant on it. I’m sure the shape means something." [/message] @@ -824,7 +867,7 @@ [/message] [message] - speaker=$unit.id + speaker=unit [option] label= _ "That sounds great! I’ll take it." [command] @@ -870,7 +913,7 @@ [/variable] [then] [message] - speaker=$unit.id + speaker=unit [option] label= _ "I would like my life force protected." [command] diff --git a/data/campaigns/Dead_Water/utils/items.cfg b/data/campaigns/Dead_Water/utils/items.cfg index 8c1269a87412..50e5e8412218 100644 --- a/data/campaigns/Dead_Water/utils/items.cfg +++ b/data/campaigns/Dead_Water/utils/items.cfg @@ -174,10 +174,10 @@ [/filter] [if] - [variable] - name=unit.id - contains=Bat - [/variable] + [have_unit] + x,y=$x1,$y1 + race=bats + [/have_unit] [then] [if] [variable] @@ -223,48 +223,71 @@ [else] [if] - [variable] - name=seen_ring_description - not_equals=yes - [/variable] + [have_unit] + x,y=$x1,$y1 + race=monster + [/have_unit] [then] - [message] - speaker=unit - message= _ "I’ll try on the ring." - [/message] + [if] + [variable] + name=seen_ring_description + not_equals=yes + [/variable] + [then] + [message] + speaker=Kai Krellis + message= _ "Leave it." + [/message] + [/then] + [/if] + [/then] - [message] - speaker=unit - message= _ "I feel different, and all my weapons are lighter!" - [/message] + [else] + [if] + [variable] + name=seen_ring_description + not_equals=yes + [/variable] + [then] + [message] + speaker=unit + message= _ "I’ll try on the ring." + [/message] + + [message] + speaker=unit + message= _ "I feel different, and all my weapons are lighter!" + [/message] + + [message] + speaker=narrator + message= _ "The ring of power increases the damage of all its owner’s attacks by one, and adds three hitpoints." + image=wesnoth-icon.png + [/message] + [set_variable] + name=seen_ring_description + value=yes + [/set_variable] + [/then] + [/if] [message] - speaker=narrator - message= _ "The ring of power increases the damage of all its owner’s attacks by one, and adds three hitpoints." - image=wesnoth-icon.png + speaker=unit + [option] + label= _ "I’ll take this ring, and you can rely on my strength." + [command] + [set_variable] + name=get_ring + value=yes + [/set_variable] + [/command] + [/option] + [option] + label= _ "This thing makes me dizzy. Someone else can have it." + [/option] [/message] - [set_variable] - name=seen_ring_description - value=yes - [/set_variable] - [/then] + [/else] [/if] - - [message] - speaker=unit - [option] - label= _ "I’ll take this ring, and you can rely on my strength." - [command] - [set_variable] - name=get_ring - value=yes - [/set_variable] - [/command] - [/option] - [option] - label= _ "This thing makes me dizzy. Someone else can have it." - [/option] - [/message] [/else] [/if] @@ -390,10 +413,24 @@ # Gives you half a second to see the ring before the message (possibly) covers it up. [/delay] - [message] - speaker=$second_unit.id - message= _ "The human wizard was wearing a ring! Maybe it is magic. Someone should try it on to see what it does." - [/message] + [if] + [have_unit] + x,y=$x2,$y2 + race=monster,bats + [/have_unit] + [then] + [message] + speaker=Kai Krellis + message= _ "The human wizard was wearing a ring! Maybe it is magic. Someone should try it on to see what it does." + [/message] + [/then] + [else] + [message] + speaker=second_unit + message= _ "The human wizard was wearing a ring! Maybe it is magic. Someone should try it on to see what it does." + [/message] + [/else] + [/if] [/then] [/if] #enddef