//Cloning is CRUCIAL in making this mod work; if there is no cloning, all of the guns will have the same exact prefix/parts. No good. public override ModItem Clone(Item item) { TLWeapon wepClone = (TLWeapon)base.Clone(item); if (!wepClone.availablePrefixes.elements.Any()) { wepClone.GetAvailablePrefixes(); } if (!wepClone.availableElements.elements.Any()) { wepClone.GetAvailableElements(); } wepClone.additionalShots = 0; wepClone.fixedSpread = 0f; if (wepClone.itemPrefix == TLPrefixList.Default) { wepClone.itemPrefix = availablePrefixes.Get(); wepClone.item.SetNameOverride(GetAdjustedName()); } if (wepClone.itemSuffix == TLSuffixList.Default) { wepClone.itemSuffix = TLSuffixList.GetRandomSuffix(); wepClone.item.SetNameOverride(GetAdjustedName()); } if (wepClone.itemElement == ElementType.Default) { wepClone.itemElement = availableElements.Get(); } wepClone.AutoDefaults(); wepClone.SetDefaults(); return(wepClone); }
//Don't want Vanilla Prefixes, will have Prefixes of our own that are more like Borderlands' Prefixes public override bool?PrefixChance(int pre, UnifiedRandom rand) { if (pre == -1) { GetAvailablePrefixes(); if (itemPrefix == TLPrefixList.Default) { itemPrefix = availablePrefixes.Get(); item.SetNameOverride(GetAdjustedName()); } if (itemSuffix == TLSuffixList.Default) { itemSuffix = TLSuffixList.GetRandomSuffix(); item.SetNameOverride(GetAdjustedName()); } GetAvailableElements(); if (itemElement == ElementType.Default) { itemElement = availableElements.Get(); } return(false); } else if (pre == -3) { return(false); } return(null); }
public override void NetRecieve(BinaryReader reader) { itemPrefix = TLPrefixList.GetInstanceWithID(reader.ReadInt32()); itemElement = (ElementType)reader.ReadInt32(); itemSuffix = TLSuffixList.GetInstanceWithID(reader.ReadInt32()); }
public override void Load(TagCompound tag) { itemPrefix = TLPrefixList.GetInstanceWithID(tag.GetInt("WeaponPrefix")); itemElement = (ElementType)tag.GetInt("WeaponElement"); itemSuffix = TLSuffixList.GetInstanceWithID(tag.GetInt("WeaponSuffix")); }