Revert "12/21 modernizations from TG live"

This commit is contained in:
LetterJay
2016-12-22 22:35:44 -06:00
committed by GitHub
parent cf59ac1c3d
commit ae40d4134e
2215 changed files with 86928 additions and 707332 deletions
+8 -12
View File
@@ -1,7 +1,7 @@
/proc/DuplicateObject(var/atom/original, var/perfectcopy = TRUE, var/sameloc = FALSE, var/atom/newloc = null, var/nerf = FALSE, var/holoitem=FALSE)
/proc/DuplicateObject(obj/original, var/perfectcopy = 0 , var/sameloc = 0, var/atom/newloc = null, var/nerf = 0)
if(!original)
return null
var/atom/O
var/obj/O
if(sameloc)
O = new original.type(original.loc)
@@ -20,19 +20,15 @@
else
O.vars[V] = original.vars[V]
if(istype(O, /obj))
var/obj/N = O
if(holoitem)
N.resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF // holoitems do not burn
if(istype(O))
O.burn_state = FIRE_PROOF // holoitems do not burn
if(nerf && istype(O,/obj/item))
var/obj/item/I = O
I.damtype = STAMINA // thou shalt not
N.update_icon()
if(istype(O,/obj/machinery))
var/obj/machinery/M = O
M.power_change()
O.update_icon()
return O
@@ -80,7 +76,7 @@
continue
if(platingRequired)
if(isspaceturf(B))
if(istype(B, /turf/open/space))
continue
var/old_dir1 = T.dir
@@ -93,13 +89,13 @@
X.icon_state = old_icon_state1
for(var/obj/O in T)
var/obj/O2 = DuplicateObject(O , perfectcopy=TRUE, newloc = X, nerf=nerf_weapons, holoitem=TRUE)
var/obj/O2 = DuplicateObject(O , 1, newloc = X, nerf=nerf_weapons)
if(!O2) continue
copiedobjs += O2.GetAllContents()
for(var/mob/M in T)
if(istype(M, /mob/camera)) continue // If we need to check for more mobs, I'll add a variable
var/mob/SM = DuplicateObject(M , perfectcopy=TRUE, newloc = X, holoitem=TRUE)
var/mob/SM = DuplicateObject(M , 1, newloc = X)
copiedobjs += SM.GetAllContents()
var/global/list/forbidden_vars = list("type","stat","loc","locs","vars", "parent", "parent_type","verbs","ckey","key","x","y","z","contents", "luminosity")
+102
View File
@@ -0,0 +1,102 @@
/area/holodeck
name = "Holodeck"
icon_state = "Holodeck"
luminosity = 1
dynamic_lighting = DYNAMIC_LIGHTING_DISABLED
var/obj/machinery/computer/holodeck/linked
var/restricted = 0 // if true, program goes on emag list
/*
Power tracking: Use the holodeck computer's power grid
Asserts are to avoid the inevitable infinite loops
*/
/area/holodeck/powered(var/chan)
if(!master.requires_power)
return 1
if(master.always_unpowered)
return 0
if(!linked)
return 0
var/area/A = get_area(linked)
ASSERT(!istype(A,/area/holodeck))
return A.powered(chan)
/area/holodeck/usage(var/chan)
if(!linked)
return 0
var/area/A = get_area(linked)
ASSERT(!istype(A,/area/holodeck))
return A.usage(chan)
/area/holodeck/addStaticPower(value, powerchannel)
if(!linked)
return
var/area/A = get_area(linked)
ASSERT(!istype(A,/area/holodeck))
return A.addStaticPower(value,powerchannel)
/area/holodeck/use_power(var/amount, var/chan)
if(!linked)
return 0
var/area/A = get_area(linked)
ASSERT(!istype(A,/area/holodeck))
return A.use_power(amount,chan)
/*
This is the standard holodeck. It is intended to allow you to
blow off steam by doing stupid things like laying down, throwing
spheres at holes, or bludgeoning people.
*/
/area/holodeck/rec_center
name = "\improper Recreational Holodeck"
/area/holodeck/rec_center/offline
name = "Holodeck - Offline"
/area/holodeck/rec_center/court
name = "Holodeck - Empty Court"
/area/holodeck/rec_center/dodgeball
name = "Holodeck - Dodgeball Court"
/area/holodeck/rec_center/basketball
name = "Holodeck - Basketball Court"
/area/holodeck/rec_center/thunderdome
name = "Holodeck - Thunderdome Court"
/area/holodeck/rec_center/beach
name = "Holodeck - Beach"
/area/holodeck/rec_center/lounge
name = "Holodeck - Lounge"
/area/holodeck/rec_center/medical
name = "Holodeck - Emergency Medical"
/area/holodeck/rec_center/pet_lounge
name = "Holodeck - Pet Playground"
/area/holodeck/rec_center/winterwonderland
name = "Holodeck - Winter Wonderland"
// Bad programs
/area/holodeck/rec_center/burn
name = "Holodeck - Atmospheric Burn Test"
restricted = 1
/area/holodeck/rec_center/wildlife
name = "Holodeck - Wildlife Simulation"
restricted = 1
/area/holodeck/rec_center/bunker
name = "Holodeck - Holdout Bunker"
restricted = 1
/area/holodeck/rec_center/anthophila
name = "Holodeck - Anthophila"
restricted = 1
+5 -4
View File
@@ -25,6 +25,7 @@
var/area/holodeck/program
var/area/holodeck/last_program
var/area/offline_program = /area/holodeck/rec_center/offline
light_color = LIGHT_COLOR_CYAN
var/list/program_cache = list()
var/list/emag_programs = list()
@@ -143,14 +144,14 @@
/obj/machinery/computer/holodeck/proc/floorcheck()
for(var/turf/T in linked)
if(!T.intact || isspaceturf(T))
if(!T.intact || istype(T,/turf/open/space))
return 0
return 1
/obj/machinery/computer/holodeck/Topic(href, list/href_list)
if(..())
return
if(!Adjacent(usr) && !issilicon(usr))
if(!Adjacent(usr) && !istype(usr, /mob/living/silicon))
return
usr.set_machine(src)
add_fingerprint(usr)
@@ -204,6 +205,6 @@
emergency_shutdown()
..()
/obj/machinery/computer/holodeck/blob_act(obj/structure/blob/B)
/obj/machinery/computer/holodeck/blob_act(obj/effect/blob/B)
emergency_shutdown()
..()
..()
+2 -5
View File
@@ -76,7 +76,7 @@
mob = new mobtype(loc)
// these vars are not really standardized but all would theoretically create stuff on death
for(var/v in list("butcher_results","corpse","weapon1","weapon2","blood_volume") & mob.vars)
for(var/v in list("butcher_results","corpse","weapon1","weapon2") & mob.vars)
mob.vars[v] = null
return mob
@@ -93,7 +93,4 @@
/mob/living/simple_animal/pet/dog/pug, /mob/living/simple_animal/pet/fox)
/obj/effect/holodeck_effect/mobspawner/bee
mobtype = /mob/living/simple_animal/hostile/poison/bees/toxin
/obj/effect/holodeck_effect/mobspawner/monkey
mobtype = /mob/living/simple_animal/holodeck_monkey
mobtype = /mob/living/simple_animal/hostile/poison/bees/toxin
+7 -23
View File
@@ -18,18 +18,15 @@
throw_speed = 2
throw_range = 5
throwforce = 0
w_class = WEIGHT_CLASS_SMALL
w_class = 2.0
hitsound = "swing_hit"
armour_penetration = 50
var/active = 0
/obj/item/weapon/holo/esword/green/New()
..()
item_color = "green"
/obj/item/weapon/holo/esword/red/New()
..()
item_color = "red"
/obj/item/weapon/holo/esword/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance)
@@ -42,21 +39,20 @@
/obj/item/weapon/holo/esword/New()
item_color = pick("red","blue","green","purple")
..()
/obj/item/weapon/holo/esword/attack_self(mob/living/user as mob)
active = !active
if (active)
force = 30
icon_state = "sword[item_color]"
w_class = WEIGHT_CLASS_BULKY
w_class = 4
hitsound = 'sound/weapons/blade1.ogg'
playsound(user, 'sound/weapons/saberon.ogg', 20, 1)
user << "<span class='warning'>[src] is now active.</span>"
else
force = 3
icon_state = "sword0"
w_class = WEIGHT_CLASS_SMALL
w_class = 2
hitsound = "swing_hit"
playsound(user, 'sound/weapons/saberoff.ogg', 20, 1)
user << "<span class='warning'>[src] can now be concealed.</span>"
@@ -66,11 +62,11 @@
/obj/item/toy/beach_ball/holoball
name = "basketball"
icon = 'icons/obj/items.dmi'
icon = 'icons/obj/basketball.dmi'
icon_state = "basketball"
item_state = "basketball"
desc = "Here's your chance, do your dance at the Space Jam."
w_class = WEIGHT_CLASS_BULKY //Stops people from hiding it in their bags/pockets
w_class = 4 //Stops people from hiding it in their bags/pockets
/obj/item/toy/beach_ball/holoball/dodgeball
name = "dodgeball"
@@ -86,7 +82,7 @@
M.apply_damage(10, STAMINA)
if(prob(5))
M.Weaken(3)
visible_message("<span class='danger'>[M] is knocked right off [M.p_their()] feet!</span>")
visible_message("<span class='danger'>[M] is knocked right off \his feet!</span>")
//
// Structures
@@ -106,7 +102,7 @@
visible_message("<span class='warning'> [user] dunks [W] into \the [src]!</span>")
/obj/structure/holohoop/attack_hand(mob/user)
if(user.pulling && user.a_intent == INTENT_GRAB && isliving(user.pulling))
if(user.pulling && user.a_intent == "grab" && isliving(user.pulling))
var/mob/living/L = user.pulling
if(user.grab_state < GRAB_AGGRESSIVE)
user << "<span class='warning'>You need a better grip to do that!</span>"
@@ -207,15 +203,3 @@
for(var/mob/M in currentarea)
M << "FIGHT!"
/obj/machinery/conveyor/holodeck
/obj/machinery/conveyor/holodeck/attackby(obj/item/I, mob/user, params)
if(user.drop_item())
I.loc = src.loc
else
return ..()
/obj/item/weapon/paper/trek_diploma
name = "paper - Starfleet Academy Diploma"
info = {"<h2>Starfleet Academy</h2></br><p>Official Diploma</p></br>"}
-20
View File
@@ -1,20 +0,0 @@
/*
Mobs
*/
/mob/living/simple_animal/holodeck_monkey
name = "monkey"
desc = "A holographic creature fond of bananas."
icon = 'icons/mob/monkey.dmi'
icon_state = "monkey1"
icon_living = "monkey1"
icon_dead = "monkey1_dead"
speak_emote = list("chimpers")
emote_hear = list("chimpers.")
emote_see = list("scratches.", "looks around.")
speak_chance = 1
turns_per_move = 2
butcher_results = list()
response_help = "pets"
response_disarm = "pushes aside"
response_harm = "bites"
+9 -18
View File
@@ -3,17 +3,16 @@
thermal_conductivity = 0
broken_states = list("engine")
burnt_states = list("engine")
flags = NONE
/turf/open/floor/holofloor/attackby(obj/item/I, mob/living/user)
/turf/open/floor/holofloor/attackby(obj/item/weapon/W as obj, mob/user as mob)
return // HOLOFLOOR DOES NOT GIVE A FUCK
/turf/open/floor/holofloor/plating
name = "holodeck projector floor"
name = "Holodeck Projector Floor"
icon_state = "engine"
/turf/open/floor/holofloor/plating/burnmix
name = "burn-mix floor"
name = "Burn-mix Floor"
initial_gas_mix = "o2=2500;plasma=5000;TEMP=370"
/turf/open/floor/holofloor/grass
@@ -39,21 +38,13 @@
icon_state = "water"
/turf/open/floor/holofloor/asteroid
name = "asteroid"
name = "Asteroid"
icon_state = "asteroid0"
/turf/open/floor/holofloor/asteroid/New()
icon_state = "asteroid[pick(0,1,2,3,4,5,6,7,8,9,10,11,12)]"
..()
/turf/open/floor/holofloor/basalt
name = "basalt"
icon_state = "basalt0"
/turf/open/floor/holofloor/basalt/New()
icon_state = "basalt[pick(0,1,2,3,4,5,6,7,8,9,10,11,12)]"
..()
/turf/open/floor/holofloor/space
name = "Space"
icon = 'icons/turf/space.dmi'
@@ -64,12 +55,12 @@
..()
/turf/open/floor/holofloor/hyperspace
name = "hyperspace"
name = "Hyperspace"
icon = 'icons/turf/space.dmi'
icon_state = "speedspace_ns_1"
icon_state = "speedspace_ew_1"
/turf/open/floor/holofloor/hyperspace/New()
icon_state = "speedspace_ns_[(x + 5*y + (y%2+1)*7)%15+1]"
icon_state = "speedspace_ew_[(x + 5*y + (y%2+1)*7)%15+1]"
..()
/turf/open/floor/holofloor/hyperspace/ns/New()
@@ -77,7 +68,7 @@
icon_state = "speedspace_ns_[(x + 5*y + (y%2+1)*7)%15+1]"
/turf/open/floor/holofloor/carpet
name = "carpet"
name = "Carpet"
desc = "Electrically inviting."
icon = 'icons/turf/floors/carpet.dmi'
icon_state = "carpet"
@@ -104,7 +95,7 @@
slowdown = 2
/turf/open/floor/holofloor/snow/cold
initial_gas_mix = "freon=7500;TEMP=0"
initial_gas_mix = "o2=22;n2=82;TEMP=180"
/turf/open/floor/holofloor/asteroid
name = "asteroid sand"