mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-15 18:06:57 +01:00
Merge pull request #106 from GDLW24/random_junk
calorite doors, blueberry gum, respawn limits got nuked
This commit is contained in:
@@ -93,3 +93,20 @@
|
||||
/datum/reagent/consumable/caloriteblessing/on_mob_end_metabolize(mob/living/L)
|
||||
REMOVE_TRAIT(L, TRAIT_GOTTAGOFAST, type)
|
||||
..()
|
||||
|
||||
|
||||
//BLUEBERRY CHEM - ONLY CHANGES PLAYER'S COLOR AND NOTHING MORE
|
||||
|
||||
/datum/reagent/blueberry_juice
|
||||
name = "Blueberry Juice"
|
||||
description = "Non-infectious. Hopefully."
|
||||
reagent_state = LIQUID
|
||||
color = "#0004ff"
|
||||
var/list/random_color_list = list("#0058db","#5d00c7","#0004ff","#0057e7")
|
||||
taste_description = "blueberry pie"
|
||||
var/no_mob_color = FALSE
|
||||
|
||||
/datum/reagent/blueberry_juice/on_mob_life(mob/living/carbon/M)
|
||||
if(!no_mob_color)
|
||||
M.add_atom_colour(pick(random_color_list), WASHABLE_COLOUR_PRIORITY)
|
||||
..()
|
||||
|
||||
@@ -42,10 +42,11 @@
|
||||
/obj/item/reagent_containers/food/snacks/salad = 20,
|
||||
/obj/item/reagent_containers/food/snacks/salad/hellcobb = 10,
|
||||
/obj/item/clothing/under/cowkini = 5,
|
||||
/obj/item/reagent_containers/food/snacks/blueberry_gum = 5
|
||||
)
|
||||
premium = list(
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans/air = 1,
|
||||
/obj/item/reagent_containers/food/snacks/donut/chaos = 2
|
||||
/obj/item/reagent_containers/food/drinks/soda_cans/air = 3,
|
||||
/obj/item/reagent_containers/food/snacks/donut/chaos = 3
|
||||
)
|
||||
|
||||
refill_canister = /obj/item/vending_refill/mealdor
|
||||
|
||||
@@ -1,13 +1,60 @@
|
||||
/////GS13 - miscellanous items
|
||||
/////GS13 - miscellanous items. If it's a small item, a container or something
|
||||
/////then it should land here, instead of making a seperate .dm file
|
||||
|
||||
//fatoray research scraps (maintloot)
|
||||
|
||||
/obj/item/trash/fatoray_scrap1
|
||||
name = "raygun scraps"
|
||||
icon = 'GainStation13/icons/obj/fatoray_scrap.dmi'
|
||||
icon = 'GainStation13/icons/obj/fatoray.dmi'
|
||||
icon_state = "fatoray_scrap1"
|
||||
desc = "Small parts that seemingly once belonged to some sort of a raygun."
|
||||
|
||||
/obj/item/trash/fatoray_scrap2
|
||||
name = "raygun scraps"
|
||||
icon = 'GainStation13/icons/obj/fatoray_scrap.dmi'
|
||||
icon = 'GainStation13/icons/obj/fatoray.dmi'
|
||||
icon_state = "fatoray_scrap2"
|
||||
desc = "Small parts that seemingly once belonged to some sort of a raygun."
|
||||
|
||||
// GS13 fatty liquid beakers defs, for admin stuff and mapping junk
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/lipoifier
|
||||
list_reagents = list(/datum/reagent/consumable/lipoifier = 50)
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/cornoil
|
||||
list_reagents = list(/datum/reagent/consumable/cornoil = 50)
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/cornoil
|
||||
list_reagents = list(/datum/reagent/blueberry_juice = 50)
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/cornoil
|
||||
list_reagents = list(/datum/chemical_reaction/fizulphite = 50)
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/cornoil
|
||||
list_reagents = list(/datum/chemical_reaction/extilphite = 50)
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/cornoil
|
||||
list_reagents = list(/datum/reagent/consumable/caloriteblessing = 50)
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/cornoil
|
||||
list_reagents = list(/datum/reagent/consumable/flatulose = 50)
|
||||
|
||||
//blueberry gum snack
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/blueberry_gum
|
||||
name = "blueberry gum"
|
||||
icon = 'GainStation13/icons/obj/gum.dmi'
|
||||
icon_state = "gum_wrapped"
|
||||
desc = "Doesn't cause anything more than some discoloration... probably."
|
||||
trash = /obj/item/trash/blueberry_gum
|
||||
list_reagents = list(/datum/reagent/blueberry_juice = 0.5)
|
||||
filling_color = "#001aff"
|
||||
tastes = list("blueberry gum" = 1)
|
||||
foodtype = FRUIT
|
||||
price = 5
|
||||
|
||||
//blueberry gum trash
|
||||
|
||||
/obj/item/trash/blueberry_gum
|
||||
name = "chewed gum"
|
||||
icon = 'GainStation13/icons/obj/gum.dmi'
|
||||
icon_state = "gum_chewed"
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
|
||||
|
||||
/obj/structure/mineral_door/calorite //GS13
|
||||
name = "calorite door"
|
||||
icon = 'GainStation13/icons/obj/structure/calorite_door.dmi'
|
||||
icon_state = "calorite"
|
||||
sheetType = /obj/item/stack/sheet/mineral/calorite
|
||||
max_integrity = 200
|
||||
light_range = 1
|
||||
var/fatten = FALSE // whether player will be fattened
|
||||
var/fatten_delay = 1 // ticks per periodic loop
|
||||
var/fat_to_add = 2 // fatness per tick stunned
|
||||
var/stuck = FALSE // whether player is stuck
|
||||
var/stuck_delay = 0 // set in proc/Fatten
|
||||
var/blocked = FALSE // whether door is blocked
|
||||
|
||||
// override /obj/structure/mineral_door/proc/Open()
|
||||
/obj/structure/mineral_door/calorite/Open() //GS13
|
||||
isSwitchingStates = 1
|
||||
playsound(src, openSound, 100, 1)
|
||||
set_opacity(FALSE)
|
||||
flick("[initial_state]opening",src)
|
||||
sleep(10)
|
||||
density = FALSE
|
||||
state = 1
|
||||
air_update_turf(1)
|
||||
update_icon()
|
||||
isSwitchingStates = 0
|
||||
|
||||
if(close_delay != -1)
|
||||
addtimer(CALLBACK(src, .proc/Close), close_delay)
|
||||
|
||||
// start periodic loop
|
||||
stuck = FALSE
|
||||
addtimer(CALLBACK(src, .proc/Fatten), fatten_delay)
|
||||
|
||||
/obj/structure/mineral_door/calorite/proc/Fatten() //GS13
|
||||
if(state == 1) // door must be open
|
||||
// check periodically
|
||||
addtimer(CALLBACK(src, .proc/Fatten), fatten_delay)
|
||||
// check for mobs in open door
|
||||
var/turf/T = get_turf(src)
|
||||
blocked = FALSE
|
||||
for(var/mob/living/carbon/M in T)
|
||||
blocked = TRUE
|
||||
// determine if mob should get stuck and be fattened
|
||||
if(M.fatness >= FATNESS_LEVEL_BARELYMOBILE)
|
||||
fatten = TRUE
|
||||
if (!stuck)
|
||||
stuck_delay = 120
|
||||
M.visible_message(
|
||||
"<span class='boldnotice'>[M] gets stuck in the doorway!</span>",
|
||||
"<span class='boldwarning'>You feel yourself get stuck in the doorway!</span>")
|
||||
else if(M.fatness >= FATNESS_LEVEL_MORBIDLY_OBESE)
|
||||
fatten = TRUE
|
||||
if (!stuck)
|
||||
stuck_delay = 50
|
||||
M.visible_message(
|
||||
"<span class='boldnotice'>[M] barely squeezes through the doorway!</span>",
|
||||
"<span class='boldwarning'>You feel your sides barely squeeze through the doorway!</span>")
|
||||
else if(M.fatness >= FATNESS_LEVEL_FATTER)
|
||||
fatten = TRUE
|
||||
if (!stuck)
|
||||
stuck_delay = 15
|
||||
M.visible_message(
|
||||
"<span class='boldnotice'>[M]'s sides briefly smush against the doorway.</span>",
|
||||
"<span class='boldwarning'>You feel your sides smush against the doorway!.</span>")
|
||||
else if(M.fatness >= FATNESS_LEVEL_FAT)
|
||||
fatten = TRUE
|
||||
if (!stuck)
|
||||
stuck_delay = 5
|
||||
M.visible_message(
|
||||
"<span class='boldnotice'>[M]'s sides briefly brush against the doorway.</span>",
|
||||
"<span class='boldwarning'>You feel your sides briefly brush against the doorway!</span>")
|
||||
else
|
||||
fatten = FALSE
|
||||
stuck = FALSE
|
||||
stuck_delay = 0
|
||||
|
||||
if (fatten) // get stuck
|
||||
if (!stuck)
|
||||
M.Stun(stuck_delay/2) // give player time to escape
|
||||
stuck = TRUE
|
||||
if (stuck_delay > 0) // wait for stun to end
|
||||
stuck_delay = stuck_delay - fatten_delay
|
||||
if (stuck_delay <= 0)
|
||||
stuck_delay = 0
|
||||
// gain weight while stuck
|
||||
M.adjust_fatness(fat_to_add, FATTENING_TYPE_ITEM)
|
||||
|
||||
if (!blocked)
|
||||
stuck = FALSE // ready to go again
|
||||
@@ -31,7 +31,7 @@
|
||||
light_range = 2
|
||||
light_color = LIGHT_COLOR_ORANGE
|
||||
///How much fat is added to the target mob?
|
||||
var/fat_added = 50 //Around 12.5 pounds per hit.
|
||||
var/fat_added = 100
|
||||
|
||||
|
||||
////// Fatoray - cannon variant, strong but can be charged
|
||||
@@ -75,7 +75,7 @@
|
||||
desc = "An energy gun that fattens up anyone it hits. This version is considerably weaker than its original counterpart, the technology behind it seemingly still not perfected."
|
||||
icon = 'GainStation13/icons/obj/fatoray.dmi'
|
||||
icon_state = "fatoray_weak"
|
||||
pin = null
|
||||
pin = /obj/item/firing_pin
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/fattening/weak)
|
||||
|
||||
/obj/item/ammo_casing/energy/fattening/weak
|
||||
@@ -89,7 +89,7 @@
|
||||
icon = 'GainStation13/icons/obj/fatoray.dmi'
|
||||
icon_state = "ray"
|
||||
///How much fat is added to the target mob?
|
||||
fat_added = 20
|
||||
fat_added = 50
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
can_charge = 0
|
||||
recoil = 3
|
||||
slowdown = 1
|
||||
pin = null
|
||||
pin = /obj/item/firing_pin
|
||||
// charge_sections = 3
|
||||
weapon_weight = WEAPON_HEAVY
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/fattening/cannon_weak)
|
||||
@@ -110,7 +110,7 @@
|
||||
/obj/item/ammo_casing/energy/fattening/cannon_weak
|
||||
name = "one-shot fattening weapon lens"
|
||||
select_name = "fatten"
|
||||
e_cost = 300
|
||||
e_cost = 200
|
||||
projectile_type = /obj/item/projectile/energy/fattening/cannon_weak
|
||||
|
||||
/obj/item/projectile/energy/fattening/cannon_weak
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 613 B |
|
Before Width: | Height: | Size: 886 B After Width: | Height: | Size: 886 B |
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
@@ -290,13 +290,14 @@ GLOBAL_LIST_INIT(bananium_recipes, list ( \
|
||||
sheettype = "calorite"
|
||||
materials = list(MAT_CALORITE=MINERAL_MATERIAL_AMOUNT)
|
||||
novariants = TRUE
|
||||
grind_results = list(/datum/reagent/consumable/lipoifier = 5)
|
||||
grind_results = list(/datum/reagent/consumable/lipoifier = 3)
|
||||
point_value = 40
|
||||
merge_type = /obj/item/stack/sheet/mineral/calorite
|
||||
|
||||
GLOBAL_LIST_INIT(calorite_recipes, list ( \
|
||||
new/datum/stack_recipe("calorite tile", /obj/item/stack/tile/mineral/calorite, 1, 4, 20), \
|
||||
new/datum/stack_recipe("Fatty Statue", /obj/structure/statue/calorite/fatty, 5, one_per_turf = 1, on_floor = 1),
|
||||
new/datum/stack_recipe("Calorite tile", /obj/item/stack/tile/mineral/calorite, 1, 4, 20), \
|
||||
new/datum/stack_recipe("Fatty statue", /obj/structure/statue/calorite/fatty, 5, one_per_turf = 1, on_floor = 1),
|
||||
new/datum/stack_recipe("Calorite doors", /obj/structure/statue/calorite/fatty, 5, one_per_turf = 1, on_floor = 1),
|
||||
))
|
||||
|
||||
/obj/item/stack/sheet/mineral/calorite/Initialize(mapload, new_amount, merge = TRUE)
|
||||
|
||||
@@ -173,7 +173,7 @@
|
||||
initial_gas_mix = LAVALAND_DEFAULT_ATMOS
|
||||
defer_change = 1
|
||||
mineralSpawnChanceList = list(
|
||||
/turf/closed/mineral/uranium/volcanic = 35, /turf/closed/mineral/diamond/volcanic = 30, /turf/closed/mineral/gold/volcanic = 45, /turf/closed/mineral/titanium/volcanic = 45,
|
||||
/turf/closed/mineral/uranium/volcanic = 35, /turf/closed/mineral/diamond/volcanic = 30, /turf/closed/mineral/calorite = 30, /turf/closed/mineral/gold/volcanic = 45, /turf/closed/mineral/titanium/volcanic = 45,
|
||||
/turf/closed/mineral/silver/volcanic = 50, /turf/closed/mineral/plasma/volcanic = 50, /turf/closed/mineral/bscrystal/volcanic = 20)
|
||||
|
||||
|
||||
|
||||
@@ -275,7 +275,7 @@
|
||||
export_types = list(/obj/structure/statue/bananium/clown)
|
||||
|
||||
/datum/export/large/fattystatue //GS13
|
||||
cost = 2000
|
||||
cost = 1500
|
||||
unit_name = "Fatty statue"
|
||||
export_types = list(/obj/structure/statue/calorite/fatty)
|
||||
|
||||
|
||||
@@ -122,9 +122,11 @@
|
||||
LateChoices()
|
||||
return
|
||||
|
||||
if(client.prefs.real_name in client.pastcharacters) //if character has been spawned before
|
||||
to_chat(usr, "<span class='notice'>You have played that character before this round, please select a new one!</span>")
|
||||
return
|
||||
// if(client.prefs.real_name in client.pastcharacters) //if character has been spawned before
|
||||
// to_chat(usr, "<span class='notice'>You have played that character before this round, please select a new one!</span>")
|
||||
// return
|
||||
|
||||
//GS13 - commented it out to allow players to rejoin
|
||||
|
||||
if(SSticker.queued_players.len || (relevant_cap && living_player_count() >= relevant_cap && !(ckey(key) in GLOB.admin_datums)))
|
||||
to_chat(usr, "<span class='danger'>[CONFIG_GET(string/hard_popcap_message)]</span>")
|
||||
|
||||
@@ -451,10 +451,12 @@ mob/visible_message(message, self_message, blind_message, vision_distance = DEFA
|
||||
//if they didnt join as a observer, add their name to the past character list so they cannot play them again.
|
||||
|
||||
if(!usr.client.respawn_observing)
|
||||
var/responserespawn = alert(src,"If you respawn now, you cannot rejoin the game as your current character! Are you sure you want to respawn?","Warning","Yes","No")
|
||||
if(responserespawn != "Yes")
|
||||
return
|
||||
usr.client.pastcharacters += usr.real_name
|
||||
var/responserespawn = alert(src,"Are you sure you want to respawn?","Warning","Yes","No")
|
||||
// if(responserespawn != "Yes")
|
||||
// return
|
||||
// usr.client.pastcharacters += usr.real_name
|
||||
|
||||
//GS13 - commented out to allow players to rejoin with the same char
|
||||
|
||||
if(!client)
|
||||
log_game("[key_name(usr)] AM failed due to disconnect.")
|
||||
|
||||
@@ -254,12 +254,6 @@
|
||||
/obj/item/reagent_containers/glass/beaker/synthflesh
|
||||
list_reagents = list(/datum/reagent/medicine/synthflesh = 50)
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/lipoifier
|
||||
list_reagents = list(/datum/reagent/consumable/lipoifier = 50) //GS13
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/cornoil
|
||||
list_reagents = list(/datum/reagent/consumable/cornoil = 50) //GS13
|
||||
|
||||
/obj/item/reagent_containers/glass/bucket
|
||||
name = "bucket"
|
||||
desc = "It's a bucket."
|
||||
|
||||
+3
-1
@@ -23,8 +23,9 @@
|
||||
#define FILE_DIR "GainStation13/icons/obj"
|
||||
#define FILE_DIR "GainStation13/icons/obj/clothing"
|
||||
#define FILE_DIR "GainStation13/icons/obj/lavaland_demone"
|
||||
#define FILE_DIR "GainStation13/icons/obj/mobs"
|
||||
#define FILE_DIR "GainStation13/icons/obj/spells"
|
||||
#define FILE_DIR "GainStation13/icons/obj/sugarland"
|
||||
#define FILE_DIR "GainStation13/icons/obj/structure"
|
||||
#define FILE_DIR "GainStation13/icons/turf"
|
||||
#define FILE_DIR "GainStation13/sound"
|
||||
#define FILE_DIR "GainStation13/sound/voice"
|
||||
@@ -3343,6 +3344,7 @@
|
||||
#include "GainStation13\code\modules\vending\GBBurrito.dm"
|
||||
#include "GainStation13\code\modules\vending\mealdor.dm"
|
||||
#include "GainStation13\code\obj\items\minor_items.dm"
|
||||
#include "GainStation13\code\obj\structure\calorite_doors.dm"
|
||||
#include "GainStation13\code\obj\structure\scale.dm"
|
||||
#include "GainStation13\code\obj\weapons\fatoray.dm"
|
||||
#include "hyperstation\code\__DEFINES\economy.dm"
|
||||
|
||||
Reference in New Issue
Block a user