to much fighting
A lot of people get pissed off at having to fight the same enemies over and over without any enemies staying dead . I assume (not knowing a hell of a lot about Dink C) that this is the result of their not being a lot of global variables (after you kill an enemy its own global variable goes from 0 to 1 and lets the monster's script know not to respawn the monster) . I was wondering if anyone has tried to hide a lot of variables inside one variable by using each digit as a variable or something like that . I ask because if I make a Dmod I would love to make a large portion of the monsters not respawn .
Yep, I've 'hidden' a lot of variables in another variable before, check out the SuperVar source. Or don't, its horribly confusing and ill-documented, and your idea of how you would do it is probably similar to how I did it.
But there really isn't any need to do it to do what you want to do with monster respawning. Seth programmed the respawning functionality directly into the engine, so you don't have to allocate global variables at all.
You just do something like this in the enemy's die procedure to prevent an enemy from ever respawning:
int &hold = sp_editor_num(¤t_sprite);
editor_type(&hold, 1);
Other editor_type values are follows, stolen from the DinkC Reference:
1 - kill sprite completely
2 - draw pic from enclosed seq/frame data as a sprite WITHOUT hardness
3 - draw pic from enclosed seq/frame data as a BACKGROUND object WITHOUT hardness (can be walked on [but not] behind)
4 - draw pic from enclosed seq/frame data as a sprite WITH hardness
5 - draw pic from enclosed seq/frame data as a BACKGROUND object WITH hardness (can't walk [on or] behind)
6 - kill sprite, but let him come back after 5 minutes
7 - kill sprite, but let him come back after 3 minutes
8 - kill sprite, but let him come back after 1 minute
By the way, I would recommend that you use the values 6-7... sure, a small minority of people might get pissed about having to kill the same enemies over and over. However, 'killing the same enemies over and over' is pretty much all you do in such games as Diablo 2, so I don't see it as too much of a deal.
Not to mention, having respawning monsters allows the player to decide how strong they want to get. Do they *want* to spend extra time killing monsters to gain levels, or do they *want* to kill as few monsters as possible and suffer the consequences later when they face stronger foes?
Screenlocks, on the other hand, where you are *forced* to kill the same enemies over and over are a pain in the ass. My next D-Mod, Initiation, has a solution to that problem. Basically a screen will only screenlock once, which forces the player to battle the monsters (thereby limiting the player's progression through the game a bit and forcing them to fight), while not being a major annoyance later on when just passing through.
But there really isn't any need to do it to do what you want to do with monster respawning. Seth programmed the respawning functionality directly into the engine, so you don't have to allocate global variables at all.
You just do something like this in the enemy's die procedure to prevent an enemy from ever respawning:
int &hold = sp_editor_num(¤t_sprite);
editor_type(&hold, 1);
Other editor_type values are follows, stolen from the DinkC Reference:
1 - kill sprite completely
2 - draw pic from enclosed seq/frame data as a sprite WITHOUT hardness
3 - draw pic from enclosed seq/frame data as a BACKGROUND object WITHOUT hardness (can be walked on [but not] behind)
4 - draw pic from enclosed seq/frame data as a sprite WITH hardness
5 - draw pic from enclosed seq/frame data as a BACKGROUND object WITH hardness (can't walk [on or] behind)
6 - kill sprite, but let him come back after 5 minutes
7 - kill sprite, but let him come back after 3 minutes
8 - kill sprite, but let him come back after 1 minute
By the way, I would recommend that you use the values 6-7... sure, a small minority of people might get pissed about having to kill the same enemies over and over. However, 'killing the same enemies over and over' is pretty much all you do in such games as Diablo 2, so I don't see it as too much of a deal.
Not to mention, having respawning monsters allows the player to decide how strong they want to get. Do they *want* to spend extra time killing monsters to gain levels, or do they *want* to kill as few monsters as possible and suffer the consequences later when they face stronger foes?
Screenlocks, on the other hand, where you are *forced* to kill the same enemies over and over are a pain in the ass. My next D-Mod, Initiation, has a solution to that problem. Basically a screen will only screenlock once, which forces the player to battle the monsters (thereby limiting the player's progression through the game a bit and forcing them to fight), while not being a major annoyance later on when just passing through.
Diablo II's monsters don't respawn at all. They stay dead until you start a new game.
I'm not much of a fan when it comes to screenlock for ordinary encounters. I'm all for it when talking about boss encounters though.
I'm not much of a fan when it comes to screenlock for ordinary encounters. I'm all for it when talking about boss encounters though.
Doh, I haven't played Diablo 2 in ages. But I could've sworn it wasn't until you start a new game... but rather until you load a new game. It still gives the player the choice of saving (yeah yeah, I know the game auto-saves even if you shut it down when you're fighting) and re-loading to fight more monsters.
In D2 you do have to fight the same monsters again under the folowing circumsstances;
1. You save and exit then load.
2. You go east then come back west.
1. You save and exit then load.
2. You go east then come back west.
2. You go east then come back west.
Forgot about that one. But, theoretically the voyage takes a while so it is not impossible for new enemies to have settled and old bosses to have been resurrected
Forgot about that one. But, theoretically the voyage takes a while so it is not impossible for new enemies to have settled and old bosses to have been resurrected

I think that there should be lots of fighthing in D2 and DS. If you don´t figth, you gain no experience, and when you don´t have experience you are weak.So people;FIGTH!

2. You go east then come back west.
I don't recall enemies ever respawning unless I quit the game I was in and then created a new one. And I played D2 relentlessly for three straight years up to last October, and still play from time to time.
I don't recall enemies ever respawning unless I quit the game I was in and then created a new one. And I played D2 relentlessly for three straight years up to last October, and still play from time to time.
I prefer a D-mod that relies more on a good plot. I HATE IT when I have to clear seemingly infinite amount of screens full of screenlocking creatures that respawn. But of course, nothing bad in non-screenlock creatures to gain experience.
I hate screenlock too. For regular monsters anyway. A particular peeve of mine is when monsters that don't even attack unprevoked cause screenlock. How on earth would a bonca wandering around minding it's own business stop me from walk past?
MAybe Dink is simply smitten by the Bonca's lovely tail?