// Function from file: chrono_eraser.dm
        public override void ui_action_click(  )
        {
            Ent_Static user = null;

            user = this.loc;

            if (user is Mob_Living_Carbon && ((dynamic)user).back == this)
            {
                if (this.PA != null)
                {
                    GlobalFuncs.qdel(this.PA);
                }
                else
                {
                    this.PA = new Obj_Item_Weapon_Gun_Energy_ChronoGun(this);
                    ((dynamic)user).put_in_hands(this.PA);
                }
            }
            return;
        }
Beispiel #2
0
        // Function from file: chrono_eraser.dm
        public override dynamic bullet_act(dynamic P = null, dynamic def_zone = null)
        {
            dynamic beam = null;
            Obj_Item_Weapon_Gun_Energy_ChronoGun Pgun = null;


            if (P is Obj_Item_Projectile_Energy_ChronoBeam)
            {
                beam = P;
                Pgun = beam.gun;

                if (Pgun != null && Pgun is Obj_Item_Weapon_Gun_Energy_ChronoGun)
                {
                    Pgun.field_connect(this);
                }
            }
            else
            {
                return(0);
            }
            return(null);
        }
Beispiel #3
0
        // Function from file: chrono_eraser.dm
        public override int?process(dynamic seconds = null)
        {
            Ent_Dynamic AM    = null;
            dynamic     ghost = null;


            if (this.captured != null)
            {
                if (this.tickstokill > Convert.ToDouble(Lang13.Initial(this, "tickstokill")))
                {
                    foreach (dynamic _a in Lang13.Enumerate(this.contents, typeof(Ent_Dynamic)))
                    {
                        AM = _a;

                        AM.loc = this.loc;
                    }
                    GlobalFuncs.qdel(this);
                }
                else if (this.tickstokill <= 0)
                {
                    ((dynamic)this.captured).WriteMsg("<span class='boldnotice'>As the last essence of your being is erased from time, you begin to re-experience your most enjoyable memory. You feel happy...</span>");
                    ghost = ((dynamic)this.captured).ghostize(1);

                    if (Lang13.Bool(((dynamic)this.captured).mind))
                    {
                        if (Lang13.Bool(ghost))
                        {
                            ghost.mind = null;
                        }

                        if (this.gun != null)
                        {
                            this.gun.pass_mind(((dynamic)this.captured).mind);
                        }
                    }
                    GlobalFuncs.qdel(this.captured);
                    GlobalFuncs.qdel(this);
                }
                else
                {
                    ((dynamic)this.captured).Paralyse(4);

                    if (this.captured.loc != this)
                    {
                        this.captured.loc = this;
                    }
                    this.update_icon();

                    if (this.gun != null)
                    {
                        if (this.gun.field_check(this))
                        {
                            this.tickstokill--;
                        }
                        else
                        {
                            this.gun = null;
                            return(this.process());
                        }
                    }
                    else
                    {
                        this.tickstokill++;
                    }
                }
            }
            else
            {
                GlobalFuncs.qdel(this);
            }
            return(null);
        }