unregs

Discuss and provide feedback on Maps.
User avatar
pooty
Posts: 4537
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: unregs

Post by pooty »

Not sure on AJY as those are regular nodes, but on Chains Isle is uses ONSPowerNodeSpecial (from OnslaughtSpecials). I had trouble with those with the wraith beam locking on and linking, where I had to use this:

Code: Select all

	 //if ((ONSPowerNodeEnergySphere(HitActor) != None) || (ONSPowerNodeShield(HitActor) != None)) Node = DestroyableObjective(HitActor.Owner);
				 	 if (HitActor.IsA('ONSPowerNodeEnergySphere') 
				 	    || HitActor.IsA('ONSPowerNodeShield') 
				 	    || HitActor.IsA('ONSSpecialLinkBeamCatcher')
				 	    || HitActor.IsA('ONSSpecialPowerNodeShield') 
				 	    || HitActor.IsA('ONSSpecialPowerNodeEnergySphere')) 
				 	    Node = DestroyableObjective(HitActor.Owner);
The class hierarchy is ONSPowerCore-> ONSPowerNode -> ONSPowerNodeNeutral -> ONSPowerNodeSpecial
Sphere is ONSPowerNodeEnergySphere->ONSSpecialPowerNodeEnergySphere

So the Specials subclass the normal game class.

So ONSPowerNodeEnergySphere(HitActor), where HitActor is ONSSpecialPowerNodeEnergySphere SHOULD be True, but I've seen instances where that doesn't always work (case in point with ONSForcedVehicleFactory).

So I wonder if its the special nodes? AJY though doesn't have them. :?:
User avatar
captainsnarf
Posts: 2714
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: unregs

Post by captainsnarf »

If this doesn't work for powernode special

Code: Select all

ONSPowerNode(HitActor) != None
then most of the game doesn't work, imo. That *has* to work or a lot of the game wouldn't work.

I think it's something else, probably replication issue.

That function is client side, and then calls server side method. Before it does it sets bEnhancedNet = false. I bet it's still true on the server when later down in the function it calls ServerStartFire(...).

Instead of setting that bool, we might need to create a new replicated function, e.g. OldNetServerStartFire(...) and call that instead. I've noticed replicated variables and functions don't always replicate in order, or in the same tick.
Post Reply