Jump to content

Recommended Posts

Hello. I'm making a mod that adds RPG elements to DST, based on Konosuba. In the lore, there's an ability to steal items from your opponent, and this is my idea and its problem:
Idea: The ability would allow you to steal items from the game's mobs, for example, stealing the Walrus's blowgun (so it can't attack), its beret, or just junk.
Problem: Mobs, despite having inventory and slots, don't have these items; they just drop them. This is a problem because it would mean that to implement the ability's logic, I would need to override each mob so that, when I steal something from them, they either stop using it or change their behavior. Also, I highly doubt mobs like the Walrus would have animations without the beret, and it's obviously unthinkable to create a new animation for each stolen item for each mob.

Can you think of an easier solution, or do you have any ideas on what else this ability could do?

If the creature, let's say uses a hat like Walrus do, you could simple do:

inst.AnimState:Hide("hat") -- replace hat to whatever name the symbol uses.
-- Spawn Walrus without his hat.
-- c_spawn("walrus").AnimState:Hide("hat")

If you steal his hat, you would need to change his loot to not include it anymore and so on.
Just note that this might not work for every creature and you'll need to make the necessary changes to each one of them.

And for creatures that use some sort of equipment, I suggest you doing some changes on how they behave after stealing said equipments.
Fun fact Walrus has a melee attack if you are close enough.

8 minutes ago, Kyno said:

If the creature, let's say uses a hat like Walrus do, you could simple do:

inst.AnimState:Hide("hat") -- replace hat to whatever name the symbol uses.
-- Spawn Walrus without his hat.
-- c_spawn("walrus").AnimState:Hide("hat")

If you steal his hat, you would need to change his loot to not include it anymore and so on.
Just note that this might not work for every creature and you'll need to make the necessary changes to each one of them.

And for creatures that use some sort of equipment, I suggest you doing some changes on how they behave after stealing said equipments.
Fun fact Walrus has a melee attack if you are close enough.

I didn't know you could hide the beret. Thanks so much for the info.

I do know the other thing, and it's what I was considering doing. I just don't like the idea because I'd have to create a unique code for each mob in the game, which would make the mod unusable if they modified the mob in an update. Plus, that solution wouldn't be compatible with future updates that added new mobs.

If I can't find another solution, that's the one I'll end up using.

Just now, FerniFrenito said:

.

You can use AddPrefabPostInit instead of overriding the actual prefab files. Still, if you're changing something that's likely going to change some time in the future you would need to update that in your PostInit as well.

Or if you want something more controlled and flexible you should create your own component. That way you can just do the changes on your new component instead on every creature code.

8 minutes ago, Kyno said:

You can use AddPrefabPostInit instead of overriding the actual prefab files. Still, if you're changing something that's likely going to change some time in the future you would need to update that in your PostInit as well.

Or if you want something more controlled and flexible you should create your own component. That way you can just do the changes on your new component instead on every creature code.

The component is a very good idea! Thanks, I'll consider the possibility of all of that being handled by a component. I hope it can be done.

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...