mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 13:05:44 +01:00
Merge remote-tracking branch 'origin/master' into development
This commit is contained in:
@@ -389,8 +389,7 @@ datum/projectile_data
|
||||
var/h = 10
|
||||
var/power_x = power * cos(angle)
|
||||
var/power_y = power * sin(angle)
|
||||
// var/time = 2* power_y / 10 //10 = g
|
||||
var/time = (power_x + sqrt((power_x*power_x)+(2*g*h)))/g
|
||||
var/time = (power_y + sqrt((power_y*power_y)+(2*g*h)))/g
|
||||
var/distance = time * power_x
|
||||
|
||||
var/dest_x = src_x + distance*sin(rotation);
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
/datum/game_mode/nuclear/declare_completion()
|
||||
if(config.objectives_disabled)
|
||||
..()
|
||||
return
|
||||
var/disk_rescued = 1
|
||||
for(var/obj/item/weapon/disk/nuclear/D in world)
|
||||
|
||||
@@ -345,13 +345,17 @@
|
||||
set name = "Toggle Veil Walking (80)"
|
||||
set desc = "You enter the veil, leaving only an incorporeal manifestation of you visible to the others."
|
||||
|
||||
var/datum/vampire/vampire = vampire_power(80, 0, 1)
|
||||
var/datum/vampire/vampire = vampire_power(0, 0, 1)
|
||||
if (!vampire)
|
||||
return
|
||||
|
||||
if (vampire.holder)
|
||||
vampire.holder.deactivate()
|
||||
else
|
||||
vampire = vampire_power(80, 0, 1)
|
||||
if (!vampire)
|
||||
return
|
||||
|
||||
var/obj/effect/dummy/veil_walk/holder = new /obj/effect/dummy/veil_walk(get_turf(loc))
|
||||
holder.activate(src)
|
||||
|
||||
@@ -409,6 +413,18 @@
|
||||
can_move = 1
|
||||
|
||||
/obj/effect/dummy/veil_walk/process()
|
||||
if (owner_mob.stat)
|
||||
if (owner_mob.stat == 1)
|
||||
owner_mob << "<span class='warning'>You cannot maintain this form while unconcious.</span>"
|
||||
spawn(10)
|
||||
if (owner_mob.stat == 1)
|
||||
owner_mob << "<span class='danger'>You are ejected from the Veil.</span>"
|
||||
deactivate()
|
||||
return
|
||||
else
|
||||
deactivate()
|
||||
return
|
||||
|
||||
if (owner_vampire.blood_usable >= 5)
|
||||
owner_vampire.blood_usable -= 5
|
||||
|
||||
@@ -485,7 +501,7 @@
|
||||
set name = "Blood Heal"
|
||||
set desc = "At the cost of blood and time, heal any injuries you have sustained."
|
||||
|
||||
var/datum/vampire/vampire = vampire_power(15, 0)
|
||||
var/datum/vampire/vampire = vampire_power(0, 0)
|
||||
if (!vampire)
|
||||
return
|
||||
|
||||
@@ -493,6 +509,9 @@
|
||||
if (vampire.status & VAMP_HEALING)
|
||||
vampire.status &= ~VAMP_HEALING
|
||||
return
|
||||
else if (vampire.blood_usable < 15)
|
||||
src << "<span class='warning'>You do not have enough usable blood. 15 needed.</span>"
|
||||
return
|
||||
|
||||
vampire.status |= VAMP_HEALING
|
||||
src << "<span class='notice'>You begin the process of blood healing. Do not move, and ensure that you are not interrupted.</span>"
|
||||
@@ -720,7 +739,7 @@
|
||||
set name = "Presence (10)"
|
||||
set desc = "Influences those weak of mind to look at you in a friendlier light."
|
||||
|
||||
var/datum/vampire/vampire = vampire_power(15, 0)
|
||||
var/datum/vampire/vampire = vampire_power(0, 0)
|
||||
if (!vampire)
|
||||
return
|
||||
|
||||
@@ -728,6 +747,9 @@
|
||||
vampire.status &= ~VAMP_PRESENCE
|
||||
src << "<span class='warning'>You are no longer influencing those weak of mind.</span>"
|
||||
return
|
||||
else if (vampire.blood_usable < 15)
|
||||
src << "<span class='warning'>You do not have enough usable blood. 15 needed.</span>"
|
||||
return
|
||||
|
||||
src << "<span class='notice'>You begin passively influencing the weak minded.</span>"
|
||||
vampire.status |= VAMP_PRESENCE
|
||||
@@ -747,6 +769,11 @@
|
||||
// Run every 20 seconds
|
||||
sleep(200)
|
||||
|
||||
if (stat)
|
||||
src << "<span class='warning'>You cannot influence people around you while [stat == 1 ? "unconcious" : "dead"].</span>"
|
||||
vampire.status &= ~VAMP_PRESENCE
|
||||
break
|
||||
|
||||
for (var/mob/living/carbon/human/T in view(5))
|
||||
if (T == src)
|
||||
continue
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
name = "employment records console"
|
||||
desc = "Used to view, edit and maintain employment records."
|
||||
icon_state = "medlaptop"
|
||||
light_color = "#00b000"
|
||||
light_color = "#315ab4"
|
||||
req_one_access = list(access_heads)
|
||||
circuit = "/obj/item/weapon/circuitboard/skills"
|
||||
var/obj/item/weapon/card/id/scan = null
|
||||
|
||||
@@ -10,6 +10,25 @@
|
||||
var/max_fire_temperature_sustained = 0 //The max temperature of the fire which it was subjected to
|
||||
var/dirt = 0
|
||||
|
||||
// possible fix for the perma wet floor bug
|
||||
/turf/simulated/proc/wet_floor(var/wet_val = 1)
|
||||
spawn(0)
|
||||
if(wet_val <= wet)
|
||||
return
|
||||
wet = wet_val
|
||||
if(wet_overlay)
|
||||
overlays -= wet_overlay
|
||||
wet_overlay = null
|
||||
wet_overlay = image('icons/effects/water.dmi',src,"wet_floor")
|
||||
overlays += wet_overlay
|
||||
sleep(800)
|
||||
if(wet >= 2)
|
||||
return
|
||||
wet = 0
|
||||
if(wet_overlay)
|
||||
overlays -= wet_overlay
|
||||
wet_overlay = null
|
||||
|
||||
/turf/simulated/clean_blood()
|
||||
for(var/obj/effect/decal/cleanable/blood/B in contents)
|
||||
B.clean_blood()
|
||||
|
||||
@@ -54,8 +54,8 @@
|
||||
for (var/slot in character_slots)
|
||||
load_character(slot)
|
||||
|
||||
if (!skills || !skills.len)
|
||||
ZeroSkills(1)
|
||||
// if (!skills || !skills.len)
|
||||
// ZeroSkills(1)
|
||||
|
||||
if (!insert_character_sql(C))
|
||||
log_debug("Character insert error during migration. Client: [C.ckey], character slot: [slot].")
|
||||
|
||||
@@ -283,6 +283,11 @@
|
||||
// Miscellaneous
|
||||
disabilities = text2num(character_query.item[48])
|
||||
skills = params2list(character_query.item[49])
|
||||
|
||||
for (var/skill in skills)
|
||||
if (skills[skill])
|
||||
skills[skill] = text2num(skills[skill])
|
||||
|
||||
skill_specialization = character_query.item[50]
|
||||
home_system = character_query.item[51]
|
||||
citizenship = character_query.item[52]
|
||||
@@ -530,8 +535,23 @@
|
||||
params[":facial_colour"] = facial_hex
|
||||
params[":skin_tone"] = s_tone
|
||||
params[":skin_colour"] = skin_hex
|
||||
params[":hair_style"] = h_style
|
||||
params[":facial_style"] = f_style
|
||||
|
||||
if (istext(h_style))
|
||||
params[":hair_style"] = h_style
|
||||
else if (istype(h_style, /datum/sprite_accessory/hair))
|
||||
var/datum/sprite_accessory/hair/current_h = h_style
|
||||
params[":hair_style"] = current_h.name
|
||||
else
|
||||
params[":hair_style"] = "Bald"
|
||||
|
||||
if (istext(f_style))
|
||||
params[":facial_style"] = f_style
|
||||
else if (istype(h_style, /datum/sprite_accessory/facial_hair))
|
||||
var/datum/sprite_accessory/facial_hair/current_f = f_style
|
||||
params[":facial_style"] = current_f.name
|
||||
else
|
||||
params[":facial_style"] = "Shaved"
|
||||
|
||||
params[":eyes_colour"] = eyes_hex
|
||||
params[":underwear"] = underwear
|
||||
params[":undershirt"] = undershirt
|
||||
|
||||
@@ -325,7 +325,7 @@
|
||||
/datum/seed/koisspore
|
||||
name = "koisspore"
|
||||
seed_name = "kois"
|
||||
seed_noun = "spires"
|
||||
seed_noun = "spores"
|
||||
display_name = "k'ois spores"
|
||||
mutants = null
|
||||
chems = list("koispaste" = list(25))
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
/obj/machinery/seed_storage/garden
|
||||
name = "Garden seed storage"
|
||||
scanner = list("stats")
|
||||
starting_seeds = list(/obj/item/seeds/appleseed = 3, /obj/item/seeds/bananaseed = 3, /obj/item/seeds/berryseed = 3, /obj/item/seeds/cabbageseed = 3, /obj/item/seeds/carrotseed = 3, /obj/item/seeds/chantermycelium = 3, /obj/item/seeds/cherryseed = 3, /obj/item/seeds/chiliseed = 3, /obj/item/seeds/cocoapodseed = 3, /obj/item/seeds/cornseed = 3, /obj/item/seeds/eggplantseed = 3, /obj/item/seeds/grapeseed = 3, /obj/item/seeds/grassseed = 3, /obj/item/seeds/replicapod = 3, /obj/item/seeds/lemonseed = 3, /obj/item/seeds/limeseed = 3, /obj/item/seeds/mtearseed = 2, /obj/item/seeds/orangeseed = 3, /obj/item/seeds/peanutseed = 3, /obj/item/seeds/plumpmycelium = 3, /obj/item/seeds/poppyseed = 3, /obj/item/seeds/potatoseed = 3, /obj/item/seeds/pumpkinseed = 3, /obj/item/seeds/riceseed = 3, /obj/item/seeds/soyaseed = 3, /obj/item/seeds/sugarcaneseed = 3, /obj/item/seeds/sunflowerseed = 3, /obj/item/seeds/shandseed = 2, /obj/item/seeds/tobaccoseed = 3, /obj/item/seeds/tomatoseed = 3, /obj/item/seeds/towermycelium = 3, /obj/item/seeds/watermelonseed = 3, /obj/item/seeds/wheatseed = 3, /obj/item/seeds/whitebeetseed = 3)
|
||||
starting_seeds = list(/obj/item/seeds/appleseed = 3, /obj/item/seeds/bananaseed = 3, /obj/item/seeds/berryseed = 3, /obj/item/seeds/cabbageseed = 3, /obj/item/seeds/carrotseed = 3, /obj/item/seeds/chantermycelium = 3, /obj/item/seeds/cherryseed = 3, /obj/item/seeds/chiliseed = 3, /obj/item/seeds/cocoapodseed = 3, /obj/item/seeds/cornseed = 3, /obj/item/seeds/eggplantseed = 3, /obj/item/seeds/grapeseed = 3, /obj/item/seeds/grassseed = 3, /obj/item/seeds/replicapod = 3, /obj/item/seeds/lemonseed = 3, /obj/item/seeds/limeseed = 3, /obj/item/seeds/mtearseed = 2, /obj/item/seeds/orangeseed = 3, /obj/item/seeds/peanutseed = 3, /obj/item/seeds/plumpmycelium = 3, /obj/item/seeds/poppyseed = 3, /obj/item/seeds/potatoseed = 3, /obj/item/seeds/pumpkinseed = 3, /obj/item/seeds/riceseed = 3, /obj/item/seeds/soyaseed = 3, /obj/item/seeds/sugarcaneseed = 3, /obj/item/seeds/sunflowerseed = 3, /obj/item/seeds/shandseed = 2, /obj/item/seeds/tobaccoseed = 3, /obj/item/seeds/tomatoseed = 3, /obj/item/seeds/towermycelium = 3, /obj/item/seeds/watermelonseed = 3, /obj/item/seeds/wheatseed = 3, /obj/item/seeds/whitebeetseed = 3, /obj/item/seeds/koisspore = 3)
|
||||
|
||||
/obj/machinery/seed_storage/xenobotany
|
||||
name = "Xenobotany seed storage"
|
||||
|
||||
@@ -38,6 +38,9 @@
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(listener, beacon_freq, filter = RADIO_NAVBEACONS)
|
||||
|
||||
spawn(10)
|
||||
gib()
|
||||
|
||||
/mob/living/bot/cleanbot/proc/handle_target()
|
||||
if(loc == target.loc)
|
||||
if(!cleaning)
|
||||
@@ -60,6 +63,9 @@
|
||||
/mob/living/bot/cleanbot/Life()
|
||||
..()
|
||||
|
||||
// Nope.jpg
|
||||
return
|
||||
|
||||
var/found_spot
|
||||
var/current_tile
|
||||
var/cleanable_type = /obj/effect/decal/cleanable
|
||||
@@ -80,19 +86,7 @@
|
||||
if(screwloose && prob(5)) // Make a mess
|
||||
if(istype(loc, /turf/simulated))
|
||||
var/turf/simulated/T = loc
|
||||
if(T.wet < 1)
|
||||
T.wet = 1
|
||||
if(T.wet_overlay)
|
||||
T.overlays -= T.wet_overlay
|
||||
T.wet_overlay = null
|
||||
T.wet_overlay = image('icons/effects/water.dmi', T, "wet_floor")
|
||||
T.overlays += T.wet_overlay
|
||||
spawn(800)
|
||||
if(istype(T) && T.wet < 2)
|
||||
T.wet = 0
|
||||
if(T.wet_overlay)
|
||||
T.overlays -= T.wet_overlay
|
||||
T.wet_overlay = null
|
||||
T.wet_floor()
|
||||
|
||||
if(oddbutton && prob(5)) // Make a big mess
|
||||
visible_message("Something flies out of [src]. He seems to be acting oddly.")
|
||||
|
||||
@@ -321,6 +321,6 @@
|
||||
"eyes" = /obj/item/organ/eyes,
|
||||
)
|
||||
|
||||
/datum/species/unathi/equip_survival_gear(var/mob/living/carbon/human/H)
|
||||
/datum/species/bug/equip_survival_gear(var/mob/living/carbon/human/H)
|
||||
..()
|
||||
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(H),slot_shoes)
|
||||
@@ -158,24 +158,7 @@
|
||||
T.visible_message("<span class='warning'>The water sizzles as it lands on \the [T]!</span>")
|
||||
|
||||
else if(volume >= 10)
|
||||
if(T.wet >= 1)
|
||||
return
|
||||
T.wet = 1
|
||||
if(T.wet_overlay)
|
||||
T.overlays -= T.wet_overlay
|
||||
T.wet_overlay = null
|
||||
T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor")
|
||||
T.overlays += T.wet_overlay
|
||||
|
||||
spawn(800) // This is terrible and needs to be changed when possible.
|
||||
if(!T || !istype(T))
|
||||
return
|
||||
if(T.wet >= 2)
|
||||
return
|
||||
T.wet = 0
|
||||
if(T.wet_overlay)
|
||||
T.overlays -= T.wet_overlay
|
||||
T.wet_overlay = null
|
||||
T.wet_floor(1)
|
||||
|
||||
/datum/reagent/water/touch_obj(var/obj/O)
|
||||
if(istype(O, /obj/item/weapon/reagent_containers/food/snacks/monkeycube))
|
||||
|
||||
@@ -165,24 +165,7 @@
|
||||
qdel(hotspot)
|
||||
|
||||
if(volume >= 3)
|
||||
if(T.wet >= 1)
|
||||
return
|
||||
T.wet = 1
|
||||
if(T.wet_overlay)
|
||||
T.overlays -= T.wet_overlay
|
||||
T.wet_overlay = null
|
||||
T.wet_overlay = image('icons/effects/water.dmi',T,"wet_floor")
|
||||
T.overlays += T.wet_overlay
|
||||
|
||||
spawn(800) // This is terrible and needs to be changed when possible.
|
||||
if(!T || !istype(T))
|
||||
return
|
||||
if(T.wet >= 2)
|
||||
return
|
||||
T.wet = 0
|
||||
if(T.wet_overlay)
|
||||
T.overlays -= T.wet_overlay
|
||||
T.wet_overlay = null
|
||||
T.wet_floor()
|
||||
|
||||
/datum/reagent/nutriment/virus_food
|
||||
name = "Virus Food"
|
||||
@@ -1996,7 +1979,7 @@
|
||||
glass_desc = "A mug of a rich strong roast, you think it could be a lot better if someone added something extra to it."
|
||||
|
||||
/datum/reagent/drink/white_coffee
|
||||
name = "Café Au Lait"
|
||||
name = "Café Au Lait"
|
||||
id = "white_coffee"
|
||||
description = "A fancy name for something thats just coffee and milk."
|
||||
color = "#482000"
|
||||
@@ -2007,7 +1990,7 @@
|
||||
overdose = 40
|
||||
|
||||
glass_icon_state = "whitecoffee"
|
||||
glass_name = "A mug of Café Au Lait"
|
||||
glass_name = "A mug of Café Au Lait"
|
||||
glass_desc = "A fancy name for something thats just coffee and milk."
|
||||
|
||||
/datum/reagent/drink/white_coffee/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
@@ -2015,7 +1998,7 @@
|
||||
M.heal_organ_damage(0.5 * removed, 0)
|
||||
|
||||
/datum/reagent/drink/cafe_melange
|
||||
name = "Café Mélange"
|
||||
name = "Café Mélange"
|
||||
id = "cafe_melange"
|
||||
description = "A delicious mug of creamy coffee."
|
||||
color = "#482000"
|
||||
@@ -2026,9 +2009,9 @@
|
||||
overdose = 40
|
||||
|
||||
glass_icon_state = "whitecoffee"
|
||||
glass_name = "A mug of Café Mélange"
|
||||
glass_name = "A mug of Café Mélange"
|
||||
glass_desc = "A delicious mug of creamy coffee, keeps you cool headed in the most heated of situations."
|
||||
|
||||
/datum/reagent/drink/cafe_melange/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
|
||||
..()
|
||||
M.reagents.add_reagent("kelotane", removed * 0.2)
|
||||
M.reagents.add_reagent("kelotane", removed * 0.2)
|
||||
|
||||
@@ -329,17 +329,8 @@
|
||||
if(!istype(T))
|
||||
return
|
||||
if(volume >= 1)
|
||||
if(T.wet >= 2)
|
||||
return
|
||||
T.wet = 2
|
||||
spawn(800)
|
||||
if(!T || !istype(T))
|
||||
return
|
||||
T.wet = 0
|
||||
if(T.wet_overlay)
|
||||
T.overlays -= T.wet_overlay
|
||||
T.wet_overlay = null
|
||||
|
||||
T.wet_floor(2)
|
||||
|
||||
/datum/reagent/silicate
|
||||
name = "Silicate"
|
||||
id = "silicate"
|
||||
|
||||
Reference in New Issue
Block a user