diff --git a/baystation12.dme b/baystation12.dme index 66731f94714..50e8f15a2cb 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -971,7 +971,6 @@ #include "code\modules\mob\living\carbon\monkey\monkey.dm" #include "code\modules\mob\living\carbon\monkey\powers.dm" #include "code\modules\mob\living\carbon\monkey\update_icons.dm" -#include "code\modules\mob\living\carbon\zombie\zombie.dm" #include "code\modules\mob\living\silicon\death.dm" #include "code\modules\mob\living\silicon\login.dm" #include "code\modules\mob\living\silicon\say.dm" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index b0671029aac..45e87cbd86c 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -92,7 +92,6 @@ var/list/admin_verbs_fun = list( /datum/admins/proc/toggle_aliens, /datum/admins/proc/toggle_space_ninja, /client/proc/send_space_ninja, - /client/proc/zombie_event, // ZOMBB-B-BIES /client/proc/cmd_admin_add_freeform_ai_law, /client/proc/cmd_admin_add_random_ai_law, /client/proc/make_sound, diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 299f5c413ce..2d6dd466ff0 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -841,7 +841,7 @@ datum/preferences age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) if("species") - var/list/new_species = list("Human","Tajaran","Skrell","Unathi","Diona") + var/list/new_species = list("Human","Tajaran","Skrell","Unathi","Diona","Skellington") var/prev_species = species // var/whitelisted = 0 diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index fc39e8a7d32..19cce3caeab 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -95,7 +95,7 @@ storage.amount += inp.amount //Stack the sheets inp.loc = null //Let the old sheet garbage collect while(storage.amount > stack_amt) //Get rid of excessive stackage - var/obj/item/stack/sheet/out = new input.type() + var/obj/item/stack/sheet/out = new inp.type() out.amount = stack_amt out.loc = output.loc storage.amount -= stack_amt diff --git a/code/modules/mob/living/carbon/species.dm b/code/modules/mob/living/carbon/species.dm index cab30ace028..04422dc7069 100644 --- a/code/modules/mob/living/carbon/species.dm +++ b/code/modules/mob/living/carbon/species.dm @@ -149,7 +149,7 @@ language = "Clatter" attack_verb = "punch" - flags = WHITELISTED | HAS_LIPS | HAS_TAIL | NO_EAT | NO_BREATHE | NON_GENDERED + flags = HAS_LIPS | HAS_TAIL | NO_EAT | NO_BREATHE | NON_GENDERED diff --git a/code/modules/mob/living/carbon/zombie/zombie.dm b/code/modules/mob/living/carbon/zombie/zombie.dm deleted file mode 100644 index 9818123b6d2..00000000000 --- a/code/modules/mob/living/carbon/zombie/zombie.dm +++ /dev/null @@ -1,582 +0,0 @@ -#define cycle_pause 4 //min 1 -#define viewrange 7 //min 2 - -/mob/living/carbon/human/zombie/New() - ..() - // Uh, what? - N3X - src.mind = new/datum/mind(src) - - -/mob/living/carbon/human/zombie //Define - name = "zombie" - desc = "A Zombie." - a_intent = "harm" - - var/state = 0 - - var/list/path = new/list() - - var/frustration = 0 - var/mob/living/carbon/target - var/list/path_target = new/list() - - var/turf/trg_idle - var/list/path_idle = new/list() - - var/alive = 1 //1 alive, 0 dead - - var/zsay = new/list() - - New() - ..() - zsay += "braaaaains" - zsay += "Mrrrhrrrrrrmmmm" - zsay += "BRAIIIIIIIIINSSSSS" - zsay += "uuuuuuuuuuuhhhh" - zsay += "grrrr-grrrii-gggrii-fffee-rrr" - zsay += "UHhuHUhuhhhh" - zsay += "thriii-thirriiill--errrr" - zsay += "GRRRRRRRRR" - zsay += "ahhhaaaarraaghh" - zsay += "eeemmmmmmaaarrrrrrraggh" - zsay += "AAARRAAAGGGGHHHHHH" - zsay += "FFFFEEEEERRAAAAG" - zsay += "bbbb-bbb-ainnnnnns" - - src.contract_disease(new/datum/disease/z_virus) - - src.process() - - emote(var/act) - act = "[src] moans." - for (var/mob/O in hearers(src, null)) - O.show_message(act, 2) - - Bumped(AM as mob|obj) - // ..() - if(istype(AM, /mob/living/carbon/human/zombie)) - return - if(ismob(AM) && (ishuman(AM) || ismonkey(AM)) ) - src.target = AM - set_attack() - else if(ismob(AM)) - spawn(0) - var/turf/T = get_turf(src) - AM:loc = T - - Bump(atom/A) - if(istype(A, /mob/living/carbon/human/zombie)) - return - if(ismob(A) && (ishuman(A) || ismonkey(A))) - src.target = A - set_attack() - else if(ismob(A)) - src.loc = A:loc - - - proc/set_attack() - state = 1 - if(path_idle.len) path_idle = new/list() - trg_idle = null - - proc/set_idle() - state = 2 - if (path_target.len) path_target = new/list() - target = null - frustration = 0 - - proc/set_null() - state = 0 - if (path_target.len) path_target = new/list() - if (path_idle.len) path_idle = new/list() - target = null - trg_idle = null - frustration = 0 - - proc/process() - set background = 1 - var/quick_move = 1 - var/slow_move = 0 - - if (src.stat == 2) - return - - if (src.stat > 0 || lying) - spawn(cycle_pause) - src.process() - return - - if(istype(src.shoes, /obj/item/clothing/shoes/orange)) - var/obj/item/clothing/shoes/orange/Os = src.shoes - if(Os.chained) - slow_move = 1 - else if(istype(src.wear_suit, /obj/item/clothing/suit/straight_jacket)) - slow_move = 1 - - - else if (!target) - if (path_target.len) path_target = new/list() - - var/last_health = INFINITY - - for (var/mob/living/carbon/C in range(viewrange-2,src.loc)) - if (C.stat == 2 || !can_see(src,C,viewrange) || istype(C, /mob/living/carbon/human/zombie) || istype(C, /mob/living/carbon/monkey)) - continue - if(C:stunned || C:paralysis || C:weakened) - target = C - break - if(C:health < last_health) - last_health = C:health - target = C - - if(target) - set_attack() - else if(state != 2) - set_idle() - idle() - - else if(target) - var/turf/distance = get_dist(src, target) - set_attack() - - if(can_see(src,target,viewrange)) - if(distance <= 1 && !istype(src.wear_mask, /obj/item/clothing/mask)) - if(prob(25)) - for(var/mob/O in viewers(world.view,src)) - O.show_message("\red [src] has attempted to bite [src.target]!", 1, "\red You hear struggling.", 2) - else - for(var/mob/O in viewers(world.view,src)) - O.show_message("\red [src.target] has been bitten by [src]!", 1, "\red You hear struggling.", 2) - var/mob/living/carbon/human/T = target - T.bruteloss += rand(1,7) - var/datum/organ/external/affecting - if(T.organs["head"]) affecting = T.organs["head"] - affecting.take_damage(rand(1,7), 0) - playsound(src.loc, 'sound/items/eatfood.ogg', 50, 1) - if(prob(25)) - target.contract_disease(new/datum/disease/z_virus) - src.add_blood(src.target) - if (prob(33)) - var/turf/location = src.target.loc - if (istype(location, /turf/simulated)) - location.add_blood(src.target) - if (src.wear_mask) - src.wear_mask.add_blood(src.target) - if (src.head) - src.head.add_blood(src.target) - if (src.glasses && prob(33)) - src.glasses.add_blood(src.target) - if (src.gloves) - src.gloves.add_blood(src.target) - if (prob(15)) - if (src.wear_suit) - src.wear_suit.add_blood(src.target) - else if (src.w_uniform) - src.w_uniform.add_blood(src.target) - sleep(5) - //target:paralysis = max(target:paralysis, 10) - else if(distance <= 1 && !src.handcuffed && !istype(src.wear_suit, /obj/item/clothing/suit/straight_jacket)) - if(prob(25) && src.equipped()) - var/obj/item/weapon/A = src.equipped() - A.attack(src.target, src) - else if(prob(25)) - for(var/mob/O in viewers(world.view,src)) - O.show_message("\red [src] has attempted to claw [src.target]!", 1, "\red You hear struggling.", 2) - else - for(var/mob/O in viewers(world.view,src)) - O.show_message("\red [src.target] has been clawed by [src]!", 1, "\red You hear struggling.", 2) - var/mob/living/carbon/human/T = target - T.bruteloss += rand(1,7) - var/datum/organ/external/affecting - if(T.organs["head"]) affecting = T.organs["head"] - affecting.take_damage(rand(1,7), 0) - if(prob(12.5)) - target.contract_disease(new/datum/disease/z_virus) - src.add_blood(src.target) - if (prob(33)) - var/turf/location = src.target.loc - if (istype(location, /turf/simulated)) - location.add_blood(src.target) - if (src.wear_mask) - src.wear_mask.add_blood(src.target) - if (src.head) - src.head.add_blood(src.target) - if (src.glasses && prob(33)) - src.glasses.add_blood(src.target) - if (src.gloves) - src.gloves.add_blood(src.target) - if (prob(15)) - if (src.wear_suit) - src.wear_suit.add_blood(src.target) - else if (src.w_uniform) - src.w_uniform.add_blood(src.target) - - else - step_towards(src,get_step_towards2(src , target)) - set_null() - if(!slow_move) - spawn(cycle_pause) src.process() - else - spawn(cycle_pause*2) src.process() - return - - else - if( !path_target.len ) - - path_attack(target) - if(!path_target.len) - set_null() - if(!slow_move) - spawn(cycle_pause) src.process() - else - spawn(cycle_pause*2) src.process() - return - else - var/turf/next = path_target[1] - - if(next in range(1,src)) - path_attack(target) - - if(!path_target.len) - src.frustration += 5 - else - next = path_target[1] - path_target -= next - step_towards(src,next) - quick_move = 1 - - if (get_dist(src, src.target) >= distance) src.frustration++ - else src.frustration-- - if(frustration >= 35) set_null() - - if(prob(3) && !src.stat == 2) - if(prob(50)) - src.say(pick(zsay)) - else - src.emote("moan") - - if(slow_move) - spawn(cycle_pause*2) - src.process() - else if(quick_move) - spawn(cycle_pause/2) - src.process() - else - spawn(cycle_pause) - src.process() - - - for(var/obj/machinery/door/D in oview(1)) - D.Bumped(src) - - - - - proc/idle() - set background = 1 - var/quick_move = 0 - - if(state != 2 || src.stat == 2 || target) return - - step_rand(src) - - if(prob(3)) - if(prob(10)) - src.say(pick(zsay)) - else - src.emote("moan") - - if(quick_move) - spawn(cycle_pause/2) - idle() - else - spawn(cycle_pause) - idle() - - proc/path_idle(var/atom/trg) - path_idle = AStar(src.loc, get_turf(trg), /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 250, null, null) - path_idle = reverselist(path_idle) - - proc/path_attack(var/atom/trg) - target = trg - path_target = AStar(src.loc, target.loc, /turf/proc/CardinalTurfsWithAccess, /turf/proc/Distance, 0, 250, null, null) - path_target = reverselist(path_target) - - - proc/healthcheck() - return - - -//Zombies! - -/datum/disease/z_virus - name = "T-Virus" - max_stages = 5 - spread = "Contact" - cure = "???" - spread_type = SPECIAL - cure_id = "zed" - affected_species = list("Human", "Human/Zombie") - -/datum/disease/z_virus/stage_act() - ..() - if(istype(affected_mob, /mob/living/carbon/human/zombie) && !src.carrier) - src.carrier = 1 - return - switch(stage) - if(1) - if (prob(8)) - affected_mob << pick("\red Something about you doesnt feel right.","\red Your head starts to itch.") - if(2) - if (prob(8)) - affected_mob << "\red Your limbs feel numb." - affected_mob.bruteloss += 1 - affected_mob.updatehealth() - if (prob(9)) - affected_mob << "\red You feel ill..." - if (prob(9)) - affected_mob << "\red You feel a pain in your stomache..." - if(3) - if (prob(8)) - affected_mob << text("\red []", pick("owww...","I want...","Please...")) - affected_mob.bruteloss += 1 - affected_mob.updatehealth() - if (prob(10)) - affected_mob << "\red You feel very ill." - affected_mob.bruteloss += 5 - affected_mob.updatehealth() - if (prob(4)) - affected_mob << "\red You feel a stabbing pain in your head." - affected_mob.paralysis += 2 - if (prob(4)) - affected_mob << "\red Whats going to happen to me?" - if(4) - if (prob(10)) - affected_mob << pick("\red You feel violently sick.") - affected_mob.bruteloss += 8 - affected_mob.updatehealth() - if (prob(20)) - affected_mob.say(pick("Mmmmm.", "Hey... You look...", "Hsssshhhhh!")) - if (prob(8)) - affected_mob << "\red You cant... feel..." - if(5) - affected_mob.toxloss += 10 - affected_mob.updatehealth() - affected_mob << "You feel the life slowly slip away from you as you join the army of the undead.." - affected_mob:Zombify() - - -/mob/living/carbon/human/proc/Zombify() - if (src.monkeyizing) - return - update_icons() // update_clothing() - var/mob/living/carbon/human/zombie/O = new/mob/living/carbon/human/zombie( src.loc ) - //Yay, Zombie! - O.name = name - O.r_hair = name - O.g_hair = g_hair - O.b_hair = b_hair - O.h_style = h_style - O.r_facial = r_facial - O.g_facial = g_facial - O.b_facial = b_facial - O.f_style = f_style - O.r_eyes = r_eyes - O.g_eyes = g_eyes - O.b_eyes = b_eyes - O.s_tone = s_tone - O.age = age - - O.real_name = real_name - - O.wear_mask = wear_mask - O.l_hand = l_hand - O.r_hand = r_hand - O.wear_suit = wear_suit - O.w_uniform = w_uniform -// O.w_radio = null - O.shoes = shoes - O.belt = belt - O.gloves = gloves - O.glasses = glasses - O.head = head - O.r_ear = r_ear - O.l_ear = l_ear - O.wear_id = wear_id - O.r_store = r_store - O.l_store = l_store - O.back = back - - O.stand_icon = stand_icon - O.lying_icon = lying_icon - - //O.last_b_state = last_b_state - - //O.face_standing = face_standing - //O.face_lying = face_lying - - //O.hair_icon_state = hair_icon_state - //O.face_icon_state = face_icon_state - - //O.body_standing = body_standing - //O.body_lying = body_lying - for(var/obj/Q in src) - Q.loc = O - O.update_icons()//update_clothing() - src.ghostize() - O.loc = src.loc - del(src) - return - -/obj/item/weapon/reagent_containers/glass/bottle/t_virus - name = "Z-Virus culture bottle" - desc = "A small bottle. Contains Z-Virus virion in synthblood medium." - icon = 'icons/obj/chemical.dmi' - icon_state = "bottle3" - amount_per_transfer_from_this = 5 - - New() - var/datum/reagents/R = new/datum/reagents(20) - reagents = R - R.my_atom = src - var/datum/disease/F = new /datum/disease/z_virus(0) - var/list/data = list("virus"= F) - R.add_reagent("blood", 20, data) - -///////////////////////////CURE////////////////////////////////////////// - -datum/reagent/zed - name = "Zombie Elixer" - id = "zed" - description = "For treating the Z-Virus." - //reagent_state = LIQUID - - on_mob_life(var/mob/M)//no more mr. panacea - holder.remove_reagent(src.id, 0.2) - return - - - -/obj/item/weapon/zedpen - desc = "Small non-refillable auto-injector for curing the Z-Virus in early stages." - name = "Z.E.D. Pen." - icon = 'icons/obj/items.dmi' - icon_state = "zed_1" - flags = FPRINT | TABLEPASS/* | ONBELT*/ - throwforce = 0 - w_class = 1.0 - throw_speed = 7 - throw_range = 15 - m_amt = 60 - -/obj/item/weapon/zedpen/attack_paw(mob/user as mob) - return src.attack_hand(user) - return - -/obj/item/weapon/zedpen/New() - var/datum/reagents/R = new/datum/reagents(10) - reagents = R - R.my_atom = src - R.add_reagent("zed", 10) - ..() - return - -/obj/item/weapon/zedpen/attack(mob/M as mob, mob/user as mob) - if (!( istype(M, /mob) )) - return - if (reagents.total_volume) - for(var/mob/O in viewers(M, null)) - O.show_message(text("\blue [] has been stabbed with [] by [].", M, src, user), 1) -// user << "\red You stab [M] with the pen." -// M << "\red You feel a tiny prick!" - if(M.reagents) reagents.trans_to(M, 10) - icon_state = "zed_0" - return - - - - -/obj/item/weapon/storage/firstaid/zed - name = "Zed-Kit" - icon_state = "zedkit" - item_state = "firstaid-zed" - -/obj/item/weapon/storage/firstaid/zed/New() - - ..() - new /obj/item/weapon/zedpen( src ) - new /obj/item/weapon/zedpen( src ) - new /obj/item/weapon/zedpen( src ) - new /obj/item/weapon/zedpen( src ) - new /obj/item/weapon/zedpen( src ) - new /obj/item/weapon/zedpen( src ) - new /obj/item/device/healthanalyzer( src ) - return - - -////////////////////////////////////////////event code///////////////////////////////////////// - -/obj/landmark/zspawn - name = "zombie spawn" - -/* -/client/update_admins(var/rank) - ..() - if(rank == "Game Master"/* || rank == "Coder" || rank == "Primary Administrator" || rank == "Administrator"*/) - src.verbs += /client/proc/zombie_event -*/ - -/client/proc/zombie_event() - set category = "Special Verbs" - set name = "Spawn Zombies" - -// if(!istype(ticker.mode, /datum/game_mode/biohazard)) -// if(src) -// src << "\red Wrong game mode!" -// return - - if(usr) message_admins("[key_name_admin(usr)] has spawned a zombie", 1) -// command_alert("Confirmed outbreak of level 13 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert") - var/list/t = list() - for(var/obj/landmark/zspawn/O in world) - t += O - if(!t.len) - usr<<"No spawn points exist." - return - var/obj/landmark/s = pick(t) - var/mob/living/carbon/human/zombie/Z = new/mob/living/carbon/human/zombie(s.loc) - - Z.gender = pick(MALE, FEMALE) - - var/flooks = new/list() - var/mlooks = new/list() - - flooks += "0990CC0FF000000000DC0000033000902136F93" - flooks += "0CC000033000000000DC0000033000C4308DEB4" - flooks += "066000033000000000B90000033000E1E03FD3F" - flooks += "066000033000000000690000033000A0F06C6D5" - flooks += "0CC000000000000000EB0000000066D1F11EDA3" - //flooks += "0FF0000FF000000000F50000000066B360B819" - - mlooks += "066000033000000000CD000000000071E0F7382" - mlooks += "066000033000000000B9006603300037909B45A" - mlooks += "000000000000000000690000000066487060580" - mlooks += "000000000000000000CD0000000000638074390" - mlooks += "066000033066000033CD00000000000D8D20B9B" - - if(Z.gender == MALE) - Z.dna.unique_enzymes = pick(mlooks) - else - Z.dna.unique_enzymes = pick(flooks) - - updateappearance(Z, Z.dna.unique_enzymes) - - if(Z.gender == MALE) - Z.real_name = text("[] []", pick(first_names_male), pick(last_names)) - else - Z.real_name = text("[] []", pick(first_names_female), pick(last_names)) - - //var/a = pick("Janitor", "Medical Doctor", "Assistant", "Atmospheric Technician", "Security Officer", "Botanist", "Cargo Technician") - //Z.Equip_Rank(a, 0) - //Commented out by pygmy. Reason: Triggers my anti-spawn-at-menu code. Compromising this risks server. - Z.loc = s.loc \ No newline at end of file diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 67168f048ee..f6c57b8989f 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -380,48 +380,3 @@ return 1 // ZOMG PONIES WHEEE //Not in here? Must be untested! return 0 - - -/* - -//////////////////////Grutor: -/////////////////////Zombie tranformation into NPC type zombie////////////// -////////////////////I'm very certain we can just remove player key////////// -////////////////move it to AI control instead and change body icon////////// -////////////////////////to zombie. But o'well lol////////////////////////// -/mob/living/carbon/human/proc/Turnundead() - if (monkeyizing) - return - for(var/obj/item/W in src) - drop_from_inventory(W) //should be replace with look for something that can transfer items - regenerate_icons() - monkeyizing = 1 - canmove = 0 - icon = null - invisibility = 101 - for(var/t in organs) //this really should not be necessary - del(t) - - var/mob/living/simple_animal/hostile/new_zombie = new /mob/living/simple_animal/hostile/zombie (src.loc) - - new_zombie.name = "Zombie \red[name]" - new_zombie.desc = "A person that has fallen victim to cannibles." - new_zombie.loc = loc - //If you wish everything from here to there can be edited out... - new_zombie.dna = dna //Don't know why I did this, you can't prick em with a needle - if(src.viruses) //Checks and see if the source has any viruses - for(var/datum/disease/tempvirus in new_zombie.viruses) //retrieves anything of disease type - tempvirus.cure(0) //For each virus found cure it - //One day we will need this... - for(var/datum/disease/cv in src.viruses) - new_zombie.viruses += cv //Add/assign the list to the zombie - cv.affected_mob = new_zombie //Change the copy's var to zombie - cv.strain_data = cv.strain_data.Copy() //what? line 520 does this already.... - cv.holder = new_zombie //new_zombie is holder of the virus - cv.carrier = 1 - //Edit from there to hear if you wish. - spawn(0)//To prevent the proc from returning null. - del(src) - return - -*/ \ No newline at end of file diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm index 4e42e67969b..87083bf1920 100644 --- a/code/modules/projectiles/ammunition/bullets.dm +++ b/code/modules/projectiles/ammunition/bullets.dm @@ -43,6 +43,10 @@ caliber = ".45" projectile_type = "/obj/item/projectile/bullet/midbullet" +/obj/item/ammo_casing/c10mm + desc = "A 10mm bullet casing." + caliber = "10mm" + projectile_type = "obj/item/projectile/bullet/midbullet2" /obj/item/ammo_casing/a12mm desc = "A 12mm bullet casing." diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 81d015a4169..74844a979dc 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -11,14 +11,14 @@ if(istype(A, /obj/item/ammo_box)) var/obj/item/ammo_box/AM = A for(var/obj/item/ammo_casing/AC in AM.stored_ammo) - if(magazine.give_round(AC)) + if(magazine && magazine.give_round(AC)) AM.stored_ammo -= AC num_loaded++ else break if(istype(A, /obj/item/ammo_casing)) var/obj/item/ammo_casing/AC = A - if(magazine.give_round(AC)) + if(magazine && magazine.give_round(AC)) user.drop_item() AC.loc = src num_loaded++ diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 18847fedaec..7c6c9f23319 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -3619,64 +3619,3 @@ datum return */ - -/* - -//Grutor -/////////////////Zombie Stuff////////////////// - - //This isn't implemented yet, future updates might change this - necroblood - name = "Zombie blood" - id = "necroblood" - description = "It's blood, but it looks like jello." - reagent_state = LIQUID - - //So you don't need to be a virologist - necrocure - name = "Zombie Cure" - id = "necrocure" - description = "The thing only stopping you from turning." - reagent_state = LIQUID - nutriment_factor = 0 - color = "#54C754" // rgb: 84, 199, 84 - - z_meat - name = "Zombie Juice" - id = "zmeat" - description = "Definitely smells funny." - reagent_state = LIQUID - color = "#E23351" - var/said_it_before = 0 - var/fate_is_sealed = 0 - - on_mob_life(var/mob/living/M as mob) - ..() - if(said_it_before == 0) - M << "You are starting to have regrets..." - said_it_before = 1 - if(prob(8) && istype(M, /mob/living/carbon) && fate_is_sealed == 0) //Per reagent tick there is a chance this person will explode - fate_is_sealed = 1 - sleep(rand(80, 250)) - for(var/obj/item/W in M) //Some items will not be recovered.. - if(prob(70)) - M.drop_from_inventory(W) - M.gib() - return - - necrovirus - name = "Zombie Virus" - id = "necrodisease" - description = "It's said it can bring the dead back to life." - reagent_state = SOLID - - on_mob_life(var/mob/living/carbon/M as mob) - if(!M) M = holder.my_atom - var/datum/disease/D = new /datum/disease/zombie_transformation - D.holder = M - D.affected_mob = M - M.viruses += D - ..() - return - -*/ \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 2ed331d11a6..ea85ddadb15 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -1976,24 +1976,3 @@ datum */ - -//Grutor -///////////////////////Zombie recipes//////////////////////////// - - /* necrocure - name = "Zombie Cure" - id = "necrocure" - result = "necrocure" - required_reagents = list("sterilizine" = 2, "zmeat" = 2) - result_amount = 5 - - necrodisease - name = "Zombie Virus" - id = "necrodisease" - result = "necrodisease" - required_reagents = list("zombiepowder" = 2, "cryptobiolin" = 2, "mutagen" = 2) - result_amount = 5 - - */ - - diff --git a/code/modules/reagents/reagent_containers/food/snacks/meat.dm b/code/modules/reagents/reagent_containers/food/snacks/meat.dm index a64af273833..3acaaffe9d1 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/meat.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/meat.dm @@ -25,20 +25,3 @@ /obj/item/weapon/reagent_containers/food/snacks/meat/corgi name = "Corgi meat" desc = "Tastes like... well you know..." - -//Grutor -//zombies yum... -/obj/item/weapon/reagent_containers/food/snacks/meat/undead - name = "Rotten flesh" - desc = "You really shouldn't..." - icon = 'icons/obj/food.dmi' - icon_state = "rottenmeat" - - attack(mob/M as mob, mob/user as mob, def_zone) - if(..()) - M << "You are starting to have regrets..." //If you seeing this message twice, remove this one. - - New() - ..() - reagents.add_reagent("carpotoxin", 6) - reagents.add_reagent("zmeat", 20)