Copy Link
Add to Bookmark
Report

Doom Editing Digest Vol. 01 Nr. 521

eZine's profile picture
Published in 
Doom editing
 · 6 months ago

From:      owner-doom-editing-digest 
To: doom-editing-digest@nvg.unit.no
Subject: doom-editing-digest V1 #521
Reply-To: doom-editing
Errors-To: owner-doom-editing-digest
Precedence: bulk


doom-editing-digest Tuesday, 19 December 1995 Volume 01 : Number 521

Re: Spawnable Critters in Hexen
Re: DeHackEd Q's
Re: ALIENS 3 IDEA! maybe...
DHE Grab Bag clarification
Re: More DHE q's
Re: Probs with invisable stairs
More DHE corrections
Re: DeHackEd help offer
Re: DHE Grab Bag clarification
Re: DeHackEd Q's
Re: DHE Grab Bag clarification
Re: De-hacked Q's
Net Game Saving
WEEKLY REMINDER : Beginner's Questions
Re: Yet another dehacked question...
Invisible Stairs & Invisible Doors
Re: DHE Grab Bag clarification

----------------------------------------------------------------------

From: bmorris@islandnet.com (Ben Morris)
Date: Sun, 17 Dec 95 20:13 PST
Subject: Re: Spawnable Critters in Hexen

> What creatures are allowed to be spawned by Spawn_Thing(), anyway? I'd
> *really* like to be able to spawn one of the brown, green-spitting chaos
> serpents, but in HETH it doesn't show up. Checked the SPAWN.HEX and
> THING.HEX, and the green ones (spawnable, already-there) have different
> I.D. values... so does the game just not even *have* the ability to spawn
> something not in HETH's list? Or am I making no sense at all?

the list of spawnable types, as written in the hexen specs (and so from
the "official" info that raven gave me) doesn't have the brown chaos
serpent. they could have missed something out - there's a few numbers
missing from the entire sequence (1-130 or so), but i haven't tested that.

plug: and while you're at it, check out hck!
ftp://ftp.islandnet.com/bmorris/hck30b3.zip =)

- - ben

- -/-
Ben Morris: Irritant at large bmorris@islandnet.com
SavanTech/Zerius/C++/Rush/DCK http://www.islandnet.com/~voltaire
Watch for DCK and HexenCK 3.0 real soon now, eh! Real soon! Yeah!

------------------------------

From: LummoxJR@AOL.COM
Date: Mon, 18 Dec 1995 00:20:08 -0500
Subject: Re: DeHackEd Q's

>Yet another De-hacked question.
>Is there any way to remove the "After teleport" Delay in Doom2? So that
>teleports can be instant like in hexen, with no pause after teleport? My TC
>Really needs this to make the Mulit Level effect, effective. If your player
>lags after a "Silent, Invlsible" (removed the sound, and GFX for tele) it is
>still obvious that you have paused, or teleported. Any ideas on this one?

I'll have to agree with Pandion-Knight on that one. It all depends on how
you're removing the graphics. If all is done properly, by trimming frame
durations to nil and not by setting the "invisible" bit (which really doesn't
work all that well), then the problem is internal and can't be changed. If,
in fact, you're using the outdated patch, then you should do the following:
(This is on my page at
http://www.daimi.aau.dk/~hykkelbj/doom/special/DHE/index.html)

Frame 130 (first in teleport flash):
Duration: 1
Next frame: 0

Tada. You don't even need to set the total invisibility bit, as the graphic
never has time to appear.

Lummox JR
really sick of the obvious questions

------------------------------

From: LummoxJR@AOL.COM
Date: Mon, 18 Dec 1995 00:20:02 -0500
Subject: Re: ALIENS 3 IDEA! maybe...

>Try turning off (or on, can't remember ANYTHING) bit 2. Odd sied effect of
>the week: Doom will NOT readjust its vertical shooting. So the only way to
>shoot it is to make it higher (just in Dehacked), so bullets will "hit" the
>"body." Also try turning on "can pick up objects" for marines.

Umm, I've tried the "can pick up objects" bit. CAN YOU SAY CRASH??
Generally, bits like that will cause a crash, and that one does. Sorry.

Lummox JR
with disenchanting info

------------------------------

From: LummoxJR@AOL.COM
Date: Mon, 18 Dec 1995 00:20:00 -0500
Subject: DHE Grab Bag clarification

>I was looking in the Dehacked Grab Bag WWW page a while back, and I
>believe I saw something that said it was impossible to make enemies shoot
>health potions and the like that you could actually use. In your case,
>it happens to be the player. Anyway, I could have sworn that a long time
>ago, when Dehacked was first being made, there was a patch out that did
>just that. If you can accomplish this (or already have) that'll have to
>be changed. Meanwhile, I think I'll check ftp.cdrom.com for that patch...
>I believe it was an imp that shot health potions along with some other
>miscellaneous stuff.

This is true. I tried researching the effect, even with the lost soul attack
approach, and nothing really worked well. In two cases, though, one using
lost souls and one not (which I don't remember), I was able to create a
stable patch in which you can get the health potions IF you move into them-
otherwise they don't effect you.
Mike's suggestion, which I hear is implemented in Aliens Doom 3, uses one of
those stable patches. I don't like using it myself, as it's not automatic,
but it's a matter of preference.

Lummox JR
writing late letters

------------------------------

From: LummoxJR@AOL.COM
Date: Mon, 18 Dec 1995 00:20:05 -0500
Subject: Re: More DHE q's

>> tried it. (Does it just involve copying the firing code pointer of a
>> monster to one of the player's code pointers for weapons?) But it could
>
>I believe you have to take one of the firing frames for the player and
>completely copy it over to another frame that you won't be using, such as
>the first frame for the SS trooper. You do this so you can put a code
>pointer there. Then you simply drop the code pointer of the mancubus
>fireball in that spot. Of course, if you do it this way, everyone would
>have the ability to set the fireballs off, but that's what I had tried
>before. You probably could modify one of your weapons to fire a
>projectile which has the mancubus fireball code pointer in IT. That way,
>you could only set them off by having a certain weapon.

Sorry, Gene, but I believe Greg was right on that first guess.
I don't think using hijacked frames for the player's weapon will work in the
way you suggest, as the game really doesn't care if you're in that 1-90some
range of weapons frames- what makes it a weapon frame is the fact that it was
invoked by the game itself.
So, copying frame 77, for example, to frame 175 should do nothing (as long as
frame 174, the trooper's first normal frame, knows not to jump to 175, which
would cause a crash), unless you alter it. And once altered, it should have
exactly the same effect it would have if it had been done to frame 77.

Lummox JR
writing writing writing writing...

------------------------------

From: LummoxJR@AOL.COM
Date: Mon, 18 Dec 1995 00:20:05 -0500
Subject: Re: Probs with invisable stairs

>Hello, I've been trying to get these to work but without success...
>(As seen in UOC_Dead)
>
>So far, I have the sector area in which they appear, a sector that is the
>step (ie identical to the outer sector in height, floors etc) and the inner
>sector which is set to the step height, same floor etc, and both sidedefs
>of the surrounding linedefs of this inner sector point to it. AFAIK this
>should be enough, but the result is the step is invisable while your line of

>sight is below the step height, and when LOS is above, the floor texture is
>displayed at the step height (and continues down to fill the wall-below)
>rather
>than remaining at ground level (in order to result in invisable steps).
>
>Ok, congradulations if you managed to understand that convoulted
>paragraph. Any suggestions? (I am using WinDeu32, but it is not set to
>expert mode, could it be "fixing" my "errors" or something?)
>
>A step by step start-from-sratch instructions might help as I could use
>it as a checklist, but I havn't seen any FAQs that include this...

All the information (except for the level editor) is unnecessary, as I have
encountered the same problem, and the answer is (in hindsight, at least)
somewhat obvious.
You need to be using a separate node builder, like BSP. I was using Deu 5.23,
and I found that the effect didn't work for me, either. Using BSP fixed the
problem.
Of course, now you'll draw us all back into that discussion about invisible
doors and stairs and the possibly conflicting effects of WARM on their
development. :D

Lummox JR
more confusing than I sound

------------------------------

From: LummoxJR@AOL.COM
Date: Mon, 18 Dec 1995 00:20:06 -0500
Subject: More DHE corrections

>I'm not entirely convinced this will work as well with a marine that uses
>a chaingun or plasma gun - it seems to me he might be moving a little
>"choppily" as he stops when he fires for an instant, moves a little bit,
>stops and fires for an instant, etc... Although I may be wrong - maybe
>the pause is small enough to be indiscernable.

Nope.
The way to get a repeating weapon is to loop the attack sequence around. If
done properly, there will be a line-of-sight check in one frame, and firing
in another, with no pulling out the weapon and putting it back, as is usually
the case with monsters.
The moving is done only during the moving frames, unless one of the attack
frames is given the proper code pointer.
I think your impression of the effect is that the chance of attacking during
a moving sequence would be increased- not so. This is internal to the game,
and as such is unhackable.

>I haven't done any editing on the durations for the regular walking
>frames for anybody, but I have the impression that this would just make
>the frames move really fast. In other words, the monster always moves at
>the speed defined by the speed bit, and the durations for the movement
>frames are just there so the PICTURE of the monster walking is going at a
>realistic speed (isn't swinging it's arms and legs too rapidly.)

Nope, you're wrong here. In normal monsters, their moving frames usually have
a duration of 4 or something; but the speed setting itself is relative- it
controls the distance that a monster moves when it receives the instruction
to move. That is why monsters with a high enough speed can walk straight
through a wall, and may be unable to get back through it for some time. The
whole reason is that the code pointer executes when the frame begins, and in
moving situations, it executes again when the next frame is reached (which
would also naturally have the moving code pointer).
To see this, try the following:

1. Altering the duration on the trooper's or sergeant's moving frames- set it
to 1, or to 12 (really slow). Speed of 1 will be 4x as fast, speed of 12 is
3x as slow. Trust me, you'll see the difference.
2. Set the imp's speed to 50, and then watch the two that are on the balcony
in E1M1 of Doom I. Use the map (type IDDT twice) to see this- at some point,
one should go right through a wall- or off the cliff.

Lummox JR
with answers

------------------------------

From: jh32322@ltec.net (Joel Huenink)
Date: Mon, 18 Dec 1995 01:56:47 -0600
Subject: Re: DeHackEd help offer

ON 12/13/95 I wrote:
>> HI Mike,
>> I have created a 1.5 times the size mega cyberdemon with a rocket launcer on
>> each arm. How do I make him fire two rockets at once or at least the second
>> one a split second behind the first? He's big and he's bad so I want him to
>> act accordingly!

Mike Gummelt responded with:
>easy, just add a frame in his attack that uses the same code pointer at the
>rocket-firing frame. Just be sure to make the frame duration of the first
>firing frame at least 10 to make a gap. This will make him fire two rockets-
>one after the other.
>If you want him to fire two at the same time, change the mancubus fireball
>into a rocket, and use the mancubus fire code pointers. there are three,
>each one fires 2 shots simultaneously (one fires left & center, one fires
>two center , and the other fires center and right). Here you have the
>potential to fire SIX rockets at once!
>What would also be cool would be to throw in a revenant-missible tracking
>behaviour. Unfortunately, you need to use the revenant-fire code pointer
>to shoot one, and the missile must have the revenant missile code pointers
>for the tracking to work. So you could still make the cyberdemon fire two
>tracking in a row, OR you could make the cyberdemon fire two non-tracking
>rockets slightly off-center (using the center-fire mancubus code P. which
>will fire the mancubus fireball), followed IMMEDIATELY by a tracking
>rocket shot straight from the center (using the revenant-fire code P. which
>will fire a revenant fireball).
>This all may sound confusing, but it's pretty simple. If you have any further
>questions, let me know. Also, make sure you're using deHackEd 3.0a, it is much
>better than earlier versions.
>
>Mike Gummelt
>
Mike,
I am using dehacked 3.0 and successfully got the mancubus fireball turned
into a rocket but when I try to change the cyberdemon's fire code pointer to
the mancubus fire code pointer (164960,165088 or 165216) Dehacked tells me
its an invalid number and wont allow me to edit that field! I tried the same
thing in D2 V4.2 and it let me use the new code pointers but it had no
effect at all. The mancubus shoots two rockets so would it be easier to
adjust his hit points, mass, height & width and use the cyberdemon sprites?

Joel Huenink
jh32322@ltec.net


------------------------------

From: Michael Gummelt <gummelt@pegasus.montclair.edu>
Date: Mon, 18 Dec 1995 04:31:47 -0500 (EST)
Subject: Re: DHE Grab Bag clarification

Hey, Lee,
Nice to hear from you, are finals finally over? By the way, if anyone's
interested, I used the archvile as my health potions (invisible) so that
they spawn right "inside" inside of you. All you have to be doing is
moving just the slightest bit and they are picked up. I also made
it so that the health potions have a short duration in case you don't move
so it won't slow the game down to a crawl. I've just finished a new
patch that makes one of the weapons a portable first aid kit that you
use to heal yourself- just press fire! Of course, you have to be moving
just a bit to get the effect (in both cases even pushing back or sideways
against a wall or corner or any object is enough). I just made the
projectile not a projectile so it can't leave your body, and I made it
totally invisible.
This health gun is part of an Insane Weapons Patch I've been working on
for a couple days, something small and quick to whip up and releae
while I continue working on Aliens Doom 3. More details soon...
trust me, you're gonna like it! (Great for Nightmare skill level and
DeathMatch!)

Mike Gummelt

LummoxJR wrote:
>
> This is true. I tried researching the effect, even with the lost soul attack
> approach, and nothing really worked well. In two cases, though, one using
> lost souls and one not (which I don't remember), I was able to create a
> stable patch in which you can get the health potions IF you move into them-
> otherwise they don't effect you.
> Mike's suggestion, which I hear is implemented in Aliens Doom 3, uses one of
> those stable patches. I don't like using it myself, as it's not automatic,
> but it's a matter of preference.
>
> Lummox JR
> writing late letters
>

------------------------------

From: Michael Gummelt <gummelt@pegasus.montclair.edu>
Date: Mon, 18 Dec 1995 04:41:34 -0500 (EST)
Subject: Re: DeHackEd Q's

Well, I hope this isn't too much bad news, but here goes:
I have NO frames at ALL in my teleport exit or flash, and I still
get lag (the initial frame for both is 0). So, I think there's no
way around it. The lag just seems to be internal to the game engine
itself.

Mike Gummelt
Check out what I mean on e1m5 of my Aliens Doom 3 beta- the "chutes"
to the lower floors and ladders to the higher ones are all invisible
teleporters.

>
> I'll have to agree with Pandion-Knight on that one. It all depends on how
> you're removing the graphics. If all is done properly, by trimming frame
> durations to nil and not by setting the "invisible" bit (which really doesn't
> work all that well), then the problem is internal and can't be changed. If,
> in fact, you're using the outdated patch, then you should do the following:
> (This is on my page at
> http://www.daimi.aau.dk/~hykkelbj/doom/special/DHE/index.html)
>
> Frame 130 (first in teleport flash):
> Duration: 1
> Next frame: 0
>
> Tada. You don't even need to set the total invisibility bit, as the graphic
> never has time to appear.
>
> Lummox JR
> really sick of the obvious questions
>

------------------------------

From: Jim Davis <JAD7084@tntech.edu>
Date: Mon, 18 Dec 1995 05:56:11 -0600 (CST)
Subject: Re: DHE Grab Bag clarification

> Nice to hear from you, are finals finally over? By the way, if anyone's
> interested, I used the archvile as my health potions (invisible) so that
> they spawn right "inside" inside of you. All you have to be doing is
> moving just the slightest bit and they are picked up. I also made

Eww... I once tried to make an invisible arch-file that didn't attack, just
wandered around resurrecting critters... so it got creepy when the thing
started opening doors (Huh? Whodidthat?). To cure that, I turned on the
`NO-CLIPPING' bit, and then it got *really* creepy.

(Also tried to replace him with a blue ball; plasma for wandering,
`respawn-blue' for resurrecting... neat effect.)

.-----------.--------------------.------------------------------------.
| Jim Davis | jad7084@tntech.edu | http://www.csc.tntech.edu/~jadavis |
`-----------^--------------------^------------------------------------'

------------------------------

From: "Brian K. Martin" <brian@phyast.pitt.edu>
Date: Mon, 18 Dec 1995 08:35:44 -0500 (EST)
Subject: Re: De-hacked Q's

>
> Yet another De-hacked question.
>
> Is there any way to remove the "After teleport" Delay in Doom2? So that
> teleports can be instant like in hexen, with no pause after teleport? My TC
> Really needs this to make the Mulit Level effect, effective. If your player
> lags after a "Silent, Invlsible" (removed the sound, and GFX for tele) it is
> still obvious that you have paused, or teleported. Any ideas on this one?
>

You can only shorten the pause. I found that a good way to hide this
is to place the teleporter in a sector with light=0 (as well as the exit).
Then you don't really notice the pause as much (un less your playing in
map mode )

brian


------------------------------

From: gareth@ndl.co.uk (Gareth Evans-McClave)
Date: Mon, 18 Dec 95 15:25:18 GMT
Subject: Net Game Saving

Hi all,
having just downloaded Memento Mori and played the first 4 levels in two
player co-op (great wad BTW nice work guys). I have a question. Have any of
you guys seen (got) a patch to allow restore of a game during net play. If
not, how about it ID?
I realise it a bit of a weirdy and syncing up with the other players would
need to be done, but I guess, on save, a broadcast could be made to all
other players, and their game states could be saved (say in a reserved save
game slot), and on restore, another braodcast to cause all other players to
restore as well. Perhaps one player could be the "master" controlling all
save/restore operations, or maybe just anarchy.
Anyway just some mental doodling, sorry if its been thrashed to death already!

Gareth



------------------------------

From: John Wakelin <johnw@datametrics.com>
Date: Mon, 18 Dec 95 11:50:19 -0500
Subject: WEEKLY REMINDER : Beginner's Questions

This message is being posted at the request of the list's caretakers.

In this you will find: the purpose of this list, how to get answers
to less than 'expert' questions, how to get info about the list, and
what can get you kicked off the list. If you are new to this list,
please take a moment to read the short note that follows. It will
help to get you up to speed and, may save you some grief in the future.

====================================================================

FROM: the list caretaker; *** A REMINDER ***

The DOOM-editing list is not a list aimed at newcomers to
DOOM-editing. Its purpose is to provide discussions on *advanced*
DOOM editing techniques, as well as discussions on the variations of
the DOOM engine. Many of its members are not tolerant of repeated
"beginners" questions. Sorry--that's just the way they are ;) There
is much that beginners can learn from the list, however, and we would
like the list to be of use to as many subscribers as possible.

In the past, there has been much moaning about new subscribers asking what
old-hands feel to be "typical newbie questions", usually posted in
ignorance of the fact that the topic has been discussed to death
previously. This leaves newcomers in a quandary: to post or not to post?

Well, help is at hand. The "Beginners Questions Service" can act as a
buffer between you and the higher echelons of the DOOM-editing elite,
conceited lot that they are. It works like this: if you have a question but
don't know whether it's advanced or not, and would like to avoid any
potential embarrassment from asking the question in front of the whole
list, you are encouraged to mail it in the first instance to:

John Wakelin : johnw@datametrics.com

Your question will either be answered or, if deemed appropriate for the
list, forwarded to it. This service is offered as a potential red-face
saving and list-annoyance abatement service: there is absolutely no
requirement on anyone to make use of this service, but doing so may get you
an answer quicker than sending to the list, and can potentially save you
from finding yourself in the middle of a flaming. But then, as a DOOMster,
you can take a toasting, right?

**NOTE: If your questions are prefixed with the code WQ: in the subject
field (e.g. Subject: WQ: Sprites), they will be processed quicker because
they will be brought to light sooner!**

====================================================================

Remember also, that if you want any general info about this list,
including instructions for unsubscribing from the list, you should
send mail to the list-server, thus:

To: majordomo@nvg.unit.no
Subject:
Body: info doom-editing

====================================================================

**How to get kicked off DOOM-Editing**

This list looks very unfavorably upon chain-letters (No matter what
the cause). The caretakers have indicated that persons posting these
items to this list are subject to immediate unsubscription with no
warning.

The admin of this list also looks very unfavorably upon any off-topic
discussions whether they be religious arguments, Quake or public flaming
via the list. Discussion should be relevant to DOOM, Heretic or
Hexen editing. Discussions of Quake are relevant only to the extent
that they relate to the released id games, that means that that they
are usually off-topic. NOTE: Posts from John Romero are generally
considered exempt from this rule. :)

So far, admin has specifically stated that the religious battles as
well as public flaming via the list are the other things that will
get you kicked from the list without warning. So, if you must stoop
to slapping at someone verbally, please, do so via PRIVATE mail.

CONSIDER THIS YOUR WARNING.

=====================================================================

This reminder will be posted here weekly, with the subject title:

WEEKLY REMINDER : Beginner's Questions

=====================================================================

-= John Wakelin =-
-= .sig copyright violator =-
-= TeamTNT - Member =-

------------------------------

From: boom@headgames.com (Spencer Boomhower)
Date: Mon, 18 Dec 1995 13:48:34 -0800
Subject: Re: Yet another dehacked question...

>> Oh, and as for the effort of making fake marines look real, it certainly
>> is NOT a lost cause. It can be done enough so that if you are playing
>> DM you won't be able to know what's real and what's not until it's too
>> late anyway, so it's worth it. And with 20 or so fake marines, the
>> variety will keep you guessing.
>
>Sorry to say it, but I'm dubious. With the tools we're limited to, I
>doubt a reasonably experienced DOOM player wouldn't notice that it's a
>stupid impostor they're facing as opposed to a real player.

I think it's possible to make this a great Deathmatch without perfectly
simulating a real player; in a Deathmatch of this type the fun part is
using the fake marines as camouflage. The best players figure out how to
act like a stupid impostor until they have a good shot.

Even without the limitations of DeHackEd it would be pretty hard to design
an AI that could play with the intelligence and unpredictability of a real
player (IMHO). But I'd love to see someone do it. Maybe a Turing test for
Deathmatch?

Boom



------------------------------

From: mroussea@roadrunner.pictel.com (Marc Rousseau)
Date: Mon, 18 Dec 1995 17:02:23 -0500 (EST)
Subject: Invisible Stairs & Invisible Doors

In a recent post from Lummox JR:

>Of course, now you'll draw us all back into that discussion about invisible
>doors and stairs and the possibly conflicting effects of WARM on their
>development. :D

OK, I'll start...

<shameless plug coming>

The latest version of ZenNode (v0.97) was uploaded to ftp.cdrom.com last Friday ( 12/15/95 ) and it solves this age old dilema! Now you can put both of these effects into your .wad and have both of them work. The .zip file contains a sample .wad file with both of them in it and information describing how it works. I haven't created any extensive documentation describing what the nodebuider requirements are for the various special effects, but that may be coming.

Most special effects work with the default settings. Others work using the /nu- or /ni switches ( WARM has equivalent settings but I don't know which ones they are ). Now you can selectively apply these switches to *individual* linedefs & sectors rather than the whole .wad file. With a little trial & error you should be able to get them all to work together. You can download ZenNode, rebuild the supplied .wad and see for yourself.

Marc Rousseau
- -author of ZenNode

------------------------------

From: Michael Gummelt <gummelt@pegasus.montclair.edu>
Date: Mon, 18 Dec 1995 19:49:57 -0500 (EST)
Subject: Re: DHE Grab Bag clarification

>
> Eww... I once tried to make an invisible arch-file that didn't attack, just
> wandered around resurrecting critters... so it got creepy when the thing
> started opening doors (Huh? Whodidthat?). To cure that, I turned on the
> `NO-CLIPPING' bit, and then it got *really* creepy.
>
> (Also tried to replace him with a blue ball; plasma for wandering,
> `respawn-blue' for resurrecting... neat effect.)
Hey, cool idea! Do you mind if I use it in my new Doom Insane Weapons
patch? I'd probably have an archvile-looking monster that "fires"
those floating blue balls that respawn monsters- that would be cool.

Mike Gummelt

The previous was quoted from:
>
> .-----------.--------------------.------------------------------------.
> | Jim Davis | jad7084@tntech.edu | http://www.csc.tntech.edu/~jadavis |
> `-----------^--------------------^------------------------------------'
>

------------------------------

End of doom-editing-digest V1 #521
**********************************

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT