3766 |
void set_arm (Direction dir); |
void set_arm (Direction dir); |
3767 |
public: |
public: |
3768 |
Turnstile_Pivot() : Stone ("st-turnstile") {} |
Turnstile_Pivot() : Stone ("st-turnstile") {} |
|
bool rotate_left(); |
|
3769 |
bool rotate_right(); |
bool rotate_right(); |
3770 |
}; |
bool rotate_left(); |
3771 |
|
private: |
3772 |
|
void can_rotate() { |
3773 |
|
set_anim("st-turnstile-anim"); |
3774 |
|
} |
3775 |
|
void animcb() { |
3776 |
|
set_model("st-turnstile"); |
3777 |
|
} |
3778 |
|
}; |
3779 |
|
|
3780 |
class Turnstile_Arm : public Stone { |
class Turnstile_Arm : public Stone { |
3781 |
virtual Direction get_dir() const = 0; |
virtual Direction get_dir() const = 0; |
3936 |
} |
} |
3937 |
|
|
3938 |
if (can_rotate) { |
if (can_rotate) { |
3939 |
play_sound("rotate-left"); |
// play_sound("rotate-left"); |
3940 |
|
play_sound("st-magic"); |
3941 |
|
set_anim("st-turnstile-anim"); |
3942 |
remove_arms(arms); |
remove_arms(arms); |
3943 |
if (arms & NORTHBIT) set_arm (WEST); |
if (arms & NORTHBIT) set_arm (WEST); |
3944 |
if (arms & EASTBIT) set_arm (NORTH); |
if (arms & EASTBIT) set_arm (NORTH); |
3977 |
} |
} |
3978 |
|
|
3979 |
if (can_rotate) { |
if (can_rotate) { |
3980 |
play_sound("rotate-right"); |
// play_sound("rotate-right"); |
3981 |
|
play_sound("st-magic"); |
3982 |
|
set_anim("st-turnstile-anim"); |
3983 |
remove_arms(arms); |
remove_arms(arms); |
3984 |
if (arms & NORTHBIT) set_arm (EAST); |
if (arms & NORTHBIT) set_arm (EAST); |
3985 |
if (arms & EASTBIT) set_arm (SOUTH); |
if (arms & EASTBIT) set_arm (SOUTH); |
3988 |
} |
} |
3989 |
return can_rotate; |
return can_rotate; |
3990 |
} |
} |
3991 |
|
|
3992 |
|
|
3993 |
//---------------------------------------------------------------------- |
//---------------------------------------------------------------------- |
3994 |
// OBJECT REPOSITORY |
// OBJECT REPOSITORY |