예제 #1
0
 public override void ModifyTooltips(List <TooltipLine> tooltips)
 {
     foreach (TooltipLine line in tooltips)
     {
         if (line.Name.Equals("Tooltip0"))
         {
             line.text = $"Casing: {casingItem?.Name??"null"}\nPower Cell: {powerCellItem?.Name??"null"}; charge:{getCharge.value}";
         }
         else
         if (line.Name.Equals("Tooltip1"))
         {
             line.text          = $"Lens: {lensItem?.Name??"null"}";
             line.overrideColor = LensGlobalItem.getColor(lensItem);
         }
         else
         if (line.Name.Equals("Tooltip2"))
         {
             string name = driveItem?.Value?.Name;
             if (string.IsNullOrWhiteSpace(name))
             {
                 name = "none";
             }
             line.text = $"Drive: {name}";
             break;
         }
     }
 }
예제 #2
0
        public override bool Shoot(Player player, ref Vector2 position, ref float speedX, ref float speedY, ref int type, ref int damage, ref float knockBack)
        {
            if (drive is null)
            {
                return(false);
            }
            float c = maxCharge;
            RefWrapper <float> projCharge = getCharge;

            //Main.NewText($"{getCharge}/{c}");
            if (powerCellItem.type == ItemID.LihzahrdPowerCell)
            {
                RefWrapper <float> charge = powerCellItem.GetGlobalItem <PowerCellGlobalItem>().charge;
                if (charge.value < PowerCellGlobalItem.LihzahrdMaxCharge)
                {
                    return(false);
                }
                projCharge   = maxCharge;
                charge.value = 0;
            }
            base.Shoot(player, ref position, ref speedX, ref speedY, ref type, ref damage, ref knockBack);
            ActionContext context = ((BasicGlyphProjectile)Main.projectile[lastProj].modProjectile).context;

            context.charge = projCharge;
            context.Caster = player;
            context.color  = LensGlobalItem.getColor(lensItem);
            //((BasicGlyphProjectile)Main.projectile[lastProj].modProjectile).context.charge = projCharge;
            //((BasicGlyphProjectile)Main.projectile[lastProj].modProjectile).context.Caster = player;
            //((BasicGlyphProjectile)Main.projectile[lastProj].modProjectile).context.color = LensGlobalItem.getColor(lensItem);
            return(false);
        }
예제 #3
0
        public override void SetDefaults()
        {
            if (item.owner < 0 || item.owner >= Main.player.Length || !Main.player[item.owner].active)
            {
                return;
            }
            base.SetDefaults();
            if (driveItem is null)
            {
                driveItem = new Ref <Item>(new Item());
                driveItem.Value.SetDefaults(0);
            }
            if (powerCellItem is null)
            {
                powerCellItem = new Item();
                powerCellItem.SetDefaults(0);
            }
            if (lensItem is null)
            {
                lensItem = new Item();
                lensItem.SetDefaults(0);
            }
            if (casingItem is null)
            {
                casingItem = new Item();
                casingItem.SetDefaults(0);
            }
            int   dmg    = item.damage;
            float damage = 1f;

            if (!(casing is null))
            {
                casing.getStats(item, ref damage);
            }
            if (!(powerCell is null))
            {
                powerCell.getStats(item, ref damage);
            }
            LensGlobalItem.getStats(lensItem, item, ref damage, ref item.shootSpeed);
            if (item.damage == dmg)
            {
                item.damage = (int)damage;
            }
        }