diff --git a/scripts/the_wall/forsuth.script b/scripts/the_wall/forsuth.script index 193b61fc..dc0d94f9 100644 --- a/scripts/the_wall/forsuth.script +++ b/scripts/the_wall/forsuth.script @@ -714,7 +714,14 @@ repeatdelay $randf(15.0,60.0) { ext_forsuth_plat callevent 40.0 forsuth_plat_abort - callevent 1.0 forsuth_plat_loop + setvard PLAT_ENT $get_by_name(plat_exit) + setvard PLAT_OFS 0 + if ( PLAT_ENT isnot none ) + { + setvard PLAT_OFS $get(ent_me,origin.z) + subtract PLAT_OFS $get(PLAT_ENT,origin.z) + } + callevent 0.1 forsuth_plat_loop callevent forsuth_plat_chatter local FACE_TO $get(ent_me,origin) @@ -726,15 +733,26 @@ repeatdelay $randf(15.0,60.0) { forsuth_plat_loop if !REACHED_TOP - callevent 1.0 forsuth_plat_loop + callevent 0.1 forsuth_plat_loop local ADJ_ORG $get(ent_me,origin) - vectoradd ADJ_ORG z 16 + + if ( PLAT_ENT isnot none ) + { + local L_PLAT_Z $get(PLAT_ENT,origin.z) + add L_PLAT_Z PLAT_OFS + vectorset ADJ_ORG z L_PLAT_Z + setorigin ent_me ADJ_ORG + local EXIT_SUB 1 + } + if !EXIT_SUB + + vectoradd ADJ_ORG z 10 setorigin ent_me ADJ_ORG } { forsuth_plat_chatter //case we just crossed the orc trigger - if ( BUSY_CHATTING ) callevent 1.0 ext_forsuth_plat_chatter + if ( BUSY_CHATTING ) callevent 1.0 forsuth_plat_chatter if !BUSY_CHATTING setvard CHAT_STEP1 "Alright, here's the pullyworks..." setvard CHAT_SOUND1 voices/the_wall/forsuth/alright_heres_the_pulleyworks.wav