Make a dragon...

Talk about creating Grimrock 1 levels and mods here. Warning: forum contains spoilers!
FrEEsiD

Make a dragon...

Post by FrEEsiD »

Hi all,
Here I would like to make a remake of CBS ... but how dragon ... ;)
I would like to know if this is possible ... easily;)
After testing rangedattack between attack and I had an idea, replace the standard attack by rangedattack another monster in the monster.lua (goromorg, ugguardian, crowern etc.)
it works but the visual is not terrible.
This means that the type of attack is defined in the animation? I do not think so, but where then?
For pro script, my question is, is it possible to change this?
Otherwise, with what program I can edit the attaque.animation, I did not find ...
I work with C4D ...

Thank you in advance to all, and long life and community LOG ...

Ps: how to open fbx? Autodesk?
PS2: sorry for my very bad english ... and google trad ;)



defineObject{
name = "fire_dragon",
class = "Monster",
model = "assets/models/monsters/fire_dragon.fbx",
meshName = "ice_lizard_mesh",
animations = {
idle = "assets/animations/monsters/ice_lizard/ice_lizard_idle.fbx",
moveForward = "assets/animations/monsters/ice_lizard/ice_lizard_walk.fbx",
turnLeft = "assets/animations/monsters/ice_lizard/ice_lizard_turn_left.fbx",
turnRight = "assets/animations/monsters/ice_lizard/ice_lizard_turn_right.fbx",
attack = "assets/animations/monsters/uggardian/uggardian_attack.fbx",
----attack = "assets/animations/monsters/wyvern/wyvern_attack.fbx",
--attack = "assets/animations/monsters/ice_lizard/ice_lizard_attack.fbx",
turnAttackLeft = "assets/animations/monsters/ice_lizard/ice_lizard_attack_left.fbx",
turnAttackRight = "assets/animations/monsters/ice_lizard/ice_lizard_attack_right.fbx",
getHitFrontLeft = "assets/animations/monsters/ice_lizard/ice_lizard_get_hit_front_left.fbx",
getHitFrontRight = "assets/animations/monsters/ice_lizard/ice_lizard_get_hit_front_right.fbx",
getHitBack = "assets/animations/monsters/ice_lizard/ice_lizard_get_hit_back.fbx",
getHitLeft = "assets/animations/monsters/ice_lizard/ice_lizard_get_hit_left.fbx",
getHitRight = "assets/animations/monsters/ice_lizard/ice_lizard_get_hit_right.fbx",
fall = "assets/animations/monsters/ice_lizard/ice_lizard_get_hit_front_left.fbx",
},
moveSound = "ice_lizard_walk",
footstepSound = "ice_lizard_footstep",
attackSound = "ice_lizard_attack",
hitSound = "ice_lizard_hit",
dieSound = "ice_lizard_die",
hitEffect = "hit_blood",
capsuleHeight = 0.4,
capsuleRadius = 0.5,
health = 2000,
sight = 4,
attackPower = 100,
rangedAttack = "fireball_greater",
protection = 50,
evasion = 10,
accuracy = 20,
movementCoolDown = 1,
coolDown = { 1, 4 },
noRecoilInterval = { 0.2, 1 }, -- interval must end at 1, otherwise turn attack can be interrupted (looks ugly)
immunities = { "fire" },
exp = 1500,
lootDrop = { 100, "ice_lizard_steak", 100, "ice_lizard_steak", 30, "ice_lizard_steak",10, "ice_lizard_steak"},
healthIncrement = 100,
attackPowerIncrement = 25,
brain = "Ranged",
}
User avatar
Grimwold
Posts: 511
Joined: Thu Sep 13, 2012 11:45 pm
Location: A Dungeon somewhere in the UK

Re: Make a dragon...

Post by Grimwold »

FrEEsiD wrote: This means that the type of attack is defined in the animation? I do not think so, but where then?
I've read somewhere that animation events are defined in a lua file... animation_events.lua

Here's an extract from the one in the asset pack (available to download for reference), which may help.

Code: Select all

-------------------------------------------------------
-- Ice Lizard
-------------------------------------------------------

defineAnimationEvent{
	animation = "assets/animations/monsters/ice_lizard/ice_lizard_attack.fbx",
	event = "attack",
	frame = 10,
}

defineAnimationEvent{
	animation = "assets/animations/monsters/ice_lizard/ice_lizard_attack_left.fbx",
	event = "attack_left",
	frame = 10,
}

defineAnimationEvent{
	animation = "assets/animations/monsters/ice_lizard/ice_lizard_attack_right.fbx",
	event = "attack_right",
	frame = 10,
}

defineAnimationEvent{
	animation = "assets/animations/monsters/ice_lizard/ice_lizard_walk.fbx",
	event = "footstep",
	frame = 10,
}

defineAnimationEvent{
	animation = "assets/animations/monsters/ice_lizard/ice_lizard_walk.fbx",
	event = "footstep",
	frame = 21,
}

defineAnimationEvent{
	animation = "assets/animations/monsters/ice_lizard/ice_lizard_turn_left.fbx",
	event = "footstep",
	frame = 10,
}

defineAnimationEvent{
	animation = "assets/animations/monsters/ice_lizard/ice_lizard_turn_right.fbx",
	event = "footstep",
	frame = 10,
}
FrEEsiD

Re: Make a dragon...

Post by FrEEsiD »

Thank you, Grimwold
But this defines when the animation starts or attack, no!
But no info on what attack he launched except the type (melee / ranged) and the time ...
Monster.lua only (to my knowledge) even described the attack (fireball, ice etc.)
But if we change for the lizard type "rangedattack" with a fireball and a brain "ranged", he opens his mouth but no fireball ... if we replace the attack animation of a monster "rangedattack" the fireball is launched ... but the dragon distorted when throwing fireball ... there is one thing I do not get it ...

Test the code you'll see ...
User avatar
Billick
Posts: 201
Joined: Thu Apr 19, 2012 9:28 pm

Re: Make a dragon...

Post by Billick »

So would you have to make a copy of the animation file and then bind an animation event to that?
Halls of Barrian - current version 1.0.3 - Steam Nexus
Me Grimrock no bozo!
FrEEsiD

Re: Make a dragon...

Post by FrEEsiD »

Hello,
I'm not sure I understand your issue, (my english very bad [sorry i'm french ;)]) and google trad = 6/10 ;)

No i have just change one animation in monster.lua

attack = "assets/animations/monsters/ice_lizard/ice_lizard_attack.fbx", with change code = ( rangedAttack = "fireball_greater", brain = "Ranged") = no fireball but distant attack yes -
BY
attack = "assets/animations/monsters/uggardian/uggardian_attack.fbx", with change code = ( rangedAttack = "fireball_greater", brain = "Ranged") = fireball yes but distort lizard at time attack

Before entering retouching 3d, I want to know if it was me who do not get it! If scripting solutions exist if the animation defined after the fireball ... but I do not think

Thanks
User avatar
LordGarth
Posts: 500
Joined: Mon Jun 18, 2012 5:07 pm
Location: Colorado USA

Re: Make a dragon...

Post by LordGarth »

Just make a red lizard put this code on the bottom. When the lizard bites you, you will also get a fireball.

I have made a frost dragon and lightning dragon and poison dragon. And a black dragon that shoots fire, poison and lightning when he bites you. ouch lots of damage.

You better find all the best equipment in my dungeon.

And I would like to be able to resize the lizards to make them bigger for dragons.

LG

onDealDamage = function(self, champion, damage)
if self.facing == 0 then
spawn("fireball", self.level, self.x, self.y-1, self.facing)
end
if self.facing == 1 then
spawn("fireball", self.level, self.x+1, self.y, self.facing)
end
if self.facing == 2 then
spawn("fireball", self.level, self.x, self.y+1, self.facing)
end
if self.facing == 3 then
spawn("fireball", self.level, self.x-1, self.y, self.facing)
end
end
}
Dungeon Master and DOOM will live forever.
FrEEsiD

Re: Make a dragon...

Post by FrEEsiD »

Thank you my lord;) I already test your stuff yesterday, it's nice but it's not what I want ...
I want a dragon (I also resize the idea of ​​recess, and I already made a black dragon) which draws on you he sees you ...
I do not know if you play a chaos strike back, but there are 2/3 way tight with dragons ... divine
By cons I'm looking forward to test your dungeon crazy;)
I must receive the Mayan, I'll see what I can do ... also for resizing;)

Ps: test my code and see ;)
User avatar
JohnWordsworth
Posts: 1397
Joined: Fri Sep 14, 2012 4:19 pm
Location: Devon, United Kingdom
Contact:

Re: Make a dragon...

Post by JohnWordsworth »

If you would like to save a few lines of code...

Code: Select all

onDealDamage = function(self, champion, damage)
  local dx,dy = getForward(self.facing)
  local spawnX,spawnY = self.x + dx, self.y + dy
  spawn("fireball", self.level, spawnX, spawnY, self.facing)
end
Just makes it a bit easier to change fireball to anything else (as you don't have to change it 4 times!
My Grimrock Projects Page with links to the Grimrock Model Toolkit, GrimFBX, Atlas Toolkit, QuickBar, NoteBook and the Oriental Weapons Pack.
FrEEsiD

Re: Make a dragon...

Post by FrEEsiD »

Thank you for the code, but it is exactly the same as Lord ...
By cons very very big thank you for your texture editor
A question, how to open and especially the change you. * Model, *. Animation?
FrEEsiD

Re: Make a dragon...

Post by FrEEsiD »

salvation,
then it is good, yesssss;)
he shoots fireballs (or whatever you want) a distance, as when touched with melee weapons, jet, and magic;)
Thanks to superb tool johnwordsword (gmt on 0.3.2) I could resize the lizard in dragon (x2), but there is one last concern that the animation jumps forward 2 squares in 2 boxes ...
as soon as I find I file my dragon to the community
Thank you for the assistance given
Post Reply