Пример #1
0
        // Function from file: cult_items.dm
        public void place_down_large_shell(dynamic user = null)
        {
            dynamic cult = null;
            Obj_Structure_Constructshell_Large A = null;


            if (!(GlobalVars.ticker.mode.name == "cult"))
            {
                user.WriteMsg("<span class='notice'>You attempt to call out to the Geometer for Her shell, but you fail...</span>");
                return;
            }
            cult = GlobalVars.ticker.mode;

            if (cult.attempts_left <= 0)
            {
                user.WriteMsg("<span class='cultlarge'>The Geometer is no longer interested in you.</span>");
            }
            A = new Obj_Structure_Constructshell_Large(GlobalFuncs.get_turf(this));
            cult.large_shell_reference = A;
            return;
        }
Пример #2
0
        // Function from file: cult_items.dm
        public override dynamic attack_self(dynamic user = null, dynamic flag = null, bool?emp = null)
        {
            dynamic T    = null;
            dynamic cult = null;
            Obj_Structure_Constructshell_Large S = null;
            dynamic A = null;


            if (!GlobalFuncs.iscultist(user))
            {
                return(base.attack_self((object)(user), (object)(flag), emp));
            }

            if (GlobalVars.ticker.mode.name != "cult")
            {
                return(null);
            }
            T = GlobalFuncs.get_turf(user);

            if (Lang13.Bool(T.z) != true)
            {
                user.WriteMsg("<span class='cultlarge'>You shouldn't do this here. Go back.</span>");
                return(null);
            }
            cult = GlobalVars.ticker.mode;

            if (!(cult.attempts_left != 0))
            {
                user.WriteMsg("<span class='notice'>You attempt to call out to the Geometer, but there is no answer...</span>");
                return(null);
            }

            if (cult.eldergod)
            {
                user.WriteMsg("<span class='cultlarge>The Geometer is already among us.</span>");
                return(null);
            }

            if (cult.large_shell_reference != null)
            {
                S = cult.large_shell_reference;

                if (Lang13.Bool(S.anchored))
                {
                    A = GlobalFuncs.get_area(S);
                    user.WriteMsg("<span class='cult'>The Geometer has already started manifesting in " + Lang13.Initial(A, "name") + ". You can no longer move Her shell.</span>");
                    return(null);
                }

                switch ((string)(Interface13.Alert(user, "The Geometer's shell has already been manifested. Do you wish to summon it to your location?", "Summoning Large Shell", "Yes", "No")))
                {
                case "Yes":
                    S.visible_message("<span class='cultlarge'>The shell suddenly vanishes.</span>");
                    S.loc = user.loc;
                    break;
                }
            }
            else
            {
                switch ((string)(Interface13.Alert(user, "Are you sure you wish to summon the large construct shell? " + cult.attempts_left + " attempts left!", "Summoning Large Shell", "Yes", "No")))
                {
                case "Yes":
                    cult.attempts_left--;
                    this.place_down_large_shell(user);
                    GlobalFuncs.qdel(this);
                    break;
                }
            }
            return(null);
        }