public static Item GenerateStaff(Mod mod, Vector2 position, StaffTheme theme, float dps, int enemyDef) { ProceduralStaff staff = DropStaff(mod, position, Staff.RandomStaff(theme), StaffGem.RandomGem(theme), Main.rand.Next(3) < 2 ? StaffOrnament.RandomOrnament(theme) : StaffOrnament.None, dps, enemyDef); return(staff.item); }
public static ProceduralStaff DropStaff(Mod mod, Vector2 position, Staff staffStaff, StaffGem staffGem, StaffOrnament staffOrnament, float dps, int enemyDef) { int id = Item.NewItem(position, mod.GetItem("ProceduralStaff").item.type); ProceduralStaff staff = (ProceduralStaff)Main.item[id].modItem; staff.Staff = staffStaff; staff.Gem = staffGem; staff.Ornament = staffOrnament; staff.Dps = dps; staff.EnemyDef = enemyDef; staff.Initialize(); StaffInitPacket.Write(id, staffStaff.Type, staffGem.Type, staffOrnament.Type, dps, enemyDef); return(staff); }
public override ModItem Clone(Item tItem) { ProceduralStaff copy = (ProceduralStaff)base.Clone(tItem); copy.Staff = Staff; copy.Gem = Gem; copy.Ornament = Ornament; copy.Dps = Dps; copy.EnemyDef = EnemyDef; copy.EleDamage = new Dictionary <Element, float>(); foreach (Element element in Enum.GetValues(typeof(Element))) { copy.EleDamage[element] = EleDamage[element]; } copy.item.SetNameOverride(tItem.Name); return(copy); }