Final update for 2018 release, thanks Fizban for updating shady triggers and WhiskyTest for bug fix

This commit is contained in:
Rumble 2018-01-15 01:15:10 +01:00
parent 544afc796b
commit deeb862cde
4 changed files with 82 additions and 49 deletions

View file

@ -13,6 +13,12 @@ needs rooms that have already been created. It's a very simple plan with 38
houses, meant to simplify the placing of houses. Feel free to make any changes. houses, meant to simplify the placing of houses. Feel free to make any changes.
Look map for a better idea of the layout. Look map for a better idea of the layout.
To assign the houses, stand in any main room with the player and use hcontrol.
*WARNING* Before setting the first house, please check for the file lib/house.
This will sometimes be deleted as an empty file. The house contents will not
save without this directory!
If you want to use this subdivision but need more than 38 houses, First and If you want to use this subdivision but need more than 38 houses, First and
Second Streets can be continued to the east by changing the room names and some Second Streets can be continued to the east by changing the room names and some
of the exit descriptions. First and Second Avenue would need to be changed to of the exit descriptions. First and Second Avenue would need to be changed to
@ -24,7 +30,6 @@ section to match. Of course, First and Second Street would become Third and
Fourth Streets. Fourth Streets.
Sorry for any errors. Please wash this wall with zedit. Sorry for any errors. Please wash this wall with zedit.
Hugs, Hugs,
Parnassus for TBAmud Parnassus for TBAmud
December 12, 2013 December 12, 2013

View file

@ -930,15 +930,23 @@ emote gasps for air.
0 d 100 0 d 100
*~ *~
if %actor.varexists(zn118_runningstart)% if %actor.varexists(zn118_runningstart)%
%speech% if %speech.contains(msend)% || %speech.contains(mecho)% || %speech.contains(mechoaround)% || %speech.contains(mdoor)% || %speech.contains(mforce)% || %speech.contains(mload)% || %speech.contains(mpurge)% || %speech.contains(mteleport)%
wait 1 %force% %actor% gos I just attempted to cheat by abusing a script.
if %self.room.vnum% == 11831 elseif %speech.contains(mdamage)% || %speech.contains(mzoneecho)% || %speech.contains(masound)% || %speech.contains(dg_affect)% || %speech.contains(dg_cast)% || %speech.contains(mat)% || %speech.contains(mtransform)% || %speech.contains(mhunt)%
rdelete zn118_runningstart %actor.id% %force% %actor% gos I just attempted to cheat by abusing a script.
set zn118_runningquest 1 elseif %speech.contains(mremember)% || %speech.contains(mforget)% || %speech.contains(mgoto)% || %speech.contains(mkill)% || %speech.contains(mjunk)% || %speech.contains(mfollow)%
remote zn118_runningquest %actor.id% %force% %actor% gos I just attempted to cheat by abusing a script.
wait 1 s else
tell %actor.name% Thank you for getting me out of there. %speech%
follow self wait 1
if %self.room.vnum% == 11831
rdelete zn118_runningstart %actor.id%
set zn118_runningquest 1
remote zn118_runningquest %actor.id%
wait 1 s
tell %actor.name% Thank you for getting me out of there.
follow self
end
end end
end end
~ ~
@ -1315,7 +1323,7 @@ if %cmd.mudcommand% == examine
set txt[21] RAPIO set txt[21] RAPIO
set word %%txt[%max%]%% set word %%txt[%max%]%%
eval word %word% eval word %word%
%send% %actor% Your eyes scan the glowing walls and alight upon the word @C%word%@n. %send% %actor% Your eyes scan the glowing walls and alight upon the word C%word% n.
if !%actor.varexists(zn118_blinddone)% if !%actor.varexists(zn118_blinddone)%
set zn118_blindquest %word% set zn118_blindquest %word%
remote zn118_blindquest %actor.id% remote zn118_blindquest %actor.id%
@ -1640,21 +1648,21 @@ end
mob does not load if already present~ mob does not load if already present~
0 k 100 0 k 100
~ ~
@c* This sets the vnum of the mob you are checking for, and loading/not loading@n c* This sets the vnum of the mob you are checking for, and loading/not loading n
set mobvnum 42500 set mobvnum 42500
@c* This tells the trigger to keep checking for people until there are none.@n c* This tells the trigger to keep checking for people until there are none. n
set here %self.room.people% set here %self.room.people%
while %here% while %here%
set others %here.next_in_room% set others %here.next_in_room%
@c* If the mob is in the room, the isthere variable is set.@n c* If the mob is in the room, the isthere variable is set. n
if %here.vnum% == %mobvnum% if %here.vnum% == %mobvnum%
set mobid %here% set mobid %here%
set isthere 1 set isthere 1
end end
set here %others% set here %others%
done done
@c* If the mob is not in the room (variable is not set)@n c* If the mob is not in the room (variable is not set) n
@c* The mob will load.@n c* The mob will load. n
if !%isthere% if !%isthere%
%load% mob %mobvnum% %load% mob %mobvnum%
end end
@ -2104,13 +2112,13 @@ different corpses loaded~
~ ~
%teleport% %self% 11800 %teleport% %self% 11800
if %self.vnum% == 11830 if %self.vnum% == 11830
%at% 11895 xx118trig118xx wload obj 11856 %at% 11895 xx118trig118xx
elseif %self.vnum% == 11831 elseif %self.vnum% == 11831
%at% 11838 xx118trig118xx wload obj 11857 %at% 11838 xx118trig118xx
elseif %self.vnum% == 11832 elseif %self.vnum% == 11832
%at% 11849 xx118trig118xx wload obj 11858 %at% 11849 xx118trig118xx
elseif %self.vnum% == 11839 elseif %self.vnum% == 11839
%at% 11848 xx118trig118xx wload obj 11869 %at% 11848 xx118trig118xx
end end
~ ~
#11865 #11865
@ -2128,7 +2136,15 @@ end
room obeys mob trigger~ room obeys mob trigger~
2 c 100 2 c 100
xx118trig118xx~ xx118trig118xx~
%arg% if %actor.vnum% == 11830
%load% obj 11856
elseif %actor.vnum% == 11831
%load% obj 11857
elseif %actor.vnum% == 11832
%load% obj 11858
elseif %actor.vnum% == 11839
%load% obj 11869
end
~ ~
#11867 #11867
(11) Ridley responds to asking~ (11) Ridley responds to asking~

View file

@ -4,6 +4,10 @@ Utility Room~
the building, look map. the building, look map.
To assign the rooms, stand in any apartment with the player and use hcontrol. To assign the rooms, stand in any apartment with the player and use hcontrol.
*WARNING* Before the first apartment, please check for the file lib/house.
This will sometimes be deleted as an empty file. The house contents will not
save without this directory!
~ ~
653 8 0 0 0 0 653 8 0 0 0 0
D3 D3
@ -11,6 +15,31 @@ D3
~ ~
0 0 65398 0 0 65398
E E
map~
Map
c 01 02 03 n
| | |
| | |
| | |
c15 n----- wH n----- wH n----- wH n---- c04 n
| | |
| | |
| | |
c13 n----- wH n- c14 yE c06 n- wH n---- c05 n
| |
| c10 n |
| | |
c12 n----- wH n----- wH n----- wH n---- c07 n
| | |
| | |
| | |
c 11 09 08 n
yElevator n
wHalls n
cApartments n
~
E
Plan~ Plan~
Plan Plan
@ -57,31 +86,6 @@ Plan~
wHalls: 05-36 n wHalls: 05-36 n
cApartments: 37-96 n cApartments: 37-96 n
~ ~
E
map~
Map
c 01 02 03 n
| | |
| | |
| | |
c15 n----- wH n----- wH n----- wH n---- c04 n
| | |
| | |
| | |
c13 n----- wH n- c14 yE c06 n- wH n---- c05 n
| |
| c10 n |
| | |
c12 n----- wH n----- wH n----- wH n---- c07 n
| | |
| | |
| | |
c 11 09 08 n
yElevator n
wHalls n
cApartments n
~
S S
#65301 #65301
The Elevator~ The Elevator~

View file

@ -251,6 +251,8 @@ void death_cry(struct char_data *ch)
void raw_kill(struct char_data * ch, struct char_data * killer) void raw_kill(struct char_data * ch, struct char_data * killer)
{ {
struct char_data *i;
if (FIGHTING(ch)) if (FIGHTING(ch))
stop_fighting(ch); stop_fighting(ch);
@ -266,8 +268,14 @@ void raw_kill(struct char_data * ch, struct char_data * killer)
} else } else
death_cry(ch); death_cry(ch);
if (killer) if (killer) {
autoquest_trigger_check(killer, ch, NULL, AQ_MOB_KILL); if (killer->group) {
while ((i = (struct char_data *) simple_list(killer->group->members)) != NULL)
if(IN_ROOM(i) == IN_ROOM(ch) || (world[IN_ROOM(i)].zone == world[IN_ROOM(ch)].zone))
autoquest_trigger_check(i, ch, NULL, AQ_MOB_KILL);
} else
autoquest_trigger_check(killer, ch, NULL, AQ_MOB_KILL);
}
/* Alert Group if Applicable */ /* Alert Group if Applicable */
if (GROUP(ch)) if (GROUP(ch))