diff --git a/lib/world/obj/654.obj b/lib/world/obj/654.obj index 9f43e54..bde5324 100644 --- a/lib/world/obj/654.obj +++ b/lib/world/obj/654.obj @@ -12,7 +12,13 @@ graffiti wall south~ 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. 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 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 @@ -24,7 +30,6 @@ section to match. Of course, First and Second Street would become Third and Fourth Streets. Sorry for any errors. Please wash this wall with zedit. - Hugs, Parnassus for TBAmud December 12, 2013 diff --git a/lib/world/trg/118.trg b/lib/world/trg/118.trg index 2f5b8c8..360a152 100644 --- a/lib/world/trg/118.trg +++ b/lib/world/trg/118.trg @@ -930,15 +930,23 @@ emote gasps for air. 0 d 100 *~ if %actor.varexists(zn118_runningstart)% - %speech% - 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 + 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)% + %force% %actor% gos I just attempted to cheat by abusing a script. + 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)% + %force% %actor% gos I just attempted to cheat by abusing a script. + elseif %speech.contains(mremember)% || %speech.contains(mforget)% || %speech.contains(mgoto)% || %speech.contains(mkill)% || %speech.contains(mjunk)% || %speech.contains(mfollow)% + %force% %actor% gos I just attempted to cheat by abusing a script. + else + %speech% + 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 ~ @@ -1315,7 +1323,7 @@ if %cmd.mudcommand% == examine set txt[21] RAPIO set word %%txt[%max%]%% 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)% set zn118_blindquest %word% remote zn118_blindquest %actor.id% @@ -1640,21 +1648,21 @@ end mob does not load if already present~ 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 -@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% while %here% 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% set mobid %here% set isthere 1 end set here %others% done -@c* If the mob is not in the room (variable is not set)@n -@c* The mob will load.@n + c* If the mob is not in the room (variable is not set) n + c* The mob will load. n if !%isthere% %load% mob %mobvnum% end @@ -2104,13 +2112,13 @@ different corpses loaded~ ~ %teleport% %self% 11800 if %self.vnum% == 11830 - %at% 11895 xx118trig118xx wload obj 11856 + %at% 11895 xx118trig118xx elseif %self.vnum% == 11831 - %at% 11838 xx118trig118xx wload obj 11857 + %at% 11838 xx118trig118xx elseif %self.vnum% == 11832 - %at% 11849 xx118trig118xx wload obj 11858 + %at% 11849 xx118trig118xx elseif %self.vnum% == 11839 - %at% 11848 xx118trig118xx wload obj 11869 + %at% 11848 xx118trig118xx end ~ #11865 @@ -2128,7 +2136,15 @@ end room obeys mob trigger~ 2 c 100 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 (11) Ridley responds to asking~ diff --git a/lib/world/wld/653.wld b/lib/world/wld/653.wld index 75123cf..b581212 100644 --- a/lib/world/wld/653.wld +++ b/lib/world/wld/653.wld @@ -4,6 +4,10 @@ Utility Room~ the building, look map. 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 D3 @@ -11,6 +15,31 @@ D3 ~ 0 0 65398 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 @@ -57,31 +86,6 @@ Plan~ wHalls: 05-36 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 #65301 The Elevator~ diff --git a/src/fight.c b/src/fight.c index e3ae350..d325011 100644 --- a/src/fight.c +++ b/src/fight.c @@ -251,6 +251,8 @@ void death_cry(struct char_data *ch) void raw_kill(struct char_data * ch, struct char_data * killer) { +struct char_data *i; + if (FIGHTING(ch)) stop_fighting(ch); @@ -266,8 +268,14 @@ void raw_kill(struct char_data * ch, struct char_data * killer) } else death_cry(ch); - if (killer) - autoquest_trigger_check(killer, ch, NULL, AQ_MOB_KILL); + if (killer) { + 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 */ if (GROUP(ch))