HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Leaving corpses with triggers

11-07-2008, 04:57 PM#1
Kabel
Hi. First I will explain a simple common problem:

Skeletons normaly don't leave corpses when they die, but I choose the option "Can raise, does decay" in the object editor. Thus no visible corpse is on the ground when a skeleton dies, but an invisible corpse is there, so it can still be raised by raise dead.
BUT, I want the corpse to be visible. I can not edit models to add the animation, but I thougt of this idea:

Create a trigger that creates a burning fire on the location where a skeleton dies. When the skeleton is ressurected the fire is removed.
This means that a player can regognize where his dead skeletons are due to the burning fires, even thou the corpse itself is not visible.

It's very important on my map that the corpses of skeletons are visible.
Any idea how a trigger like this would look like?
Or, any other idea how to make invisible corpses visible?
11-07-2008, 05:44 PM#2
moyack
The skeletons are invisible on decay because the model doesn't have those animations. But you can do something more appealing: When a skeleton dies, create a ghoul corpse and that's all.

EDIT: Here's a small code, it uses vJASS:

Collapse JASS:
scope DoCorpse initializer init

private function PlaceCorpse takes nothing returns nothing
    local unit u = GetTriggerUnit()
    local real x = GetUnitX(u)
    local real y = GetUnitY(u)
    local real a = GetUnitFacing(u)
    call TriggerSleepAction(2.) // set the duration of the death animation of the skeleton model
    if GetUnitTypeId(u) == 'u000' then // Here you put the unit type rawcode
        call CreateCorpse(GetOwningPlayer(u), 'ugho', x, y, a)
    endif
    set u = null
endfunction

private function init takes nothing returns nothing
    local trigger t = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_DEATH)
    call TriggerAddAction(t, function PlaceCorpse)
    set t = null
endfunction

endscope
11-07-2008, 06:15 PM#3
TotallyAwesome
Ghoul got shitty decay bones, footman ones are more suitable, since they follow the same anatomy.
11-08-2008, 10:21 AM#4
Kabel
I appreciate your help by providing codes for me, but I'm not good at making Jass-triggers, in fact I know only the basics of triggering.
Is their any other way?

Perhaps I shall precise my situation a little more.

I am having a skeleton with this skin attached to it: http://www.hiveworkshop.com/forums/resource.php?t=61349
Althou the skin is a little uncomplete I have added this glow to it's head: SharedModels\Glow1_red.mdl

With the glow the skin looks good.
But, the neccessary thing is not to let the unit leave just a corpse,
in fact I think it would look better if it left somekind of fire or the bloodlust-buff upon it's death.
That would represent the corpse.

But, there is an other thing aswell. (As always.)
I have a graveyard which creates skeleton-corpses. Thus, it's also important that these corpses are visible for the players.

As you might understand I'm doing it difficult for myself. The easier thing would be to pick an other unit with a corpse-animation instead of the skeleton, but the skeleton fits so well with the atmosphere in my map!

I would really appreciate all help I can get, because this problem is the main problem I have on my map right now.
11-08-2008, 02:21 PM#5
DioD
set animation speed to 0 after some delay, this will cause bones to be visible on ground.
11-08-2008, 07:47 PM#6
Kabel
That sounds great! Here comes a frustrating question: Where can I find the field "Set Animation speed"? (I have checked in the object editor) *gulp*
11-09-2008, 02:23 PM#7
DioD
this is "function" , create trigger for unit death and set animation to zero, this will cause unit to freeze in death animation.
11-09-2008, 03:44 PM#8
Kabel
I've tried with the triggering, but I don't get it to work properly.
It would be really nice of you if you could show me the trigger for freezing a skeleton in it's death animation.
11-09-2008, 04:59 PM#9
Joker
How about you post what you have and we'll review what you're doing wrong.
11-09-2008, 05:34 PM#10
bounty_hunter2
very simple solution

Trigger:
Untitled Trigger 001
Collapse Events
Unit - A unit Dies
Collapse Conditions
(Unit-type of (Dying unit)) Equal to Skeleton Warrior
Collapse Actions
Unit - Create 1 Skeleton Warrior Corpse for Neutral Passive at (Position of (Dying unit)) facing Default building facing degrees
Unit - Pause (Last created unit)

the skeleton warrior corpse model is your fire or anything you want
11-11-2008, 03:44 PM#11
Kabel
Joker: I deleted the trigger so now I have nothing to show :(

Bounty_Hunter2: Your trigger looks good, but if a skeleton is ressurected how do I trigger so the fire on the location of the ressurected unit is removed?
11-11-2008, 11:00 PM#12
bounty_hunter2
you will need variable array i think and then another trigger il try doing it tomorow or when i'l have time.
11-14-2008, 03:30 AM#13
Pyrogasm
You could attach it to the corpse. That'll leak memory, though.
11-17-2008, 01:46 PM#14
Kabel
Bounty_hunter2, I got a lot of nerves asking you this, but if I upload my map here would you have the time or strength to make the trigger for me?
It would be really really nice of you, cause this is an importent trigger for my map and I would really like it well done.