Teniendo en cuenta que se extendió el plazo para la entrega de mapas, voy a mostrar y explicar una función que estoy utilizando de manera extendida, para alentar un poco a todo aquel que quiera modificar su mapa más en profundidad.
Lo que hay que hacer es sencillo:
Primero hay que crear un puff nuevo. ¿Qué es un puff? Es el humo que sale cuando la bala choca contra un sólido no sangrante y que imprime el decal de bala en la pared, o bien spawnea el actor de sangrado en caso de chocar contra un actor que sangre.
Por alguna razón, al hacer un inheritance desde el BulletPuff original, la linea que imprime el decal en la pared no se mantiene, por lo que debemos declararla en cada puff personalizado.
Código: |
ACTOR ShellPuff : BulletPuff
{
Damagetype ShellDamage
Decal "BulletChip"
}
|
Luego debemos asignarle el puff al arma con el que queremos hacer un daño personalizado:
Código: |
ACTOR SuperShotgunD : SuperShotgun Replaces SuperShotgun
{
// Propiedades y flags del actor
states
{
Fire:
SHT2 A 3
SHT2 A 0 A_FireBullets (11.2, 7.1, 20, 5, "ShellPuff") // Estas tres lineas sustituyen al "A_FireShotgun2"
SHT2 A 0 A_PlaySound ("weapons/sshotf", CHAN_WEAPON) // Estas tres lineas sustituyen al "A_FireShotgun2"
SHT2 A 7 A_GunFlash // Estas tres lineas sustituyen al "A_FireShotgun2"
SHT2 B 7
SHT2 C 7 A_CheckReload
SHT2 D 7 A_OpenShotgun2
SHT2 E 7
SHT2 F 7 A_LoadShotgun2
SHT2 G 6
SHT2 H 6 A_CloseShotgun2
SHT2 A 5 A_ReFire
Goto Ready
}
}
|
Hay que tener en cuenta que cada arma personalizada hay que agregarla a un slot en el lump KEYCONF.
Después, en cada uno de los enemigos que se le quiera asignar la muerte, se le agrega el estado "death" personalizado:
Código: |
Actor Marica : Zombieman 31666
{
// Propiedades y flags del actor
states {
Death.Shelldamage:
// Código de muerte especial
}
} |
Y eso es todo. De ésta forma vamos a poder crear diferentes tipos de muertes para cada arma.
Con algo de ingenio se pueden hacer cosas muy interesantes con éste tipo de código, sobre todo si lo combinamos con ACS.
Saludos!
_________________
![](http://sig.grumpybumpers.com/host/charon.gif)
Hexagon 1970 Dev