Jump to content

Extras nos disfarces de armas


oserra
 Share

Recommended Posts

Viva,

recentemente adicionei os items para rodar e adicionar extras aos disfarces e está tudo a funcionar direito, mas reparei que só consigo utilizá-los em disfarces com extras(ou seja está a funcionar como pretendido).

No entanto, para alem de funcionar nos disfarces de corpo e penteados, para as armas funciona mal, sendo que a espada tem subtype 9 o item nem sequer reconhece e depois cada tipo de arma diferente dá extras de uma sub-categoria de items diferente tambem(ex:brincos, colares, etc).

Em que ficheiros da source posso editar isto?

Nota: O meu sistema deixa colocar extras apenas em disfarces com magic_pct= 100.

Obrigado

Link to comment
Share on other sites

1 hora atrás, oserra disse:

Viva,

recentemente adicionei os items para rodar e adicionar extras aos disfarces e está tudo a funcionar direito, mas reparei que só consigo utilizá-los em disfarces com extras(ou seja está a funcionar como pretendido).

No entanto, para alem de funcionar nos disfarces de corpo e penteados, para as armas funciona mal, sendo que a espada tem subtype 9 o item nem sequer reconhece e depois cada tipo de arma diferente dá extras de uma sub-categoria de items diferente tambem(ex:brincos, colares, etc).

Em que ficheiros da source posso editar isto?

Nota: O meu sistema deixa colocar extras apenas em disfarces com magic_pct= 100.

Obrigado

O sistema é deste forum? 

Link to comment
Share on other sites

Penso que descobri uma possível solução, vou deixar aqui, isto vai ajudar quem tem o sistema com subtype 9 na espada, 5 nas adagas, etc(logico que o sistema de value3 tambem poderá precisar de umas alteraçoes para os extras funcionarem normalmente, mas serao ajustes que terao de ser feitos).

Entao, src/game/item_attribute.cpp:

Procurar:

Spoiler

int CItem::GetAttributeSetIndex()int CItem::GetAttributeSetIndex()

 

Provavelmente terão logo a seguir:

Spoiler

if (GetType() == ITEM_ARMOR || GetType() == ITEM_COSTUME)

Tirar "|| GetType() == ITEM_COSTUME", ir para o fim desse bloco, fazer 1 linha e colar:

 

Spoiler

if (GetType() == ITEM_COSTUME)
    {
        switch(GetSubType())
        {
            case COSTUME_BODY:
                return ATTRIBUTE_SET_BODY;
                
            case COSTUME_HAIR:
                return ATTRIBUTE_SET_HEAD;
            
            case COSTUME_WEAPON_SWORD:
            case COSTUME_WEAPON_TWO_HANDED:
            case COSTUME_WEAPON_DAGGER:
            case COSTUME_WEAPON_BOW:
            case COSTUME_WEAPON_BELL:
            case COSTUME_WEAPON_FAN:
                return ATTRIBUTE_SET_WEAPON;
        }
    }

Se tiver alguma coisa mal peço que corrijam, acabei de testar e funciona tudo como esperado.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...