mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 12:41:09 +01:00
Merge conflic fix
This commit is contained in:
@@ -11,11 +11,14 @@
|
||||
origin_tech = "syndicate=4;magnets=4"
|
||||
var/can_use = 1
|
||||
var/obj/effect/dummy/chameleon/active_dummy = null
|
||||
var/saved_appearance = null
|
||||
/*
|
||||
var/saved_item = /obj/item/weapon/cigbutt
|
||||
var/saved_icon = 'icons/obj/clothing/masks.dmi'
|
||||
var/saved_icon_state = "cigbutt"
|
||||
var/saved_overlays = null
|
||||
var/saved_underlays = null
|
||||
*/
|
||||
|
||||
/obj/item/device/chameleon/dropped()
|
||||
disrupt()
|
||||
@@ -32,14 +35,13 @@
|
||||
if(istype(target,/obj/item) && !istype(target, /obj/item/weapon/disk/nuclear))
|
||||
playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, 1, -6)
|
||||
user << "<span class='notice'>Scanned [target].</span>"
|
||||
saved_item = target.type
|
||||
saved_icon = target.icon
|
||||
saved_icon_state = target.icon_state
|
||||
saved_overlays = target.overlays
|
||||
saved_underlays = target.underlays
|
||||
var/obj/temp = new/obj()
|
||||
temp.appearance = target.appearance
|
||||
temp.layer = initial(target.layer) // scanning things in your inventory
|
||||
saved_appearance = temp.appearance
|
||||
|
||||
/obj/item/device/chameleon/proc/toggle()
|
||||
if(!can_use || !saved_item) return
|
||||
if(!can_use || !saved_appearance) return
|
||||
if(active_dummy)
|
||||
eject_all()
|
||||
playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6)
|
||||
@@ -53,11 +55,8 @@
|
||||
qdel(T)
|
||||
else
|
||||
playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6)
|
||||
var/obj/O = new saved_item(src)
|
||||
if(!O) return
|
||||
var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(usr.loc)
|
||||
C.activate(O, usr, saved_icon, saved_icon_state, saved_overlays, saved_underlays, src)
|
||||
qdel(O)
|
||||
C.activate(usr, saved_appearance, src)
|
||||
usr << "<span class='notice'>You activate \the [src].</span>"
|
||||
var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src))
|
||||
T.icon = 'icons/effects/effects.dmi'
|
||||
@@ -89,18 +88,11 @@
|
||||
name = ""
|
||||
desc = ""
|
||||
density = 0
|
||||
anchored = 1
|
||||
var/can_move = 1
|
||||
var/obj/item/device/chameleon/master = null
|
||||
|
||||
/obj/effect/dummy/chameleon/proc/activate(obj/O, mob/M, new_icon, new_iconstate, new_overlays, new_underlays, obj/item/device/chameleon/C)
|
||||
name = O.name
|
||||
desc = O.desc
|
||||
icon = new_icon
|
||||
icon_state = new_iconstate
|
||||
overlays = new_overlays
|
||||
underlays = new_underlays
|
||||
dir = O.dir
|
||||
/obj/effect/dummy/chameleon/proc/activate(mob/M, saved_appearance, obj/item/device/chameleon/C)
|
||||
appearance = saved_appearance
|
||||
M.loc = src
|
||||
master = C
|
||||
master.active_dummy = src
|
||||
|
||||
@@ -17,11 +17,14 @@
|
||||
var/is_cyborg = 0 // It's 1 if module is used by a cyborg, and uses its storage
|
||||
var/datum/robot_energy_storage/source
|
||||
var/cost = 1 // How much energy from storage it costs
|
||||
var/merge_type = null // This path and its children should merge with this stack, defaults to src.type
|
||||
|
||||
/obj/item/stack/New(var/loc, var/amount=null)
|
||||
..()
|
||||
if (amount)
|
||||
src.amount = amount
|
||||
if(!merge_type)
|
||||
merge_type = src.type
|
||||
return
|
||||
|
||||
/obj/item/stack/Destroy()
|
||||
@@ -208,19 +211,19 @@
|
||||
S.add(transfer)
|
||||
|
||||
/obj/item/stack/Crossed(obj/o)
|
||||
if(istype(o, src.type) && !o.throwing)
|
||||
if(istype(o, merge_type) && !o.throwing)
|
||||
merge(o)
|
||||
return ..()
|
||||
|
||||
/obj/item/stack/hitby(atom/movable/AM, skip, hitpush)
|
||||
if(istype(AM, src.type))
|
||||
if(istype(AM, merge_type))
|
||||
merge(AM)
|
||||
return ..()
|
||||
|
||||
/obj/item/stack/attack_hand(mob/user)
|
||||
if (user.get_inactive_hand() == src)
|
||||
if(zero_amount()) return
|
||||
var/obj/item/stack/F = new src.type( user, 1)
|
||||
var/obj/item/stack/F = new src.type(user, 1)
|
||||
. = F
|
||||
F.copy_evidences(src)
|
||||
user.put_in_hands(F)
|
||||
@@ -234,7 +237,7 @@
|
||||
return
|
||||
|
||||
/obj/item/stack/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, src.type))
|
||||
if(istype(W, merge_type))
|
||||
var/obj/item/stack/S = W
|
||||
merge(S)
|
||||
user << "<span class='notice'>Your [S.name] stack now contains [S.get_amount()] [S.singular_name]\s.</span>"
|
||||
@@ -268,4 +271,4 @@
|
||||
src.max_res_amount = max_res_amount
|
||||
src.time = time
|
||||
src.one_per_turf = one_per_turf
|
||||
src.on_floor = on_floor
|
||||
src.on_floor = on_floor
|
||||
|
||||
@@ -60,13 +60,6 @@ AI MODULES
|
||||
user << "Upload complete. [reciever]'s laws have been modified."
|
||||
reciever.show_laws()
|
||||
reciever.law_change_counter++
|
||||
if(isAI(reciever))
|
||||
var/mob/living/silicon/ai/A = reciever
|
||||
for(var/mob/living/silicon/robot/R in A.connected_robots)
|
||||
if(R.lawupdate)
|
||||
R << "From now on, these are your laws:"
|
||||
R.show_laws()
|
||||
R.law_change_counter++
|
||||
|
||||
var/time = time2text(world.realtime,"hh:mm:ss")
|
||||
lawchanges.Add("[time] <B>:</B> [user.name]([user.key]) used [src.name] on [reciever.name]([reciever.key]).[law2log ? " The law specified [law2log]" : ""]")
|
||||
|
||||
@@ -145,15 +145,9 @@
|
||||
step_towards(W,my_target)
|
||||
if(!W || !W.reagents) return
|
||||
W.reagents.reaction(get_turf(W))
|
||||
for(var/atom/atm in get_turf(W))
|
||||
for(var/A in get_turf(W))
|
||||
if(!W) return
|
||||
W.reagents.reaction(atm)
|
||||
if(isliving(atm)) //For extinguishing mobs on fire
|
||||
var/mob/living/M = atm
|
||||
M.ExtinguishMob()
|
||||
if(istype(atm,/obj/item))
|
||||
var/obj/item/Item = atm
|
||||
Item.extinguish()
|
||||
W.reagents.reaction(A)
|
||||
if(W.loc == my_target) break
|
||||
sleep(2)
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
/obj/item/weapon/grenade/iedcasing/prime() //Blowing that can up
|
||||
update_mob()
|
||||
explosion(src.loc,-1,-1,-1, flame_range = range) // no explosive damage, only a large fireball.
|
||||
explosion(src.loc,-1,-1,2, flame_range = 4) // small explosion, plus a very large fireball.
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/grenade/iedcasing/examine(mob/user)
|
||||
|
||||
@@ -439,7 +439,7 @@
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/backpack/dufflebag/syndie/m90glbundle
|
||||
desc = "A large dufflebag containing a M90gl, a magazine, and a stimpack."
|
||||
desc = "A large dufflebag containing an M90gl, a magazine, four additional grenades, and a pack of Syndicate cigarettes."
|
||||
|
||||
/obj/item/weapon/storage/backpack/dufflebag/syndie/m90glbundle/New()
|
||||
..()
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
name = "oxygen tank"
|
||||
desc = "A tank of oxygen."
|
||||
icon_state = "oxygen"
|
||||
distribute_pressure = 16
|
||||
distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
|
||||
force = 10
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = 2
|
||||
force = 4
|
||||
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
|
||||
distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
|
||||
volume = 3 //Tiny. Real life equivalents only have 21 breaths of oxygen in them. They're EMERGENCY tanks anyway -errorage (dangercon 2011)
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
#define TANK_MAX_RELEASE_PRESSURE (ONE_ATMOSPHERE*3)
|
||||
#define TANK_MIN_RELEASE_PRESSURE 0
|
||||
#define TANK_DEFAULT_RELEASE_PRESSURE (ONE_ATMOSPHERE*O2STANDARD)
|
||||
|
||||
/obj/item/weapon/tank
|
||||
name = "tank"
|
||||
icon = 'icons/obj/tank.dmi'
|
||||
@@ -119,10 +115,10 @@
|
||||
add_fingerprint(user)
|
||||
ui_interact(user)
|
||||
|
||||
/obj/item/weapon/tank/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, force_open = 0)
|
||||
ui = SSnano.try_update_ui(user, src, ui_key, ui, force_open = force_open)
|
||||
/obj/item/weapon/tank/ui_interact(mob/user, ui_key = "main", var/datum/tgui/ui = null, force_open = 0)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open = force_open)
|
||||
if (!ui)
|
||||
ui = new(user, src, ui_key, "tanks", name, 525, 210, state = inventory_state)
|
||||
ui = new(user, src, ui_key, "tanks", name, 400, 200, state = inventory_state)
|
||||
ui.open()
|
||||
|
||||
/obj/item/weapon/tank/get_ui_data()
|
||||
@@ -144,14 +140,12 @@
|
||||
|
||||
if(istype(location))
|
||||
var/mask_check = 0
|
||||
|
||||
if(location.internal == src) // if tank is current internal
|
||||
mask_check = 1
|
||||
data["valveOpen"] = 1
|
||||
else if(src in location) // or if tank is in the mobs possession
|
||||
if(!location.internal) // and they do not have any active internals
|
||||
mask_check = 1
|
||||
|
||||
if(mask_check)
|
||||
if(location.wear_mask && (location.wear_mask.flags & MASKINTERNALS))
|
||||
data["maskConnected"] = 1
|
||||
@@ -163,7 +157,7 @@
|
||||
|
||||
switch(action)
|
||||
if("pressure")
|
||||
switch(params["set"])
|
||||
switch(params["pressure"])
|
||||
if("custom")
|
||||
var/custom = input(usr, "What rate do you set the regulator to? The dial reads from 0 to [TANK_MAX_RELEASE_PRESSURE].") as null|num
|
||||
if(isnum(custom))
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
m180.Turn(180)
|
||||
animate(H, transform = m180, time = 3)
|
||||
H.pixel_y = H.get_standard_pixel_y_offset(180)
|
||||
qdel(G)
|
||||
return
|
||||
user << "<span class='danger'>You can't use that on the spike!</span>"
|
||||
return
|
||||
|
||||
@@ -35,8 +35,11 @@
|
||||
//for junctions, just swap the diagonals with each other
|
||||
if(split_text.len == 3 && split_text[3] != "Pass")
|
||||
split_text.Swap(2,3)
|
||||
else if(length(split_text[1]) == 2 && length(split_text[2]) == 2) //diagonals
|
||||
split_text[1] = copytext(split_text[1],1,2) + copytext(split_text[2],2,3)
|
||||
split_text[2] = copytext(split_text[2],1,2) + ((copytext(split_text[2],2,3) == "E") ? "W" : "E")
|
||||
//for curves, swap the diagonal direction that is not in the same axis as the cardinal direction
|
||||
else
|
||||
else
|
||||
if(split_text[1] == "N" || split_text[1] == "S")
|
||||
split_text[2] = copytext(split_text[2],1,2) + ((copytext(split_text[2],2,3) == "E") ? "W" : "E")
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user