Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
i worked on it a while ago but i ran into so many issues that i just gave up. now i really want to work on it again but the issues is beyond my skills to fix. please help me out.
i have no related code. there is a bug in the obelisk to basal golem transformation that some times causes the obelisk to move instead of transforming. there is also a bug in the automated basal golem to obelisk transformation that cause the basal golem to transform into obelisk while it is moving.(is supposed to transform when it stops). transfer some times generates an error message.
So I had a look over your map and there's a fair bit of things that could be touched up to make it more efficient in general. As for your specific problem about the transformations, all I could make out was that there are a lot of triggers that replace units when morphing and units that make use of numerous Chaos-based abilities, both of which are prone to bugs and are unreliable. I suggest you use the Bear Form Trick to create passive transformations which should help solve your problem. There may be some side-effects to this depending on how this is all meant to work though and I can't make any guarantees either, but it should do the job.
I tried to play to see if I could bump into the problem you described but I found another; when I right-clicked to move an obelisk, while there are a few existing, it would morph into a golem, walk but then stop short of the target point. The distance it traveled became less each time I ordered it to move thereafter. Again, this only seemed to happen with three or so obelisks in play; this didn't occur when I had the starting two. I think it might have something to do with this trigger in the Fury folder but I can't be sure:
Untitled Trigger 001
Events
Time - Every 2.00 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in (Units of type Basal Golem created from blood forge) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
(Current order of (Picked unit)) Equal to (Order(smart))
(Current order of (Picked unit)) Equal to (Order(attack))
(Current order of (Picked unit)) Equal to (Order(move))
(Current order of (Picked unit)) Equal to (Order(cloudoffog))
(Current order of (Picked unit)) Equal to (Order(charm))
Then - Actions
Do nothing
Else - Actions
Unit - Order (Picked unit) to Night Elf Druid Of The Claw - Bear Form
Unit - Order (Picked unit) to Night Elf Druid Of The Claw - Night Elf Form
Anyway I've made some slight alterations with regards to your Unit Creation trigger as an example of how things can be improved. As for the bugs, they will gradually be filtered out as you go through it.
Alright! So I remade the trigger by setting up global arrays that store all the stuff you need to spawn these starting units in the Map Initialistion trigger. This way you can use a double loop to make it work, removing all those If-Then-Else statements which where an eye-sore to be honest and allows you to edit the variables easily. By the way, I didn't touch any of the existing code in the Map Init; I only added the variables at the end. Additionally, I removed all the DoNothing actions as they're worse than simply leaving the Else section blank and I deleted a folder called "jass test" (or something aloong those lines) that had empty or redundant triggers.
Melee Initialization Edit
Events
Map initialization
Conditions
Actions
-------- Your existing actions are still there in the actual map --------
-------- I just removed them from this post to show you my setup --------
-------- --------
-------- --------
-------- --------
-------- Settting up arrays to make other triggers more efficient --------
Set Foundation[1] = foundation8 <gen>
Set Foundation[2] = foundation14 <gen>
Set Foundation[3] = foundation10 <gen>
Set Foundation[4] = foundation22 <gen>
Set Foundation[5] = foundation16 <gen>
Set Foundation[6] = Foundation1 <gen>
Set Foundation[7] = foundation7 <gen>
Set Foundation[8] = foundation19 <gen>
Set Foundation[9] = No region
Set Foundation[10] = foundation17 <gen>
Set StartingRace[1] = Human
Set StartingRace[2] = Orc
Set StartingRace[3] = Undead
Set StartingRace[4] = Night Elf
Set StartingUnitTypes[1] = Barracks custom
Set StartingUnitTypes[2] = Temple custom
Set StartingUnitTypes[3] = Crypt custom
Set StartingUnitTypes[4] = Arbor Lodge
Unit Creation Edit
Events
Time - Elapsed game time is 0.50 seconds
Conditions
Actions
-------- I created 2 integer variables for the loops: --------
-------- TempIntegerPlayer and TempIntegerRace --------
-------- --------
-------- --------
-------- --------
For each (Integer TempIntegerPlayer) from 1 to 10, do (Actions)
Loop - Actions
For each (Integer TempIntegerRace) from 1 to 4, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Race of (Player(TempIntegerPlayer))) Equal to StartingRace[TempIntegerRace]
Then - Actions
Set TempPoint = (Center of Foundation[TempIntegerPlayer])
Unit - Create 1 StartingUnitTypes[TempIntegerRace] for (Player(TempIntegerPlayer)) at TempPoint facing Default building facing degrees
Unit Group - Add (Last created unit) to CampSite[TempIntegerPlayer]
Custom script: call RemoveLocation(udg_TempPoint)
Else - Actions
I can look into other triggers if you want me to but it's going to take some time!
the transformation from basal golem to for example paladin is an activated ability. chaos was the only way i found that worked optimally because other solutions made the unit lose its held item. the way i use it however works perfectly though i had to create separate metapods for certain units to get it to work properly. this project is intended as a port of this game
to the warcraft 3 engine. the issue with basal golems becoming obelisks randomly happens very randomly.
The video basically explains everything I was trippin' over in the map. So Basal Golems can turn into numerous, better units for a price... interesting. Using Chaos would be alright if it weren't for the fact that a Chaos-morphed unit will add various bonus stats from spells, items and auras.
From The Warcraft III Ability Guide by PitzerMike: Sca1 (Chaos): Adding a chaos ability to a unit transforms it into the unit type specified in the target unit id field of the ability. This can be used to change any aspect like the proper name or the model of a unit in the game or simply in combination with channel to implement morphing spells. Don't forget to remove the tech requirements from custom chaos abilities. One problem of Chaos is that it adds the morphed unit's current armor, damage, health and mana bonus received from items, auras and srength, agility, intelligence to the stats of the resulting unit. That means it's not a very good idea to morph heroes using chaos until Blizzard fixes those bugs. Ordinary units can't be affected by items and hero stats, so the only problem are buffs received from auras. Those buffs can easily be removed before the conversion and are automatically added again afterwards so that's not a real issue.
Using it in this map though is probably fine for upgrading Basal Golems but I reckon the passive transformation should be used to switch between them and Obelisks. At least that way you won't have to constantly replace units. Also I tried playing the map again and the trigger I posted above keeps stopping the golems from moving every two seconds; is it meant to do that? There are few other questions I want to ask but I'll send you a PM instead.
"Paladins, we don't get them until later but f**k they're good units!"
I had a good chuckle over that one!
Edit: There's no more PMs with XenForo! What a bummer.
Yeah that doesn't happen when I play. They get ordered to morph back into Obelisks anywhere from ~0 to 2 seconds after taking off, depending on when I move them relative to the game time. I tried messing around with the trigger but... well, I broke it to put it bluntly. I'm guessing there might be other triggers involved but I have no idea at the moment.
that is a bug but it is beyond my skills to fix. that is one of the reasons for me creating this topic in the first place. another issue is of course that i am using separate models for the golem and obelisk while the real game is using a transforming model. only way to solve that is to create a model which is beyond my skills.
Alright so after some more testing, the only way I could think of fixing this would be to track each Basal Golem's movement periodically and check to see if it's position has changed. If there's no change, it hasn't moved and therefore you can morph it into an Obelisk. I tried to create this specifically for your map but it turns out I'd need to do some extensive coding to make it work. Fortunately Bribe has come up with a system just for this which is pretty self-explanatory and should do the job: Is Unit Moving 2.0.0.0. He's also added two extra events along with the periodic event to detect when a unit starts moving and when it stops.
that script is way over my head. there could however be easier ways to accomplish this. if a trigger checks if the unit does not have any order at all and then turns it into an obelisk then that would be perfect. i just got 2 infractions today for no reason so this issue needs to be fixed quickly before i get banned.
Well I think I managed to make it work. If something else comes up, or if you need a hand with the triggers in general, just send me a PM (or whatever it's called these days ).
i have now tested it and it is not working properly. the initial basal golems does not transform right away and only after moving. if i give them a new order before the old one is done they do not follow the new one and just stops on the spot. then it is those messages which is something that i do not want for basal golems stopping or moving.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.