// Function from file: uplink_item.dm
        public override dynamic spawn_item(dynamic loc = null, Obj_Item_Device_Uplink U = null)
        {
            ByTable uplink_items         = null;
            double  crate_value          = 0;
            Obj_Structure_Closet_Crate C = null;
            dynamic category             = null;
            dynamic item = null;
            dynamic I    = null;

            uplink_items = GlobalFuncs.get_uplink_items();
            crate_value  = 50;
            C            = new Obj_Structure_Closet_Crate(loc);

            while (crate_value != 0)
            {
                category = Rand13.PickFromTable(uplink_items);
                item     = Rand13.PickFromTable(uplink_items[category]);
                I        = uplink_items[category][item];

                if (!Lang13.Bool(I.surplus) || Rand13.PercentChance(((int)(100 - Convert.ToDouble(I.surplus)))))
                {
                    continue;
                }

                if (crate_value < Convert.ToDouble(I.cost))
                {
                    continue;
                }
                crate_value -= Convert.ToDouble(I.cost);
                Lang13.Call(I.item, C);
                U.purchase_log += new Txt("<big>").icon(I.item).str("</big>").ToString();
            }
            return(C);
        }
Exemple #2
0
        // Function from file: uplink_item.dm
        public bool buy(Mob user = null, Obj_Item_Device_Uplink U = null)
        {
            dynamic  A = null;
            dynamic  B = null;
            Obj_Item I = null;
            Mob      H = null;


            if (!(U is Obj_Item_Device_Uplink))
            {
                return(false);
            }

            if (!(user != null) || user.incapacitated())
            {
                return(false);
            }

            if (Convert.ToDouble(U.telecrystals) < this.cost)
            {
                return(false);
            }
            else
            {
                U.telecrystals       -= this.cost;
                U.spent_telecrystals += this.cost;
            }
            A = this.spawn_item(GlobalFuncs.get_turf(user), U);
            B = A;

            if (B is Obj_Item_Weapon_Storage_Box && B.contents.len > 0)
            {
                foreach (dynamic _a in Lang13.Enumerate(B, typeof(Obj_Item)))
                {
                    I = _a;

                    U.purchase_log += new Txt("<big>").icon(I).str("</big>").ToString();
                }
            }
            else
            {
                U.purchase_log += new Txt("<big>").icon(A).str("</big>").ToString();
            }

            if (user is Mob_Living_Carbon_Human && A is Obj_Item)
            {
                H = user;

                if (H.put_in_hands(A))
                {
                    H.WriteMsg("" + A + " materializes into your hands!");
                }
                else
                {
                    H.WriteMsg(new Txt().The(A).item().str(" materializes onto the floor.").ToString());
                }
            }
            return(true);
        }
Exemple #3
0
 // Function from file: uplink_item.dm
 public virtual dynamic spawn_item(dynamic loc = null, Obj_Item_Device_Uplink U = null)
 {
     if (Lang13.Bool(this.item))
     {
         GlobalFuncs.feedback_add_details("traitor_uplink_items_bought", "" + this.item);
         return(Lang13.Call(this.item, loc));
     }
     return(null);
 }
Exemple #4
0
 // Function from file: uplink_item.dm
 public override dynamic spawn_item(dynamic loc = null, Obj_Item_Device_Uplink U = null)
 {
     if (Lang13.Bool(this.item))
     {
         //if ( String13.FindIgnoreCase( this.item, typeof(Obj_Item_Organ_Internal_Cyberimp), 1, 0 ) != 0 ) {
         if (false)                   // WTF ^^
         {
             return(new Obj_Item_Weapon_Storage_Box_CyberImplants(loc, this.item));
         }
         else
         {
             return(base.spawn_item((object)(loc), U));
         }
     }
     return(null);
 }
Exemple #5
0
        // Function from file: uplink_item.dm
        public override dynamic spawn_item(dynamic loc = null, Obj_Item_Device_Uplink U = null)
        {
            ByTable uplink_items       = null;
            ByTable possible_items     = null;
            dynamic category           = null;
            dynamic item               = null;
            UplinkItem_Badass_Random I = null;
            dynamic I2 = null;

            uplink_items   = GlobalFuncs.get_uplink_items();
            possible_items = new ByTable();

            foreach (dynamic _b in Lang13.Enumerate(uplink_items))
            {
                category = _b;


                foreach (dynamic _a in Lang13.Enumerate(uplink_items[category]))
                {
                    item = _a;

                    I = uplink_items[category][item];

                    if (this == I || !Lang13.Bool(I.item))
                    {
                        continue;
                    }

                    if (Convert.ToDouble(U.telecrystals) < I.cost)
                    {
                        continue;
                    }
                    possible_items.Add(I);
                }
            }

            if (possible_items.len != 0)
            {
                I2                    = Rand13.PickFromTable(possible_items);
                U.telecrystals       -= I2.cost;
                U.spent_telecrystals += Convert.ToDouble(I2.cost);
                GlobalFuncs.feedback_add_details("traitor_uplink_items_bought", "RN");
                return(Lang13.Call(I2.item, loc));
            }
            return(null);
        }