forked from kyonshi/grenzland-mud
Compare commits
3 Commits
master
...
feature/14
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a40e8d3f97 | ||
|
|
56312d7fe6 | ||
|
|
670e2331fc |
6
.gitignore
vendored
6
.gitignore
vendored
@@ -11,6 +11,8 @@ src/.accepted
|
|||||||
src/depend
|
src/depend
|
||||||
src/util/depend
|
src/util/depend
|
||||||
build/*
|
build/*
|
||||||
|
# generated by CLion
|
||||||
|
cmake-build-*
|
||||||
|
|
||||||
# Do not commit files from players
|
# Do not commit files from players
|
||||||
lib/plrfiles/A-E/*
|
lib/plrfiles/A-E/*
|
||||||
@@ -63,10 +65,6 @@ lib/plrobjs/index
|
|||||||
!lib/plrobjs/U-Z/00
|
!lib/plrobjs/U-Z/00
|
||||||
!lib/plrobjs/ZZZ/00
|
!lib/plrobjs/ZZZ/00
|
||||||
|
|
||||||
#don't commit logs
|
|
||||||
!log/*
|
|
||||||
!syslog.CRASH
|
|
||||||
|
|
||||||
# also not autogenerated config file
|
# also not autogenerated config file
|
||||||
/lib/etc/config
|
/lib/etc/config
|
||||||
# or the list of last logins
|
# or the list of last logins
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
|
Files for tbaMUD.
|
||||||
|
|
||||||
Files for Grenzland-MUD
|
|
||||||
|
|
||||||
Files for grenzland-mud, forked from tbamud
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,8 @@
|
|||||||
(lib/text/background)
|
(lib/text/background)
|
||||||
|
|
||||||
The mists part and you find yourself in a
|
There once was a guy who played MUDs
|
||||||
world unlike the one you have just left.
|
But the MUDs that he played were all duds
|
||||||
Reality twisted and turned, and the land
|
"I'll write one," said he.
|
||||||
has found itself in a new configuration.
|
And he brushed off his C.
|
||||||
Enter the borderland of reality and find
|
And soon played his game with his buds.
|
||||||
your own way.
|
|
||||||
In the Grenzland.
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,7 @@
|
|||||||
|
T B A M U D
|
||||||
|
2 0 2 5
|
||||||
G R E N Z L A N D M U D
|
|
||||||
2 0 2 6
|
|
||||||
|
|
||||||
|
|
||||||
Based on tbaMUD, by The Builder Academy
|
|
||||||
|
|
||||||
Based on CircleMUD by Jeremy Elson and DikuMUD by Hans-Henrik Staerfeldt,
|
Based on CircleMUD by Jeremy Elson and DikuMUD by Hans-Henrik Staerfeldt,
|
||||||
Katja Nyboe, Tom Madsen, Michael Seifert, and Sebastian Hammer
|
Katja Nyboe, Tom Madsen, Michael Seifert, and Sebastian Hammer
|
||||||
|
|
||||||
|
By what name do you wish to be known?
|
||||||
Oh hero, by what name shall you wish to be known?
|
|
||||||
|
|||||||
@@ -1,12 +1,8 @@
|
|||||||
(lib/text/policies)
|
(lib/text/policies)
|
||||||
|
|
||||||
Right now we are all adults and should be able to interact with
|
This file should list, in no uncertain terms, the policies you must abide
|
||||||
each other without any larger issues.
|
by on this MUD.
|
||||||
But the Grenzland maxim still is in force:
|
|
||||||
We are here to play, don't piss into anyone else's beer.
|
|
||||||
|
|
||||||
No harassing, no doxxing, no sexism, racism, or other unacceptable
|
Bug the higher-ups to make some policies and write them in this file, lest
|
||||||
isms towards your fellow players.
|
a political disaster ensue...
|
||||||
|
|
||||||
We definitely should add something more worked out in here.
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,5 +10,4 @@
|
|||||||
|
|
||||||
Gods
|
Gods
|
||||||
~~~~
|
~~~~
|
||||||
|
|
||||||
kyonshi
|
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
#49100
|
|
||||||
waiter~
|
|
||||||
the waiter~
|
|
||||||
A waiter who knows all his customers is serving drinks here.
|
|
||||||
~
|
|
||||||
He looks very nice. But I bet he packs a punch.
|
|
||||||
~
|
|
||||||
24586 0 0 0 0 0 0 0 600 E
|
|
||||||
23 13 -3 4d4+230 3d3+3
|
|
||||||
230 52900
|
|
||||||
8 8 1
|
|
||||||
E
|
|
||||||
#49101
|
|
||||||
shopkeeper~
|
|
||||||
the shopkeeper~
|
|
||||||
A friendly man reading a zine is sitting behind the counter.
|
|
||||||
~
|
|
||||||
He looks very nice. But I bet he packs a punch.
|
|
||||||
~
|
|
||||||
24586 0 0 0 0 0 0 0 600 E
|
|
||||||
23 13 -3 4d4+230 3d3+3
|
|
||||||
230 52900
|
|
||||||
8 8 1
|
|
||||||
E
|
|
||||||
$
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
#49200
|
|
||||||
book worm~
|
|
||||||
the book worm~
|
|
||||||
A creepy little book work is crawling through the books.
|
|
||||||
~
|
|
||||||
Yuck! I bet they eat books!
|
|
||||||
~
|
|
||||||
72 0 0 0 0 0 0 0 -250 E
|
|
||||||
1 20 9 0d0+10 1d2+0
|
|
||||||
10 100
|
|
||||||
8 8 0
|
|
||||||
E
|
|
||||||
#49201
|
|
||||||
apprentice~
|
|
||||||
Master Ultan's apprentice~
|
|
||||||
One of Master Ultan's apprentices stands here looking confused.
|
|
||||||
~
|
|
||||||
He is clinging to a book he has never read. He looks harmless, but
|
|
||||||
you never can tell.
|
|
||||||
~
|
|
||||||
76 0 0 0 0 0 0 0 0 E
|
|
||||||
2 20 8 0d0+20 1d2+0
|
|
||||||
20 400
|
|
||||||
8 8 1
|
|
||||||
E
|
|
||||||
#49202
|
|
||||||
journeyman guard~
|
|
||||||
Master Ultan's journeyman~
|
|
||||||
One of Master Ultan's journeymen stands guard here.
|
|
||||||
~
|
|
||||||
The Journeyman is responsible for protecting the books from being read.
|
|
||||||
What a strange guild they are!
|
|
||||||
~
|
|
||||||
10 0 0 0 0 0 0 0 0 E
|
|
||||||
3 19 8 0d0+30 1d2+0
|
|
||||||
30 900
|
|
||||||
8 8 1
|
|
||||||
E
|
|
||||||
#49203
|
|
||||||
book thief~
|
|
||||||
the book thief~
|
|
||||||
An imp-like thing is sneaking thorugh the shelves, stealing books.
|
|
||||||
~
|
|
||||||
A tiny, vaguely humanoid shaped creature. Before you ever get a
|
|
||||||
good look at it, it darts back into the shelves.
|
|
||||||
~
|
|
||||||
236 0 0 0 0 0 0 0 -800 E
|
|
||||||
3 19 8 0d0+30 1d2+0
|
|
||||||
30 900
|
|
||||||
8 8 1
|
|
||||||
E
|
|
||||||
#49204
|
|
||||||
master ultan~
|
|
||||||
Master Ultan~
|
|
||||||
Master Ultan stands here, touching books with his creepy finger.
|
|
||||||
~
|
|
||||||
He is the head of the Librarians Guild, which hoards books. He is
|
|
||||||
an old man, haggard and nearly blind. He looks like a harmless old
|
|
||||||
man, but he has survived thus far.
|
|
||||||
~
|
|
||||||
10 0 0 0 0 0 0 0 0 E
|
|
||||||
5 19 7 1d1+50 1d2+0
|
|
||||||
50 2500
|
|
||||||
8 8 1
|
|
||||||
E
|
|
||||||
$
|
|
||||||
@@ -182,8 +182,6 @@
|
|||||||
343.mob
|
343.mob
|
||||||
345.mob
|
345.mob
|
||||||
346.mob
|
346.mob
|
||||||
491.mob
|
|
||||||
492.mob
|
|
||||||
555.mob
|
555.mob
|
||||||
556.mob
|
556.mob
|
||||||
653.mob
|
653.mob
|
||||||
|
|||||||
@@ -1,73 +0,0 @@
|
|||||||
#4900
|
|
||||||
boards bulletin gen_boards~
|
|
||||||
a bulletin board~
|
|
||||||
A small bulletin board is mounted on a wall here.~
|
|
||||||
~
|
|
||||||
13 0 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
0 0 0 0
|
|
||||||
0 0 0 0 0
|
|
||||||
E
|
|
||||||
bulletin~
|
|
||||||
Use 'look board' to read the board.
|
|
||||||
~
|
|
||||||
E
|
|
||||||
board~
|
|
||||||
If you can read this, the board is not working.
|
|
||||||
~
|
|
||||||
#4901
|
|
||||||
bottle beer~
|
|
||||||
a bottle~
|
|
||||||
A beer bottle has been left here.~
|
|
||||||
~
|
|
||||||
17 0 0 0 0 a 0 0 0 0 0 0 0
|
|
||||||
8 8 1 0
|
|
||||||
10 20 8 0 0
|
|
||||||
#4902
|
|
||||||
bottle dark ale~
|
|
||||||
a bottle~
|
|
||||||
A dark bottle of ale has been left here.~
|
|
||||||
~
|
|
||||||
17 0 0 0 0 a 0 0 0 0 0 0 0
|
|
||||||
8 8 3 0
|
|
||||||
10 10 3 0 0
|
|
||||||
#4903
|
|
||||||
bottle firebreather~
|
|
||||||
a bottle~
|
|
||||||
A bottle of firebreather has been left here.~
|
|
||||||
~
|
|
||||||
17 0 0 0 0 a 0 0 0 0 0 0 0
|
|
||||||
8 8 7 0
|
|
||||||
10 50 17 0 0
|
|
||||||
#4904
|
|
||||||
bottle local~
|
|
||||||
a bottle~
|
|
||||||
A dark bottle has been left here.~
|
|
||||||
~
|
|
||||||
17 0 0 0 0 a 0 0 0 0 0 0 0
|
|
||||||
8 8 8 0
|
|
||||||
10 20 7 0 0
|
|
||||||
#4905
|
|
||||||
zine~
|
|
||||||
the grenzland zine~
|
|
||||||
A tiny zine labelled "Grenzland No. 7" was left here.~
|
|
||||||
~
|
|
||||||
12 0 0 0 0 a 0 0 0 0 0 0 0
|
|
||||||
0 0 0 0
|
|
||||||
1 4 0 0 0
|
|
||||||
E
|
|
||||||
zine~
|
|
||||||
It looks like the 7th issue of the Grenzland Zine. This issue
|
|
||||||
focuses on High Level Adventures, and - look! - there is a report from
|
|
||||||
the ongoing Arden Vul campaign in there too!
|
|
||||||
~
|
|
||||||
#4906
|
|
||||||
dagger~
|
|
||||||
a dagger~
|
|
||||||
A dagger is lying here.~
|
|
||||||
~
|
|
||||||
5 ag 0 0 0 ano 0 0 0 0 0 0 0
|
|
||||||
0 1 4 11
|
|
||||||
1 1 0 0
|
|
||||||
A
|
|
||||||
19 1
|
|
||||||
$
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
#49103
|
|
||||||
sink water~
|
|
||||||
a sink~
|
|
||||||
A sink with a tap.~
|
|
||||||
~
|
|
||||||
23 cde 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
500 500 0 0
|
|
||||||
505 0 0 0 0
|
|
||||||
E
|
|
||||||
sink tap~
|
|
||||||
It is an ordinary sink with a tap. You might fill your canteen
|
|
||||||
here.
|
|
||||||
~
|
|
||||||
#49104
|
|
||||||
key~
|
|
||||||
a small key~
|
|
||||||
A smalk brass key.~
|
|
||||||
~
|
|
||||||
18 c 0 0 0 a 0 0 0 0 0 0 0
|
|
||||||
1 0 0 0
|
|
||||||
1 1 0 0
|
|
||||||
$
|
|
||||||
@@ -38,7 +38,6 @@
|
|||||||
44.obj
|
44.obj
|
||||||
45.obj
|
45.obj
|
||||||
46.obj
|
46.obj
|
||||||
49.obj
|
|
||||||
50.obj
|
50.obj
|
||||||
51.obj
|
51.obj
|
||||||
52.obj
|
52.obj
|
||||||
@@ -182,7 +181,6 @@
|
|||||||
343.obj
|
343.obj
|
||||||
345.obj
|
345.obj
|
||||||
346.obj
|
346.obj
|
||||||
491.obj
|
|
||||||
555.obj
|
555.obj
|
||||||
556.obj
|
556.obj
|
||||||
653.obj
|
653.obj
|
||||||
|
|||||||
@@ -1,51 +0,0 @@
|
|||||||
CircleMUD v3.0 Shop File~
|
|
||||||
#49100~
|
|
||||||
4901
|
|
||||||
4902
|
|
||||||
4903
|
|
||||||
4904
|
|
||||||
-1
|
|
||||||
1.50
|
|
||||||
0.75
|
|
||||||
-1
|
|
||||||
%s Sorry, I don't stock that item.~
|
|
||||||
%s You don't seem to have that.~
|
|
||||||
%s I don't trade in such items.~
|
|
||||||
%s I can't afford that!~
|
|
||||||
%s You are too poor!~
|
|
||||||
%s That'll be %d coins, thanks.~
|
|
||||||
%s I'll give you %d coins for that.~
|
|
||||||
0
|
|
||||||
2
|
|
||||||
49100
|
|
||||||
0
|
|
||||||
49100
|
|
||||||
-1
|
|
||||||
0
|
|
||||||
28
|
|
||||||
0
|
|
||||||
0
|
|
||||||
#49102~
|
|
||||||
4905
|
|
||||||
-1
|
|
||||||
1.50
|
|
||||||
0.75
|
|
||||||
-1
|
|
||||||
%s Sorry, I don't stock that item.~
|
|
||||||
%s You don't seem to have that.~
|
|
||||||
%s I don't trade in such items.~
|
|
||||||
%s I can't afford that!~
|
|
||||||
%s You are too poor!~
|
|
||||||
%s That'll be %d coins, thanks.~
|
|
||||||
%s I'll give you %d coins for that.~
|
|
||||||
0
|
|
||||||
2
|
|
||||||
49101
|
|
||||||
0
|
|
||||||
49102
|
|
||||||
-1
|
|
||||||
0
|
|
||||||
28
|
|
||||||
0
|
|
||||||
0
|
|
||||||
$~
|
|
||||||
@@ -163,7 +163,6 @@
|
|||||||
343.shp
|
343.shp
|
||||||
345.shp
|
345.shp
|
||||||
346.shp
|
346.shp
|
||||||
491.shp
|
|
||||||
555.shp
|
555.shp
|
||||||
556.shp
|
556.shp
|
||||||
653.shp
|
653.shp
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
#49100
|
|
||||||
Editorial Room Key - 49104~
|
|
||||||
2 g 25
|
|
||||||
~
|
|
||||||
wait 1 s
|
|
||||||
if !%actor.has_item(49104)%
|
|
||||||
%echo% Wait? Is that a key lying there!? Better pick that up!
|
|
||||||
%load% obj 49104 %actor% inv
|
|
||||||
end
|
|
||||||
~
|
|
||||||
$~
|
|
||||||
@@ -182,10 +182,8 @@
|
|||||||
343.trg
|
343.trg
|
||||||
345.trg
|
345.trg
|
||||||
346.trg
|
346.trg
|
||||||
491.trg
|
|
||||||
555.trg
|
555.trg
|
||||||
556.trg
|
556.trg
|
||||||
653.trg
|
653.trg
|
||||||
654.trg
|
654.trg
|
||||||
|
|
||||||
$
|
$
|
||||||
|
|||||||
@@ -637,17 +637,10 @@ You see Poor Alley.
|
|||||||
S
|
S
|
||||||
#3026
|
#3026
|
||||||
The Dark Alley~
|
The Dark Alley~
|
||||||
The dark alley, to the west is the common square and to the south
|
The dark alley, to the west is the common square and to the south is the
|
||||||
is the Guild of Thieves. The alley continues east. You see a curious
|
Guild of Thieves. The alley continues east.
|
||||||
building to the north you swear wasn't here the last time you have
|
|
||||||
been to this dark alley.
|
|
||||||
~
|
~
|
||||||
30 0 0 0 0 1
|
30 0 0 0 0 1
|
||||||
D0
|
|
||||||
This building wasn't here last time, right?
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49101
|
|
||||||
D1
|
D1
|
||||||
The alley continues east.
|
The alley continues east.
|
||||||
~
|
~
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
#4900
|
|
||||||
In a Time and Place before Creation~
|
|
||||||
You are standing in the Void. Earth and Sky have not yet been
|
|
||||||
separated. Nothing has form here, except the Celestial Mound rising
|
|
||||||
above the shapeless waters of Nu. Could this be a time and place
|
|
||||||
before Creation?
|
|
||||||
~
|
|
||||||
49 ce 0 0 0 0
|
|
||||||
S
|
|
||||||
$
|
|
||||||
@@ -1,162 +0,0 @@
|
|||||||
#49100
|
|
||||||
The Grenzland Club~
|
|
||||||
You are in the woodpaneled club room of the Grenzland Building.
|
|
||||||
People are talking quietly or reading in silence. There is a fire
|
|
||||||
crackling in the hearth to the North. To the West is a restroom. To
|
|
||||||
the South is the Entry Hall. To the East is a nice looking bar.
|
|
||||||
~
|
|
||||||
491 de 0 0 0 0
|
|
||||||
D2
|
|
||||||
You see the Entry Hall to the Grenzland Building.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49101
|
|
||||||
D3
|
|
||||||
You see the restroom.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49103
|
|
||||||
S
|
|
||||||
#49101
|
|
||||||
The Entry Hall to the Grenzland Building~
|
|
||||||
You are in the Entry Hall to the Grenzland Building. To the North
|
|
||||||
you see the Grenzland Club room. To the West is a door with a small
|
|
||||||
note pinned to it. To the South you see the Entry Hall. To the South
|
|
||||||
is a Dark Alley in Midgaard. To the East you see the Grenzland Shop.
|
|
||||||
A double staircase leads up to the Balcony.
|
|
||||||
~
|
|
||||||
491 de 0 0 0 0
|
|
||||||
D0
|
|
||||||
You see the Grenzland Club room.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49100
|
|
||||||
D1
|
|
||||||
You see the Grenzland Shop.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49102
|
|
||||||
D2
|
|
||||||
You see a Dark Alley.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 3026
|
|
||||||
D4
|
|
||||||
You see the Balcony from below.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49110
|
|
||||||
E
|
|
||||||
note~
|
|
||||||
The note reads:
|
|
||||||
|
|
||||||
This door will lead to a teleporter room in the future.
|
|
||||||
- a.
|
|
||||||
~
|
|
||||||
S
|
|
||||||
#49102
|
|
||||||
The Grenzland Shop~
|
|
||||||
You are in the Grenzland Shop. The room is full of books, zines,
|
|
||||||
dice, minis, and game boxes! The exit is to the West, but do you
|
|
||||||
really want to leave?
|
|
||||||
~
|
|
||||||
491 de 0 0 0 0
|
|
||||||
D1
|
|
||||||
You see the Entry Hall.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49101
|
|
||||||
S
|
|
||||||
#49103
|
|
||||||
The Restroom~
|
|
||||||
You are in the restroom of the Grenzland Club. The exit is to the
|
|
||||||
East. To the south are some bathroom stalls.
|
|
||||||
~
|
|
||||||
491 de 0 0 0 0
|
|
||||||
D1
|
|
||||||
You see the Grenzland Club room.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49100
|
|
||||||
D2
|
|
||||||
You see bathroom stalls.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49104
|
|
||||||
S
|
|
||||||
#49104
|
|
||||||
Bathroom Stalls~
|
|
||||||
Well, these are bathroom stalls. Quite clean.
|
|
||||||
~
|
|
||||||
491 de 0 0 0 0
|
|
||||||
D0
|
|
||||||
You see the sink and the exit.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49103
|
|
||||||
E
|
|
||||||
stall stalls toilet toilets room~
|
|
||||||
Surprisingly clean.
|
|
||||||
~
|
|
||||||
S
|
|
||||||
T 49100
|
|
||||||
#49110
|
|
||||||
The Balcony above the Entry Hall~
|
|
||||||
This is the Balcony above the Entry Hall To the North is the
|
|
||||||
Library. From the door to the East you hear busy typing. The door to
|
|
||||||
has a brass plaque on it. A double staircase leads down to the Entry
|
|
||||||
Hall.
|
|
||||||
~
|
|
||||||
491 de 0 0 0 0
|
|
||||||
D0
|
|
||||||
You see a double-winged door leading into the Library.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49112
|
|
||||||
D1
|
|
||||||
You see a door with a brass plaque on it.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 49104 49111
|
|
||||||
D5
|
|
||||||
You see the Entry Hall from above.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49101
|
|
||||||
E
|
|
||||||
note plaque door~
|
|
||||||
The plaque reads: "Grenzland Zine Editorial Room"
|
|
||||||
~
|
|
||||||
S
|
|
||||||
#49111
|
|
||||||
The Grenzland Zine Editorial Room~
|
|
||||||
This is supposed to be the editorial room of the Grenzland Zine.
|
|
||||||
Dozens of monkeys chained to typwriters type frantically. This is a
|
|
||||||
joke, right?
|
|
||||||
~
|
|
||||||
491 de 0 0 0 0
|
|
||||||
D3
|
|
||||||
You see the Balcony above the Entry Hall.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 49104 49110
|
|
||||||
S
|
|
||||||
#49112
|
|
||||||
The Library~
|
|
||||||
The walls are bookshelves and the room is filled with plenty of
|
|
||||||
winged chairs, reading desks and map tables. One book shelves to the
|
|
||||||
North seems to be a door of some sort?
|
|
||||||
~
|
|
||||||
491 de 0 0 0 0
|
|
||||||
D0
|
|
||||||
A curious door. Where might it lead?
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49200
|
|
||||||
D2
|
|
||||||
You see the Balcony above the Entry.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49110
|
|
||||||
S
|
|
||||||
$
|
|
||||||
@@ -1,286 +0,0 @@
|
|||||||
#49200
|
|
||||||
The Entrance to the Library Maze~
|
|
||||||
This seems to be some secret section of the library. There is
|
|
||||||
shelves full of books everywhere! Let's hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 d 0 0 0 0
|
|
||||||
D0
|
|
||||||
The shelves continue North.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49202
|
|
||||||
D3
|
|
||||||
The shelves continue West.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49201
|
|
||||||
D2
|
|
||||||
Through the door you see the Library of the Grenzland Build.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49112
|
|
||||||
S
|
|
||||||
#49201
|
|
||||||
A dead end in the Library Maze~
|
|
||||||
This is a dead end. There is shelves full of books everywhere!
|
|
||||||
Let's hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 d 0 0 0 0
|
|
||||||
D1
|
|
||||||
The shelves continue East.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49200
|
|
||||||
S
|
|
||||||
#49202
|
|
||||||
A corridor in the Library Maze~
|
|
||||||
This is a corridor. It continues North and South. There is
|
|
||||||
shelves full of books everywhere! Let's hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 d 0 0 0 0
|
|
||||||
D0
|
|
||||||
The shelves continue North.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49203
|
|
||||||
D2
|
|
||||||
The shelves continue South.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49200
|
|
||||||
S
|
|
||||||
#49203
|
|
||||||
A junktion in the Library Maze~
|
|
||||||
This is a junktion. Corridors continue East, South, and West. A
|
|
||||||
door leads North. There is shelves full of books everywhere! Let's
|
|
||||||
hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 d 0 0 0 0
|
|
||||||
D0
|
|
||||||
A door leads north
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49210
|
|
||||||
D1
|
|
||||||
The shelves continue East.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49207
|
|
||||||
D2
|
|
||||||
The shelves continue South.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49202
|
|
||||||
D3
|
|
||||||
The shelves continue West.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49204
|
|
||||||
S
|
|
||||||
#49204
|
|
||||||
A corridor in the Library Maze~
|
|
||||||
This is a corridor. It continues East and West. There is shelves
|
|
||||||
full of books everywhere! Let's hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 d 0 0 0 0
|
|
||||||
D1
|
|
||||||
The shelves continue East.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49203
|
|
||||||
D3
|
|
||||||
The shelves continue West.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49205
|
|
||||||
S
|
|
||||||
#49205
|
|
||||||
A corridor in the Library Maze~
|
|
||||||
This is a corridor. It continues East. A door leads south. There
|
|
||||||
is shelves full of books everywhere! Let's hope you don't get lost
|
|
||||||
here.
|
|
||||||
~
|
|
||||||
492 d 0 0 0 0
|
|
||||||
D1
|
|
||||||
The shelves continue East.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49204
|
|
||||||
D2
|
|
||||||
A door leads South.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49206
|
|
||||||
S
|
|
||||||
#49206
|
|
||||||
A Reading Room~
|
|
||||||
This seems to be a reading room. There are a few desks here. The
|
|
||||||
room has only one exit North.
|
|
||||||
~
|
|
||||||
492 d 0 0 0 0
|
|
||||||
D0
|
|
||||||
A door leads North.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49205
|
|
||||||
S
|
|
||||||
#49207
|
|
||||||
A corridor in the Library Maze~
|
|
||||||
This is a corridor. It continues East and West. There is shelves
|
|
||||||
full of books everywhere! Let's hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 d 0 0 0 0
|
|
||||||
D1
|
|
||||||
The shelves continue East.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49208
|
|
||||||
D3
|
|
||||||
The shelves continue West.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49203
|
|
||||||
S
|
|
||||||
#49208
|
|
||||||
A junktion in the Library Maze~
|
|
||||||
This is a junktion. Corridors continue South and West. A door
|
|
||||||
leads North. There is shelves full of books everywhere! Let's hope
|
|
||||||
you don't get lost here.
|
|
||||||
~
|
|
||||||
492 d 0 0 0 0
|
|
||||||
D0
|
|
||||||
A door leads north
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49211
|
|
||||||
D2
|
|
||||||
The shelves continue South.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49209
|
|
||||||
D3
|
|
||||||
The shelves continue West.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49207
|
|
||||||
S
|
|
||||||
#49209
|
|
||||||
A dead end in the Library Maze~
|
|
||||||
This is a dead end. There is shelves full of books everywhere!
|
|
||||||
Let's hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 d 0 0 0 0
|
|
||||||
D0
|
|
||||||
The shelves continue North.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49208
|
|
||||||
S
|
|
||||||
#49210
|
|
||||||
A dark corridor in the Library Maze~
|
|
||||||
This is a corridor. There are no light sources! The corridor
|
|
||||||
continues North. A door leads South. There is shelves full of books
|
|
||||||
everywhere! Let's hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 ad 0 0 0 0
|
|
||||||
D0
|
|
||||||
The shelves continue North.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49214
|
|
||||||
D2
|
|
||||||
A door leads South.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49203
|
|
||||||
S
|
|
||||||
#49211
|
|
||||||
A dark corridor in the Library Maze~
|
|
||||||
This is a corridor. There are no light sources! The corridor
|
|
||||||
continues North. A door leads South. There is shelves full of books
|
|
||||||
everywhere! Let's hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 ad 0 0 0 0
|
|
||||||
D0
|
|
||||||
The shelves continue North.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49212
|
|
||||||
D2
|
|
||||||
A door leads South.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49208
|
|
||||||
S
|
|
||||||
#49212
|
|
||||||
A dark corridor in the Library Maze~
|
|
||||||
This is a corridor. There are no light sources! The corridor
|
|
||||||
continues South and West. There is shelves full of books everywhere!
|
|
||||||
Let's hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 ad 0 0 0 0
|
|
||||||
D2
|
|
||||||
The shelves continue South.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49211
|
|
||||||
D3
|
|
||||||
The shelves continue West.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49213
|
|
||||||
S
|
|
||||||
#49213
|
|
||||||
A dark junktion in the Library Maze~
|
|
||||||
This is a junktion. There are no light sources! Corridors
|
|
||||||
continue East and West. A door leads North. There is shelves full
|
|
||||||
of books everywhere! Let's hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 ad 0 0 0 0
|
|
||||||
D0
|
|
||||||
A door leads north
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49215
|
|
||||||
D1
|
|
||||||
The shelves continue East.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49212
|
|
||||||
D3
|
|
||||||
The shelves continue West.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49214
|
|
||||||
S
|
|
||||||
#49214
|
|
||||||
A dark corridor in the Library Maze~
|
|
||||||
This is a corridor. There are no light sources! The corridor
|
|
||||||
continues East and South. There is shelves full of books everywhere!
|
|
||||||
Let's hope you don't get lost here.
|
|
||||||
~
|
|
||||||
492 ad 0 0 0 0
|
|
||||||
D1
|
|
||||||
The shelves continue East.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49213
|
|
||||||
D2
|
|
||||||
The shelves continue South.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
0 -1 49210
|
|
||||||
S
|
|
||||||
#49215
|
|
||||||
Master Ultan's Hideout~
|
|
||||||
This seems to be a reading room. There are no light sources here!
|
|
||||||
There are a few desks here. The room has only one exit South.
|
|
||||||
~
|
|
||||||
492 d 0 0 0 0
|
|
||||||
D2
|
|
||||||
A door leads South.
|
|
||||||
~
|
|
||||||
~
|
|
||||||
1 -1 49213
|
|
||||||
S
|
|
||||||
$
|
|
||||||
@@ -38,7 +38,6 @@
|
|||||||
44.wld
|
44.wld
|
||||||
45.wld
|
45.wld
|
||||||
46.wld
|
46.wld
|
||||||
49.wld
|
|
||||||
50.wld
|
50.wld
|
||||||
51.wld
|
51.wld
|
||||||
52.wld
|
52.wld
|
||||||
@@ -184,8 +183,6 @@
|
|||||||
343.wld
|
343.wld
|
||||||
345.wld
|
345.wld
|
||||||
346.wld
|
346.wld
|
||||||
491.wld
|
|
||||||
492.wld
|
|
||||||
555.wld
|
555.wld
|
||||||
556.wld
|
556.wld
|
||||||
653.wld
|
653.wld
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
#49
|
|
||||||
GrenzlandMUD~
|
|
||||||
Grenzland~
|
|
||||||
4900 4999 15 2 d 0 0 0 1 33
|
|
||||||
S
|
|
||||||
$
|
|
||||||
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
#491
|
|
||||||
GrenzlandMUD~
|
|
||||||
Grenzland Building~
|
|
||||||
49100 49199 15 2 d 0 0 0 1 33
|
|
||||||
M 0 4900 1 49100 (the waiter)
|
|
||||||
G 1 4901 100 -1 (a bottle)
|
|
||||||
G 1 4902 100 -1 (a bottle)
|
|
||||||
G 1 4903 100 -1 (a bottle)
|
|
||||||
G 1 4904 100 -1 (a bottle)
|
|
||||||
M 0 4901 1 49102 (the waiter)
|
|
||||||
G 1 4905 100 -1 (a zine)
|
|
||||||
R 0 49101 4900 -1 (a bulletin board)
|
|
||||||
O 0 4900 99 49101 (a bulletin board)
|
|
||||||
R 0 49103 49103 -1 (a sink)
|
|
||||||
O 0 49103 99 49103 (a sink)
|
|
||||||
R 0 49104 49104 -1 (a key)
|
|
||||||
D 0 49110 1 2
|
|
||||||
D 0 49111 3 2
|
|
||||||
D 0 49112 0 1
|
|
||||||
S
|
|
||||||
$
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
#492
|
|
||||||
GrenzlandMUD~
|
|
||||||
The Library Maze~
|
|
||||||
49200 49299 15 2 d 0 0 0 1 7
|
|
||||||
M 0 49200 8 49200 (a book worm)
|
|
||||||
M 0 49200 8 49201 (a book worm)
|
|
||||||
M 0 49200 8 49201 (a book worm)
|
|
||||||
M 0 49200 8 49202 (a book worm)
|
|
||||||
M 0 49201 5 49202 (an apprentice)
|
|
||||||
M 0 49201 5 49203 (an apprentice)
|
|
||||||
M 0 49200 8 49205 (a book worm)
|
|
||||||
M 0 49202 2 49206 (a journeyman)
|
|
||||||
E 1 4906 99 16 (a dagger)
|
|
||||||
M 0 49200 8 49207 (a book worm)
|
|
||||||
M 0 49200 8 49208 (a book worm)
|
|
||||||
M 0 49201 5 49209 (an apprentice)
|
|
||||||
E 1 4906 99 16 (a dagger)
|
|
||||||
M 0 49203 3 49210 (a book thief)
|
|
||||||
M 0 49203 3 49212 (a book thief)
|
|
||||||
M 0 49202 2 49213 (a journeyman)
|
|
||||||
E 1 4906 99 16 (a dagger)
|
|
||||||
M 0 49204 1 49215 (master ultan)
|
|
||||||
E 1 4906 99 16 (a dagger)
|
|
||||||
G 1 4905 99 -1 (the grenzland zine)
|
|
||||||
D 0 49200 2 1
|
|
||||||
D 0 49203 0 1
|
|
||||||
D 0 49205 2 1
|
|
||||||
D 0 49206 0 1
|
|
||||||
D 0 49208 0 1
|
|
||||||
D 0 49210 2 1
|
|
||||||
D 0 49211 2 1
|
|
||||||
D 0 49213 0 1
|
|
||||||
D 0 49215 2 1
|
|
||||||
S
|
|
||||||
$
|
|
||||||
@@ -38,7 +38,6 @@
|
|||||||
44.zon
|
44.zon
|
||||||
45.zon
|
45.zon
|
||||||
46.zon
|
46.zon
|
||||||
49.zon
|
|
||||||
50.zon
|
50.zon
|
||||||
51.zon
|
51.zon
|
||||||
52.zon
|
52.zon
|
||||||
@@ -184,8 +183,6 @@
|
|||||||
343.zon
|
343.zon
|
||||||
345.zon
|
345.zon
|
||||||
346.zon
|
346.zon
|
||||||
491.zon
|
|
||||||
492.zon
|
|
||||||
555.zon
|
555.zon
|
||||||
556.zon
|
556.zon
|
||||||
653.zon
|
653.zon
|
||||||
|
|||||||
1
log/README
Normal file
1
log/README
Normal file
@@ -0,0 +1 @@
|
|||||||
|
This directory is for log files.
|
||||||
@@ -53,7 +53,6 @@ struct board_info_type board_info[NUM_OF_BOARDS] = {
|
|||||||
{1226, 0, 0, LVL_IMPL, LIB_ETC "board.builder", 0},
|
{1226, 0, 0, LVL_IMPL, LIB_ETC "board.builder", 0},
|
||||||
{1227, 0, 0, LVL_IMPL, LIB_ETC "board.staff", 0},
|
{1227, 0, 0, LVL_IMPL, LIB_ETC "board.staff", 0},
|
||||||
{1228, 0, 0, LVL_IMPL, LIB_ETC "board.advertising", 0},
|
{1228, 0, 0, LVL_IMPL, LIB_ETC "board.advertising", 0},
|
||||||
{4900, 0, 0, LVL_IMMORT, LIB_ETC "board.grenzland", 0},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* local (file scope) global variables */
|
/* local (file scope) global variables */
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#ifndef _BOARDS_H_
|
#ifndef _BOARDS_H_
|
||||||
#define _BOARDS_H_
|
#define _BOARDS_H_
|
||||||
|
|
||||||
#define NUM_OF_BOARDS 8 /* change if needed! */
|
#define NUM_OF_BOARDS 7 /* change if needed! */
|
||||||
#define MAX_BOARD_MESSAGES 60 /* arbitrary -- change if needed */
|
#define MAX_BOARD_MESSAGES 60 /* arbitrary -- change if needed */
|
||||||
#define MAX_MESSAGE_LENGTH 4096 /* arbitrary -- change if needed */
|
#define MAX_MESSAGE_LENGTH 4096 /* arbitrary -- change if needed */
|
||||||
|
|
||||||
|
|||||||
85
src/fight.c
85
src/fight.c
@@ -56,7 +56,7 @@ static struct char_data *next_combat_list = NULL;
|
|||||||
/* local file scope utility functions */
|
/* local file scope utility functions */
|
||||||
static void perform_group_gain(struct char_data *ch, int base, struct char_data *victim);
|
static void perform_group_gain(struct char_data *ch, int base, struct char_data *victim);
|
||||||
static void dam_message(int dam, struct char_data *ch, struct char_data *victim, int w_type);
|
static void dam_message(int dam, struct char_data *ch, struct char_data *victim, int w_type);
|
||||||
static void make_corpse(struct char_data *ch);
|
static obj_data *make_corpse(struct char_data *ch);
|
||||||
static void change_alignment(struct char_data *ch, struct char_data *victim);
|
static void change_alignment(struct char_data *ch, struct char_data *victim);
|
||||||
static void group_gain(struct char_data *ch, struct char_data *victim);
|
static void group_gain(struct char_data *ch, struct char_data *victim);
|
||||||
static void solo_gain(struct char_data *ch, struct char_data *victim);
|
static void solo_gain(struct char_data *ch, struct char_data *victim);
|
||||||
@@ -161,7 +161,7 @@ void stop_fighting(struct char_data *ch)
|
|||||||
update_pos(ch);
|
update_pos(ch);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void make_corpse(struct char_data *ch)
|
static obj_data *make_corpse(struct char_data *ch)
|
||||||
{
|
{
|
||||||
char buf2[MAX_NAME_LENGTH + 64];
|
char buf2[MAX_NAME_LENGTH + 64];
|
||||||
struct obj_data *corpse, *o;
|
struct obj_data *corpse, *o;
|
||||||
@@ -229,6 +229,7 @@ static void make_corpse(struct char_data *ch)
|
|||||||
IS_CARRYING_W(ch) = 0;
|
IS_CARRYING_W(ch) = 0;
|
||||||
|
|
||||||
obj_to_room(corpse, IN_ROOM(ch));
|
obj_to_room(corpse, IN_ROOM(ch));
|
||||||
|
return corpse;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* When ch kills victim */
|
/* When ch kills victim */
|
||||||
@@ -250,9 +251,10 @@ void death_cry(struct char_data *ch)
|
|||||||
send_to_room(world[IN_ROOM(ch)].dir_option[door]->to_room, "Your blood freezes as you hear someone's death cry.\r\n");
|
send_to_room(world[IN_ROOM(ch)].dir_option[door]->to_room, "Your blood freezes as you hear someone's death cry.\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void raw_kill(struct char_data * ch, struct char_data * killer)
|
struct obj_data *raw_kill(struct char_data *ch, struct char_data *killer)
|
||||||
{
|
{
|
||||||
struct char_data *i;
|
struct char_data *i;
|
||||||
|
obj_data *corpse;
|
||||||
|
|
||||||
if (FIGHTING(ch))
|
if (FIGHTING(ch))
|
||||||
stop_fighting(ch);
|
stop_fighting(ch);
|
||||||
@@ -284,23 +286,24 @@ struct char_data *i;
|
|||||||
|
|
||||||
update_pos(ch);
|
update_pos(ch);
|
||||||
|
|
||||||
make_corpse(ch);
|
corpse = make_corpse(ch);
|
||||||
extract_char(ch);
|
extract_char(ch);
|
||||||
|
|
||||||
if (killer) {
|
if (killer) {
|
||||||
autoquest_trigger_check(killer, NULL, NULL, AQ_MOB_SAVE);
|
autoquest_trigger_check(killer, NULL, NULL, AQ_MOB_SAVE);
|
||||||
autoquest_trigger_check(killer, NULL, NULL, AQ_ROOM_CLEAR);
|
autoquest_trigger_check(killer, NULL, NULL, AQ_ROOM_CLEAR);
|
||||||
}
|
}
|
||||||
|
return corpse;
|
||||||
}
|
}
|
||||||
|
|
||||||
void die(struct char_data * ch, struct char_data * killer)
|
struct obj_data *die(struct char_data *ch, struct char_data *killer)
|
||||||
{
|
{
|
||||||
gain_exp(ch, -(GET_EXP(ch) / 2));
|
gain_exp(ch, -(GET_EXP(ch) / 2));
|
||||||
if (!IS_NPC(ch)) {
|
if (!IS_NPC(ch)) {
|
||||||
REMOVE_BIT_AR(PLR_FLAGS(ch), PLR_KILLER);
|
REMOVE_BIT_AR(PLR_FLAGS(ch), PLR_KILLER);
|
||||||
REMOVE_BIT_AR(PLR_FLAGS(ch), PLR_THIEF);
|
REMOVE_BIT_AR(PLR_FLAGS(ch), PLR_THIEF);
|
||||||
}
|
}
|
||||||
raw_kill(ch, killer);
|
return raw_kill(ch, killer);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void perform_group_gain(struct char_data *ch, int base,
|
static void perform_group_gain(struct char_data *ch, int base,
|
||||||
@@ -581,16 +584,54 @@ int skill_message(int dam, struct char_data *ch, struct char_data *vict,
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void perform_autohandling(char_data *ch, const char_data *victim, int local_gold, const obj_data *corpse_obj) {
|
||||||
|
char local_buf[256];
|
||||||
|
obj_data *i;
|
||||||
|
int count = 0, found = FALSE;
|
||||||
|
|
||||||
|
if (IN_ROOM(ch) == NOWHERE || ch == victim) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// find the last corpse in the room
|
||||||
|
for (i = world[IN_ROOM(ch)].contents; i ; i = i->next_content) {
|
||||||
|
if (is_name("corpse", i->name) && CAN_SEE_OBJ(ch, i)) {
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
if (i == corpse_obj) {
|
||||||
|
found = TRUE;
|
||||||
|
break; // stop looking
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count == 0 || !found) {
|
||||||
|
return; // no corpse here - it may have been removed by some other method.
|
||||||
|
}
|
||||||
|
if (GROUP(ch) && local_gold > 0 && PRF_FLAGGED(ch, PRF_AUTOSPLIT) ) {
|
||||||
|
sprintf(local_buf,"all.coin %d.corpse", count);
|
||||||
|
do_get(ch, local_buf, 0, 0);
|
||||||
|
sprintf(local_buf,"%d", local_gold);
|
||||||
|
do_split(ch, local_buf, 0, 0);
|
||||||
|
} else if (!IS_NPC(ch) && PRF_FLAGGED(ch, PRF_AUTOGOLD)) {
|
||||||
|
sprintf(local_buf,"all.coin %d.corpse", count);
|
||||||
|
do_get(ch, local_buf, 0, 0);
|
||||||
|
}
|
||||||
|
if (!IS_NPC(ch) && (ch != victim) && PRF_FLAGGED(ch, PRF_AUTOLOOT)) {
|
||||||
|
sprintf(local_buf,"all %d.corpse", count);
|
||||||
|
do_get(ch, local_buf, 0, 0);
|
||||||
|
}
|
||||||
|
if (IS_NPC(victim) && !IS_NPC(ch) && PRF_FLAGGED(ch, PRF_AUTOSAC)) {
|
||||||
|
sprintf(local_buf,"%d.corpse", count);
|
||||||
|
do_sac(ch, local_buf,0,0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* This function returns the following codes:
|
/* This function returns the following codes:
|
||||||
* < 0 Victim died.
|
* < 0 Victim died.
|
||||||
* = 0 No damage.
|
* = 0 No damage.
|
||||||
* > 0 How much damage done. */
|
* > 0 How much damage done. */
|
||||||
int damage(struct char_data *ch, struct char_data *victim, int dam, int attacktype)
|
int damage(struct char_data *ch, struct char_data *victim, int dam, int attacktype)
|
||||||
{
|
{
|
||||||
long local_gold = 0, happy_gold = 0;
|
int local_gold = 0, happy_gold = 0;
|
||||||
char local_buf[256];
|
obj_data *corpse_obj;
|
||||||
struct char_data *tmp_char;
|
|
||||||
struct obj_data *corpse_obj;
|
|
||||||
|
|
||||||
if (GET_POS(victim) <= POS_DEAD) {
|
if (GET_POS(victim) <= POS_DEAD) {
|
||||||
/* This is "normal"-ish now with delayed extraction. -gg 3/15/2001 */
|
/* This is "normal"-ish now with delayed extraction. -gg 3/15/2001 */
|
||||||
@@ -758,31 +799,15 @@ int damage(struct char_data *ch, struct char_data *victim, int dam, int attackty
|
|||||||
if (IS_NPC(victim)) {
|
if (IS_NPC(victim)) {
|
||||||
if ((IS_HAPPYHOUR) && (IS_HAPPYGOLD))
|
if ((IS_HAPPYHOUR) && (IS_HAPPYGOLD))
|
||||||
{
|
{
|
||||||
happy_gold = (long)(GET_GOLD(victim) * (((float)(HAPPY_GOLD))/(float)100));
|
happy_gold = (int)(GET_GOLD(victim) * (((float)(HAPPY_GOLD))/(float)100));
|
||||||
happy_gold = MAX(0, happy_gold);
|
happy_gold = MAX(0, happy_gold);
|
||||||
increase_gold(victim, happy_gold);
|
increase_gold(victim, happy_gold);
|
||||||
}
|
}
|
||||||
local_gold = GET_GOLD(victim);
|
local_gold = GET_GOLD(victim);
|
||||||
sprintf(local_buf,"%ld", (long)local_gold);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
die(victim, ch);
|
corpse_obj = die(victim, ch);
|
||||||
if (GROUP(ch) && (local_gold > 0) && PRF_FLAGGED(ch, PRF_AUTOSPLIT) ) {
|
perform_autohandling(ch, victim, local_gold, corpse_obj);
|
||||||
generic_find("corpse", FIND_OBJ_ROOM, ch, &tmp_char, &corpse_obj);
|
|
||||||
if (corpse_obj) {
|
|
||||||
do_get(ch, "all.coin corpse", 0, 0);
|
|
||||||
do_split(ch, local_buf, 0, 0);
|
|
||||||
}
|
|
||||||
/* need to remove the gold from the corpse */
|
|
||||||
} else if (!IS_NPC(ch) && (ch != victim) && PRF_FLAGGED(ch, PRF_AUTOGOLD)) {
|
|
||||||
do_get(ch, "all.coin corpse", 0, 0);
|
|
||||||
}
|
|
||||||
if (!IS_NPC(ch) && (ch != victim) && PRF_FLAGGED(ch, PRF_AUTOLOOT)) {
|
|
||||||
do_get(ch, "all corpse", 0, 0);
|
|
||||||
}
|
|
||||||
if (IS_NPC(victim) && !IS_NPC(ch) && PRF_FLAGGED(ch, PRF_AUTOSAC)) {
|
|
||||||
do_sac(ch,"corpse",0,0);
|
|
||||||
}
|
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
return (dam);
|
return (dam);
|
||||||
|
|||||||
@@ -26,10 +26,12 @@ void check_killer(struct char_data *ch, struct char_data *vict);
|
|||||||
int compute_armor_class(struct char_data *ch);
|
int compute_armor_class(struct char_data *ch);
|
||||||
int damage(struct char_data *ch, struct char_data *victim, int dam, int attacktype);
|
int damage(struct char_data *ch, struct char_data *victim, int dam, int attacktype);
|
||||||
void death_cry(struct char_data *ch);
|
void death_cry(struct char_data *ch);
|
||||||
void die(struct char_data * ch, struct char_data * killer);
|
|
||||||
|
struct obj_data *die(struct char_data *ch, struct char_data *killer);
|
||||||
void hit(struct char_data *ch, struct char_data *victim, int type);
|
void hit(struct char_data *ch, struct char_data *victim, int type);
|
||||||
void perform_violence(void);
|
void perform_violence(void);
|
||||||
void raw_kill(struct char_data * ch, struct char_data * killer);
|
|
||||||
|
struct obj_data *raw_kill(struct char_data *ch, struct char_data *killer);
|
||||||
void set_fighting(struct char_data *ch, struct char_data *victim);
|
void set_fighting(struct char_data *ch, struct char_data *victim);
|
||||||
int skill_message(int dam, struct char_data *ch, struct char_data *vict,
|
int skill_message(int dam, struct char_data *ch, struct char_data *vict,
|
||||||
int attacktype);
|
int attacktype);
|
||||||
|
|||||||
@@ -136,7 +136,6 @@ void assign_objects(void)
|
|||||||
ASSIGNOBJ(3097, gen_board); /* freeze board */
|
ASSIGNOBJ(3097, gen_board); /* freeze board */
|
||||||
ASSIGNOBJ(3098, gen_board); /* immortal board */
|
ASSIGNOBJ(3098, gen_board); /* immortal board */
|
||||||
ASSIGNOBJ(3099, gen_board); /* mortal board */
|
ASSIGNOBJ(3099, gen_board); /* mortal board */
|
||||||
ASSIGNOBJ(4900, gen_board); /* mortal board */
|
|
||||||
|
|
||||||
ASSIGNOBJ(115, bank);
|
ASSIGNOBJ(115, bank);
|
||||||
ASSIGNOBJ(334, bank); /* atm */
|
ASSIGNOBJ(334, bank); /* atm */
|
||||||
|
|||||||
Reference in New Issue
Block a user