12:43am - With help from some friends I've added to my Actions list.
Move, Idle, Use, Melee Attack, Ranged Attack, Pick Up, Drop, Throw, Wield, Contain, Remove, Receive Attack, Affect, Receive Effect, Talk, Steal, Give, Accept
Most of the ones I added are 'social' Actions, for interacting with other actors in other ways. Talking to, Stealing from, Giving to, and Accepting from. Talking is a heavy lifter like Use since I can connect it to a whole GUI system if I want. I'm not sure how much social stuff I want in the game, though, at least at start. It's a dungeon crawling game, so you should mostly be smacking monsters and grabbing loot. But, what is loot for if not to trade?
Anyways the really important additions are Recieve Attack and Recieve Effect. I concieved of these after I logged off for the night and went to bed last night. When an Actor uses Melee Attack on another Actor, the Action would want to modify the target actor's state, but it's the attacker's action. He shouldn't modify someone else's state directly, in case they have special properties that the Attack doesn't take into account. So, when an Actor attacks another Actor, the First Actor does an Attack Action against the Second, and the Second Actor does a Recieve Attack action from the First. The Attack action determines what effect the Attacker has, and the Recieve Attack action determines what mitigation the Reciever has.
Recieve Effect on the other hand is a more generic form, which could do any sort of changes to stats. It's coupled with Affect, which is what an Item does after you Use it, or an Effect Actor does when it works it's mechanics. It Affects an Actor, and they Recieve Effect to modify their state within their parameters.
1:01am - I think I'm pretty close to being able to start coding again. Which is awkward since I'm typing this on my Chromebook while relaxing in bed. Well let's finish this off first.
My next task, now that I've figured all this out, is to make an Action class, with subclasses of all the action types, so as to reify the Actions like the Command pattern. Also, I must create methods for each action type in the Actor class, so that its children can override them and determine how they will work.
I think I should also peel back the GreenEnemy class into an Enemy class, and use the ActorFactory to make it a Green Enemy by assigning its values, rather than making a different class for every enemy.
1:19am - Alright I think the last thing to do tonight is to put that in my TODO list for later.
Good night everybody!
Move, Idle, Use, Melee Attack, Ranged Attack, Pick Up, Drop, Throw, Wield, Contain, Remove, Receive Attack, Affect, Receive Effect, Talk, Steal, Give, Accept
Most of the ones I added are 'social' Actions, for interacting with other actors in other ways. Talking to, Stealing from, Giving to, and Accepting from. Talking is a heavy lifter like Use since I can connect it to a whole GUI system if I want. I'm not sure how much social stuff I want in the game, though, at least at start. It's a dungeon crawling game, so you should mostly be smacking monsters and grabbing loot. But, what is loot for if not to trade?
Anyways the really important additions are Recieve Attack and Recieve Effect. I concieved of these after I logged off for the night and went to bed last night. When an Actor uses Melee Attack on another Actor, the Action would want to modify the target actor's state, but it's the attacker's action. He shouldn't modify someone else's state directly, in case they have special properties that the Attack doesn't take into account. So, when an Actor attacks another Actor, the First Actor does an Attack Action against the Second, and the Second Actor does a Recieve Attack action from the First. The Attack action determines what effect the Attacker has, and the Recieve Attack action determines what mitigation the Reciever has.
Recieve Effect on the other hand is a more generic form, which could do any sort of changes to stats. It's coupled with Affect, which is what an Item does after you Use it, or an Effect Actor does when it works it's mechanics. It Affects an Actor, and they Recieve Effect to modify their state within their parameters.
1:01am - I think I'm pretty close to being able to start coding again. Which is awkward since I'm typing this on my Chromebook while relaxing in bed. Well let's finish this off first.
My next task, now that I've figured all this out, is to make an Action class, with subclasses of all the action types, so as to reify the Actions like the Command pattern. Also, I must create methods for each action type in the Actor class, so that its children can override them and determine how they will work.
I think I should also peel back the GreenEnemy class into an Enemy class, and use the ActorFactory to make it a Green Enemy by assigning its values, rather than making a different class for every enemy.
1:19am - Alright I think the last thing to do tonight is to put that in my TODO list for later.
Good night everybody!