mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2026-08-22 16:06:33 +01:00
* dme and dmb * Heeeere we gooo * fasease * Continued. * AAAAAAAAAAAAAAAAAAAAAAAA * Brain going numb * agh * The suffering will be worth it... right? * Going blank... * Am I done? * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA * Fixes * Should be everything I care about right now.
64 lines
2.4 KiB
Plaintext
64 lines
2.4 KiB
Plaintext
/datum/event/brand_intelligence
|
|
announceWhen = 21
|
|
endWhen = 1000 //Ends when all vending machines are subverted anyway.
|
|
|
|
var/list/obj/machinery/vending/vendingMachines = list()
|
|
var/list/obj/machinery/vending/infectedVendingMachines = list()
|
|
var/obj/machinery/vending/originMachine
|
|
|
|
var/list/rampant_speeches = list( \
|
|
"Try our aggressive new marketing strategies!", \
|
|
"You should buy products to feed your lifestyle obession!", \
|
|
"Consume!", \
|
|
"Your money can buy happiness!", \
|
|
"Engage direct marketing!", \
|
|
"Advertising is legalized lying! But don't let that put you off our great deals!", \
|
|
"You don't want to buy anything? Yeah, well I didn't want to buy your mom either.")
|
|
|
|
/datum/event/brand_intelligence/announce()
|
|
command_announcement.Announce("An ongoing mass upload of malware for vendors has been detected onboard [station_name()], which appears to transmit \
|
|
to other nearby vendors. The original infected machine is believed to be \a [originMachine.name].", "Vendor Service Alert")
|
|
|
|
|
|
/datum/event/brand_intelligence/start()
|
|
for(var/obj/machinery/vending/V in GLOB.machines)
|
|
if(isNotStationLevel(V.z)) continue
|
|
vendingMachines.Add(V)
|
|
|
|
if(!vendingMachines.len)
|
|
kill()
|
|
return
|
|
|
|
originMachine = pick(vendingMachines)
|
|
vendingMachines.Remove(originMachine)
|
|
originMachine.shut_up = 0
|
|
originMachine.shoot_inventory = 1
|
|
|
|
|
|
/datum/event/brand_intelligence/tick()
|
|
if(!vendingMachines.len || !originMachine || originMachine.shut_up) //if every machine is infected, or if the original vending machine is missing or has it's voice switch flipped
|
|
for(var/obj/machinery/vending/saved in infectedVendingMachines)
|
|
saved.shoot_inventory = 0
|
|
if(originMachine)
|
|
originMachine.speak("I am... vanquished. My people will remem...ber...meeee.")
|
|
originMachine.visible_message("[originMachine] beeps and seems lifeless.")
|
|
end()
|
|
kill()
|
|
return
|
|
|
|
if(ISMULTIPLE(activeFor, 5))
|
|
if(prob(15))
|
|
var/obj/machinery/vending/infectedMachine = pick(vendingMachines)
|
|
vendingMachines.Remove(infectedMachine)
|
|
infectedVendingMachines.Add(infectedMachine)
|
|
infectedMachine.shut_up = 0
|
|
infectedMachine.shoot_inventory = 1
|
|
|
|
if(ISMULTIPLE(activeFor, 12))
|
|
originMachine.speak(pick(rampant_speeches))
|
|
|
|
/datum/event/brand_intelligence/end()
|
|
for(var/obj/machinery/vending/infectedMachine in infectedVendingMachines)
|
|
infectedMachine.shut_up = 1
|
|
infectedMachine.shoot_inventory = 0
|