feat: #26107 uplink discounts for traitors (no nukies for now) (#26297)

* feat: #26107 uplink discounts for traitors and nukies

* refactor: #26107 extracted discount label from price of StoreListingControl

* refactor: minor renaming

* refactor: parametrized adding discounts to uplink store

* fix: #26107 prevent exception on empty discountOptions

* feat: uplink now have 'Discounted' category which contains all discounted items on this session.

* after merge fixups

* rename discount categories according to common sense

* refactor: DiscountOptions is now optional (nullable) on ListingData

* add nullability check ignore for already checked listingData.DiscountOptions

* fix after merge store menu ui

* remove unused using

* final fix after merge conflicts

* [refactor]: #26107 fix variables naming in UplinkSystem

* fix: #26107 fix after merge

* refactor: #26107 now supports discountDownUntil on ListingItem, instead of % of discount

* feat: #26107 support multiple currency discount in store on side of discount message label

* refactor: #26107 extracted discounts initialization to separate system. StoreDiscountData are spread as array and not list now

* refactor: #26107 move more code from storesystem to StoreDiscountComponent

* refactor: #26107 separated StoreSystem and StoreDiscountSystem using events

* fix: #26107 placed not-nullable variable initialization in ListingData for tests

* refactor: #26107 minor renaming, xml-docs

* fix: #26107 changed most of discounts to be down to half price for balance purposes

* ids used in with discounts are now ProtoIds, dicountCategories are now prototypes, code with weights simplified

* decoupled storesystem and store discount system

* xml-docs

* refactor:  #26107 xml-doc for StoreDiscountSystem

* is now a thing (tmp)

* fix: compilation errors + StoreDiscountData.DiscountCategoryId

* refactor: rename ListingDataWithCostModifiers, fix all cost related code, enpittyfy performance, uglify uplink_catalog

* refactor: removed unused code, more StoreDiscountSystem docs, simplify code

* refactor: moved discount category logic to respective system, now creating ListingData c-tor clones all mutable fields as expected

* refactor: rename back (its not prototype)

* refactor: move ListingItemsInitializingEvent to file with handling logic

* refactor: comments for StoreBuyFinishedEvent handling, more logging

* refactor: moved StoreInitializedEvent, xml-doc

* refactor: simplify StoreDiscountSystem code  (reduce nesting) + xml-doc

* refactor: restore old listing data cost field name

* refactor: fix linter in uplink_catalog.yml

* refactor: xml-doc for ListingDataWithCostModifiers

* refactor: limit usage of ListingData in favour of ListingDataWithCostModifiers

* refactor: purged linq, removed custom datafield names, minor cleanup

* refactor: removed double-allocation on getting available listings

* refactor: StoreSystem.OnBuyRequest now uses component.FullListingsCatalog as reference point (as it was in original code)

* fix: minor discount categories on uplink items changes following design overview

* refactor: StoreBuyListingMessage now uses protoId and not whole object

* refactor: store refund and discount integration test, RefreshAllListings now translates previous cost modifiers to refreshed list, if state previous to refresh had any listing items

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
This commit is contained in:
Fildrance
2024-09-05 15:12:39 +03:00
committed by GitHub
parent 402f518c5e
commit a58252f45e
23 changed files with 1415 additions and 116 deletions

View File

@@ -0,0 +1,13 @@
- type: discountCategory
id: rareDiscounts # Dirty-cheap items that are rarely used and can be discounted to 0-ish cost to encourage usage.
weight: 18
maxItems: 2
- type: discountCategory
id: usualDiscounts # Cheap items that are used not very often.
weight: 80
- type: discountCategory
id: veryRareDiscounts # Casually used items that are widely used but can be (rarely) discounted for epic lulz.
weight: 2
maxItems: 1

View File

@@ -6,6 +6,9 @@
name: uplink-pistol-viper-name
description: uplink-pistol-viper-desc
productEntity: WeaponPistolViper
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 3
categories:
@@ -16,6 +19,9 @@
name: uplink-revolver-python-name
description: uplink-revolver-python-desc
productEntity: WeaponRevolverPythonAP
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 8 # Originally was 13 TC but was not used due to high cost
categories:
@@ -27,6 +33,9 @@
name: uplink-pistol-cobra-name
description: uplink-pistol-cobra-desc
productEntity: WeaponPistolCobra
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -48,6 +57,9 @@
name: uplink-esword-name
description: uplink-esword-desc
icon: { sprite: /Textures/Objects/Weapons/Melee/e_sword.rsi, state: icon }
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 4
productEntity: EnergySword
cost:
Telecrystal: 8
@@ -60,6 +72,9 @@
description: uplink-edagger-desc
icon: { sprite: /Textures/Objects/Weapons/Melee/e_dagger.rsi, state: icon }
productEntity: EnergyDaggerBox
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -71,6 +86,9 @@
description: uplink-knives-kit-desc
icon: { sprite: /Textures/Objects/Storage/boxicons.rsi, state: throwing_knives }
productEntity: ThrowingKnivesKit
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 6
categories:
@@ -81,6 +99,9 @@
name: uplink-gloves-north-star-name
description: uplink-gloves-north-star-desc
productEntity: ClothingHandsGlovesNorthStar
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 8
categories:
@@ -91,6 +112,9 @@
name: uplink-disposable-turret-name
description: uplink-disposable-turret-desc
productEntity: ToolboxElectricalTurretFilled
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 6
categories:
@@ -107,6 +131,9 @@
description: uplink-eshield-desc
icon: { sprite: /Textures/Objects/Weapons/Melee/e_shield.rsi, state: eshield-on }
productEntity: EnergyShield
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 8
categories:
@@ -123,6 +150,9 @@
description: uplink-sniper-bundle-desc
icon: { sprite: /Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi, state: base }
productEntity: BriefcaseSyndieSniperBundleFilled
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 6
cost:
Telecrystal: 12
categories:
@@ -134,6 +164,9 @@
description: uplink-c20r-bundle-desc
icon: { sprite: /Textures/Objects/Weapons/Guns/SMGs/c20r.rsi, state: icon }
productEntity: ClothingBackpackDuffelSyndicateFilledSMG
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 10
cost:
Telecrystal: 17
categories:
@@ -145,6 +178,9 @@
description: uplink-buldog-bundle-desc
icon: { sprite: /Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi, state: icon }
productEntity: ClothingBackpackDuffelSyndicateFilledShotgun
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 12
cost:
Telecrystal: 20
categories:
@@ -156,6 +192,9 @@
description: uplink-grenade-launcher-bundle-desc
icon: { sprite: /Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi, state: icon }
productEntity: ClothingBackpackDuffelSyndicateFilledGrenadeLauncher
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 20
cost:
Telecrystal: 25
categories:
@@ -167,6 +206,9 @@
description: uplink-l6-saw-bundle-desc
icon: { sprite: /Textures/Objects/Weapons/Guns/LMGs/l6.rsi, state: icon }
productEntity: ClothingBackpackDuffelSyndicateFilledLMG
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 24
cost:
Telecrystal: 30
categories:
@@ -179,6 +221,9 @@
name: uplink-explosive-grenade-name
description: uplink-explosive-grenade-desc
productEntity: ExGrenade
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -209,6 +254,9 @@
name: uplink-mini-bomb-name
description: uplink-mini-bomb-desc
productEntity: SyndieMiniBomb
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 6
categories:
@@ -219,6 +267,9 @@
name: uplink-supermatter-grenade-name
description: uplink-supermatter-grenade-desc
productEntity: SupermatterGrenade
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 6
categories:
@@ -229,6 +280,9 @@
name: uplink-whitehole-grenade-name
description: uplink-whitehole-grenade-desc
productEntity: WhiteholeGrenade
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 3
categories:
@@ -239,6 +293,9 @@
name: uplink-penguin-grenade-name
description: uplink-penguin-grenade-desc
productEntity: MobGrenadePenguin
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 5
categories:
@@ -254,6 +311,9 @@
name: uplink-c4-name
description: uplink-c4-desc
productEntity: C4
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -264,6 +324,9 @@
name: uplink-grenadier-rig-name
description: uplink-grenadier-rig-desc
productEntity: ClothingBeltMilitaryWebbingGrenadeFilled
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 6
cost:
Telecrystal: 12
categories:
@@ -279,8 +342,11 @@
name: uplink-c4-bundle-name
description: uplink-c4-bundle-desc
productEntity: ClothingBackpackDuffelSyndicateC4tBundle
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 8
cost:
Telecrystal: 12 #you're buying bulk so its a 25% discount
Telecrystal: 12 #you're buying bulk so its a 25% discount, so no additional random discount over it
categories:
- UplinkExplosives
@@ -289,6 +355,9 @@
name: uplink-emp-grenade-name
description: uplink-emp-grenade-desc
productEntity: EmpGrenade
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -300,6 +369,9 @@
description: uplink-exploding-pen-desc
icon: { sprite: /Textures/Objects/Misc/pens.rsi, state: pen }
productEntity: PenExplodingBox
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -341,6 +413,9 @@
name: uplink-cluster-grenade-name
description: uplink-cluster-grenade-desc
productEntity: ClusterGrenade
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 5
cost:
Telecrystal: 8
categories:
@@ -351,6 +426,9 @@
name: uplink-shrapnel-grenade-name
description: uplink-shrapnel-grenade-desc
productEntity: GrenadeShrapnel
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -361,6 +439,9 @@
name: uplink-incendiary-grenade-name
description: uplink-incendiary-grenade-desc
productEntity: GrenadeIncendiary
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -371,6 +452,9 @@
name: uplink-emp-kit-name
description: uplink-emp-kit-desc
productEntity: ElectricalDisruptionKit
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 6
categories:
@@ -474,6 +558,9 @@
description: uplink-hypopen-desc
icon: { sprite: /Textures/Objects/Misc/pens.rsi, state: pen }
productEntity: HypopenBox
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 6
categories:
@@ -485,6 +572,9 @@
description: uplink-hypodart-desc
icon: { sprite: /Textures/Objects/Fun/Darts/dart_red.rsi, state: icon }
productEntity: HypoDartBox
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -496,6 +586,9 @@
description: uplink-chemistry-kit-desc
icon: { sprite: /Textures/Objects/Storage/boxicons.rsi, state: vials }
productEntity: ChemicalSynthesisKit
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 4
categories:
@@ -526,6 +619,9 @@
name: uplink-nocturine-chemistry-bottle-name
description: uplink-nocturine-chemistry-bottle-desc
productEntity: NocturineChemistryBottle
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 6
categories:
@@ -536,6 +632,9 @@
name: uplink-combat-medkit-name
description: uplink-combat-medkit-desc
productEntity: MedkitCombatFilled
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 5
categories:
@@ -546,6 +645,9 @@
name: uplink-combat-medipen-name
description: uplink-combat-medipen-desc
productEntity: CombatMedipen
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -556,6 +658,9 @@
name: uplink-stimpack-name
description: uplink-stimpack-desc
productEntity: Stimpack
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -566,6 +671,9 @@
name: uplink-stimkit-name
description: uplink-stimkit-desc
productEntity: StimkitFilled
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 8
cost:
Telecrystal: 12
categories:
@@ -576,6 +684,9 @@
name: uplink-cigarettes-name
description: uplink-cigarettes-desc
productEntity: CigPackSyndicate
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -586,6 +697,9 @@
name: uplink-meds-bundle-name
description: uplink-meds-bundle-desc
productEntity: ClothingBackpackDuffelSyndicateMedicalBundleFilled
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 12
cost:
Telecrystal: 20
categories:
@@ -607,6 +721,9 @@
name: uplink-agent-id-card-name
description: uplink-agent-id-card-desc
productEntity: AgentIDCard
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 3
categories:
@@ -617,6 +734,9 @@
name: uplink-stealth-box-name
description: uplink-stealth-box-desc
productEntity: StealthBox
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 5
categories:
@@ -627,6 +747,9 @@
name: uplink-chameleon-projector-name
description: uplink-chameleon-projector-desc
productEntity: ChameleonProjector
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 7
categories:
@@ -638,6 +761,9 @@
description: uplink-encryption-key-desc
icon: { sprite: /Textures/Objects/Devices/encryption_keys.rsi, state: synd_label }
productEntity: BoxEncryptionKeySyndie # Two for the price of one
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -679,6 +805,9 @@
name: uplink-ultrabright-lantern-name
description: uplink-ultrabright-lantern-desc
productEntity: LanternFlash
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -689,6 +818,9 @@
name: uplink-bribe-name
description: uplink-bribe-desc
productEntity: BriefcaseSyndieLobbyingBundleFilled
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -710,6 +842,9 @@
description: uplink-decoy-kit-desc
icon: { sprite: /Textures/Objects/Tools/Decoys/operative_decoy.rsi, state: folded }
productEntity: ClothingBackpackDuffelSyndicateDecoyKitFilled
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 6
categories:
@@ -720,6 +855,9 @@
name: uplink-exploding-syndicate-bomb-fake-name
description: uplink-exploding-syndicate-bomb-fake-desc
productEntity: SyndicateBombFake
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 4
categories:
@@ -732,6 +870,9 @@
name: uplink-emag-name
description: uplink-emag-desc
productEntity: Emag
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 5
cost:
Telecrystal: 8
categories:
@@ -742,6 +883,9 @@
name: uplink-radio-jammer-name
description: uplink-radio-jammer-desc
productEntity: RadioJammer
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -752,6 +896,9 @@
name: uplink-syndicate-weapon-module-name
description: uplink-syndicate-weapon-module-desc
productEntity: BorgModuleSyndicateWeapon
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 5
categories:
@@ -763,6 +910,9 @@
description: uplink-syndicate-martyr-module-desc
productEntity: BorgModuleMartyr
icon: { sprite: /Textures/Objects/Specific/Robotics/borgmodule.rsi, state: syndicateborgbomb }
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -783,6 +933,9 @@
name: uplink-slipocalypse-clustersoap-name
description: uplink-slipocalypse-clustersoap-desc
productEntity: SlipocalypseClusterSoap
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -793,6 +946,9 @@
name: uplink-toolbox-name
description: uplink-toolbox-desc
productEntity: ToolboxSyndicateFilled
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -803,6 +959,9 @@
name: uplink-syndicate-jaws-of-life-name
description: uplink-syndicate-jaws-of-life-desc
productEntity: SyndicateJawsOfLife
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -813,6 +972,9 @@
name: uplink-duffel-surgery-name
description: uplink-duffel-surgery-desc
productEntity: ClothingBackpackDuffelSyndicateFilledMedical
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -823,6 +985,9 @@
name: uplink-power-sink-name
description: uplink-power-sink-desc
productEntity: PowerSink
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 8
categories:
@@ -876,6 +1041,9 @@
name: uplink-singularity-beacon-name
description: uplink-singularity-beacon-desc
productEntity: SingularityBeacon
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 12
categories:
@@ -889,6 +1057,9 @@
description: uplink-holopara-kit-desc
icon: { sprite: /Textures/Objects/Misc/guardian_info.rsi, state: icon }
productEntity: BoxHoloparasite
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 8
cost:
Telecrystal: 14
categories:
@@ -905,6 +1076,9 @@
description: uplink-reinforcement-radio-traitor-desc
productEntity: ReinforcementRadioSyndicate
icon: { sprite: Objects/Devices/communication.rsi, state: old-radio-urist }
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 7
cost:
Telecrystal: 14
categories:
@@ -953,6 +1127,9 @@
description: uplink-reinforcement-radio-ancestor-desc
productEntity: ReinforcementRadioSyndicateAncestor
icon: { sprite: Objects/Devices/communication.rsi, state: old-radio-ancestor }
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 6
categories:
@@ -969,6 +1146,9 @@
description: uplink-reinforcement-radio-ancestor-desc
productEntity: ReinforcementRadioSyndicateAncestorNukeops
icon: { sprite: Objects/Devices/communication.rsi, state: old-radio-ancestor }
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 6
categories:
@@ -984,6 +1164,9 @@
name: uplink-carp-dehydrated-name
description: uplink-carp-dehydrated-desc
productEntity: DehydratedSpaceCarp
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -1000,6 +1183,9 @@
description: uplink-mobcat-microbomb-desc
icon: { sprite: Objects/Devices/communication.rsi, state: old-radio-syndicat }
productEntity: ReinforcementRadioSyndicateSyndiCat
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 6
categories:
@@ -1027,6 +1213,9 @@
description: uplink-storage-implanter-desc
icon: { sprite: /Textures/Clothing/Back/Backpacks/backpack.rsi, state: icon }
productEntity: StorageImplanter
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 8
categories:
@@ -1043,6 +1232,9 @@
description: uplink-freedom-implanter-desc
icon: { sprite: /Textures/Actions/Implants/implants.rsi, state: freedom }
productEntity: FreedomImplanter
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 5
categories:
@@ -1054,6 +1246,9 @@
description: uplink-scram-implanter-desc
icon: { sprite: /Textures/Structures/Specific/anomaly.rsi, state: anom4 }
productEntity: ScramImplanter
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 6 # it's a gamble that may kill you easily so 6 TC per 2 uses, second one more of a backup
categories:
@@ -1065,6 +1260,9 @@
description: uplink-dna-scrambler-implanter-desc
icon: { sprite: /Textures/Mobs/Species/Human/parts.rsi, state: full }
productEntity: DnaScramblerImplanter
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 5
categories:
@@ -1076,6 +1274,9 @@
description: uplink-emp-implanter-desc
icon: { sprite: /Textures/Objects/Magic/magicactions.rsi, state: shield }
productEntity: EmpImplanter
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -1143,6 +1344,9 @@
description: uplink-uplink-implanter-desc
icon: { sprite: /Textures/Objects/Devices/communication.rsi, state: old-radio }
productEntity: UplinkImplanter
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -1179,6 +1383,9 @@
name: uplink-black-jetpack-name
description: uplink-black-jetpack-desc
productEntity: JetpackBlackFilled
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -1189,6 +1396,9 @@
name: uplink-voice-mask-name
description: uplink-voice-mask-desc
productEntity: ClothingMaskGasVoiceChameleon
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -1220,6 +1430,9 @@
description: uplink-chameleon-desc
productEntity: ClothingBackpackChameleonFill
icon: { sprite: /Textures/Clothing/Uniforms/Jumpsuit/rainbow.rsi, state: icon }
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -1230,6 +1443,9 @@
name: uplink-clothing-no-slips-shoes-name
description: uplink-clothing-no-slips-shoes-desc
productEntity: ClothingShoesChameleonNoSlips
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -1240,6 +1456,9 @@
name: uplink-clothing-thieving-gloves-name
description: uplink-clothing-thieving-gloves-desc
productEntity: ThievingGloves
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -1250,6 +1469,9 @@
name: uplink-clothing-outer-vest-web-name
description: uplink-clothing-outer-vest-web-desc
productEntity: ClothingOuterVestWeb
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 3
categories:
@@ -1260,6 +1482,9 @@
name: uplink-clothing-shoes-boots-mag-syndie-name
description: uplink-clothing-shoes-boots-mag-syndie-desc
productEntity: ClothingShoesBootsMagSyndie
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -1271,6 +1496,9 @@
description: uplink-eva-syndie-desc
icon: { sprite: /Textures/Clothing/OuterClothing/Suits/eva_syndicate.rsi, state: icon }
productEntity: ClothingBackpackDuffelSyndicateEVABundle
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -1282,6 +1510,9 @@
description: uplink-hardsuit-carp-desc
icon: { sprite: /Textures/Clothing/OuterClothing/Suits/carpsuit.rsi, state: icon }
productEntity: ClothingOuterHardsuitCarp
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -1293,6 +1524,9 @@
description: uplink-hardsuit-syndie-desc
icon: { sprite: /Textures/Clothing/OuterClothing/Hardsuits/syndicate.rsi, state: icon }
productEntity: ClothingBackpackDuffelSyndicateHardsuitBundle
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 4
cost:
Telecrystal: 8
categories:
@@ -1320,6 +1554,9 @@
description: uplink-hardsuit-syndieelite-desc
icon: { sprite: /Textures/Clothing/OuterClothing/Hardsuits/syndieelite.rsi, state: icon }
productEntity: ClothingBackpackDuffelSyndicateEliteHardsuitBundle
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 7
cost:
Telecrystal: 12
categories:
@@ -1331,6 +1568,9 @@
description: uplink-clothing-outer-hardsuit-juggernaut-desc
icon: { sprite: /Textures/Structures/Storage/Crates/syndicate.rsi, state: icon }
productEntity: CrateCybersunJuggernautBundle
discountCategory: veryRareDiscounts
discountDownTo:
Telecrystal: 8
cost:
Telecrystal: 12
categories:
@@ -1398,6 +1638,9 @@
name: uplink-revolver-cap-gun-name
description: uplink-revolver-cap-gun-desc
productEntity: RevolverCapGun
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -1408,6 +1651,9 @@
name: uplink-syndicate-stamp-name
description: uplink-syndicate-stamp-desc
productEntity: RubberStampSyndicate
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -1530,6 +1776,9 @@
name: uplink-gatfruit-seeds-name
description: uplink-gatfruit-seeds-desc
productEntity: GatfruitSeeds
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 6
categories:
@@ -1544,6 +1793,9 @@
name: uplink-rigged-boxing-gloves-name
description: uplink-rigged-boxing-gloves-desc
productEntity: ClothingHandsGlovesBoxingRigged
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 6
categories:
@@ -1558,6 +1810,9 @@
name: uplink-rigged-boxing-gloves-name
description: uplink-rigged-boxing-gloves-desc
productEntity: ClothingHandsGlovesBoxingRigged
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -1572,6 +1827,9 @@
name: uplink-necronomicon-name
description: uplink-necronomicon-desc
productEntity: BibleNecronomicon
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -1590,6 +1848,9 @@
name: uplink-holy-hand-grenade-name
description: uplink-holy-hand-grenade-desc
productEntity: HolyHandGrenade
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 14
cost:
Telecrystal: 20
categories:
@@ -1604,6 +1865,9 @@
name: uplink-revolver-cap-gun-fake-name
description: uplink-revolver-cap-gun-fake-desc
productEntity: RevolverCapGunFake
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 5
cost:
Telecrystal: 9
categories:
@@ -1620,6 +1884,9 @@
description: uplink-banana-peel-explosive-desc
icon: { sprite: Objects/Specific/Hydroponics/banana.rsi, state: peel }
productEntity: TrashBananaPeelExplosiveUnarmed
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
@@ -1634,6 +1901,9 @@
name: uplink-cluster-banana-peel-name
description: uplink-cluster-banana-peel-desc
productEntity: ClusterBananaPeel
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 3
cost:
Telecrystal: 6
categories:
@@ -1649,6 +1919,9 @@
description: uplink-holoclown-kit-desc
icon: { sprite: /Textures/Objects/Fun/figurines.rsi, state: holoclown }
productEntity: BoxHoloclown
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 6
cost:
Telecrystal: 12
categories:
@@ -1662,6 +1935,9 @@
id: uplinkHotPotato
name: uplink-hot-potato-name
description: uplink-hot-potato-desc
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
productEntity: HotPotato
cost:
Telecrystal: 4
@@ -1680,6 +1956,9 @@
name: uplink-chimp-upgrade-kit-name
description: uplink-chimp-upgrade-kit-desc
productEntity: WeaponPistolCHIMPUpgradeKit
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
categories:
@@ -1694,6 +1973,9 @@
name: uplink-proximity-mine-name
description: uplink-proximity-mine-desc
productEntity: WetFloorSignMineExplosive
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 5 # was 4, with my buff made it 5 to be closer to minibomb -panzer
categories:
@@ -1712,6 +1994,9 @@
name: uplink-syndicate-sponge-box-name
description: uplink-syndicate-sponge-box-desc
icon: { sprite: Objects/Misc/monkeycube.rsi, state: box}
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 4
productEntity: SyndicateSpongeBox
cost:
Telecrystal: 7
@@ -1731,6 +2016,9 @@
description: uplink-cane-blade-desc
icon: { sprite: Objects/Weapons/Melee/cane.rsi, state: cane}
productEntity: CaneSheathFilled
discountCategory: rareDiscounts
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 5
categories:

View File

@@ -94,3 +94,7 @@
id: RevenantAbilities
name: store-category-abilities
- type: storeCategory
id: DiscountedItems
name: store-discounted-items
priority: 200