File: Arithon

package info (click to toggle)
mmucl 1.5.1-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 648 kB
  • ctags: 303
  • sloc: tcl: 4,977; sh: 111; makefile: 97
file content (122 lines) | stat: -rw-r--r-- 2,545 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# -*-tcl-*-
# This is my char init file for a mystic on Realms of the Dragon.
#################################################################

# automatically recast some spells

action set {^Your skin returns to normal} {write "ah me"}

action set {^The Sword of Orion disentegrates} {
    write cc
    after 2000 write equip
}

action set {^You revert to your natural form} {
    write sh
}

action set {^Your Field of Chaos wears off} {
    write pd
}

action set {^Your Animal Agility Spell Expire} {write aa}

action set {^Your extra limbs form back into your body} {
    write pf
    after 2000 write equip
}

# Beep when someone talks to us.

action set {^%w tells you|^%w asks you} {bell}

# For the truly paranoid, set target to anyone
# who enters a room with you or who is in a room
# you enter. The first arg turns the action on or off.

alias set paranoid {
    set pattern {^%s arrives|^%s is here}

    if {$1} {
	action set $pattern {
	    set targ $1$2
	    echo [color target: {bold magenta}] $targ
	}
    } else {
	action delete -exact -- $pattern
    }
}

# Get to places quickly
# speedwalk is defined in the sample mmucl.rc
alias set toeluten {speedwalk 4n10w7ne2nw2n2w}
alias set tokhan {speedwalk 2n5w10n3w2nen2e2nen}

# Set up some convenient key bindings.

# Hit Control-Escape to bail out.
key set Control-Escape {write quit}

# protective spells
key set F1 {write ah}
key set F2 {write pd}
key set F3 {write aa}
key set F4 {write eb}

# unused
key set F5 {echo unused}
key set F6 {echo unused}
key set F7 {echo unused}
key set F8 {echo unused}

# miscellaneous
key set F9  {write "look $targ"}
key set F10 {echo unused}
key set F11 {echo unused}
key set F12 {
    if {[walk suspend]} {
	walk suspend 0
	echo "WALK CONTINUED"
    } else {
	walk suspend 1
	echo "WALK STOPPED"
    }
}

# Turn a robot for a location on or off.
# kill and walk are arrays holding info
# for the ak and walk commands.

alias set robot {
    if {$1} {
	ak on $kill($2) hh q
	walk on $walk($2)
	monitor on

#	action set "^You look around and can't seem to find your target" {
#	    write q
#	    walk suspend 0
#	}
    } else {
	walk off
	ak off
	#action delete -exact -- \
		"^You look around and can't seem to find your target"
    }
}

# This is used by monitor defined in mmucl.rc
# It is called everytime status(hp) changes.

proc hp_check {args} {
    global status

    if {$status(hp) < 1000} {
	write quit
    } elseif {$status(hp) < 3000} {
	write nb
	#after 4000  write pd
	#after 8000  write sh
	#after 16000 write aa
    }
}