Map07 Special + monster randomspawners

Ask about mapping, UDMF, using DoomBuilder/editor of choice, etc, here!

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.
Post Reply
User avatar
Arch-vile90
Posts: 131
Joined: Tue Jul 01, 2014 4:39 pm
Location: Italy, the place of pizza

Map07 Special + monster randomspawners

Post by Arch-vile90 »

As a title, every monster got +BOSSDEATH and A_BossDeath in the respective points where it need to be. All monsters are tested and map07special work but the problem born when i decide to use my Random Spawner: it does not activate the special effect. This is the Actor code.

Code: Select all

Actor Tier13 replaces Fatso
{
States
{
Spawn:
TNT1 A 0
TNT1 A 3 A_JumpIf(ACS_NamedExecuteWithResult("CheckMonster") == 0, "BrutalMonster")
TNT1 A 3 A_JumpIf(ACS_NamedExecuteWithResult("CheckMonster") == 1, "VeteranMonster")
TNT1 A 3 A_JumpIf(ACS_NamedExecuteWithResult("CheckMonster") == 2, "HellsingMonster")
TNT1 A 3 A_JumpIf(ACS_NamedExecuteWithResult("CheckMonster") == 3, "ClassicMonster")
stop
BrutalMonster:
	TNT1 A 1
	TNT1 A 0 A_SpawnItem("MancubusMonsterSpawner")
stop
VeteranMonster:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("Daedabus")
Stop
HellsingMonster:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("MancubusHellsingSpawner")
Stop
ClassicMonster:
	TNT1 A 1
	TNT1 A 0 A_SpawnItem("Mancubus")
stop
}}
Any idea? :?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49071
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Map07 Special + monster randomspawners

Post by Graf Zahl »

To transfer specials you need to use the native RandomSpawner. The way you do it all randomly spawned monsters will have no connection to the spawner.
Gez
 
 
Posts: 17835
Joined: Fri Jul 06, 2007 3:22 pm

Re: Map07 Special + monster randomspawners

Post by Gez »

Or you'll have to go ZScript and imitate the way the native randomspawners work. See if this helps.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49071
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Map07 Special + monster randomspawners

Post by Graf Zahl »

It may be a good idea to separately virtualize the function that's making the actual decision what to spawn to allow easier customization...
User avatar
Arch-vile90
Posts: 131
Joined: Tue Jul 01, 2014 4:39 pm
Location: Italy, the place of pizza

Re: Map07 Special + monster randomspawners

Post by Arch-vile90 »

My knowledge about Zscript is less than zero. Any tips to learn first steps?
User avatar
Arch-vile90
Posts: 131
Joined: Tue Jul 01, 2014 4:39 pm
Location: Italy, the place of pizza

Re: Map07 Special + monster randomspawners

Post by Arch-vile90 »

Well nothing to do with Zscript. I trying the various mods that are around I saw that on project brutality 3.0 work properly and I "borrowed" the code of the random spawner.

Code: Select all

Actor Tier17 :SpiderMastermind replaces SpiderMastermind 7
{ +LOOKALLAROUND	+BOSSDEATH
States
{
Spawn:
TNT1 A 0
TNT1 A 3 A_JumpIf(ACS_NamedExecuteWithResult("CheckMonster") == 0, "BrutalMonster")
TNT1 A 3 A_JumpIf(ACS_NamedExecuteWithResult("CheckMonster") == 1, "VeteranMonster")
TNT1 A 3 A_JumpIf(ACS_NamedExecuteWithResult("CheckMonster") == 2, "HellsingMonster")
TNT1 A 3 A_JumpIf(ACS_NamedExecuteWithResult("CheckMonster") == 3, "ClassicMonster")
stop

BrutalMonster:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("SpiderMastermindMonsterSpawner",0,0,0,0,0,0,0,SXF_TRANSFERSPECIAL | SXF_TRANSFERAMBUSHFLAG | SXF_TRANSFERPOINTERS | 288)
stop
VeteranMonster:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("SpiderDemolisher",0,0,0,0,0,0,0,SXF_TRANSFERSPECIAL | SXF_TRANSFERAMBUSHFLAG | SXF_TRANSFERPOINTERS | 288)
Stop
HellsingMonster:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("MastermindHellsingSpawner",0,0,0,0,0,0,0,SXF_TRANSFERSPECIAL | SXF_TRANSFERAMBUSHFLAG | SXF_TRANSFERPOINTERS | 288)
Stop
ClassicMonster:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("TheSpiderMastermind",0,0,0,0,0,0,0,SXF_TRANSFERSPECIAL | SXF_TRANSFERAMBUSHFLAG | SXF_TRANSFERPOINTERS | 288)
stop
}
}
actor SpiderMastermindMonsterSpawner : RandomSpawner //replaces SpiderMastermind
{
	DropItem "TheSpiderMastermind",256,20
	DropItem "AracnorbQueen",256,15
	DropItem "TheArachnophyte",256,15
	DropItem "CerebralSentient",256,10
	DropItem "SpiderDemolisher",256,8
}
Actor MastermindHellsingSpawner : randomspawner
{
	DropItem "TheSpiderMastermind",256,10
	DropItem "SpiderDemolisher",256,5
}
And yes, with PB work but into my nope. Dead point EP. 2 :cry:
Post Reply

Return to “Mapping”