Username:

Password:

- remember
Forgot your password?
Registration
Fool

Demomission of how to fool guards with a magic whistle or spell scrolls for Thief II
====================================================================================
(c) by MadBull#34 (Special thanks to Sledge and Bumbleson. You both helped a lot!)

I don't want the mission to be edited. It just shall show up an idea and how to make it.
Distribution of this demo mission is allowed as long as it is free and the package is kept
intact with my name on it. Please don't get me wrong but this is my very first release and
I'm a bit proud to show something to pros like the most at the TTLG are (shows me that I'm
not a complete newbie). I hope some of you will understand that.


First of all this demomission is NOT Darkloader compatible. You'll have to use it in DromEd.
You start with a magic whistle, 20 broadhead arrows and 40 spell scrolls, which disapear
after usage. If a guard starts investigating, simply use a spell or the whistle, he should
return to his origin place immediately like nothing happened. It works on AIs standing
arround as well as on patrolling AIs. Remember the mission is complete dark (When they
see you, the items won't work). They are just created for avoiding alertness caused
by noise. In this final version (well, at least I hope it's final and bug free) the AIs
needn't to be set up on each single one. The only thing to do is to type their object
number in a single alert response (see below). AIs only react to the whistle and the
scrolls on alert states from [None] up to [Moderate]. Once their alert state was [High],
the whistle and the scrolls never will function again on them. It wouldn't be realistic.
When the AIs are absolute sure, that someone's there (alert state [High]), the items surely
would be too mighty, if you could still fool him/her.

So here's, what I did:

Needed: a button (say object number 1)
another button (say object number 2)
an animal (say object number 3, I've chosen a rat)
a whistle (say object number 4)
an emitter trap (say object number 5)
A human AI (say object number 6)
at least 2 seperate rooms

For those who hadn't read a tutorial from the first both versions, I'll explain the problem
from the beginning:

What happens, when the guard gets alerted? To find that out, simply create a small mission
place a guard in a room and do everything to the mission, like you do in every mission
(load scripts, add starting point, build room brush,etc...). Ok if we go onto game mode and
sneak behind the guard and jump up and down, he starts searching. Now go back and save your
mission because we want to take a look at the guard, when he's alerted. Now type in the
command window "set game_mode_backup 0" without quotes. This will prevent DromEd reloading
your level when you exit the game mode. You will see your mission, like you left it with all
changes you made in there. Note that you shouldn't save your mission from now on. or you
will save the changes you made, too. Ok, now go into game mode, sneak to the guard, jump up
and down and exit the game mode after he starts searching. Now take a look at the guard.
Click on the guard and then on properties. If he just noticed "something" and he didn't
start searching, you will see the his AI>State>Current alertness changed from [None] to
[low]. He also got a new link AIAwareness from Guard to Player. But that's ok for us
because he didn't start searching. So we don't care about that. If he started searching,
something more happens: His current alertness changed from [None] to [Moderate] and he got
2 links. AIAwareness from Guard to Player and AIInvest from Guard to Player. Now double
click on AllLinks. In the new window select the links and delete them. Go back into game
mode and see, what happens. The guard turns arround like nothing happened and goes back to
his origin place. So that's what we have to do in game: Delete these links! Now create some
arrows and add them to your inventory by selecting the starting point and adding the link
"Contains" from StartingPoint to Arrow. Go into game mode and shoot an arrow at a wall. Exit
the game again and take a look again on the guard's properties. Now he has some other links:
AIAwareness from Guard to Guard (himself), ~AIInvest from Guard to Guard, AIAwareness
from Guard to Guard and ~AIAwareness from Guard to Guard. That's because you haven't made
the sound, the arrow was it. If you delete the links, the guard gets normal again. With this
knowledge we start the real demo. Close and reopen DromEd (you can delete this test mission
now. We have no further use for it.).


The only ways to remove a link is via a conversation or a response. I used a combination of
both in the earlier mission, but there is a bug on that (the conversation actor has to
be inside a specific radius, so you would need to use more than one conversation for a big
mission.). So we have to use the responses. Here we go:

Ok, make some rooms and a "blue room" (it's a room, the player can't get in on a nowmal way)
where you place the emitter trap, both buttons and the rat. Make sure the blue room's
texture is something like tiles, metal or at least stone. The arrows from the emitter trap
shall be destroyed because I don't know how much the game will slow down if you use this
trap a few hundred times. We want the AIs remove the links by getting a response. Because
they only remove a link by a conversation or a response we want them to remove their links
by a signal response (For our doings an alert response doesn't work). Unfortunately a signal
can only be sent by a conversation or a response, too. So now we choose an alert response
for the rat (3). It has to be an animal (or an undead creature or something like this)
because we don't want this "actor" to be influenced by our whistle or scroll since make a
setup for every human. We have to frighten the rat a bit (hehehe). Place the emitter trap
(5) next to the rat (3) so it's arrow will be shot right into the ground next to the rat.
select the button (2) and add the link:

Flavor: ControlDevice
From: A button (2)
To: An emitter trap (5)

When you go into game mode and frob the button (2), and arrow will be shot into the ground
and the rat gets alerted. Good now most you propably know, that an emitter trap only works
one time. To change that, select the trap click on properties and add S>Scripts. Leave the
first argument line as it is and type in the second one "ReloadTweqEmit" (without quotes).
Now we can use it as often as we want. We want the rat (3) do some certain things when it's
alerted. Open the rat's properties and add AI>Responses>AlertResponse:

Alert Level: (2) Moderate
Priority: Absolute
Response Step 1: Remove link
Argument 1: AIAwareness

Leave the rest blank because if you leave "Destination" and "Source" blank, it always means
the owner of this response. We'll continue editing that response later. If we now use that
button (2) the arrow will scare the rat, the rat (3) gets alerted and removes it's link
AIAwareness (We don't need to remove the link AIInvest because rats don't get them (Have
you ever seen an investigating rat?!?)). But how can we be sure that the rat exactly gets
the alert state [Moderate]? It can be done be adding a maximum alertness level on the rat.
I've chosen [Moderate] because the rat surely gets at least a moderate alertnes level when
the emitter trap is used. add to the rat AI>AI Core>Alertness cap:

Max Level: (2) Moderate
Min Level: (0) None
Min relax after peak: (0) None

So if the rat relaxes again, it will be again on alert state [None]. But that doesn't change
the alertnes back to [None] immediately after frobbing the button (2). What we need is a
fresh "current alertness" with the state [none] copied to the rat to overwrite the old
"current state". Now we have to work a bit with Sources & Receptrons (Again, thanks Sledge
for that great S&R tutorial!).
The basic idea is that the rat frobs the button (1) on alert state [Moderate], receives a
stim from the button and the receptron of the rat copies the fresh "current alertness" on
the rat. At first we need the rat to frob the button. Open again it's Alert Response and
add:

Response Step 2: Frob object
Argument 1: 7

Leave the rest like it is. Now open the object hierarchy and select show tree: Act/React
Stimuli. Click on "add" and type in a name for a new custom stim (mine was FoolStim). Ok,
now we changed the usual gamesys (dark.gam). In order to get these changes loaded by
loading the mission again, we have to set a new gamesys to our mission. In the command
window type in "set_gamesys Fool.gam" (without quotes). If everything went fine you'll see
"fool.gam" in the lower white line of DromEd. Of course you can use other names. Now save
the gamesys and use the same name we set before. Save your mission and reload it. Now we
can use our new stim. Open the properties of the other button (1) and add Act/React>Sources:

Object: A Button (1)
Stimulus: FoolStim
Propagator: Contact
Intensity: 1

Click on "Edit Shape" and set it up like this:

Contact Types: Frob in World (nothing else)
Velocity Coeff: 0.00
Frob Time Coeff: 0.00

Make sure that the line "Object" is the last one you edit (after edit shape, too). I don't
know why but sometimes DromEd changes it back to "None (0)". Type in the object number of
our button (here it's "1") and hit "OK". Now everyone who frobs this button gets this
FoolStim. Now we set up how the rat should react to this FoolStim. Add Act/React>Receptrons
to the rat. In the new window click on "add":

Object: 3 (the rat's number)
Stimulus: FoolStim
Check no min and no max intensity
Effect: Set Property
Target Object: (check "me")
Agent Object: (check "source")

At "Edit Effect" type in "AI_Alertness". When the rat gets that stim, it copies the
alertness of the button 1 (source) to itself. Agent Object has to be because the rat could
set the property on it's own but it doesn't know how the property is set up. Add to the
button (1) AI>CurrentAlertness:

Level: (0) None
Peak: (0) None

This is the new alertness the rat will have after using the alert response. Go into game
mode and make sure to be near to the button 1. You'll notice, after frobbing the button 2
several times, the rat stops reacting like we set it up in the alert response. the reason
is, when you frob button 2 fast enough the "current mode" of the rat changed from [normal]
over [efficient] to [Super efficient]. To avoid this, add to the rat
AI>AICore>EfficiencySettings. Just uncheck "Enabled" and leave the rat as it is, so the rat
can't change it's efficiency anymore.

We now have a situation, where at least nothing happens after froobing button 2. But it
wasn't work for nothing. We have an alert response, we can work with. And with this alert
response we can send the signal which lets the AIs delete their links when they are alerted!

To make the rat send signals after it's alerted edit again its alert response:

Response Step 3: Signal
Argument 1: CalmDown (or whatever you choose. Remember the name.)
Argument 2: 6 (obj number of the human AI. If there are more than one type the obj
numbers like this: 6,8,11,13,144,etc... . This is the only thing
you'll have to edit after we have finished. Here the obj number of
every human AI has to be, you want to be affected)
Argument 3: 9999 (This is the radius where it shall work. Nearly 10.000 feet should be
enough for sending the signal through the hole level. If not, how
about "100000"?)

Leave the rest, like it is. Now we frob button 2, every human AI gets a signal. Go to object
hierarchy, select Human(-14) and hit "edit". We want every human to be affected, so we set
it up on Human(-14). Add AI>Responses>SignalResponse:

Signal: CalmDown (or whatever you named it)
Priority: Absolute
Response Step 1: Remove Link
Argument 1: AIAwareness
Argument 2: (leave blank!)
Argument 3: (leave blank!)
Response Step 2: Remove Link
Argument 1: AIInvest
Argument 2: (leave blank!)
Argument 3: (leave blank!)
Response Step 3: Remove Link
Argument 1: AIAwareness
Argument 2: Player
Argument 3: (leave blank!)
Response Step 4: Remove Link
Argument 1: AIInvest
Argument 2: Player
Argument 3: (leave blank!)

Like I told before leaving the source or destination blank means the AI shall take his own
object number for it. In game mode make the guard search for you. Run to the button 2 and
frob it. And guess what: the guard turns non-alerted like nothing happened. So far on part
one.

Now we want to make the button 2 being frobbed by using our whistle (4).
Select the starting point, click on "links" and then on "add":

Flavor: Contains
Source: (object number of the StartingPoint)
Destination: 4 (our whistle)

As we want to frob the button (2) frobbed every time when we use the whistle, we need to
add to the whistle Act/React>Sources:

Object: 4
Stimulus: FoolStim (Don't care that this stim is beeing used before. It won't overlap.)
Propagator: Contact
Intensity: 1

Now "edit shape":

Contact Types: Frob in Inv (nothing else)
Velocity Coeff: 0.00
Frob Time Coeff: 0.00

Again, make sure "object" is the last thing, you edit. Hit "ok". When we frob the whistle in
our inventory, we hear the whistle sound and we get the FoolStim. Now we want, when we get
this stim, to frob the button 2 in order to frighten the rat. Go to object hierarchy, select
"Avatar" and add Act/React>Receptrons:

Object: Avatar
Stimulus: FoolStim
check no min and no max intensity
Effect: Frob Object
Target Object: 2 (our button)

All right, now we have a magic whistle. Save gamesys & mission, reload, go into gamemode and
make fun of the guards like you want:-). To do this on spell scrolls it is a bit more
complicated:
Go to Object Hierarchy and select Physical>Household>Scroll>Schematics click on "Add" and
type in the name of your new scroll. Hit "OK" select your new scroll and click on "Edit".
Now add S>Scripts and type in the first argument "EatFood"(Nothing else). The main reason
for this is that I want the scroll to disapear when frobbed in inventory. Then add
EngineFeatures>Frobinfo:

World Action: Move
Inv Action: Script, Use Ammo
Tool Action: [None]

Then add EngineFeatures>StackCount and type in "1".
After that add EngineFeatures>CombineType and type "schematics"
Finally add Act/React>Sources and do the same like the whistle.

Good, it should work now. But what's when the AI gets the alert state [High]? Right now our
whistle and scroll still works on that alert state. We want to change it. The idea is that
the AI shouldn't delete their links when receiving the signal. So we need a new signal
response for the CalmDown-signal. Go to object hierarchy, select Human(-14) and hit "edit"
Add AI>Responses>AlertResponse:

Alert Level: (3) High
Priority: Absolute
Response Step 1: Frob object
Argument 1: 1 (our button with the FoolStim-source on it)

Leave the rest blank. Now, when the AI gets high-alerted, he frobs the button 1 and gets
the stim. Ok, add Act/React>Receptrons:

Object: -14 (all humans)
Stimulus: FoolStim
check no min and no max intensity
Effect: set Property
Target Object: (check "me")
Agent Object: (check "source")

Click on "Edit Shape" and type in "AI_SigRsp" (without quotes). Like we did before for the
"current alertness" for the rat, we now add a new signal response on the button 1. Select
our button (1), hit "properties" and add AI>Responses>SignalResponse:

Signal: CalmDown
Priority: Absolute

Leave the rest blank. Now everyone, who gets high-alerted once, he will get this new signal
response and his response to the signal will be: ignorance. The deleting-link-thing will
not work on this guy anymore but it will still work for other ones.

Voil?! That's all. (Do yourself a favour and link the whistle directly in your inventory.
It's as big as a trumpet. Looks just ugly when placed in the world.)

--------------------------------------------------------------------------------------------

Known bugs: - !Maybe because I have the german version of Thief II you'll propably have !
!to compute pathfinding database before it works. I think some day I'll go!
!out and buy the english version. Sorry for that, guys, I can't fix that. !

--------------------------------------------------------------------------------------------
Criticism and opinions how to optimize this are welcome (of course corrections about my
spelling, too!) at any time.
Mail to: MadBull#34 (Samael7011@aol.com)

This level was not made and is not supported by Looking Glass Studios or Eidos Interactive.

Have fun!

• Uploaded 03.12.2001 • Size 336.14 Kb
Add Image    Add Video    Add comment

Game Servers online via 333networks.com
Brodys Challenge
84.247.167.170
ThieveryDeathMatchPlus
TH-Theatre_TME
Timelimit: 20
Max Players: 12

Brodys Revenge
84.247.167.170
ThieveryDeathMatchPlus
TH-Grange_TME
Timelimit: 35
Max Players: 12

Thievery2022 (ThPlusMod 1.0.3)
150.136.246.93
ThieveryDeathMatchPlus
TH-SoulsHarbor
Timelimit: 35
Max Players: 12

Powered by SiNG cms © 2010-2024
| Entries: 2798 | Downloads: 141537 | Space: 124.4 GB | Datatransfer: 9.15 TB