Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Underhell Snake  (Read 1319 times)

AnotherDwarvernDeath

  • Bay Watcher
    • View Profile
Underhell Snake
« on: June 04, 2010, 09:54:42 pm »

(Not related to the Underdark compilation, though I may contribute it when it's finished)
Okay, here's my second creature for .31. Its basically a colossal snake with a zombie sewn onto the end. The zombie has an axe (which may be a bit overpowered). Instead of a snake head, the creature's got a huge human skull taped on. Here's the raws:

Creature:
Code: [Select]
[CREATURE:SNAKE_UNDERHELL]
[DESCRIPTION:This snake is insanely enormous, with a massive human-like skull instead of a head. The jaw hangs open impossibly wide, joined to the skull with two shiny, white strands of slime. At the end of the gigantic tail, a human upper body is apparently sewn on, standing upright, a battleaxe welded to its hand. Its face is completely featureless except for two glowing white eyes.]
[NAME:Underhell Snake:Underhell Snakes:Underhell Snake]
[CASTE_NAME:Underhell Snake:Underhell Snakes:Underhell Snake]
[CREATURE_TILE:'S'][COLOR:4:0:0][GLOWTILE:'"'][GLOWCOLOR:7:0:1]
[CARNIVORE]
[PREFSTRING:unsettling form]
[MEGABEAST]
[BODY:SNAKE_UNDERHELL_BODY:HEART:GUTS:ORGANS:THROAT:NECK:SPINE:RIBCAGE]
[BODY_DETAIL_PLAN:STANDARD_MATERIALS]
[REMOVE_MATERIAL:LEATHER]
[REMOVE_MATERIAL:HAIR]
[USE_MATERIAL_TEMPLATE:SCALE:SCALE_TEMPLATE]
[BODY_DETAIL_PLAN:STANDARD_TISSUES]
[REMOVE_TISSUE:HAIR]
[USE_TISSUE_TEMPLATE:SCALE:SCALE_TEMPLATE]
[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SCALE:MUSCLE:BONE:CARTILAGE]
[USE_TISSUE_TEMPLATE:FAT:FAT_TEMPLATE]
[USE_TISSUE_TEMPLATE:SLIME:SLIME_TEMPLATE]
[USE_TISSUE_TEMPLATE:EYE:EYE_TEMPLATE]
[TISSUE:STEEL_AXE]
[TISSUE_NAME:steel:NP]
[TISSUE_MATERIAL:INORGANIC:STEEL]
[RELATIVE_THICKNESS:1]
[CONNECTS]
[STRUCTURAL]
[TISSUE_SHAPE:LAYER]
[BODY_DETAIL_PLAN:SNAKE_UNDERHELL]
[TISSUE_LAYER:BY_TOKEN:SK:BONE]
[TISSUE_LAYER:BY_TOKEN:JW:BONE]
[TISSUE_LAYER:BY_TOKEN:S1:SLIME]
[TISSUE_LAYER:BY_TOKEN:S2:SLIME]
[TISSUE_LAYER:BY_TOKEN:RES:BONE]
[TISSUE_LAYER:BY_TOKEN:LES:BONE]
[TISSUE_LAYER:BY_TOKEN:REYE:EYE]
[TISSUE_LAYER:BY_TOKEN:LEYE:EYE]
[TISSUE_LAYER:BY_TOKEN:AXE:STEEL_AXE]
[SELECT_TISSUE_LAYER:HEART:BY_CATEGORY:HEART]
[PLUS_TISSUE_LAYER:SCALE:BY_CATEGORY:THROAT]
    [SELECT_TISSUE_LAYER:ALL]
      [TL_HEALING_RATE:20]
[BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS]
[BODY_DETAIL_PLAN:HUMANOID_RIBCAGE_POSITIONS]
[USE_MATERIAL_TEMPLATE:SINEW:SINEW_TEMPLATE]
[TENDONS:LOCAL_CREATURE_MAT:SINEW:200]
[LIGAMENTS:LOCAL_CREATURE_MAT:SINEW:200]
[HAS_NERVES]
[USE_MATERIAL_TEMPLATE:BLOOD:CREATURE_EXTRACT_TEMPLATE]
[STATE_NAME:ALL_SOLID:Underhell blood]
[STATE_ADJ:ALL_SOLID:Underhell blood]
[STATE_NAME:LIQUID:Underhell blood]
[STATE_ADJ:LIQUID:Underhell blood]
[STATE_NAME:GAS:Underhell blood]
[STATE_ADJ:GAS:Underhell blood]
[MELTING_POINT:9950]
[BOILING_POINT:15000]
[STATE_COLOR:ALL_SOLID:GRAY]
[STATE_COLOR:LIQUID:BLACK]
[STATE_COLOR:GAS:GRAY]
[PREFIX:NONE]
[ENTERS_BLOOD]
[SYNDROME]
[SYN_NAME:Underhell Disease]
[SYN_AFFECTED_CLASS:GENERAL_POISON]
[SYN_IMMUNE_CREATURE:SNAKE_UNDERHELL:ALL]
[SYN_CONTACT]
[CE_DIZZINESS:SEV:100:PROB:100:START:0:PEAK:100:END:500]
[CE_PAIN:SEV:5000:PROB:100:START:0:PEAK:200:END:300]
[CE_PARALYSIS:SEV:100:PROB:10:START:0:PEAK:200:END:300]
[CE_VOMIT_BLOOD:SEV:1000:PROB:50:START:5:PEAK:100:END:500]
[BLOOD:LOCAL_CREATURE_MAT:BLOOD:LIQUID]
[CREATURE_CLASS:GENERAL_POISON]
[USE_MATERIAL_TEMPLATE:PUS:PUS_TEMPLATE]
[PUS:LOCAL_CREATURE_MAT:PUS:LIQUID]
[BODY_SIZE:0:0:180000]
[BODY_SIZE:1000:0:23000000]
[BODY_APPEARANCE_MODIFIER:LENGTH:90:95:98:100:102:105:110]
[ATTACK:BITE:BODYPART:BY_TOKEN:RL_FANG]
[ATTACK_SKILL:BITE]
[ATTACK_VERB:bite:bites]
[ATTACK_CONTACT_PERC:100]
[ATTACK_PENETRATION_PERC:100]
[ATTACK_PRIORITY:MAIN]
[ATTACK_FLAG_EDGE]
[ATTACK_FLAG_CANLATCH]
[ATTACK:BITE:BODYPART:BY_TOKEN:LL_FANG]
[ATTACK_SKILL:BITE]
[ATTACK_VERB:bite:bites]
[ATTACK_CONTACT_PERC:100]
[ATTACK_PENETRATION_PERC:100]
[ATTACK_PRIORITY:MAIN]
[ATTACK_FLAG_EDGE]
[ATTACK_FLAG_CANLATCH]
[ATTACK:BITE:BODYPART:BY_TOKEN:RU_FANG]
[ATTACK_SKILL:BITE]
[ATTACK_VERB:bite:bites]
[ATTACK_CONTACT_PERC:100]
[ATTACK_PENETRATION_PERC:50]
[ATTACK_PRIORITY:SECOND]
[ATTACK_FLAG_EDGE]
[ATTACK:BITE:BODYPART:BY_TOKEN:LU_FANG]
[ATTACK_SKILL:BITE]
[ATTACK_VERB:bite:bites]
[ATTACK_CONTACT_PERC:100]
[ATTACK_PENETRATION_PERC:50]
[ATTACK_PRIORITY:SECOND]
[ATTACK_FLAG_EDGE]
[ATTACK:SCRATCH:BODYPART:BY_TOKEN:AXE]
[ATTACK_SKILL:GRASP_STRIKE]
[ATTACK_VERB:slash:slashes]
[ATTACK_FLAG_WITH]
[ATTACK_CONTACT_PERC:100]
[ATTACK_PENETRATION_PERC:90]
[ATTACK_PRIORITY:MAIN]
[ATTACK_FLAG_EDGE]
[NOPAIN][NOBREATHE][NOSTUN][NONAUSEA][NOEMOTION][NOEXERT][EXTRAVISION]
[ALL_ACTIVE]
[SPEED:1700][SWIMS_INNATE][SWIM_SPEED:1700]
[SET_TL_GROUP:BY_CATEGORY:ALL:SCALE]
[TL_COLOR_MODIFIER:RED:1]
[TLCM_NOUN:scales:PLURAL]
[SELECT_MATERIAL:ALL]
[MULTIPLY_VALUE:2]

Body:
Code: [Select]
[BODY:SNAKE_UNDERHELL_BODY]
[BP:UB:body:bodies][UPPERBODY][LOWERBODY][STANCE][CATEGORY:BODY]
[DEFAULT_RELSIZE:900]
[BP:SK:skull:skulls][CON:UB][HEAD]
[DEFAULT_RELSIZE:600]
[BP:S1:first slime strand:STP][CON:SK][RIGHT]
[DEFAULT_RELSIZE:100]
[BP:S2:second slime strand:STP][CON:SK][LEFT]
[DEFAULT_RELSIZE:100]
[BP:JW:jaw:jaws][CON:S1][CON:S2]
[DEFAULT_RELSIZE:300]
[BP:LES:left eye socket:STP][CON:SK][LEFT][APERTURE][EMBEDDED]
[DEFAULT_RELSIZE:100]
[BP:RES:right eye socket:STP][CON:SK][RIGHT][APERTURE][EMBEDDED]
[DEFAULT_RELSIZE:100]
[BP:CUB:corpse's upper body:corpse's upper bodies][CON:UB][CATEGORY:BODY]
[DEFAULT_RELSIZE:20]
[BP:RUA:corpse's right upper arm:STP][CON:CUB][LIMB][RIGHT][CATEGORY:ARM_UPPER]
[DEFAULT_RELSIZE:10]
[BP:LUA:corpse's left upper arm:STP][CON:CUB][LIMB][LEFT][CATEGORY:ARM_UPPER]
[DEFAULT_RELSIZE:10]
[BP:RLA:corpse's right lower arm:STP][CON:RUA][LIMB][RIGHT][CATEGORY:ARM_LOWER]
[DEFAULT_RELSIZE:10]
[BP:LLA:corpse's left lower arm:STP][CON:LUA][LIMB][LEFT][CATEGORY:ARM_LOWER]
[DEFAULT_RELSIZE:10]
[BP:RH:corpse's right hand:STP][CON:RLA][GRASP][RIGHT][CATEGORY:HAND]
[DEFAULT_RELSIZE:4]
[BP:LH:corpse's left hand:STP][CON:LLA][LEFT][CATEGORY:HAND]
[DEFAULT_RELSIZE:4]
[BP:AXE:welded axe:STP][CON:LH]
[DEFAULT_RELSIZE:12]
[BP:HD:corpse's head:STP][CON:CUB][HEAD][CATEGORY:HEAD]
[DEFAULT_RELSIZE:8]
[BP:REYE:corpse's right eye:STP][CON:HD][SIGHT][EMBEDDED][SMALL][RIGHT][CATEGORY:EYE]
[DEFAULT_RELSIZE:10]
[BP:LEYE:corpse's left eye:STP][CON:HD][SIGHT][EMBEDDED][SMALL][LEFT][CATEGORY:EYE]
[DEFAULT_RELSIZE:10]
[BP:RU_FANG:right upper fang:right upper fangs][CON:SK][CATEGORY:TOOTH][SOCKET][SMALL]
[DEFAULT_RELSIZE:28]
[BP:LU_FANG:left upper fang:left upper fangs][CON:SK][CATEGORY:TOOTH][SOCKET][SMALL]
[DEFAULT_RELSIZE:28]
[BP:RL_FANG:right lower fang:right lower fangs][CON:JW][CATEGORY:TOOTH][SOCKET][SMALL]
[DEFAULT_RELSIZE:28]
[BP:LL_FANG:left lower fang:left lower fangs][CON:JW][CATEGORY:TOOTH][SOCKET][SMALL]
[DEFAULT_RELSIZE:28]
[BP:BRAIN:brain:STP][CON:SK][THOUGHT][INTERNAL][SMALL][CATEGORY:BRAIN]
[DEFAULT_RELSIZE:200]
[BP:CBRAIN:corpse's brain:STP][CON:HD][THOUGHT][INTERNAL][SMALL][CATEGORY:BRAIN]
[DEFAULT_RELSIZE:4]

Tissue templates:
Code: [Select]
[TISSUE_TEMPLATE:SLIME_TEMPLATE]
[TISSUE_NAME:slime:NP]
[THICKENS_ON_ENERGY_STORAGE]
[TISSUE_MATERIAL:LOCAL_CREATURE_MAT:SLIME]
[RELATIVE_THICKNESS:1]
[HEALING_RATE:10]
[VASCULAR:3]
[CONNECTS]
[TISSUE_SHAPE:LAYER]

Body detail plan:
Code: [Select]
[BODY_DETAIL_PLAN:SNAKE_UNDERHELL_PLAN]
[BP_LAYERS:BY_TOKEN:UB:SCALE:2:FAT:1:MUSCLE:1:BONE:1:CARTILAGE:1]
[BP_LAYERS:BY_TOKEN:CUB:SKIN:1:FAT:1:MUSCLE:1:BONE:1:CARTILAGE:1]
[BP_LAYERS:BY_TOKEN:RUA:SKIN:1:FAT:1:MUSCLE:1:BONE:1:CARTILAGE:1]
[BP_LAYERS:BY_TOKEN:LUA:SKIN:1:FAT:1:MUSCLE:1:BONE:1:CARTILAGE:1]
[BP_LAYERS:BY_TOKEN:RLA:SKIN:1:FAT:1:MUSCLE:1:BONE:1:CARTILAGE:1]
[BP_LAYERS:BY_TOKEN:LLA:SKIN:1:FAT:1:MUSCLE:1:BONE:1:CARTILAGE:1]
[BP_LAYERS:BY_TOKEN:RH:SKIN:1:FAT:1:MUSCLE:1:BONE:1:CARTILAGE:1]
[BP_LAYERS:BY_TOKEN:LH:SKIN:1:FAT:1:MUSCLE:1:BONE:1:CARTILAGE:1]
[BP_LAYERS:BY_TOKEN:HD:SKIN:1:FAT:1:MUSCLE:1:BONE:1:CARTILAGE:1]
[BP_LAYERS:BY_TOKEN:SK:BONE:1]
[BP_RELATION:BY_TOKEN:HD:AROUND:BY_TOKEN:CBRAIN:100]
[BP_RELATION:BY_TOKEN:SK:AROUND:BY_TOKEN:BRAIN:100]

Alright, I think that's everything.

I've been having a few bugs with this. First off, you get this errorlog message whenever you start up the arena:
Spoiler (click to show/hide)
And in the arena, its impossible to damage the head. Next bug is that I can't get it to stop bleeding fast enough. As you can see, I tried removing the major arteries tag and gave it a new, fast-healing kind of bone for its skull (which often ends up gouting blood everywhere for a really long time), but it still takes a while to heal.

So play around with it, see if you can fix those bugs if you're so inclined. Feedback in general is appreciated - I'm fairly new at programming this version, as I said.

Thanks for checking it out :)
« Last Edit: June 06, 2010, 10:05:45 am by AnotherDwarvernDeath »
Logged

Grimlocke

  • Bay Watcher
  • *kobold noises*
    • View Profile
Re: Underhell Snake
« Reply #1 on: June 04, 2010, 11:32:27 pm »

Nice idea, I think this could go well with underdark once its finished.

Some things, in wonderful rambling style:
Using a modified material can let butchering the creature yield an axe. Feel free to use underdarks armormen for examples. Though regular dwarves might not be so willing to butcher it.
Using a new template for the bone may work, but its not necessary. You can modify bone with the [SELECT_TISSUE:BONE] tag within the creature file. [TISSUE:NAME] lets you define a whole new tissue.
The caste tags and that interesting maxage tag can be ommited. Using no caste tags makes it make a default caste automatically, and no maxage tag make the creature not die form old age.
You are also defining some tissues that are allready defined in the standart tissue body plan.

On to bugs...
The tissue layer plan might have trouble with the zombie head due to the lack of the category tag.

Not hitting the zombie head is probabaly due to the relative size of it. Its tiny, and thus that much harder to hit. Also that much easier to break/sever once it does get hit though.
That, or the broken tissues there make it not have any matter, thus causeing all attacks to harmlessly pass through.

Also found this in the hydra:
   [SELECT_TISSUE_LAYER:ALL]
      [TL_HEALING_RATE:1]
That might solve some of the bleeding issues.
Logged
I make Grimlocke's History & Realism Mods. Its got poleaxes, sturdy joints and bloomeries. Now compatible with DF Revised!

Deon

  • Bay Watcher
  • 💀 💀 💀 💀 💀
    • View Profile
Re: Underhell Snake
« Reply #2 on: June 05, 2010, 06:27:08 am »

Are you sure such big maxage is a good idea? You won't play until then so you could simply remove it.
Logged
▬(ஜ۩۞۩ஜ)▬
✫ DF Wanderer ✫ - the adventure mode crafting and tweaks
✫ Cartographer's Lounge ✫ - a custom worldgen repository

AnotherDwarvernDeath

  • Bay Watcher
    • View Profile
Re: Underhell Snake
« Reply #3 on: June 05, 2010, 10:44:58 am »

Thanks for the replies! I'll work on it today and see if I can get the bugs out.

Are you sure such big maxage is a good idea? You won't play until then so you could simply remove it.
The caste tags and that interesting maxage tag can be ommited.

Oh, you can remove maxage? Guess it makes sense. I feel stupid.
Logged

D_E

  • Bay Watcher
    • View Profile
Re: Underhell Snake
« Reply #4 on: June 05, 2010, 02:50:17 pm »

It's the body_detail_plans that typically add the tissues to bodyparts, and they typically do so using the CATEGORY tags on the bodyparts.  That's why leaving the [CATEGORY:HEAD] tag off the zombie head caused it to not have any tissue thickness. 

The zombie head not having any thickness is also why it can't be damaged.  Attacks will "pass right through" bodyparts with 0 tissue thickness.  This is a potentially useful bug/feature, although if you use it you will have to put up with the errorlog messages (see edit 3).

Also, you may want to do a custom body_detail_plan for the snake's skull head, as right now it's getting a layer of scales and muscle in addition to bone.  EDIT:  I note you HAVE a BODY_DETAIL_PLAN:SNAKE_UNDERHELL.  You forgot to post it ;)

You should remove the [CATEGORY:HEAD] tag from the snake skull and replace it with a [CATEGORY:] tag such that a layer of underhell bone gets added by your detail plan.  Also, you can have underhell bone have no [VASCULAR] tag, so that it won't bleed if struck in the skull.

EDIT 2: 

   [TISSUE_LAYER:BY_TOKEN:SK:BONE] I suspect these should be BONE_UNDERHELL instead of just BONE
   [TISSUE_LAYER:BY_TOKEN:JW:BONE]
   [TISSUE_LAYER:BY_TOKEN:RES:BONE] ditto
   [TISSUE_LAYER:BY_TOKEN:LES:BONE]
   [TISSUE_LAYER:BY_TOKEN:REYE:EYE]  This should have already been done by the default body_plan, since
   [TISSUE_LAYER:BY_TOKEN:LEYE:EYE] The zombie eyes have the [CATEGORY:EYE] tag.  Leaving them off doesn't cause an error message.

   Removing the [CATEGORY:HEAD] tag from the skull and changing BONE to BONE_UNDERHELL above is enough to make the skull be composed on only underhell bone, and doesn't cause an error message.

EDIT 3:  bleeding out is the bane of all creatures in Dwarf Fortress.  Dragons too quickly die from blood loss if surrounded by even a small number of armed creatures.  So in that sense your snake's problem is typical.  In order to really last against multiple armed opponents, a creature needs to either be made of a hard substance and/or be unable to bleed, like the bronze colossus, or have a large number of distractor targets, like my balor and several of my illithid castes.  In your case you might want to give the snake really hard scales and then include a number of small, "loose scales" that are easier to damage.

Also, I'm getting messages about attacks passing through the slime strands, which appears to be because your SLIME tissue says it uses the creature's SLIME material, but you never create a SLIME material and SLIME is not one of the materials created by the STANDARD_MATERIALS body_detail_plan.  But this doesn't result in an errorlog error.  Which is cool.  But I suspect this is not what you had in mind.

Finally, this idea sounds pretty familiar.  I have a feeling I should be saying hi to you.
« Last Edit: June 05, 2010, 04:26:32 pm by D_E »
Logged
Mods I've done:
Zelda mod-mod, Beta in the Wild DF 47.04
Illithid Empire mod DF 31.25 (update canceled)
Spotter's Guide to Illithids (Genesis mod-mod) genesis 3.19a4 (update canceled)

AnotherDwarvernDeath

  • Bay Watcher
    • View Profile
Re: Underhell Snake
« Reply #5 on: June 05, 2010, 06:20:34 pm »

Anyway, here's a list of what I'm editing the first post with:
-fixed the bleeding bug, using that tag; but it was actually too fast, so i set it to 20 and now it's all good
-played around with the head tissue; it works now that it has a category
-before, the slime had the same bug as the head; fixed by changing the tissue shape from STRANDS to  LAYER
-made the whole creature a bit smaller, making it easier to kill (it is still the same size in spirit; in fact, even a lot larger than that)
-doubled the relsize of the corpse's body parts, making it easier to hit
-removed the unneccesary maxage tag
-removed the caste tags
-removed the now useless BONE_UNDERHELL tissue
-added the body file to the first post, after I modified it a bit

Now, I've got a few new questions: First off, why does the vomiting blood condition not work? I suspect its just something with the funky syndrome situation. And the second question is, how do I get the skull to stop following the VERTEBRATE_TISSUE_LAYERS rules? It's got bone, scale, muscle, fat, and then bone. I tried to mess with it in the b_detail_plan file, but to no avail.

Finally, I will eventually look into the axe butchering that Grimlocke suggested. Sounds interesting.

And, yes, hi, Chr D_E. :D I'll think about your multilayer scale idea, but I think I fixed the bleeding problem.
« Last Edit: June 05, 2010, 06:24:53 pm by AnotherDwarvernDeath »
Logged

D_E

  • Bay Watcher
    • View Profile
Re: Underhell Snake
« Reply #6 on: June 05, 2010, 07:14:32 pm »

-before, the slime had the same bug as the head; fixed by changing the tissue shape from STRANDS to LAYER
So it was the shape rather than the material.  Good to know.

Quote
Now, I've got a few new questions: First off, why does the vomiting blood condition not work? I suspect its just something with the funky syndrome situation. And the second question is, how do I get the skull to stop following the VERTEBRATE_TISSUE_LAYERS rules? It's got bone, scale, muscle, fat, and then bone. I tried to mess with it in the b_detail_plan file, but to no avail.

Blood vomiting does work, at least in .03.  I use it on my irim (whose raws you have).  It's subtle compared to some of the other tags, though, and doesn't appear to cause much blood loss.  The 100% chance of severe pain may be making it hard to notice.  EDIT: just tested it with some amphibian men, and your blood vomiting works as well.  It's just sort of subtle.

To get rid of the vertebrate_tish_layers, remove the [CATEGORY:HEAD] tag.  My illithid castes have a couple of custom body detail plans, look at the conquest thrall for an example of one with different tissue types on different bodyparts.

But in essence all you need to do is replace [CATEGORY:HEAD] with [CATEGORY:SKULL_HEAD] and add a custom body detail plan that knows what to do with SKULL_HEADs. 

Or you can manually add the tissue layers in the creature file itself.  In fact, you're already doing this with [TISSUE_LAYER:BY_TOKEN:SK:BONE], so as I said before all you really need to do is remove the [CATEGORY:HEAD] tag and everything should work.

Best thing to do is probably look at those conquest thrall raws.  Or the balor raws.
« Last Edit: June 05, 2010, 07:39:41 pm by D_E »
Logged
Mods I've done:
Zelda mod-mod, Beta in the Wild DF 47.04
Illithid Empire mod DF 31.25 (update canceled)
Spotter's Guide to Illithids (Genesis mod-mod) genesis 3.19a4 (update canceled)

AnotherDwarvernDeath

  • Bay Watcher
    • View Profile
Re: Underhell Snake
« Reply #7 on: June 06, 2010, 10:24:20 am »

Update!
-fixed skull tissue layers by removing the [CATEGORY:HEAD] tag
-removed the category tags from the corpse's body parts, now they are somewhat fixed, but still have scales

Still needs some testing done on it before it's finished, but it's looking pretty good. I'm in the process of figuring out how exactly to use the BUTCHER_SPECIAL tag to get an axe.
Logged