Monstros que desviam de tiros...
Enviado: Qui Ago 06, 2009 8:56 am
E aí galera?
Agora, com as grandes possibilidades do DECORATE, estou tentando criar monstros que agem de acordo com determinadas situações no jogo. De algumas delas, tem o Zumbi que rouba armas, inventórios, tem um Imp que desvia de seus tiros, outro que se teletransporta, um Demon que pula atrás de você e um monstro que foge se estiver com vida muito baixa. Há muitas outras possibilidades, mas é tudo feito de forma simples. Vou tentar explicar a lógica aqui:
1) Monstros que fogem de seus tiros
Cada vez que uma arma atira (ou seja "Fire" state), coloque um A_GiveInventory("WeaponFiring"). Para que o monstro saiba quando você vai atirar, seu "See" state deve ficar assim:
See:
TROO A 0 A_JumpIfInTargetInventory("WeaponFiring",1,6)
TROO AA 2 A_Chase
TROO B 0 A_JumpIfInTargetInventory("WeaponFiring",1,3)
TROO BB 2 A_Chase
Loop
TROO 0 A_FaceTarget
TROO 0 A_SetAngle(90+angle)
TROO 0 A_Recoil(-12)
Loop
Dessa forma, o monstro estará sempre checando em que hora o jogador irá atirar. Assim que detectar uma ação de tiro, ele irá se virar de frente, girar em um ângulo de 90 graus e dar um salto (A_Recoil), voltando à perseguição em seguida (A_Chase). Utilizei isto em um Chaingunner no "Missile" state, por exemplo, para que ele desviasse de tiros mesmo atirando.
2) Fazendo um monstro cujo ataque não possa ser interrompido
Este é bem fácil. A lógica é não permitir que o monstro sinta dor ao atacar (não entrar no "Pain" state). Assim, podemos tentar isto:
Missile:
POSS E 0 A_ChangeFlag("NOPAIN",1)
POSS E 8 A_FaceTarget
POSS F 8 Bright A_PosAttack
Goto See
Assim, toda vez que o monstro atirar, completará a ação até o final (lembrando que o monstro terá sua vida diminuída ao ser atacado, mas não "sentirá dor".) O ataque só poderá ser interrompido quando ele morrer.
Aos poucos vou trazendo outras dicas.
Valeu galera!!!
Agora, com as grandes possibilidades do DECORATE, estou tentando criar monstros que agem de acordo com determinadas situações no jogo. De algumas delas, tem o Zumbi que rouba armas, inventórios, tem um Imp que desvia de seus tiros, outro que se teletransporta, um Demon que pula atrás de você e um monstro que foge se estiver com vida muito baixa. Há muitas outras possibilidades, mas é tudo feito de forma simples. Vou tentar explicar a lógica aqui:
1) Monstros que fogem de seus tiros
Cada vez que uma arma atira (ou seja "Fire" state), coloque um A_GiveInventory("WeaponFiring"). Para que o monstro saiba quando você vai atirar, seu "See" state deve ficar assim:
See:
TROO A 0 A_JumpIfInTargetInventory("WeaponFiring",1,6)
TROO AA 2 A_Chase
TROO B 0 A_JumpIfInTargetInventory("WeaponFiring",1,3)
TROO BB 2 A_Chase
Loop
TROO 0 A_FaceTarget
TROO 0 A_SetAngle(90+angle)
TROO 0 A_Recoil(-12)
Loop
Dessa forma, o monstro estará sempre checando em que hora o jogador irá atirar. Assim que detectar uma ação de tiro, ele irá se virar de frente, girar em um ângulo de 90 graus e dar um salto (A_Recoil), voltando à perseguição em seguida (A_Chase). Utilizei isto em um Chaingunner no "Missile" state, por exemplo, para que ele desviasse de tiros mesmo atirando.
2) Fazendo um monstro cujo ataque não possa ser interrompido
Este é bem fácil. A lógica é não permitir que o monstro sinta dor ao atacar (não entrar no "Pain" state). Assim, podemos tentar isto:
Missile:
POSS E 0 A_ChangeFlag("NOPAIN",1)
POSS E 8 A_FaceTarget
POSS F 8 Bright A_PosAttack
Goto See
Assim, toda vez que o monstro atirar, completará a ação até o final (lembrando que o monstro terá sua vida diminuída ao ser atacado, mas não "sentirá dor".) O ataque só poderá ser interrompido quando ele morrer.
Aos poucos vou trazendo outras dicas.
Valeu galera!!!