|
Post by Aves Dominari on Oct 31, 2012 13:09:49 GMT -5
Andrew Sundberg nods sagely. Bit disappointing, but it's nothing but flavor so I can live with it ;p
|
|
|
Post by draxis on Oct 31, 2012 21:23:50 GMT -5
My scenario takes place in an underground base, and I can either: Make the roads into tunnels connecting the rooms, and use up a lot of map space I need for rooms, or Make all the rooms have doors on all the sides, which looks silly and would make movement too direct.
Which is better?
|
|
|
Post by Kyzrati on Oct 31, 2012 21:36:24 GMT -5
Hm, I've recently considered this same issue myself, thinking about how to work around the limitations of the current modding system.
Having doors on all sides would be annoying, but the only way to ensure connection to all areas and fill your base.
I think the best way is the road option. Have three of them, and have all your areas rotate to face the roads, to ensure doors open to them; also, like the original, you could have several areas that don't actually have doors, just doorways that open in other directions (not the road) so they'll automatically open up to either other existing areas, or dirt/ground if there is no area/expansion in that direction. I wouldn't worry too much about having roads take up your space--even with three roads you still have up to 20 free 1x1 blocks.
You could also stick with just two roads or so and have special 2x2 areas attached to the roads, combined with grouped 1x1 areas that use the new CORE rotation feature to face their 2x2 group core instead of the road, which will give you more expansion rather than having everything directly attached to the road.
|
|
|
Post by Aves Dominari on Oct 31, 2012 21:41:08 GMT -5
My scenario takes place in an underground base, and I can either: Make the roads into tunnels connecting the rooms, and use up a lot of map space I need for rooms, or Make all the rooms have doors on all the sides, which looks silly and would make movement too direct. Which is better? I'm making an underground scenario as well. The way I've done it is make all of the roads corridors with side paths that link to other modules. Like it is in X-COM bases, there aren't any doors interrupting the flow of traffic; just side rooms containing ladders up, where most of the important parts are. This way, anything can be next to anything else and there will be largely uninterrupted flow, while keeping large amounts of traffic to the wider corridors. Of course, I'll need to do a lot of work still before I see how well it looks, so we'll see.
|
|
|
Post by draxis on Nov 4, 2012 21:12:22 GMT -5
Just got an error: F=0066604 BS::getPOF() | Target outside map (3,38,4)
I was firing a weapon with Traject=-1 at a square on level 3 from level 0. Could it have been trying to arc through the square above to hit it?
|
|
|
Post by Kyzrati on Nov 4, 2012 21:52:01 GMT -5
Correct, seeing as how the height on that parabola point is z=4, it must've somehow arced out of the map... That's never happened before, though I've not done much with parabolic weapons yet, or even had any maps/situations where you might want to target z-level 3.
I'll look into the 0 to 3 parabolic attack and try to repeat it--that's a pretty bad error. Good catch.
|
|
|
Post by Kyzrati on Nov 4, 2012 22:58:43 GMT -5
Ah, figured it out. It's most likely happening when you miss a parabolic shot at any map boundary. Straight shots are allowed to target areas outside the map, but to keep things simple parabolic trajectories must remain entirely inside the map, though I used the same miss calculation code for both types. I'll have this fixed for 8.3.
EDIT: Crap, I just looked at the code and I *did* bound parabolic misses to the map area, so that can't be it... This one's tough.
|
|
|
Post by Kyzrati on Nov 5, 2012 3:28:38 GMT -5
Well, I can't reproduce this intentionally, so we'll have to see later on what specific conditions might cause it--obviously has to do with map boundaries... if you can find steps to reproduce it I'll fix it, until then I'll stick it on the known issues list.
It'll become easier to test this once there's parabolic stuff in-game. Right now all I've got is the celatid.
|
|
|
Post by strangeguy on Nov 15, 2012 20:48:24 GMT -5
I'm making a hostile wizard in a TC mod, and since the AI doesn't appear to use special abilities I've been creating a weapon for it. However I don't want it to be usable by the 'XCOM' force, or preferably even to exist as an item at all after the wizards death. Not sure how I'd do that, I'm doing much the same as for the various natural weapons except someone with a human anatomy is equipping it but my tests have had it act like a normal weapon. If I really need to I could create a new race for them, but I wouldn't be able to call it human when they are.
|
|
|
Post by Kyzrati on Nov 15, 2012 21:05:12 GMT -5
Right now the AI cannot use special abilities at all, so yes, you have to fake them by creating a so-called "natural weapon" that does the same thing. "Natural weapons" become part of the unit itself, and will not be dropped when they die. Equipping one can't use the Human anatomy though, because natural weapons can only be equipped to inventory slots that accept them. items.xt specifies each item's "UseSlot", which determines where it can be equipped. 'H' is handheld (for humans/aliens with hands), 'W' is weapon module slot (for tanks etc--won't drop), 'N' is natural weapon (for monster arms and things you don't want to drop). There are examples in the game you can reference: The Cyberdisc uses a Cyberdisc Plasma projectile weapon ('W' UseSlot) which won't drop; the Zombie uses a Zombie Bash melee attack ('N' UseSlot); and many more--all the terror units from the original data use this scheme, as do many of the special units I added for later scenarios. Copy how they do it and start from there! (Also: You can have the AI use non-passive special abilities by attaching the projectile-triggered effects to their weapon as well, though I haven't used this feature yet. As a test, I do see that the game includes a Spell_Rabbit_Blast spell ability that causes a Rabbit_Blast_Spawn effect when the projectile hits a target, so it... spawns rabbits wherever you hit Basically, you just add a projectile-triggered ability to an item's abilities column and it'll attach the ability to any projectiles fired.) EDIT: And welcome to the forum!
|
|
|
Post by strangeguy on Nov 16, 2012 16:36:48 GMT -5
Thanks for clarifying it. I was worried I'd need to make a new anatomy, but when I did so it wasn't much of a problem.
I've got a new related query- I gave them one monster_arm for magic and one normal one to hold items, but they won't use second hand weapons right? Still would like to create some foes with both ranged (magic in this case) and melee weaponry, but not that big a deal if I can't do it.
Even if that isn't possible I can use the second hand for flavour items, like forbidden tomes which you shouldn't really read, but can do anyway for negative effects. I've already got one working that reduces morale, but I'm trying to get one that temporarily switches factions, though I fear the psi-amp functions so differently from an insanity inducing book that it couldn't work. Currently I've got it so you just get the failure message each time you read.
|
|
|
Post by Kyzrati on Nov 16, 2012 19:58:58 GMT -5
I've got a new related query- I gave them one monster_arm for magic and one normal one to hold items, but they won't use second hand weapons right? Still would like to create some foes with both ranged (magic in this case) and melee weaponry, but not that big a deal if I can't do it. You can mix melee and ranged just fine. The AI will choose an attack randomly from whatever it's capable of, so if you give it two guns, it'll fire each one eventually. If you give it a gun and melee attack, it'll pick randomly, then *if* it picked melee (and is out of range) it'll charge the target, even it also has a gun it could fire immediately, so you'll always see it use both, though not necessarily in the most effective manner. I have some entities in Cataclysm that mix both melee/ranged attacks, like the Necrolord. Even if that isn't possible I can use the second hand for flavour items, like forbidden tomes which you shouldn't really read, but can do anyway for negative effects. I've already got one working that reduces morale, but I'm trying to get one that temporarily switches factions, though I fear the psi-amp functions so differently from an insanity inducing book that it couldn't work. Currently I've got it so you just get the failure message each time you read. Great idea on the insanity inducing book! You should be able to implement that with a SWITCH_FACTION effect--just switching the reader to the alien faction (or whatever AI-controlled Faction you want) temporarily (permanently?) when they read it. Right now though you'd need to use a static SWITCH% (not -1, which uses X-COM psi-attack calculations and needs two entities to work properly). The proper trigger would be a REFLEXive USE_ON_ENT, like you see for other usable book-like items.
|
|
|
Post by strangeguy on Nov 17, 2012 17:26:46 GMT -5
Random attack picking isn't great, but I can work with it and was better than what I feared. Actually ran into a problem with it as I saw a sorcerer rush at me, probably trying to batter me with a book, rather than using their dark and terrible magics, but I can just remove the books ability to melee attack and it will be fine. Managed to get the book working nicely. I want people to know that the faction switch ends without mentioning it in the message when triggering, but I can't figure out a way to do it without having the book transform when read to an item with a message and change back on new term ability, if that would even work. I've been trying to use [ITEM]
|
|
|
Post by Kyzrati on Nov 17, 2012 21:51:13 GMT -5
Random attack picking isn't great, but I can work with it and was better than what I feared. Actually ran into a problem with it as I saw a sorcerer rush at me, probably trying to batter me with a book, rather than using their dark and terrible magics, but I can just remove the books ability to melee attack and it will be fine. One day the AI will be intelligent about combat and inventory use--right now we live with sorcerer's bashing you with their spellbooks ;p Removing the melee attack is definitely the solution. Managed to get the book working nicely. I want people to know that the faction switch ends without mentioning it in the message when triggering, but I can't figure out a way to do it without having the book transform when read to an item with a message and change back on new term ability, if that would even work. Messages and changes after a duration expires weren't really built into the system, but I've found a way to hack it in: When they read the book, have a second GIVE_SA_ENT effect that gives another ability which is more or less a timed message. The timer would be triggered by ENT_NEW_TURN, and use a COUNT condition equal to the number of turns after which the switch back should take place. The effect of the timer would be a simple FLUFF_ACTOR that shows the message that they're back to normal. (Or you could use a simple empty FLUFF effect, and put the text on the trigger.) Unfortunately there is no way to remove the timer once it's used (there will be in R8.3, a new REMOVE_SA_ENT effect), so you have to just use the COUNT==X (where X is # turns), so it'll only show the message on the proper turn, and the entity will actually keep that timer ability even though it will never do anything again. Note that this method assumes your SWITCH% is set to 100, since there is no way the script providing the timer will know whether the switch actually took effect. Does any of that make sense? I've been trying to use [ITEM] AI's don't kneel yet, correct. Whether an entity can kneel is determined solely by the races.xt Kneel setting. I may end up adding some improvements to item scripting for R8.3, allowing you to put random items in more inventory locations, but for now [ITEM] [/quote]The default AI will always wander the entire map unless you use the [WANDER] command to restrict them to a smaller area, or unless you use the GUARD AI. As you suggest, you'll have to split them into two types of entities to achieve what you want. I should add a way to override the AI setting on a individual basis using a script in R8.3--even the entity.xt AI override was just added in 8.0, since before that it was completely random and uncontrollable! EDIT: Not a bug you will see in any real scenarios I imagine, but I found civilians being able to take natural weapons in monster_arm L fairly amusing. Totally laughed at that one... Not something you'd see in a scenario since X-COM doesn't normally use natural weapons I also actually tried out GUARD with something though not the church, and it seems to make them a bit stupid. Might just be because they were melee, but I wanted to use it for them and for some other melee foes. Also seemed not likely to notice things outside of their FoV, which would be relevant for ranged as well. The placeholder AI does not use knowledge of enemies outside FOV (though their faction does have it). GUARD, even with melee, should work fine though. Not sure what you're referring to here.
|
|
|
Post by strangeguy on Nov 18, 2012 10:37:38 GMT -5
Messages and changes after a duration expires weren't really built into the system, but I've found a way to hack it in: When they read the book, have a second GIVE_SA_ENT effect that gives another ability which is more or less a timed message. The timer would be triggered by ENT_NEW_TURN, and use a COUNT condition equal to the number of turns after which the switch back should take place. The effect of the timer would be a simple FLUFF_ACTOR that shows the message that they're back to normal. (Or you could use a simple empty FLUFF effect, and put the text on the trigger.) Unfortunately there is no way to remove the timer once it's used (there will be in R8.3, a new REMOVE_SA_ENT effect), so you have to just use the COUNT==X (where X is # turns), so it'll only show the message on the proper turn, and the entity will actually keep that timer ability even though it will never do anything again. Note that this method assumes your SWITCH% is set to 100, since there is no way the script providing the timer will know whether the switch actually took effect. Does any of that make sense? For some reason I didn't think X@COM gave you any indication when your guys returned to your command, and now I realised that it does I don't think it really matters. I did try to get that working so I could have a more flavourful message as well, but must have done it slightly wrong and run.log wasn't being helpful so I'll skip it, the whole thing is more of a do it if you want with obvious bad consequences like 'u'sing the cocaine block in normal cataclysm. Strangely they seem to be more focused on running away than attacking when action switched, but again it isn't a big part of the scenario. AI's don't kneel yet, correct. Whether an entity can kneel is determined solely by the races.xt Kneel setting. Sorcerers have identical races.xt entries to humans except for their anatomy but they cannot kneel, while humans can (I've made some minor edits to human entry so I had to check if I had broken kneeling). It's irrelevant for me since I'm not giving out any mind control, and any player controlled magics will be via special abilities rather than natural weapons I may end up adding some improvements to item scripting for R8.3, allowing you to put random items in more inventory locations, but for now [ITEM] Actually that method doesn't seem to work, I meant to type left monster arm. [ITEM] [/quote] I suspect it might be because it was two tile or something but I was able to sit there and end turn over and over without it doing anything. And it was definitely hostile and capable of attacking, moving 1 tile forward and ending the turn resulted in death.
|
|