New Horizon on 27/4/2005 at 18:03
Quote Posted by Darsidius
Then here's a question, and I haven't really been playing around with the editor too much (doesn't like to work on my comp, and I'm too busy with my personal life right now), but if someone is able to get flashbombs working correctly (ala Thief 1 and 2 style of blinding the player), how feasible would it be for the Enforcers to throw a flash bomb at the player upon seeing Garret for the first time?
They're almost working. Bumbleson got a lot further than I did with it but they almost always Blind garrett due to some weirdness with the way the camera is attached to the player model I think. I'm assuming that the flashbombs were made non blinding for garrett due to third person...where the effect really wouldn't make sense.
If we could somehow hack in Invisible Wars Player view, I think we would be all set. I wonder if this would be possible since they're based on the same engine. Might there be some way to hack it out of DX2 and get our good old Thief to use it? Dreams.
Fallen+Keeper on 27/4/2005 at 18:14
No body awareness? Cool. Yet, what bother me most is the jump feature, which is a joke. Concerning the movement ability, vital for a thief, our hero is much more Garrotte than Garrett.
Rantako on 27/4/2005 at 20:57
I've managed to get the Assassins to behave as suggested in this thread - not attacking any NPCs. It's explained here involving creating new classes, etc. because I didn't want to mess up anything by accident. If you want to make these changes to the Assassins in the OMs, you'll just need to modify existing classes (haven't tested that, though).
To do it envolves messing with faction models. Create a new class under MetaProperty -> AIModel -> AIFactionModel -> T3FactionModel. I called mine KeeperEnforcerFactionModel (to distinguish from the already existing KeeperAssassinFactionModel). Give it these properties:
AIFaction -> FactionGUID: 16
This tells the game which faction number it belongs to. Luckily, there are a few unused faction numbers, 16 - 19.
Give it all the other properties in the AIFaction list. These let you set how this faction will respond to all the other factions (you can find out their numbers by looking at their FactionGUID numbers). You should set them all to neutral, except for player. This means they won't attack any NPCs unless they are attacked first, so if they are attacked they won't just stand there and let themselves get killed. You should also go to the other faction models and set their responses to number 16 to hostile. (This means they get all spooked when they see the assassin appear briefly, as with the script earlier in this thread)
This knowledge of faction models could be extremely useful - we can control how any faction reacts to any other. Say you wanted the assassins to kill Hammers, you would set the KeeperEnforcerFactionModel's response towards faction 2 to hostile, and bang! no more Hammerites.
Now go to your Keeper Assassin's properties (doesn't matter if you created a new class, or are modifying concretes) and give it the property:
AIPawn -> FactionModelClass: KeeperEnforcerFactionModel
and you won't have to suffer needless carnage anymore.
If you want to make changes to the OM assassins, you would set the faction responses on the already existing KeeperAssassinFactionModel, rather than creating a new one.
As for the other changes mentioned, making assassins harder to kill is simple - give them the property
Health-> Main Health: Current=20, Max=20
(or any other number you like). This makes them near invincible - it takes four fire arrows to kill one. Combined with the invisibility script and the modified faction model, these guys are incredibly dangerous.
I haven't yet found their weapon in the browser, so can't say how it could be modified.
Happy assassinating... :cheeky:
EDIT: Oh, I also gave them the property AI -> BodyType: BodyType_Monster, but haven't been able to see if NPCs react differently to it - the assassins keep killing me first.
Bumbleson on 27/4/2005 at 23:34
Their weapon is under WorldObj -> SetDressing -> AIParts -> MagicWand -> KeeperAssassinGlaive
Quote:
Originally posted by CrispyAlso, scripts are just saved as .TSD files in [Thief3]\CONTENT\T3\TriggerScript\Defs, so they shouldn't be too hard to distribute.
The problem is that the game installation doesn't even have the TriggerScript folder. In the game, scripts seem to be included in the *.gmp level files (and probably, in another form, in the *.ibt files), so distributing a *.tsd file makes no sense for people without the editor. Anything that goes beyond changing the gamesys may have to be distributed as some kind of patch.
nomad of the pacific on 28/4/2005 at 08:50
Rantako:
Cool! Thanks! :D
Bumbleson:
Damn! :nono:
BTW, my dead Enforcers are still invisible. I'll work on that.
Crispy on 28/4/2005 at 10:34
Nice work, Rantako! I'm slightly jealous, I don't have nearly enough time to mess around with the editor as much as I'd like to. :D
Bumbleson - arrrrgh, that's not good. :( I really should sacrifice the extra 2GB for a second, clean installation, so I can spot these kinds of issues myself.
Bumbleson on 28/4/2005 at 23:32
This is a general issue which is not yet solved (well, it depends on your point of view whether you see need for a solution at all ;) - the editor was released to make FMs in the first place, not for improvement of the OMs). In the editor environment most of the resources needed to compose a map are present as single files. When the map is finished and ready for release, it's exported to a *.gmp and/or *.ibt file and many/most/all resources needed for the map are included into this file (as far as I understand).
By the way, I must correct myself: In the game installation there's a file Kernel_TSDALL.ibt in the maps folder (and similar files for other resources). I think this is where the scripts are stored and referenced by the level files. Even if we could create such a file with the editor with all new scripts included (I don't know if we can), the level files would still have no reference to those scripts.
nomad of the pacific on 29/4/2005 at 00:22
Finally got the Enforcers to reappear on death. Here's the script:
Quote:
Conditions:
--Logic [AND] operator
----Logic [NOT] operator
------When the AI is in the behaviou state [STATE DEAD]
----Logic [NOT] operator
------When the AI is in the behaviou state [STATE UNCONSCIOUS]
Actions
--Invisibility: Pawns attached via [MYSELF] will become invisible for the next [20.00] seconds.
--Delay [21.00] REAL TIME seconds
--Rest script conditions and actions
Looks pretty simple and logical, but a lot of my attempts looked that way, but were buggy. This one seems to work okay.
Fallen+Keeper on 29/4/2005 at 22:34
Well DONE, nomad :thumb:
Then, please, describe how the things work. Are they completely invisible? Or they're invisible once in the light?
nomad of the pacific on 29/4/2005 at 22:51
It depends on what you set the InvisibilityAlphaTarget to in their properties. I have mine set to .05 as default and the InvisibilityInterpolationRate to .04. This makes the AI hard to see in dark areas except during the second where they flash slightly more visible every 20 seconds. They are almost impossible to see in well lit areas. FM creators will have to adjust them to match the lighting in their maps. They seem to work pretty well in Old Quarter for me with my settings. Much more challenging! :cheeky: