MitchellFielder Posted September 1, 2014 Share Posted September 1, 2014 Can anyone work out a way to make it so when my custom character kills in innocent or non aggressive mob it looses sanity?I presume you can do this using the battleborn but I have no idea how to add this Any help would be much appropriated Link to comment Share on other sites More sharing options...
1daBread Posted September 2, 2014 Share Posted September 2, 2014 Yes you can... Open wathgrithr.lua (the character's prefab file) and look at the onkill function. Link to comment Share on other sites More sharing options...
MitchellFielder Posted September 2, 2014 Author Share Posted September 2, 2014 Thanks!I've tried adding that in but it just crashes as soon as I load/create a save Here's what I've got, I'm not sure if im missing anything outlocal MakePlayerCharacter = require "prefabs/player_common"local assets = { Asset( "ANIM", "anim/player_basic.zip" ), Asset( "ANIM", "anim/player_idles_shiver.zip" ), Asset( "ANIM", "anim/player_actions.zip" ), Asset( "ANIM", "anim/player_actions_axe.zip" ), Asset( "ANIM", "anim/player_actions_pickaxe.zip" ), Asset( "ANIM", "anim/player_actions_shovel.zip" ), Asset( "ANIM", "anim/player_actions_blowdart.zip" ), Asset( "ANIM", "anim/player_actions_eat.zip" ), Asset( "ANIM", "anim/player_actions_item.zip" ), Asset( "ANIM", "anim/player_actions_uniqueitem.zip" ), Asset( "ANIM", "anim/player_actions_bugnet.zip" ), Asset( "ANIM", "anim/player_actions_fishing.zip" ), Asset( "ANIM", "anim/player_actions_boomerang.zip" ), Asset( "ANIM", "anim/player_bush_hat.zip" ), Asset( "ANIM", "anim/player_attacks.zip" ), Asset( "ANIM", "anim/player_idles.zip" ), Asset( "ANIM", "anim/player_rebirth.zip" ), Asset( "ANIM", "anim/player_jump.zip" ), Asset( "ANIM", "anim/player_amulet_resurrect.zip" ), Asset( "ANIM", "anim/player_teleport.zip" ), Asset( "ANIM", "anim/wilson_fx.zip" ), Asset( "ANIM", "anim/player_one_man_band.zip" ), Asset( "ANIM", "anim/shadow_hands.zip" ), Asset( "SOUND", "sound/sfx.fsb" ), Asset( "SOUND", "sound/wilson.fsb" ), Asset( "ANIM", "anim/beard.zip" ), -- Don't forget to include your character's custom assets! Asset( "ANIM", "anim/emma.zip" ),}local prefabs = {}local start_inv ={ "mable", "backpack", "icecream",}local smallScale = 0.5local medScale = 0.7local largeScale = 1.1local function onkill(inst, data) if data.cause == inst.prefab and not data.inst:HasTag("prey") and not data.inst:HasTag("veggie") and not data.inst:HasTag("structure") then local delta = (data.inst.components.combat.defaultdamage) * 0.25 inst.components.health:DoDelta(delta, false, "battleborn") inst.components.sanity:DoDelta(delta) if math.random() < .1 and not data.inst.components.health.nofadeout then local time = data.inst.components.health.destroytime or 2 inst:DoTaskInTime(time, function() local s = medScale if data.inst:HasTag("smallcreature") then s = smallScale elseif data.inst:HasTag("largecreature") then s = largeScale end local fx = SpawnPrefab("wathgrithr_spirit") fx.Transform:SetPosition(data.inst:GetPosition():Get()) fx.Transform:SetScale(s,s,s) end) end endendlocal fn = function(inst) -- choose which sounds this character will play inst.soundsname = "willow" -- a minimap icon must be specified inst.MiniMapEntity:SetIcon( "wilson.png" ) -- todo: Add an example special power here. inst.components.sanity:SetMax(75) inst.components.health:SetMaxHealth(150) inst.components.hunger:SetMax(75) inst.components.hungerrate = 0.7 inst.components.health:SetAbsorptionAmount(TUNING.WATHGRITHR_ABSORPTION) inst:ListenForEvent("entity_death", function(wrld, data) onkill(inst, data) end, GetWorld())endreturn MakePlayerCharacter("emma", prefabs, assets, fn, start_inv) Link to comment Share on other sites More sharing options...
MitchellFielder Posted September 2, 2014 Author Share Posted September 2, 2014 Got it!Just realised found a sneaky little bit of broken codeinst.components.hungerrate = 0.7Sorry about that! Thanks for the helpGot it!Just realised found a sneaky little bit of broken codeinst.components.hungerrate = 0.7Sorry about that! Thanks for the helpGot it!Just realised found a sneaky little bit of broken codeinst.components.hungerrate = 0.7Sorry about that! Thanks for the help Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.