Brotherhood of Light - Multiplayer RPG Scenario

Discussion of all aspects of multiplayer development: unit balancing, map development, server development, and so forth.

Moderator: Forum Moderators

Post Reply
Dark_Archer
Posts: 3
Joined: May 21st, 2009, 9:11 am

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.6)

Post by Dark_Archer »

I'm using 1.6.2 Wesnoth with 0.5.6 BOL.

Sorry, I saved over the turn when the cloning began, and when I load up my latest save, it doesn't make new clones anymore. The two clones that appeared are still there though. Would you still like to see that?

It might have just been a fluke, but if it happens again, I'll be sure to send it.

Thanks for the help.
User avatar
zookeeper
WML Wizard
Posts: 9742
Joined: September 11th, 2004, 10:40 pm
Location: Finland

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.6)

Post by zookeeper »

Dark_Archer wrote:I'm using 1.6.2 Wesnoth with 0.5.6 BOL.

Sorry, I saved over the turn when the cloning began, and when I load up my latest save, it doesn't make new clones anymore. The two clones that appeared are still there though. Would you still like to see that?
Sure, it might still give some kind of a clue as to what causes it.
Dark_Archer
Posts: 3
Joined: May 21st, 2009, 9:11 am

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.6)

Post by Dark_Archer »

Here's my latest save. Thanks for looking into this.
Attachments
Joshua_and_Castro.gz
(284.12 KiB) Downloaded 276 times
User avatar
zookeeper
WML Wizard
Posts: 9742
Joined: September 11th, 2004, 10:40 pm
Location: Finland

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.6)

Post by zookeeper »

New version on the 1.6 add-on server:

Code: Select all

    Version 0.5.7

    - Fixed being able to pick up the same tulip again and again.
    - Gave the Eklin Amulet a new unique and powerful effect.
    - Various aesthetic updates to the map.
As for Dark_Archer's player cloning issue above, I never really found out the cause, so I'm not sure if it'd still happen with this version. It might be fixed by some little cleanups I've made, but I don't know for sure.
daniel.santos
Posts: 54
Joined: May 22nd, 2008, 2:45 am

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.6)

Post by daniel.santos »

I believe I have 0.5.7, the _info.cfg says 0.5.7, but the summary in _main.cfg (on line 275) still says "0.5.6" and the last entry in the Readme.txt also says 0.5.6. Anyway, I'm having the problem with being able to repeatedly pick up the tulip still. Also, here's a few others.

On line 2412 of _main.cfg, change:
message= _ "Let me see, there only one spell here I do not know. I will memorise it quickly."
to
message= _ "Let me see, there is only one spell here I do not know. I will memorise it quickly."

Finally, I have at times used the level 2 Battle Magic spell "Enchant" in combination with another spell (I think it was the level 3 poison spell) and after that round, my melee damage was still doubled. When I use Enchant again later, it doubles again (making it 4x) but after this, it reduces back to normal. I'll try to isolate the cause better and write back on it.

Edit 1: Also, when I re-visited the well after obtaining a bucket, I no event was triggered =(
Edit 2: When you get the potions of mana from the King at Castle Lydos, the potion icons do not disappear.
Edit 3: I copied my Brotherhood Of Light directory and then updated from the server again and, indeed, it changed since then, so I'll check out the newer "0.5.7" version (should have been called 0.5.7a or 0.5.8) =(
Edit 4: Might I recommend giving more experience for allowing Gogfrey to kill Dillon than 10xp? Reason being that the penalty for killing him yourself is -5xp and you get about 30xp for killing him yourself, which more than offsets the cost of breaking the code. Also, I haven't played out the scenario of letting him have the kill so I don't know if there are some benefits later that outweigh it (like if he became your permanent ally, that would certainly offset the difference).
Edit 5: OK, so the actual experience is 24xp for killing Dillon. The current reward is 13xp, however, because Godfrey only requires 13 xp to level, he will always level if he gets the kill, giving you an additional 10xp in leadership points, leaving the total xp you receive 23 (still a loss of one). So I still say bump the reward to 24xp and let the bonus be the extra 10xp in leadership points. It would also be nice if he could remain your unit for the battle for King Lyodus, but fixing the experience would certainly be more important IMHO.
Edit 6: If you are in control of Max when you defeat the orc warlord for King Lyodus then Max is the one that does the dialog with you (minor bug).
daniel.santos
Posts: 54
Joined: May 22nd, 2008, 2:45 am

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.7)

Post by daniel.santos »

  • Slight streamlining (remove some redundency that doesn't need to be there)
  • Fix the swamp_water movement
  • Proposed tweaks to travel skills (have Forester bring swamp_water MP cost to two and Swimming bring reef MPs to one)

Code: Select all

diff -ru Brotherhood_of_Light.orig/_main.cfg data/campaigns/Brotherhood_of_Light/_main.cfg
--- Brotherhood_of_Light.orig/_main.cfg 2009-08-01 00:05:34.000000000 -0500
+++ data/campaigns/Brotherhood_of_Light/_main.cfg       2009-08-01 02:25:54.000000000 -0500
@@ -5124,15 +5124,15 @@
             y=42
             side=1,2,3,4
         [/filter]
+        [message]
+            speaker=narrator
+            message= _ "The leafless tree is adorned with numerous etchings. There seems to be ancient symbols scratched into the bark."
+            image=wesnoth-icon.png
+        [/message]
         [if]
             {BOL_CONDITION angus equals complete}
             [then]
                 [message]
-                    speaker=narrator
-                    message= _ "The leafless tree is adorned with numerous etchings. There seems to be ancient symbols scratched into the bark."
-                    image=wesnoth-icon.png
-                [/message]
-                [message]
                     speaker=unit
                     message= _ "It must be the same Paulos wrote of. Maybe there is some magic attached to it."
                 [/message]
@@ -5153,11 +5153,6 @@
             {BOL_CONDITION angus equals no}
             [then]
                 [message]
-                    speaker=narrator
-                    message= _ "The leafless tree is adorned with numerous etchings. There seems to be ancient symbols scratched into the bark."
-                    image=wesnoth-icon.png
-                [/message]
-                [message]
                     speaker=unit
                     message= _ "I don't know what this means, and I daren't meddle."
                 [/message]
diff -ru Brotherhood_of_Light.orig/macros/character_generation.cfg data/campaigns/Brotherhood_of_Light/macros/character_generation.cfg
--- Brotherhood_of_Light.orig/macros/character_generation.cfg   2009-08-01 00:05:34.000000000 -0500
+++ data/campaigns/Brotherhood_of_Light/macros/character_generation.cfg 2009-08-04 01:37:32.000000000 -0500
@@ -224,11 +224,11 @@
                 message= _ "Select a skill for your character"
                 [option]
                     message= _ "@*Swimming
-`(crossing shallow water and swamp takes 1 movement point)"
+`(crossing shallow water, reef and swamp takes 1 movement point)"
                     [command]
                         {VARIABLE unit.variables.perks[$new_perk_index].id swimming}
                         {VARIABLE unit.variables.perks[$new_perk_index].name _"Swimming"}
-                        {VARIABLE unit.variables.perks[$new_perk_index].description _"(crossing shallow water and swamp takes 1 movement point)"}
+                        {VARIABLE unit.variables.perks[$new_perk_index].description _"(crossing shallow water, reef and swamp takes 1 movement point)"}
                         [unstore_unit]
                             variable=unit
                         [/unstore_unit]
@@ -242,8 +242,9 @@
                             [effect]
                                 apply_to=movement_costs
                                 [movement_costs]
+                                    reef=-1
                                     shallow_water=-2
-                                    swamp=-2
+                                    swamp_water=-2
                                 [/movement_costs]
                             [/effect]
                         [/object]
@@ -280,11 +281,11 @@

                 [option]
                     message= _ "@*Woodsmanship
-`(crossing forests takes 1 movement point)"
+`(crossing forests takes 1 movement point and swamp 2 movement points)"
                     [command]
                         {VARIABLE unit.variables.perks[$new_perk_index].id woodsmanship}
                         {VARIABLE unit.variables.perks[$new_perk_index].name _"Woodsmanship"}
-                        {VARIABLE unit.variables.perks[$new_perk_index].description _"(crossing forests takes 1 movement point)"}
+                        {VARIABLE unit.variables.perks[$new_perk_index].description _"(crossing forests takes 1 movement point and swamp 2 movement points)"}
                         [unstore_unit]
                             variable=unit
                         [/unstore_unit]
@@ -299,6 +300,7 @@
                                 apply_to=movement_costs
                                 [movement_costs]
                                     forest=-1
+                                    swamp_water=-1
                                 [/movement_costs]
                             [/effect]
                         [/object]
daniel.santos
Posts: 54
Joined: May 22nd, 2008, 2:45 am

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.7)

Post by daniel.santos »

Have Bless spell show current/max HP when prompted to select the character to heal.

Code: Select all

--- Brotherhood_of_Light.orig/macros/spells.cfg 2009-08-01 00:05:34.000000000 -0500
+++ data/campaigns/Brotherhood_of_Light/macros/spells.cfg       2009-08-04 01:49:59.000000000 -0500
@@ -91,7 +91,7 @@
                                         mode=append

                                         [value]
-                                            message={MENU_IMG_TXT "$potential_blessable.image~TC($side_i|,magenta)" "@$potential_blessable.name"}
+                                            message={MENU_IMG_TXT "$potential_blessable.image~TC($side_i|,magenta)" "@$potential_blessable.name ($potential_blessable.hitpoints/$potential_blessable.max_hitpoints)"}
                                             [command]
                                                 {VARIABLE bless_target $side_i}
                                             [/command]
Also, I'm presuming that you are supposed to be able to bless the current unit.
daniel.santos
Posts: 54
Joined: May 22nd, 2008, 2:45 am

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.7)

Post by daniel.santos »

Ok, and lastly, here's a patch that does the same thing for the nexus spell, and also filters the results so you only see other characters without full mana (clean up as you see fit, I'm still a WML newbie)

Code: Select all

--- Brotherhood_of_Light.orig/macros/spells.cfg 2009-08-01 00:05:34.000000000 -0500
+++ data/campaigns/Brotherhood_of_Light/macros/spells.cfg       2009-08-04 03:30:09.000000000 -0500
@@ -1248,64 +1248,59 @@
                 mana_cost=11
 
                 [cast_actions]
-                    {CLEAR_VARIABLE nexus_target}
+                    {CLEAR_VARIABLE nexus_target,nexus_options}
+
+                    {VARIABLE side_i 1}
+
+                    [while]
+                        [variable]
+                            name=side_i
+                            less_than=5
+                        [/variable]
+
+                        [do]
+                            [store_unit]
+                                [filter]
+                                    side=$side_i
+                                    canrecruit=yes
+                                [/filter]
+
+                                kill=no
+                                variable=cur_unit
+                            [/store_unit]
+
+                            [if]
+                                {BOL_CONDITION cur_unit.side not_equals $side_number}
+                                {BOL_CONDITION cur_unit.variables.mana less_than $cur_unit.variables.mana_max}
+                                [then]
+                                    [set_variables]
+                                        name=nexus_options
+                                        mode=append
+
+                                        [value]
+                                            message={MENU_IMG_TXT "$cur_unit.image~TC($side_i|,magenta)" "@$cur_unit.name ($cur_unit.variables.mana/$cur_unit.variables.mana_max)"}
+                                            [command]
+                                                {VARIABLE nexus_target $side_i}
+                                            [/command]
+                                        [/value]
+                                    [/set_variables]
+                                [/then]
+                            [/if]
+
+                            {VARIABLE_OP side_i add 1}
+                        [/do]
+                    [/while]
+                    {CLEAR_VARIABLE cur_unit}
 
                     [message]
                         speaker=narrator
                         message= _ "With which Brother shall you form a nexus?"
                         image=wesnoth-icon.png
 
-                        [option]
-                            message= _ "@$name1"
-                            [show_if]
-                                {BOL_CONDITION side_number numerical_not_equals 1}
-                                [have_unit]
-                                    side,canrecruit=1,yes
-                                [/have_unit]
-                            [/show_if]
-                            [command]
-                                {VARIABLE nexus_target 1}
-                            [/command]
-                        [/option]
-
-                        [option]
-                            message= _ "@$name2"
-                            [show_if]
-                                {BOL_CONDITION side_number numerical_not_equals 2}
-                                [have_unit]
-                                    side,canrecruit=2,yes
-                                [/have_unit]
-                            [/show_if]
-                            [command]
-                                {VARIABLE nexus_target 2}
-                            [/command]
-                        [/option]
-
-                        [option]
-                            message= _ "@$name3"
-                            [show_if]
-                                {BOL_CONDITION side_number numerical_not_equals 3}
-                                [have_unit]
-                                    side,canrecruit=3,yes
-                                [/have_unit]
-                            [/show_if]
-                            [command]
-                                {VARIABLE nexus_target 3}
-                            [/command]
-                        [/option]
-
-                        [option]
-                            message= _ "@$name4"
-                            [show_if]
-                                {BOL_CONDITION side_number numerical_not_equals 4}
-                                [have_unit]
-                                    side,canrecruit=4,yes
-                                [/have_unit]
-                            [/show_if]
-                            [command]
-                                {VARIABLE nexus_target 4}
-                            [/command]
-                        [/option]
+                        [insert_tag]
+                            name=option
+                            variable=nexus_options
+                        [/insert_tag]
 
                         [option]
                             message= _ "*None"
@@ -1358,6 +1353,7 @@
                             {VARIABLE spell_cancelled yes}
                         [/else]
                     [/if]
+                    {CLEAR_VARIABLE nexus_target,nexus_options}
                 [/cast_actions]
             [/nexus]
 
 
daniel.santos
Posts: 54
Joined: May 22nd, 2008, 2:45 am

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.7)

Post by daniel.santos »

I found the problem with the mana bottle not disappearing. This snippet:

Code: Select all

                    [removeitem]
                        x,y=22,32
                    [/removeitem]
Needs to be

Code: Select all

                    [removeitem]
                        x,y=2,32
                    [/removeitem]
User avatar
zookeeper
WML Wizard
Posts: 9742
Joined: September 11th, 2004, 10:40 pm
Location: Finland

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.7)

Post by zookeeper »

I've applied fixes to all the above issues except Godfrey's XP, but I haven't uploaded the new version yet. I'll probably make a couple more additions first.
daniel.santos
Posts: 54
Joined: May 22nd, 2008, 2:45 am

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.7)

Post by daniel.santos »

Hey zookeeper. Here's my character sheet if you are interested in it. Now that I know about the tool-tip, it's not as big of a deal but I enjoyed working on it. I like the mechanics of how this works and I'm OK with the formatting, although I would say it can be improved upon.

Code: Select all

[set_menu_item]
    id=bol7-character-sheet
    description=_ "Character Sheet"
    image="../data/campaigns/Descent_Into_Darkness/images/misc/book-icon.png~CROP(38,2,20,21)"
    #image="../data/campaigns/Under_the_Burning_Suns/images/items/parchment.png"
    [show_if]
        [have_unit]
            side=$side_number
            x,y=$x1,$y1
            canrecruit=yes
        [/have_unit]
    [/show_if]
    [command]
        {CLEAR_VARIABLE cs_perks,cs_magic,cs_inventory}

        # Perks
        {FOREACH unit.variables.perks q}
            {VARIABLE cs_perks "$cs_perks
`    $unit.variables.perks[$q].name $unit.variables.perks[$q].description"}
        {NEXT q}

        # Items
        {FOREACH unit.variables.inventory.items q}
              {VARIABLE cs_item_id $unit.variables.inventory.items[$q].id}
            {VARIABLE cs_inventory "$cs_inventory
`    $items.$cs_item_id|.name ($items.$cs_item_id|.description|)"}
        {NEXT q}

        {VARIABLE cs_items[0].id "flowers"}
        {VARIABLE cs_items[1].id "bucket"}
        {VARIABLE cs_items[2].id "locket"}
        {VARIABLE cs_items[3].id "eggs"}
        {FOREACH cs_items q}
            {VARIABLE cs_item_id $cs_items[$q].id}
            [if]
                {BOL_CONDITION unit.variables.inventory.$cs_item_id greater_than 0}
                [then]
                    {VARIABLE cs_inventory "$cs_inventory
`    $cs_item_id: $unit.variables.inventory.$cs_item_id"}
                [/then]
            [/if]
        {NEXT q}

        # Spells
        {VARIABLE cs_magic_schools[0].id "healing"}
        {VARIABLE cs_magic_schools[1].id "poison"}
        {VARIABLE cs_magic_schools[2].id "speed"}
        {VARIABLE cs_magic_schools[3].id "battle"}
        {FOREACH cs_magic_schools q}
            {VARIABLE cs_magic_school_id "$cs_magic_schools[$q].id"}
            {VARIABLE cs_magic "$cs_magic
<192,192,255>$spells.$cs_magic_school_id|.name Magic"}
            {FOREACH spells.$cs_magic_school_id|.spell r}
                [if]
                    {BOL_CONDITION r greater_than 0}
                    {BOL_CONDITION r less_than_equal_to $unit.variables.magic.$cs_magic_school_id}
                    [then]
                        {VARIABLE cs_magic "$cs_magic
`    $spells.$cs_magic_school_id|.spell[$r].name"}
                    [/then]
                [/if]
            {NEXT r}
        {NEXT q}

        {VARIABLE cs_misc_spells[0].id "teleportation"}
        {VARIABLE cs_misc_spells[1].id "illusion"}
        {VARIABLE cs_misc_spells[2].id "nexus"}
        {VARIABLE cs_misc_spells[3].id "reanimate"}
        {VARIABLE cs_misc_spells[4].id "summon_gryphon"}
        {VARIABLE cs_misc_spells[5].id "summon_deathblade"}
        {VARIABLE cs_magic "$cs_magic
<192,192,255>Misc Magic"}
        {FOREACH cs_misc_spells q}
            {VARIABLE cs_spell_id $cs_misc_spells[$q].id}
            [if]
                {BOL_CONDITION unit.variables.magic.misc.$cs_spell_id equals "yes"}
                [then]
                    {VARIABLE cs_magic "$cs_magic
`    $spells.misc.$cs_spell_id|.name"}
                [/then]
            [/if]
        {NEXT q}

        [message]
            speaker=unit
            caption=_ "Character Sheet"
            message= _ "~Perks$cs_perks

~Items$cs_inventory

~Mana
`    Current: $unit.variables.mana|/$unit.variables.mana_max
`    Recovery: $unit.variables.mana_recovery per turn (1 per movement point when resting)

~Spells$cs_magic"
        [/message]
        {CLEAR_VARIABLE cs_perks,cs_items,cs_item_id,cs_magic,cs_inventory,cs_magic_schools,cs_magic_school_id,cs_misc_spells,cs_spell_id,q,r}
    [/command]
[/set_menu_item]
User avatar
Col Lightbeam
Posts: 46
Joined: November 18th, 2008, 1:01 am

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.7)

Post by Col Lightbeam »

Hello. I am trying to add to make it like how Brotherhood of light chooses and casts spells, but I don't have access to the code right off the bat. Could you reply with how you put the "Cast Spell" on the unit menu?
Mix Era Of Magic, Era of Myths, and Extended Era and you get all my favorite teams on one group! and ULTIMATE POWER!!!!!!!!!!!!

Also in the programming industry... later.
User avatar
zookeeper
WML Wizard
Posts: 9742
Joined: September 11th, 2004, 10:40 pm
Location: Finland

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.7)

Post by zookeeper »

Col Lightbeam wrote:Hello. I am trying to add to make it like how Brotherhood of light chooses and casts spells, but I don't have access to the code right off the bat. Could you reply with how you put the "Cast Spell" on the unit menu?
Eh? Yes you do: http://add-ons.wesnoth.org
User avatar
Col Lightbeam
Posts: 46
Joined: November 18th, 2008, 1:01 am

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.7)

Post by Col Lightbeam »

And if the computer will not let you download?
Mix Era Of Magic, Era of Myths, and Extended Era and you get all my favorite teams on one group! and ULTIMATE POWER!!!!!!!!!!!!

Also in the programming industry... later.
Soliton
Site Administrator
Posts: 1686
Joined: April 5th, 2005, 3:25 pm
Location: #wesnoth-mp

Re: Brotherhood of Light - Multiplayer RPG Scenario (0.5.7)

Post by Soliton »

Try turning it off and on again.
"If gameplay requires it, they can be made to live on Venus." -- scott
Post Reply