Page 1 of 1
Augs Mutator

Posted:
Mon May 09, 05 12:20 am
by Trailmix
I had an idea of twisting Deus Ex augs. A mutator that allows augs to run forever. I asked TheSheep to code it and he did. It's in the testing period now cause it keeps making my DX GPF. So what do you guys think of this?
It'd be a good experience for new aug players to get the feel of augs and practice with them. When they're good, they move on to bio-draining.

Posted:
Mon May 09, 05 12:48 am
by Bobo.
Ah yes....TheSheep my old mapping/coding pro


Posted:
Mon May 09, 05 11:56 am
by Bob
TheSheep used to be a DF member, right?
And yeh, tell us more trail, what are the whole effects of this mutator?

Posted:
Mon May 09, 05 12:18 pm
by Bobo.
Yeah,Lordz and DF rofl

Posted:
Mon May 09, 05 12:32 pm
by kBo
Just infinite bio I guess so the augs never run out.

Posted:
Mon May 09, 05 3:22 pm
by Dejavu
that would a be a good idea. i just have one newbie on training and he is so happy with his speed augmentation (as long as he has bio).

Posted:
Mon May 09, 05 3:32 pm
by Dae
It's in the testing period now cause it keeps making my DX GPF
what are you testing in it?

infinite bio can be done via a couple of set commands, in mutator its the same, 3-4 lines of code, i think.

Posted:
Mon May 09, 05 3:55 pm
by Trailmix
I'm not sure about that either. But here's the code: And the .int file should be straightforward.
- Code: Select all
class AugMutator extends Mutator;
function ModifyPlayer(Pawn Other)
{
local Augmentation aug;
if(Other.IsA('DeusExPlayer')) //which it should be
{
for(aug=DeusExPlayer(Other).AugmentationSystem.FirstAug;
aug!=None;aug=aug.Next)
{
aug.EnergyRate=0; //no drain
aug.bAlwaysActive=True; //always on
}
}
}
AugMutator.int
- Code: Select all
[Public]
Object=(Name=AugMutator.AugMutator,Class=Class,MetaClass=Engine.Mutator,Description="Aug mutator, Augmentations run constantly and don't drain energy")
Preferences=(Caption="Aug Mutator",Parent="Mutators",Class=AugMutator.AugMutator,Immediate=True)

Posted:
Mon May 09, 05 7:05 pm
by AlexDenton
aug.EnergyRate=0; //no drain
there you have it

Posted:
Mon May 09, 05 7:36 pm
by Dae
Trail wrote:I'm not sure about that either. But here's the code: And the .int file should be straightforward.
- Code: Select all
class AugMutator extends Mutator;
function ModifyPlayer(Pawn Other)
{
local Augmentation aug;
if(Other.IsA('DeusExPlayer')) //which it should be
{
for(aug=DeusExPlayer(Other).AugmentationSystem.FirstAug;
aug!=None;aug=aug.Next)
{
aug.EnergyRate=0; //no drain
aug.bAlwaysActive=True; //always on
}
}
}
I'm not a specialist, but i think that the iteration here is a bit complicated. I'd make it with
foreach and
Augmentation class, where we can see a magnificent variable EnergyRate which should be set to 0.
In other words, mutator should "type" this command just automatically instead of admin:
admin set augmentation.energyrate 0

Posted:
Thu May 12, 05 6:45 am
by Trailmix
TheSheep:
Fair cop on the "type this command" statement, if there was some way to bypass the issue that not every person in the server, if any, are admins. And I think "set" probably uses a foreach-style iterator. Which brings me onto my next point...
The comment on the iterator is just plain wrong. foreach is sloppy for inventory or augs because it has such a slow hit rate and takes up valuable cycles on the host machine. It cycles through every single actor in the map, does a ClassIsChildOf check, and processes each one in turn. The "aug" linked list goes through about a dozen. Woosh.
In conclusion, fair points but I stand by my code. Well, most of it
And if you were to use that admin code, Dae, wouldn't each copy of the mutator need to be custom?

Posted:
Thu May 12, 05 7:20 pm
by clyzm
Augs mutator, good idea


Posted:
Thu May 12, 05 8:00 pm
by Alistair
admin human energy 99999999999999999


Posted:
Thu May 12, 05 8:48 pm
by Jeoh
You'll run out that way.

Posted:
Thu May 12, 05 11:43 pm
by Trailmix
And you'll have to reset it everytime which is what GG an i did at stealth training.


Posted:
Sat May 14, 05 8:27 pm
by clyzm
That got annoying :S
"trail, can you reset the energy?"