Breakable Actor - EDukeWiki

# Breakable Actor

From EDukeWiki

Breakable actors are objects in the game which break - that is to say, spawn debris and disappear - when hit by a weapon. The debris could be a material, such as glass shards, or it could be gore. Hardcoded examples are sprites like BOTTLE1.

This article assumes that you have already added the art or models you wish to use, if you have not yet done so, see DEF Language. In this example the actor's tile number is 5124, but you should change this as required.

Firstly, you need to define your actor. Add the following to the bottom of user.con;

    define BREAKABLE1 5124  // This means Tile 5124 can now be referred to as BREAKABLE1 in your code

Now you need to decide what you want it to do when it is hit by a weapon, if you want it to spawn generic debris then add the following below your define;

    useractor notenemy BREAKABLE1  // Your actor's code starts here
      cstat 257  // Makes sure you can hit the actor
      ifhitweapon  // Has a weapon hit the actor?
      {
        sound VENT_BUST  // Makes a noise when you break it
        debris SCRAP1 4  // These determine what type of debris to spawn and how much
        debris SCRAP2 4
        debris SCRAP3 4
        debris SCRAP4 4
        debris SCRAP5 4
        debris SCRAP6 4
        killit  // Removes the actor from the map
      }
    enda  // Your actor's code ends here

Of course, you can make the actor spawn glass by using lotsofglass instead of the debris command;

    useractor notenemy BREAKABLE1
      cstat 257
      ifhitweapon
      {
        sound GLASS_HEAVYBREAK
        lotsofglass 30  // Spawns 30 glass shards
        killit
      }
    enda

The other option is to spawn jibs (blood and guts) using the guts command;

    useractor notenemy BREAKABLE1
      cstat 257
      ifhitweapon
      {
        sound SQUISHED
        guts JIBS1 3  // Spawns 3 of this type of jib
        guts JIBS2 3
        guts JIBS3 3
        guts JIBS4 3
        guts JIBS5 3
        killit
      }
    enda

Notes;

- You could combine more than one effect, spawning guts and debris at the same time for example, or spawn nothing at all.
- If you are copying this code, make sure you do not set up your actor more than once, there should be only one useractor notenemy BREAKABLE1 line and a single enda line per actor.
- A full list of sounds can be found on the infosuite.
- You may also be interested in the ifwasweapon command to make your actor's behaviour more specific.
- If you are unsure about what is happening in the code, try typing each command used into the search bar.

Retrieved from "http://wiki.eduke32.com/w/index.php?title=Breakable_Actor&oldid=11454"
Category:

- Tutorials