Making a new Gargoyle produce different gibs
Moderator: GZDoom Developers
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.
Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.
Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
-
- Posts: 453
- Joined: Tue Feb 10, 2015 2:51 am
- Location: Does anyone put a serious answer here?
Making a new Gargoyle produce different gibs
I'm working on a Heretic mod that makes the melee-only Gargoyles green, which means also making their blood green for consistency's sake. But when they die, they still produce two red chunks, and it seems I have to make a new version of A_ImpExplode to deal with that, but I'm completely new to editing that kind of thing and have no idea where to start.
-
- Posts: 1562
- Joined: Tue Oct 20, 2015 12:50 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Kozolupy, Bohemia
Re: Making a new Gargoyle produce different gibs
Opne gzdoom.pk3 and take a look yourself how its defined. Its zscript.
-
- Posts: 453
- Joined: Tue Feb 10, 2015 2:51 am
- Location: Does anyone put a serious answer here?
Re: Making a new Gargoyle produce different gibs
That means converting what I've already got for the gargoyle from decorate to zscript, and I'm not sure what to do for the "translation" property in that case, and neither did RockstarRaccoon's converter.
If I were to find a way to do the A_ImpExplode thing with decorate, people who, for whatever reason, prefer a port that doesn't support zscript would also be able to use the mod if they want to, and broader compatibility seems to me like a decent reason to stick to decorate whenever possible. But if there's a reason I'm missing for absolutely having to use zscript for this, I'd like to know.
If I were to find a way to do the A_ImpExplode thing with decorate, people who, for whatever reason, prefer a port that doesn't support zscript would also be able to use the mod if they want to, and broader compatibility seems to me like a decent reason to stick to decorate whenever possible. But if there's a reason I'm missing for absolutely having to use zscript for this, I'd like to know.
-
- Posts: 1562
- Joined: Tue Oct 20, 2015 12:50 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Kozolupy, Bohemia
Re: Making a new Gargoyle produce different gibs
The translation property works in zscript.
-
- Posts: 453
- Joined: Tue Feb 10, 2015 2:51 am
- Location: Does anyone put a serious answer here?
Re: Making a new Gargoyle produce different gibs
But obviously I have to change something about it because this:
is giving me this:
Code: Select all
class TioliGragoyle : HereticImp replaces HereticImp
{
bloodcolor green;
translation "145:168=209:224", "247:254=225:240"
}
You do not have the required permissions to view the files attached to this post.
-
- Posts: 1562
- Joined: Tue Oct 20, 2015 12:50 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Kozolupy, Bohemia
Re: Making a new Gargoyle produce different gibs
Well, you should really learn how to use zscript.
The actor properties goes into
Default{} block, every line ends with ";". Correct it and it will work.
And read through the zscript reference on zdoom wiki. The difference between decorate and zscript is described pretty clearly
https://zdoom.org/wiki/ZScript
The translation property works perfectly. I must know it, cause I use translation to make variety with stock strife peasants. Take a look:
Also, dont use any kind of converter - converting by hand is easy and you will learn something (with converter, you will learn nothing, so whats the point of using it?).
The actor properties goes into
Default{} block, every line ends with ";". Correct it and it will work.
And read through the zscript reference on zdoom wiki. The difference between decorate and zscript is described pretty clearly
https://zdoom.org/wiki/ZScript
The translation property works perfectly. I must know it, cause I use translation to make variety with stock strife peasants. Take a look:
Also, dont use any kind of converter - converting by hand is easy and you will learn something (with converter, you will learn nothing, so whats the point of using it?).
Code: Select all
class tekPeasant01_gold : tekPeasant01_base
{
Default
{
//$Title "tekPeasant - baldy gold"
Translation "128:143=80:95";
}
}
-
- Posts: 453
- Joined: Tue Feb 10, 2015 2:51 am
- Location: Does anyone put a serious answer here?
Re: Making a new Gargoyle produce different gibs
I thought I could learn from the converter by comparing its input and output, and I imagine I still can in a number of situations. I had tried before with the "default" and semicolon in place like that (but now I can't remember if I ever had them both at once ) and the reason I ditched them was because the startup error message didn't seem to be any different with or without them so I figured it wasn't necessary to use them there. And I did also check that wiki page, but I struggled to find the information I wanted with my approach of clicking the links under "zscript topics" and ctrl-f'ing "translate" or "translation" and...
And suddenly this post is going to take a 180 because my mind's kind of in a tangle because I'm angry at both myself and you and in the latter case I'm pretty sure it's because I'm getting an impression from your posts that you probably never intended but is frustrating me nonetheless and so the closest thing to a solution I can think of is just trying to get it off my chest like this.
edit: well it's finally working, but I'd still like to ask if any of this is being done hilariously inefficiently just in case
And suddenly this post is going to take a 180 because my mind's kind of in a tangle because I'm angry at both myself and you and in the latter case I'm pretty sure it's because I'm getting an impression from your posts that you probably never intended but is frustrating me nonetheless and so the closest thing to a solution I can think of is just trying to get it off my chest like this.
edit: well it's finally working, but I'd still like to ask if any of this is being done hilariously inefficiently just in case
Code: Select all
class TioliGragoyle : HereticImp replaces HereticImp
{
default
{
bloodcolor "green";
translation "145:168=209:224", "247:254=225:240";
}
states
{
Crash:
IMPX I 7 A_GrImpExplode;
IMPX J 7 A_Scream;
IMPX K 7;
IMPX L -1;
Stop;
}
void A_GrImpExplode()
{
Actor chunk;
bNoGravity = false;
chunk = Spawn("HereticImpChunk3", pos, ALLOW_REPLACE);
if (chunk != null)
{
chunk.vel.x = random2[ImpExplode]() / 64.;
chunk.vel.y = random2[ImpExplode]() / 64.;
chunk.vel.z = 9;
}
chunk = Spawn("HereticImpChunk4", pos, ALLOW_REPLACE);
if (chunk != null)
{
chunk.vel.x = random2[ImpExplode]() / 64.;
chunk.vel.y = random2[ImpExplode]() / 64.;
chunk.vel.z = 9;
}
if (extremecrash)
{
SetStateLabel ("XCrash");
}
}
}
class HereticImpChunk3 : HereticImpChunk1
{
default
{
translation "145:168=209:224", "247:254=225:240";
}
}
class HereticImpChunk4 : HereticImpChunk2
{
default
{
translation "145:168=209:224", "247:254=225:240";
}
}