Heavy-Gear
New Member
- Reaction score
- 7
In the game I'm currently working on, some of the heroes have the an ability spellbook used for creating items (similar to island troll tribes). Instead of an ITT-like system of knowing what makes what, my map uses an ability within a spellbook that you click. If you have the correct items in your inventory (no particular order) it will create the item:
EDIT: Forgot to say what actually happens. Well, regardless of whether you use the Sharpened Stone or Hammer Stone ability, the outcome is the same; If you have only a single stone or two stones in your inventory it will make a sharpened stone out of one of them(removing one stone/giving a sharpened stone). If you have three stones or more it will make both types of stone and remove a surprisingly appropriate three stones from the inventory.
I think the problem is with the "(Ability being cast) Equal to Build Sharpened Stone" but I don't know another way of doing this. Any help appreciated
btw, the text displays are for testing purposes
Code:
AcquireItem
Events
Unit - A unit Acquires an item
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Item-type of (Item being manipulated)) Equal to Stone
Then - Actions
Set StoneCount[(Player number of (Owner of (Triggering unit)))] = (StoneCount[(Player number of (Owner of (Triggering unit)))] + 1)
Game - Display to (All players) the text: (String(StoneCount[1]))
Else - Actions
Do nothing
Code:
LosesItem
Events
Unit - A unit Loses an item
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Item-type of (Item being manipulated)) Equal to Stone
Then - Actions
Set StoneCount[(Player number of (Owner of (Triggering unit)))] = (StoneCount[(Player number of (Owner of (Triggering unit)))] - 1)
Game - Display to (All players) the text: (String(StoneCount[1]))
Else - Actions
Do nothing
Code:
CreateItem
Events
Unit - A unit Begins casting an ability
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Ability being cast) Equal to Build Hammerstone
StoneCount[(Player number of (Owner of (Triggering unit)))] Greater than or equal to 2
Then - Actions
Item - Remove (Item carried by (Triggering unit) of type Stone)
Hero - Create Hammerstone and give it to (Triggering unit)
Item - Remove (Item carried by (Triggering unit) of type Stone)
Game - Display to (All players) the text: (String(StoneCount[1]))
Game - Display to (All players) the text: Hammer Time!
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Ability being cast) Equal to Build Sharpened Stone
StoneCount[(Player number of (Owner of (Triggering unit)))] Greater than or equal to 1
Then - Actions
Item - Remove (Item carried by (Triggering unit) of type Stone)
Hero - Create Sharpened Stone and give it to (Triggering unit)
Game - Display to (All players) the text: (String(StoneCount[1]))
Game - Display to (All players) the text: Sharpie!
Else - Actions
Do nothing
EDIT: Forgot to say what actually happens. Well, regardless of whether you use the Sharpened Stone or Hammer Stone ability, the outcome is the same; If you have only a single stone or two stones in your inventory it will make a sharpened stone out of one of them(removing one stone/giving a sharpened stone). If you have three stones or more it will make both types of stone and remove a surprisingly appropriate three stones from the inventory.
I think the problem is with the "(Ability being cast) Equal to Build Sharpened Stone" but I don't know another way of doing this. Any help appreciated
btw, the text displays are for testing purposes