Co-OP Play: Colosseum Wild variant(Knutor)

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

Moderator: Forum Moderators

Post Reply
Knutor
Posts: 10
Joined: August 19th, 2013, 5:47 pm

Co-OP Play: Colosseum Wild variant(Knutor)

Post by Knutor »

Hello, I've tweaked Laela's Colosseum 3p Co-OP quite extensively and wish to share it.

Changes
  • Added full waves, 11 units for all 8 waves. Rem'd the slow movement types.
    Provided a wave counter for better control and player decision making.
    Provided some alternative weaponry to make less used units, more used.
    Islandized the Oasis for limited AI usage. Flyer only access.
    Randomized the 6 different terrain pie pieces, inbetween plays.
    Undergroundized the cave.
I would like know how to provide these changes on the official Add-On server to the Wesnoth community. Please advise. I have attempted to Publish my variant, but the Publish option at the end of the Add-on list, to my demise, doesn't appear to exist where it is supposed to exist.

Future Plans
  • Subtract specials and abilities via the shop GUI.
    Add unwalkable terrain defense, for flyers only to work fringe/ cliff space.
    Add a plague that crowns its victims, for shop access.
    Highlander. PVP round after 8th round. There can be only one, McCloud.
    Player vs Platypus round after PVP round.
Thanks, Knutor
User avatar
Ravana
Forum Moderator
Posts: 2952
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Co-OP Play: Colosseum Wild variant(Knutor)

Post by Ravana »

For that many changes it might be better to upload your own complete version, just remove my lms from scenario ids and names. You need _server.pbl file to publish anything on addons server, look wiki for example.
Knutor
Posts: 10
Joined: August 19th, 2013, 5:47 pm

Re: Co-OP Play: Colosseum Wild variant(Knutor)

Post by Knutor »

Ravana wrote:just remove my lms from scenario ids and names
I'd be happy to remove those. But first, I have to ask.. what is it. Never could figure out what lms stood for and I've read every macro in the Add-On folder. Only scenario I modified is the 3p one. Is this the weapon shop macros? Is that what you want me to remove?!? Nice meeting you, and good job on creating the Colosseum, its wonderful fun. I play it 6-7x day. Thanks, Knutor
Knutor
Posts: 10
Joined: August 19th, 2013, 5:47 pm

Re: Co-OP Play: Colosseum Wild variant(Knutor)

Post by Knutor »

Ravana wrote:look wiki for example.
http://wiki.wesnoth.org/ searched page for 'add' and found nothing. I know its in there, but so a lot of other stuff. *sigh*
Knutor
Posts: 10
Joined: August 19th, 2013, 5:47 pm

Re: Co-OP Play: Colosseum Wild variant(Knutor)

Post by Knutor »

Yay! Colosseum W, is up now and on the Add-On list. If there is anything in it, missing credits, code that belongs, well elsewhere, or that shouldn't be there, or needs proper citations and credits, I will happily update it accordingly. Please enjoy! Modify anything, and if you can figure out how to make unwalkable, but flyable terrain defense.. improvable in the shop, please do it. Flyers need love, too.

Its simply a merger of colosseum and save the village, with a few new kinds of wpns in the shop. Hope you all enjoy. Thanks for hosting it on the Add-on server. And remember, click end turn, don't daydream or fantasize about ways of making it better, like I all too often get caught doing.

Knutor
User avatar
Ravana
Forum Moderator
Posts: 2952
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Co-OP Play: Colosseum Wild variant(Knutor)

Post by Ravana »

I have written it in my multiplayer thread, lms stands for Laela Map Search , then with ctrl+f at http://replays.wesnoth.org/ I can get number of public games played with my creation on selected day. And as lms is in name as well I can use that in wesnoth game filter as well.
Most of my colosseum is from ChaosRiders work, I just removed units that required download for all players and basically removed ai.
Knutor
Posts: 10
Joined: August 19th, 2013, 5:47 pm

Re: Co-OP Play: Colosseum Wild variant(Knutor)

Post by Knutor »

That makes sense. I am awful with abbv. LOL! There is no more lms in the title or id, it all refers to Colosseum W, or Colosseum Wild. Had used Colosseum Random, but I believe someone already took that, and it was confusing folks with unit selection and the random choice, so Wild seemed the logical other choice for a name. Hope there is no conflicts with that. It sorta feels wild, with the map changing ea playthru. I just wish I could figure out how to add, unwalkable defense to the shop. 50 and 60, the flyer's have, isn't enough to carry them on past round 7 and round 8's big flying units.

Also a sellback, would rock, so many people including me, click wrong, in the shopping tent, and need an easy undo the choice, inclusively notwithstanding the dumbasses who leave immediately after and leave the host controlling there utter catastrophe of a unit. For example, a Troll with 2 regenerations abilities. These are definate improvements that would help both our variants. I lack the knowledge to code them. I really like how you layered the difficulty, so I kept it in the Wild variant, but changed the movement speeds, encourage faster combat and round completion to keep things going until rd8.

If I need to credit you, please advise me. I don't wanna upset you or ChaosRiders with anything I'm doing. Would it be okay if I kept the Fast AI macro in there, it really makes a difference. Thanks, Knutor
User avatar
Ravana
Forum Moderator
Posts: 2952
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Co-OP Play: Colosseum Wild variant(Knutor)

Post by Ravana »

It makes me happy when my work is useful, that fast ai was intended to be used in more places where suitable, it makes ai faster as ai thinks all its attacks have no retaliation special. I think sellback would be difficult to add as bought items are not saved, just unit is changed. I think you can add unwalkable terrain def upgrade same way as others are, from Colosseum_upgrade.cfg

Code: Select all

[option]
                                [show_if]
                                    [variable]
                                        name=general_store.advancement.id
                                        equals=amla_default
                                    [/variable]
                                [/show_if]
                                message= _ {MENU_IMG_TXT "" "Defenses"}
                                [command]
                                    {VARIABLE finished_sub no}
                                    [while]
                                        [variable]
                                            name=finished_sub
                                            equals=no
                                        [/variable]
                                        [do]
                                            [store_gold]
                                                side=$side_number
                                                variable=gold
                                            [/store_gold]
                                            [store_unit]
                                                [filter]
                                                    side=$side_number
                                                    x,y=$x1,$y1
                                                [/filter]
                                                variable=defense_store
                                            [/store_unit]

                                            {VARIABLE defense_flat 100}
                                            {VARIABLE defense_forest 100}
                                            {VARIABLE defense_hills 100}
                                            {VARIABLE defense_mountains 100}
                                            {VARIABLE defense_sand 100}
                                            {VARIABLE defense_frozen 100}
                                            {VARIABLE defense_cave 100}
                                            {VARIABLE defense_shallow_water 100}
                                            {VARIABLE defense_swamp_water 100}
                                            {VARIABLE defense_castle 100}
                                            {VARIABLE defense_fungus 100}
                                            {VARIABLE_OP defense_flat add -$defense_store.defense.flat|}
                                            {VARIABLE_OP defense_forest add -$defense_store.defense.forest|}
                                            {VARIABLE_OP defense_hills add -$defense_store.defense.hills|}
                                            {VARIABLE_OP defense_mountains add -$defense_store.defense.mountains|}
                                            {VARIABLE_OP defense_sand add -$defense_store.defense.sand|}
                                            {VARIABLE_OP defense_frozen add -$defense_store.defense.frozen|}
                                            {VARIABLE_OP defense_cave add -$defense_store.defense.cave|}
                                            {VARIABLE_OP defense_shallow_water add -$defense_store.defense.shallow_water|}
                                            {VARIABLE_OP defense_swamp_water add -$defense_store.defense.swamp_water|}
                                            {VARIABLE_OP defense_castle add -$defense_store.defense.castle|}
                                            {VARIABLE_OP defense_fungus add -$defense_store.defense.fungus|}

                                            [message]
                                                speaker=narrator
                                                caption= _ "Defenses"
                                                message= _ "<span foreground='gold'>Gold: $gold|	 Training left: $defup_left_$side_number||</span>
 
<span foreground='#00FF00'>Current defenses (max: 80%):</span>
<span font_size='small'>flat: $defense_flat|%
forest: $defense_forest|%
hills: $defense_hills|%
mountains: $defense_mountains|%
sand: $defense_sand|%
frozen: $defense_frozen|%
cave: $defense_cave|%
shallow water: $defense_shallow_water|%
swamp: $defense_swamp_water|%
castle: $defense_castle|%
fungus: $defense_fungus|%</span>"

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "Done"}
                                                    [command]
                                                        {VARIABLE finished_sub yes}
                                                    [/command]
                                                [/option]

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "20 gold: +10% flat defense"}
                                                    [command]
                                                        [if]
                                                            [variable]
                                                                name=defense_flat
                                                                less_than=80
                                                            [/variable]
                                                            [variable]
                                                                name=gold
                                                                greater_than_equal_to=20
                                                            [/variable]
                                                            [variable]
                                                                name=defup_left_$side_number|
                                                                greater_than=0
                                                            [/variable]
                                                            [then]
                                                                [gold]
                                                                    amount=-20
                                                                    side=$side_number
                                                                [/gold]
                                                                [object]
                                                                    silent=yes
                                                                    [effect]
                                                                        apply_to=defense
                                                                        replace=no
                                                                        [defense]
                                                                            flat=-10
                                                                        [/defense]
                                                                    [/effect]
                                                                [/object]
                                                                {VARIABLE_OP defup_left_$side_number add -1}
                                                            [/then]
                                                        [/if]
                                                    [/command]
                                                [/option]

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "15 gold: +10% forest defense"}
                                                    [command]
                                                        [if]
                                                            [variable]
                                                                name=defense_forest
                                                                less_than=80
                                                            [/variable]
                                                            [variable]
                                                                name=gold
                                                                greater_than_equal_to=15
                                                            [/variable]
                                                            [variable]
                                                                name=defup_left_$side_number|
                                                                greater_than=0
                                                            [/variable]
                                                            [then]
                                                                [gold]
                                                                    amount=-15
                                                                    side=$side_number
                                                                [/gold]
                                                                [object]
                                                                    silent=yes
                                                                    [effect]
                                                                        apply_to=defense
                                                                        replace=no
                                                                        [defense]
                                                                            forest=-10
                                                                        [/defense]
                                                                    [/effect]
                                                                [/object]
                                                                {VARIABLE_OP defup_left_$side_number add -1}
                                                            [/then]
                                                        [/if]
                                                    [/command]
                                                [/option]

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "20 gold: +10% hills defense"}
                                                    [command]
                                                        [if]
                                                            [variable]
                                                                name=defense_hills
                                                                less_than=80
                                                            [/variable]
                                                            [variable]
                                                                name=gold
                                                                greater_than_equal_to=20
                                                            [/variable]
                                                            [variable]
                                                                name=defup_left_$side_number|
                                                                greater_than=0
                                                            [/variable]
                                                            [then]
                                                                [gold]
                                                                    amount=-20
                                                                    side=$side_number
                                                                [/gold]
                                                                [object]
                                                                    silent=yes
                                                                    [effect]
                                                                        apply_to=defense
                                                                        replace=no
                                                                        [defense]
                                                                            hills=-10
                                                                        [/defense]
                                                                    [/effect]
                                                                [/object]
                                                                {VARIABLE_OP defup_left_$side_number add -1}
                                                            [/then]
                                                        [/if]
                                                    [/command]
                                                [/option]

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "15 gold: +10% mountains defense"}
                                                    [command]
                                                        [if]
                                                            [variable]
                                                                name=defense_mountains
                                                                less_than=80
                                                            [/variable]
                                                            [variable]
                                                                name=gold
                                                                greater_than_equal_to=15
                                                            [/variable]
                                                            [variable]
                                                                name=defup_left_$side_number|
                                                                greater_than=0
                                                            [/variable]
                                                            [then]
                                                                [gold]
                                                                    amount=-15
                                                                    side=$side_number
                                                                [/gold]
                                                                [object]
                                                                    silent=yes
                                                                    [effect]
                                                                        apply_to=defense
                                                                        replace=no
                                                                        [defense]
                                                                            mountains=-10
                                                                        [/defense]
                                                                    [/effect]
                                                                [/object]
                                                                {VARIABLE_OP defup_left_$side_number add -1}
                                                            [/then]
                                                        [/if]
                                                    [/command]
                                                [/option]

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "15 gold: +10% sand defense"}
                                                    [command]
                                                        [if]
                                                            [variable]
                                                                name=defense_sand
                                                                less_than=80
                                                            [/variable]
                                                            [variable]
                                                                name=gold
                                                                greater_than_equal_to=15
                                                            [/variable]
                                                            [variable]
                                                                name=defup_left_$side_number|
                                                                greater_than=0
                                                            [/variable]
                                                            [then]
                                                                [gold]
                                                                    amount=-15
                                                                    side=$side_number
                                                                [/gold]
                                                                [object]
                                                                    silent=yes
                                                                    [effect]
                                                                        apply_to=defense
                                                                        replace=no
                                                                        [defense]
                                                                            sand=-10
                                                                        [/defense]
                                                                    [/effect]
                                                                [/object]
                                                                {VARIABLE_OP defup_left_$side_number add -1}
                                                            [/then]
                                                        [/if]
                                                    [/command]
                                                [/option]

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "15 gold: +10% frozen defense"}
                                                    [command]
                                                        [if]
                                                            [variable]
                                                                name=defense_frozen
                                                                less_than=80
                                                            [/variable]
                                                            [variable]
                                                                name=gold
                                                                greater_than_equal_to=15
                                                            [/variable]
                                                            [variable]
                                                                name=defup_left_$side_number|
                                                                greater_than=0
                                                            [/variable]
                                                            [then]
                                                                [gold]
                                                                    amount=-15
                                                                    side=$side_number
                                                                [/gold]
                                                                [object]
                                                                    silent=yes
                                                                    [effect]
                                                                        apply_to=defense
                                                                        replace=no
                                                                        [defense]
                                                                            frozen=-10
                                                                        [/defense]
                                                                    [/effect]
                                                                [/object]
                                                                {VARIABLE_OP defup_left_$side_number add -1}
                                                            [/then]
                                                        [/if]
                                                    [/command]
                                                [/option]

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "15 gold: +10% cave defense"}
                                                    [command]
                                                        [if]
                                                            [variable]
                                                                name=defense_cave
                                                                less_than=80
                                                            [/variable]
                                                            [variable]
                                                                name=gold
                                                                greater_than_equal_to=15
                                                            [/variable]
                                                            [variable]
                                                                name=defup_left_$side_number|
                                                                greater_than=0
                                                            [/variable]
                                                            [then]
                                                                [gold]
                                                                    amount=-15
                                                                    side=$side_number
                                                                [/gold]
                                                                [object]
                                                                    silent=yes
                                                                    [effect]
                                                                        apply_to=defense
                                                                        replace=no
                                                                        [defense]
                                                                            cave=-10
                                                                        [/defense]
                                                                    [/effect]
                                                                [/object]
                                                                {VARIABLE_OP defup_left_$side_number add -1}
                                                            [/then]
                                                        [/if]
                                                    [/command]
                                                [/option]

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "15 gold: +10% shallow water defense"}
                                                    [command]
                                                        [if]
                                                            [variable]
                                                                name=defense_shallow_water
                                                                less_than=80
                                                            [/variable]
                                                            [variable]
                                                                name=gold
                                                                greater_than_equal_to=15
                                                            [/variable]
                                                            [variable]
                                                                name=defup_left_$side_number|
                                                                greater_than=0
                                                            [/variable]
                                                            [then]
                                                                [gold]
                                                                    amount=-15
                                                                    side=$side_number
                                                                [/gold]
                                                                [object]
                                                                    silent=yes
                                                                    [effect]
                                                                        apply_to=defense
                                                                        replace=no
                                                                        [defense]
                                                                            shallow_water=-10
                                                                        [/defense]
                                                                    [/effect]
                                                                [/object]
                                                                {VARIABLE_OP defup_left_$side_number add -1}
                                                            [/then]
                                                        [/if]
                                                    [/command]
                                                [/option]

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "15 gold: +10% swamp defense"}
                                                    [command]
                                                        [if]
                                                            [variable]
                                                                name=defense_swamp_water
                                                                less_than=80
                                                            [/variable]
                                                            [variable]
                                                                name=gold
                                                                greater_than_equal_to=15
                                                            [/variable]
                                                            [variable]
                                                                name=defup_left_$side_number|
                                                                greater_than=0
                                                            [/variable]
                                                            [then]
                                                                [gold]
                                                                    amount=-15
                                                                    side=$side_number
                                                                [/gold]
                                                                [object]
                                                                    silent=yes
                                                                    [effect]
                                                                        apply_to=defense
                                                                        replace=no
                                                                        [defense]
                                                                            swamp_water=-10
                                                                        [/defense]
                                                                    [/effect]
                                                                [/object]
                                                                {VARIABLE_OP defup_left_$side_number add -1}
                                                            [/then]
                                                        [/if]
                                                    [/command]
                                                [/option]

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "15 gold: +10% castle defense"}
                                                    [command]
                                                        [if]
                                                            [variable]
                                                                name=defense_castle
                                                                less_than=80
                                                            [/variable]
                                                            [variable]
                                                                name=gold
                                                                greater_than_equal_to=15
                                                            [/variable]
                                                            [variable]
                                                                name=defup_left_$side_number|
                                                                greater_than=0
                                                            [/variable]
                                                            [then]
                                                                [gold]
                                                                    amount=-15
                                                                    side=$side_number
                                                                [/gold]
                                                                [object]
                                                                    silent=yes
                                                                    [effect]
                                                                        apply_to=defense
                                                                        replace=no
                                                                        [defense]
                                                                            castle=-10
                                                                        [/defense]
                                                                    [/effect]
                                                                [/object]
                                                                {VARIABLE_OP defup_left_$side_number add -1}
                                                            [/then]
                                                        [/if]
                                                    [/command]
                                                [/option]

                                                [option]
                                                    message= _ {MENU_IMG_TXT "" "15 gold: +10% fungus defense"}
                                                    [command]
                                                        [if]
                                                            [variable]
                                                                name=defense_fungus
                                                                less_than=80
                                                            [/variable]
                                                            [variable]
                                                                name=gold
                                                                greater_than_equal_to=15
                                                            [/variable]
                                                            [variable]
                                                                name=defup_left_$side_number|
                                                                greater_than=0
                                                            [/variable]
                                                            [then]
                                                                [gold]
                                                                    amount=-15
                                                                    side=$side_number
                                                                [/gold]
                                                                [object]
                                                                    silent=yes
                                                                    [effect]
                                                                        apply_to=defense
                                                                        replace=no
                                                                        [defense]
                                                                            fungus=-10
                                                                        [/defense]
                                                                    [/effect]
                                                                [/object]
                                                                {VARIABLE_OP defup_left_$side_number add -1}
                                                            [/then]
                                                        [/if]
                                                    [/command]
                                                [/option]

                                                image=wesnoth-icon.png
                                            [/message]
                                            [redraw]
                                            [/redraw]
                                        [/do]
                                    [/while]
                                [/command]
                            [/option]
You are not required to credit but its just polite to do so, usually I have credits just in _server.pbl entry, though as orocia already had credits in objectives I added there as well.

Also you might want to remove/change debug thing I added when i wanted debug mode in multiplayer game, test.cfg and called from scenario iirc

Code: Select all

#define BOOST SIDE
    [store_unit]
        [filter]
            side={SIDE}
        [/filter]
        kill=no
        variable=name_units
    [/store_unit]
    {FOREACH name_units i}
        [if]
            [variable]
                name=name_units[$i].name
                equals=Laela_debug
            [/variable]
            [then]
                [gold]
                    amount="10000"
                    side={SIDE}
                [/gold]
                [redraw]
                [/redraw]
            [/then]
        [/if]
    {NEXT i}
#enddef
Post Reply