Possibly a series of "beammissile"s with cart shaped projectiles followed by moving the cart to its final position (or recreating it after removing it before the beammissiles)
I answered my own question, and the centered 288x160px animation did the trick. This does mean creating a new animation for each room (42 frames for this first one), but the individual pieces themselves are relatively simple. I figure I'll create three of these rooms, and then tell them to only spawn on the Mine/Volcano levels. That way, the player stands a pretty good chance of running into at least one or two of them per game.
Quick question about levers... Is there a way to make a lever "stick" so it can't be activated/deactivated again (until reset by a script)? The only workaround I can think of is having a room script that swaps it with a custom blocker that only looks like a lever in the activated position. EDIT: Never mind. Trying to figure out which of three levers was activated in which sequence while also making sure that the correct combination changes with each game, was getting way too complicated. (and if the player activate the same switch twice it threw everything off even more) Theoretically, I still could have done it by creating and destroying customengravings in a blocked-off section of room that the player can't see, but the number of at= conditions I'd have to check for each step would have been massive, not to mention that half my room would have been taken up by the "lock" itself. In the end, I took a page from the Room of Demands and replaced the levers with color coded floppy disks, which is way easier to keep track of. My only headache at the moment is that neither of my original ideas for randomly selecting the correct sequence for shutting down the computer worked in practice. There's no way to use spawnitemfromlist from within room.xml, and while I can make a script cast a spell that does the same thing, you can't assign items spawned from within spelldb.xml id tags. That's a shame, because it would have been super easy to just have it randomly spawn a gem called 1 through 6 inside a wall as soon at the player enters the room and then use that gem to set the combination. My backup plan was to use clocks, which I know practically nothing about, but unfortunately you can only check to see if a clock is started or stopped, not which number it is currently on. I *think* I've found a workaround by using two clocks, one counting down from 2 before resetting, and one counting down from 3 before resetting, which gives me 4 possible on/off combinations between stopped and started.... I think. I'll have to play test it a few more times to tell if it's actually working, but so far it seems to be. I'll also have to figure out why the computer starts going completely insane after a few turns and launching lightning bolts at the player every turn, rather than counting down from 10 every time.
For anybody looking to do the same, I found a much better method for making randomized choices within room scripts, without resorting to clocks or custom monsters. XML Validator doesn't like it, but it works perfectly. For my computer room, I needed to randomly select one of six possible combinations of three color-coded objects arranged in a particular order, so I created 6 invisible custom breakables: <custombreakable x="8" y="4" png="dungeon/blank.png" name="Chooser1" broken="dungeon/blank.png" can_push="0" id="Chooser1"/> And six custom templates corresponding to the position of those breakables: <template width='3' height='3' name='624381' affectsPlayer='0'> <row text='@..'/> <row text='...'/> <row text='.#.'/> </template> Then all I needed was one script that casts a triggerfromlist spell as soon as the player enters the room, which selects one of the six templates, and causes 1 damage to the appropriate square. And a series of scripts that look for the breaking of each of the invisible breakable's unique ids, triggering the desirable outcome-- in this case, removing all 6 breakable objects and creating a customengraving (Combination1 through Combination6) inside a wall that the player can't see which permanently "sets" the combination for the room's other scripts. <script repeat="1"> <condition condition_type="event" event_type="broken" id="Chooser1"/> <action on="success" action_type="remove" id="Chooser1"/> <action on="success" action_type="remove" id="Chooser2"/> <action on="success" action_type="remove" id="Chooser3"/> <action on="success" action_type="remove" id="Chooser4"/> <action on="success" action_type="remove" id="Chooser5"/> <action on="success" action_type="remove" id="Chooser6"/> <action on="success" action_type="create" create_type="customengraving" x="9" y="0" png="dungeon/blank.png" id="Combination1"/> </script> The nice thing about this setup is that it can be scaled to almost any size you need (provided your room has an area that the player can't reach, and nothing else that could accidentally trigger the breakables... like say, a monster stepping on a pressure plate trap) and if you don't flag it as special=1", each iteration that shows up will have a different outcome.
Dammit... My custombreakable setup was working perfectly. I tested it multiple times and it worked flawlessly. And then suddenly it didn't. And it hasn't worked since. I have no idea what the problem was, since I didn't make any significant changes between the time it was working and the time it wasn't. After ripping it apart and putting it together multiple times, I have no clue why it worked those two or three times perfectly, and now would no longer remove the breakables or set the combination after one of them was destroyed. The only slightly odd thing is that my room now always has random loot in it, even though I have notreasure="1". I did find a workaround by changing the breakables to levers, and changing the spell effect of my six template spells to manipulateobject. The room works fine, the levers disappear when they're supposed to, and XMLvalidator is much happier, but it does mean that as soon as the player enters the room, they get a "you pull the lever" message in the ticker, seemingly out of nowhere.
I'm finally moving on to some less complicated flavor rooms, statues, and other miscellaneous dungeon stuff. (he says, after spending nearly two days designing a self-destructing Interocitor) I think my favorite so far is just the random closet containing a creepy bear mask and a kitchen knife. Just out of curiosity, does anybody know what happens if you have two mods which use identical noun text= words? (so if Iccorp2 and I both have cat statues, associated with the noun cat, will it just choose randomly between the two, or cause some sort of horrible hard to diagnose crash?) Also, is there any way to have a room-cast missile spell actually damage the player? Both my Mad Computer and the Interocitor are supposed to fire energy bolts at the player. (the idea being that the player has blockable objects they can hide behind) They do fire, and play the appropriate animation, but utterly refuse to do any damage. Here's the script: <script repeat="-1"> <condition condition_type="at" not="1" id="Electronics Service No.6" x="6" y="5"/> <condition condition_type="at" id="interocitor_l_dred" at="1"/> <action on="success" action_type="spell" casts="Interocitor Missile" sourceat="1" /> <action on="success" action_type="spell" casts="Interocitor Missile" sourceat="2" /> </script> and here's the spell: <spell name="Interocitor Missile" type="missile" wand="1"> <ai hint="target"/> <anim sprite="sprites/sfx/solo_blaster/solo_blaster" frames="2" framerate="170"/> <impact sprite="sprites/sfx/solo_blaster_impact/solo_blaster_impact" frames="6" framerate="120" sfx="aethereal" /> <effect type="damage" Aethereal="7" affectsCaster="1" /> </spell> I've also tried having them target_floor and trigger dot spells, but no matter what I do, the player never gets hurt.
Are you sure about that? Last I checked, that's not how it worked. Not sure if that was on the most recent edition, as I haven't been modding much lately.
I've actually encountered this situation with the Gardening Gloves from Roguish Renovation and the Gardening Gloves from ASCII Invasion. What happened for me was that sometimes on loading a saved game it would switch the one type of Gardening Gloves with it's counterpart from the other mod. Otherwise it seemed to work fine. EDIT: Also, I just remembered, sometimes one type of gardening gloves would appear on the level that the other one was supposed to (although some of this might simply be a specific case of the glitch mentioned above)
I'll probably be posting a 1.0.4 beta version update some time in the next couple of days, which includes all of the room stuff I've been working on lately. While the new monsters and items (now within spitting distance of 100) are a lot of fun, playing with these additional flavor rooms and special encounters in place is really starting to make this feel like a proper expansion pack. Here's a few of the special rooms I've added lately: Complete: Loads of new stuff in text.xml (I've made a deliberate point of trying to avoid duplicating anything in Interior Dredmorating, since there seem to be some conflicts when two mods use the same info, and I'd rather folks get to play with both of them) Monster Bedrooms and Barracks (with the all important bunk beds and closets) Early bedroom iterations have the same number of monsters spawned as beds, while the late game monster barracks have multiple hordes. Diggle Fountains (keepin' the dungeon classy) Creepy Cherub Wall Fountains (I need to mess with the colors on these, since they came out a bit too bright compared to the rest of the dungeon.) Lots of new statues (A great many of which have corresponding special rooms where you can either smash statues or have something happen related to them) Wizard Galleries (I've created a bunch of new wizard portraits, 27 52 so far, and passageways in which to display them. Eventually I'm hoping to have unique variants for every single dungeon level) Curtains, Banners, Tapestries (these are tearable, and useful for making a room more ostentatious... and occasionally hiding secret passageways and things that are best left hidden-- like Brax's stock room) Sexy Employees of Brax pin-up calendars (you were warned) Ambush sites (If you see a suspiciously empty room with a narrow bridge spanning a river, watch out. You may get jumped.) Lord Dredmor's secret lab. (with obligatory Interocitor) The Wizard's Pub (Pub Rules: "No magic missiles. No pipeweed. Wizard robes must be worn at all times. Use of time travel and transmogrification spells strictly prohibited.") I might make a couple of these, since I have all the pieces, and it'd be fun to have a couple of variants-- pub, country western bar, etc... Wheelbarrows (The conveyance of choice for intoxicated wizards) There are a couple of jokes involving these, including one prime example of the dangers of over-aged drinking. New Floor 8 Mini-Boss: Dredmom (A slightly altered and pallet-shifted version of Dredmor. I plan on filling out the optional mini-boss ranks with different variations of the Dredmor family, each with their own power set and protecting a different bauble that enhances a specific Primary stat and damage/resistance range.) New Floor 11 Mini-Boss: Vitriol the Dredmorian (A haunted painting that curses you, and then summons slimes from a grate in the floor) In Progress: Ride the Mechanical Diggle (This will potentially be part of another wizard pub, and work similar to my Rebel Rebel spell, where you can build up a cumulatively more powerful buff, but each activation increases your chance of being thrown violently into a wall and where you lose your positive buff and gain a negative one.) Fun House mirrors (if you occupy the space directly in front of them, they "reflect" the player in strange ways) Floor 12 or 13 Mini-Boss: Bloody Mirrory (This will be an altered version of the female character sprite that regenerates and gains powerful buffs if she's standing in front of an unbroken mirror. It's in the player's best interest to try to keep her away from these squares, and keep smashing mirrors if necessary)
I'm waiting for the update. Meanwhile, while fighting a horde of skull golems, the skulls spawned gave me an idea: why don't you make an high level mid-boss bouncing skull monster named Murray. Maybe something working similar to A Little Girl: it could help you by autocharming himself, because our brotherhood is a bond forged in the flames of hell! Btw, why this is not in the playable mods already?
That's actually a pretty good idea. I ran into problems trying to create my Great Slime boss, because as soon as you get a monster wider than 32px they stat having clipping issues any time they stand next to a custom engraving. But because the skull is so small to start with, I can create a version that's noticeably larger without running into the same problem. I think with the new update, I'm probably ready to go that route. It's feeling more complete, and I'm reasonably certain I've tracked down all the errors that are likely to mess with people's gaming experience. (I've also fixed the graphics on a few of the items that I wasn't really happy with, and changed their orientation on a few of the weapons so they're facing the correct direction for their category) I've just got a couple of bits that I want to rewrite before I put up 1.0.4, because I've found a better way of creating hidden doors (hiding a breakable behind a customblocker on a wall that triggers a spell that casts dig and a condition that removes the customblocker), but I think after that I'm just going to do one more update which will add the Roamer robot, several more rooms, and the remainder of the mini-bosses, and call it good. (The Casino rooms and additional skill sets can wait for another mod).
11-29-2013 UPDATE: Okay folks, New beta version 1.0.4 is now available for anybody who wants to help me test it. (this version includes the Toupee, Kobro, Goop, and Skull Golem monsters, a ton of new rooms, plus over 100 new items!) As with the last two beta versions, the file name is the same so you can just overwrite the previous version if you had 1.0.3. I've play-tested the hell out of it myself to try and make sure there's nothing in it that will make the game crash, but if you do find anything that caused crashes, glitches, or just seems wildly unbalanced, please let me know ASAP. Known Issues: The goop character sprites are wider than normal, and sometimes get clipped when passing next to customengravings and blockers. This sucks, but short of redoing their artwork, I don't have a fix. Goops are susceptible to their own slime trails, even though they shouldn't be. I've pulled my hair out trying to fix it, but it's a consistent problem. I'm open to any suggestions. The proton wand beam animation looks like ass. It's hard to come up with something that looks like the Ghost Buster's proton pack "light stream" regardless of which direction you fire it from. I'll tinker with it on the next version, and besides.... you can only find it in the game if you have the 1st expansion pack and are willing to take on Vitriol the Dredmorian. Some items have special effects that don't seem to work quite right. (For example, the rolled up newspaper weapon does occasionally cause fear in Animal taxa monsters, but doesn't display the associated buff icon when you mouse-over the monster) Things I'm especially looking for: Balance issues. Specifically monsters and items. Though if you find certain rooms like the monster barracks, mini-bosses, or ambush bridges are ruining your day, let me know. Spelling/gramatical mistakes. I'm a pretty good speller, but after a while, all those wizard portrait descriptions start to run together. Problems with room layouts, and/or dungeon items not lining up properly-- I sincerely hope I've got all of these taken care of, but I've learned the hard way that bad things can happen when you forget to change the width/height variables on a room after editing it, or enter the wrong X and Y variables so a painting appears floating in the middle of the room instead of attached to the wall. I've also tried to be careful with my room flags to make sure no blockers appear in rooms with narrow corridors, though certain dungeon objects (like levers and stairways) show up wherever they damn well please.
Installing asap. Try putting a taxa="goop" spell which prevents the trail from hitting the goop. Anyway, I told you to put every your work togheter since I'm finding that too many mods can be a pain in the game ass. A wide variety of mods tends to ctd on startup and on New Game loading screen.
Yep. I've inserted a taxa specific removebuffbyname at every available step, and for some reason it just flat-out ignores it. I'm stumped. Here's the code in question: <spell name="Mucus Hold" type="target" icon="sprites/spells/mucus_held_32.png"> <effect type="removebuffbyname" name="Mucus Hold" taxa="Goop" amount="0"/> <effect type="paralyze" amount="5" turns="1" affectscaster="0"/> <buff useTimer="1" time="4" allowstacking="0" stacksize="1" icon="sprites/spells/mucus_held_64.png" smallicon="sprites/spells/mucus_held_32.png" bad="1" self="0"> <primarybuff id="2" amount="-1"/> <!-- Nimbleness --> </buff> <description text="Your feet are stuck to the floor. In pretty much the grossest way imaginable!"/> <anim sprite="sprites/sfx/mucus_hold/mucus_hold" frames="6" centerEffect="0" sfx="dmg_putrefying"/> </spell> <spell name="Weak Slime" type="targetfloor" mine="1" mineTimer="4" mineradius="1" mineSpriteDrawOrder="0" minePermanent="1" minespritePNGSeries="sprites/sfx/weak_slime_trail/weak_slime_trail" mineSpritePNGFirst="0" mineSpritePNGNum="2" mineSpritePNGRate="100" > <description text="Partially congealed mucus. I still wouldn't recommend touching it."/> <effect type="damage" Putrefying="2" affectscaster="0" taxa="player"/> <effect type="trigger" spell="Mucus Hold" percentage="15" affectscaster="0" taxa="player"/> <anim sprite="sprites/sfx/mucus_trail/mucus_trail" frames="4" sfx="dmg_putrefying" centerEffect="0"/> <effect type="removebuffbyname" name="Mucus Hold" taxa="Goop" amount="0"/> <ai hint="mine"/> </spell> <spell name="Weak Slime Trail" type="self"> <buff useTimer="1" time="5" allowstacking="0" stacksize="1" icon="sprites/spells/slime_trail64.png" smallicon="sprites/spells/slime_trail32.png" bad="0" self="1"> <primarybuff id="2" amount="1"/> <!-- nim --> </buff> <effect type="trigger" spell="Weak Slime" amount="0" affectscaster="0"/> <effect type="trigger" spell="Weak Slime" amount="1" affectscaster="0"/> <effect type="trigger" spell="Weak Slime" amount="2" affectscaster="0"/> <effect type="trigger" spell="Weak Slime" amount="3" affectscaster="0"/> <effect type="trigger" spell="Weak Slime" amount="4" affectscaster="0"/> <anim sprite="sprites/sfx/mucus_hold/mucus_hold" frames="6" centerEffect="0"/> <effect type="removebuffbyname" name="Mucus Hold" taxa="Goop" amount="0"/> <description text="Gross! This creature is leaving behind a trail of sticky slime!"/> <ai hint="mine"/> </spell>
12-05-2013 UPDATE: New beta version 1.0.5 is now available Not much of a change between this version and 1.0.4, but I discovered I left the maxlevel off for one of the harder miniboss rooms, meaning it could spawn on any level past 11 (which would really suck if you ended up fighting both him and Dredmor at the same time), and I've also tweaked the minlevel and maxlevel settings for some of the more generic rooms to decrease their generation rate, and hopefully increase the generation of the larger more interesting rooms. Substance-wise, this version now has 4 different wizard pubs (I still need to work on the Wizard country-western bar with the mechanical diggle), an extra wizard gallery, and a couple of new items.