Hi Craig, As a matter of fact, I've also thought about adding that sort of functionality. 1. I was thinking of having an effect script with the following form: add_specific_skills_to_units unit1=(comma-seperated list of skills, and/or | separated list of skills to randomly pick from); unit2=.... where unit n is the indexed name of the unit. That would be quite trivial to code, and would help because you wouldn't need a special ffect for each individual unit. 2. As to triggering when this happens: your solution of having a special point that does the effect application is sadly all that I can think of as well. Something to think about though is to use the events that you recently added for damage application for a unit's points. Doing that, you can do on the unit file for instance, effects_on_points health <= 35%|(comma-separated list of effects), mana <= 10%|some other effect. That kind of flag will not only be useful for these types of mechanic, but for other things as well and is something that I wanted to code for myself. However, those events currently don't fire on other forms of damage (damage applied at start/end of turn, when stepping on tiles with health inflicts). So if the events always fires at every instance that the point changes, then overdrive can be done quite easily as you can always calculate the current status of the points. That still does leave the problem of making the AI choose the newly added skill, because it shows up right at the bottom. Victorious -----Original Message----- From: ian-reeds-games-bounce@xxxxxxxxxxxxx [mailto:ian-reeds-games-bounce@xxxxxxxxxxxxx] On Behalf Of Craig Brett (Redacted sender "craigbrett17@xxxxxxx" for DMARC) Sent: Monday, March 30, 2015 6:34 AM To: ian-reeds-games@xxxxxxxxxxxxx Subject: [ian-reeds-games] Overdrive? Hi all, In a new little map pack I'm working on, I wanted a couple of the AI controlled friendly units to have overdrive type functionality. Where in after they take so much damage, a new, awesomful attack gets unlocked for them to use. I've experimented with a few ways of doing this, none seems ideal. So advice would help. 1. This way kind of works, minus the AI never picking these skills as they're further down in the list (something else I'm trying to see if I can fix through AI scripting). But I've got an overdrive point for each of these AI controlled unit types and each, at 0, applies an effect specific to that unit, but all with the friendly name "Overdrive". This effect adds the relevant skills. These skills, in turn, fill the overdrive points and remove the overdrive effect. I then made all inflicting skills also do damage to this overdrive point, depending on how much actual damage they use. Whew. That's a lot to explain but it kind of works. Problems with this approach, though, are that the overdrive points being "inflicted" means they're announced, despite being hidden. I could put in game fixes for this, but not sure if it would effect anyone else. It also feels like the overdrive "gage" should be going up instead of down. 2. I then considered using some sort of after_perform_skill script that checks for a point to see if it's at max and if it is then grant an effect. But I'm not sure if this is an optimum approach either. It does mean that I only have to release scripts and possibly release something that people could use for other things, and also that overdrive changes aren't announced until the effect is there and you're ready to do damage. But I'm not sure if I'm shimmying around the problems in 1. In either case, I've got the AI problem. And I've also got the problem that add_skills doesn't care about what unit there is in question, I can't think of a nice way to make add_skills unit specific, hence the overdrive point and effect for each unit I want to do this to. Of course, I could have just given it a point cost and waited until you had enough of that point, but a nice "has been effected by overdrive" announcement, coupled with a brand new skill showing up in your menu, I think is much cooler. Any thoughts? Is this overdrive functionality even a good idea? Or am I better off going old skool? Craig
Attachment:
smime.p7s
Description: S/MIME cryptographic signature