actor DoomImp 3001
{
spawnid 5
obituary "%o was burned by an imp."
hitobituary "%o was slashed by an imp."
health 60
radius 20
height 56
mass 100
speed 8
painchance 200
seesound "imp/sight"
painsound "imp/pain"
deathsound "imp/death"
activesound "imp/active"
MONSTER
+FLOORCLIP
states
{
Spawn:
TROO AB 10 A_Look
loop
See:
TROO AABBCCDD 3 A_Chase
loop
Melee:
Missile:
TROO EF 8 A_FaceTarget
TROO G 6 A_TroopAttack // See DoomImpBall
goto See
Pain:
TROO H 2
TROO H 2 A_Pain
goto See
Death:
TROO I 8
TROO J 8 A_Scream
TROO K 6
TROO L 6 A_NoBlocking
TROO M -1
stop
XDeath:
TROO N 5
TROO O 5 A_XScream
TROO P 5
TROO Q 5 A_NoBlocking
TROO RST 5
TROO U -1
stop
Raise:
TROO ML 8
TROO KJI 6
goto See
}
}
Por partes como sempre.
Actor, como você sabe é o que define a thing. Escolhi o imp como base por que ele é o monstro mais simples e versátil do DooM.actor DoomImp 3001
{
spawnid 5
obituary "%o was burned by an imp."
hitobituary "%o was slashed by an imp."
health 60
radius 20
height 56
mass 100
speed 8
painchance 200
seesound "imp/sight"
painsound "imp/pain"
deathsound "imp/death"
activesound "imp/active"
MONSTER
+FLOORCLIP
SpawnID é um valor que define o número da thing a ser usada em alguns comandos de ACS, como thing_spawn por exemplo, não é muito útil e seu valor deve estar entre 0 e 255.
Obituary e hitobituary é a mensagem que aparece quando você é morto pelo projétil ou por um melee, respectivamente. Repare que "%o" é o nome do Player em questão, no jogo isso fica assim "sexygay123 was burned by an imp."
Health, Radius, height e mass são respectivamente : Saúde (obviamente, a saúde do bicho), sua largura (do monstro, não de você), sua altura (idem) e sua massa (algo como o "peso" do monstro, compare a massa de um zombieman com a de um cyberdemon que você vai entender).
Speed e Painchance são a velocidade do monstro e sua chance de dor.
seesound "imp/sight"
painsound "imp/pain"
deathsound "imp/death"
activesound "imp/active"
São os seus sons predefinidos no SNDINFO. Não vou detalhar isso.
MONSTER é VITALMENTE importante. Isso define que o actor É um monstro.
+FLOORCLIP é uma flag que define que o monstro tem contato com o chão. Na verdade eu nem sei pra que isso serve :p
Agora, os queridos states. Não esqueça das chaves e a parafernália toda. Estou contando que você é alguém que já tem um conhecimento básico de DECORATE.states
{
Spawn:
TROO AB 10 A_Look
loop
See:
TROO AABBCCDD 3 A_Chase
loop
Melee:
Missile:
TROO EF 8 A_FaceTarget
TROO G 6 A_TroopAttack // See DoomImpBall
goto See
Spawn é o state do monstro parado e pronto pra atacar o jogador. A_Look define que o monstro acorde quando ver um inimigo, ouvir um tiro ou ser ferido.
Ponha um Loop, pra ação se reptir pra sempre.
See é o estado do monstro quando nos vê. A_Chase é um comando viltal, pois ordena ao monstro que persiga o Player.
Não esqueça do bendito Loop.
Melee E missile juntos significam que eles tem a mesma frame. Melee é o ataque de perto (que faz aquele característico arranhão do imp) e Missile é o ataque a longa distância (DICA: você pode pôr a flag MISSILEEVENMORE pra crar monstros mais agressivos que atacam mesmo a grandes deistâncias). A_FaceTarget é um Code Pointer que faz com que o monstro encare o jogador antes de atacar. A_TrropAttack é o ataque do Imp. Goto See ordena que depois do ataque o actor volte pro estado See.
Pain é o estado de dor do actor, depende diretamento do painchance. A_Pain faz o som de pain do monstro.Pain:
TROO H 2
TROO H 2 A_Pain
goto See
Death:
TROO I 8
TROO J 8 A_Scream
TROO K 6
TROO L 6 A_NoBlocking
TROO M -1
stop
XDeath:
TROO N 5
TROO O 5 A_XScream
TROO P 5
TROO Q 5 A_NoBlocking
TROO RST 5
TROO U -1
stop
Raise:
TROO ML 8
TROO KJI 6
goto See
}
}
Death, como o nome indica é a morte do monstro. A_Scream reproduz o som de morte, A_Noblocking faz com que o monstro não tenha mais bloqueio e você possa atravessá-lo. Ponha im stop no final.
Xdeath é o state de splatter death, quando o inimigo explode em pedaços. É a mesma coisa do Death, só que reproduz o som da morte splatter (A_XScream).
Raise é o state do monstro quando é ressucitado pelo Arch-vile.
É, só espero que tenham gostado e aprendido algo

Créditos : Tutorial escrito por Pedro Vc, com algumas coisas tiradas da Zdoom Wiki e do tutorial de JackTheRipper.