TheCrystal
New Member
- Reaction score
- 36
So, I have something similar to what Parasite has, an item that "morphs" you into a more powerful unit with special abilities, etc. If you've ever played Parasite, you'd know there is a bug that lets you be able to overwrite your default hero with one of the upgraded heroes. I'll try to example it.
You're hero A, you have two items which lets your morph into hero B and C.
"Hero A" activates "Hero B" (Morphs), "Hero B" activates "Hero C" (Morphs). So now, there are TWO morphs in place.
"Hero C" drops "Hero B". He then drops "Hero C", so now the morph deactivates into "Hero B", but "Hero B"'s item is no longer there so it is now the default unit, giving an extra slot. The player can pick up the "Hero B" and drop it to become "Hero A" again if he wishes.
If you don't understand, say so. If you do and someone asks, please tell them what I mean. I don't think I can explain it any better.
So, I've been trying to stop that little event from happening by having a check that checks if the "Hero B" has the "Hero B Item", if he doesn't it'll replace, or give and drop then remove a "Hero B Item".
To do this I made two triggers and four variables, each one is seen but I have a check missing and I can't figure out what it is. Here's the Init Trigger.
(I know its not Init, but it doesn't cause problems because of the Game Set Up)
The 1s are the same Item and Unit, the Item[1] morphs into the Unit[1].
Here's the check itself, it gets all the way to the Replace of the unit but I need another check I just can't figure out.
The Boolean I added to the beta version of the trigger, so I kept it in case I needed it again for later or for the next check.
If people can't figure this out, I can just do a "Morph back to default when item is dropped" kind of thing.
You're hero A, you have two items which lets your morph into hero B and C.
"Hero A" activates "Hero B" (Morphs), "Hero B" activates "Hero C" (Morphs). So now, there are TWO morphs in place.
"Hero C" drops "Hero B". He then drops "Hero C", so now the morph deactivates into "Hero B", but "Hero B"'s item is no longer there so it is now the default unit, giving an extra slot. The player can pick up the "Hero B" and drop it to become "Hero A" again if he wishes.
If you don't understand, say so. If you do and someone asks, please tell them what I mean. I don't think I can explain it any better.
So, I've been trying to stop that little event from happening by having a check that checks if the "Hero B" has the "Hero B Item", if he doesn't it'll replace, or give and drop then remove a "Hero B Item".
To do this I made two triggers and four variables, each one is seen but I have a check missing and I can't figure out what it is. Here's the Init Trigger.
Code:
Item Stack Debug Init
Events
Time - Elapsed game time is 2.00 seconds
Conditions
Actions
Set ZZ_ItemDebugHERO[1] = (SWAT)
Set ZZ_ItemDebugITEMTYPE[1] = SWAT Suit
Set ZZ_ItemDebugHERO[2] = (Street Cop)
Set ZZ_ItemDebugITEMTYPE[2] = Pistol
Set ZZ_ItemStackNumberOfSuitsINT = 2
The 1s are the same Item and Unit, the Item[1] morphs into the Unit[1].
Here's the check itself, it gets all the way to the Replace of the unit but I need another check I just can't figure out.
Code:
Item Stack Debug
Events
Time - Every 1.00 seconds of game time
Conditions
Actions
Do Multiple ActionsFor each (Integer A) from 1 to 8, do (Actions)
Loop - Actions
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(PlayersDefaultUnit[(Integer A)] is alive) Equal to (==) True
Then - Actions
Do Multiple ActionsFor each (Integer TempInteger) from 1 to ZZ_ItemStackNumberOfSuitsINT, do (Actions)
Loop - Actions
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Unit-type of PlayersDefaultUnit[(Integer A)]) Equal to (==) ZZ_ItemDebugHERO[TempInteger]
Then - Actions
Do Multiple ActionsFor each (Integer B) from 1 to 6, do (Actions)
Loop - Actions
Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Item-type of (Item carried by PlayersDefaultUnit[(Integer A)] in slot (Integer B))) Equal to (==) ZZ_ItemDebugITEMTYPE[TempInteger]
Then - Actions
Game - Display to (All players) the text: Replace
Unit - Replace PlayersDefaultUnit[(Integer A)] with a (Male) (Hero) using The old unit's relative life and mana
Set PlayersDefaultUnit[(Integer A)] = (Last replaced unit)
Set ZZ_BooleanHasIt[TempInteger] = True
Else - Actions
Game - Display to (All players) the text: Slot Check
Else - Actions
Else - Actions
If people can't figure this out, I can just do a "Morph back to default when item is dropped" kind of thing.