Jump to content

Creatures and Animals models


Recommended Posts

So I'm starting this thread to query anyone who knows or has any of these laying around. The base JASP game has 7 creatures. 2 are vehicles, the rest are enemies.

howler (yavin lizard)

sand burrower

wildtauntaun

wampa

tauntaun (with harness)

rancor

mutant rancor

 

With mods, there are quite a few more that I have and know of:

 

glider (jedi outcast)

minemonster (jedi outcast)

 

bantha

dewback

eopie (with harness)

eopie wild

streeds

battlestreeds

horses (NDA)

dragons (NDA)

kalek's / lusczk's rancors

dianoga (DFMOD2008)

mailoc (MOTS mod)

krayt dragon (JKA galaxies)

acklay_mst (vehicle and enemy)

reek (vehicle)

nexu (enemy)

terentatek (enemy)

spider model (some mods have it)

trex (MB2 vehicle)

raptors (MB2 and jurancor park, enemy)

pteranodon (MB2 vehicle)

alien xenomorph (enemy)

facehugger (enemy)

 

there's a shark here but it doesn't do anything.

 

I'm wondering, the dianoga npc also drowns if you put it in water, is there a way with NPC tool to create an enemy that doesn't drown underwater? There is a CLASS_FISH and a type flyswim but not sure if that works.

 

Does anyone know if there are any other ones laying around? I always thought JA would be more interesting with different creatures to fight, so I've taken it on myself, like with the vehicles, to find as many as I can.

 

I'll even take ported ones at this point lol.

Link to comment

to make dianoga not drown i suggest making for example - trigger_hurt with minus dmg in the water that works only on them . This will heal them.

To be honest making animals for JK is even harder than vehicles.. Because animations for animals requires not only much much more complex animation skills - skeleton but also knowing how to make them moving natural.. Making vehicle is a lot easier 

Link to comment

Set the class to CLASS_SWAMPTROOPER (I think that's the name) and they won't drown underwater.

I've experimented with the old DFmod changing the Dianoga to CLASS_WAMPA and switched Kyle's "grabbed" animation to one of the falldown poses, to reproduce the Dianoga catching Luke on the Death Star. However it would need more work in terms of animations, tags, and specifically in the DFmod, how Kyle would fight back after being grabbed.

Link to comment

Set the class to CLASS_SWAMPTROOPER (I think that's the name) and they won't drown underwater.

I've experimented with the old DFmod changing the Dianoga to CLASS_WAMPA and switched Kyle's "grabbed" animation to one of the falldown poses, to reproduce the Dianoga catching Luke on the Death Star. However it would need more work in terms of animations, tags, and specifically in the DFmod, how Kyle would fight back after being grabbed.

Specially that when wampa grabs You and your character holds lightsaber - wampa is one hit kill . Making dianoga for example - choping its head off or something. 

 

and to think about it - wampa also hit You with his paw when he catches You. so Dianoga would hit Us with the tentacle and there also would be bonus drowning dmg... deadly.

Link to comment

What is the difference between CLASS_SWAMP and CLASS_SWAMPTROOPER? Also thee is no CLASS_WAMPA in the NPC tool that I use, and the wampa.npc from the base game has no class selected on it.

 

edit: also zander on your animal pack you are missing sounds from them, do you want them? I have sounds for acklay, nexu, teren, dianoga, mynock etc (even though there are no mynocks)

 

Perhaps we could remodel the glider model as a mynock?

Link to comment

What is the difference between CLASS_SWAMP and CLASS_SWAMPTROOPER? Also thee is no CLASS_WAMPA in the NPC tool that I use, and the wampa.npc from the base game has no class selected on it.

 

No idea about the differences. As for CLASS_WAMPA, I can confirm that the Wampa NPC uses it:


wampa
{
	playerModel 	wampa
	scale		150
	weapon		WP_MELEE
	health		800
	headPitchRangeDown 30
	reactions		3
	aim			1
	move			3
	aggression		3
	evasion		1
	intelligence	5
	rank		crewman
	playerTeam	TEAM_FREE
	enemyTeam	TEAM_FREE
	class		CLASS_WAMPA
	height		128
	crouchheight 	80
	width			30
	snd		wampa
	sndcombat	wampa
	sndextra	wampa
	yawspeed	80
	walkSpeed	120
	runSpeed	300
	hfov		100
	vfov		90
	dismemberProbHead		0
	dismemberProbArms		0
	dismemberProbLegs		0
	dismemberProbHands	0
	dismemberProbWaist	0
}

I don't use any NPC tools, so the one you are using might be incomplete. You can still text edit the .npc file directly.

Link to comment

Hello. i know a lot about classes because i work all days around they.

CLASS_SWAMPTROOPER: is like stormtrooper ai, but they cannot drown on water. otherwise i noticed they however produced silly gurp sound if they are too much time in water. this is hardcoded and for making a class immune to water you need to check on the SP

code about that... i not remember now if is in g_active.cpp or in g_combat.cpp

CLASS_WAMPA: can grab the player, knockback

CLASS_SWAMP... not do nothing for what i see, like CLASs_GLIDER, FLIER2, MURJJ, LIZARD, CLAW, FISH. these classes are un used classed and they are never ended coded class. but as saberist they are pretty vicious boss fighter D:

class FLIER is very acrobatic, CLAW is the more dangerous. i not know exactly why.

i suppose they are class for deleted animal or npc or aliens or monster of JO never ended.

CLASS_WAMPA is pretty weak to force lightning, like all other specific class is hardcoded and you need code skill! is not sufficient to make model and animation for a new animal or monster for have a nice monster creature... you need to code a specific class AI for this monster for act realistically. this is very difficult, also because every single monster or animal need a specific and different code, related to their skills \ attack \ weakness \ strenghts. 

 

CLASS_RANCOR: can devour player, grab, knockback if you jump up, can spit poison gas jet with specific npc mutant_rancor.

also, have a letal charge attack and can slam player hitting ground with punchs. is pretty hardcoded class.

 

you need to understyand that a animal class need also specific code for work fine if yiou want to do a vicious monster that attack player. without code the result also with better animation, skeleton and rigging, is not much good. 

the dragons of NDA for example have an horrible bug if they grab the player... never noticed? you are stuck and camera ever roll on itself and you can free only with noclip cheat.

this because missing code... and a CLASS_DRAGON ._.

Langerd likes this
Link to comment

Hello. i know a lot about classes because i work all days around they.

CLASS_SWAMPTROOPER: is like stormtrooper ai, but they cannot drown on water. otherwise i noticed they however produced silly gurp sound if they are too much time in water. this is hardcoded and for making a class immune to water you need to check on the SP

code about that... i not remember now if is in g_active.cpp or in g_combat.cpp

CLASS_WAMPA: can grab the player, knockback

CLASS_SWAMP... not do nothing for what i see, like CLASs_GLIDER, FLIER2, MURJJ, LIZARD, CLAW, FISH. these classes are un used classed and they are never ended coded class. but as saberist they are pretty vicious boss fighter D:

class FLIER is very acrobatic, CLAW is the more dangerous. i not know exactly why.

i suppose they are class for deleted animal or npc or aliens or monster of JO never ended.

CLASS_WAMPA is pretty weak to force lightning, like all other specific class is hardcoded and you need code skill! is not sufficient to make model and animation for a new animal or monster for have a nice monster creature... you need to code a specific class AI for this monster for act realistically. this is very difficult, also because every single monster or animal need a specific and different code, related to their skills \ attack \ weakness \ strenghts. 

 

CLASS_RANCOR: can devour player, grab, knockback if you jump up, can spit poison gas jet with specific npc mutant_rancor.

also, have a letal charge attack and can slam player hitting ground with punchs. is pretty hardcoded class.

 

you need to understyand that a animal class need also specific code for work fine if yiou want to do a vicious monster that attack player. without code the result also with better animation, skeleton and rigging, is not much good. 

the dragons of NDA for example have an horrible bug if they grab the player... never noticed? you are stuck and camera ever roll on itself and you can free only with noclip cheat.

this because missing code... and a CLASS_DRAGON ._.

 

 

Have you tested these out on animal NPC's? Would CLASS_FISH work for an underwater enemy. I want to make dianogas be underwater and not drown so I figured that to avoid the gurp sound I could give them this class.

Link to comment

Have you tested these out on animal NPC's? Would CLASS_FISH work for an underwater enemy. I want to make dianogas be underwater and not drown so I figured that to avoid the gurp sound I could give them this class.

 

the unique way for do that is edit this field into g_active.cpp of OPENJK code, and set dianoga as CLASS_SWAMPTROOPER

CLASS_FISH unforntunately, drown. as i told, they are class without any specific code features. they exist only as name. ._.

 

this is the code about drowning, lava acid damage and force protect resistance to acid and lava.

 

 

//
    // check for drowning
    //

    if ( (mouthContents&(CONTENTS_WATER|CONTENTS_SLIME)) )
    {

        if ( ent->client->NPC_class == CLASS_SWAMPTROOPER )
        {//they have air tanks
            ent->client->airOutTime = level.time + 12000;    // don't need air
            ent->damage = 2;
        }
        else if ( ent->client->airOutTime < level.time)
        {// if out of air, start drowning
            // drown!
            ent->client->airOutTime += 1000;
            if ( ent->health > 0 ) {
                // take more damage the longer underwater
                ent->damage += 2;
                if (ent->damage > 15)
                    ent->damage = 15;

                // play a gurp sound instead of a normal pain sound
                if (ent->health <= ent->damage)
                {
                    G_AddEvent( ent, EV_WATER_DROWN, 0 );
                }
                else
                {
                    G_AddEvent( ent, Q_irand(EV_WATER_GURP1, EV_WATER_GURP2), 0 );
                }

                // don't play a normal pain sound
                ent->painDebounceTime = level.time + 200;

                G_Damage (ent, NULL, NULL, NULL, NULL,
                    ent->damage, DAMAGE_NO_ARMOR, MOD_WATER);
            }
        }
    }
    else
    {
        ent->client->airOutTime = level.time + 12000;
        ent->damage = 2;
    }

    //
    // check for sizzle damage (move to pmove?)
    //
    if (ent->waterlevel &&
        (ent->watertype&(CONTENTS_LAVA|CONTENTS_SLIME)) ) {
        if (ent->health > 0
            && ent->painDebounceTime < level.time    ) {

            if (ent->watertype & CONTENTS_LAVA) {
                G_Damage (ent, NULL, NULL, NULL, NULL,
                    15*ent->waterlevel, 0, MOD_LAVA);
            }

            if (ent->watertype & CONTENTS_SLIME) {
                G_Damage (ent, NULL, NULL, NULL, NULL,
                    1, 0, MOD_SLIME);
            }
        }
    }

    if ((ent->health > 0) &&
        (ent->painDebounceTime < level.time) &&
        gi.WE_IsOutsideCausingPain(ent->currentOrigin) &&
        TIMER_Done(ent, "AcidPainDebounce"))
    {
        if (ent->NPC && ent->client && (ent->client->ps.forcePowersKnown&(1<< FP_PROTECT)))
        {
            if (!(ent->client->ps.forcePowersActive & (1<<FP_PROTECT)))
            {
                WP_ForcePowerStart( ent, FP_PROTECT, 0 );
            }
        }
        else
        {
            G_Damage (ent, NULL, NULL, NULL, NULL, 1, 0, MOD_SLIME);
        }
    }
Link to comment

Add after swamptrooper the fish class and add an exception for remove gurp sound for fish class and should work.

 

if ( ent->client->NPC_class == CLASS_SWAMPTROOPER || ent->client->NPC_class == CLASS_FISH )

 

or, you can add a new CLASS_DIANOGA on teams.h and register it into enum string of class list into Q3_interface.cpp

BUT this require a nice code skill.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...