header general

[SUBMISSION] Loot Imp

  • DeVloek
  • DeVloek's Avatar Topic Author
  • Arachnotron
  • Arachnotron
More
8 months 4 weeks ago - 8 months 4 weeks ago #1 by DeVloek
[SUBMISSION] Loot Imp was created by DeVloek
Info
Name: Loot Imp
Difficulty: easy
Connections: none
Summon: LootImp_Random, LootImp_Generic, LootImp_Weapons, LootImp_Ammo, LootImp_Health, LootImp_Armor, LootImp_Powerups, LootImp_Golden
Melee: no
Distance: no
Type: Demon
Brightmaps: yes
Actor modification: no
ACS: no

Description:
This thievish little Imp carries a backpack full of stolen goodies around.
He may drop a few items when hit, but to get all the loot you have to kill him.
He doesn't fight back, but he's very quick and tries to escape! He also taunts you relentlessly...

The dropped loot is randomized, the items will be selected from different loot tables.
Pre-defined Loot Imp variants, loot tables and color translations are included, the framework allows for easy addition of more.

Credits
Code: DeVloek
GLDefs: DeVloek
Sounds: SnowFightStudios
Sprites: Vader, Nmn
Sprite Edit: DeVloek
Idea Base: Thieves from Golden Axe, Treasure Goblins & Loot Gnomes from various games

Preview


Download
https://drive.google.com/file/d/140cAc0nPDNLltsfr-CApeWbmJQUtUyjl/view?usp=sharing

I hope this will be useful for modders who have tons of custom items and want to give the player a not too serious way of aquiring them :D
I included instructions how to add your custom items to your own loot imp, let me know if something is unclear.

edit:
quick update, I forgot to add the Soulsphere to the loot tables. I added it to the health table, and moved the berserk pack to the powerups. Also played around with replacers a bit, but commented out the code for this release.
Try
Code:
class LootImp_Random_Replacer : LootImp_Random replaces Zombieman{}
and try to get 100% kills and items on Map01 :P
Last edit: 8 months 4 weeks ago by DeVloek.

Please Log in or Create an account to join the conversation.

  • 9Rifleman
  • 9Rifleman's Avatar
  • Chaingunner
  • Chaingunner
More
8 months 4 weeks ago #2 by 9Rifleman
Replied by 9Rifleman on topic [SUBMISSION] Loot Imp
Had a similar idea once, but never got to it - so it's nice to see someone has. :) I really like it.

Two notes - it would be nice if it could jump down the 'cliff'. I summoned it in MAP01 in Doom 2 and it couldn't get away from me because of the drop at the beginning.

Also, since I liked this in Dungeon Master 2, it could occasionally steal something from the player if they get too close/bump and add it to the loot.

Please Log in or Create an account to join the conversation.

  • DeVloek
  • DeVloek's Avatar Topic Author
  • Arachnotron
  • Arachnotron
More
8 months 4 weeks ago #3 by DeVloek
Replied by DeVloek on topic [SUBMISSION] Loot Imp
I'll look into the cliff jumping, in fact I just wrote some code for that exact behavior for another monster (it's a kind of jumping spider, will submit it later today if I can sort out the last few quirks). Maybe it can work for the loot imp too.

I already thought about actively stealing items from the player or from the ground, but I'm not sure if that's really a good thing. Imagine bumping into him while low on ammo and he steals your last clip, good luck chasing him down with only melee weapons... But I'll see what I can do, I'll probably end up doing it anyway just to figure out if/how it works, which is half the fun :)

Please Log in or Create an account to join the conversation.

  • DeVloek
  • DeVloek's Avatar Topic Author
  • Arachnotron
  • Arachnotron
More
8 months 4 weeks ago #4 by DeVloek
Replied by DeVloek on topic [SUBMISSION] Loot Imp
Alright I updated the Loot Imp, now he can jump onto ledges and drop down too. For now he can traverse ledges of 64u height which looks pretty cool but he might end up in inaccessible areas if the player can't follow him, depends on the map I guess. That's why I made this behavior configurable so mapmakers can adjust the height or turn off jumping altogether.

I also made his movement less predictable by randomly pushing him left or right every few steps. I did this because I noticed that he is really easy to kill when he runs along long walls, he kinda sticks to them for a while so all you had to do is select the chaingun and shoot his back. Now he should change direction more often.

Next up is making him pick up items and steal items from the player. Probably gonna get into it sometime next week.

Please Log in or Create an account to join the conversation.

  • DeVloek
  • DeVloek's Avatar Topic Author
  • Arachnotron
  • Arachnotron
More
8 months 3 weeks ago - 8 months 3 weeks ago #5 by DeVloek
Replied by DeVloek on topic [SUBMISSION] Loot Imp
Update!

Now the Loot Imp can pickup items from the ground, and will drop them again when killed. Of course this behavior is configurable, you can whitelist item types or specific items to be eligible for pickup, or turn it off altogether.

For now I decided against implementing a mechanic that allows stealing from players. It's only gonna work for ammo, weapons, keys and maybe maprevealers anyway, stealing armor and timed powerups makes no sense. And like I mentioned earlier, I can see it being quite annoying.

[strike]I found one bug that still needs fixing. In my testmap he tends to get stuck at lineportals, I don't know why this happens but it is reproducable so I'll find out eventually.[/strike]

edit: I restructured the zs files, now everything configurable is in config.zs and loottables.zs.

another edit: the lineportal bug seems to also happen with standard Doom monsters. It's more obvious with faster monsters like pinkies and archviles, so I guess it's a bug in my map and not the Loot Imp...

final edit: yea it turns out wasn't even a bug, just the very unconventional way I set up the lineportal. The monster is fine.
Last edit: 8 months 3 weeks ago by DeVloek.

Please Log in or Create an account to join the conversation.

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
8 months 3 weeks ago #6 by Gothic
Replied by Gothic on topic [SUBMISSION] Loot Imp

Please Log in or Create an account to join the conversation.