lukanpeixe / projetocastleroid

Trabalhando em códigos para o mod/mapa de aventura para Terraria produzido pelo Idealizador e seguidores do canal Press key to play.
Apache License 2.0
8 stars 7 forks source link

Índice das tarefas #19

Open Gurigraphics opened 7 years ago

Gurigraphics commented 7 years ago

Tarefas Concluídas

6 - mapa sem spawn de qualquer NPC (Monstros, animais, etc.) https://github.com/lukanpeixe/projetocastleroid/issues/9 8- Npc Personalizável https://github.com/lukanpeixe/projetocastleroid/issues/10 7 - Criar dispositivo wire que mate todos os monstros e elimine todos os drops. //Resolvido pela Distancia do Spawn 12 - Criar dispositivo wire que manda energia quando o personagem morre. //Resolvido adicionando censores nas áreas de respawn 13 - Tocha de diamante invisível (sem sprite mas com iluminação) Obs: Sem particula de fogo também. Tocha Invisível (Transparent Shine) https://github.com/lukanpeixe/projetocastleroid/issues/18 9 - Criar item de teleporte para ponto específico do mapa. https://github.com/lukanpeixe/projetocastleroid/issues/15 5 - Mapa sem transição temporal e ocorrência de eventos. https://github.com/lukanpeixe/projetocastleroid/issues/21 15 - Permitir alteração de música para ambientes específico. //Caixa de música invisível e sem particulas já seria de bom tamanho. //Ser ativada por wire/presença de NPC pode tornar particularmente interessante em boss battles. 4 - Personagem sem regeneração de vida(concluído) e começando com 20/40/60 de HP. https://github.com/lukanpeixe/projetocastleroid/issues/13 //HP 40 Resolvido através da obrigação de consumo de item no início da aventura. 1 - Criar novas estátuas (ou outro item de Spawn como tocha ou quadro) para spawnar qualquer tipo de criatura, incluindo bosses. //Obs.: Falta testar com Bosses. 10 - Criar poções customizadas //O Código para tal é relativamente simples, basta agora especificar poções e criar seus códigos em um regime praticamente CTRL+C e CTRL+V.

Tarefas Abertas

3 - Alterar cor e status das armas e itens originais. //Clone > Sprites e Código https://github.com/lukanpeixe/projetocastleroid/issues/8 16 - Editar/Criar AI's de NPCs (monstros/bosses). https://github.com/lukanpeixe/projetocastleroid/issues/17

Tarefas Pendentes

11 - Criar blocos fakes destrutíveis. //Substituir sprite de bloco do tipo, como teia/mato espinho/ grama e alterar suas propriedades 14 - Sprites grandes para o cenário, talvez quadros que se encaixem (se puderem ser animados, é melhor ainda)

[Atualizado pelo @LukanPeixe dia 10/11/2016]

ghost commented 7 years ago

Encrevel

Kemado commented 7 years ago

Aquele salve esperto, vou começar a trabalhar na tarefa 1#. Acredito que entrego até 02/11

Kemado commented 7 years ago

Lukan sobre a tarefa 10 me de um exemplo de como seria uma poção personalizada...

SamuelDeboni commented 7 years ago

Vou Começar a tarefa 5#. Devo entregar ate o final da semana.

lukanpeixe commented 7 years ago

Aquele salve esperto, vou começar a trabalhar na tarefa 1#. Acredito que entrego até 02/11

O ExempleMod do tmodloader tem uma estátua. Parece que tem um bug que eles não conseguiram resolver ainda, mas começar pela estátua de exemplo deve facilitar bastante.

Lukan sobre a tarefa 10 me de um exemplo de como seria uma poção personalizada...

Uma poção que aumenta 5 de HP por segundo, durante 10 segundos. Uma poção que teleporta para x=5000 y=5000 Uma poção que te torna forte contra monstro X OU do tipo X

Vou Começar a tarefa 5#. Devo entregar ate o final da semana.

Obrigado Samuel =D Eu acho que já vi em algum canto a resposta para isso, não parece ser difícil e vai provavelmente o código vai para a castleroid.cs, Mas seria legal se tivesse também uma forma de trocar os horários através de wires ou outra condição. A função de troca tem no "Hero Mod", se acha a source dele, fica mais fácil. Mas encare o segundo objetivo como "bonus", o importante mesmo é travar o tempo.

Gurigraphics commented 7 years ago

Vou Começar a tarefa 5#. Devo entregar ate o final da semana.

Eu abri o Cheat Sheet e já vi como fazer isso.

Main.time = 32400.1; // fica dia
Main.time = 0;  // fica noite
Outra opção
Main.dayTime = true; // fica dia

Vou postar lá.

lukanpeixe commented 7 years ago

Eu abri o Cheat Sheet e já vi como fazer isso.

Essas opções ainda não conseguem parar o tempo né?

EDIT: Desconsidera, vi o outro tópico #21 só agora.

Kemado commented 7 years ago

1-Objetos para spawn de inimigos. Acabei de concluir o spawn de npcs através de qualquer coisa, acabei de assistir o video sobre a tocha invisivel, e primeiramente parabéns a todos envolvidos foi um excelente trabalho, segundo podemos usar da mesma lógica para criar objetos para spawn tipo vasos e etc.. Estou comentando linha a linha e tentando optimizar o código.

Gurigraphics commented 7 years ago

Lukan, acho que os tópicos das tarefas concluídas podem ser fechados pra despoluir o fórum e tornar mais claro o que falta ser feito.

lukanpeixe commented 7 years ago

Lukan, acho que os tópicos das tarefas concluídas podem ser fechados pra despoluir o fórum e tornar mais claro o que falta ser feito.

Okay, irei tentar fazer isso.

lukanpeixe commented 7 years ago

Atualizado o texto da primeira postagem.

Kemado commented 7 years ago

IA é uma coisa que vamos trabalhar o tempo todo aqui, mas vou listar alguns dos que devem ser nosso próximos desafios:

1-Editar AI de NPC Vanila, incluindo velocidade de movimento, área de alcance e delimitações (presença limitada por horário, bioma ou evento); 2-Trocar sprites de Bosses e Mini-Bosses padrões (mais especificamente, as cores, o que não acarreta na necessidade de redimensionar hitbox); 3-NPC disparar dois ou mais projeteis simultaneamente para direção diferentes; 4-NPC disparar dois ou mais projeteis alternadamente para direção diferentes; 5-Transforma um NPC em outro NPC após alguma condição (sendo morte a condição mais importante, mas pode se estender para condições como item específico, contato com tile X, etc.).

R1-Pelo que pesquisei até agora, ainda não encontrei formas de mudar a AI de um NPC sem ser manualmente. Vamos lá, quando clonamos um NPC Vanilla se não setar os atributos no SetDefaults() ele é uma cópia identica,logo ele copia o evento ai pré-definido, neste caso teria que criar uma nova ai na função AI() o grande x nesse caso é analizar como foi criado o código de cada AI dessa forma da pra identificar quando o npc necessita de determinadas condições então copiamos o código da AI e modificamos as ações do NPC de acordo com nossa necessidade.

R2-Essa também utiliza a função SetDefaults() para tamanho de sprites, já cores e demais propriedades da para mudar no código não pesquisei mas tenho certeza que sim, pois nos jogos que programo consigo mudar cores via código.

R3 R4- É a mesma lógica aplicada na gosma atirador e na MaliciusFlower mas posso dar uma aprofundada no código.

R5- realmente acho o mais importante porem ainda não consegui encontrar uma forma de identificar a morte do npc ou como remover o spawn dele. Ex: Vamos a minha querida Rosaria, quando ela morrer ela virar uma planta carnivora até da para fazer spawnar a planta só não sei remove-la e quando descobrir isso vai ser essencial para remover itens do cenario, após matar um boss o teleporte para a sala é destruido ou removido do jogo ou a condição dentro do npc para ser sumonado é removida.

Já conseguimos identificar se o item esta ou não no inventário se estiver no inventario ele pode abrir porta x. Gostaria de colocar nas tarefas como colocar o item de uma forma que ele não possa ser destruido ou removido do inventário, criando assim itens chaves.