mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-08-27 14:06:43 +01:00
Mass rename of 'metal' to steel, refactor of walls and falsewall mineral construction, refactor of materials and ores.
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
desc = "A huge chunk of metal used to seperate rooms."
|
||||
anchored = 1
|
||||
icon = 'icons/turf/walls.dmi'
|
||||
var/mineral = "metal"
|
||||
var/mineral = "steel"
|
||||
var/opening = 0
|
||||
|
||||
/obj/structure/falsewall/New()
|
||||
@@ -87,65 +87,45 @@
|
||||
user << "\red You must wait until the door has stopped moving."
|
||||
return
|
||||
|
||||
if(density)
|
||||
var/turf/T = get_turf(src)
|
||||
if(T.density)
|
||||
user << "\red The wall is blocked!"
|
||||
var/material/M = name_to_mineral[mineral]
|
||||
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(!istype(M) || !M.walltype_solid)
|
||||
user << "You cannot find any bolts on the wall."
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.")
|
||||
if(!mineral || mineral == "metal")
|
||||
T.ChangeTurf(/turf/simulated/wall)
|
||||
else
|
||||
T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]"))
|
||||
user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.")
|
||||
var/turf/T = get_turf(src)
|
||||
if(T)
|
||||
T.ChangeTurf(M.walltype_solid)
|
||||
del(src)
|
||||
return
|
||||
|
||||
var/cutting
|
||||
if(istype(W, /obj/item/weapon/melee/energy/blade) || istype(W, /obj/item/weapon/pickaxe))
|
||||
cutting = 1
|
||||
else if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(WT.welding)
|
||||
cutting = 1
|
||||
|
||||
if(cutting)
|
||||
if(density)
|
||||
var/turf/T = get_turf(src)
|
||||
if(T.density)
|
||||
user << "\red The wall is blocked!"
|
||||
return
|
||||
|
||||
if(!istype(M) || !M.walltype_solid)
|
||||
user << "You cannot weld this wall."
|
||||
return
|
||||
T.ChangeTurf(M.walltype_solid)
|
||||
if(mineral != "phoron")//Stupid shit keeps me from pushing the attackby() to phoron walls -Sieve
|
||||
T = get_turf(src) // Still not sure what the above is for, leaving it for now. ~Z
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
|
||||
if( istype(W, /obj/item/weapon/weldingtool) )
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if( WT:welding )
|
||||
if(!mineral)
|
||||
T.ChangeTurf(/turf/simulated/wall)
|
||||
else
|
||||
T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]"))
|
||||
if(mineral != "phoron")//Stupid shit keeps me from pushing the attackby() to phoron walls -Sieve
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
else
|
||||
user << "\blue You can't reach, close it first!"
|
||||
|
||||
if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) )
|
||||
var/turf/T = get_turf(src)
|
||||
if(!mineral)
|
||||
T.ChangeTurf(/turf/simulated/wall)
|
||||
else
|
||||
T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]"))
|
||||
if(mineral != "phoron")
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
user << "\blue You can't reach, close it first!"
|
||||
|
||||
//DRILLING
|
||||
else if (istype(W, /obj/item/weapon/pickaxe/diamonddrill))
|
||||
var/turf/T = get_turf(src)
|
||||
if(!mineral)
|
||||
T.ChangeTurf(/turf/simulated/wall)
|
||||
else
|
||||
T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]"))
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
|
||||
else if( istype(W, /obj/item/weapon/melee/energy/blade) )
|
||||
var/turf/T = get_turf(src)
|
||||
if(!mineral)
|
||||
T.ChangeTurf(/turf/simulated/wall)
|
||||
else
|
||||
T.ChangeTurf(text2path("/turf/simulated/wall/mineral/[mineral]"))
|
||||
if(mineral != "phoron")
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
|
||||
/obj/structure/falsewall/update_icon()//Calling icon_update will refresh the smoothwalls if it's closed, otherwise it will make sure the icon is correct if it's open
|
||||
..()
|
||||
@@ -167,7 +147,7 @@
|
||||
density = 1
|
||||
opacity = 1
|
||||
anchored = 1
|
||||
var/mineral = "metal"
|
||||
var/mineral = "steel"
|
||||
var/opening = 0
|
||||
|
||||
/obj/structure/falserwall/New()
|
||||
|
||||
@@ -89,88 +89,68 @@
|
||||
new/obj/structure/girder/displaced( src.loc )
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/stack/sheet/plasteel))
|
||||
var/obj/item/stack/sheet/S = W
|
||||
if(!anchored)
|
||||
if(S.use(2))
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falserwall (src.loc)
|
||||
del(src)
|
||||
else
|
||||
if (src.icon_state == "reinforced") //I cant believe someone would actually write this line of code...
|
||||
if(S.get_amount() < 1) return ..()
|
||||
user << "<span class='notice'>Now finalising reinforced wall.</span>"
|
||||
if(do_after(user, 50))
|
||||
if (S.use(1))
|
||||
user << "<span class='notice'>Wall fully reinforced!</span>"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ChangeTurf(/turf/simulated/wall/r_wall)
|
||||
for(var/turf/simulated/wall/r_wall/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
del(src)
|
||||
return
|
||||
else
|
||||
if(S.get_amount() < 1) return ..()
|
||||
user << "<span class='notice'>Now reinforcing girders...</span>"
|
||||
if (do_after(user,60))
|
||||
if(S.use(1))
|
||||
user << "<span class='notice'>Girders reinforced!</span>"
|
||||
new/obj/structure/girder/reinforced( src.loc )
|
||||
del(src)
|
||||
return
|
||||
|
||||
else if(istype(W, /obj/item/stack/sheet))
|
||||
|
||||
var/obj/item/stack/sheet/S = W
|
||||
switch(S.type)
|
||||
|
||||
if(/obj/item/stack/sheet/metal, /obj/item/stack/sheet/metal/cyborg)
|
||||
if(!anchored)
|
||||
if(S.use(2))
|
||||
user << "<span class='notice'>You create a false wall! Push on it to open or close the passage.</span>"
|
||||
new /obj/structure/falsewall (src.loc)
|
||||
del(src)
|
||||
else
|
||||
if(S.get_amount() < 2) return ..()
|
||||
user << "<span class='notice'>Now adding plating...</span>"
|
||||
if (do_after(user,40))
|
||||
if (S.use(2))
|
||||
user << "<span class='notice'>You added the plating!</span>"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ChangeTurf(/turf/simulated/wall)
|
||||
for(var/turf/simulated/wall/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
del(src)
|
||||
return
|
||||
|
||||
if(/obj/item/stack/sheet/plasteel, /obj/item/stack/sheet/plasteel/cyborg)
|
||||
if(!anchored)
|
||||
if(S.use(2))
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falserwall (src.loc)
|
||||
del(src)
|
||||
else
|
||||
if (src.icon_state == "reinforced") //I cant believe someone would actually write this line of code...
|
||||
if(S.get_amount() < 1) return ..()
|
||||
user << "<span class='notice'>Now finalising reinforced wall.</span>"
|
||||
if(do_after(user, 50))
|
||||
if (S.use(1))
|
||||
user << "<span class='notice'>Wall fully reinforced!</span>"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ChangeTurf(/turf/simulated/wall/r_wall)
|
||||
for(var/turf/simulated/wall/r_wall/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
del(src)
|
||||
return
|
||||
else
|
||||
if(S.get_amount() < 1) return ..()
|
||||
user << "<span class='notice'>Now reinforcing girders...</span>"
|
||||
if (do_after(user,60))
|
||||
if(S.use(1))
|
||||
user << "<span class='notice'>Girders reinforced!</span>"
|
||||
new/obj/structure/girder/reinforced( src.loc )
|
||||
del(src)
|
||||
return
|
||||
|
||||
if(S.sheettype)
|
||||
var/M = S.sheettype
|
||||
// Ugly hack, will suffice for now. Need to fix it upstream as well, may rewrite mineral walls. ~Z
|
||||
if(M in list("mhydrogen","osmium","tritium","platinum","iron"))
|
||||
user << "You cannot plate the girder in that material."
|
||||
return
|
||||
if(!anchored)
|
||||
if(S.amount < 2) return
|
||||
S.use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
var/F = text2path("/obj/structure/falsewall/[M]")
|
||||
new F (src.loc)
|
||||
del(src)
|
||||
else
|
||||
if(S.amount < 2) return ..()
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
if(!src || !S || S.amount < 2) return
|
||||
S.use(2)
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ChangeTurf(text2path("/turf/simulated/wall/mineral/[M]"))
|
||||
for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
del(src)
|
||||
return
|
||||
|
||||
var/material/M = name_to_mineral[S.sheettype]
|
||||
add_hiddenprint(usr)
|
||||
|
||||
if(!anchored)
|
||||
if(!istype(M) || !M.walltype_false)
|
||||
user << "<span class='notice'>You cannot make a false wall using this material.</span>"
|
||||
return
|
||||
if(S.use(2))
|
||||
user << "<span class='notice'>You create a false wall! Push on it to open or close the passage.</span>"
|
||||
new M.walltype_false (src.loc)
|
||||
del(src)
|
||||
else
|
||||
if(!istype(M) || !M.walltype_solid)
|
||||
user << "<span class='notice'>You cannot plate a wall in this material.</span>"
|
||||
return
|
||||
if(S.get_amount() < 2)
|
||||
return ..()
|
||||
user << "<span class='notice'>Now adding plating...</span>"
|
||||
if (do_after(user,40))
|
||||
if (S.use(2))
|
||||
user << "<span class='notice'>You added the plating!</span>"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ChangeTurf(M.walltype_solid)
|
||||
for(var/turf/simulated/wall/X in Tsrc.loc)
|
||||
if(X)
|
||||
X.add_hiddenprint(usr)
|
||||
del(src)
|
||||
return
|
||||
|
||||
else if(istype(W, /obj/item/pipe))
|
||||
var/obj/item/pipe/P = W
|
||||
if (P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds.
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
icon = 'icons/obj/doors/mineral_doors.dmi'
|
||||
icon_state = "metal"
|
||||
|
||||
var/mineralType = "metal"
|
||||
var/mineralType = "steel"
|
||||
var/state = 0 //closed, 1 == open
|
||||
var/isSwitchingStates = 0
|
||||
var/hardness = 1
|
||||
@@ -119,24 +119,10 @@
|
||||
Dismantle(1)
|
||||
|
||||
proc/Dismantle(devastated = 0)
|
||||
if(!devastated)
|
||||
if (mineralType == "metal")
|
||||
var/ore = /obj/item/stack/sheet/metal
|
||||
for(var/i = 1, i <= oreAmount, i++)
|
||||
new ore(get_turf(src))
|
||||
else
|
||||
var/ore = text2path("/obj/item/stack/sheet/mineral/[mineralType]")
|
||||
for(var/i = 1, i <= oreAmount, i++)
|
||||
new ore(get_turf(src))
|
||||
else
|
||||
if (mineralType == "metal")
|
||||
var/ore = /obj/item/stack/sheet/metal
|
||||
for(var/i = 3, i <= oreAmount, i++)
|
||||
new ore(get_turf(src))
|
||||
else
|
||||
var/ore = text2path("/obj/item/stack/sheet/mineral/[mineralType]")
|
||||
for(var/i = 3, i <= oreAmount, i++)
|
||||
new ore(get_turf(src))
|
||||
var/material/M = name_to_mineral[mineralType]
|
||||
if(istype(M))
|
||||
for(var/i = (devastated? 1 : 3), i <= oreAmount, i++)
|
||||
new M.stack_type(get_turf(src))
|
||||
del(src)
|
||||
|
||||
ex_act(severity = 1)
|
||||
@@ -155,7 +141,7 @@
|
||||
return
|
||||
|
||||
/obj/structure/mineral_door/iron
|
||||
mineralType = "metal"
|
||||
mineralType = "iron"
|
||||
hardness = 3
|
||||
|
||||
/obj/structure/mineral_door/silver
|
||||
|
||||
Reference in New Issue
Block a user