Merge pull request #7696 from ursamedium/manualmirror
Mirror of tg's new gas sprites
This commit is contained in:
@@ -62,7 +62,9 @@
|
||||
//GASES
|
||||
#define MIN_TOXIC_GAS_DAMAGE 1
|
||||
#define MAX_TOXIC_GAS_DAMAGE 10
|
||||
#define MOLES_GAS_VISIBLE 0.5 //Moles in a standard cell after which gases are visible
|
||||
#define MOLES_GAS_VISIBLE 0.25 //Moles in a standard cell after which gases are visible
|
||||
#define FACTOR_GAS_VISIBLE_MAX 20 //moles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility
|
||||
#define MOLES_GAS_VISIBLE_STEP 0.25 //Mole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on
|
||||
|
||||
//REACTIONS
|
||||
//return values for reactions (bitflags)
|
||||
@@ -246,6 +248,15 @@
|
||||
|
||||
#define ASSERT_GAS(gas_id, gas_mixture) if (!gas_mixture.gases[gas_id]) { ADD_GAS(gas_id, gas_mixture.gases) };
|
||||
|
||||
|
||||
//prefer this to gas_mixture/total_moles in performance critical areas
|
||||
#define TOTAL_MOLES(cached_gases, out_var)\
|
||||
out_var = 0;\
|
||||
for(var/total_moles_id in cached_gases){\
|
||||
out_var += cached_gases[total_moles_id][MOLES];\
|
||||
}
|
||||
|
||||
|
||||
GLOBAL_LIST_INIT(pipe_paint_colors, list(
|
||||
"amethyst" = rgb(130,43,255), //supplymain
|
||||
"blue" = rgb(0,0,255),
|
||||
|
||||
@@ -200,20 +200,20 @@
|
||||
/obj/effect/decal/cleanable/glitter
|
||||
name = "generic glitter pile"
|
||||
desc = "The herpes of arts and crafts."
|
||||
icon = 'icons/effects/tile_effects.dmi'
|
||||
icon = 'icons/effects/atmospherics.dmi'
|
||||
gender = NEUTER
|
||||
|
||||
/obj/effect/decal/cleanable/glitter/pink
|
||||
name = "pink glitter"
|
||||
icon_state = "plasma"
|
||||
icon_state = "plasma_old"
|
||||
|
||||
/obj/effect/decal/cleanable/glitter/white
|
||||
name = "white glitter"
|
||||
icon_state = "nitrous_oxide"
|
||||
icon_state = "nitrous_oxide_old"
|
||||
|
||||
/obj/effect/decal/cleanable/glitter/blue
|
||||
name = "blue glitter"
|
||||
icon_state = "freon"
|
||||
icon_state = "freon_old"
|
||||
|
||||
/obj/effect/decal/cleanable/plasma
|
||||
name = "stabilized plasma"
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
add_overlay(lightning_overlay)
|
||||
if(temperature > 4500000) //This is where noblium happens. Some fusion-y effects.
|
||||
var/fusion_amt = temperature < LERP(4500000,12000000,0.5) ? gauss_lerp(temperature, 4500000, 12000000) : 1
|
||||
var/mutable_appearance/fusion_overlay = mutable_appearance('icons/effects/tile_effects.dmi', "chem_gas")
|
||||
var/mutable_appearance/fusion_overlay = mutable_appearance('icons/effects/atmospherics.dmi', "fusion_gas")
|
||||
fusion_overlay.blend_mode = BLEND_ADD
|
||||
fusion_overlay.alpha = fusion_amt * 255
|
||||
var/mutable_appearance/rainbow_overlay = mutable_appearance('icons/mob/screen_gen.dmi', "druggy")
|
||||
|
||||
@@ -113,17 +113,18 @@
|
||||
|
||||
/turf/open/proc/tile_graphic()
|
||||
var/static/list/nonoverlaying_gases = typecache_of_gases_with_no_overlays()
|
||||
if(air)
|
||||
. = new /list
|
||||
var/list/gases = air.gases
|
||||
for(var/id in gases)
|
||||
if (nonoverlaying_gases[id])
|
||||
continue
|
||||
var/gas = gases[id]
|
||||
var/gas_meta = gas[GAS_META]
|
||||
var/gas_overlay = gas_meta[META_GAS_OVERLAY]
|
||||
if(gas_overlay && gas[MOLES] > gas_meta[META_GAS_MOLES_VISIBLE])
|
||||
. += gas_overlay
|
||||
if(!air)
|
||||
return
|
||||
. = new /list
|
||||
var/list/gases = air.gases
|
||||
for(var/id in gases)
|
||||
if (nonoverlaying_gases[id])
|
||||
continue
|
||||
var/gas = gases[id]
|
||||
var/gas_meta = gas[GAS_META]
|
||||
var/gas_overlay = gas_meta[META_GAS_OVERLAY]
|
||||
if(gas_overlay && gas[MOLES] > gas_meta[META_GAS_MOLES_VISIBLE])
|
||||
. += gas_overlay[min(FACTOR_GAS_VISIBLE_MAX, CEILING(gas[MOLES] / MOLES_GAS_VISIBLE_STEP, 1))]
|
||||
|
||||
/proc/typecache_of_gases_with_no_overlays()
|
||||
. = list()
|
||||
|
||||
@@ -86,13 +86,6 @@ GLOBAL_LIST_INIT(gaslist_cache, init_gaslist_cache())
|
||||
if(!.)
|
||||
. += HEAT_CAPACITY_VACUUM //we want vacuums in turfs to have the same heat capacity as space
|
||||
|
||||
//prefer this in performance critical areas
|
||||
#define TOTAL_MOLES(cached_gases, out_var)\
|
||||
out_var = 0;\
|
||||
for(var/total_moles_id in cached_gases){\
|
||||
out_var += cached_gases[total_moles_id][MOLES];\
|
||||
}
|
||||
|
||||
/datum/gas_mixture/proc/total_moles()
|
||||
var/cached_gases = gases
|
||||
TOTAL_MOLES(cached_gases, .)
|
||||
|
||||
@@ -11,7 +11,9 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
|
||||
gas_info[META_GAS_NAME] = initial(gas.name)
|
||||
gas_info[META_GAS_MOLES_VISIBLE] = initial(gas.moles_visible)
|
||||
if(initial(gas.moles_visible) != null)
|
||||
gas_info[META_GAS_OVERLAY] = new /obj/effect/overlay/gas(initial(gas.gas_overlay))
|
||||
gas_info[META_GAS_OVERLAY] = new /list(FACTOR_GAS_VISIBLE_MAX)
|
||||
for(var/i in 1 to FACTOR_GAS_VISIBLE_MAX)
|
||||
gas_info[META_GAS_OVERLAY][i] = new /obj/effect/overlay/gas(initial(gas.gas_overlay), i * 255 / FACTOR_GAS_VISIBLE_MAX)
|
||||
gas_info[META_GAS_FUSION_POWER] = initial(gas.fusion_power)
|
||||
gas_info[META_GAS_DANGER] = initial(gas.dangerous)
|
||||
gas_info[META_GAS_ID] = initial(gas.id)
|
||||
@@ -39,7 +41,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
|
||||
var/id = ""
|
||||
var/specific_heat = 0
|
||||
var/name = ""
|
||||
var/gas_overlay = "" //icon_state in icons/effects/tile_effects.dmi
|
||||
var/gas_overlay = "" //icon_state in icons/effects/atmospherics.dmi
|
||||
var/moles_visible = null
|
||||
var/dangerous = FALSE //currently used by canisters
|
||||
var/fusion_power = 0 //How much the gas accelerates a fusion reaction
|
||||
@@ -89,7 +91,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
|
||||
specific_heat = 40
|
||||
name = "Nitrous Oxide"
|
||||
gas_overlay = "nitrous_oxide"
|
||||
moles_visible = 1
|
||||
moles_visible = MOLES_GAS_VISIBLE * 2
|
||||
dangerous = TRUE
|
||||
|
||||
/datum/gas/nitryl
|
||||
@@ -137,12 +139,13 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
|
||||
moles_visible = MOLES_GAS_VISIBLE * 60
|
||||
|
||||
/obj/effect/overlay/gas
|
||||
icon = 'icons/effects/tile_effects.dmi'
|
||||
icon = 'icons/effects/atmospherics.dmi'
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
anchored = TRUE // should only appear in vis_contents, but to be safe
|
||||
layer = FLY_LAYER
|
||||
appearance_flags = TILE_BOUND
|
||||
|
||||
/obj/effect/overlay/gas/New(state)
|
||||
/obj/effect/overlay/gas/New(state, alph)
|
||||
. = ..()
|
||||
icon_state = state
|
||||
alpha = alph
|
||||
@@ -150,7 +150,7 @@ GLOBAL_LIST_INIT(hallucination_list, list(
|
||||
var/turf/center
|
||||
var/list/flood_images = list()
|
||||
var/list/turf/flood_turfs = list()
|
||||
var/image_icon = 'icons/effects/tile_effects.dmi'
|
||||
var/image_icon = 'icons/effects/atmospherics.dmi'
|
||||
var/image_state = "plasma"
|
||||
var/radius = 0
|
||||
var/next_expand = 0
|
||||
|
||||
+2
-130
@@ -7,133 +7,5 @@
|
||||
# NOTE: if the rank-name cannot be found in admin_ranks.txt, they will not be adminned! ~Carn #
|
||||
# NOTE: syntax was changed to allow hyphenation of ranknames, since spaces are stripped. #
|
||||
###############################################################################################
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
Optimumtact = Host
|
||||
NewSta = Game Master
|
||||
Expletives = Game Master
|
||||
kingofkosmos = Game Master
|
||||
MrStonedOne = Lazy Master
|
||||
microscopics = Game Master
|
||||
Gun Hog = Game Master
|
||||
KorPhaeron = Game Master
|
||||
razharas = Game Master
|
||||
Lordpidey = Game Master
|
||||
Niknakflak = Game Master
|
||||
rolan7 = Game Master
|
||||
quarxink = Game Master
|
||||
adrix89 = Game Master
|
||||
tle = Game Master
|
||||
xsi = Game Master
|
||||
scaredofshadows = Game Master
|
||||
neofite = Game Master
|
||||
trubblebass = Game Master
|
||||
mport2004 = Game Master
|
||||
deuryn = Game Master
|
||||
agouri = Game Master
|
||||
errorage = Game Master
|
||||
superxpdude = Game Master
|
||||
petethegoat = Game Master
|
||||
nodrak = Game Master
|
||||
carnwennan = Game Master
|
||||
ikarrus = Game Master
|
||||
cheridan = Game Master
|
||||
giacomand = Game Master
|
||||
rockdtben = Game Master
|
||||
sieve = Game Master
|
||||
aranclanos = Game Master
|
||||
intigracy = Game Master
|
||||
dumpdavidson = Game Master
|
||||
kazeespada = Game Master
|
||||
malkevin = Game Master
|
||||
incoming = Game Master
|
||||
demas = Game Master
|
||||
fleure = Game Master
|
||||
ricotez = Game Master
|
||||
misterperson = Game Master
|
||||
crimsonvision = Game Master
|
||||
iamgoofball = Game Master
|
||||
zelacks = Game Master
|
||||
androidsfv = Game Master
|
||||
miggles = Game Master
|
||||
jordie0608 = Game Master
|
||||
s0ldi3rkr4s0 = Game Master
|
||||
ergovisavi = Game Master
|
||||
vistapowa = Game Master
|
||||
miauw62 = Game Master
|
||||
rumia29 = Game Master
|
||||
bobylein = Game Master
|
||||
sirbayer = Game Master
|
||||
hornygranny = Game Master
|
||||
yota = Game Master
|
||||
firecage = Game Master
|
||||
donkieyo = Game Master
|
||||
argoneus = Game Master
|
||||
paprka = Game Master
|
||||
cookingboy3 = Game Master
|
||||
limeliz = Game Master
|
||||
steelpoint = Game Master
|
||||
phil235 = Game Master
|
||||
CorruptComputer = Game Master
|
||||
xxnoob = Game Master
|
||||
tkdrg = Game Master
|
||||
Cuboos = Game Master
|
||||
thunder12345 = Game Master
|
||||
wjohnston = Game Master
|
||||
mandurrh = Game Master
|
||||
thurgatar = Game Master
|
||||
xerux = Game Master
|
||||
dannno = Game Master
|
||||
lo6a4evskiy = Game Master
|
||||
vekter = Game Master
|
||||
Ahammer18 = Game Master
|
||||
ACCount12 = Game Master
|
||||
fayrik = Game Master
|
||||
shadowlight213 = Game Master
|
||||
drovidicorv = Game Master
|
||||
Dunc = Game Master
|
||||
MMMiracles = Game Master
|
||||
bear1ake = Game Master
|
||||
CoreOverload = Game Master
|
||||
Jalleo = Game Master
|
||||
ChangelingRain = Game Master
|
||||
FoxPMcCloud = Game Master
|
||||
Xhuis = Game Master
|
||||
Astralenigma = Game Master
|
||||
Tokiko1 = Game Master
|
||||
SuperSayu = Game Master
|
||||
Lzimann = Game Master
|
||||
As334 = Game Master
|
||||
neersighted = Game Master
|
||||
Swankcookie = Game Master
|
||||
Ressler = Game Master
|
||||
Folix = Game Master
|
||||
Bawhoppennn = Game Master
|
||||
Anturke = Host
|
||||
Lumipharon = Game Master
|
||||
bgobandit = Game Master
|
||||
coiax = Game Master
|
||||
RandomMarine = Game Master
|
||||
PKPenguin321 = Game Master
|
||||
TechnoAlchemist = Game Master
|
||||
Aloraydrel = Game Master
|
||||
Quiltyquilty = Game Master
|
||||
SnipeDragon = Game Master
|
||||
Fjeld = Game Master
|
||||
kevinz000 = Game Master
|
||||
Tacolizard = Game Master
|
||||
TrustyGun = Game Master
|
||||
Cyberboss = Game Master
|
||||
PJB3005 = Game Master
|
||||
Sweaterkittens = Game Master
|
||||
Feemjmeem = Game Master
|
||||
JStheguy = Game Master
|
||||
excessiveuseofcobby = Game Master
|
||||
Plizzard = Game Master
|
||||
octareenroon91 = Game Master
|
||||
Serpentarium = Game Master
|
||||
Averagejoe82 = Game Master
|
||||
The Dreamweaver = Game Master
|
||||
88Naoki = Game Master
|
||||
Naksuasdf = Game Master
|
||||
>>>>>>> 3653239... Merge pull request #37785 from 81Denton/circboard_spawners
|
||||
|
||||
yourckeygoeshere = Host
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.9 KiB |
Reference in New Issue
Block a user