Overhauls and 2/28 sync (#244)

* map tweaks/shuttle engines

* helpers and defines

* global/onclick

* controllers and datums

* mapping

* game folder

* some other stuff

* some modules

* modules that aren't mobs

* some mob stuff

* new player stuff

* mob living

* silicon stuff

* simple animal things

* carbon/ayylmao

* update_icons

* carbon/human

* sounds and tools

* icons and stuff

* hippie grinder changes + tgui

* kitchen.dmi

* compile issues fixed

* mapfix

* Mapfixes 2.0

* mapedit2.0

* mapmerger pls

* Revert "mapedit2.0"

This reverts commit 74139a3cacea10df7aafca06c0a10bd3daf3a481.

* clean up vore folder + 2 hotfixes

* admin ticket refinement

* Blob tweaks and LAZYADD

* LAZYADD IS LAZY

* Magic strings purged

* DEFINES NEED HIGHER PRIORITIES

* Only a sleepless idiot deals in absolute TRUE|FALSE

* u h g

* progress bar fix

* reverts ticket logs

* there's always that one guy

* fixes and stuff

* 2/27 fixes

* game folder stuff

* stats

* some modules again

* clothing stuff

gets vg clothing out of the main files

* everything not mobs again

* mob stuff

* maps, tgui, sql stuff

* icons

* additional fixes and compile errors

* don't need this anymore

* Oh right this isn't needed anymore

* maint bar re-added

* that doesn't need to be here

* stupid events

* wtfeven

* probably makes Travis happy

* don't care to fix the grinder atm

* fixes vending sprites, changes turret

* lethal, not lethals

* overylays are finicky creatures

* lazy fix for bleeding edgy (#252)

* map tweaks/shuttle engines

* helpers and defines

* global/onclick

* controllers and datums

* mapping

* game folder

* some other stuff

* some modules

* modules that aren't mobs

* some mob stuff

* new player stuff

* mob living

* silicon stuff

* simple animal things

* carbon/ayylmao

* update_icons

* carbon/human

* sounds and tools

* icons and stuff

* hippie grinder changes + tgui

* kitchen.dmi

* compile issues fixed

* mapfix

* Mapfixes 2.0

* mapedit2.0

* mapmerger pls

* Revert "mapedit2.0"

This reverts commit 74139a3cacea10df7aafca06c0a10bd3daf3a481.

* clean up vore folder + 2 hotfixes

* admin ticket refinement

* Blob tweaks and LAZYADD

* LAZYADD IS LAZY

* Magic strings purged

* DEFINES NEED HIGHER PRIORITIES

* Only a sleepless idiot deals in absolute TRUE|FALSE

* u h g

* progress bar fix

* reverts ticket logs

* there's always that one guy

* fixes and stuff

* 2/27 fixes

* game folder stuff

* stats

* some modules again

* clothing stuff

gets vg clothing out of the main files

* everything not mobs again

* mob stuff

* maps, tgui, sql stuff

* icons

* additional fixes and compile errors

* don't need this anymore

* Oh right this isn't needed anymore

* maint bar re-added

* that doesn't need to be here

* stupid events

* wtfeven

* probably makes Travis happy

* don't care to fix the grinder atm

* fixes vending sprites, changes turret

* lethal, not lethals

* overylays are finicky creatures
This commit is contained in:
Poojawa
2017-02-28 09:30:49 -06:00
committed by GitHub
parent 93782cf716
commit 0bca862419
544 changed files with 309981 additions and 81206 deletions
+5 -7
View File
@@ -129,7 +129,7 @@
pixel_x = (src.tdir & 3)? 0 : (src.tdir == 4 ? 24 : -24)
pixel_y = (src.tdir & 3)? (src.tdir ==1 ? 24 : -24) : 0
if (building)
area = src.loc.loc:master
area = get_area(src)
opened = 1
operating = 0
name = "[area.name] APC"
@@ -276,12 +276,10 @@
icon_state = "apcewires"
if(!(update_state & UPSTATE_ALLGOOD))
if(overlays.len)
cut_overlays()
cut_overlays()
if(update & 2)
if(overlays.len)
cut_overlays()
cut_overlays()
if(!(stat & (BROKEN|MAINT)) && update_state & UPSTATE_ALLGOOD)
var/list/O = list(
status_overlays_lock[locked+1],
@@ -863,7 +861,7 @@
return
if(src.z != 1)
return
occupier = new /mob/living/silicon/ai(src, malf.laws, malf) //DEAR GOD WHY?
occupier = new /mob/living/silicon/ai(src, malf.laws, malf) //DEAR GOD WHY? //IKR????
occupier.adjustOxyLoss(malf.getOxyLoss())
if(!findtext(occupier.name, "APC Copy"))
occupier.name = "[malf.name] APC Copy"
@@ -872,7 +870,6 @@
else
occupier.parent = malf
malf.shunted = 1
malf.mind.transfer_to(occupier)
occupier.eyeobj.name = "[occupier.name] (AI Eye)"
if(malf.parent)
qdel(malf)
@@ -888,6 +885,7 @@
occupier.parent.shunted = 0
occupier.parent.setOxyLoss(occupier.getOxyLoss())
occupier.parent.cancel_camera()
occupier.parent.verbs -= /mob/living/silicon/ai/proc/corereturn
qdel(occupier)
else
occupier << "<span class='danger'>Primary core damaged, unable to return core processes.</span>"
+5 -4
View File
@@ -500,10 +500,11 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list ( \
var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected))
if(affecting && affecting.status == BODYPART_ROBOTIC)
user.visible_message("<span class='notice'>[user] starts to fix some of the wires in [H]'s [affecting.name].</span>", "<span class='notice'>You start fixing some of the wires in [H]'s [affecting.name].</span>")
if(!do_mob(user, H, 50))
return
if(item_heal_robotic(H, user, 0, 5))
if(user == H)
user.visible_message("<span class='notice'>[user] starts to fix some of the wires in [H]'s [affecting.name].</span>", "<span class='notice'>You start fixing some of the wires in [H]'s [affecting.name].</span>")
if(!do_mob(user, H, 50))
return
if(item_heal_robotic(H, user, 0, 15))
use(1)
return
else
+2 -3
View File
@@ -408,8 +408,8 @@
// returns whether this light has power
// true if area has power and lightswitch is on
/obj/machinery/light/proc/has_power()
var/area/A = src.loc.loc
return A.master.lightswitch && A.master.power_light
var/area/A = get_area(src)
return A.lightswitch && A.power_light
/obj/machinery/light/proc/flicker(var/amount = rand(10, 20))
set waitfor = 0
@@ -534,7 +534,6 @@
// called when area power state changes
/obj/machinery/light/power_change()
var/area/A = get_area(src)
A = A.master
seton(A.lightswitch && A.power_light)
// called when on fire
+7 -7
View File
@@ -56,27 +56,27 @@
if(!use_power)
return 1
var/area/A = src.loc.loc // make sure it's in an area
if(!A || !isarea(A) || !A.master)
var/area/A = get_area(src) // make sure it's in an area
if(!A)
return 0 // if not, then not powered
if(chan == -1)
chan = power_channel
return A.master.powered(chan) // return power status of the area
return A.powered(chan) // return power status of the area
// increment the power usage stats for an area
/obj/machinery/proc/use_power(amount, chan = -1) // defaults to power_channel
var/area/A = get_area(src) // make sure it's in an area
if(!A || !isarea(A) || !A.master)
if(!A)
return
if(chan == -1)
chan = power_channel
A.master.use_power(amount, chan)
A.use_power(amount, chan)
/obj/machinery/proc/addStaticPower(value, powerchannel)
var/area/A = get_area(src)
if(!A || !A.master)
if(!A)
return
A.master.addStaticPower(value, powerchannel)
A.addStaticPower(value, powerchannel)
/obj/machinery/proc/removeStaticPower(value, powerchannel)
addStaticPower(-value, powerchannel)
+1 -1
View File
@@ -129,7 +129,7 @@ var/global/list/rad_collectors = list()
/obj/machinery/power/rad_collector/proc/receive_pulse(pulse_strength)
if(loaded_tank && active)
var/power_produced = loaded_tank.air_contents.gases["plasma"] ? loaded_tank.air_contents.gases["plasma"][MOLES] : 0
power_produced *= pulse_strength*20
power_produced *= pulse_strength*10
add_avail(power_produced)
last_power = power_produced
return
+17 -6
View File
@@ -43,7 +43,7 @@
var/emergency_issued = 0
var/explosion_power = 8
var/explosion_power = 320
var/lastwarning = 0 // Time in 1/10th of seconds since the last sent warning
var/power = 0
@@ -91,9 +91,12 @@
. = ..()
/obj/machinery/power/supermatter_shard/proc/explode()
investigate_log("has exploded.", "supermatter")
explosion(get_turf(src), explosion_power, explosion_power * 2, explosion_power * 3, explosion_power * 4, 1, 1)
qdel(src)
investigate_log("has collapsed into a singularity.", "supermatter")
var/turf/T = get_turf(src)
if(T)
var/obj/singularity/S = new(T)
S.energy = explosion_power
S.consume(src)
/obj/machinery/power/supermatter_shard/process()
var/turf/T = loc
@@ -139,6 +142,7 @@
L.rad_act(rads)
explode()
return
//Ok, get the air from the turf
var/datum/gas_mixture/env = T.return_air()
@@ -221,8 +225,6 @@
return 1
/obj/machinery/power/supermatter_shard
/obj/machinery/power/supermatter_shard/bullet_act(obj/item/projectile/Proj)
var/turf/L = loc
if(!istype(L)) // We don't run process() when we are in space
@@ -352,3 +354,12 @@
/obj/machinery/power/supermatter_shard/hugbox
takes_damage = 0
produces_gas = 0
/obj/machinery/power/supermatter_shard/crystal
name = "supermatter crystal"
desc = "A strangely translucent and iridescent crystal. <span class='danger'>You get headaches just from looking at it.</span>"
base_icon_state = "darkmatter"
icon_state = "darkmatter"
anchored = 1
gasefficency = 0.15
explosion_power = 800
+1 -1
View File
@@ -87,7 +87,7 @@
..()
/obj/machinery/power/tesla_coil/proc/zap()
if((last_zap + zap_cooldown) > world.time)
if((last_zap + zap_cooldown) > world.time || !powernet)
return FALSE
last_zap = world.time
var/coeff = (20 - ((input_power_multiplier - 1) * 3))
+3 -3
View File
@@ -90,7 +90,7 @@ var/list/blacklisted_tesla_types = typecacheof(list(/obj/machinery/atmospherics,
move_dir = get_dir(src,target)
var/turf/T = get_step(src, move_dir)
if(can_move(T))
loc = T
forceMove(T)
setDir(move_dir)
for(var/mob/living/carbon/C in loc)
dust_mobs(C)
@@ -263,9 +263,9 @@ var/list/blacklisted_tesla_types = typecacheof(list(/obj/machinery/atmospherics,
var/mob/living/silicon/S = closest_mob
if(stun_mobs)
S.emp_act(2)
tesla_zap(S, 7, power / 1.5, stun_mobs) // metallic folks bounce it further
tesla_zap(S, 7, power / 1.5, explosive, stun_mobs) // metallic folks bounce it further
else
tesla_zap(closest_mob, 5, power / 1.5, stun_mobs)
tesla_zap(closest_mob, 5, power / 1.5, explosive, stun_mobs)
else if(closest_machine)
closest_machine.tesla_act(power, explosive, stun_mobs)