Jump to content


Photo

FORTRESS_IMPROVEMENT selectable

fortress_improvement

  • Please log in to reply
6 replies to this topic

#1 knowledgeforall

knowledgeforall
  • Members
  • 23 posts

Posted 15 October 2018 - 09:04 PM

Is there a way to make some FORTRESS_IMPROVEMENTS  selectable with their own commandsets ? For instance Mordor's Fort to have Gorgoroth Spire   and  Magma Cauldrons selectable with their own commandsets. I recently watched EPICMOD'S Barad Dur gigantic fortress and i still wonder how they managed this wonderful upgrading system. Thanks in advance

 



#2 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 21 November 2018 - 06:18 AM

The objects that the upgrades enable would have to be different objects for that to work if i'm not mistaken, similar to how the fortress expansion plots work.
So you would have to create subobjects when the player gets these upgrades, and need to make sure that when the fortress dies that these objects do so as well.
If you still are trying to get this to work, reply to the thread and i can see if i can find some pieces of code and all that to help you along.
Ridder Geel

#3 knowledgeforall

knowledgeforall
  • Members
  • 23 posts

Posted 22 November 2018 - 08:02 AM

Thanks for the reply. Still working and any help will be appreciated a lot. I tried " ObjectCreationUpgrade " to create fortress expansions  (slaved) but those expansion just spawn out of thin air, without having a building phase animation. 



#4 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 22 November 2018 - 05:22 PM

You could try using what the mallorn tree uses:
	Behavior = SpawnBehavior ModuleTag_Spawn
		TriggeredBy		= Upgrade_StructureLevel3
		SpawnNumber		= 1
		InitialBurst		= 0 
		SpawnTemplateName	= ElvenLorienArcher_Slaved
		SpawnReplaceDelay	= 999999
		CanReclaimOrphans	= No
		SpawnedRequireSpawner	= Yes		
		ShareUpgrades		= Yes
	End
This way you can spawn a new object which can have its own commandset and all the things i believe you want.
It works with the mallorn tree so yea :p
Either that or you would have to do some odd things with base files and all that stuff.
Ridder Geel

#5 knowledgeforall

knowledgeforall
  • Members
  • 23 posts

Posted 22 November 2018 - 06:15 PM

I tried that but still no building phase animations



#6 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 22 November 2018 - 09:45 PM

	Behavior = SpawnBehavior ModuleTag_TheSpawnBehavior
	;L01E97D40:
		TriggeredBy = Upgrade_ElvenGift Upgrade_RohanFireArrows ;L00BE9600: List of Upgrades //Must have these upgrades
		ConflictsWith = Upgrade_TheodenKingsFavor Upgrade_TheodenLeadership ;L00BE9600: List of Upgrades //May not have these upgrades
		RequiresAllTriggers = Yes ;SUB_L006D3400:Boolean //All "TriggeredBy" Upgrades required! (meaning that if only one is present the module is not active)
		RequiresAllConflictingTriggers = Yes ;SUB_L006D3400:Boolean //All "ConflictsWith" Upgrades required! (meaning that if only one is present the module is not 'disabled')
		CustomAnimAndDuration = AnimState:USER_3 AnimTime:0 TriggerTime:0 ;L010ED8E0: Animation State - Time - Delay // Animtime:0 = set flag forever
		Permanent = Yes ;SUB_L006D3400:Boolean //For ever... and ever... and ever, even if the upgrades are lost...

	;L01F2EA00:
		DeathTypes = NONE +CRUSHED ;L00E6D050: ALL/NONE Filter
		ExemptStatus = SOLD ;SUB_L00C118B0: BitStatus //May not have this Status
		RequiredStatus = DEATH_3 ;SUB_L00C118B0: BitStatus //Must have this Status
		DamageAmountRequired = 15.0 ;SUB_L006D46C0:Float Point Value//Damage required before this behavior can occur
		MinKillerAngle = -46 ;SUB_L006D4B70:Float Point Value //Degrees
		MaxKillerAngle = 46 ;SUB_L006D4B70:Float Point Value //Degrees
		
	;L01EA77F0:
		SpawnNumber = 5 ;SUB_L006D4430:Signed Integer Value //Spawn this amount of units
		SpawnReplaceDelay = 9999;SUB_L00E6CB10:Unsigned Integer Value //Wait this long before replacing a lost unit
		OneShot = Yes ;SUB_L006D3400:Boolean //Only spawn once?
		CanReclaimOrphans = Yes ;SUB_L006D3400:Boolean //Can you get "lost" units from other (destroyed) buildings/units? (not sure)
		AggregateHealth = Yes ;SUB_L006D3400:Boolean //...?
		ExitByBudding = Yes ;SUB_L006D3400:Boolean //...? (go together with buddies? XD)
		SpawnTemplateName = MordorWorker ;SUB_L006D34D0:Object //Multiple Entries Allowed
		SpawnedRequireSpawner = Yes ;SUB_L006D3400:Boolean //If "I" (owner) die, do my spawned units die?
		PropagateDamageTypesToSlavesWhenExisting = NONE +MAGIC ;L00E6CED0: ALL/NONE Damage Filter //Careful with these damage types -- because area damage types will already damage slaves.
		InitialBurst = 5 ;SUB_L006D4430:Signed Integer Value //Initial amount of units to start with?
		RespectCommandLimit = Yes ;SUB_L006D3400:Boolean //If Command Limit is reached and my spawn units require CP then do not create any
		FadeInTime = 1000 ;SUB_L006D4520:Unsigned Integer Value //Units fade in when spawning for this long (ms)
		KillSpawnsBasedOnModelConditionState = Yes ;SUB_L006D3400:Boolean //Must also set NoExitPath in QeueProductionExitUpdate. (So that the exit door is always available)
		ShareUpgrades = Yes ;SUB_L006D3400:Boolean //Give my spawned units my upgrades?
		SpawnInsideBuilding = Yes ;SUB_L006D3400:Boolean //Spawn inside of me and not forced outside of geometry?
	End
Here is the whole module, as you can see, you can set an animation state:
CustomAnimAndDuration = AnimState:USER_3 AnimTime:0 TriggerTime:0 ;L010ED8E0: Animation State - Time - Delay // Animtime:0 = set flag forever
This can be used to trigger an animation :)
You can also fade it in if im not mistaken with the fadeintime and all.
Hopefully this will help you on your way.
Ridder Geel

#7 knowledgeforall

knowledgeforall
  • Members
  • 23 posts

Posted 22 November 2018 - 09:49 PM

Thanks a lot . I will test your code ASAP






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users