I just never notice between the two forums.
Code: Select all
defineObject{
name = "uggardian",
class = "Monster",
model = "assets/models/monsters/uggardian.fbx",
meshName = "uggardian_mesh",
animations = {
idle = "assets/animations/monsters/uggardian/uggardian_idle.fbx",
moveForward = "assets/animations/monsters/uggardian/uggardian_walk.fbx",
strafeLeft = "assets/animations/monsters/uggardian/uggardian_strafe_left.fbx",
strafeRight = "assets/animations/monsters/uggardian/uggardian_strafe_right.fbx",
turnLeft = "assets/animations/monsters/uggardian/uggardian_turn_left.fbx",
turnRight = "assets/animations/monsters/uggardian/uggardian_turn_right.fbx",
attack = "assets/animations/monsters/uggardian/uggardian_attack.fbx",
getHitFrontLeft = "assets/animations/monsters/uggardian/uggardian_get_hit_front_left.fbx",
getHitFrontRight = "assets/animations/monsters/uggardian/uggardian_get_hit_front_right.fbx",
getHitBack = "assets/animations/monsters/uggardian/uggardian_get_hit_back.fbx",
getHitLeft = "assets/animations/monsters/uggardian/uggardian_get_hit_left.fbx",
getHitRight = "assets/animations/monsters/uggardian/uggardian_get_hit_right.fbx",
fall = "assets/animations/monsters/uggardian/uggardian_get_hit.fbx",
},
moveSound = "uggardian_walk",
attackSound = "uggardian_attack",
hitSound = "uggardian_hit",
dieSound = "uggardian_die",
hitEffect = "hit_flame",
capsuleHeight = 0.6,
capsuleRadius = 0.3,
collisionRadius = 0.8,
health = 235,
sight = 5,
attackPower = 30,
coolDown = { 1.5, 4 },
protection = 5,
immunities = {},
evasion = 10,
rangedAttack = "fireball",
movementCoolDown = 1,
flying = true,
noRecoilInterval = { 0.35, 0.5 },
exp = 500,
lightName = "light1",
lightColor = vec(1, 0.5, 0.25),
lightBrightness = 15,
lightRange = 3.5,
attackPowerIncrement = 5,
healthIncrement = 100,
protectionIncrement = 3,
brain = "Uggardian",
onDamage = function(self, damage, damageType)
if damageType == "fire" then
if (self:getHealth()+damage) < 235 then --Uggardian default health
self:setHealth(self:getHealth()+damage)
spawn("fx", self.level, self.x, self.y, self.facing):setParticleSystem("monster_heal"):setLight(0,1,0,20,1,.3,false)
playSoundAt("generic_spell",self.level, self.x, self.y)
hudPrint("It gains strength from the heat!")
else
hudPrint("It seems to like the extra heat!")
end
return false
end
end,
}
defineParticleSystem{
name = "monster_heal",
emitters = {
-- stars
{
emissionRate = 500,
emissionTime = 0.2,
maxParticles = 1000,
boxMin = {-0.6, 0.3,-0.6},
boxMax = { 0.6, 2.5, 0.6},
sprayAngle = {0,360},
velocity = {0.2,0.2},
objectSpace = true,
texture = "assets/textures/particles/teleporter.tga",
lifetime = {1,1},
color0 = {3.0,3.0,3.0},
opacity = 1,
fadeIn = 0.1,
fadeOut = 0.1,
size = {0.05, 0.13},
gravity = {0,0,0},
airResistance = 0.1,
rotationSpeed = 2,
blendMode = "Additive",
}
}
}