Pharaoh doesn't respawn on Nomad with Town Center up

  • Game Version: v.100.18.56738.0

  • Build Number: 581026R

  • Platform: Steam

  • Operating System: Windows 10

Issue:

When playing the Egyptians on the Nomad map, if the Pharaoh dies he doesn’t respawn at the Town Center after 90 seconds.

Trigger Event:

The Pharaoh dies on the Nomad map with a Town Center up.

Repro Steps:

  1. Play as Egyptians on the Nomad map.

  2. Move the Pharaoh to the opponent’s Town Center.

I was looking the other day in the code and they purposely disabled the Pharoah respawn technology as part of the disable town center units trigger. This was originally done so that you wouldn’t have two once your TC was built, but they must have forgot doing it this way completely disables his respawning. Either way, I agree with you on the issue just putting this here in case that’ll help point them in the general direction of where to look to fix it. This bug also effects your ability to play regicide on your map as the Regent does not spawn in.

Do people not really play Nomad? I’m surprised this bug hasn’t been reported yet.

Yeah I remember 12 player FFA regicide Nomad use to be so popular, but the recent lighting change has made it harsh on player’s eyes and regicide not working anymore has alienated the 12 player FFA regicide community a bit.

<tech name="PharaohFirstSpawn">
	<status>UNOBTAINABLE</status>
	<researchpoints>0.0000</researchpoints>
	<delay>2.0000</delay>
	<flag>HideFromDialogs</flag>
	<prereqs>
		<typecount unit="AbstractTownCenter" count="0.00" state="aliveState" operator="gt"></typecount>
		<typecount unit="Pharaoh" count="1.00" state="aliveState" operator="lt"></typecount>
	</prereqs>
	<effects>
		<effect type="CreateUnit" unit="Pharaoh" generator="AbstractTownCenter">
			<pattern type="Leaving" speed="0.00" radius="0.00" quantity="1.00" minradius="0.00">
				<offset x="0.00" y="0.00" z="0.00"></offset>
			</pattern>
		</effect>
		<effect type="TechStatus" status="obtainable">PharaohRespawn</effect>
		<effect type="TextOutput">STR_MSG_PHARAOH</effect>
	</effects>
</tech>
<tech name="PharaohRespawn">
	<status>UNOBTAINABLE</status>
	<delay>90.0000</delay>
	<flag>Volatile</flag>
	<flag>Persistent</flag>
	<flag>HideFromDialogs</flag>
	<flag>DelayedFirstActivation</flag>
	<prereqs>
		<typecount unit="AbstractTownCenter" count="0.00" state="aliveState" operator="gt"></typecount>
		<typecount unit="Pharaoh" count="1.00" state="aliveState" operator="lt"></typecount>
	</prereqs>
	<effects>
		<effect type="CreateUnit" unit="Pharaoh" generator="AbstractTownCenter">
			<pattern type="Scatter" speed="0.00" radius="0.00" quantity="1.00" minradius="0.00">
				<offset x="0.00" y="0.00" z="0.00"></offset>
			</pattern>
		</effect>
		<effect type="TextOutput">STR_MSG_PHARAOH</effect>
	</effects>
</tech>

I think the problem is that the PharaohRespawn tech needs to be enabled by the PharaohFirstSpawn tech, which is disabled in Nomad here:

   rmTriggerAddScriptLine("rule _disable_starting_units");
   rmTriggerAddScriptLine("highFrequency");
   rmTriggerAddScriptLine("active");
   rmTriggerAddScriptLine("{");
   rmTriggerAddScriptLine("   for(int i = 1; i <= cNumberPlayers; i++)");
   rmTriggerAddScriptLine("   {");
   rmTriggerAddScriptLine("       trPlayerAllowStartingUnitsSpawning(i, false);");
   rmTriggerAddScriptLine("       trTechSetStatus(i, cTechPharaohFirstSpawn, cTechStatusUnobtainable);");
   rmTriggerAddScriptLine("   }");
   rmTriggerAddScriptLine("   xsDisableSelf();");
   rmTriggerAddScriptLine("}");
1 Like