mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +01:00
Merge pull request #3767 from Tastyfish/silence
Tranquillité, Prospérité & Mimeré
This commit is contained in:
@@ -152,14 +152,15 @@
|
||||
#define MAX_SUPPLIED_LAW_NUMBER 50
|
||||
|
||||
//Material defines
|
||||
#define MAT_METAL "$metal"
|
||||
#define MAT_GLASS "$glass"
|
||||
#define MAT_SILVER "$silver"
|
||||
#define MAT_GOLD "$gold"
|
||||
#define MAT_DIAMOND "$diamond"
|
||||
#define MAT_URANIUM "$uranium"
|
||||
#define MAT_PLASMA "$plasma"
|
||||
#define MAT_BANANIUM "$bananium"
|
||||
#define MAT_METAL "$metal"
|
||||
#define MAT_GLASS "$glass"
|
||||
#define MAT_SILVER "$silver"
|
||||
#define MAT_GOLD "$gold"
|
||||
#define MAT_DIAMOND "$diamond"
|
||||
#define MAT_URANIUM "$uranium"
|
||||
#define MAT_PLASMA "$plasma"
|
||||
#define MAT_BANANIUM "$bananium"
|
||||
#define MAT_TRANQUILLITE "$tranquillite"
|
||||
|
||||
#define MAX_STACK_SIZE 50
|
||||
|
||||
|
||||
@@ -38,6 +38,8 @@
|
||||
materials[MAT_PLASMA] = new /datum/material/plasma()
|
||||
if(mat_list[MAT_BANANIUM])
|
||||
materials[MAT_BANANIUM] = new /datum/material/bananium()
|
||||
if(mat_list[MAT_TRANQUILLITE])
|
||||
materials[MAT_TRANQUILLITE] = new /datum/material/tranquillite()
|
||||
|
||||
/datum/material_container/Destroy()
|
||||
owner = null
|
||||
@@ -262,4 +264,11 @@
|
||||
/datum/material/bananium/New()
|
||||
..()
|
||||
material_type = MAT_BANANIUM
|
||||
sheet_type = /obj/item/stack/sheet/mineral/bananium
|
||||
sheet_type = /obj/item/stack/sheet/mineral/bananium
|
||||
|
||||
/datum/material/tranquillite
|
||||
|
||||
/datum/material/tranquillite/New()
|
||||
..()
|
||||
material_type = MAT_TRANQUILLITE
|
||||
sheet_type = /obj/item/stack/sheet/mineral/tranquillite
|
||||
@@ -55,83 +55,93 @@ for reference:
|
||||
|
||||
|
||||
//Barricades, maybe there will be a metal one later...
|
||||
/obj/structure/barricade
|
||||
anchored = 1.0
|
||||
density = 1.0
|
||||
var/health = 100.0
|
||||
var/maxhealth = 100.0
|
||||
var/stacktype = /obj/item/stack/sheet/metal
|
||||
|
||||
/obj/structure/barricade/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
if (istype(W, stacktype))
|
||||
if (src.health < src.maxhealth)
|
||||
visible_message("\red [user] begins to repair the [src]!")
|
||||
if(do_after(user,20, target = src))
|
||||
src.health = src.maxhealth
|
||||
W:use(1)
|
||||
visible_message("\red [user] repairs the [src]!")
|
||||
return
|
||||
else
|
||||
return
|
||||
return
|
||||
else if (istype(W, /obj/item/weapon/crowbar))
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.visible_message("<span class='notice'>[user] is prying apart \the [src].</span>", "<span class='notice'>You begin to pry apart \the [src].</span>")
|
||||
playsound(src, 'sound/items/Crowbar.ogg', 200, 1)
|
||||
|
||||
if(do_after(user, 300, target = src) && src && !src.gcDestroyed)
|
||||
user.visible_message("<span class='notice'>[user] pries apart \the [src].</span>", "<span class='notice'>You pry apart \the [src].</span>")
|
||||
dismantle()
|
||||
return
|
||||
else
|
||||
switch(W.damtype)
|
||||
if("fire")
|
||||
src.health -= W.force * 1
|
||||
if("brute")
|
||||
src.health -= W.force * 0.75
|
||||
else
|
||||
if (src.health <= 0)
|
||||
visible_message("<span class='danger'>\The [src] is smashed apart!</span>")
|
||||
dismantle()
|
||||
..()
|
||||
|
||||
/obj/structure/barricade/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
visible_message("<span class='danger'>\The [src] is blown apart!</span>")
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
src.health -= 25
|
||||
if (src.health <= 0)
|
||||
visible_message("<span class='danger'>\The [src] is blown apart!</span>")
|
||||
dismantle()
|
||||
return
|
||||
|
||||
/obj/structure/barricade/blob_act()
|
||||
src.health -= 25
|
||||
if (src.health <= 0)
|
||||
visible_message("\red <B>The blob eats through \the [src]!</B>")
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/structure/barricade/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)//So bullets will fly over and stuff.
|
||||
if(air_group || (height==0))
|
||||
return 1
|
||||
if(istype(mover) && mover.checkpass(PASSTABLE))
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
/obj/structure/barricade/proc/dismantle()
|
||||
new stacktype(get_turf(src))
|
||||
new stacktype(get_turf(src))
|
||||
new stacktype(get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/barricade/wooden
|
||||
name = "wooden barricade"
|
||||
desc = "This space is blocked off by a wooden barricade."
|
||||
icon = 'icons/obj/structures.dmi'
|
||||
icon_state = "woodenbarricade"
|
||||
anchored = 1.0
|
||||
density = 1.0
|
||||
var/health = 100.0
|
||||
var/maxhealth = 100.0
|
||||
|
||||
attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
if (istype(W, /obj/item/stack/sheet/wood))
|
||||
if (src.health < src.maxhealth)
|
||||
visible_message("\red [user] begins to repair the [src]!")
|
||||
if(do_after(user,20, target = src))
|
||||
src.health = src.maxhealth
|
||||
W:use(1)
|
||||
visible_message("\red [user] repairs the [src]!")
|
||||
return
|
||||
else
|
||||
return
|
||||
return
|
||||
else if (istype(W, /obj/item/weapon/crowbar))
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.visible_message("<span class='notice'>[user] is prying apart \the [src].</span>", "<span class='notice'>You begin to pry apart \the [src].</span>")
|
||||
playsound(src, 'sound/items/Crowbar.ogg', 200, 1)
|
||||
|
||||
if(do_after(user, 300, target = src) && src && !src.gcDestroyed)
|
||||
user.visible_message("<span class='notice'>[user] pries apart \the [src].</span>", "<span class='notice'>You pry apart \the [src].</span>")
|
||||
dismantle()
|
||||
return
|
||||
else
|
||||
switch(W.damtype)
|
||||
if("fire")
|
||||
src.health -= W.force * 1
|
||||
if("brute")
|
||||
src.health -= W.force * 0.75
|
||||
else
|
||||
if (src.health <= 0)
|
||||
visible_message("\red <B>The barricade is smashed apart!</B>")
|
||||
dismantle()
|
||||
..()
|
||||
|
||||
ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
visible_message("\red <B>The barricade is blown apart!</B>")
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
src.health -= 25
|
||||
if (src.health <= 0)
|
||||
visible_message("\red <B>The barricade is blown apart!</B>")
|
||||
dismantle()
|
||||
return
|
||||
|
||||
blob_act()
|
||||
src.health -= 25
|
||||
if (src.health <= 0)
|
||||
visible_message("\red <B>The blob eats through the barricade!</B>")
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
CanPass(atom/movable/mover, turf/target, height=0, air_group=0)//So bullets will fly over and stuff.
|
||||
if(air_group || (height==0))
|
||||
return 1
|
||||
if(istype(mover) && mover.checkpass(PASSTABLE))
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
proc/dismantle()
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
qdel(src)
|
||||
stacktype = /obj/item/stack/sheet/wood
|
||||
|
||||
/obj/structure/barricade/mime
|
||||
name = "floor"
|
||||
desc = "Is... this a floor?"
|
||||
icon = 'icons/effects/water.dmi'
|
||||
icon_state = "wet_floor_static"
|
||||
stacktype = /obj/item/stack/sheet/mineral/tranquillite
|
||||
|
||||
//Actual Deployable machinery stuff
|
||||
|
||||
|
||||
@@ -261,8 +261,9 @@
|
||||
mineral = "clown"
|
||||
|
||||
/obj/machinery/door/airlock/mime
|
||||
name = "Airlock"
|
||||
name = "Tranquillite Airlock"
|
||||
icon = 'icons/obj/doors/Doorfreezer.dmi'
|
||||
mineral = "mime"
|
||||
|
||||
/obj/machinery/door/airlock/sandstone
|
||||
name = "Sandstone Airlock"
|
||||
|
||||
@@ -23,7 +23,7 @@ var/const/SAFETY_COOLDOWN = 100
|
||||
component_parts += new /obj/item/weapon/circuitboard/recycler(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/matter_bin(null)
|
||||
component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
|
||||
materials = new /datum/material_container(src, list(MAT_METAL=1, MAT_GLASS=1, MAT_SILVER=1, MAT_GOLD=1, MAT_DIAMOND=1, MAT_PLASMA=1, MAT_URANIUM=1, MAT_BANANIUM=1))
|
||||
materials = new /datum/material_container(src, list(MAT_METAL=1, MAT_GLASS=1, MAT_SILVER=1, MAT_GOLD=1, MAT_DIAMOND=1, MAT_PLASMA=1, MAT_URANIUM=1, MAT_BANANIUM=1, MAT_TRANQUILLITE=1))
|
||||
RefreshParts()
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -5,21 +5,21 @@
|
||||
initial_icon = "mime"
|
||||
step_in = 2
|
||||
dir_in = 1 //Facing North.
|
||||
health = 100
|
||||
deflect_chance = 3
|
||||
health = 150
|
||||
deflect_chance = 30
|
||||
damage_absorption = list("brute"=0.75,"fire"=1,"bullet"=0.8,"laser"=0.7,"energy"=0.85,"bomb"=1)
|
||||
max_temperature = 15000
|
||||
wreckage = /obj/effect/decal/mecha_wreckage/mime
|
||||
internal_damage_threshold = 25
|
||||
max_equip = 2
|
||||
wreckage = /obj/effect/decal/mecha_wreckage/recitence
|
||||
operation_req_access = list(access_mime)
|
||||
add_req_access = 0
|
||||
internal_damage_threshold = 60
|
||||
max_equip = 3
|
||||
step_energy_drain = 3
|
||||
// color = "#87878715"
|
||||
stepsound = null
|
||||
|
||||
/obj/mecha/combat/recitence/loaded/New()
|
||||
..()
|
||||
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced
|
||||
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine/silenced
|
||||
ME.attach(src)
|
||||
ME = new /obj/item/mecha_parts/mecha_equipment/tool/rcd //HAHA IT MAKES WALLS GET IT
|
||||
ME.attach(src)
|
||||
return
|
||||
ME = new /obj/item/mecha_parts/mecha_equipment/tool/mimercd //HAHA IT MAKES WALLS GET IT
|
||||
ME.attach(src)
|
||||
@@ -1112,4 +1112,36 @@
|
||||
scanning = 1
|
||||
mineral_scan_pulse(occupant,get_turf(loc))
|
||||
spawn(equip_cooldown)
|
||||
scanning = 0
|
||||
scanning = 0
|
||||
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/mimercd
|
||||
name = "Mounted MRCD"
|
||||
desc = "An exosuit-mounted Mime Rapid Construction Device. (Can be attached to: Recitence)"
|
||||
icon_state = "mecha_rcd"
|
||||
origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4"
|
||||
equip_cooldown = 10
|
||||
energy_drain = 250
|
||||
range = MELEE|RANGED
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/mimercd/can_attach(obj/mecha/combat/recitence/M as obj)
|
||||
if(..())
|
||||
if(istype(M))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/mimercd/action(atom/target)
|
||||
if(istype(target, /turf/space/transit))//>implying these are ever made -Sieve
|
||||
return
|
||||
if(!istype(target, /turf) && !istype(target, /obj/machinery/door/airlock))
|
||||
target = get_turf(target)
|
||||
if(!action_checks(target) || get_dist(chassis, target)>3)
|
||||
return
|
||||
|
||||
if(istype(target, /turf/simulated/floor))
|
||||
occupant_message("Building Wall...")
|
||||
set_ready_state(0)
|
||||
if(do_after_cooldown(target))
|
||||
new /obj/structure/barricade/mime(target)
|
||||
chassis.spark_system.start()
|
||||
chassis.use_power(energy_drain*2)
|
||||
@@ -160,6 +160,9 @@
|
||||
spawn(20)
|
||||
if(thingy)
|
||||
walk(thingy,0)
|
||||
for(var/obj/mecha/combat/recitence/R in oview(6, chassis))
|
||||
R.occupant_message("\The [R] has protected you from [chassis]'s HONK at the cost of some power.")
|
||||
R.use_power(R.get_charge() / 4)
|
||||
|
||||
chassis.use_power(energy_drain)
|
||||
log_message("Honked from [src.name]. HONK!")
|
||||
@@ -244,15 +247,21 @@
|
||||
do_after_cooldown()
|
||||
return
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/silenced
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine/silenced
|
||||
name = "\improper S.H.H. \"Quietus\" Carbine"
|
||||
fire_sound = "sound/weapons/Gunshot_silenced.ogg"
|
||||
icon_state = "mecha_mime"
|
||||
equip_cooldown = 30
|
||||
equip_cooldown = 15
|
||||
projectile = /obj/item/projectile/bullet/mime
|
||||
projectiles = 6
|
||||
projectiles = 20
|
||||
projectile_energy_cost = 50
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine/silenced/can_attach(obj/mecha/combat/recitence/M as obj)
|
||||
if(..())
|
||||
if(istype(M))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot
|
||||
name = "LBX AC 10 \"Scattershot\""
|
||||
icon_state = "mecha_scatter"
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
MAT_METAL=0,
|
||||
MAT_GLASS=0,
|
||||
MAT_BANANIUM=0,
|
||||
MAT_TRANQUILLITE=0,
|
||||
MAT_DIAMOND=0,
|
||||
MAT_GOLD=0,
|
||||
MAT_PLASMA=0,
|
||||
@@ -41,6 +42,7 @@
|
||||
"Gygax",
|
||||
"Durand",
|
||||
"H.O.N.K",
|
||||
"Recitence",
|
||||
"Phazon",
|
||||
"Exosuit Equipment",
|
||||
"Cyborg Upgrade Modules",
|
||||
@@ -350,7 +352,7 @@
|
||||
</table>
|
||||
</body>
|
||||
</html>"}
|
||||
user << browse(dat, "window=mecha_fabricator;size=1000x430")
|
||||
user << browse(dat, "window=mecha_fabricator;size=1000x490")
|
||||
onclose(user, "mecha_fabricator")
|
||||
return
|
||||
|
||||
@@ -468,6 +470,8 @@
|
||||
type = /obj/item/stack/sheet/mineral/uranium
|
||||
if(MAT_BANANIUM)
|
||||
type = /obj/item/stack/sheet/mineral/bananium
|
||||
if(MAT_TRANQUILLITE)
|
||||
type = /obj/item/stack/sheet/mineral/tranquillite
|
||||
else
|
||||
return 0
|
||||
var/result = 0
|
||||
@@ -521,6 +525,8 @@
|
||||
material = MAT_GLASS
|
||||
if(/obj/item/stack/sheet/mineral/bananium)
|
||||
material = MAT_BANANIUM
|
||||
if(/obj/item/stack/sheet/mineral/tranquillite)
|
||||
material = MAT_TRANQUILLITE
|
||||
if(/obj/item/stack/sheet/mineral/uranium)
|
||||
material = MAT_URANIUM
|
||||
else
|
||||
|
||||
@@ -855,6 +855,83 @@
|
||||
feedback_inc("mecha_honker_created",1)
|
||||
return
|
||||
|
||||
/datum/construction/mecha/recitence_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/recitence_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/recitence_left_arm),//2
|
||||
list("key"=/obj/item/mecha_parts/part/recitence_right_arm),//3
|
||||
list("key"=/obj/item/mecha_parts/part/recitence_left_leg),//4
|
||||
list("key"=/obj/item/mecha_parts/part/recitence_right_leg),//5
|
||||
list("key"=/obj/item/mecha_parts/part/recitence_head)
|
||||
)
|
||||
|
||||
/datum/construction/mecha/recitence_chassis/action(atom/used_atom,mob/user as mob)
|
||||
return check_all_steps(used_atom,user)
|
||||
|
||||
/datum/construction/mecha/recitence_chassis/custom_action(step, atom/used_atom, mob/user)
|
||||
user.visible_message("[user] has connected [used_atom] to the [holder].", "You connect [used_atom] to the [holder]")
|
||||
holder.overlays += used_atom.icon_state + "+o"
|
||||
qdel(used_atom)
|
||||
return 1
|
||||
|
||||
/datum/construction/mecha/recitence_chassis/spawn_result()
|
||||
var/obj/item/mecha_parts/chassis/const_holder = holder
|
||||
const_holder.construct = new /datum/construction/mecha/recitence(const_holder)
|
||||
const_holder.density = 1
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/datum/construction/mecha/recitence
|
||||
result = "/obj/mecha/combat/recitence"
|
||||
steps = list(list("key"=/obj/effect/dummy/mecha_emote_step),//1
|
||||
list("key"=/obj/item/clothing/suit/suspenders),//2
|
||||
list("key"=/obj/effect/dummy/mecha_emote_step),//3
|
||||
list("key"=/obj/item/clothing/mask/gas/mime),//4
|
||||
list("key"=/obj/effect/dummy/mecha_emote_step),//5
|
||||
list("key"=/obj/item/clothing/head/beret),//6
|
||||
list("key"=/obj/item/weapon/circuitboard/mecha/recitence/targeting),//7
|
||||
list("key"=/obj/item/weapon/circuitboard/mecha/recitence/peripherals),//8
|
||||
list("key"=/obj/item/weapon/circuitboard/mecha/recitence/main),//9
|
||||
)
|
||||
|
||||
/datum/construction/mecha/recitence/action(atom/used_atom,mob/user)
|
||||
return check_step(used_atom,user)
|
||||
|
||||
/datum/construction/mecha/recitence/custom_action(step, atom/used_atom, mob/user)
|
||||
if(!..())
|
||||
return 0
|
||||
|
||||
if(istype(used_atom, /obj/effect/dummy/mecha_emote_step))
|
||||
var/obj/effect/dummy/mecha_emote_step/E = used_atom
|
||||
holder.visible_message("<span class='game say'><span class='name'>[holder]</span> likewise [E.emote]</span>")
|
||||
qdel(used_atom)
|
||||
|
||||
//TODO: better messages.
|
||||
switch(step)
|
||||
if(9)
|
||||
user.visible_message("[user] installs the central control module into the [holder].", "<span class='notice'>You install the central control module into the [holder].</span>")
|
||||
qdel(used_atom)
|
||||
if(8)
|
||||
user.visible_message("[user] installs the peripherals control module into the [holder].", "<span class='notice'>You install the peripherals control module into the [holder].</span>")
|
||||
qdel(used_atom)
|
||||
if(7)
|
||||
user.visible_message("[user] installs the weapon control module into the [holder].", "<span class='notice'>You install the weapon control module into the [holder].</span>")
|
||||
qdel(used_atom)
|
||||
if(6)
|
||||
user.visible_message("[user] puts beret on the [holder].", "<span class='notice'>You put beret on the [holder].</span>")
|
||||
qdel(used_atom)
|
||||
if(4)
|
||||
user.visible_message("[user] puts mime mask on the [holder].", "<span class='notice'>You put mime mask on the [holder].</span>")
|
||||
qdel(used_atom)
|
||||
if(2)
|
||||
user.visible_message("[user] puts suspenders on the [holder].", "<span class='notice'>You put suspenders on the [holder].</span>")
|
||||
qdel(used_atom)
|
||||
return 1
|
||||
|
||||
/datum/construction/mecha/recitence/spawn_result()
|
||||
..()
|
||||
feedback_inc("mecha_recitence_created",1)
|
||||
return
|
||||
|
||||
/datum/construction/mecha/durand_chassis
|
||||
steps = list(list("key"=/obj/item/mecha_parts/part/durand_torso),//1
|
||||
list("key"=/obj/item/mecha_parts/part/durand_left_arm),//2
|
||||
|
||||
+129
-66
@@ -223,6 +223,54 @@
|
||||
icon_state = "honker_r_leg"
|
||||
|
||||
|
||||
////////// Recitence
|
||||
|
||||
/obj/item/mecha_parts/chassis/recitence
|
||||
name = "Recitence Chassis"
|
||||
|
||||
/obj/item/mecha_parts/chassis/recitence/New()
|
||||
..()
|
||||
construct = new /datum/construction/mecha/recitence_chassis(src)
|
||||
|
||||
/obj/effect/dummy/mecha_emote_step
|
||||
var/emote
|
||||
|
||||
/obj/effect/dummy/mecha_emote_step/New(e)
|
||||
emote = e
|
||||
|
||||
/obj/item/mecha_parts/chassis/recitence/hear_message(mob/living/M, msg)
|
||||
if(!istype(M) || !istype(construct, /datum/construction/mecha/recitence))
|
||||
return
|
||||
// is the current step the dummy emote object?
|
||||
var/list/steps = construct.steps
|
||||
if(steps[steps.len]["key"] == /obj/effect/dummy/mecha_emote_step)
|
||||
construct.action(new /obj/effect/dummy/mecha_emote_step(msg), M)
|
||||
|
||||
/obj/item/mecha_parts/part/recitence_torso
|
||||
name = "Recitence Torso"
|
||||
icon_state = "recitence_harness"
|
||||
|
||||
/obj/item/mecha_parts/part/recitence_head
|
||||
name = "Recitence Head"
|
||||
icon_state = "recitence_head"
|
||||
|
||||
/obj/item/mecha_parts/part/recitence_left_arm
|
||||
name = "Recitence Left Arm"
|
||||
icon_state = "recitence_l_arm"
|
||||
|
||||
/obj/item/mecha_parts/part/recitence_right_arm
|
||||
name = "Recitence Right Arm"
|
||||
icon_state = "recitence_r_arm"
|
||||
|
||||
/obj/item/mecha_parts/part/recitence_left_leg
|
||||
name = "Recitence Left Leg"
|
||||
icon_state = "recitence_l_leg"
|
||||
|
||||
/obj/item/mecha_parts/part/recitence_right_leg
|
||||
name = "Recitence Right Leg"
|
||||
icon_state = "recitence_r_leg"
|
||||
|
||||
|
||||
////////// Phazon
|
||||
|
||||
/obj/item/mecha_parts/chassis/phazon
|
||||
@@ -333,93 +381,108 @@
|
||||
throw_speed = 3
|
||||
throw_range = 15
|
||||
|
||||
ripley
|
||||
origin_tech = "programming=3"
|
||||
/obj/item/weapon/circuitboard/mecha/ripley
|
||||
origin_tech = "programming=3"
|
||||
|
||||
ripley/peripherals
|
||||
name = "Circuit board (Ripley Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
/obj/item/weapon/circuitboard/mecha/ripley/peripherals
|
||||
name = "Circuit board (Ripley Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
ripley/main
|
||||
name = "Circuit board (Ripley Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
/obj/item/weapon/circuitboard/mecha/ripley/main
|
||||
name = "Circuit board (Ripley Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
gygax
|
||||
origin_tech = "programming=4"
|
||||
/obj/item/weapon/circuitboard/mecha/gygax
|
||||
origin_tech = "programming=4"
|
||||
|
||||
gygax/peripherals
|
||||
name = "Circuit board (Gygax Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
/obj/item/weapon/circuitboard/mecha/gygax/peripherals
|
||||
name = "Circuit board (Gygax Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
gygax/targeting
|
||||
name = "Circuit board (Gygax Weapon Control and Targeting module)"
|
||||
icon_state = "mcontroller"
|
||||
origin_tech = "programming=4;combat=4"
|
||||
/obj/item/weapon/circuitboard/mecha/gygax/targeting
|
||||
name = "Circuit board (Gygax Weapon Control and Targeting module)"
|
||||
icon_state = "mcontroller"
|
||||
origin_tech = "programming=4;combat=4"
|
||||
|
||||
gygax/main
|
||||
name = "Circuit board (Gygax Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
/obj/item/weapon/circuitboard/mecha/gygax/main
|
||||
name = "Circuit board (Gygax Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
durand
|
||||
origin_tech = "programming=4"
|
||||
/obj/item/weapon/circuitboard/mecha/durand
|
||||
origin_tech = "programming=4"
|
||||
|
||||
durand/peripherals
|
||||
name = "Circuit board (Durand Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
/obj/item/weapon/circuitboard/mecha/durand/peripherals
|
||||
name = "Circuit board (Durand Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
durand/targeting
|
||||
name = "Circuit board (Durand Weapon Control and Targeting module)"
|
||||
icon_state = "mcontroller"
|
||||
origin_tech = "programming=4;combat=4"
|
||||
/obj/item/weapon/circuitboard/mecha/durand/targeting
|
||||
name = "Circuit board (Durand Weapon Control and Targeting module)"
|
||||
icon_state = "mcontroller"
|
||||
origin_tech = "programming=4;combat=4"
|
||||
|
||||
durand/main
|
||||
name = "Circuit board (Durand Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
/obj/item/weapon/circuitboard/mecha/durand/main
|
||||
name = "Circuit board (Durand Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
phazon
|
||||
origin_tech = "programming=4"
|
||||
/obj/item/weapon/circuitboard/mecha/phazon
|
||||
origin_tech = "programming=4"
|
||||
|
||||
phazon/peripherals
|
||||
name = "Circuit board (Phazon Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
/obj/item/weapon/circuitboard/mecha/phazon/peripherals
|
||||
name = "Circuit board (Phazon Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
phazon/targeting
|
||||
name = "Circuit board (Phazon Weapon Control and Targeting module)"
|
||||
icon_state = "mcontroller"
|
||||
origin_tech = "programming=4;combat=4"
|
||||
/obj/item/weapon/circuitboard/mecha/phazon/targeting
|
||||
name = "Circuit board (Phazon Weapon Control and Targeting module)"
|
||||
icon_state = "mcontroller"
|
||||
origin_tech = "programming=4;combat=4"
|
||||
|
||||
phazon/main
|
||||
name = "Circuit board (Phazon Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
/obj/item/weapon/circuitboard/mecha/phazon/main
|
||||
name = "Circuit board (Phazon Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
honker
|
||||
origin_tech = "programming=4"
|
||||
/obj/item/weapon/circuitboard/mecha/honker
|
||||
origin_tech = "programming=4"
|
||||
|
||||
honker/peripherals
|
||||
name = "Circuit board (H.O.N.K Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
/obj/item/weapon/circuitboard/mecha/honker/peripherals
|
||||
name = "Circuit board (H.O.N.K Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
honker/targeting
|
||||
name = "Circuit board (H.O.N.K Weapon Control and Targeting module)"
|
||||
icon_state = "mcontroller"
|
||||
/obj/item/weapon/circuitboard/mecha/honker/targeting
|
||||
name = "Circuit board (H.O.N.K Weapon Control and Targeting module)"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
honker/main
|
||||
name = "Circuit board (H.O.N.K Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
/obj/item/weapon/circuitboard/mecha/honker/main
|
||||
name = "Circuit board (H.O.N.K Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
odysseus
|
||||
origin_tech = "programming=3"
|
||||
/obj/item/weapon/circuitboard/mecha/recitence
|
||||
origin_tech = "programming=4"
|
||||
|
||||
odysseus/peripherals
|
||||
name = "Circuit board (Odysseus Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
/obj/item/weapon/circuitboard/mecha/recitence/peripherals
|
||||
name = "circuit board (Reticience Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
odysseus/main
|
||||
name = "Circuit board (Odysseus Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
/obj/item/weapon/circuitboard/mecha/recitence/targeting
|
||||
name = "circuit board (Reticience Weapon Control and Targeting module)"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
pod
|
||||
name = "Circuit board (Space Pod Mainboard)"
|
||||
icon_state = "mainboard"
|
||||
/obj/item/weapon/circuitboard/mecha/recitence/main
|
||||
name = "circuit board (Reticience Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/odysseus
|
||||
origin_tech = "programming=3"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/odysseus/peripherals
|
||||
name = "Circuit board (Odysseus Peripherals Control module)"
|
||||
icon_state = "mcontroller"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/odysseus/main
|
||||
name = "Circuit board (Odysseus Central Control module)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
/obj/item/weapon/circuitboard/mecha/pod
|
||||
name = "Circuit board (Space Pod Mainboard)"
|
||||
icon_state = "mainboard"
|
||||
|
||||
|
||||
|
||||
@@ -114,17 +114,13 @@
|
||||
icon_state = "mauler-broken"
|
||||
desc = "The syndicate won't be very happy about this..."
|
||||
|
||||
/obj/effect/decal/mecha_wreckage/mime
|
||||
name = "Mimech wreckage"
|
||||
icon_state = "mime-broken"
|
||||
|
||||
/obj/effect/decal/mecha_wreckage/seraph
|
||||
name = "Seraph wreckage"
|
||||
icon_state = "seraph-broken"
|
||||
|
||||
/obj/effect/decal/mecha_wreckage/recitence
|
||||
name = "\improper Recitence wreckage"
|
||||
icon_state = "recitence-broken"
|
||||
icon_state = "mime-broken"
|
||||
|
||||
/obj/effect/decal/mecha_wreckage/ripley
|
||||
name = "Ripley wreckage"
|
||||
|
||||
@@ -8,6 +8,7 @@ Mineral Sheets
|
||||
- Gold
|
||||
- Silver
|
||||
- Bananium
|
||||
- Tranqillite
|
||||
- Enriched Uranium
|
||||
- Platinum
|
||||
- Metallic Hydrogen
|
||||
@@ -62,6 +63,11 @@ var/global/list/datum/stack_recipe/bananium_recipes = list ( \
|
||||
new/datum/stack_recipe("bananium grenade casing", /obj/item/weapon/grenade/bananade/casing, 4, on_floor = 1), \
|
||||
)
|
||||
|
||||
var/global/list/datum/stack_recipe/mime_recipes = list ( \
|
||||
new/datum/stack_recipe("silent tile", /obj/item/stack/tile/silent, 1, 4, 20), \
|
||||
new/datum/stack_recipe("invisible wall", /obj/structure/barricade/mime, 5, one_per_turf = 1, on_floor = 1, time = 50), \
|
||||
)
|
||||
|
||||
/obj/item/stack/sheet/mineral
|
||||
force = 5.0
|
||||
throwforce = 5
|
||||
@@ -169,6 +175,18 @@ var/global/list/datum/stack_recipe/bananium_recipes = list ( \
|
||||
..()
|
||||
recipes = bananium_recipes
|
||||
|
||||
/obj/item/stack/sheet/mineral/tranquillite
|
||||
name = "tranquillite"
|
||||
singular_name = "beret"
|
||||
icon_state = "sheet-mime"
|
||||
origin_tech = "materials=4"
|
||||
sheettype = "mime"
|
||||
materials = list(MAT_TRANQUILLITE=MINERAL_MATERIAL_AMOUNT)
|
||||
|
||||
/obj/item/stack/sheet/mineral/tranquillite/New(var/loc, var/amount=null)
|
||||
..()
|
||||
recipes = mime_recipes
|
||||
|
||||
/obj/item/stack/sheet/mineral/enruranium
|
||||
name = "enriched uranium"
|
||||
icon_state = "sheet-enruranium"
|
||||
|
||||
@@ -116,3 +116,12 @@
|
||||
/obj/item/stack/tile/noslip/loaded
|
||||
amount = 20
|
||||
|
||||
/obj/item/stack/tile/silent
|
||||
name = "silent tile"
|
||||
singular_name = "silent floor tile"
|
||||
desc = "A tile made out of tranquillite, SHHHHHHHHH!"
|
||||
icon_state = "tile-silent"
|
||||
origin_tech = "materials=1"
|
||||
turf_type = /turf/simulated/floor/silent
|
||||
mineralType = "tranquillite"
|
||||
materials = list(MAT_TRANQUILLITE=500)
|
||||
@@ -17,127 +17,127 @@ obj/structure/door_assembly
|
||||
New()
|
||||
update_state()
|
||||
|
||||
door_assembly_com
|
||||
base_icon_state = "com"
|
||||
base_name = "Command Airlock"
|
||||
glass_type = "/glass_command"
|
||||
airlock_type = "/command"
|
||||
obj/structure/door_assembly/door_assembly_com
|
||||
base_icon_state = "com"
|
||||
base_name = "Command Airlock"
|
||||
glass_type = "/glass_command"
|
||||
airlock_type = "/command"
|
||||
|
||||
door_assembly_sec
|
||||
base_icon_state = "sec"
|
||||
base_name = "Security Airlock"
|
||||
glass_type = "/glass_security"
|
||||
airlock_type = "/security"
|
||||
obj/structure/door_assembly/door_assembly_sec
|
||||
base_icon_state = "sec"
|
||||
base_name = "Security Airlock"
|
||||
glass_type = "/glass_security"
|
||||
airlock_type = "/security"
|
||||
|
||||
door_assembly_eng
|
||||
base_icon_state = "eng"
|
||||
base_name = "Engineering Airlock"
|
||||
glass_type = "/glass_engineering"
|
||||
airlock_type = "/engineering"
|
||||
obj/structure/door_assembly/door_assembly_eng
|
||||
base_icon_state = "eng"
|
||||
base_name = "Engineering Airlock"
|
||||
glass_type = "/glass_engineering"
|
||||
airlock_type = "/engineering"
|
||||
|
||||
door_assembly_min
|
||||
base_icon_state = "min"
|
||||
base_name = "Mining Airlock"
|
||||
glass_type = "/glass_mining"
|
||||
airlock_type = "/mining"
|
||||
obj/structure/door_assembly/door_assembly_min
|
||||
base_icon_state = "min"
|
||||
base_name = "Mining Airlock"
|
||||
glass_type = "/glass_mining"
|
||||
airlock_type = "/mining"
|
||||
|
||||
door_assembly_atmo
|
||||
base_icon_state = "atmo"
|
||||
base_name = "Atmospherics Airlock"
|
||||
glass_type = "/glass_atmos"
|
||||
airlock_type = "/atmos"
|
||||
obj/structure/door_assembly/door_assembly_atmo
|
||||
base_icon_state = "atmo"
|
||||
base_name = "Atmospherics Airlock"
|
||||
glass_type = "/glass_atmos"
|
||||
airlock_type = "/atmos"
|
||||
|
||||
door_assembly_research
|
||||
base_icon_state = "res"
|
||||
base_name = "Research Airlock"
|
||||
glass_type = "/glass_research"
|
||||
airlock_type = "/research"
|
||||
obj/structure/door_assembly/door_assembly_research
|
||||
base_icon_state = "res"
|
||||
base_name = "Research Airlock"
|
||||
glass_type = "/glass_research"
|
||||
airlock_type = "/research"
|
||||
|
||||
door_assembly_science
|
||||
base_icon_state = "sci"
|
||||
base_name = "Science Airlock"
|
||||
glass_type = "/glass_science"
|
||||
airlock_type = "/science"
|
||||
obj/structure/door_assembly/door_assembly_science
|
||||
base_icon_state = "sci"
|
||||
base_name = "Science Airlock"
|
||||
glass_type = "/glass_science"
|
||||
airlock_type = "/science"
|
||||
|
||||
door_assembly_med
|
||||
base_icon_state = "med"
|
||||
base_name = "Medical Airlock"
|
||||
glass_type = "/glass_medical"
|
||||
airlock_type = "/medical"
|
||||
obj/structure/door_assembly/door_assembly_med
|
||||
base_icon_state = "med"
|
||||
base_name = "Medical Airlock"
|
||||
glass_type = "/glass_medical"
|
||||
airlock_type = "/medical"
|
||||
|
||||
door_assembly_mai
|
||||
base_icon_state = "mai"
|
||||
base_name = "Maintenance Airlock"
|
||||
airlock_type = "/maintenance"
|
||||
glass = -1
|
||||
obj/structure/door_assembly/door_assembly_mai
|
||||
base_icon_state = "mai"
|
||||
base_name = "Maintenance Airlock"
|
||||
airlock_type = "/maintenance"
|
||||
glass = -1
|
||||
|
||||
door_assembly_ext
|
||||
base_icon_state = "ext"
|
||||
base_name = "External Airlock"
|
||||
airlock_type = "/external"
|
||||
glass = -1
|
||||
obj/structure/door_assembly/door_assembly_ext
|
||||
base_icon_state = "ext"
|
||||
base_name = "External Airlock"
|
||||
airlock_type = "/external"
|
||||
glass = -1
|
||||
|
||||
door_assembly_fre
|
||||
base_icon_state = "fre"
|
||||
base_name = "Freezer Airlock"
|
||||
airlock_type = "/freezer"
|
||||
glass = -1
|
||||
obj/structure/door_assembly/door_assembly_fre
|
||||
base_icon_state = "fre"
|
||||
base_name = "Freezer Airlock"
|
||||
airlock_type = "/freezer"
|
||||
glass = -1
|
||||
|
||||
door_assembly_hatch
|
||||
base_icon_state = "hatch"
|
||||
base_name = "Airtight Hatch"
|
||||
airlock_type = "/hatch"
|
||||
glass = -1
|
||||
obj/structure/door_assembly/door_assembly_hatch
|
||||
base_icon_state = "hatch"
|
||||
base_name = "Airtight Hatch"
|
||||
airlock_type = "/hatch"
|
||||
glass = -1
|
||||
|
||||
door_assembly_mhatch
|
||||
base_icon_state = "mhatch"
|
||||
base_name = "Maintenance Hatch"
|
||||
airlock_type = "/maintenance_hatch"
|
||||
glass = -1
|
||||
obj/structure/door_assembly/door_assembly_mhatch
|
||||
base_icon_state = "mhatch"
|
||||
base_name = "Maintenance Hatch"
|
||||
airlock_type = "/maintenance_hatch"
|
||||
glass = -1
|
||||
|
||||
door_assembly_highsecurity // Borrowing this until WJohnston makes sprites for the assembly
|
||||
base_icon_state = "highsec"
|
||||
base_name = "High Security Airlock"
|
||||
airlock_type = "/highsecurity"
|
||||
glass = -1
|
||||
obj/structure/door_assembly/door_assembly_highsecurity // Borrowing this until WJohnston makes sprites for the assembly
|
||||
base_icon_state = "highsec"
|
||||
base_name = "High Security Airlock"
|
||||
airlock_type = "/highsecurity"
|
||||
glass = -1
|
||||
|
||||
door_assembly_shuttle
|
||||
base_icon_state = "shuttle"
|
||||
base_name = "shuttle airlock"
|
||||
airlock_type = "/shuttle"
|
||||
glass = -1
|
||||
obj/structure/door_assembly/door_assembly_shuttle
|
||||
base_icon_state = "shuttle"
|
||||
base_name = "shuttle airlock"
|
||||
airlock_type = "/shuttle"
|
||||
glass = -1
|
||||
|
||||
multi_tile
|
||||
icon = 'icons/obj/doors/door_assembly2x1.dmi'
|
||||
dir = EAST
|
||||
var/width = 1
|
||||
obj/structure/door_assembly/multi_tile
|
||||
icon = 'icons/obj/doors/door_assembly2x1.dmi'
|
||||
dir = EAST
|
||||
var/width = 1
|
||||
|
||||
|
||||
/*Temporary until we get sprites.
|
||||
glass_type = "/multi_tile/glass"
|
||||
airlock_type = "/multi_tile/maint"
|
||||
glass = 1*/
|
||||
base_icon_state = "g" //Remember to delete this line when reverting "glass" var to 1.
|
||||
airlock_type = "/multi_tile/glass"
|
||||
glass = -1 //To prevent bugs in deconstruction process.
|
||||
glass_type = "/multi_tile/glass"
|
||||
airlock_type = "/multi_tile/maint"
|
||||
glass = 1*/
|
||||
base_icon_state = "g" //Remember to delete this line when reverting "glass" var to 1.
|
||||
airlock_type = "/multi_tile/glass"
|
||||
glass = -1 //To prevent bugs in deconstruction process.
|
||||
|
||||
New()
|
||||
if(dir in list(EAST, WEST))
|
||||
bound_width = width * world.icon_size
|
||||
bound_height = world.icon_size
|
||||
else
|
||||
bound_width = world.icon_size
|
||||
bound_height = width * world.icon_size
|
||||
update_state()
|
||||
obj/structure/door_assembly/multi_tile/New()
|
||||
if(dir in list(EAST, WEST))
|
||||
bound_width = width * world.icon_size
|
||||
bound_height = world.icon_size
|
||||
else
|
||||
bound_width = world.icon_size
|
||||
bound_height = width * world.icon_size
|
||||
update_state()
|
||||
|
||||
Move()
|
||||
. = ..()
|
||||
if(dir in list(EAST, WEST))
|
||||
bound_width = width * world.icon_size
|
||||
bound_height = world.icon_size
|
||||
else
|
||||
bound_width = world.icon_size
|
||||
bound_height = width * world.icon_size
|
||||
obj/structure/door_assembly/multi_tile/Move()
|
||||
. = ..()
|
||||
if(dir in list(EAST, WEST))
|
||||
bound_width = width * world.icon_size
|
||||
bound_height = world.icon_size
|
||||
else
|
||||
bound_width = world.icon_size
|
||||
bound_height = width * world.icon_size
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -65,4 +65,11 @@
|
||||
slowdown = -0.3
|
||||
|
||||
/turf/simulated/floor/noslip/MakeSlippery()
|
||||
return
|
||||
return
|
||||
|
||||
/turf/simulated/floor/silent
|
||||
name = "silent floor"
|
||||
icon_state = "silent"
|
||||
floor_tile = /obj/item/stack/tile/silent
|
||||
shoe_running_volume = 0
|
||||
shoe_walking_volume = 0
|
||||
@@ -30,6 +30,8 @@
|
||||
var/image/obscured //camerachunks
|
||||
|
||||
var/list/footstep_sounds = list()
|
||||
var/shoe_running_volume = 50
|
||||
var/shoe_walking_volume = 20
|
||||
|
||||
/turf/New()
|
||||
..()
|
||||
|
||||
@@ -351,6 +351,8 @@ BLIND // can't see anything
|
||||
slot_flags = SLOT_FEET
|
||||
|
||||
var/silence_steps = 0
|
||||
var/shoe_sound_footstep = 1
|
||||
var/shoe_sound = null
|
||||
|
||||
permeability_coefficient = 0.50
|
||||
slowdown = SHOES_SLOWDOWN
|
||||
@@ -396,6 +398,25 @@ BLIND // can't see anything
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/clothing/shoes/proc/step_action(var/mob/living/carbon/human/H) //squeek squeek
|
||||
if(shoe_sound)
|
||||
var/turf/T = get_turf(H)
|
||||
|
||||
if(!istype(H) || !istype(T))
|
||||
return 0
|
||||
|
||||
if(H.m_intent == "run")
|
||||
if(shoe_sound_footstep >= 2)
|
||||
if(T.shoe_running_volume)
|
||||
playsound(src, shoe_sound, T.shoe_running_volume, 1)
|
||||
shoe_sound_footstep = 0
|
||||
else
|
||||
shoe_sound_footstep++
|
||||
else if(T.shoe_walking_volume)
|
||||
playsound(src, shoe_sound, T.shoe_walking_volume, 1)
|
||||
|
||||
return 1
|
||||
|
||||
/obj/item/proc/negates_gravity()
|
||||
return 0
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
/obj/item/clothing/shoes/proc/step_action(var/mob/living/carbon/human/H) //squeek squeek
|
||||
|
||||
/obj/item/clothing/shoes/syndigaloshes
|
||||
desc = "A pair of brown shoes. They seem to have extra grip."
|
||||
name = "brown shoes"
|
||||
@@ -77,18 +75,7 @@
|
||||
var/footstep = 1 //used for squeeks whilst walking
|
||||
species_restricted = null
|
||||
silence_steps = 1
|
||||
|
||||
/obj/item/clothing/shoes/clown_shoes/step_action(var/mob/living/carbon/human/H)
|
||||
if(!istype(H)) return 0
|
||||
|
||||
if(H.m_intent == "run")
|
||||
if(footstep >= 2)
|
||||
playsound(src, "clownstep", 50, 1)
|
||||
footstep = 0
|
||||
else
|
||||
footstep++
|
||||
else
|
||||
playsound(src, "clownstep", 20, 1)
|
||||
shoe_sound = "clownstep"
|
||||
|
||||
/obj/item/clothing/shoes/jackboots
|
||||
name = "jackboots"
|
||||
@@ -101,18 +88,7 @@
|
||||
put_on_delay = 50
|
||||
var/footstep = 1
|
||||
silence_steps = 1
|
||||
|
||||
/obj/item/clothing/shoes/jackboots/step_action(var/mob/living/carbon/human/H)
|
||||
if(!istype(H)) return 0
|
||||
|
||||
if(H.m_intent == "run")
|
||||
if(footstep >= 2)
|
||||
playsound(src, "jackboot", 50, 1)
|
||||
footstep = 0
|
||||
else
|
||||
footstep++
|
||||
else
|
||||
playsound(src, "jackboot", 20, 1)
|
||||
shoe_sound = "jackboot"
|
||||
|
||||
/obj/item/clothing/shoes/jackboots/jacksandals
|
||||
name = "jacksandals"
|
||||
@@ -190,6 +166,7 @@
|
||||
/obj/item/clothing/shoes/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/shoe_silencer))
|
||||
silence_steps = 1
|
||||
shoe_sound = null
|
||||
user.unEquip(I)
|
||||
qdel(I)
|
||||
else . = ..()
|
||||
|
||||
@@ -64,6 +64,12 @@
|
||||
materials = list(MAT_BANANIUM = 400)
|
||||
credits = 600 //makes the clown cri
|
||||
|
||||
/obj/item/weapon/coin/mime
|
||||
cmineral = "tranquillite"
|
||||
icon_state = "coin_tranquillite_heads"
|
||||
materials = list(MAT_TRANQUILLITE = 400)
|
||||
credits = 600 //makes the mime cri
|
||||
|
||||
/obj/item/weapon/coin/adamantine
|
||||
cmineral = "adamantine"
|
||||
icon_state = "coin_adamantine_heads"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
var/ore_pickup_rate = 15
|
||||
var/sheet_per_ore = 1
|
||||
var/point_upgrade = 1
|
||||
var/list/ore_values = list(("sand" = 1), ("iron" = 1), ("plasma" = 15), ("silver" = 16), ("gold" = 18), ("uranium" = 30), ("diamond" = 50), ("bananium" = 60))
|
||||
var/list/ore_values = list(("sand" = 1), ("iron" = 1), ("plasma" = 15), ("silver" = 16), ("gold" = 18), ("uranium" = 30), ("diamond" = 50), ("bananium" = 60), ("tranquillite" = 60))
|
||||
var/list/supply_consoles = list("Science", "Robotics", "Research Director's Desk", "Mechanic", "Engineering" = list("metal", "glass", "plasma"), "Chief Engineer's Desk" = list("metal", "glass", "plasma"), "Atmospherics" = list("metal", "glass", "plasma"), "Bar" = list("uranium", "plasma"))
|
||||
|
||||
/obj/machinery/mineral/ore_redemption/New()
|
||||
@@ -721,7 +721,7 @@
|
||||
speak_emote = list("states")
|
||||
wanted_objects = list(/obj/item/weapon/ore/diamond, /obj/item/weapon/ore/gold, /obj/item/weapon/ore/silver,
|
||||
/obj/item/weapon/ore/plasma, /obj/item/weapon/ore/uranium, /obj/item/weapon/ore/iron,
|
||||
/obj/item/weapon/ore/bananium, /obj/item/weapon/ore/glass)
|
||||
/obj/item/weapon/ore/bananium, /obj/item/weapon/ore/tranquillite, /obj/item/weapon/ore/glass)
|
||||
|
||||
/mob/living/simple_animal/hostile/mining_drone/attackby(obj/item/I as obj, mob/user as mob, params)
|
||||
if(istype(I, /obj/item/weapon/weldingtool))
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
|
||||
/obj/machinery/mineral/stacking_machine/laborstacker
|
||||
var/points = 0 //The unclaimed value of ore stacked. Value for each ore loosely relative to its rarity.
|
||||
var/list/ore_values = list(("glass" = 1), ("metal" = 2), ("solid plasma" = 20), ("plasteel" = 23), ("reinforced glass" = 4), ("gold" = 20), ("silver" = 20), ("uranium" = 20), ("diamond" = 25), ("bananium" = 50))
|
||||
var/list/ore_values = list(("glass" = 1), ("metal" = 2), ("solid plasma" = 20), ("plasteel" = 23), ("reinforced glass" = 4), ("gold" = 20), ("silver" = 20), ("uranium" = 20), ("diamond" = 25), ("bananium" = 50), ("tranquillite" = 50))
|
||||
|
||||
/obj/machinery/mineral/stacking_machine/laborstacker/proc/get_ore_values()
|
||||
var/dat = "<table border='0' width='200'>"
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
var/dat = "<b>Smelter control console</b><br><br>"
|
||||
//iron
|
||||
if(machine.ore_iron || machine.ore_glass || machine.ore_plasma || machine.ore_uranium || machine.ore_gold || machine.ore_silver || machine.ore_diamond || machine.ore_clown || machine.ore_adamantine)
|
||||
if(machine.ore_iron || machine.ore_glass || machine.ore_plasma || machine.ore_uranium || machine.ore_gold || machine.ore_silver || machine.ore_diamond || machine.ore_clown || machine.ore_mime || machine.ore_adamantine)
|
||||
if(machine.ore_iron)
|
||||
if (machine.selected_iron==1)
|
||||
dat += text("<A href='?src=\ref[src];sel_iron=no'><font color='green'>Smelting</font></A> ")
|
||||
@@ -102,6 +102,16 @@
|
||||
else
|
||||
machine.selected_clown = 0
|
||||
|
||||
//tranquillite
|
||||
if(machine.ore_mime)
|
||||
if (machine.selected_mime==1)
|
||||
dat += text("<A href='?src=\ref[src];sel_mime=no'><font color='green'>Smelting</font></A> ")
|
||||
else
|
||||
dat += text("<A href='?src=\ref[src];sel_mime=yes'><font color='red'>Not smelting</font></A> ")
|
||||
dat += text("Tranquillite: [machine.ore_mime]<br>")
|
||||
else
|
||||
machine.selected_mime = 0
|
||||
|
||||
|
||||
//On or off
|
||||
dat += text("Machine is currently ")
|
||||
@@ -160,6 +170,11 @@
|
||||
machine.selected_clown = 1
|
||||
else
|
||||
machine.selected_clown = 0
|
||||
if(href_list["sel_mime"])
|
||||
if (href_list["sel_mime"] == "yes")
|
||||
machine.selected_mime = 1
|
||||
else
|
||||
machine.selected_mime = 0
|
||||
if(href_list["set_on"])
|
||||
if (href_list["set_on"] == "on")
|
||||
machine.on = 1
|
||||
@@ -178,15 +193,16 @@
|
||||
density = 1
|
||||
anchored = 1
|
||||
var/obj/machinery/mineral/CONSOLE = null
|
||||
var/ore_gold = 0;
|
||||
var/ore_silver = 0;
|
||||
var/ore_diamond = 0;
|
||||
var/ore_glass = 0;
|
||||
var/ore_plasma = 0;
|
||||
var/ore_uranium = 0;
|
||||
var/ore_iron = 0;
|
||||
var/ore_clown = 0;
|
||||
var/ore_adamantine = 0;
|
||||
var/ore_gold = 0
|
||||
var/ore_silver = 0
|
||||
var/ore_diamond = 0
|
||||
var/ore_glass = 0
|
||||
var/ore_plasma = 0
|
||||
var/ore_uranium = 0
|
||||
var/ore_iron = 0
|
||||
var/ore_clown = 0
|
||||
var/ore_mime = 0
|
||||
var/ore_adamantine = 0
|
||||
var/selected_gold = 0
|
||||
var/selected_silver = 0
|
||||
var/selected_diamond = 0
|
||||
@@ -195,20 +211,21 @@
|
||||
var/selected_uranium = 0
|
||||
var/selected_iron = 0
|
||||
var/selected_clown = 0
|
||||
var/selected_mime = 0
|
||||
var/on = 0 //0 = off, 1 =... oh you know!
|
||||
|
||||
/obj/machinery/mineral/processing_unit/process()
|
||||
var/i
|
||||
for (i = 0; i < 10; i++)
|
||||
if (on)
|
||||
if (selected_glass == 1 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0)
|
||||
if (selected_glass == 1 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0)
|
||||
if (ore_glass > 0)
|
||||
ore_glass--;
|
||||
generate_mineral(/obj/item/stack/sheet/glass)
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
if (selected_glass == 1 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 1 && selected_clown == 0)
|
||||
if (selected_glass == 1 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 1 && selected_clown == 0 && selected_mime == 0)
|
||||
if (ore_glass > 0 && ore_iron > 0)
|
||||
ore_glass--;
|
||||
ore_iron--;
|
||||
@@ -216,49 +233,49 @@
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
if (selected_glass == 0 && selected_gold == 1 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0)
|
||||
if (selected_glass == 0 && selected_gold == 1 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0)
|
||||
if (ore_gold > 0)
|
||||
ore_gold--;
|
||||
generate_mineral(/obj/item/stack/sheet/mineral/gold)
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 1 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0)
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 1 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0)
|
||||
if (ore_silver > 0)
|
||||
ore_silver--;
|
||||
generate_mineral(/obj/item/stack/sheet/mineral/silver)
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 1 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0)
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 1 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0)
|
||||
if (ore_diamond > 0)
|
||||
ore_diamond--;
|
||||
generate_mineral(/obj/item/stack/sheet/mineral/diamond)
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 1 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0)
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 1 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0)
|
||||
if (ore_plasma > 0)
|
||||
ore_plasma--;
|
||||
generate_mineral(/obj/item/stack/sheet/mineral/plasma)
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 1 && selected_iron == 0 && selected_clown == 0)
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 1 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0)
|
||||
if (ore_uranium > 0)
|
||||
ore_uranium--;
|
||||
generate_mineral(/obj/item/stack/sheet/mineral/uranium)
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 1 && selected_clown == 0)
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 1 && selected_clown == 0 && selected_mime == 0)
|
||||
if (ore_iron > 0)
|
||||
ore_iron--;
|
||||
generate_mineral(/obj/item/stack/sheet/metal)
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 1 && selected_uranium == 0 && selected_iron == 1 && selected_clown == 0)
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 1 && selected_uranium == 0 && selected_iron == 1 && selected_clown == 0 && selected_mime == 0)
|
||||
if (ore_iron > 0 && ore_plasma > 0)
|
||||
ore_iron--;
|
||||
ore_plasma--;
|
||||
@@ -266,16 +283,23 @@
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 1)
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 1 && selected_mime == 0)
|
||||
if (ore_clown > 0)
|
||||
ore_clown--;
|
||||
generate_mineral(/obj/item/stack/sheet/mineral/bananium)
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 0 && selected_plasma == 0 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 1)
|
||||
if (ore_mime > 0)
|
||||
ore_mime--;
|
||||
generate_mineral(/obj/item/stack/sheet/mineral/tranquillite)
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
//THESE TWO ARE CODED FOR URIST TO USE WHEN HE GETS AROUND TO IT.
|
||||
//They were coded on 18 Feb 2012. If you're reading this in 2015, then firstly congratulations on the world not ending on 21 Dec 2012 and secondly, Urist is apparently VERY lazy. ~Errorage
|
||||
/*if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 1 && selected_plasma == 0 && selected_uranium == 1 && selected_iron == 0 && selected_clown == 0)
|
||||
/*if (selected_glass == 0 && selected_gold == 0 && selected_silver == 0 && selected_diamond == 1 && selected_plasma == 0 && selected_uranium == 1 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0)
|
||||
if (ore_uranium >= 2 && ore_diamond >= 1)
|
||||
ore_uranium -= 2
|
||||
ore_diamond -= 1
|
||||
@@ -283,7 +307,7 @@
|
||||
else
|
||||
on = 0
|
||||
continue
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 1 && selected_diamond == 0 && selected_plasma == 1 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0)
|
||||
if (selected_glass == 0 && selected_gold == 0 && selected_silver == 1 && selected_diamond == 0 && selected_plasma == 1 && selected_uranium == 0 && selected_iron == 0 && selected_clown == 0 && selected_mime == 0)
|
||||
if (ore_silver >= 1 && ore_plasma >= 3)
|
||||
ore_silver -= 1
|
||||
ore_plasma -= 3
|
||||
@@ -324,6 +348,9 @@
|
||||
if (selected_clown == 1)
|
||||
if (ore_clown <= 0)
|
||||
b = 0
|
||||
if (selected_mime == 1)
|
||||
if (ore_mime <= 0)
|
||||
b = 0
|
||||
|
||||
if (b) //if they are, deduct one from each, produce slag and shut the machine off
|
||||
if (selected_gold == 1)
|
||||
@@ -340,6 +367,8 @@
|
||||
ore_iron--
|
||||
if (selected_clown == 1)
|
||||
ore_clown--
|
||||
if (selected_mime == 1)
|
||||
ore_mime--
|
||||
generate_mineral(/obj/item/weapon/ore/slag)
|
||||
on = 0
|
||||
else
|
||||
@@ -387,6 +416,10 @@
|
||||
ore_clown++
|
||||
O.loc = null
|
||||
continue
|
||||
if (istype(O,/obj/item/weapon/ore/tranquillite))
|
||||
ore_mime++
|
||||
O.loc = null
|
||||
continue
|
||||
unload_mineral(O)
|
||||
|
||||
/obj/machinery/mineral/processing_unit/proc/generate_mineral(var/P)
|
||||
|
||||
@@ -133,6 +133,8 @@ var/global/list/rockTurfEdgeCache
|
||||
M = new/turf/simulated/mineral/gibtonite(src)
|
||||
if("Bananium")
|
||||
M = new/turf/simulated/mineral/clown(src)
|
||||
if("Tranquillite")
|
||||
M = new/turf/simulated/mineral/mime(src)
|
||||
if("BScrystal")
|
||||
M = new/turf/simulated/mineral/bscrystal(src)
|
||||
if(M)
|
||||
@@ -156,7 +158,7 @@ var/global/list/rockTurfEdgeCache
|
||||
mineralSpawnChanceList = list(
|
||||
"Uranium" = 35, "Diamond" = 2,
|
||||
"Gold" = 5, "Silver" = 5, "Plasma" = 25,
|
||||
"Iron" = 30, "Clown" = 15, "BScrystal" = 10)
|
||||
"Iron" = 30, "Bananium" = 15, "Tranquillite" = 15, "BScrystal" = 10)
|
||||
|
||||
/turf/simulated/mineral/random/high_chance/New()
|
||||
icon_state = "rock"
|
||||
@@ -239,6 +241,15 @@ var/global/list/rockTurfEdgeCache
|
||||
spread = 0
|
||||
hidden = 0
|
||||
|
||||
/turf/simulated/mineral/mime
|
||||
name = "tranquillite deposit"
|
||||
icon_state = "rock_Mime"
|
||||
mineralType = /obj/item/weapon/ore/tranquillite
|
||||
mineralAmt = 3
|
||||
spreadChance = 0
|
||||
spread = 0
|
||||
hidden = 0
|
||||
|
||||
/turf/simulated/mineral/bscrystal
|
||||
name = "bluespace crystal deposit"
|
||||
icon_state = "rock_BScrystal"
|
||||
|
||||
+28
-10
@@ -14,6 +14,7 @@
|
||||
var/amt_plasma = 0
|
||||
var/amt_uranium = 0
|
||||
var/amt_clown = 0
|
||||
var/amt_mime = 0
|
||||
var/amt_adamantine = 0
|
||||
var/amt_mythril = 0
|
||||
var/newCoins = 0 //how many coins the machine made in it's last load
|
||||
@@ -46,6 +47,9 @@
|
||||
if (istype(O, /obj/item/stack/sheet/mineral/bananium))
|
||||
amt_clown += 100 * O.amount
|
||||
O.loc = null
|
||||
if (istype(O, /obj/item/stack/sheet/mineral/tranquillite))
|
||||
amt_mime += 100 * O.amount
|
||||
O.loc = null
|
||||
return
|
||||
|
||||
|
||||
@@ -78,7 +82,7 @@
|
||||
dat += text("chosen")
|
||||
else
|
||||
dat += text("<A href='?src=\ref[src];choose=plasma'>Choose</A>")
|
||||
dat += text("<br><font color='#008800'><b>uranium inserted: </b>[amt_uranium]</font> ")
|
||||
dat += text("<br><font color='#008800'><b>Uranium inserted: </b>[amt_uranium]</font> ")
|
||||
if (chosen == "uranium")
|
||||
dat += text("chosen")
|
||||
else
|
||||
@@ -89,6 +93,12 @@
|
||||
dat += text("chosen")
|
||||
else
|
||||
dat += text("<A href='?src=\ref[src];choose=clown'>Choose</A>")
|
||||
if(amt_mime > 0)
|
||||
dat += text("<br><font color='#666666'><b>Tranquillite inserted: </b>[amt_mime]</font> ")
|
||||
if (chosen == "mime")
|
||||
dat += text("chosen")
|
||||
else
|
||||
dat += text("<A href='?src=\ref[src];choose=mime'>Choose</A>")
|
||||
dat += text("<br><font color='#888888'><b>Adamantine inserted: </b>[amt_adamantine]</font> ")//I don't even know these color codes, so fuck it.
|
||||
if (chosen == "adamantine")
|
||||
dat += text("chosen")
|
||||
@@ -132,7 +142,7 @@
|
||||
coinsToProduce--
|
||||
newCoins++
|
||||
src.updateUsrDialog()
|
||||
sleep(5);
|
||||
sleep(5)
|
||||
if("gold")
|
||||
while(amt_gold > 0 && coinsToProduce > 0)
|
||||
create_coins(/obj/item/weapon/coin/gold)
|
||||
@@ -140,7 +150,7 @@
|
||||
coinsToProduce--
|
||||
newCoins++
|
||||
src.updateUsrDialog()
|
||||
sleep(5);
|
||||
sleep(5)
|
||||
if("silver")
|
||||
while(amt_silver > 0 && coinsToProduce > 0)
|
||||
create_coins(/obj/item/weapon/coin/silver)
|
||||
@@ -148,7 +158,7 @@
|
||||
coinsToProduce--
|
||||
newCoins++
|
||||
src.updateUsrDialog()
|
||||
sleep(5);
|
||||
sleep(5)
|
||||
if("diamond")
|
||||
while(amt_diamond > 0 && coinsToProduce > 0)
|
||||
create_coins(/obj/item/weapon/coin/diamond)
|
||||
@@ -156,7 +166,7 @@
|
||||
coinsToProduce--
|
||||
newCoins++
|
||||
src.updateUsrDialog()
|
||||
sleep(5);
|
||||
sleep(5)
|
||||
if("plasma")
|
||||
while(amt_plasma > 0 && coinsToProduce > 0)
|
||||
create_coins(/obj/item/weapon/coin/plasma)
|
||||
@@ -164,7 +174,7 @@
|
||||
coinsToProduce--
|
||||
newCoins++
|
||||
src.updateUsrDialog()
|
||||
sleep(5);
|
||||
sleep(5)
|
||||
if("uranium")
|
||||
while(amt_uranium > 0 && coinsToProduce > 0)
|
||||
create_coins(/obj/item/weapon/coin/uranium)
|
||||
@@ -180,7 +190,15 @@
|
||||
coinsToProduce--
|
||||
newCoins++
|
||||
src.updateUsrDialog()
|
||||
sleep(5);
|
||||
sleep(5)
|
||||
if("mime")
|
||||
while(amt_mime > 0 && coinsToProduce > 0)
|
||||
create_coins(/obj/item/weapon/coin/mime)
|
||||
amt_mime -= 20
|
||||
coinsToProduce--
|
||||
newCoins++
|
||||
src.updateUsrDialog()
|
||||
sleep(5)
|
||||
if("adamantine")
|
||||
while(amt_adamantine > 0 && coinsToProduce > 0)
|
||||
create_coins(/obj/item/weapon/coin/adamantine)
|
||||
@@ -188,7 +206,7 @@
|
||||
coinsToProduce--
|
||||
newCoins++
|
||||
src.updateUsrDialog()
|
||||
sleep(5);
|
||||
sleep(5)
|
||||
if("mythril")
|
||||
while(amt_adamantine > 0 && coinsToProduce > 0)
|
||||
create_coins(/obj/item/weapon/coin/mythril)
|
||||
@@ -196,9 +214,9 @@
|
||||
coinsToProduce--
|
||||
newCoins++
|
||||
src.updateUsrDialog()
|
||||
sleep(5);
|
||||
sleep(5)
|
||||
icon_state = "coinpress0"
|
||||
processing = 0;
|
||||
processing = 0
|
||||
coinsToProduce = temp_coins
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
@@ -17,25 +17,28 @@
|
||||
var/amt_plasma = 0
|
||||
var/amt_uranium = 0
|
||||
var/amt_clown = 0
|
||||
var/amt_mime = 0
|
||||
var/amt_adamantine = 0
|
||||
|
||||
for (var/obj/item/weapon/coin/C in contents)
|
||||
if (istype(C,/obj/item/weapon/coin/diamond))
|
||||
amt_diamond++;
|
||||
amt_diamond++
|
||||
if (istype(C,/obj/item/weapon/coin/plasma))
|
||||
amt_plasma++;
|
||||
amt_plasma++
|
||||
if (istype(C,/obj/item/weapon/coin/iron))
|
||||
amt_iron++;
|
||||
amt_iron++
|
||||
if (istype(C,/obj/item/weapon/coin/silver))
|
||||
amt_silver++;
|
||||
amt_silver++
|
||||
if (istype(C,/obj/item/weapon/coin/gold))
|
||||
amt_gold++;
|
||||
amt_gold++
|
||||
if (istype(C,/obj/item/weapon/coin/uranium))
|
||||
amt_uranium++;
|
||||
amt_uranium++
|
||||
if (istype(C,/obj/item/weapon/coin/clown))
|
||||
amt_clown++;
|
||||
amt_clown++
|
||||
if (istype(C,/obj/item/weapon/coin/mime))
|
||||
amt_mime++
|
||||
if (istype(C,/obj/item/weapon/coin/adamantine))
|
||||
amt_adamantine++;
|
||||
amt_adamantine++
|
||||
|
||||
var/dat = text("<b>The contents of the moneybag reveal...</b><br>")
|
||||
if (amt_gold)
|
||||
@@ -52,6 +55,8 @@
|
||||
dat += text("Uranium coins: [amt_uranium] <A href='?src=\ref[src];remove=uranium'>Remove one</A><br>")
|
||||
if (amt_clown)
|
||||
dat += text("Bananium coins: [amt_clown] <A href='?src=\ref[src];remove=clown'>Remove one</A><br>")
|
||||
if (amt_mime)
|
||||
dat += text("Tranquillite coins: [amt_mime] <A href='?src=\ref[src];remove=mime'>Remove one</A><br>")
|
||||
if (amt_adamantine)
|
||||
dat += text("Adamantine coins: [amt_adamantine] <A href='?src=\ref[src];remove=adamantine'>Remove one</A><br>")
|
||||
user << browse("[dat]", "window=moneybag")
|
||||
@@ -93,6 +98,8 @@
|
||||
COIN = locate(/obj/item/weapon/coin/uranium,src.contents)
|
||||
if("clown")
|
||||
COIN = locate(/obj/item/weapon/coin/clown,src.contents)
|
||||
if("mime")
|
||||
COIN = locate(/obj/item/weapon/coin/mime,src.contents)
|
||||
if("adamantine")
|
||||
COIN = locate(/obj/item/weapon/coin/adamantine,src.contents)
|
||||
if(!COIN)
|
||||
|
||||
@@ -130,6 +130,14 @@
|
||||
refined_type = /obj/item/stack/sheet/mineral/bananium
|
||||
materials = list(MAT_BANANIUM=MINERAL_MATERIAL_AMOUNT)
|
||||
|
||||
/obj/item/weapon/ore/tranquillite
|
||||
name = "tranquillite ore"
|
||||
icon_state = "Mime ore"
|
||||
origin_tech = "materials=4"
|
||||
points = 60
|
||||
refined_type = /obj/item/stack/sheet/mineral/tranquillite
|
||||
materials = list(MAT_TRANQUILLITE=MINERAL_MATERIAL_AMOUNT)
|
||||
|
||||
/obj/item/weapon/ore/slag
|
||||
name = "slag"
|
||||
desc = "Completely useless"
|
||||
|
||||
@@ -31,25 +31,28 @@
|
||||
var/amt_plasma = 0
|
||||
var/amt_uranium = 0
|
||||
var/amt_clown = 0
|
||||
var/amt_mime = 0
|
||||
var/amt_bluespace = 0
|
||||
|
||||
for (var/obj/item/weapon/ore/C in contents)
|
||||
if (istype(C,/obj/item/weapon/ore/diamond))
|
||||
amt_diamond++;
|
||||
amt_diamond++
|
||||
if (istype(C,/obj/item/weapon/ore/glass))
|
||||
amt_glass++;
|
||||
amt_glass++
|
||||
if (istype(C,/obj/item/weapon/ore/plasma))
|
||||
amt_plasma++;
|
||||
amt_plasma++
|
||||
if (istype(C,/obj/item/weapon/ore/iron))
|
||||
amt_iron++;
|
||||
amt_iron++
|
||||
if (istype(C,/obj/item/weapon/ore/silver))
|
||||
amt_silver++;
|
||||
amt_silver++
|
||||
if (istype(C,/obj/item/weapon/ore/gold))
|
||||
amt_gold++;
|
||||
amt_gold++
|
||||
if (istype(C,/obj/item/weapon/ore/uranium))
|
||||
amt_uranium++;
|
||||
amt_uranium++
|
||||
if (istype(C,/obj/item/weapon/ore/bananium))
|
||||
amt_clown++;
|
||||
amt_clown++
|
||||
if (istype(C,/obj/item/weapon/ore/tranquillite))
|
||||
amt_mime++
|
||||
if (istype(C,/obj/item/weapon/ore/bluespace_crystal))
|
||||
amt_bluespace++
|
||||
|
||||
@@ -70,6 +73,8 @@
|
||||
dat += text("Uranium ore: [amt_uranium]<br>")
|
||||
if (amt_clown)
|
||||
dat += text("Bananium ore: [amt_clown]<br>")
|
||||
if (amt_mime)
|
||||
dat += text("Tranquillite ore: [amt_mime]<br>")
|
||||
if (amt_bluespace)
|
||||
dat += text("Bluespace crystals: [amt_bluespace]<br>")
|
||||
|
||||
|
||||
@@ -160,15 +160,23 @@
|
||||
|
||||
|
||||
/obj/item/projectile/bullet/mime
|
||||
damage = 20
|
||||
damage = 0
|
||||
stun = 5
|
||||
weaken = 5
|
||||
slur = 20
|
||||
stutter = 20
|
||||
|
||||
/obj/item/projectile/bullet/mime/on_hit(var/atom/target, var/blocked = 0)
|
||||
if(istype(target, /mob/living/carbon))
|
||||
var/mob/living/carbon/M = target
|
||||
M.silent = max(M.silent, 10)
|
||||
|
||||
|
||||
|
||||
..(target, blocked)
|
||||
if(istype(target, /mob/living/carbon))
|
||||
var/mob/living/carbon/M = target
|
||||
M.silent = max(M.silent, 10)
|
||||
else if(istype(target, /obj/mecha/combat/honker))
|
||||
var/obj/mecha/chassis = target
|
||||
chassis.occupant_message("A mimetech anti-honk bullet has hit \the [chassis]!")
|
||||
chassis.use_power(chassis.get_charge() / 2)
|
||||
for(var/obj/item/mecha_parts/mecha_equipment/weapon/honker in chassis.equipment)
|
||||
honker.set_ready_state(0)
|
||||
|
||||
/obj/item/projectile/bullet/dart
|
||||
name = "dart"
|
||||
|
||||
@@ -819,6 +819,7 @@
|
||||
/obj/item/stack/sheet/mineral/plasma = list("plasma" = 20),
|
||||
/obj/item/stack/sheet/mineral/uranium = list("uranium" = 20),
|
||||
/obj/item/stack/sheet/mineral/bananium = list("banana" = 20),
|
||||
/obj/item/stack/sheet/mineral/tranquillite = list("nothing" = 20),
|
||||
/obj/item/stack/sheet/mineral/silver = list("silver" = 20),
|
||||
/obj/item/stack/sheet/mineral/gold = list("gold" = 20),
|
||||
/obj/item/weapon/grown/novaflower = list("capsaicin" = 0),
|
||||
|
||||
@@ -17,6 +17,7 @@ The currently supporting non-reagent materials:
|
||||
- MAT_URANIUM (/obj/item/stack/uranium).
|
||||
- MAT_DIAMOND (/obj/item/stack/diamond).
|
||||
- MAT_BANANIUM (/obj/item/stack/bananium).
|
||||
- MAT_TRANQUILLITE (/obj/item/stack/tranquillite).
|
||||
(Insert new ones here)
|
||||
|
||||
Don't add new keyword/IDs if they are made from an existing one (such as rods which are made from metal). Only add raw materials.
|
||||
|
||||
@@ -166,3 +166,33 @@
|
||||
materials = list(MAT_GLASS = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/mecha/honker/targeting
|
||||
category = list("Exosuit Modules")
|
||||
|
||||
/datum/design/recitence_main
|
||||
name = "Exosuit Module (\"Recitence\" Central Control module)"
|
||||
desc = "Allows for the construction of a \"Recitence\" Central Control module."
|
||||
id = "recitence_main"
|
||||
req_tech = list("programming" = 3)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/mecha/recitence/main
|
||||
category = list("Exosuit Modules")
|
||||
|
||||
/datum/design/recitence_peri
|
||||
name = "Exosuit Module (\"Recitence\" Peripherals Control module)"
|
||||
desc = "Allows for the construction of a \"Recitence\" Peripheral Control module."
|
||||
id = "recitence_peri"
|
||||
req_tech = list("programming" = 3)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/mecha/recitence/peripherals
|
||||
category = list("Exosuit Modules")
|
||||
|
||||
/datum/design/recitence_targ
|
||||
name = "Exosuit Module (\"Recitence\" Weapons & Targeting Control module)"
|
||||
desc = "Allows for the construction of a \"Recitence\" Weapons & Targeting Control module."
|
||||
id = "recitence_targ"
|
||||
req_tech = list("programming" = 3)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/mecha/recitence/targeting
|
||||
category = list("Exosuit Modules")
|
||||
@@ -459,6 +459,70 @@
|
||||
construction_time = 200
|
||||
category = list("H.O.N.K")
|
||||
|
||||
//Recitence
|
||||
/datum/design/recitence_chassis
|
||||
name = "Exosuit Chassis (\"Recitence\")"
|
||||
id = "recitence_chassis"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/mecha_parts/chassis/recitence
|
||||
materials = list(MAT_METAL=20000)
|
||||
construction_time = 100
|
||||
category = list("Recitence")
|
||||
|
||||
/datum/design/recitence_torso
|
||||
name = "Exosuit Torso (\"Recitence\")"
|
||||
id = "recitence_torso"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/mecha_parts/part/recitence_torso
|
||||
materials = list(MAT_METAL=20000,MAT_GLASS=10000,MAT_TRANQUILLITE=10000)
|
||||
construction_time = 300
|
||||
category = list("Recitence")
|
||||
|
||||
/datum/design/recitence_head
|
||||
name = "Exosuit Head (\"Recitence\")"
|
||||
id = "recitence_head"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/mecha_parts/part/recitence_head
|
||||
materials = list(MAT_METAL=10000,MAT_GLASS=5000,MAT_TRANQUILLITE=5000)
|
||||
construction_time = 200
|
||||
category = list("Recitence")
|
||||
|
||||
/datum/design/recitence_left_arm
|
||||
name = "Exosuit Left Arm (\"Recitence\")"
|
||||
id = "recitence_left_arm"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/mecha_parts/part/recitence_left_arm
|
||||
materials = list(MAT_METAL=15000,MAT_TRANQUILLITE=5000)
|
||||
construction_time = 200
|
||||
category = list("Recitence")
|
||||
|
||||
/datum/design/recitence_right_arm
|
||||
name = "Exosuit Right Arm (\"Recitence\")"
|
||||
id = "recitence_right_arm"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/mecha_parts/part/recitence_right_arm
|
||||
materials = list(MAT_METAL=15000,MAT_TRANQUILLITE=5000)
|
||||
construction_time = 200
|
||||
category = list("Recitence")
|
||||
|
||||
/datum/design/recitence_left_leg
|
||||
name = "Exosuit Left Leg (\"Recitence\")"
|
||||
id = "recitence_left_leg"
|
||||
build_type = MECHFAB
|
||||
build_path =/obj/item/mecha_parts/part/recitence_left_leg
|
||||
materials = list(MAT_METAL=20000,MAT_TRANQUILLITE=5000)
|
||||
construction_time = 200
|
||||
category = list("Recitence")
|
||||
|
||||
/datum/design/recitence_right_leg
|
||||
name = "Exosuit Right Leg (\"Recitence\")"
|
||||
id = "recitence_right_leg"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/mecha_parts/part/recitence_right_leg
|
||||
materials = list(MAT_METAL=20000,MAT_TRANQUILLITE=5000)
|
||||
construction_time = 200
|
||||
category = list("Recitence")
|
||||
|
||||
//Phazon
|
||||
/datum/design/phazon_chassis
|
||||
name = "Exosuit Chassis (\"Phazon\")"
|
||||
@@ -641,6 +705,25 @@
|
||||
construction_time = 300
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
/datum/design/mech_silentgun
|
||||
name = "S.H.H. \"Quietus\" Carbine"
|
||||
id = "mech_silentgun"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/carbine/silenced
|
||||
materials = list(MAT_METAL=20000,MAT_TRANQUILLITE=10000)
|
||||
construction_time = 500
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
/datum/design/mech_mimercd
|
||||
name = "Exosuit Module (Mime RCD Module)"
|
||||
desc = "An exosuit-mounted Mime Rapid Construction Device."
|
||||
id = "mech_mrcd"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/mecha_parts/mecha_equipment/tool/mimercd
|
||||
materials = list(MAT_METAL=30000,MAT_TRANQUILLITE=10000)
|
||||
construction_time = 700
|
||||
category = list("Exosuit Equipment")
|
||||
|
||||
// Exosuit Modules
|
||||
/datum/design/mech_diamond_drill
|
||||
name = "Exosuit Module (Diamond Mining Drill)"
|
||||
|
||||
@@ -90,6 +90,8 @@ proc/CallMaterialName(ID)
|
||||
return_name = "Diamond"
|
||||
if("clown")
|
||||
return_name = "Bananium"
|
||||
if("mime")
|
||||
return_name = "Tranquillite"
|
||||
else
|
||||
for(var/R in subtypesof(/datum/reagent))
|
||||
temp_reagent = null
|
||||
@@ -535,6 +537,8 @@ proc/CallMaterialName(ID)
|
||||
MAT = MAT_DIAMOND
|
||||
if("clown")
|
||||
MAT = MAT_BANANIUM
|
||||
if("mime")
|
||||
MAT = "Tranquillite"
|
||||
linked_lathe.materials.retrieve_sheets(desired_num_sheets, MAT)
|
||||
|
||||
else if(href_list["imprinter_ejectsheet"] && linked_imprinter) //Causes the protolathe to eject a sheet of material
|
||||
@@ -1011,6 +1015,15 @@ proc/CallMaterialName(ID)
|
||||
if(bananium_amount >= MINERAL_MATERIAL_AMOUNT*5) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=5'>5x</A> "
|
||||
if(bananium_amount >= MINERAL_MATERIAL_AMOUNT) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=50'>All</A>"
|
||||
dat += "</div>"
|
||||
//Tranquillite
|
||||
var/tranquillite_amount = linked_lathe.materials.amount(MAT_TRANQUILLITE)
|
||||
dat += "* [tranquillite_amount] of Tranquillite, [round(tranquillite_amount / MINERAL_MATERIAL_AMOUNT,0.1)] sheets: "
|
||||
if(tranquillite_amount >= MINERAL_MATERIAL_AMOUNT)
|
||||
dat += "<A href='?src=\ref[src];lathe_ejectsheet=mime;lathe_ejectsheet_amt=1'>Eject</A> "
|
||||
dat += "<A href='?src=\ref[src];lathe_ejectsheet=mime;lathe_ejectsheet_amt=custom'>C</A> "
|
||||
if(tranquillite_amount >= MINERAL_MATERIAL_AMOUNT*5) dat += "<A href='?src=\ref[src];lathe_ejectsheet=mime;lathe_ejectsheet_amt=5'>5x</A> "
|
||||
if(tranquillite_amount >= MINERAL_MATERIAL_AMOUNT) dat += "<A href='?src=\ref[src];lathe_ejectsheet=mime;lathe_ejectsheet_amt=50'>All</A>"
|
||||
dat += "</div>"
|
||||
|
||||
if(3.3)
|
||||
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
|
||||
|
||||
Reference in New Issue
Block a user