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
+61 -9
View File
@@ -10,7 +10,7 @@
var/gulp_size = 5 //This is now officially broken ... need to think of a nice way to fix it.
possible_transfer_amounts = list(5,10,15,20,25,30,50)
volume = 50
burn_state = FIRE_PROOF
resistance_flags = 0
/obj/item/weapon/reagent_containers/food/drinks/New()
..()
@@ -74,10 +74,10 @@
var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
user << "<span class='notice'>You transfer [trans] units of the solution to [target].</span>"
if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
if(iscyborg(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
var/mob/living/silicon/robot/bro = user
bro.cell.use(30)
addtimer(reagents, "add_reagent", 600, FALSE, refill, trans)
addtimer(reagents, "add_reagent", 600, TIMER_NORMAL, refill, trans)
/obj/item/weapon/reagent_containers/food/drinks/attackby(obj/item/I, mob/user, params)
if(I.is_hot())
@@ -96,7 +96,7 @@
name = "pewter cup"
desc = "Everyone gets a trophy."
icon_state = "pewter_cup"
w_class = 1
w_class = WEIGHT_CLASS_TINY
force = 1
throwforce = 1
amount_per_transfer_from_this = 5
@@ -105,12 +105,13 @@
volume = 5
flags = CONDUCT | OPENCONTAINER
spillable = 1
resistance_flags = FIRE_PROOF
/obj/item/weapon/reagent_containers/food/drinks/trophy/gold_cup
name = "gold cup"
desc = "You're winner!"
icon_state = "golden_cup"
w_class = 4
w_class = WEIGHT_CLASS_BULKY
force = 14
throwforce = 10
amount_per_transfer_from_this = 20
@@ -121,7 +122,7 @@
name = "silver cup"
desc = "Best loser!"
icon_state = "silver_cup"
w_class = 3
w_class = WEIGHT_CLASS_NORMAL
force = 10
throwforce = 8
amount_per_transfer_from_this = 15
@@ -133,7 +134,7 @@
name = "bronze cup"
desc = "At least you ranked!"
icon_state = "bronze_cup"
w_class = 2
w_class = WEIGHT_CLASS_SMALL
force = 5
throwforce = 4
amount_per_transfer_from_this = 10
@@ -215,6 +216,44 @@
else
icon_state = "water_cup_e"
/obj/item/weapon/reagent_containers/food/drinks/sillycup/smallcarton
name = "small carton"
desc = "A small carton, intended for holding drinks."
icon_state = "juicebox"
volume = 15 //I figure if you have to craft these it should at least be slightly better than something you can get for free from a watercooler
/obj/item/weapon/reagent_containers/food/drinks/sillycup/smallcarton/on_reagent_change()
if (reagents.reagent_list.len)
switch(reagents.get_master_reagent_id())
if("orangejuice")
icon_state = "orangebox"
name = "orange juice box"
desc = "A great source of vitamins. Stay healthy!"
if("milk")
icon_state = "milkbox"
name = "carton of milk"
desc = "An excellent source of calcium for growing space explorers."
if("applejuice")
icon_state = "juicebox"
name = "apple juice box"
desc = "Sweet apple juice. Don't be late for school!"
if("grapejuice")
icon_state = "grapebox"
name = "grape juice box"
desc = "Tasty grape juice in a fun little container. Non-alcoholic!"
if("chocolate_milk")
icon_state = "chocolatebox"
name = "carton of chocolate milk"
desc = "Milk for cool kids!"
if("eggnog")
icon_state = "nog2"
name = "carton of eggnog"
desc = "For enjoying the most wonderful time of the year."
else
icon_state = "juicebox"
name = "small carton"
desc = "A small carton, intended for holding drinks."
//////////////////////////drinkingglass and shaker//
@@ -256,6 +295,17 @@
volume = 30
spillable = 1
///Lavaland bowls and bottles///
/obj/item/weapon/reagent_containers/food/drinks/mushroom_bowl
name = "mushroom bowl"
desc = "A bowl made out of mushrooms. Not food, though it might have contained some at some point."
icon = 'icons/obj/lavaland/ash_flora.dmi'
icon_state = "mushroom_bowl"
w_class = WEIGHT_CLASS_SMALL
resistance_flags = 0
//////////////////////////soda_cans//
//These are in their own group to be used as IED's in /obj/item/weapon/grenade/ghettobomb.dm
@@ -263,8 +313,8 @@
name = "soda can"
/obj/item/weapon/reagent_containers/food/drinks/soda_cans/attack(mob/M, mob/user)
if(M == user && !src.reagents.total_volume && user.a_intent == "harm" && user.zone_selected == "head")
user.visible_message("<span class='warning'>[user] crushes the can of [src] on \his forehead!</span>", "<span class='notice'>You crush the can of [src] on your forehead.</span>")
if(M == user && !src.reagents.total_volume && user.a_intent == INTENT_HARM && user.zone_selected == "head")
user.visible_message("<span class='warning'>[user] crushes the can of [src] on [user.p_their()] forehead!</span>", "<span class='notice'>You crush the can of [src] on your forehead.</span>")
playsound(user.loc,'sound/weapons/pierce.ogg', rand(10,50), 1)
var/obj/item/trash/can/crushed_can = new /obj/item/trash/can(user.loc)
crushed_can.icon_state = icon_state
@@ -328,3 +378,5 @@
desc = "A delicious mixture of 42 different flavors."
icon_state = "dr_gibb"
list_reagents = list("dr_gibb" = 30)
@@ -53,7 +53,7 @@
if(!target)
return
if(user.a_intent != "harm" || !isGlass)
if(user.a_intent != INTENT_HARM || !isGlass)
return ..()
@@ -109,8 +109,8 @@
target.visible_message("<span class='danger'>[user] has hit [target][head_attack_message] with a bottle of [src.name]!</span>", \
"<span class='userdanger'>[user] has hit [target][head_attack_message] with a bottle of [src.name]!</span>")
else
user.visible_message("<span class='danger'>[target] hits \himself with a bottle of [src.name][head_attack_message]!</span>", \
"<span class='userdanger'>[target] hits \himself with a bottle of [src.name][head_attack_message]!</span>")
user.visible_message("<span class='danger'>[target] hits [target.p_them()]self with a bottle of [src.name][head_attack_message]!</span>", \
"<span class='userdanger'>[target] hits [target.p_them()]self with a bottle of [src.name][head_attack_message]!</span>")
//Attack logs
add_logs(user, target, "attacked", src)
@@ -125,7 +125,7 @@
/obj/item/weapon/reagent_containers/food/drinks/bottle/proc/SplashReagents(var/mob/M)
if(src.reagents.total_volume)
M.visible_message("<span class='danger'>The contents of \the [src] splashes all over [M]!</span>")
M.visible_message("<span class='danger'>The contents of [src] splashes all over [M]!</span>")
reagents.reaction(M, TOUCH)
reagents.clear_reagents()
return
@@ -140,7 +140,7 @@
throwforce = 5
throw_speed = 3
throw_range = 5
w_class = 1
w_class = WEIGHT_CLASS_TINY
item_state = "beer"
hitsound = 'sound/weapons/bladeslice.ogg'
attack_verb = list("stabbed", "slashed", "attacked")
@@ -301,6 +301,12 @@
volume = 50
list_reagents = list("hcider" = 50)
/obj/item/weapon/reagent_containers/food/drinks/bottle/grappa
name = "Phillipes well-aged Grappa"
desc = "Bottle of Grappa."
icon_state = "grappabottle"
list_reagents = list("grappa" = 100)
//////////////////////////JUICES AND STUFF ///////////////////////
/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice
@@ -375,10 +381,12 @@
active = 1
var/turf/bombturf = get_turf(src)
var/area/bombarea = get_area(bombturf)
message_admins("[key_name(user)]<A HREF='?_src_=holder;adminmoreinfo=\ref[user]'>?</A> has primed a [name] for detonation at <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[bombturf.x];Y=[bombturf.y];Z=[bombturf.z]'>[bombarea] (JMP)</a>.")
log_game("[key_name(user)] has primed a [name] for detonation at [bombarea] ([bombturf.x],[bombturf.y],[bombturf.z]).")
var/message = "[ADMIN_LOOKUP(user)] has primed a [name] for detonation at [ADMIN_COORDJMP(bombturf)]."
bombers += message
message_admins(message)
log_game("[key_name(user)] has primed a [name] for detonation at [bombarea] [COORD(bombturf)].")
user << "<span class='info'>You light \the [src] on fire.</span>"
user << "<span class='info'>You light [src] on fire.</span>"
add_overlay(fire_overlay)
if(!isGlass)
spawn(50)
@@ -400,6 +408,6 @@
if(!isGlass)
user << "<span class='danger'>The flame's spread too far on it!</span>"
return
user << "<span class='info'>You snuff out the flame on \the [src].</span>"
user << "<span class='info'>You snuff out the flame on [src].</span>"
overlays -= fire_overlay
active = 0
@@ -7,21 +7,11 @@
amount_per_transfer_from_this = 10
volume = 50
materials = list(MAT_GLASS=500)
burn_state = FLAMMABLE
burntime = 5
obj_integrity = 20
max_integrity = 20
spillable = 1
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/fire_act()
if(!reagents.total_volume)
return
..()
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/burn()
reagents.total_volume = 0 //Burns away all the alcohol :(
reagents.reagent_list.Cut()
on_reagent_change()
extinguish()
return
resistance_flags = ACID_PROOF
unique_rename = 1
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/on_reagent_change()
cut_overlays()
@@ -342,7 +332,7 @@
if("andalusia")
icon_state = "andalusia"
name = "Andalusia"
desc = "A nice, strange named drink."
desc = "A nice, strangely named drink."
if("sbiten")
icon_state = "sbitenglass"
name = "Sbiten"
@@ -350,11 +340,11 @@
if("red_mead")
icon_state = "red_meadglass"
name = "Red Mead"
desc = "A True Vikings Beverage, though its color is strange."
desc = "A True Viking's Beverage, though its color is strange."
if("mead")
icon_state = "meadglass"
name = "Mead"
desc = "A Vikings Beverage, though a cheap one."
desc = "A Viking's Beverage, though a cheap one."
if("iced_beer")
icon_state = "iced_beerglass"
name = "Iced Beer"
@@ -462,7 +452,7 @@
if("chocolatepudding")
icon_state = "chocolatepudding"
name = "Chocolate Pudding"
desc = ""
desc = "Tasty."
if("vanillapudding")
icon_state = "vanillapudding"
name = "Vanilla Pudding"
@@ -515,6 +505,18 @@
icon_state = "whiskeyglass"
name = "Hard Cider"
desc = "Tastes like autumn."
if("triple_citrus")
icon_state = "triplecitrus" //needs own sprite mine are trash
name = "glass of triple citrus"
desc = "A mixture of citrus juices. Tangy, yet smooth."
if("grappa")
icon_state = "grappa"
name = "glass of grappa"
desc = "A fine drink originally made to prevent waste by using the leftovers from winemaking."
if("eggnog")
icon_state = "glass_yellow"
name = "Eggnog"
desc = "For enjoying the most wonderful time of the year."
else
icon_state ="glass_brown"
var/image/I = image(icon, "glassoverlay")
@@ -568,7 +570,7 @@
if("hcider")
icon_state = "shotglassbrown"
name = "shot of hard cider"
desc = "Not meant to be drinken from a shot glass."
desc = "Not meant to be drunk from a shot glass."
if("rum")
icon_state = "shotglassbrown"
name = "shot of rum"
@@ -661,7 +663,7 @@
..()
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/attack(obj/target, mob/user)
if(user.a_intent == "harm" && ismob(target) && target.reagents && reagents.total_volume)
if(user.a_intent == INTENT_HARM && ismob(target) && target.reagents && reagents.total_volume)
target.visible_message("<span class='danger'>[user] splashes the contents of [src] onto [target]!</span>", \
"<span class='userdanger'>[user] splashes the contents of [src] onto [target]!</span>")
add_logs(user, target, "splashed", src)
@@ -674,7 +676,7 @@
if((!proximity) || !check_allowed_items(target,target_self=1))
return
else if(reagents.total_volume && user.a_intent == "harm")
else if(reagents.total_volume && user.a_intent == INTENT_HARM)
user.visible_message("<span class='danger'>[user] splashes the contents of [src] onto [target]!</span>", \
"<span class='notice'>You splash the contents of [src] onto [target].</span>")
reagents.reaction(target, TOUCH)