12/21 modernizations from TG live (#103)

* sync (#3)

* shuttle auto call

* Merge /vore into /master (#39)

* progress

* Compile errors fixed

No idea if it's test worthy tho as conflicts with race overhaul and
narky removal.

* Update admins.txt

* efforts continue

Fuck grab code, seriously

* grab code is cancer

* Execute the Narkism

Do not hesitate.

Show no mercy.

* holy shit grab code is awful

* have I bitched about grab code

My bitching, let me show you it

* código de agarre es una mierda

No really it is

* yeah I don't even know anymore.

* Lolnope. Fuck grab code

* I'm not even sure what to fix anymore

* Self eating is not an acceptable fate

* Taste the void, son.

* My code doesn't pass it's own sanity check.

Maybe it's a sign of things to come.

* uncommented and notes

* It Works and I Don't Know Why (#38)

* shuttle auto call

* it works and I don't know why

* Subsystem 12/21

Most Recent TG subsystem folder

* globalvars 12/21

Tossed out the flavor_misc and parallax files

* Onclick 12/21

as well as .dme updates

* _defines 12/21

ommited old _MC.dm

* _HELPERS 12/21

Preserved snowflake placement of furry sprites

* _defeines/genetics

reapplied narkism holdover for snowflake races.

* Oops forgot mutant colors

* modules porting 12/21 + Sounds/icons

Admin, Client and most of mob life files ommitted

* enviroment file

* Admin optimizations

ahelp log system kept

* Mob ports 12/21

Flavor text preserved

* datums ported 12/21

* Game ported 12/21

* batch of duplicate fixes/dogborg work

Dogborgs need to be modernized to refractored borg standards.

* moar fixes

* Maps and futher compile fixes
This commit is contained in:
Poojawa
2016-12-22 03:57:55 -06:00
committed by GitHub
parent f5e143a452
commit cf59ac1c3d
2215 changed files with 707445 additions and 87041 deletions
+56 -24
View File
@@ -5,24 +5,42 @@
icon_state = "paper_bin1"
item_state = "sheet-metal"
throwforce = 0
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
throw_speed = 3
throw_range = 7
pressure_resistance = 8
burn_state = FLAMMABLE
var/amount = 30 //How much paper is in the bin.
var/list/papers = new/list() //List of papers put in the bin for reference.
var/total_paper = 30
var/list/papers = list()
var/obj/item/weapon/pen/bin_pen
/obj/item/weapon/paper_bin/fire_act()
if(!amount)
/obj/item/weapon/paper_bin/initialize()
var/obj/item/weapon/pen/P = locate(/obj/item/weapon/pen) in src.loc
if(P && !bin_pen)
P.loc = src
bin_pen = P
update_icon()
var/static/warned = FALSE
if(!warned)
warning("one or more paperbins ate a pen duing initialize()")
warned = TRUE
/obj/item/weapon/paper_bin/fire_act(exposed_temperature, exposed_volume)
if(!total_paper)
return
..()
/obj/item/weapon/paper_bin/burn()
amount = 0
extinguish()
update_icon()
return
/obj/item/weapon/paper_bin/Destroy()
if(papers)
for(var/i in papers)
qdel(i)
papers = null
. = ..()
/obj/item/weapon/paper_bin/fire_act(exposed_temperature, exposed_volume)
if(total_paper)
total_paper = 0
update_icon()
..()
/obj/item/weapon/paper_bin/MouseDrop(atom/over_object)
var/mob/living/M = usr
@@ -37,11 +55,7 @@
if(!remove_item_from_storage(M))
if(!M.unEquip(src))
return
switch(H.slot_id)
if(slot_r_hand)
M.put_in_r_hand(src)
if(slot_l_hand)
M.put_in_l_hand(src)
M.put_in_hand(src, H.held_index)
add_fingerprint(M)
@@ -54,12 +68,19 @@
if(user.lying)
return
user.changeNext_move(CLICK_CD_MELEE)
if(amount >= 1)
amount--
if(bin_pen)
var/obj/item/weapon/pen/P = bin_pen
P.loc = user.loc
user.put_in_hands(P)
user << "<span class='notice'>You take [P] out of \the [src].</span>"
bin_pen = null
update_icon()
else if(total_paper >= 1)
total_paper--
update_icon()
// If there's any custom paper on the stack, use that instead of creating a new paper.
var/obj/item/weapon/paper/P
if(papers.len > 0) //If there's any custom paper on the stack, use that instead of creating a new paper.
if(papers.len > 0)
P = papers[papers.len]
papers.Remove(P)
else
@@ -87,21 +108,32 @@
P.loc = src
user << "<span class='notice'>You put [P] in [src].</span>"
papers.Add(P)
amount++
total_paper++
update_icon()
else if(istype(I, /obj/item/weapon/pen))
var/obj/item/weapon/pen/P = I
if(!user.unEquip(P))
return
P.loc = src
user << "<span class='notice'>You put [P] in [src].</span>"
bin_pen = P
update_icon()
else
return ..()
/obj/item/weapon/paper_bin/examine(mob/user)
..()
if(amount)
user << "It contains " + (amount > 1 ? "[amount] papers" : " one paper")+"."
if(total_paper)
user << "It contains " + (total_paper > 1 ? "[total_paper] papers" : " one paper")+"."
else
user << "It doesn't contain anything."
/obj/item/weapon/paper_bin/update_icon()
if(amount < 1)
if(total_paper < 1)
icon_state = "paper_bin0"
else
icon_state = "paper_bin1"
cut_overlays()
if(bin_pen)
add_overlay(image(icon=bin_pen.icon,icon_state=bin_pen.icon_state))