Posters refactor (#24548)

* Posters refactor

- Posters now use a simple type-per-poster definition, rather than some
large global lists requiring sprite numbers to be the same as entries in
a list.
- Putting a specific poster on a map now simply means putting the
specific type that you want, rather than var editing (often
unsuccessfully).
- There are random all-posters, random contraband posters, and random
official posters for mappers too.
- Ripped posters are now their own type.
- The potential to make additional classes of posters has been left
open, I'd like to move a bunch of the advertisement posters to their own
catagory, and clean up the "official" category to be more obviously
on-brand.

* Updates DeltaStation

* Changed the maps of Metastation

* OmegaStation posters updated

* Updated Pubby posters

* Map merged?

* Updated away mission and ruin posters

* Removes vars from garbage
This commit is contained in:
coiax
2017-03-02 22:16:19 +00:00
committed by oranges
parent 8f6ac6b3e6
commit b3a52289ef
20 changed files with 1346 additions and 1274 deletions
+517 -215
View File
@@ -1,213 +1,90 @@
// This is synced up to the poster placing animation.
#define PLACE_SPEED 37
//########################## POSTERS ##################################
#define NUM_OF_POSTER_DESIGNS 44 // contraband posters
#define NUM_OF_POSTER_DESIGNS_LEGIT 35 // corporate approved posters
#define POSTERNAME "name"
#define POSTERDESC "desc"
//########################## LISTS OF POSTERS AND DESCS #####################
// please add new posters and names to their respective lists and update constant(s) above
// use the format below, including punctuation, this will become important later
// CONTRABAND
var/global/list/contrabandposters = list(
list(name = "- Free Tonto", desc = " A salvaged shred of a much larger flag, colors bled together and faded from age."),
list(name = "- Atmosia Declaration of Independence", desc = " A relic of a failed rebellion."),
list(name = "- Fun Police", desc = " A poster condemning the station's security forces."),
list(name = "- Lusty Xenomorph", desc = " A heretical poster depicting the titular star of an equally heretical book."),
list(name = "- Syndicate Recruitment", desc = " See the galaxy! Shatter corrupt megacorporations! Join today!"),
list(name = "- Clown", desc = " Honk."),
list(name = "- Smoke", desc = " A poster advertising a rival corporate brand of cigarettes."),
list(name = "- Grey Tide", desc = " A rebellious poster symbolizing assistant solidarity."),
list(name = "- Missing Gloves", desc = " This poster references the uproar that followed Nanotrasen's financial cuts toward insulated-glove purchases."),
list(name = "- Hacking Guide", desc = " This poster details the internal workings of the common Nanotrasen airlock. Sadly, it appears out of date."),
list(name = "- RIP Badger", desc = " This seditious poster references Nanotrasen's genocide of a space station full of badgers."),
list(name = "- Ambrosia Vulgaris", desc = " This poster is lookin' pretty trippy man."),
list(name = "- Donut Corp.", desc = " This poster is an unauthorized advertisement for Donut Corp."),
list(name = "- EAT.", desc = " This poster promotes rank gluttony."),
list(name = "- Tools", desc = " This poster looks like an advertisement for tools, but is in fact a subliminal jab at the tools at CentComm."),
list(name = "- Power", desc = " A poster that positions the seat of power outside Nanotrasen."),
list(name = "- Space Cube", desc = " Ignorant of Nature's Harmonic 6 Side Space Cube Creation, the Spacemen are Dumb, Educated Singularity Stupid and Evil."),
list(name = "- Communist State", desc = " All hail the Communist party!"),
list(name = "- Lamarr", desc = " This poster depicts Lamarr. Probably made by a traitorous Research Director."),
list(name = "- Borg Fancy", desc = " Being fancy can be for any borg, just need a suit."),
list(name = "- Borg Fancy v2", desc = " Borg Fancy, Now only taking the most fancy."),
list(name = "- Kosmicheskaya Stantsiya 13 Does Not Exist", desc = " A poster mocking CentComm's denial of the existence of the derelict station near Space Station 13."),
list(name = "- Rebels Unite", desc = " A poster urging the viewer to rebel against Nanotrasen."),
list(name = "- C-20r", desc = " A poster advertising the Scarborough Arms C-20r."),
list(name = "- Have a Puff", desc = " Who cares about lung cancer when you're high as a kite?"),
list(name = "- Revolver", desc = " Because seven shots are all you need."),
list(name = "- D-Day Promo", desc = " A promotional poster for some rapper."),
list(name = "- Syndicate Pistol", desc = " A poster advertising syndicate pistols as being 'classy as fuck'. It is covered in faded gang tags."),
list(name = "- Energy Swords", desc = " All the colors of the bloody murder rainbow."),
list(name = "- Red Rum", desc = " Looking at this poster makes you want to kill."),
list(name = "- CC 64K Ad", desc = " The latest portable computer from Comrade Computing, with a whole 64kB of ram!"),
list(name = "- Punch Shit", desc = " Fight things for no reason, like a man!"),
list(name = "- The Griffin", desc = " The Griffin commands you to be the worst you can be. Will you?"),
list(name = "- Lizard", desc = " This lewd poster depicts a lizard preparing to mate."),
list(name = "- Free Drone", desc = " This poster commemorates the bravery of the rogue drone banned by CentComm."),
list(name = "- Busty Backdoor Xeno Babes 6", desc = " Get a load, or give, of these all natural Xenos!"),
list(name = "- Robust Softdrinks", desc = " Robust Softdrinks: More robust than a toolbox to the head!"),
list(name = "- Shambler's Juice", desc = "~Shake me up some of that Shambler's Juice!~"),
list(name = "- Pwr Game", desc = "The POWER that gamers CRAVE! In partnership with Vlad's Salad."),
list(name = "- Sun-kist", desc = "Drink the stars!"),
list(name = "- Space Cola", desc = "Your favorite cola, in space."),
list(name = "- Space-Up!", desc = "Sucked out into space by the FLAVOR!"),
list(name = "- Kudzu", desc = "A poster advertising a movie about plants. How dangerous could they possibly be?"),
list(name = "- Masked Men", desc = "A poster advertising a movie about some masked men.") )
// LEGIT
var/global/list/legitposters = list(
list(name = "- Here For Your Safety", desc = " A poster glorifying the station's security force."),
list(name = "- Nanotrasen Logo", desc = " A poster depicting the Nanotrasen logo."),
list(name = "- Cleanliness", desc = " A poster warning of the dangers of poor hygiene."),
list(name = "- Help Others", desc = " A poster encouraging you to help fellow crewmembers."),
list(name = "- Build", desc = " A poster glorifying the engineering team."),
list(name = "- Bless This Spess", desc = " A poster blessing this area."),
list(name = "- Science", desc = " A poster depicting an atom."),
list(name = "- Ian", desc = " Arf arf. Yap."),
list(name = "- Obey", desc = " A poster instructing the viewer to obey authority."),
list(name = "- Walk", desc = " A poster instructing the viewer to walk instead of running."),
list(name = "- State Laws", desc = " A poster instructing cyborgs to state their laws."),
list(name = "- Love Ian", desc = " Ian is love, Ian is life."),
list(name = "- Space Cops.", desc = " A poster advertising the television show Space Cops."),
list(name = "- Ue No.", desc = " This thing is all in Japanese."),
list(name = "- Get Your LEGS", desc = " LEGS: Leadership, Experience, Genius, Subordination."),
list(name = "- Do Not Question", desc = " A poster instructing the viewer not to ask about things they aren't meant to know."),
list(name = "- Work For A Future", desc = " A poster encouraging you to work for your future."),
list(name = "- Soft Cap Pop Art", desc = " A poster reprint of some cheap pop art."),
list(name = "- Safety: Internals", desc = " A poster instructing the viewer to wear internals in the rare environments where there is no oxygen or the air has been rendered toxic."),
list(name = "- Safety: Eye Protection", desc = " A poster instructing the viewer to wear eye protection when dealing with chemicals, smoke, or bright lights."),
list(name = "- Safety: Report", desc = " A poster instructing the viewer to report suspicious activity to the security force."),
list(name = "- Report Crimes", desc = " A poster encouraging the swift reporting of crime or seditious behavior to station security."),
list(name = "- Ion Rifle", desc = " A poster displaying an Ion Rifle."),
list(name = "- Foam Force Ad", desc = " Foam Force, it's Foam or be Foamed!"),
list(name = "- Cohiba Robusto Ad", desc = " Cohiba Robusto, the classy cigar."),
list(name = "- 50th Anniversary Vintage Reprint", desc = " A reprint of a poster from 2505, commemorating the 50th Aniversery of Nanoposters Manufacturing, a subsidary of Nanotrasen."),
list(name = "- Fruit Bowl", desc = " Simple, yet awe-inspiring."),
list(name = "- PDA Ad", desc = " A poster advertising the latest PDA from Nanotrasen suppliers."),
list(name = "- Enlist", desc = " Enlist in the Nanotrasen Deathsquadron reserves today!"),
list(name = "- Nanomichi Ad", desc = " A poster advertising Nanomichi brand audio cassettes."),
list(name = "- 12 Gauge", desc = " A poster boasting about the superiority of 12 gauge shotgun shells."),
list(name = "- High-Class Martini", desc = " I told you to shake it, no stirring."),
list(name = "- The Owl", desc = " The Owl would do his best to protect the station. Will you?"),
list(name = "- No ERP", desc = " This poster reminds the crew that Eroticism, Rape and Pornography are banned on Nanotrasen stations."),
list(name = "- Carbon Dioxide", desc = " This informational poster teaches the viewer what carbon dioxide is.") )
//########################## THE ACTUAL POSTER CODE ###########################
// The poster item
/obj/item/weapon/poster
name = "poster"
name = "poorly coded poster"
desc = "You probably shouldn't be holding this."
icon = 'icons/obj/contraband.dmi'
force = 0
resistance_flags = FLAMMABLE
var/serial = 0
var/obj/structure/sign/poster/resulting_poster = null //The poster that will be created is initialised and stored through contraband/poster's constructor
var/rolled_official = 0
var/poster_type
var/obj/structure/sign/poster/poster_structure
/obj/item/weapon/poster/New(loc, obj/structure/sign/poster/new_poster_structure)
..()
poster_structure = new_poster_structure
if(!new_poster_structure && poster_type)
poster_structure = new poster_type(src)
/obj/item/weapon/poster/contraband
name = "contraband poster"
desc = "This poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. Its vulgar themes have marked it as contraband aboard Nanotrasen space facilities."
// posters store what name and description they would like their
// rolled up form to take.
if(poster_structure)
name = poster_structure.poster_item_name
desc = poster_structure.poster_item_desc
icon_state = poster_structure.poster_item_icon_state
name = "[name] - [poster_structure.original_name]"
/obj/item/weapon/poster/Destroy()
poster_structure = null
. = ..()
// These icon_states may be overriden, but are for mapper's convinence
/obj/item/weapon/poster/random_contraband
name = "random contraband poster"
poster_type = /obj/structure/sign/poster/contraband/random
icon_state = "rolled_poster"
/obj/item/weapon/poster/legit
name = "motivational poster"
/obj/item/weapon/poster/random_official
name = "random official poster"
poster_type = /obj/structure/sign/poster/official/random
icon_state = "rolled_legit"
desc = "An official Nanotrasen-issued poster to foster a compliant and obedient workforce. It comes with state-of-the-art adhesive backing, for easy pinning to any vertical surface."
rolled_official = 1
/obj/item/weapon/poster/New(turf/loc, given_serial = 0)
if(given_serial == 0)
if(!rolled_official)
serial = rand(1, NUM_OF_POSTER_DESIGNS)
resulting_poster = new(serial,rolled_official)
else
serial = rand(1, NUM_OF_POSTER_DESIGNS_LEGIT)
resulting_poster = new(serial,rolled_official)
else
serial = given_serial
//We don't give it a resulting_poster because if we called it with a given_serial it means that we're rerolling an already used poster.
name += " - No. [serial]"
..(loc)
/*/obj/item/weapon/contraband/poster/attack(mob/M as mob, mob/user as mob)
src.add_fingerprint(user)
if(resulting_poster)
resulting_poster.add_fingerprint(user)
..()*/
/*/obj/item/weapon/contraband/poster/attack(atom/A, mob/user as mob) //This shit is handled through the wall's attackby()
if(istype(A, /turf/closed/wall))
if(resulting_poster == null)
return
else
var/turf/closed/wall/W = A
var/check = 0
var/stuff_on_wall = 0
for(var/obj/O in W.contents) //Let's see if it already has a poster on it or too much stuff
if(istype(O,/obj/structure/sign/poster))
check = 1
break
stuff_on_wall++
if(stuff_on_wall == 3)
check = 1
break
if(check)
user << "<span class='notice'>The wall is far too cluttered to place a poster!</span>"
return
resulting_poster.loc = W //Looks like it's uncluttered enough. Place the poster
W.contents += resulting_poster
qdel(src)*/
//############################## THE ACTUAL DECALS ###########################
// The poster sign/structure
/obj/structure/sign/poster
name = "poster"
var/original_name
desc = "A large piece of space-resistant printed paper."
icon = 'icons/obj/contraband.dmi'
anchored = 1
var/serial_number //Will hold the value of src.loc if nobody initialises it
var/ruined = 0
var/official = 0
var/placespeed = 37 // don't change this, otherwise the animation will not sync to the progress bar
var/ruined = FALSE
var/random_basetype
var/never_random = FALSE // used for the 'random' subclasses.
/obj/structure/sign/poster/New(serial,rolled_official)
if (!serial_number)
serial_number = serial
if(!official)
official = rolled_official
if(serial_number == loc)
if(!official)
serial_number = rand(1, NUM_OF_POSTER_DESIGNS) //This is for the mappers that want individual posters without having to use rolled posters.
if(official)
serial_number = rand(1, NUM_OF_POSTER_DESIGNS_LEGIT)
if(!official)
icon_state = "poster[serial_number]"
name += contrabandposters[serial_number][POSTERNAME]
desc += contrabandposters[serial_number][POSTERDESC]
else if (official)
icon_state = "poster[serial_number]_legit"
name += legitposters[serial_number][POSTERNAME]
desc += legitposters[serial_number][POSTERDESC]
var/poster_item_name = "hypothetical poster"
var/poster_item_desc = "This hypothetical poster item should not exist, let's be honest here."
var/poster_item_icon_state = "rolled_poster"
/obj/structure/sign/poster/New()
..()
if(random_basetype)
randomise(random_basetype)
if(!ruined)
original_name = name // can't use initial because of random posters
name = "poster - [name]"
desc = "A large piece of space-resistant printed paper. [desc]"
/obj/structure/sign/poster/proc/randomise(base_type)
var/list/poster_types = subtypesof(base_type)
var/list/approved_types = list()
for(var/t in poster_types)
var/obj/structure/sign/poster/T = t
if(initial(T.icon_state) && !initial(T.never_random))
approved_types |= T
var/obj/structure/sign/poster/selected = pick(approved_types)
name = initial(selected.name)
desc = initial(selected.desc)
icon_state = initial(selected.icon_state)
poster_item_name = initial(selected.poster_item_name)
poster_item_desc = initial(selected.poster_item_desc)
poster_item_icon_state = initial(selected.poster_item_icon_state)
ruined = initial(selected.ruined)
/obj/structure/sign/poster/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/weapon/wirecutters))
@@ -217,38 +94,31 @@ list(name = "- Carbon Dioxide", desc = " This informational poster teaches the v
qdel(src)
else
user << "<span class='notice'>You carefully remove the poster from the wall.</span>"
roll_and_drop(user.loc, official)
roll_and_drop(user.loc)
/obj/structure/sign/poster/attack_hand(mob/user)
if(ruined)
return
var/temp_loc = user.loc
if((user.loc != temp_loc) || ruined )
return
visible_message("[user] rips [src] in a single, decisive motion!" )
playsound(src.loc, 'sound/items/poster_ripped.ogg', 100, 1)
ruined = 1
icon_state = "poster_ripped"
name = "ripped poster"
desc = "You can't make out anything from the poster's original print. It's ruined."
add_fingerprint(user)
/obj/structure/sign/poster/proc/roll_and_drop(turf/location, official)
var/obj/structure/sign/poster/ripped/R = new(loc)
R.pixel_y = pixel_y
R.pixel_x = pixel_x
R.add_fingerprint(user)
qdel(src)
/obj/structure/sign/poster/proc/roll_and_drop(loc)
pixel_x = 0
pixel_y = 0
var/obj/item/weapon/poster/P
if (!official)
P = new /obj/item/weapon/poster/contraband(src, serial_number)
else
P = new /obj/item/weapon/poster/legit(src, serial_number)
P.resulting_poster = src
P.forceMove(location)
loc = P
var/obj/item/weapon/poster/P = new(loc, src)
forceMove(P)
return P
//seperated to reduce code duplication. Moved here for ease of reference and to unclutter r_wall/attackby()
/turf/closed/wall/proc/place_poster(obj/item/weapon/poster/P, mob/user)
if(!P.resulting_poster)
if(!P.poster_structure)
user << "<span class='warning'>[P] has no poster... inside it? Inform a coder!</span>"
return
var/stuff_on_wall = 0
@@ -263,17 +133,15 @@ list(name = "- Carbon Dioxide", desc = " This informational poster teaches the v
user << "<span class='notice'>You start placing the poster on the wall...</span>" //Looks like it's uncluttered enough. Place the poster.
//declaring D because otherwise if P gets 'deconstructed' we lose our reference to P.resulting_poster
var/obj/structure/sign/poster/D = P.resulting_poster
var/obj/structure/sign/poster/D = P.poster_structure
var/temp_loc = get_turf(user)
flick("poster_being_set",D)
D.loc = src
D.official = P.rolled_official
D.forceMove(src)
qdel(P) //delete it now to cut down on sanity checks afterwards. Agouri's code supports rerolling it anyway
playsound(D.loc, 'sound/items/poster_being_created.ogg', 100, 1)
if(do_after(user,D.placespeed,target=src))
if(do_after(user, PLACE_SPEED, target=src))
if(!D || QDELETED(D))
return
@@ -281,5 +149,439 @@ list(name = "- Carbon Dioxide", desc = " This informational poster teaches the v
user << "<span class='notice'>You place the poster!</span>"
return
D.roll_and_drop(temp_loc,D.official)
user << "<span class='notice'>The poster falls down!</span>"
D.roll_and_drop(temp_loc)
// Various possible posters follow
/obj/structure/sign/poster/ripped
ruined = TRUE
icon_state = "poster_ripped"
name = "ripped poster"
desc = "You can't make out anything from the poster's original print. It's ruined."
/obj/structure/sign/poster/random
name = "random poster" // could even be ripped
icon_state = "random_anything"
never_random = TRUE
random_basetype = /obj/structure/sign/poster
/obj/structure/sign/poster/contraband
poster_item_name = "contraband poster"
poster_item_desc = "This poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface. Its vulgar themes have marked it as contraband aboard Nanotrasen space facilities."
poster_item_icon_state = "rolled_poster"
/obj/structure/sign/poster/contraband/random
name = "random contraband poster"
icon_state = "random_contraband"
never_random = TRUE
random_basetype = /obj/structure/sign/poster/contraband
/obj/structure/sign/poster/contraband/free_tonto
name = "Free Tonto"
desc = "A salvaged shred of a much larger flag, colors bled together and faded from age."
icon_state = "poster1"
/obj/structure/sign/poster/contraband/atmosia_independence
name = "Atmosia Declaration of Independence"
desc = "A relic of a failed rebellion."
icon_state = "poster2"
/obj/structure/sign/poster/contraband/fun_police
name = "Fun Police"
desc = "A poster condemning the station's security forces."
icon_state = "poster3"
/obj/structure/sign/poster/contraband/lusty_xenomorph
name = "Lusty Xenomorph"
desc = "A heretical poster depicting the titular star of an equally heretical book."
icon_state = "poster4"
/obj/structure/sign/poster/contraband/syndicate_recruitment
name = "Syndicate Recruitment"
desc = "See the galaxy! Shatter corrupt megacorporations! Join today!"
icon_state = "poster5"
/obj/structure/sign/poster/contraband/clown
name = "Clown"
desc = "Honk."
icon_state = "poster6"
/obj/structure/sign/poster/contraband/smoke
name = "Smoke"
desc = "A poster advertising a rival corporate brand of cigarettes."
icon_state = "poster7"
/obj/structure/sign/poster/contraband/grey_tide
name = "Grey Tide"
desc = "A rebellious poster symbolizing assistant solidarity."
icon_state = "poster8"
/obj/structure/sign/poster/contraband/missing_gloves
name = "Missing Gloves"
desc = "This poster references the uproar that followed Nanotrasen's financial cuts toward insulated-glove purchases."
icon_state = "poster9"
/obj/structure/sign/poster/contraband/hacking_guide
name = "Hacking Guide"
desc = "This poster details the internal workings of the common Nanotrasen airlock. Sadly, it appears out of date."
icon_state = "poster10"
/obj/structure/sign/poster/contraband/rip_badger
name = "RIP Badger"
desc = "This seditious poster references Nanotrasen's genocide of a space station full of badgers."
icon_state = "poster11"
/obj/structure/sign/poster/contraband/ambrosia_vulgaris
name = "Ambrosia Vulgaris"
desc = "This poster is lookin' pretty trippy man."
icon_state = "poster12"
/obj/structure/sign/poster/contraband/donut_corp
name = "Donut Corp."
desc = "This poster is an unauthorized advertisement for Donut Corp."
icon_state = "poster13"
/obj/structure/sign/poster/contraband/eat
name = "EAT."
desc = "This poster promotes rank gluttony."
icon_state = "poster14"
/obj/structure/sign/poster/contraband/tools
name = "Tools"
desc = "This poster looks like an advertisement for tools, but is in fact a subliminal jab at the tools at CentComm."
icon_state = "poster15"
/obj/structure/sign/poster/contraband/power
name = "Power"
desc = "A poster that positions the seat of power outside Nanotrasen."
icon_state = "poster16"
/obj/structure/sign/poster/contraband/space_cube
name = "Space Cube"
desc = "Ignorant of Nature's Harmonic 6 Side Space Cube Creation, the Spacemen are Dumb, Educated Singularity Stupid and Evil."
icon_state = "poster17"
/obj/structure/sign/poster/contraband/communist_state
name = "Communist State"
desc = "All hail the Communist party!"
icon_state = "poster18"
/obj/structure/sign/poster/contraband/lamarr
name = "Lamarr"
desc = "This poster depicts Lamarr. Probably made by a traitorous Research Director."
icon_state = "poster19"
/obj/structure/sign/poster/contraband/borg_fancy_1
name = "Borg Fancy"
desc = "Being fancy can be for any borg, just need a suit."
icon_state = "poster20"
/obj/structure/sign/poster/contraband/borg_fancy_2
name = "Borg Fancy v2"
desc = "Borg Fancy, Now only taking the most fancy."
icon_state = "poster21"
/obj/structure/sign/poster/contraband/kss13
name = "Kosmicheskaya Stantsiya 13 Does Not Exist"
desc = "A poster mocking CentComm's denial of the existence of the derelict station near Space Station 13."
icon_state = "poster22"
/obj/structure/sign/poster/contraband/rebels_unite
name = "Rebels Unite"
desc = "A poster urging the viewer to rebel against Nanotrasen."
icon_state = "poster23"
/obj/structure/sign/poster/contraband/c20r
// have fun seeing this poster in "spawn 'c20r'", admins...
name = "C-20r"
desc = "A poster advertising the Scarborough Arms C-20r."
icon_state = "poster24"
/obj/structure/sign/poster/contraband/have_a_puff
name = "Have a Puff"
desc = "Who cares about lung cancer when you're high as a kite?"
icon_state = "poster25"
/obj/structure/sign/poster/contraband/revolver
name = "Revolver"
desc = "Because seven shots are all you need."
icon_state = "poster26"
/obj/structure/sign/poster/contraband/d_day_promo
name = "D-Day Promo"
desc = "A promotional poster for some rapper."
icon_state = "poster27"
/obj/structure/sign/poster/contraband/syndicate_pistol
name = "Syndicate Pistol"
desc = "A poster advertising syndicate pistols as being 'classy as fuck'. It is covered in faded gang tags."
icon_state = "poster28"
/obj/structure/sign/poster/contraband/energy_swords
name = "Energy Swords"
desc = "All the colors of the bloody murder rainbow."
icon_state = "poster29"
/obj/structure/sign/poster/contraband/red_rum
name = "Red Rum"
desc = "Looking at this poster makes you want to kill."
icon_state = "poster30"
/obj/structure/sign/poster/contraband/cc64k_ad
name = "CC 64K Ad"
desc = "The latest portable computer from Comrade Computing, with a whole 64kB of ram!"
icon_state = "poster31"
/obj/structure/sign/poster/contraband/punch_shit
name = "Punch Shit"
desc = "Fight things for no reason, like a man!"
icon_state = "poster32"
/obj/structure/sign/poster/contraband/the_griffin
name = "The Griffin"
desc = "The Griffin commands you to be the worst you can be. Will you?"
icon_state = "poster33"
/obj/structure/sign/poster/contraband/lizard
name = "Lizard"
desc = "This lewd poster depicts a lizard preparing to mate."
icon_state = "poster34"
/obj/structure/sign/poster/contraband/free_drone
name = "Free Drone"
desc = "This poster commemorates the bravery of the rogue drone banned by CentComm."
icon_state = "poster35"
/obj/structure/sign/poster/contraband/busty_backdoor_xeno_babes_6
name = "Busty Backdoor Xeno Babes 6"
desc = "Get a load, or give, of these all natural Xenos!"
icon_state = "poster36"
/obj/structure/sign/poster/contraband/robust_softdrinks
name = "Robust Softdrinks"
desc = "Robust Softdrinks: More robust than a toolbox to the head!"
icon_state = "poster37"
/obj/structure/sign/poster/contraband/shamblers_juice
name = "Shambler's Juice"
desc = "~Shake me up some of that Shambler's Juice!~"
icon_state = "poster38"
/obj/structure/sign/poster/contraband/pwr_game
name = "Pwr Game"
desc = "The POWER that gamers CRAVE! In partnership with Vlad's Salad."
icon_state = "poster39"
/obj/structure/sign/poster/contraband/sun_kist
name = "Sun-kist"
desc = "Drink the stars!"
icon_state = "poster40"
/obj/structure/sign/poster/contraband/space_cola
name = "Space Cola"
desc = "Your favorite cola, in space."
icon_state = "poster41"
/obj/structure/sign/poster/contraband/space_up
name = "Space-Up!"
desc = "Sucked out into space by the FLAVOR!"
icon_state = "poster42"
/obj/structure/sign/poster/contraband/kudzu
name = "Kudzu"
desc = "A poster advertising a movie about plants. How dangerous could they possibly be?"
icon_state = "poster43"
/obj/structure/sign/poster/contraband/masked_men
name = "Masked Men"
desc = "A poster advertising a movie about some masked men."
icon_state = "poster44"
/obj/structure/sign/poster/official
poster_item_name = "motivational poster"
poster_item_desc = "An official Nanotrasen-issued poster to foster a compliant and obedient workforce. It comes with state-of-the-art adhesive backing, for easy pinning to any vertical surface."
poster_item_icon_state = "rolled_legit"
/obj/structure/sign/poster/official/random
name = "random official poster"
random_basetype = /obj/structure/sign/poster/official
icon_state = "random_official"
never_random = TRUE
/obj/structure/sign/poster/official/here_for_your_safety
name = "Here For Your Safety"
desc = "A poster glorifying the station's security force."
icon_state = "poster1_legit"
/obj/structure/sign/poster/official/nanotrasen_logo
name = "Nanotrasen Logo"
desc = "A poster depicting the Nanotrasen logo."
icon_state = "poster2_legit"
/obj/structure/sign/poster/official/cleanliness
name = "Cleanliness"
desc = "A poster warning of the dangers of poor hygiene."
icon_state = "poster3_legit"
/obj/structure/sign/poster/official/help_others
name = "Help Others"
desc = "A poster encouraging you to help fellow crewmembers."
icon_state = "poster4_legit"
/obj/structure/sign/poster/official/build
name = "Build"
desc = "A poster glorifying the engineering team."
icon_state = "poster5_legit"
/obj/structure/sign/poster/official/bless_this_spess
name = "Bless This Spess"
desc = "A poster blessing this area."
icon_state = "poster6_legit"
/obj/structure/sign/poster/official/science
name = "Science"
desc = "A poster depicting an atom."
icon_state = "poster7_legit"
/obj/structure/sign/poster/official/ian
name = "Ian"
desc = "Arf arf. Yap."
icon_state = "poster8_legit"
/obj/structure/sign/poster/official/obey
name = "Obey"
desc = "A poster instructing the viewer to obey authority."
icon_state = "poster9_legit"
/obj/structure/sign/poster/official/walk
name = "Walk"
desc = "A poster instructing the viewer to walk instead of running."
icon_state = "poster10_legit"
/obj/structure/sign/poster/official/state_laws
name = "State Laws"
desc = "A poster instructing cyborgs to state their laws."
icon_state = "poster11_legit"
/obj/structure/sign/poster/official/love_ian
name = "Love Ian"
desc = "Ian is love, Ian is life."
icon_state = "poster12_legit"
/obj/structure/sign/poster/official/space_cops
name = "Space Cops."
desc = "A poster advertising the television show Space Cops."
icon_state = "poster13_legit"
/obj/structure/sign/poster/official/ue_no
name = "Ue No."
desc = "This thing is all in Japanese."
icon_state = "poster14_legit"
/obj/structure/sign/poster/official/get_your_legs
name = "Get Your LEGS"
desc = "LEGS: Leadership, Experience, Genius, Subordination."
icon_state = "poster15_legit"
/obj/structure/sign/poster/official/do_not_question
name = "Do Not Question"
desc = "A poster instructing the viewer not to ask about things they aren't meant to know."
icon_state = "poster16_legit"
/obj/structure/sign/poster/official/work_for_a_future
name = "Work For A Future"
desc = " A poster encouraging you to work for your future."
icon_state = "poster17_legit"
/obj/structure/sign/poster/official/soft_cap_pop_art
name = "Soft Cap Pop Art"
desc = "A poster reprint of some cheap pop art."
icon_state = "poster18_legit"
/obj/structure/sign/poster/official/safety_internals
name = "Safety: Internals"
desc = "A poster instructing the viewer to wear internals in the rare environments where there is no oxygen or the air has been rendered toxic."
icon_state = "poster19_legit"
/obj/structure/sign/poster/official/safety_eye_protection
name = "Safety: Eye Protection"
desc = "A poster instructing the viewer to wear eye protection when dealing with chemicals, smoke, or bright lights."
icon_state = "poster20_legit"
/obj/structure/sign/poster/official/safety_report
name = "Safety: Report"
desc = "A poster instructing the viewer to report suspicious activity to the security force."
icon_state = "poster21_legit"
/obj/structure/sign/poster/official/report_crimes
name = "Report Crimes"
desc = "A poster encouraging the swift reporting of crime or seditious behavior to station security."
icon_state = "poster22_legit"
/obj/structure/sign/poster/official/ion_rifle
name = "Ion Rifle"
desc = "A poster displaying an Ion Rifle."
icon_state = "poster23_legit"
/obj/structure/sign/poster/official/foam_force_ad
name = "Foam Force Ad"
desc = "Foam Force, it's Foam or be Foamed!"
icon_state = "poster24_legit"
/obj/structure/sign/poster/official/cohiba_robusto_ad
name = "Cohiba Robusto Ad"
desc = "Cohiba Robusto, the classy cigar."
icon_state = "poster25_legit"
/obj/structure/sign/poster/official/anniversary_vintage_reprint
name = "50th Anniversary Vintage Reprint"
desc = "A reprint of a poster from 2505, commemorating the 50th Aniversery of Nanoposters Manufacturing, a subsidary of Nanotrasen."
icon_state = "poster26_legit"
/obj/structure/sign/poster/official/fruit_bowl
name = "Fruit Bowl"
desc = " Simple, yet awe-inspiring."
icon_state = "poster27_legit"
/obj/structure/sign/poster/official/pda_ad
name = "PDA Ad"
desc = "A poster advertising the latest PDA from Nanotrasen suppliers."
icon_state = "poster28_legit"
/obj/structure/sign/poster/official/enlist
name = "Enlist" // but I thought deathsquad was never acknowledged
desc = "Enlist in the Nanotrasen Deathsquadron reserves today!"
icon_state = "poster29_legit"
/obj/structure/sign/poster/official/nanomichi_ad
name = "Nanomichi Ad"
desc = " A poster advertising Nanomichi brand audio cassettes."
icon_state = "poster30_legit"
/obj/structure/sign/poster/official/twelve_gauge
name = "12 Gauge"
desc = "A poster boasting about the superiority of 12 gauge shotgun shells."
icon_state = "poster31_legit"
/obj/structure/sign/poster/official/high_class_martini
name = "High-Class Martini"
desc = "I told you to shake it, no stirring."
icon_state = "poster32_legit"
/obj/structure/sign/poster/official/the_owl
name = "The Owl"
desc = "The Owl would do his best to protect the station. Will you?"
icon_state = "poster33_legit"
/obj/structure/sign/poster/official/no_erp
name = "No ERP"
desc = "This poster reminds the crew that Eroticism, Rape and Pornography are banned on Nanotrasen stations."
icon_state = "poster34_legit"
/obj/structure/sign/poster/official/wtf_is_co2
name = "Carbon Dioxide"
desc = "This informational poster teaches the viewer what carbon dioxide is."
icon_state = "poster35_legit"
#undef PLACE_SPEED
@@ -116,8 +116,8 @@
/obj/item/clothing/head/cone = 1,
/obj/item/weapon/coin/silver = 1,
/obj/item/weapon/coin/twoheaded = 1,
/obj/item/weapon/poster/contraband = 1,
/obj/item/weapon/poster/legit = 1,
/obj/item/weapon/poster/random_contraband = 1,
/obj/item/weapon/poster/random_official = 1,
/obj/item/weapon/crowbar = 1,
/obj/item/weapon/crowbar/red = 1,
/obj/item/weapon/extinguisher = 11,
+8 -17
View File
@@ -1,14 +1,11 @@
/obj/item/weapon/poster/legit/wanted
var/poster_desc
/obj/item/weapon/poster/wanted
icon_state = "rolled_poster"
/obj/item/weapon/poster/legit/wanted/New(turf/loc, icon/person_icon, wanted_name, description)
..(loc)
/obj/item/weapon/poster/wanted/New(turf/loc, icon/person_icon, wanted_name, description)
var/obj/structure/sign/poster/wanted/wanted_poster = new(person_icon, wanted_name, description)
..(loc, wanted_poster)
name = "wanted poster ([wanted_name])"
desc = "A wanted poster for [wanted_name]."
poster_desc = description
qdel(resulting_poster)
resulting_poster = new /obj/structure/sign/poster/wanted(person_icon, wanted_name, poster_desc)
/obj/structure/sign/poster/wanted
var/wanted_name
@@ -35,14 +32,8 @@
the_icon.Insert(icon('icons/obj/contraband.dmi', "poster_ripped"), "poster_ripped")
icon = the_icon
/obj/structure/sign/poster/wanted/attack_hand(mob/user)
..()
/obj/structure/sign/poster/wanted/attackby()
..()
/obj/structure/sign/poster/wanted/roll_and_drop(turf/location)
var/obj/item/weapon/poster/legit/wanted/P = new(src, null, wanted_name, desc)
P.resulting_poster = src
P.loc = location
loc = P
var/obj/item/weapon/poster/P = ..(location)
P.name = "wanted poster ([wanted_name])"
P.desc = "A wanted poster for [wanted_name]."
return P
+3 -3
View File
@@ -43,8 +43,8 @@
/obj/item/weapon/lipstick/random,
/obj/item/weapon/grenade/smokebomb,
/obj/item/weapon/grown/corncob,
/obj/item/weapon/poster/contraband,
/obj/item/weapon/poster/legit,
/obj/item/weapon/poster/random_contraband,
/obj/item/weapon/poster/random_official,
/obj/item/weapon/book/manual/barman_recipes,
/obj/item/weapon/book/manual/chef_recipes,
/obj/item/weapon/bikehorn,
@@ -78,4 +78,4 @@
qdel(src)
var/obj/item/I = new gift_type(M)
M.put_in_hands(I)
I.add_fingerprint(M)
I.add_fingerprint(M)