Witaj Wesnothańczyku
Zobacz temat
 Drukuj temat
Wesnoth Adventures
ForPeace
Nie, w message nie dajemy tagu [filter], tylko piszemy od razu warunki. I nie wpisuj "speaker=unit", bo speaker to którakolwiek jednostka, która pasuje do filtra.

LOOK/LUKE CHŁOPIE
;)
The following key/tags are accepted for [message]:

StandardUnitFilter: The unit whose profile and name are displayed. Do not use a [filter] tag. If no unit matching this filter is found, the message is not displayed (The unit has probably been killed).

speaker: an alternative to standard unit filter. You may specify as the value of the speaker attribute a unit id or any of the following special values:


Czyli kod powinien wyglądać tak:
Pobierz kod źródłowy  Kod źródłowy

[event]
      name=start

      [message]
            speaker=narrator
            message= _ "This is a test scenario. It should be used to test new characters, item, etc."
            image=wesnoth-icon.png
      [/message]
      [message]
   x=5
   y=4
            message= _ "We must kill that goblin!"
      [/message]
      [message]
   x=5
   y=6
            message= _ "You are right!"
      [/message]
[/event]




Ale chyba lepszym rozwązaniem zamiast x,y byłoby canrecruit=yes i side=cośtam.

PS. Czemu w jednym evencie jest dwa razy "name=prestart"?
Edytowane przez ForPeace dnia 22-03-2015 18:10
Mój ladderowy profil

"10 lat mówisz? Jak ja mówię że gram 10 lat to przychodzą ludzie i mówią że grali 15 i nic się nie znam na tej grze bo nie grałem jak PRAWDZIWI prosi grali. xD" ~Hejnewar
 
AxeFighter
Dzięki pe_em. Teraz chyba pozostał mi chyba ostatni problem z ta testowa mapką. Chodzi o te teksty na początek. U moich magów wyświetlają się te z czarnym tłem, zaś goblin jakimś cudem ma ten dobry, przezroczysty. Co źle zrobiłem?

Pobierz kod źródłowy  Kod źródłowy
[multiplayer]
    id=watest
    name= _ "WA 2p Test"
    description= _ "This scenario was designed for testing purposes. For testers and developers only.

Author: AxeFighter"
    map_data="{~add-ons/Wesnoth_Adventures/maps/test.map}"
    turns=-1
    experience_modifier=100%
    random_start_time=no
    victory_when_enemies_defeated=yes
    {DEFAULT_SCHEDULE}

{SCENARIO_MUSIC weight_of_revenge.ogg}

    [side]
        side=1
        canrecruit=yes
        controller=human
        income=0
        gold=0
        village_gold=0
        team_name="heroes"
        user_team_name= _ "Heroes"
        fog=no
        shroud=no
    [/side]

    [side]
        side=2
        canrecruit=yes
        controller=human
        gold=0
        income=0
        village_gold=0
        team_name="heroes"
        user_team_name= _ "Heroes"
        fog=no
        shroud=no
    [/side]

    [side]
        id=wrogowie
        name="Grinx"
        type=Goblin Impaler
        side=3
        canrecruit=yes
        controller=ai
        gold=0
        village_gold=0
        color=black
        income=0
        team_name="enemies"
        user_team_name= _ "Enemies"
        fog=no
        shroud=no
        allow_player=false
    [/side]

   [event]
      name=prestart
      [objectives]
         side=0
         [objective]
            description= _ "Defeat Grinx"
            condition=win
         [/objective]
         [objective]
            description= _ "Death of all heroes"
            condition=lose         
         [/objective]
      [/objectives]

      name=prestart
      [modify_side]
        side=1
        gold=0
        income=-2
        village_gold=0
      [/modify_side]
      [modify_side]
        side=2
        gold=0
        income=-2
        village_gold=0
      [/modify_side]
      [modify_side]
        side=3
        gold=0
        income=-2
        village_gold=0
      [/modify_side]

[modify_unit]
      [filter]
            x=9
            y=5
      [/filter]
    level=50
[/modify_unit]

      [object]
         [filter]
            x,y=9,5
         [/filter]
         silent=yes
         [effect]
            apply_to=movement
            set=0
         [/effect]
         [effect]
            apply_to=hitpoints
            increase_total=974
            heal_full=yes
         [/effect]
         [effect]
            apply_to=new_ability
            [abilities]
               {ABILITY_REGENERATES}
            [/abilities]
         [/effect]
         [effect]
            apply_to=attack
   range=ranged
            increase_damage=3
         [/effect]
         [effect]
            apply_to=attack
   range=ranged
            increase_attacks=2
         [/effect]
      [/object]

      {PICKUPPABLE_ITEM cloak_of_power 3 3 () items/cloak-green.png
     _"This cloak emanates a strong magical energy. Do you want to pick it up?"
     _"cloak of courage^Take it"
     _"cloak of courage^Leave it"
     _"You can't use this item." (
     [object]
      name= _ "Cloak of Power"
      image=icons/cloak_leather_brown.png
      description= _ "This magical cloak gives the wearer additional 1 point to damage and movement and also 4 to hitpoints."
         [not]
            side=3
         [/not]
      [effect]
         apply_to=attack
         increase_damage=1
      [/effect]
      [effect]
         apply_to=hitpoints
         increase_total=4
         increase=4
      [/effect]
      [effect]
         apply_to=movement
         increase=1
      [/effect]
     [/object]
 )}

      {PICKUPPABLE_ITEM ring_of_hp 3 7 () items/ring-red.png
     _"This red ring emanates a calming warmth. Do you want to pick it up?"
     _"ring of HP^Take it"
     _"ring of HP^Leave it"
     _"You can't use this item." (
     [object]
         name= _ "Ring of Health"
         image=icons/ring_red.png
         description= _ "This ring provides additional 14 hitpoints to the person wearing it."
         [not]
            side=3
         [/not]
         [effect]
             apply_to=hitpoints
             increase_total=14
    increase=14
         [/effect]
     [/object]
 )}
[/event]

[event]
      name=start
      [message]
            speaker=narrator
            message= _ "This is a test scenario. It should be used to test new characters, items, etc."
            image=wesnoth-icon.png
      [/message]
      [message]
canrecruit=yes
side=1
            message= _ "We must kill that goblin!"
      [/message]
      [message]
canrecruit=yes
side=2
            message= _ "You are right!"
      [/message]
[/event]

[event]
      name=attack

      [filter]
            side=1,2
      [/filter]

      [filter_second]
            side=3
      [/filter_second]

      [message]
            speaker=unit
            message= _ "You will die now!"
      [/message]     
      [message]
            speaker=second_unit
            message= _ "You cannot beat me, I am invincible!"
      [/message]
[/event]

[/multiplayer]




Dodam, że linijki odpowiedzialne za portrety zrobiłem tak:

Pobierz kod źródłowy  Kod źródłowy
#textdomain wesnoth-units
[unit_type]
    id=wafiremage
    name= _ "Fire Mage"
    race=wahuman
    image="fire_mage/magognia.png"
    profile="fire_mage/portretczarny.png"
    {MAGENTA_IS_THE_TEAM_COLOR}
    hitpoints=34
    movement_type=smallfoot
    movement=5
    experience=12
    level=1
    alignment=lawful
    cost=100
    usage=hero
    description= _ "Fire mages are known by many people due to their power to control fire. They can destroy their enemies with fireballs, make light in the darkness and also summon meteorites from outer space. To counter drakes, which are highly resistant to fire they have also darts in their arsenal. Fire mages are mostly concentrating at ranged fighting, but some of them developed good melee capabilities and ability to summon flaming sword.

Unit creator: AxeFighter"

    [resistance]
   fire=80
    [/resistance]

    [portrait]
        size=400
        side="left"
        mirror="false"
        image="fire_mage/portret.png"
    [/portrait]
    [portrait]
        size=400
        side="right"
        mirror="true"
        image="fire_mage/portret.png"
    [/portrait]
...




Edit: Pe_em, po prostu łączyłem eventy, tyle, już teraz to poprawiłem.

DUŻY EDIT:
Cały czas działam przy WA. Potrzebuję jednak wsparcie w tekstach (wymagają poprawek). Oto one:

Ogólne:
* Eksplozja: This attack hits all enemies near to the attacker. Additionally attacker receives some damage due to recoil.
* Opisy płaszcza (przed i po podniesieniu): This cloak emanates a strong magical energy. Do you want to pick it up? This magical cloak gives the wearer additional 1 point to damage and movement and also 4 to hitpoints.
* Opisy pierścienia (przed i po podniesieniu): This red ring emanates a calming warmth. Do you want to pick it up? This ring provides additional 14 hitpoints to the person wearing it.
Opis ery: Era designed specially to be used on Wesnoth Adventures maps. Contains a large variety of heroes with numerous special abilities, unique skill trees and new level system.
* Opis ludzi: Humans are the most common race.

Mapka "Desert Cave":
* Opis mapki: Your master sent you to this southern cave with the mission to kill his fallen experiment, a goblin called Grinx. But this task will not be so easy for what it seems.
* Wiadomość wstępna: Your master sent you to this southern cave with the mission to kill his fallen experiment, a goblin called Grinx. For sure he is hiding somewhere nearby. You also smell a strange odor of burning in the air.
* Gracz 1: We must kill that goblin as soon as possible. Otherwise the people living nearby will be at risk.
* Gracz 2: You are right, but we should also be on guard. This cave is said to be inhabited by numerous monsters. Many adventurers died here.
* Gracz atakuje Grinxa: You will die now, goblin!
* Grinx odpowiada: You will not beat me, I am invincible!

Mag ognia:
* Opis: Fire mages are known by many people due to their power to control fire. They can destroy their enemies with fireballs, make light in the darkness and also summon meteorites from outer space. To counter drakes, which are highly resistant to fire they have also darts in their arsenal. Fire mages are mostly concentrating at ranged fighting, but some of them developed good melee capabilities and ability to summon flaming sword.
* Opis skilli(nieskończony jeszcze): Bonuses:
* Hitpoints bonus: gives +4 hitpoints for the first 10 times, then +2,
* Melee damage bonus: gives +1 melee damage each time,
* Ranged damage bonus: gives +2 to ranged damage for the first 5 times, then +1,
* Movement bonus: gives +1 movement point, can be used up to 5 times,

Special skills:
* Fire shield: sets fire resistance at 50%, requires two hitpoints bonuses,
* Magma shield: sets fire resistance at 80%, requires four hitpoints bonuses and Fire shield,
* Second staff attack: gives an additional attack when using staff, requires two melee damage bonuses,
* Third staff attack: gives an another additional attack when using staff, requires four melee damage bonuses and Second staff attack skill,
* Flaming sword: gives an ability to use flaming sword in battle, requires three melee damage bonuses and Second staff attack skill,
* Illumination: gives hero the Illuminate ability, requires one ranged damage bonus and one hitpoints bonus,
* Fourth fireball attack: gives an additional attack when using fireball, requires three ranged damage bonuses,
* Fifth fireball attack: gives an another additional attack when using fireball, requires five ranged damage bonuses and Fourth fireball attack skill,
* Darts: gives an ability to use darts in battle, requires one ranged damage bonus,
* Mini meteorites: gives an ability to use mini meteorites in battle, requires Fourth fireball attack and Darts skills,


Byłbym bardzo wdzięczny gdyby ktoś mi pomógł w tym. Na koniec podaję jakie specjalne skille będzie mieć ostatecznie Mag Ognia:

* Tarcza ognia,
* Tarcza magmy,
* Grotołaz,
* Wulkanolog,
* Drugi atak wręcz,
* Trzeci atak wręcz,
* Porażenie słoneczne,
* Czwarty atak na dystans,
* Piąty atak na dystans,
* Miniaturowe meteoryty,
* Oświetlanie,
* Eksplozja,
* Ognisty miecz,
* Rzutki,
* (na ostatni, 15 nie mam pomysłu, czekam na propozycje),

P.S. Graty dla Jaroma za pomoc i dla pe_ema za zainteresowanie. ;)

DRUGI DUŻY EDIT:
Mam do was panowie kilka spraw:
* Mag leczący i mag bojowy. Jakie dać im nazwy? Tego pierwszego znacie, choć od teraz będzie mocniej przypominał białasa z defaulta. Drugi zaś to typowy nekroś, mhrok i tym podobne. Obaj mają być swoimi przeciwieństwami, co pragnę też odzwierciedlić w nazwie.
* Pomysł na ostatnią umiejkę dla Maga Ognia. Liczę na kreatywność. ;)
* Czekam też na pomysł na dodatkową broń dla uzdrowiciela, na razie ma tylko astralny i obuch (ten drugi tylko kijem),
* To zaś bardziej dla Jaroma: jak sprawić, by postacie, które oberwały wskutek eksplozji wydawały dźwięki? To samo z samym magikiem? Na razie tylko pierwotny cel to robi. Innym zainteresowanym mogę podesłać kod.
* Czekam także na sugestie dotyczące tekstów w dodatku (patrz wyżej),

Wersję do testów opublikuję wam, gdy folder z odświeżoną wersją przekroczy 1MB, na razie ma 400kB.
Edytowane przez AxeFighter dnia 04-03-2016 23:28
Ja zaczynałem jako zwykły, napalony user, pisałem często newsy. Bach! Redaktor! Więc niebywale uradowany, pisałem jeszcze więcej, dodatkowo artykuły. Nie ma co, byłem nadpobudliwy wtedy... A jak zostałem mianowany adminem, to z początku w ogóle nie chciałem nim być! Byłem przestraszony odpowiedzialnością. Bo mnie nie kręciły tytuły, tylko Wesnoth. - Sagez

https://www.youtu...QuObfTx6Cg - link zaktualizowany!
 
http://wesnoth.com.pl
ForPeace
Oto są słowa pana topornika:
DUŻY EDIT:
Cały czas działam przy WA. Potrzebuję jednak wsparcie w tekstach (wymagają poprawek). Oto one:

Ogólne:
* Eksplozja: This attack hits all enemies near to the attacker. Additionally attacker receives some damage due to recoil.

This attack hits all enemies adjacent to the attacker. In addition, attacker receives some damage due to recoil.
* Opisy płaszcza (przed i po podniesieniu): This cloak emanates a strong magical energy. Do you want to pick it up? This magical cloak gives the wearer additional 1 point to damage and movement and also 4 to hitpoints.

This cloak emanates a strong magical energy. Do you want to pick it up? This magical cloak gives the wearer 1 additional damage points, 1 additional movement point and 4 additional hitpoints.
* Opisy pierścienia (przed i po podniesieniu): This red ring emanates a calming warmth. Do you want to pick it up? This ring provides additional 14 hitpoints to the person wearing it.

to the unit

Opis ery: Era designed specially to be used on Wesnoth Adventures maps. Contains a large variety of heroes with numerous special abilities, unique skill trees and new level system.

Opis ery: Era designed for Wesnoth Adventures maps. Contains a large variety of heroes with numerous special abilities, unique skill trees and new level system.
* Opis ludzi: Humans are the most common race.

Ludzie mają swój opis w Wesie Pfft

Mapka "Desert Cave":
* Opis mapki: Your master sent you to this southern cave with the mission to kill his fallen experiment, a goblin called Grinx. But this task will not be so easy for what it seems.

* Opis mapki: Your master sent you to this southern cave (with the mission) to kill his fallen experiment, a goblin called Grinx. But this task will not be as easy as it seems.
For sure he is hiding somewhere nearby. You also smell a strange odor of burning in the air.

You (also) smell a strange odor of burning in the air.
* Gracz 1: We must kill that goblin as soon as possible. Otherwise the people living nearby will be at risk.

at risk -> endangered

* Gracz 2: You are right, but we should also be on guard. This cave is said to be inhabited by numerous monsters. Many adventurers died here.

* Gracz atakuje Grinxa: You will die now, goblin!

* Grinx odpowiada: You will not beat me, I am invincible!
You cannot beat me

Resztę poczytam kiedy indziej. Zaznaczam, że nadal są błędy / źle brzmiące wyrazy.

* Tarcza ognia, / spoko
* Tarcza magmy, / to nie to samo? Pfft
* Grotołaz, / do tego mrocznisia by bardziej pasował Pfft
* Wulkanolog, / oki
* Drugi atak wręcz,
* Trzeci atak wręcz,
[...]
* Czwarty atak na dystans,
* Piąty atak na dystans,

Może lepiej wzmocnienia ataków?
* Miniaturowe meteoryty, / kosmiczny pomysł dla kosmicznego maga Pfft
* Oświetlanie,
* Eksplozja,
* Ognisty miecz,
* Rzutki, / to zabójca, nie mag Pfft
* (na ostatni, 15 nie mam pomysłu, czekam na propozycje), może być 14 Wink
P.S. Graty dla Jaroma za pomoc i dla pe_ema za zainteresowanie. Wink

Mnie nie potrzeba, Jaromowi chyba też nie. Lepiej wyrzuć do śmieci.
* Czekam też na pomysł na dodatkową broń dla uzdrowiciela, na razie ma tylko astralny i obuch (ten drugi tylko kijem),
SPO-WOL-NIENIE!

Co do grafik to tak:

PLUSY I MINUSY
Biały:
+ lepiej wykonany
- zbyt podobny do Białego Maga z defa
Zielony
+ nie taki podobny do tego z defa
- za mało kontrastów i rozmazany koniec różdżki
Mój ladderowy profil

"10 lat mówisz? Jak ja mówię że gram 10 lat to przychodzą ludzie i mówią że grali 15 i nic się nie znam na tej grze bo nie grałem jak PRAWDZIWI prosi grali. xD" ~Hejnewar
 
AxeFighter
Wybaczcie mi za długą nieobecność, lecz bycie na jednym z najtrudniejszych kierunków na polibudzie ma swoje konsekwencje.

Teraz pytanko: jaki skrypt trzeba wstawić w plik jednostki (to ważne), by bonusy do obrażeń były retroaktywne, dla przykłądu gdy zdobędziemy przy awansie nową broń, a wzięliśmy wcześniej np. 3 bonusy do obrażeń te ostatnie działały również na nowy oręż?
Ja zaczynałem jako zwykły, napalony user, pisałem często newsy. Bach! Redaktor! Więc niebywale uradowany, pisałem jeszcze więcej, dodatkowo artykuły. Nie ma co, byłem nadpobudliwy wtedy... A jak zostałem mianowany adminem, to z początku w ogóle nie chciałem nim być! Byłem przestraszony odpowiedzialnością. Bo mnie nie kręciły tytuły, tylko Wesnoth. - Sagez

https://www.youtu...QuObfTx6Cg - link zaktualizowany!
 
http://wesnoth.com.pl
ForPeace
Miło cię znowu widzieć AF. Fajnie, że się ponownie bierzesz za WA. Jeżeli będą potrzebne testy, to możesz na mnie liczyć.

Natomiast jeżeli chodzi o bonusy do obrażeń, poszperałem trochę na wiki.wesnoth.org i nie znalazłem takiej opcji. (link: EffectWML) Wydaje mi się, że coś takiego da się zaprogramować z użyciem zmiennych i dodatkowych eventów przy podniesieniu nowej broni, ale to wymagałoby dużej ilości pracy. Możliwe również, że w jakimś dodatku takie rozwiązanie było już zaprogramowane.
Edytowane przez ForPeace dnia 05-03-2016 00:06
Mój ladderowy profil

"10 lat mówisz? Jak ja mówię że gram 10 lat to przychodzą ludzie i mówią że grali 15 i nic się nie znam na tej grze bo nie grałem jak PRAWDZIWI prosi grali. xD" ~Hejnewar
 
Sulik
W PPS główny bohater chyba tak ma. Możesz też poszperać w dodatku Creep War. Tam można kupić broń, która pewnie też jest ulepszana nawet jeśli jej jeszcze nie zakupiłeś.
 
AxeFighter
Kod Creep Wara mnie odstrasza, zaś u Kaleha z tego co widzę obrażenia u boli zwiększają się wraz z poziomem. Sad Wiem, że teraz franzuję, ale po prostu gubię się w bardziej zaawansowanym kodzie i potrzebuję kogoś, kto mógłby pokazać mi chociaż jak to powinno mniej więcej wyglądać.
Ja zaczynałem jako zwykły, napalony user, pisałem często newsy. Bach! Redaktor! Więc niebywale uradowany, pisałem jeszcze więcej, dodatkowo artykuły. Nie ma co, byłem nadpobudliwy wtedy... A jak zostałem mianowany adminem, to z początku w ogóle nie chciałem nim być! Byłem przestraszony odpowiedzialnością. Bo mnie nie kręciły tytuły, tylko Wesnoth. - Sagez

https://www.youtu...QuObfTx6Cg - link zaktualizowany!
 
http://wesnoth.com.pl
Piko
Musisz ręcznie eventem post_advance skorygować obrażenia broni.

Coś w stylu:
Pobierz kod źródłowy  Kod źródłowy

[event]
name=post_advance
first_time_only=no
[filter]
type=wafiremage
[and]
has_weapon=darts
[/and]
[/filter]
[if]
[variable]
name=unit.attack[2].damage
equals=$($unit.attack[1].damage - 5)
[/variable]
[else]
{VARIABLE unit.attack[2].damage "$($unit.attack[1].damage - 5)"}
[unstore_unit]
variable=unit
[/unstore_unit]
[/else]
[/if]
[/event]




PS Event pisany z głowy, może nie działać prawidłowo
PS 2 Oczywiście to jest tylko event przykładowy, użyj go jako szablon do własnych pomysłów. Możesz też użyć kilku innych metod, ta akurat jest zależna od kolejności wybierania poszczególnych broni, więc trzeba będzie go rozbudować jeśli jednostka będzie miała dostęp do kilku różnych broni niezależnych od siebie, np. usuwając inne ataki i dodając je ponownie, aby kolejność była zawsze zachowana, lub zmieniając wartości w evencie ustawiając ją na najwyższą możliwą patrząc na obecną ilość ataków. Jeśli pojawią się problemy to w razie czego mogę pomóc.

Pozdrawiam
Edytowane przez Piko dnia 05-03-2016 13:20
 
AxeFighter
Czyli dla ataków o nazwach fireball (bazowy) i darts (zdobyty) powinno to wyglądać tak?

Pobierz kod źródłowy  Kod źródłowy
[event]
name=post_advance
first_time_only=no
[filter]
type=wafiremage
[and]
has_weapon=darts
[/and]
[/filter]
[if]
[variable]
name=unit.darts.damage
equals=$($unit.fireball.damage - 5)
[/variable]
[else]
{VARIABLE unit.darts.damage "$($unit.fireball.damage - 5)"}
[unstore_unit]
variable=unit
[/unstore_unit]
[/else]
[/if]
[/event]




Jeżeli tak, to kod nie działa. :(

Edit:
Planuję dać magowi ognia summona - żywiołaka z liniową amlą (+kilka pż i 1 obrażeń wręcz i na dystans), co o tym sądzicie?
Edit2: Ktoś chętny by stworzyć do niego grafikę?
Edytowane przez AxeFighter dnia 06-03-2016 06:20
Ja zaczynałem jako zwykły, napalony user, pisałem często newsy. Bach! Redaktor! Więc niebywale uradowany, pisałem jeszcze więcej, dodatkowo artykuły. Nie ma co, byłem nadpobudliwy wtedy... A jak zostałem mianowany adminem, to z początku w ogóle nie chciałem nim być! Byłem przestraszony odpowiedzialnością. Bo mnie nie kręciły tytuły, tylko Wesnoth. - Sagez

https://www.youtu...QuObfTx6Cg - link zaktualizowany!
 
http://wesnoth.com.pl
Piko
Źle mnie zrozumiałeś z tym szablonem. Tak łatwo to to nie działa, niestety. To co możesz zmienić to filter, ilość obrażeń jaką ma wynosić atak, oraz numer ataku (w jakiej kolejności występuje na liście u jednostki (liczymy od 0)). Jeżeli nic nie zmieniałeś w jednostce to mój kod powinien działać taki jaki napisałem (zrobiłem potem testy na starszym wa i działał). Można jednak zrobić uniwersalny kod, w którym część pomiędzy [else][/else] wyglądałaby tak:
Pobierz kod źródłowy  Kod źródłowy
{FOREACH unit.attack i}
[if]
[variable]
name=unit.attack[$i].name
equals=darts
[/variable]
[then]
{VARIABLE darts.n $i}
[/then]
[/if]
[if]
[variable]
name=unit.attack[$i].name
equals=fireball
[/variable]
[then]
{VARIABLE fireball.n $i}
[/then]
[/if]
{NEXT i}
{VARIABLE unit.attack[$darts.n].damage "$($unit.attack[$fireball.n].damage - 5)"}
[unstore_unit]
variable=unit
[/unstore_unit]
{CLEAR_VARIABLE darts.n}
{CLEAR_VARIABLE fireball.n}




W takim przypadku kod przewijałby kolejno po wszystkich atakach jednostki szukając dwóch (lub więcej) które są mu potrzebne. Jednak jeżeli dwa ataki lub więcej będą miały tę samą nazwę to kod będzie uwzględniał tylko ten najpóźniejszy, uważaj na to.

Summony jak najbardziej są wskazane, bo z tego co pamiętam to każda plansza którą zrobiliśmy była albo za łatwa, albo niemożliwa do przejścia z powodu nadmiaru wrogów (ale trzeba też pamiętać że nie rozbudowywaliśmy w ogóle tych scenariuszy, gdyby np. na kill the orcs dało się podłożyć krasnoludzki dynamit i wysadzić górę, zabijając wrogich orków lawiną to może nie byłoby tak nudno; tak samo gdyby były jakieś cele poboczne jak odnaleźć chatkę maga, a ten by wspomagał nas potężnymi zaklęciami - lub jakiś monolit, którego można użyć wybierając prawidłową kombinację run, z czego każda robi coś innego np. leczy całą drużynę, zadaje obrażenia wszystkim wrogom, przywraca do życia zmarłych (tego też nigdzie nie mieliśmy - a to chyba jest najpotrzebniejsze, bo kto lubi gdy jednostki które starałeś się awansować giną sobie od trzech goblinów?), ale każdej kombinacji można użyć tylko raz lub zużywa to jakiś ładunek (w Spellforce pamiętam połączenie obu metod, czyli wrzucasz różne monety i w zależności od ich rodzaju i kolejności dostajesz coś innego w zamian... ale raczej nie będziemy robić automatu z itemami do WA :D)), więc żeby gra nie skończyła się mozolną walką 6 vs 100 przydałoby się trochę dołożyć jednostek na stronę graczy. Nie wiem co prawda czy żywiołak ognia to dobry pomysł: w grze nie ma many, a płacenie złotem za przywołańce nie do końca tu pasuje - nawet nie na każdej mapie musi być jakiś sklep. Odnawianie się w stylu można użyć przywołania raz na 3 tury też wydaje się być słabe, bo po prostu gracz będzie co te 3 tury je przywoływał za darmo, kiedy tylko się da. Chociaż myślę że gdyby było to gdzieś głęboko w drzewku, oraz były limity w stylu tylko 2 żywiołaki na raz (do podniesienia wybranym awansem), to mogłoby być ok. Dałbym też amlę każdemu z przywołańców, nawet jeżeli bardzo prostą (atak, ruch, hp, special). Bardziej summony pasowałyby jednak do kogoś jak nekromanta, oczywiście w formie zarazy - wtedy nie można jednostek przyzywać znikąd a trzeba walczyć aby coś dostać (oczywiście można też dorzucić questy które pozwolą dostać jednostki za free jeżeli ma się nekro w drużynie, np. za wejście na cmentarz lub do krypty). Jeżeli planujesz jednostkę w stylu heretyka (bo i tak dodatek jest daleko oddalony od standardów wesa) to może ona mieć całe drzewko poświęcone przyzywaniu demonów, a za summoning może płacić własnymi punktami życia (w przypadku potężniejszych demonów nawet stałym debuffem do zdrowia, ataku, lub doświadczenia potrzebnego do awansu, a podczas przywołania najpotężniejszych belzebubów jest szansa że zabije samego castera lub kogoś w pobliżu; można nawet zrobić rytuały wymagające kilku tur, lub więcej niż jednego heretyka w drużynie). Demony mogłyby też się zbuntować gdyby przywołujący był zbyt słaby by je opanować (lub zginął), wtedy byłyby po stronie neutralnej i atakowały zarówno graczy jak i wrogów. Można też zrobić druida przywołującego zwierzęta z lasu, różne ptaki i niedźwiedzie. Magowie w starych rpg mogli mieć tzw. chowańca, czyli zwierzątko które można trzymać ze sobą a można wypuścić osobno, mogłoby walczyć i wspomagać gracza a w razie kłopotów schować się w jego plecaku (jeżeli stoi zaraz w sąsiedztwie gracza i jeszcze nie zaatakował). Każdy gracz mógłby mieć tylko jednego na całą grę i jak zginie to przepada, lub móc przywołać ich więcej, ale dostać permamentną karę do statystyk w przypadku gdyby zginął. Sposobów jest wiele.

Tak czy siak, bo się lekko rozpisałem... Łap kod, daj znać czy działa. Standardowo, jak będziesz miał pytania, to pytaj... Mam trochę zawalony terminarz ale postaram się pomóc.

Pozdrawiam.
 
AxeFighter
Działa! Cool

Co do summonów, to w moim oryginalnym zamyśle wszystkie (czyli u druida, maga i nekro) powinny zadawać przywoływaczowi obrażenia, gdyż rzucający będzie czerpał moc z własnych sił życiowych, by powołać sługi do życia. Ewentualnie można też pokombinować coś z doświadczeniem, ale na pewno nie będzie przywołań na x tur jedno.

Co do samych scenariuszy to wiadomo, że trzeba je uatrakcyjnić, więc każdy, w miarę rozsądny event jest mile widziany.
Ja zaczynałem jako zwykły, napalony user, pisałem często newsy. Bach! Redaktor! Więc niebywale uradowany, pisałem jeszcze więcej, dodatkowo artykuły. Nie ma co, byłem nadpobudliwy wtedy... A jak zostałem mianowany adminem, to z początku w ogóle nie chciałem nim być! Byłem przestraszony odpowiedzialnością. Bo mnie nie kręciły tytuły, tylko Wesnoth. - Sagez

https://www.youtu...QuObfTx6Cg - link zaktualizowany!
 
http://wesnoth.com.pl
Sulik
Wystarczy, żeby do każdej mapy był niewielki wątek fabularny (konkretne osoby, miejsca, wydarzenia z własnymi nazwami i o własnych właściowściach zamiast kolejnych misji typu: rozgrom bandę orków czy bandytów). Trochę dialogów w trakcie pojawiania się eventów lub wrogów. Mapa podzielona na 2-4 etapy z mniejszymi bossami. Przeciwnicy zamiast być zawsze rekrutowani w zamkach, będą się spawnować w trakcie przemieszczania się bohaterów po mapie (np. bohater przemieszcza się na potrójnie szeroki most; nagle most zostaje zablokowany z dwóch stron przez wrogie jednostki; bohaterowie wchodzą do lasu i wpadają w zasadzkę elfów itp.).

Co do samych eventów: zrywające się mosty, trzęsienia ziemi powodujące powstawanie dziur w ziemi, zmiany pogody i jej wpływ na otoczenie, labirynty z przesuwającymi się ścianami, zatapiające się jaskinie (lawą lub wodą), ruchome rafy pilnowane przez mermanów, umarli powstający z grobów gdy przechodzi się przez cmentarz, teleportery, ochotnicze jednostki dołączające podczas naszej misji.

Edit: Misje poboczne, aby uzyskać artefakt pomocny do gromienia bossów lub uzyskania dodatkowego herosa. Sam scenariusz mógłby być po prostu dużym questem dla graczy-najemników.

Najlepiej zrobić na początek jeden, ciekawy, dobrze zaprogramowany scenariusz, zamiast robić dużo ale tylko na 50%, bo w ten sposób nigdy się nie przekonasz, czy pomysł WA sprawdza się dobrze w praktyce i czy jest sens go kontynuować.
Edytowane przez Sulik dnia 06-03-2016 15:07
 
AxeFighter
Dzięki Sulik za sugestie. Co do mnie, to grzebię tu i tam i zastanawiam się, czy ten kod ogłuszenia z Martwej Wody będzie działać w moim dodatku?

Pobierz kod źródłowy  Kod źródłowy
#define WEAPON_SPECIAL_STUN
    [damage]
        id=tail_stun
        name= _ "stun"
        description= _ "This attack hits so hard that the opponent is dazed and can no longer enforce a zone of control. The effect wears off on the opponent’s next turn."
        multiply=1
    [/damage]
#enddef




Pobierz kod źródłowy  Kod źródłowy
    [event]
        name=attacker_hits
        first_time_only=no

        [filter_attack]
            special=tail_stun
        [/filter_attack]

        [filter_second]
            [not]
                level=0
                [or]
                    [filter_wml]
                        [status]
                            stunned=yes
                        [/status]
                    [/filter_wml]
                [/or]
            [/not]
        [/filter_second]

        {VARIABLE second_unit.status.stunned yes}

        [if]
            [variable]
                name=second_unit.gender
                equals=female
            [/variable]

            [then]
                [set_variable]
                    name=tmp_stunned_text
                    value= _ "female^stunned"
                [/set_variable]
            [/then]

            [else]
                [set_variable]
                    name=tmp_stunned_text
                    value= _ "stunned"
                [/set_variable]
            [/else]
        [/if]

        [unstore_unit]
            variable=second_unit
            find_vacant=no
            text=$tmp_stunned_text
            red,green,blue=196,196,128
        [/unstore_unit]

        [object]
            silent=yes
            duration=turn

            [filter]
                x,y=$x2,$y2
            [/filter]

            [effect]
                apply_to=image_mod
                replace="CS(50,50,0)"
            [/effect]

            [effect]
                apply_to=zoc
                value=no
            [/effect]
        [/object]

        [clear_variable]
            name=tmp_stunned_text
        [/clear_variable]
    [/event]

    [event]
        name=defender_hits
        first_time_only=no

        [filter_second_attack]
            special=tail_stun
        [/filter_second_attack]

        [filter]
            [not]
                level=0
                [or]
                    [filter_wml]
                        [status]
                            stunned=yes
                        [/status]
                    [/filter_wml]
                [/or]
            [/not]
        [/filter]

        {VARIABLE unit.status.stunned yes}

        [if]
            [variable]
                name=unit.gender
                equals=female
            [/variable]

            [then]
                [set_variable]
                    name=tmp_stunned_text
                    value= _ "female^stunned"
                [/set_variable]
            [/then]

            [else]
                [set_variable]
                    name=tmp_stunned_text
                    value= _ "stunned"
                [/set_variable]
            [/else]
        [/if]

        [unstore_unit]
            variable=unit
            find_vacant=no
            text=$tmp_stunned_text
            red,green,blue=196,196,128
        [/unstore_unit]

        [object]
            silent=yes
            duration=turn

            [filter]
                x,y=$x1,$y1
            [/filter]

            [effect]
                apply_to=image_mod
                replace="CS(50,50,0)"
            [/effect]

            [effect]
                apply_to=zoc
                value=no
            [/effect]
        [/object]

        [clear_variable]
            name=tmp_stunned_text
        [/clear_variable]
    [/event]

    [event]
        name=turn refresh
        first_time_only=no

        [store_unit]
            [filter]
                side=$side_number
                [filter_wml]
                    [status]
                        stunned=yes
                    [/status]
                [/filter_wml]
            [/filter]
            variable=stunned
        [/store_unit]

        {FOREACH stunned i}
            {CLEAR_VARIABLE stunned[$i].status.stunned}

            [unstore_unit]
                variable=stunned[$i]
            [/unstore_unit]
        {NEXT i}

        {CLEAR_VARIABLE stunned}
    [/event]



Ja zaczynałem jako zwykły, napalony user, pisałem często newsy. Bach! Redaktor! Więc niebywale uradowany, pisałem jeszcze więcej, dodatkowo artykuły. Nie ma co, byłem nadpobudliwy wtedy... A jak zostałem mianowany adminem, to z początku w ogóle nie chciałem nim być! Byłem przestraszony odpowiedzialnością. Bo mnie nie kręciły tytuły, tylko Wesnoth. - Sagez

https://www.youtu...QuObfTx6Cg - link zaktualizowany!
 
http://wesnoth.com.pl
Piko
Nie widze powodu dla którego miałby nie działać. Jeszcze tylko musisz wrzucić

Pobierz kod źródłowy  Kod źródłowy
[lua]
    code=<<
   local _ = wesnoth.textdomain "wesnoth-dw"
   local old_unit_status = wesnoth.theme_items.unit_status
   
   function wesnoth.theme_items.unit_status()
      local u = wesnoth.get_displayed_unit()
      if not u then return {} end
      local s = old_unit_status()
      
      if u.status.stunned then
         table.insert(s, { "element",  { image = "misc/stunned-status-icon.png",
                                         tooltip = _"stunned: This unit is stunned. It cannot enforce its Zone of Control."
         } } )
      end
      
      return s
   end
   >>
[/lua]




do main.cfg, ale to jest wyłącznie do wyświetlania się ikonki (w
znaczeniu ten obrazek jak ślimak dla spowolnienia i zielona czaszka dla trucizny). W swoim najnowszym dodatku dużo się bawiłem takimi, jeśli chcesz to możesz zajrzeć.


Czerpanie mocy z własnych sił życiowych uważam za naciągane.
Edytowane przez Piko dnia 06-03-2016 18:10
 
AxeFighter
Folder Wesnoth Adventures wygrzebany na moim dysku. Mama nadzieję, że komuś się przyda.
AxeFighter dodał/a następującą plik:
wesnoth_adventures_11.rar [901.93kB / 399 Pobrane]

Ja zaczynałem jako zwykły, napalony user, pisałem często newsy. Bach! Redaktor! Więc niebywale uradowany, pisałem jeszcze więcej, dodatkowo artykuły. Nie ma co, byłem nadpobudliwy wtedy... A jak zostałem mianowany adminem, to z początku w ogóle nie chciałem nim być! Byłem przestraszony odpowiedzialnością. Bo mnie nie kręciły tytuły, tylko Wesnoth. - Sagez

https://www.youtu...QuObfTx6Cg - link zaktualizowany!
 
http://wesnoth.com.pl
Przejdź do forum:
Wygenerowano w sekund: 0.92
10,889,411 unikalne wizyty