[ITEMDEF i_multi_ferry_n] // Face N DEFNAME=i_multi_ferry_n ID=i_multi_ship_long_n Name=Ferry TYPE=T_ship VALUE=75000 CATEGORY=Multis SUBSECTION=Ships DESCRIPTION=Ferry MULTIREGION=-2,-7,2,7 COMPONENT=03e4e,1, 5, 0 COMPONENT=i_ship_hatch_n,0,-5, 0 COMPONENT=03eb2,2, -1, 0 COMPONENT=03eb1,-2, -1, 0 TSPEECH spk_ferry [ITEMDEF i_multi_ferry_e] // Face E DEFNAME=i_multi_ferry_e ID=i_multi_ship_long_e Name=Ferry TYPE=T_SHIP VALUE=75000 CATEGORY=Multis SUBSECTION=Ships DESCRIPTION=Ferry MULTIREGION=-7,-2,7,2 COMPONENT=03e55,-5,0, 0 COMPONENT=i_ship_hatch_e,5, 0, 0 COMPONENT=03e85,1, 2, 0 COMPONENT=03e8a,1,-2, 0 TSPEECH spk_ferry [ITEMDEF i_multi_ferry_s] // Face S DEFNAME=i_multi_ferry_s ID=i_multi_ship_long_s Name=Ferry TYPE=T_SHIP VALUE=75000 CATEGORY=Multis SUBSECTION=Ships DESCRIPTION=Ferry MULTIREGION=-2,-7,2,5 COMPONENT=03e4b,0, -5,0 COMPONENT=i_ship_hatch_s,0, 5,0 COMPONENT=03eb2,2, 1,0 COMPONENT=03eb1,-2, 1,0 TSPEECH spk_ferry [ITEMDEF i_multi_ferry_w] // Face W DEFNAME=i_multi_ferry_w ID=i_multi_ship_long_w Name=Ferry TYPE=T_SHIP VALUE=75000 CATEGORY=Multis SUBSECTION=Ships DESCRIPTION=Ferry MULTIREGION=-7,-2,7,2 COMPONENT=03e50,5, 0,0 COMPONENT=i_ship_hatch_w,-5,0,0 COMPONENT=03e85,-1, 2,0 COMPONENT=03e8a,-1,-2,0 TSPEECH spk_ferry [SPEECH spk_ferry] ON=What* ON=*Name* ON=*Called* ON=*Refer* LINK.SAY The ship you stand upon is the fair . ON=*Destination* ON=*Route* ON=*Journey* ON=Where* IF ((==0)&&(==0)) LINK.SAY This ferry's out of service until the harbormaster gives us a destination. ELSE VAR.OLDP=

P= LINK.SAY This ferry is bound for . We make round trips. Just tell me to "embark" when you're ready to leave. P= VAR.OLDP= ENDIF ON=*How much* ON=*Gold* ON=*Cost* ON=*Price* ON=*Payment* ON=*Free* LINK.SAY This ferry's free. Funded by the town, it is. ON=*Hello* ON=*Greetings* ON=*Good day* ON=*Hail* ON=*Well met* VAR.OLDP=

P= LINK.SAY Well met. This here be a ferry to . Let me know when you're ready to "embark". P= VAR.OLDP= ON=*How ON=*Move* ON=*Set sail* ON=Go LINK.SAY Tell me to "embark" when you're ready to leave. ON=*Stop* ON=*Turn* ON=*Left* ON=*Right* LINK.SAY This is a ferry! There be no deviating from the route! ON=Forward ON=Foreward // Moves ship forward. ON=Unfurl sail // Moves ship forward. ON=Back // Move ship backwards ON=Backward // Move ship backwards ON=Backwards // Move ship backwards ON=Embark FERRYEMBARK [FUNCTION FERRYEMBARK] IF ((==0)&&(==0)) LINK.SAY We can't be going until the harbormaster sets a destination. RETURN 1 ENDIF //Mark the original origin and destinations, if calls interrupt us at sea (possible). IF (> == 0) TAG.ORIGIN=

TAG.ORIGINX= TAG.ORIGINY= ENDIF IF (> == 0) TAG.DESTINATION= ENDIF ATTR=|020 IF (> == 0) IF (> > 0) TAG.YFIRST=> ENDIF SRC.NEWITEM i_ferry_control TAG.FERRYCONTROL= SRC.ACT.LINK= SRC.ACT.MORE1= SRC.ACT.NAME=Ferry Control for SRC.ACT.ATTR=attr_invis|attr_move_never SRC.ACT.P=

SRC.ACT.MOREP=

SRC.ACT.TIMERd=1 ENDIF [ITEMDEF i_ferry_control] ID=i_worldgem_bit TYPE=t_eq_script NAME=Ferry Control ON=@Create ATTR=attr_invis|attr_move_never ON=@Timer IF (( & 04)&&( > )) NUDGEUP LINK.NUDGEUP LINK.REGION.ALLCLIENTS NUDGEUP LINK.LINK.NUDGEUP VAR.OLDLINK= LINK.LINK= LINK.LINK.NUDGEUP LINK.LINK= LINK.LINK.NUDGEUP LINK.LINK= LINK.LINK.NUDGEUP LINK.LINK= VAR.OLDLINK= ELSEIF (> > 0) IF ( < ) LINK.MORE2=01 ELSEIF ( > ) LINK.MORE2=040001 ELSEIF ( < ) LINK.MORE2=060001 ELSEIF ( > ) LINK.MORE2=020001 ENDIF ELSE IF ( < ) LINK.MORE2=060001 ELSEIF ( > ) LINK.MORE2=020001 ELSEIF ( < ) LINK.MORE2=01 ELSEIF ( > ) LINK.MORE2=040001 ENDIF ENDIF IF (( == )&&( == )) LINK.MORE2=0 IF (( & 04)&&( < )) NUDGEDOWN LINK.NUDGEDOWN LINK.REGION.ALLCLIENTS NUDGEDOWN LINK.LINK.NUDGEDOWN VAR.OLDLINK= LINK.LINK= LINK.LINK.NUDGEDOWN LINK.LINK= LINK.LINK.NUDGEDOWN LINK.LINK= LINK.LINK.NUDGEDOWN LINK.LINK= VAR.OLDLINK= ELSE MOVE w 15 LINK.LINK.SAY We've arrived at our destination, ! P= LINK.LINK.SAY 'Embark' again for a round trip to . P= LINK.TAG.FERRYCONTROL= LINK.MOREP= REMOVE RETURN 1 ENDIF ENDIF VAR.CLIENTCOUNT=0 REGION.ALLCLIENTS countclients IF (> == 0) //0 clients screws the speed up. VAR.CLIENTCOUNT=1 ENDIF TAG.MAXTIMERCOUNT= / 3> + 1> IF (> < >) TAG.TIMERCOUNT=> LINK.LINK.SAY Full speed ahead! (>). ENDIF TIMERd= + 1> LINK.TIMERd=> RETURN 1 [ITEMDEF i_deed_ferry_n] DEFNAME=i_deed_ferry_n ID=i_deed_ship NAME=Deed to a Ferry RESOURCES=i_deed,i_multi_ship_long_N CATEGORY=Provisions - Deeds SUBSECTION=Ship Plans DESCRIPTION=Long Ship VALUE=75000 ON=@Create MORE=i_multi_ferry_N ON=@Targon_Ground SRC.SYSMESSAGE Don't forget to set the ferry's destination! RETURN 0 [ITEMDEF i_deed_ferry_s] DEFNAME=i_deed_ferry_s ID=i_deed_ship NAME=Deed to a Ferry RESOURCES=i_deed,i_multi_ship_long_s CATEGORY=Provisions - Deeds SUBSECTION=Ship Plans DESCRIPTION=Long Ship VALUE=75000 ON=@Create MORE=i_multi_ferry_s ON=@Targon_Ground SRC.SYSMESSAGE Don't forget to set the ferry's destination! RETURN 0 [ITEMDEF i_deed_ferry_e] DEFNAME=i_deed_ferry_e ID=i_deed_ship NAME=Deed to a Ferry RESOURCES=i_deed,i_multi_ship_long_e CATEGORY=Provisions - Deeds SUBSECTION=Ship Plans DESCRIPTION=Long Ship VALUE=75000 ON=@Create MORE=i_multi_ferry_e ON=@Targon_Ground SRC.SYSMESSAGE Don't forget to set the ferry's destination! RETURN 0 [ITEMDEF i_deed_ferry_w] DEFNAME=i_deed_ferry_w ID=i_deed_ship NAME=Deed to a Ferry RESOURCES=i_deed,i_multi_ship_long_w CATEGORY=Provisions - Deeds SUBSECTION=Ship Plans DESCRIPTION=Long Ship VALUE=75000 ON=@Create MORE=i_multi_ferry_w ON=@Targon_Ground SRC.SYSMESSAGE Don't forget to set the ferry's destination! RETURN 0 [ITEMDEF i_ferry_bell] ID=01c12 NAME=Ferry Bell TYPE=t_normal ON=@Create ATTR=attr_move_never MOREP=

ON=@DClick LINK= IF (!) SRC.SYSMESSAGE This bell was never assigned to a ferry. Please contact the harbormaster. LINK=0 RETURN 1 ENDIF IF (( == )&&(==)) SRC.SYSMESSAGE The ferry is already here. LINK=0 RETURN 1 ENDIF IF ((==)&&(==)&&(! == 0)) SRC.SYSMESSAGE Patience... it's on its way. LINK=0 RETURN 1 ENDIF VAR.CLIENTCOUNT=0 LINK.REGION.ALLCLIENTS countclients IF (> > 0) SRC.SYSMESSAGE There are currently passengers on the ferry. Please wait until they disembark. VAR.CLIENTCOUNT= LINK=0 RETURN 1 ENDIF //Wake the sector up. VAR.OLDP= SRC.P= SRC.P= VAR.OLDP= LINK= IF () LINK.LINK.MOREP= //The MOREP of this item is our new destination. //Tell the ship where to go back when done. //If we're going to the origin, return to the destination, and vice versa. IF ((==>)&&(==>)) LINK.MOREP= ELSE LINK.MOREP= ENDIF ELSE //Tell the ship where to go NOW. LINK= LINK.MOREP= LINK.FERRYEMBARK ENDIF LINK=0 SRC.SYSMESSAGE The ferry has been summoned. Please wait. RETURN 1