Necromancer Mod?

So i started playing Cataclysm i couple of weeks ago and ,well, i’m in love with it! But as i look upon the mod section i was disappointed to see a lack of the most obvious mod for this game… a Necromancer mod. The supernatural is already present in the game (Nether Beings, Cults and Skeletons) so it would’t be a big step to allow the player to make his own personal army of monsters :slight_smile:

You could start small, like making a simple blob of flesh from a couple pieces of meat to draw enemy attention in combat, and end up making giant monsters of flesh and bone that could tear through hordes of enemy’s like butter! You could do other utilitarian necro…stuff
like taking a couple of corpses and turning them into a flesh wall! Human settlements could be allot more common and could even sent out patrols ,giving you more variety on enemy’s. The possibility’s are endless!

If anyone wants too pick this up you have my full support (for what little it worths), and if not… well a man can dream cant he? :wink:

This was already discussed, and smacked away ruthlessly, devs had said that there will be nothing magical put into the game, but as a mod sure, oh wait, nevermind you said mod hehe my bad.

Well we’re fairly against magic per se*, but I could see adding some stuff to befriend, control, etc zombies. Would probably be something involving mutations.

*It’s just a genre thing, I’m not against magic/fantasy period, just doesn’t fit in this game.

What about some kind of genetically controlled goo? Found in labs it would infect zombies and turn them non-hostile.

Friendly goo tubes? That reminds me of this game I played…

Yeah, but this actively seeks and infects Zeds. Unlike the current item.

Also no reason to get smart. T-T

Okay okay, I’m sorry, you caught me : )

Now, I’m thinking it should be more an artifact then a mutation, since don’t the artifacts come from the other side? Maybe that was meant as a coding thing.

Anyhow a mod to make a “necromancer” type character is interesting, I’m picturing a type of crafting system starting with building a small army of blob types, as you suggested, and progressing to more and more powerful creatures, until raiding results in the ability to produce a near unstoppable creature.

And as far as getting a mod created, Jaso, if you don’t have the coding ability to take on this project yourself, your doing the exact right thing. Start a conversation on the topic and collect ideas and thoughts from the community. That’s the best way to get things done around here, if not to do them yourself of course. That way modders and devs who have some free time may see it while browsing, and anything with a lot of interest will get attention from those who develop.

[quote=“Kevin Granade, post:3, topic:4629”]Well we’re fairly against magic per se*, but I could see adding some stuff to befriend, control, etc zombies. Would probably be something involving mutations.

*It’s just a genre thing, I’m not against magic/fantasy period, just doesn’t fit in this game.[/quote]
I never mean it too became part of the main game. I agree that it doesn’t fit the games theme ,which is why i wish this as a mod not a game addition.

[quote=“deadmerits, post:7, topic:4629”]Okay okay, I’m sorry, you caught me : )

Now, I’m thinking it should be more an artifact then a mutation, since don’t the artifacts come from the other side? Maybe that was meant as a coding thing.

Anyhow a mod to make a “necromancer” type character is interesting, I’m picturing a type of crafting system starting with building a small army of blob types, as you suggested, and progressing to more and more powerful creatures, until raiding results in the ability to produce a near unstoppable creature.

And as far as getting a mod created, Jaso, if you don’t have the coding ability to take on this project yourself, your doing the exact right thing. Start a conversation on the topic and collect ideas and thoughts from the community. That’s the best way to get things done around here, if not to do them yourself of course. That way modders and devs who have some free time may see it while browsing, and anything with a lot of interest will get attention from those who develop.[/quote]
Well i have tried my hand in DF modding… it dint go well :frowning:
Is modding in Cataclysm easier? I have looked at the CataModder tool but it doesn’t let me create new “Use” functions (as far as i can see at least) which i would like to use.

[quote=“Jaso11111, post:9, topic:4629”][quote=“deadmerits, post:7, topic:4629”]Okay okay, I’m sorry, you caught me : )

Now, I’m thinking it should be more an artifact then a mutation, since don’t the artifacts come from the other side? Maybe that was meant as a coding thing.

Anyhow a mod to make a “necromancer” type character is interesting, I’m picturing a type of crafting system starting with building a small army of blob types, as you suggested, and progressing to more and more powerful creatures, until raiding results in the ability to produce a near unstoppable creature.

And as far as getting a mod created, Jaso, if you don’t have the coding ability to take on this project yourself, your doing the exact right thing. Start a conversation on the topic and collect ideas and thoughts from the community. That’s the best way to get things done around here, if not to do them yourself of course. That way modders and devs who have some free time may see it while browsing, and anything with a lot of interest will get attention from those who develop.[/quote]
Well i have tried my hand in DF modding… it dint go well :frowning:
Is modding in Cataclysm easier? I have looked at the CataModder tool but it doesn’t let me create new “Use” functions (as far as i can see at least) which i would like to use.[/quote]

You can’t quite grasp how ungodly difficult it is to create new item instances. Especially artifacts.

[quote=“gtaguy, post:10, topic:4629”][quote=“Jaso11111, post:9, topic:4629”][quote=“deadmerits, post:7, topic:4629”]Okay okay, I’m sorry, you caught me : )

Now, I’m thinking it should be more an artifact then a mutation, since don’t the artifacts come from the other side? Maybe that was meant as a coding thing.

Anyhow a mod to make a “necromancer” type character is interesting, I’m picturing a type of crafting system starting with building a small army of blob types, as you suggested, and progressing to more and more powerful creatures, until raiding results in the ability to produce a near unstoppable creature.

And as far as getting a mod created, Jaso, if you don’t have the coding ability to take on this project yourself, your doing the exact right thing. Start a conversation on the topic and collect ideas and thoughts from the community. That’s the best way to get things done around here, if not to do them yourself of course. That way modders and devs who have some free time may see it while browsing, and anything with a lot of interest will get attention from those who develop.[/quote]
Well i have tried my hand in DF modding… it dint go well :frowning:
Is modding in Cataclysm easier? I have looked at the CataModder tool but it doesn’t let me create new “Use” functions (as far as i can see at least) which i would like to use.[/quote]

You can’t quite grasp how ungodly difficult it is to create new item instances. Especially artifacts.[/quote]
Oh… well… shit.
I wanted to make some sort reanimation tool that would reanimate a human corpse for a few terns to help the player. The player would only be able to make very few permanent minions on the field. The rest would require structures that the player would have to build and be near too to work.

That would require an iuse yes, which currently means adding it to iuse.cpp

Actually raising corpses wouldn’t be too hard, just verify that there’s an eligible corpse, remove it, and spawn a monster of the appropriate type, and set it friendly. If you need a time limit on it it’d need to deteriorate on a timer or something, that would need to be a special monster attack or something.

The hard part would be having it limit the number of corpses it could raise at once, it’d basically have to just brute-force it by scanning all active monsters for friendlies, but that wouldn’t be foolproof because you could animate up to your cap, run away (e.g. go down/up stairs) and animate more because the ones on the other z-level don’t count any more. If they deteriorate fast enough you could limit the number by making the time to reanimate be a significant fraction of the time the monster lasts, that would be a lot easier.

Well, this whole thing seems out of my league but i’m going to try.
Still, no promises.
Like a said before, if any modders out there want to pick it up be my guest! Hell i don’t even need credit for the suggestion i just want play this!

Bub from Day of the Dead!

Star and flag to your post sir.

Gtaguy, I created an item with an iuse and a unique purpose and it was NOT ungodly difficult. Granted, raising the dead is harder, but the function’s all there-- zombies already revive, there are already friendly units, etc.

Creating new items is easy. If you can use your computer for anything more complex than simply playing games or surfing the internets, you can pick up how to do so within a single afternoon.

So I’ve got some of the basics to do this in lua implemented. PR is up: https://github.com/CleverRaven/Cataclysm-DDA/pull/5296

With this I’ve implemented a simple revive iuse in lua. It still lacks being able to select where to revive(sorta like the lighter), as well as some sort of restriction, but it’s a solid enough proof of concept.

function resurrect_zombie_iuse(item, active)
    -- get a list of items at the user's position
    items = game.items_at(player.posx, player.posy)
    
    -- iterate over the item stack
    for i=1,#items do
        item = items[i]
        item_type = game.item_type(item)
        
        -- check if it's a corpse we can revive
        if item_type.id == "corpse" then
            -- the index of the item in the stack is i-1 and not i,
            -- because lua starts counting from 1 whereas C++ starts
            -- counting from 0
            stack_index = i - 1
            game.revive_corpse(player.posx, player.posy, stack_index)
            
            -- okay, now that we have revived it, make it friendly please!
            local monster = game.monster_at(player.posx, player.posy)
            monster:make_friendly()
            
            break
        end
    end
end
  { "id":"resurrect",
    "type": "TOOL",
    "symbol": ",",
    "color": "blue",
    "name": "resurrect",
    "description": "Stand over a corpse and apply this tool to get a fresh zombie.",
    "price": 35,
    "material": "plastic",
    "weight": 14,
    "volume": 0,
    "bashing": 0,
    "cutting": 0,
    "to_hit": 0,
    "max_charges": 10,
    "initial_charges": 10,
    "charges_per_use": 1,
    "turns_per_charge": 50,
    "ammo": "NULL",
    "revert_to": "null",
    "use_action": "RESURRECT"
  },

As for keeping track of revived zombies etc, that’s actually really difficult. This is mostly because there’s no way to keep a “pointer” to any entity in the game, so you can’t just say, have a list of revived zombies, and then be notified if one of them is deleted(read: dies). We’re still working with a very limited engine here.

Sorry i haven’t been around for a few days guys, New Years and all that, but im back now.
Oh and…
[size=10pt]HAPPY NEW YEAR!![/size]

Well i like too believe that im above average in terms of general computer knowledge that most people but we will see.
As long as its easier that Java (raises fist one of this days Minecraft, one of this days!) i sould be ok.

[quote=“CIB, post:17, topic:4629”]So I’ve got some of the basics to do this in lua implemented. PR is up: Added bindings for revive and mon_at to lua. by CIB · Pull Request #5296 · CleverRaven/Cataclysm-DDA · GitHub

With this I’ve implemented a simple revive iuse in lua. It still lacks being able to select where to revive(sorta like the lighter), as well as some sort of restriction, but it’s a solid enough proof of concept.

function resurrect_zombie_iuse(item, active)
    -- get a list of items at the user's position
    items = game.items_at(player.posx, player.posy)
    
    -- iterate over the item stack
    for i=1,#items do
        item = items[i]
        item_type = game.item_type(item)
        
        -- check if it's a corpse we can revive
        if item_type.id == "corpse" then
            -- the index of the item in the stack is i-1 and not i,
            -- because lua starts counting from 1 whereas C++ starts
            -- counting from 0
            stack_index = i - 1
            game.revive_corpse(player.posx, player.posy, stack_index)
            
            -- okay, now that we have revived it, make it friendly please!
            local monster = game.monster_at(player.posx, player.posy)
            monster:make_friendly()
            
            break
        end
    end
end

{ "id":"resurrect", "type": "TOOL", "symbol": ",", "color": "blue", "name": "resurrect", "description": "Stand over a corpse and apply this tool to get a fresh zombie.", "price": 35, "material": "plastic", "weight": 14, "volume": 0, "bashing": 0, "cutting": 0, "to_hit": 0, "max_charges": 10, "initial_charges": 10, "charges_per_use": 1, "turns_per_charge": 50, "ammo": "NULL", "revert_to": "null", "use_action": "RESURRECT" }, [/quote]

I cannot express how awesome that is too me :slight_smile:

Well i think not knowing how your minions are doing may be a good thing. It makes the game feel more… organic shall we say.
Imagine sending your minions too fight a horde while you go loot a building, only to emerge too see your minions dead and a horde of hungry hungry zombies coming towards you!