From 2954aa88ea3469fa6e9f22ee271ef3c0aaabb66f Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Mon, 18 Apr 2016 19:17:46 -0400 Subject: [PATCH] abductor tech --- code/game/objects/structures/false_walls.dm | 9 +++++++++ code/game/turfs/simulated/walls_mineral.dm | 12 +++++++++++- .../research/designs/stock_parts_designs.dm | 10 ++++++++++ code/modules/research/rdconsole.dm | 9 +++++++-- code/modules/research/research.dm | 12 +++++++++--- code/modules/research/server.dm | 2 ++ icons/turf/walls/abductor_wall.dmi | Bin 0 -> 1977 bytes 7 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 icons/turf/walls/abductor_wall.dmi diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index cbdce196c47..30dec267502 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -274,3 +274,12 @@ mineral = "metal" walltype = "iron" canSmoothWith = list(/obj/structure/falsewall/iron, /turf/simulated/wall/mineral/iron) + +/obj/structure/falsewall/abductor + name = "alien wall" + desc = "A wall with alien alloy plating." + icon = 'icons/turf/walls/abductor_wall.dmi' + icon_state = "abductor" + mineral = "abductor" + walltype = "abductor" + canSmoothWith = list(/obj/structure/falsewall/abductor, /turf/simulated/wall/mineral/abductor) \ No newline at end of file diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm index fa12e8b0ec2..8a36ea5af6b 100644 --- a/code/game/turfs/simulated/walls_mineral.dm +++ b/code/game/turfs/simulated/walls_mineral.dm @@ -175,4 +175,14 @@ icon_state = "iron" walltype = "iron" mineral = "rods" - canSmoothWith = list(/turf/simulated/wall/mineral/iron, /obj/structure/falsewall/iron) \ No newline at end of file + canSmoothWith = list(/turf/simulated/wall/mineral/iron, /obj/structure/falsewall/iron) + +/turf/simulated/wall/mineral/abductor + name = "alien wall" + desc = "A wall with alien alloy plating." + icon = 'icons/turf/walls/abductor_wall.dmi' + icon_state = "abductor" + walltype = "abductor" + mineral = "abductor" + explosion_block = 3 + canSmoothWith = list(/turf/simulated/wall/mineral/abductor, /obj/structure/falsewall/abductor) \ No newline at end of file diff --git a/code/modules/research/designs/stock_parts_designs.dm b/code/modules/research/designs/stock_parts_designs.dm index c3e8ea38c96..81182661384 100644 --- a/code/modules/research/designs/stock_parts_designs.dm +++ b/code/modules/research/designs/stock_parts_designs.dm @@ -230,4 +230,14 @@ build_type = PROTOLATHE materials = list(MAT_METAL = 15000, MAT_GLASS = 5000, MAT_SILVER = 2500) //hardcore build_path = /obj/item/weapon/storage/part_replacer/bluespace + category = list("Stock Parts") + +/datum/design/alienalloy + name = "Alien Alloy" + desc = "A sheet of reverse-engineered alien alloy." + id = "alienalloy" + req_tech = list("abductor" = 1, "materials" = 7, "plasmatech" = 2) + build_type = PROTOLATHE + materials = list(MAT_METAL = 4000, MAT_PLASMA = 4000) + build_path = /obj/item/stack/sheet/mineral/abductor category = list("Stock Parts") \ No newline at end of file diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index c294ad8cff1..58c1cf7fe6f 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -438,8 +438,9 @@ proc/CallMaterialName(ID) if( new_item.type == /obj/item/weapon/storage/backpack/holding ) new_item.investigate_log("built by [key]","singulo") new_item.reliability = 100 - new_item.materials[MAT_METAL] /= coeff - new_item.materials[MAT_GLASS] /= coeff + if(!istype(new_item, /obj/item/stack/sheet)) // To avoid materials dupe glitches + new_item.materials[MAT_METAL] /= coeff + new_item.materials[MAT_GLASS] /= coeff if(O) var/obj/item/weapon/storage/lockbox/L = new/obj/item/weapon/storage/lockbox(linked_lathe.loc) new_item.loc = L @@ -706,6 +707,8 @@ proc/CallMaterialName(ID) dat += "Main Menu" dat += "

Current Research Levels:


" for(var/datum/tech/T in files.known_tech) + if(T.level <= 0) + continue dat += "[T.name]
" dat += "* Level: [T.level]
" dat += "* Summary: [T.desc]
" @@ -733,6 +736,8 @@ proc/CallMaterialName(ID) dat += "Return to Disk Operations
" dat += "

Load Technology to Disk:


" for(var/datum/tech/T in files.known_tech) + if(T.level <= 0) + continue dat += "[T.name] " dat += "Copy to Disk
" dat += "
" diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index c34124af594..e4b91505669 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -117,7 +117,7 @@ research holder datum. if(DesignHasReqs(PD)) AddDesign2Known(PD) for(var/datum/tech/T in known_tech) - T = Clamp(T.level, 1, 20) + T = Clamp(T.level, 0, 20) for(var/datum/design/D in known_designs) D.CalcReliability(known_tech) return @@ -242,6 +242,13 @@ datum/tech/syndicate max_level = 0 // Don't count towards maxed research, since it's illegal. rare = 4 +/datum/tech/abductor + name = "Alien Technologies Research" + desc = "The study of technologies used by the advanced alien race known as Abductors." + id = "abductor" + rare = 5 + level = 0 + /* datum/tech/arcane name = "Arcane Research" @@ -278,8 +285,7 @@ datum/tech/robotics return 0 var/cost = 0 - var/i - for(i=current_level+1, i<=level, i++) + for(var/i=current_level+1, i<=level, i++) if(i == initial(level)) continue cost += i*5*rare diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 3bd5bad2f57..fe135490e3d 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -315,6 +315,8 @@ dat += "[temp_server.name] Data ManagementP

" dat += "Known Technologies
" for(var/datum/tech/T in temp_server.files.known_tech) + if(T.level <= 0) + continue dat += "* [T.name] " dat += "(Reset)
" //FYI, these are all strings. dat += "Known Designs
" diff --git a/icons/turf/walls/abductor_wall.dmi b/icons/turf/walls/abductor_wall.dmi new file mode 100644 index 0000000000000000000000000000000000000000..5d0f47046b3c64a4fc54d49a738c33bac61d1edd GIT binary patch literal 1977 zcmYLKdpy(o8{cMZlOgy@Jn#4WdEU?S&nJcC>xEP`Pz8ZNNbf!F ze!weOKX4`BJ_X4~0}qb$i@%3JATTj8v9hwlVzEn%Tm>lC!ongLMF@5ykjZ3)X|5tN zH$&qr27^JP(f0QCnLC3{=z1(Y&jW-bR)zyW9WdR`mke?p>pcww;%I*g-ThR=i3`*) zIyLk>2*k+G&gxQqWukMXLS}iguKjGcOA@^9Qaaz;VOvat)LV zs>t&Ft-6w}BL1rYD%$}0UXy?Ln0>KW<0qcsJ$y;*bVOJXL%+%N-nQQ#?Gq>6JoffL zc;@WN=?fqsNDXGIj|LTBgpZUK8*|fqK`6v@%0iec@j2>h25ZyqtC^QE7eNm&-cSJlS)E+FV`V>@HQ6m zXo=HO#KoTA(%Q&Bzu{V(dl}ue<<*3Jb*+wJ%N6wzk7pHfmkUGDb-Q%iJOr2S%z^4x z*@9sPZbfPt(kH&?qn<#R5LT=OGhYNlzb?_S?2hr!O2xeA2Rcb<`QxWIB9~7Hx|&VS z$5=4o^8`cQCyJ}z_3q(Mu|Y~fr4V8Gd_+jytGoCnXWIf-#R_wUuU&)QJ-sz#LVxZe4+;r6s~DCqFI@@$Y0X*EuA~z`*>=QKxI1X zdiX!VK8CVPy&nU!!A|ce@~|&l3Q{5)Ryn}tp%S_Jtb3#f{snsr!MJiy z7L9TZP`1s|bch1PXte@EWA)FYyrhIj8(TsY;laum`r-^l4uujb_Q}(!Mv-<{4|NR_ zRx;Vl%8o}z_Cz^AB^u%7oogQ{2+D~7W{3GSn-wpEsmPRg=A7V!?W{pxS0~MKXsjbx zMvpP$Bu0DF2(H$u6m3$QoftZUE_`t)E}P_&^|k%oUJUE?ybBj`fG`H#+UFRk?N_Sm z7>Jy7-kdwCx1&@UG++_WzXLpNc6-#*$5qTD0Jm)MxNGcDV!=r%qh)SK@Q9@ zSBv<~YLJiEfo4QM_bC~1GP5}VA~YL-Lek9!_72r(^Y-WTG&E@O%#W5%9a8X_po0_# zJbFJw%rl1f0Fwx#vE`mpXj#sEU_lUIL3T9Ch7&Z3&%X<6(NNz}XzkMU-U>1TPsJT~ zJ41LBgGFy=jW4H+uKtfMNp5X>JL#1?`g56a`icGY52>wOa)g#9YMq`m zxcY-TmeFeNH*0+KW-{JUP5siFV&b*}-}b#ja!fhyywCXgVxX`&INYRGI3(D~j(Irq zBYxuoi6M(?hpK#+U3Eo<$;`Ky>(+dS;L}DGb0;n z!Iys+3CNmk?AbzxA+m|wF;f$pP3_ML3OtPDq-UF}R9GBySp7-2fU zE^jd5kaODeGVa7*G#9^%m!7ltLfIO%yoHu=wU!KQ@BUGYpb)t-^wF1`E^XT&zY<`; zq|uqY^Ll{g2eG~oab+rBB`wMNoA^jnLxv9c%l`rMx`qYtU%Ht|@;?vv4!ZfhI|y&fNV5~F0RkAAZDRk%@sO>SE_!~`b4cw>!wbp z5320B#5F@$Q!ENrKGv{m+MW%8+@lWLxjD`6SMso94r*Gp}7l?>cNQrFtVX+@mtpzth8`W6mt5tNIk-QfdHGmV6fe zAdH(g@9oT8m#>;a%p3~eIEHssbdA6&QFhrD47-38dhMbzLF&_5BUv7M@;Uaw^!F(W zMz$Z>ZyD4ZU0NSnG`HY6Y`$8s-ZX&!{LssnYZbpg{S}Lfl_{XiSA|5^$QxdrYcZ0+ zP(8V|0PI(>ZAp!$7X@YRd8pC#FBSz2dB|zs6nSG1lK9Q4%Baa^1}-7FZ_b?jZ#u_1 zu*&R@^@P7y-VBfk^KCS{zd@o))r)e6kFy!>o5|mREbm!PwMw6dF+Q)98c`iMy0NOB zUEK^Mq(ZpP`^40##!n5NZN@FB1$%W|a<|7~16L9rE}EHH_fX>+0J^Acn`px!(@k&I lV(VI_z`8bn-Lk1r!0g2x`g%^UVZgTu^7im`FLyhd@HdK8!RY`1 literal 0 HcmV?d00001