mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-14 01:24:21 +01:00
- Fixes shadowling receiving burn messages even when dead. I've also fixed the same bug for other species and made certain spec_life() procs not run when the mob is dead. I also made slime species a subtype of jelly species since they had a lot of code in common thus reducing duplicate code.
- Fixes odd behavior with emagging airlock and windoor animation. - Fixes being able to bloodcrawl in oil decal. - Fixes being deaf after bloodcrawling. - Fixes wintercoat hood appearing below the mask. - Fixes being able to attack another mob before the game has started (and other things which used a gamestart check that no longer works). - Ghosts can no longer become drones before the game has started. - Removed "bhunger" and "ajourn" mob vars, they are unused. - Fixes admin-revived morph being invisible. - Fixes heart attack stacking losebreath very high. Also now losebreath is reset to 0 when the mob dies. - All mobs no longer have a default strip menu showing two hands.
This commit is contained in:
@@ -202,7 +202,7 @@
|
||||
if(ishuman(affected_mob))
|
||||
var/mob/living/carbon/human/human = affected_mob
|
||||
if(human.dna.species.id != "slime")
|
||||
human.set_species(/datum/species/slime)
|
||||
human.set_species(/datum/species/jelly/slime)
|
||||
|
||||
/datum/disease/transformation/corgi
|
||||
name = "The Barkening"
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
|
||||
/obj/item/organ/internal/gland/pop/activate()
|
||||
owner << "<span class='notice'>You feel unlike yourself.</span>"
|
||||
var/species = pick(list(/datum/species/lizard,/datum/species/slime,/datum/species/pod,/datum/species/fly))
|
||||
var/species = pick(list(/datum/species/lizard,/datum/species/jelly/slime,/datum/species/pod,/datum/species/fly))
|
||||
owner.set_species(species)
|
||||
|
||||
/obj/item/organ/internal/gland/ventcrawling
|
||||
|
||||
@@ -266,8 +266,9 @@ Made by Xhuis
|
||||
light_amount = T.get_lumcount()
|
||||
if(light_amount > LIGHT_DAM_THRESHOLD && !H.incorporeal_move) //Can survive in very small light levels. Also doesn't take damage while incorporeal, for shadow walk purposes
|
||||
H.take_overall_damage(0, LIGHT_DAMAGE_TAKEN)
|
||||
H << "<span class='userdanger'>The light burns you!</span>" //Message spam to say "GET THE FUCK OUT"
|
||||
H << 'sound/weapons/sear.ogg'
|
||||
if(H.stat != DEAD)
|
||||
H << "<span class='userdanger'>The light burns you!</span>" //Message spam to say "GET THE FUCK OUT"
|
||||
H << 'sound/weapons/sear.ogg'
|
||||
else if (light_amount < LIGHT_HEAL_THRESHOLD)
|
||||
H.heal_overall_damage(5,5)
|
||||
H.adjustToxLoss(-5)
|
||||
|
||||
@@ -971,7 +971,7 @@ About the new airlock wires panel:
|
||||
|
||||
if(!density)
|
||||
return 1
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
return 0
|
||||
operating = 1
|
||||
|
||||
@@ -1132,11 +1132,13 @@ About the new airlock wires panel:
|
||||
return
|
||||
|
||||
/obj/machinery/door/airlock/emag_act(mob/user)
|
||||
if(density && hasPower() && !emagged)
|
||||
if(!operating && density && hasPower() && !emagged)
|
||||
operating = 1
|
||||
update_icon(AIRLOCK_EMAG)
|
||||
sleep(6)
|
||||
if(qdeleted(src))
|
||||
return
|
||||
operating = 0
|
||||
if(!open())
|
||||
update_icon(AIRLOCK_CLOSED)
|
||||
emagged = 1
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
return 1
|
||||
if(operating)
|
||||
return
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
return 0
|
||||
operating = 1
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
/obj/machinery/door/window/open(forced=0)
|
||||
if (src.operating == 1) //doors can still open when emag-disabled
|
||||
return 0
|
||||
if (!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
return 0
|
||||
if(!forced)
|
||||
if(!hasPower())
|
||||
@@ -251,10 +251,11 @@
|
||||
return src.attackby(user, user)
|
||||
|
||||
/obj/machinery/door/window/emag_act(mob/user)
|
||||
if(density && !emagged)
|
||||
operating = 0
|
||||
if(!operating && density && !emagged)
|
||||
operating = 1
|
||||
flick("[src.base_state]spark", src)
|
||||
sleep(6)
|
||||
operating = 0
|
||||
desc += "<BR><span class='warning'>Its access panel is smoking slightly.</span>"
|
||||
open()
|
||||
emagged = 1
|
||||
@@ -265,6 +266,9 @@
|
||||
if (src.operating)
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/weapon/card/emag))
|
||||
return
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
|
||||
|
||||
/obj/effect/decal/cleanable/proc/can_bloodcrawl_in()
|
||||
return bloodiness
|
||||
|
||||
|
||||
if((blood_state != BLOOD_STATE_OIL) && (blood_state != BLOOD_STATE_NOT_BLOODY))
|
||||
return bloodiness
|
||||
else
|
||||
return 0
|
||||
@@ -200,7 +200,7 @@
|
||||
if("showgm")
|
||||
if(!check_rights(R_ADMIN))
|
||||
return
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
alert("The game hasn't started yet!")
|
||||
else if (ticker.mode)
|
||||
alert("The game mode is [ticker.mode.name]")
|
||||
@@ -303,7 +303,7 @@
|
||||
if("traitor_all")
|
||||
if(!check_rights(R_FUN))
|
||||
return
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
alert("The game hasn't started yet!")
|
||||
return
|
||||
var/objective = copytext(sanitize(input("Enter an objective")),1,MAX_MESSAGE_LEN)
|
||||
|
||||
@@ -199,7 +199,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
set category = "Fun"
|
||||
set name = "Make Robot"
|
||||
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
alert("Wait until the game starts")
|
||||
return
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
@@ -215,7 +215,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
set category = "Fun"
|
||||
set name = "Make Blob"
|
||||
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
alert("Wait until the game starts")
|
||||
return
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
@@ -232,7 +232,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
set category = "Fun"
|
||||
set name = "Make Simple Animal"
|
||||
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
alert("Wait until the game starts")
|
||||
return
|
||||
|
||||
@@ -280,7 +280,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
set category = "Fun"
|
||||
set name = "Make Alien"
|
||||
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
alert("Wait until the game starts")
|
||||
return
|
||||
if(ishuman(M))
|
||||
@@ -297,7 +297,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
set category = "Fun"
|
||||
set name = "Make slime"
|
||||
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
alert("Wait until the game starts")
|
||||
return
|
||||
if(ishuman(M))
|
||||
@@ -474,7 +474,7 @@ var/global/list/g_fancy_list_of_types = null
|
||||
set category = "Admin"
|
||||
set name = "Grant Full Access"
|
||||
|
||||
if (!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
alert("Wait until the game starts")
|
||||
return
|
||||
if (istype(M, /mob/living/carbon/human))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/client/proc/only_one()
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
alert("The game hasn't started yet!")
|
||||
return
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
|
||||
|
||||
/client/proc/only_me()
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
alert("The game hasn't started yet!")
|
||||
return
|
||||
|
||||
|
||||
@@ -344,7 +344,7 @@
|
||||
/obj/item/clothing/head/winterhood
|
||||
name = "winter hood"
|
||||
desc = "A hood attached to a heavy winter jacket."
|
||||
icon_state = "generic_hood"
|
||||
icon_state = "winterhood"
|
||||
body_parts_covered = HEAD
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
@@ -355,48 +355,82 @@
|
||||
icon_state = "coatcaptain"
|
||||
armor = list(melee = 25, bullet = 30, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic)
|
||||
hoodtype = /obj/item/clothing/head/winterhood/captain
|
||||
|
||||
/obj/item/clothing/head/winterhood/captain
|
||||
icon_state = "winterhood_captain"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/security
|
||||
name = "security winter coat"
|
||||
icon_state = "coatsecurity"
|
||||
armor = list(melee = 25, bullet = 15, laser = 30, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/flashlight/seclite,/obj/item/weapon/melee/classic_baton/telescopic)
|
||||
hoodtype = /obj/item/clothing/head/winterhood/security
|
||||
|
||||
/obj/item/clothing/head/winterhood/security
|
||||
icon_state = "winterhood_security"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/medical
|
||||
name = "medical winter coat"
|
||||
icon_state = "coatmedical"
|
||||
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
|
||||
hoodtype = /obj/item/clothing/head/winterhood/medical
|
||||
|
||||
/obj/item/clothing/head/winterhood/medical
|
||||
icon_state = "winterhood_medical"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/science
|
||||
name = "science winter coat"
|
||||
icon_state = "coatscience"
|
||||
allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper,/obj/item/weapon/melee/classic_baton/telescopic)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
|
||||
hoodtype = /obj/item/clothing/head/winterhood/science
|
||||
|
||||
/obj/item/clothing/head/winterhood/science
|
||||
icon_state = "winterhood_science"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/engineering
|
||||
name = "engineering winter coat"
|
||||
icon_state = "coatengineer"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/device/t_scanner, /obj/item/weapon/rcd)
|
||||
hoodtype = /obj/item/clothing/head/winterhood/engineering
|
||||
|
||||
/obj/item/clothing/head/winterhood/engineering
|
||||
icon_state = "winterhood_engineer"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos
|
||||
name = "atmospherics winter coat"
|
||||
icon_state = "coatatmos"
|
||||
hoodtype = /obj/item/clothing/head/winterhood/engineering/atmos
|
||||
|
||||
/obj/item/clothing/head/winterhood/engineering/atmos
|
||||
icon_state = "winterhood_atmos"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/hydro
|
||||
name = "hydroponics winter coat"
|
||||
icon_state = "coathydro"
|
||||
allowed = list(/obj/item/weapon/reagent_containers/spray/plantbgone,/obj/item/device/analyzer/plant_analyzer,/obj/item/seeds,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/cultivator,/obj/item/weapon/reagent_containers/spray/pestspray,/obj/item/weapon/hatchet,/obj/item/weapon/storage/bag/plants)
|
||||
hoodtype = /obj/item/clothing/head/winterhood/hydro
|
||||
|
||||
/obj/item/clothing/head/winterhood/hydro
|
||||
item_state = "winterhood_hydro"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/cargo
|
||||
name = "cargo winter coat"
|
||||
icon_state = "coatcargo"
|
||||
hoodtype = /obj/item/clothing/head/winterhood/cargo
|
||||
|
||||
/obj/item/clothing/head/winterhood/cargo
|
||||
icon_state = "winterhood_cargo"
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/miner
|
||||
name = "mining winter coat"
|
||||
icon_state = "coatminer"
|
||||
allowed = list(/obj/item/weapon/pickaxe,/obj/item/device/flashlight,/obj/item/weapon/tank/internals/emergency_oxygen,/obj/item/toy,/obj/item/weapon/storage/fancy/cigarettes,/obj/item/weapon/lighter)
|
||||
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
hoodtype = /obj/item/clothing/head/winterhood/miner
|
||||
|
||||
//
|
||||
/obj/item/clothing/head/winterhood/miner
|
||||
icon_state = "winterhood_miner"
|
||||
@@ -1,7 +1,7 @@
|
||||
//Hoods for winter coats and chaplain hoodie etc
|
||||
|
||||
/obj/item/clothing/suit/hooded
|
||||
var/obj/item/clothing/head/winterhood/hood
|
||||
var/obj/item/clothing/head/hood
|
||||
var/hoodtype = /obj/item/clothing/head/winterhood //so the chaplain hoodie or other hoodies can override this
|
||||
|
||||
/obj/item/clothing/suit/hooded/New()
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
/obj/item/clothing/suit/hooded/proc/MakeHood()
|
||||
if(!hood)
|
||||
var/obj/item/clothing/head/winterhood/W = new hoodtype(src)
|
||||
var/obj/item/clothing/head/W = new hoodtype(src)
|
||||
hood = W
|
||||
|
||||
/obj/item/clothing/suit/hooded/ui_action_click()
|
||||
|
||||
@@ -113,7 +113,7 @@ obj/effect/dummy/slaughter/relaymove(mob/user, direction)
|
||||
if(iscarbon(src))
|
||||
var/mob/living/carbon/C = src
|
||||
for(var/obj/item/weapon/bloodcrawl/BC in C)
|
||||
C.flags = null
|
||||
BC.flags = null
|
||||
C.unEquip(BC)
|
||||
qdel(BC)
|
||||
var/oldcolor = src.color
|
||||
|
||||
@@ -7,7 +7,7 @@ As such, they can either help or harm other aliens. Help works like the human he
|
||||
In all, this is a lot like the monkey code. /N
|
||||
*/
|
||||
/mob/living/carbon/alien/attack_alien(mob/living/carbon/alien/M)
|
||||
if (!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
M << "You cannot attack people before the game has started."
|
||||
return
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/mob/living/carbon/death(gibbed)
|
||||
silent = 0
|
||||
losebreath = 0
|
||||
med_hud_set_health()
|
||||
med_hud_set_status()
|
||||
..(gibbed)
|
||||
|
||||
@@ -14,8 +14,10 @@
|
||||
new /obj/effect/decal/remains/human(loc)
|
||||
|
||||
/mob/living/carbon/human/death(gibbed)
|
||||
if(stat == DEAD) return
|
||||
if(healths) healths.icon_state = "health5"
|
||||
if(stat == DEAD)
|
||||
return
|
||||
if(healths)
|
||||
healths.icon_state = "health5"
|
||||
stat = DEAD
|
||||
dizziness = 0
|
||||
jitteriness = 0
|
||||
|
||||
@@ -335,7 +335,8 @@
|
||||
if(!heart_attack)
|
||||
return
|
||||
else
|
||||
losebreath += 5
|
||||
if(losebreath < 3)
|
||||
losebreath += 2
|
||||
adjustOxyLoss(5)
|
||||
adjustBruteLoss(1)
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
/datum/species/human/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H)
|
||||
if(chem.id == "mutationtoxin")
|
||||
H << "<span class='danger'>Your flesh rapidly mutates!</span>"
|
||||
H.set_species(/datum/species/slime)
|
||||
H.set_species(/datum/species/jelly/slime)
|
||||
H.reagents.del_reagent(chem.type)
|
||||
H.faction |= "slime"
|
||||
return 1
|
||||
@@ -111,6 +111,8 @@ datum/species/human/spec_death(gibbed, mob/living/carbon/human/H)
|
||||
|
||||
|
||||
/datum/species/pod/spec_life(mob/living/carbon/human/H)
|
||||
if(H.stat == DEAD)
|
||||
return
|
||||
var/light_amount = 0 //how much light there is in the place, affects receiving nutrition and healing
|
||||
if(isturf(H.loc)) //else, there's considered to be no light
|
||||
var/turf/T = H.loc
|
||||
@@ -183,25 +185,24 @@ datum/species/human/spec_death(gibbed, mob/living/carbon/human/H)
|
||||
H.heal_overall_damage(1,1)
|
||||
|
||||
/*
|
||||
SLIMEPEOPLE
|
||||
JELLYPEOPLE
|
||||
*/
|
||||
|
||||
/datum/species/slime
|
||||
// Humans mutated by slime mutagen, produced from green slimes. They are not targetted by slimes.
|
||||
name = "Slimeperson"
|
||||
id = "slime"
|
||||
default_color = "00FFFF"
|
||||
darksight = 3
|
||||
invis_sight = SEE_INVISIBLE_LEVEL_ONE
|
||||
specflags = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD)
|
||||
hair_color = "mutcolor"
|
||||
hair_alpha = 150
|
||||
ignored_by = list(/mob/living/simple_animal/slime)
|
||||
/datum/species/jelly
|
||||
// Entirely alien beings that seem to be made entirely out of gel. They have three eyes and a skeleton visible within them.
|
||||
name = "Xenobiological Jelly Entity"
|
||||
id = "jelly"
|
||||
default_color = "00FF90"
|
||||
say_mod = "chirps"
|
||||
eyes = "jelleyes"
|
||||
specflags = list(MUTCOLORS,EYECOLOR,NOBLOOD)
|
||||
meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/slime
|
||||
exotic_blood = /datum/reagent/toxin/slimejelly
|
||||
var/recently_changed = 1
|
||||
|
||||
/datum/species/slime/spec_life(mob/living/carbon/human/H)
|
||||
/datum/species/jelly/spec_life(mob/living/carbon/human/H)
|
||||
if(H.stat == DEAD) //can't farm slime jelly from a dead slime/jelly person indefinitely
|
||||
return
|
||||
if(!H.reagents.get_reagent_amount("slimejelly"))
|
||||
if(recently_changed)
|
||||
H.reagents.add_reagent("slimejelly", 80)
|
||||
@@ -222,48 +223,28 @@ datum/species/human/spec_death(gibbed, mob/living/carbon/human/H)
|
||||
if(S.volume < 10)
|
||||
H.losebreath++
|
||||
|
||||
/datum/species/slime/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H)
|
||||
if(chem.id == "slimejelly")
|
||||
return 1
|
||||
/*
|
||||
JELLYPEOPLE
|
||||
*/
|
||||
|
||||
/datum/species/jelly
|
||||
// Entirely alien beings that seem to be made entirely out of gel. They have three eyes and a skeleton visible within them.
|
||||
name = "Xenobiological Jelly Entity"
|
||||
id = "jelly"
|
||||
default_color = "00FF90"
|
||||
say_mod = "chirps"
|
||||
eyes = "jelleyes"
|
||||
specflags = list(MUTCOLORS,EYECOLOR,NOBLOOD)
|
||||
meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/slime
|
||||
exotic_blood = /datum/reagent/toxin/slimejelly
|
||||
var/recently_changed = 1
|
||||
|
||||
/datum/species/jelly/spec_life(mob/living/carbon/human/H)
|
||||
if(!H.reagents.get_reagent_amount("slimejelly"))
|
||||
if(recently_changed)
|
||||
H.reagents.add_reagent("slimejelly", 80)
|
||||
recently_changed = 0
|
||||
else
|
||||
H.reagents.add_reagent("slimejelly", 5)
|
||||
H.adjustBruteLoss(5)
|
||||
H << "<span class='danger'>You feel empty!</span>"
|
||||
|
||||
for(var/datum/reagent/toxin/slimejelly/S in H.reagents.reagent_list)
|
||||
if(S.volume < 100)
|
||||
if(H.nutrition >= NUTRITION_LEVEL_STARVING)
|
||||
H.reagents.add_reagent("slimejelly", 0.5)
|
||||
H.nutrition -= 5
|
||||
else if(prob(5))
|
||||
H << "<span class='danger'>You feel drained!</span>"
|
||||
if(S.volume < 10)
|
||||
H.losebreath++
|
||||
|
||||
/datum/species/jelly/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H)
|
||||
if(chem.id == "slimejelly")
|
||||
return 1
|
||||
|
||||
/*
|
||||
SLIMEPEOPLE
|
||||
*/
|
||||
|
||||
/datum/species/jelly/slime
|
||||
// Humans mutated by slime mutagen, produced from green slimes. They are not targetted by slimes.
|
||||
name = "Slimeperson"
|
||||
id = "slime"
|
||||
default_color = "00FFFF"
|
||||
darksight = 3
|
||||
invis_sight = SEE_INVISIBLE_LEVEL_ONE
|
||||
specflags = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD)
|
||||
say_mod = "says"
|
||||
eyes = "eyes"
|
||||
hair_color = "mutcolor"
|
||||
hair_alpha = 150
|
||||
ignored_by = list(/mob/living/simple_animal/slime)
|
||||
|
||||
/*
|
||||
GOLEMS
|
||||
*/
|
||||
|
||||
@@ -673,7 +673,7 @@ Sorry Giacom. Please don't be mad :(
|
||||
return name
|
||||
|
||||
/mob/living/update_gravity(has_gravity)
|
||||
if(!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
return
|
||||
if(has_gravity)
|
||||
clear_alert("weightless")
|
||||
|
||||
@@ -195,7 +195,7 @@
|
||||
|
||||
|
||||
/mob/living/attack_slime(mob/living/simple_animal/slime/M)
|
||||
if (!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
M << "You cannot attack people before the game has started."
|
||||
return
|
||||
|
||||
@@ -226,7 +226,7 @@
|
||||
|
||||
|
||||
/mob/living/attack_paw(mob/living/carbon/monkey/M)
|
||||
if (!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
M << "You cannot attack people before the game has started."
|
||||
return 0
|
||||
|
||||
@@ -271,7 +271,7 @@
|
||||
return 0
|
||||
|
||||
/mob/living/attack_alien(mob/living/carbon/alien/humanoid/M)
|
||||
if (!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
M << "You cannot attack people before the game has started."
|
||||
return 0
|
||||
|
||||
|
||||
@@ -476,7 +476,7 @@ var/list/ai_list = list()
|
||||
|
||||
|
||||
/mob/living/silicon/ai/attack_alien(mob/living/carbon/alien/humanoid/M)
|
||||
if (!ticker)
|
||||
if(!ticker || !ticker.mode)
|
||||
M << "You cannot attack people before the game has started."
|
||||
return
|
||||
|
||||
|
||||
@@ -18,7 +18,9 @@
|
||||
/obj/item/drone_shell/attack_ghost(mob/user)
|
||||
if(jobban_isbanned(user,"drone"))
|
||||
return
|
||||
|
||||
if(!ticker.mode)
|
||||
user << "Can't become a drone before the game has started."
|
||||
return
|
||||
var/be_drone = alert("Become a drone? (Warning, You can no longer be cloned!)",,"Yes","No")
|
||||
if(be_drone == "No" || gc_destroyed)
|
||||
return
|
||||
|
||||
@@ -431,6 +431,7 @@
|
||||
|
||||
/mob/living/simple_animal/revive()
|
||||
health = maxHealth
|
||||
icon = initial(icon)
|
||||
icon_state = icon_living
|
||||
density = initial(density)
|
||||
update_canmove()
|
||||
|
||||
@@ -298,9 +298,6 @@
|
||||
discipline_slime(user)
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/slime/show_inv(mob/user)
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/slime/proc/apply_water()
|
||||
adjustBruteLoss(rand(15,20))
|
||||
if(!client)
|
||||
|
||||
+1
-11
@@ -325,17 +325,7 @@ var/list/slot_equipment_priority = list( \
|
||||
|
||||
|
||||
/mob/proc/show_inv(mob/user)
|
||||
user.set_machine(src)
|
||||
var/dat = {"
|
||||
<HR>
|
||||
<B><FONT size=3>[name]</FONT></B>
|
||||
<HR>
|
||||
<BR><B>Left Hand:</B> <A href='?src=\ref[src];item=[slot_l_hand]'> [(l_hand&&!(l_hand.flags&ABSTRACT)) ? l_hand : "Nothing"]</A>
|
||||
<BR><B>Right Hand:</B> <A href='?src=\ref[src];item=[slot_r_hand]'> [(r_hand&&!(r_hand.flags&ABSTRACT)) ? r_hand : "Nothing"]</A>
|
||||
<BR><A href='?src=\ref[user];mach_close=mob\ref[src]'>Close</A>
|
||||
"}
|
||||
user << browse(dat, "window=mob\ref[src];size=325x500")
|
||||
onclose(user, "mob\ref[src]")
|
||||
return
|
||||
|
||||
//mob verbs are faster than object verbs. See http://www.byond.com/forum/?post=1326139&page=2#comment8198716 for why this isn't atom/verb/examine()
|
||||
/mob/verb/examinate(atom/A as mob|obj|turf in view()) //It used to be oview(12), but I can't really say why
|
||||
|
||||
@@ -49,8 +49,6 @@
|
||||
var/stuttering = null //Carbon
|
||||
var/slurring = 0 //Carbon
|
||||
var/real_name = null
|
||||
var/bhunger = 0 //Carbon
|
||||
var/ajourn = 0
|
||||
var/druggy = 0 //Carbon
|
||||
var/confused = 0 //Carbon
|
||||
var/sleeping = 0 //Carbon
|
||||
|
||||
@@ -12,7 +12,7 @@ Contents:
|
||||
set category = null
|
||||
set name = "Make Space Ninja"
|
||||
|
||||
if(!ticker)
|
||||
if (!ticker.mode)
|
||||
alert("Wait until the game starts")
|
||||
return
|
||||
|
||||
|
||||
@@ -364,7 +364,7 @@
|
||||
if(prob(90) && mutation && H.dna.species != /datum/species/golem && H.dna.species != /datum/species/golem/adamantine)
|
||||
H << "<span class='danger'>The pain subsides. You feel... different.</span>"
|
||||
H.set_species(mutation)
|
||||
if(mutation == /datum/species/slime)
|
||||
if(mutation.id == "slime")
|
||||
H.faction |= "slime"
|
||||
else
|
||||
H.faction -= "slime"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 129 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 60 KiB |
Reference in New Issue
Block a user