The Dink Network

to much fighting

February 22nd 2004, 07:07 PM
sob_scorpb.gif
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 .
February 22nd 2004, 07:20 PM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
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(&current_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.
February 23rd 2004, 04:18 AM
wizardb.gif
Kyle
Peasant He/Him Belgium
 
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.
February 23rd 2004, 04:34 AM
custom_king.png
redink1
King He/Him United States bloop
A mother ducking wizard 
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.
February 23rd 2004, 11:18 AM
pq_knight.gif
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.
February 24th 2004, 04:15 AM
wizardb.gif
Kyle
Peasant He/Him Belgium
 
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
February 26th 2004, 03:28 AM
burntree.gif
MTG
Peasant He/Him
 
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!
February 26th 2004, 04:36 AM
duck.gif
Tal
Noble He/Him United States
Super Sexy Tal Pal 
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.
February 26th 2004, 09:24 AM
slayer.gif
MadStalker
Peasant He/Him Finland
tag line 
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.
February 26th 2004, 12:32 PM
wizardg.gif
Paul
Peasant He/Him United States
 
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?
February 28th 2004, 01:27 AM
custom_fish.png
SabreTrout
Noble He/Him United Kingdom
Tigertigertiger. 
MAybe Dink is simply smitten by the Bonca's lovely tail?