From 6401e5999332bb5a412e34e9c5e59dd637bb46ad Mon Sep 17 00:00:00 2001 From: SquareScreamYT <134925668+SquareScreamYT@users.noreply.github.com> Date: Sun, 23 Jun 2024 20:14:37 +0800 Subject: [PATCH 01/38] toki pona 1 --- lang/tok.json | 548 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 548 insertions(+) create mode 100644 lang/tok.json diff --git a/lang/tok.json b/lang/tok.json new file mode 100644 index 00000000..3df9ae9b --- /dev/null +++ b/lang/tok.json @@ -0,0 +1,548 @@ +lang={ +"#lang.name": "toki pona", +"#lang.credit": "squarescreamyt", +"land": "ma", +"liquids": "telo", +"life": "soweli", +"powders": "ko", +"solids": "kiwen", +"energy": "wawa", +"weapons": "pakala", +"gases": "kon", +"food": "moku", +"machines": "ilo", +"special": "nasa", +"other": "namako", +"heat": "o_seli", +"cool": "o_lete", +"erase": "o_weka", +"drag": "o_tawa", +"pick": "o_kepeken", +"mix": "o_pilin", +"lookup": "o_sona", +"shock": "o_pana_e_wawa", +"paint": "o_kule", +"sand": "ko_lili_jelo", +"water": "telo_laso_sewi", +"salt_water": "telo_pi_ko_uta_walo", +"sugar_water": "telo_pi_ko_suwi", +"seltzer": "telo_kon", +"dirty_water": "telo_jaki", +"pool_water": "telo_pi_lupa_suli_telo", +"dirt": "ma", +"mud": "ko_ma", +"wet_sand": "ko_lili_jelo_pi_telo_mute", +"rock": "kiwen_lili", +"rock_wall": "kiwen_wawa", +"mudstone": "kiwen_ko_ma", +"packed_sand": "kiwen_pi_ko_lili_jelo", +"plant": "kasi", +"dead_plant": "kasi_moli", +"frozen_plant": "kasi_lete", +"grass": "kasi_lili", +"algae": "kasi_telo", +"concrete": "kiwen_wawa", +"wall": "kiwen", +"fire": "seli", +"bomb": "ilo_pakala", +"steam": "kon_seli_pi_telo_laso_sewi", +"ice": "kiwen_lete_pi_telo_laso_sewi", +"rime": "kiwen_lete_lili_pi_telo_laso_sewi", +"snow": "ko_lete_walo_pi_telo_laso_sewi", +"slush": "ko_lete_pi_telo_laso_sewi", +"packed_snow": "kiwen_lete_pi_ko_lili_walo", +"wood": "kiwen_kasi", +"smoke": "kon_jaki_pimeja", +"magma": "telo_seli_kiwen", +"plasma": "seli_pi_seli_mute", +"cold_fire": "seli_lete", +"glass": "kiwen_lukin", +"molten_glass": "telo_seli_pi_kiwen_lukin", +"molten_rad_glass": "telo_seli_pi_kiwen_lukin_jaki", +"rad_glass": "kiwen_lukin_jaki", +"meat": "moku_soweli", +"rotten_meat": "moku_soweli_jaki", +"cooked_meat": "moku_soweli_seli", +"frozen_meat": "moku_soweli_lete", +"salt": "ko_walo_uta", +"molten_salt": "telo_seli_pi_ko_walo_uta", +"sugar": "ko_suwi", +"flour": "pan_ko_lili", +"wire": "linja_pi_tawa_wawa", +"battery": "ilo_pi_pana_wawa", +"cloner": "ilo_pi_pali_sama", +"sensor": "ilo_pilin", +"heater": "ilo_seli", +"cooler": "ilo_lete", +"random": "ale", +"image": "ilo_sitelen", +"unpaint": "o_weka_e_kule", +"uncharge": "o_weka_e_wawa", +"unburn": "o_weka_e_seli", +"smash": "o_pakala", +"filler": "ijo_pi_pini_ala", +"lattice": "ijo_pini_ala_pi_linja_mute", +"gravel": "kiwen_lili_mute", +"slime": "ko_jaki_pi_laso_kasi", +"cement": "ko_pi_pali_tomo", +"dust": "ko_jaki_pi_pimeja_walo", +"void": "ijo_pimeja_pi_weka_ale", +"sun": "suno_tan", +"cell": "tomo_lili", +"cancer": "tomo_lili_ike", +"dna": "linja_sona_pi_tomo_lili", +"plague": "kon_ike", +"worm": "pipi_linja", +"frozen_worm": "pipi_linja_lete", +"flea": "pipi_lili", +"termite": "pipi_lili_jelo_loje", +"ant": "pipi_lili_pimeja_loje", +"fly": "pipi_lili_pi_tawa_kon", +"firefly": "pipi_lili_pi_pana_suno", +"hive": "tomo_pi_pipi_jelo", +"bee": "pipi_jelo", +"stink_bug": "pipi_jaki", +"dead_bug": "pipi_moli", +"human": "jan", +"body": "sijelo", +"head": "lawa", +"bird": "waso", +"rat": "soweli_lili_pi_pimeja_walo", +"frog": "akesi_telo_pi_laso_kasi", +"frozen_frog": "kiwen_akesi_telo_pi_laso_kasi", +"tadpole": "kala_lili_pi_akesi_telo", +"fish": "kala", +"frozen_fish": "kala_lete", +"slug": "pipi_ko_jaki", +"snail": "pipi_tomo", +"burner": "ilo_pana_seli", +"superheater": "ilo_seli_mute", +"freezer": "ilo_lete_mute", +"pipe": "linja_tawa", +"pipe_wall": "kiwen_pi_linja_tawa", +"mixer": "ilo_pilin_ale", +"grinder": "ilo_pakala_ko", +"ewall": "kiwen_tawa_wawa", +"torch": "palisa_pi_pana_seli", +"spout": "ilo_pi_pana_telo", +"udder": "ilo_pi_pana_telo_walo", +"bone_marrow": "kiwen_sijelo_loje", +"bone": "kiwen_sijelo", +"balloon": "sike_kule_pi_tawa_kon", +"antipowder": "ko_pi_tawa_ante", +"antimolten": "telo_seli_pi_tawa_ante", +"antifire": "seli_pi_tawa_ante", +"antifluid": "telo_pi_tawa_ante", +"antigas": "kon_pi_tawa_ante", +"vertical": "ilo_pi_tawa_sewi", +"horizontal": "ilo_pi_tawa_poka", +"ash": "ko_seli_pi_pimeja_walo", +"molten_ash": "telo_seli_pi_ko_pimeja_walo", +"light": "suno", +"liquid_light": "telo_suno", +"laser": "suno_loje", +"ball": "sike_pi_loje_walo", +"pointer": "ilo_loje_pi_pali_e_nasin", +"charcoal": "kiwen_pimeja_pi_kiwen_kasi", +"tinder": "kiwen_kasi_lili", +"sawdust": "ko_pi_kiwen_kasi", +"hail": "kiwen_lili_lete_pi_pakala_lili", +"hydrogen": "kon_suno", +"oxygen": "kon_kon", +"nitrogen": "kon_kasi", +"helium": "kon_pi_sike_tawa_kon", +"anesthesia": "kon_lape", +"ammonia": "kon_pi_pali_kasi", +"liquid_ammonia": "telo_lete_pi_kon_pali_kasi", +"carbon_dioxide": "kon_soweli", +"oil": "telo_pimeja_jaki", +"lamp_oil": "telo_walo_jaki", +"propane": "kon_suli_pi_pali_seli", +"methane": "kon_pi_pali_seli", +"liquid_methane": "telo_lete_pi_kon_pali_seli", +"stained_glass": "kiwen_lukin_kule", +"molten_stained_glass": "telo_seli_pi_kiwen_lukin_kule", +"art": "kule", +"rainbow": "kiwen_kule", +"static": "kiwen_pi_ante_pimeja_walo", +"border": "kiwen_poka", +"clay": "ko_jelo", +"clay_soil": "ko_jelo_ma", +"brick": "palisa_suli_pi_pali_tomo", +"ruins": "kiwen_pakala_pi_pali_tomo", +"porcelain": "kiwen_pi_poki_telo", +"sapling": "kasi_suli_lili", +"pinecone": "kili_pi_kasi_tenpo_Kulisuma", +"evergreen": "kasi_tenpo_Kulisuma", +"cactus": "kasi_utala", +"kelp": "kasi_linja_telo", +"seeds": "kili_lili", +"grass_seed": "kili_lili_pi_kasi_lili", +"wheat_seed": "kili_lili_pi_kasi_pan", +"straw": "kasi_palisa_moli", +"paper": "lipu", +"pollen": "ko_kasi", +"flower_seed": "kili_lili_pi_kasi_kule", +"pistil": "linja_kasi_pi_pali_kili", +"petal": "kasi_kule_pi_kasi_lili", +"tree_branch": "kiwen_kasi_linja", +"vine": "kasi_linja", +"bamboo_plant": "kasi_palisa", +"foam": "ko_walo_pi_pilin_lili", +"bubble": "sike_walo_pi_pilin_walo", +"acid": "telo_pakala_pi_laso_kasi", +"neutral_acid": "telo_pakala_lili", +"acid_gas": "kon_laso_kasi_pi_telo_pakala", +"glue": "ko_walo", +"soda": "telo_kon_suwi_pi_pimeja_loje", +"gray_goo": "ko_nasa_pi_pimeja_walo", +"malware": "ko_ike_pi_loje_laso", +"ecloner": "ilo_wile_wawa_pi_pali_sama", +"slow_cloner": "ilo_wile_lape_pi_pali_sama", +"clone_powder": "ko_pi_pali_sama", +"floating_cloner": "kon_pi_pali_sama", +"virus": "ko_ike_moli", +"ice_nine": "kiwen_lete_9", +"strange_matter": "ko_nasa_pi_laso_kasi", +"permafrost": "ko_ma_lete", +"melted_butter": "telo_seli_pi_ko_moku_jelo", +"melted_cheese": "telo_seli_pi_kiwen_telo_walo", +"mushroom_spore": "kili_soko", +"mushroom_stalk": "palisa_soko", +"mushroom_gill": "linja_soko", +"mushroom_cap": "lawa_soko", +"hyphae": "linja_soko_ma", +"mycelium": "ma_soko", +"mulch": "ko_kasi", +"ant_wall": "kiwen_pi_pipi_lili", +"lichen": "kasi_kiwen", +"antimatter": "ijo_ante", +"plastic": "kiwen_lukin_pi_poki_telo", +"molten_plastic": "telo_seli_pi_kiwen_poki_telo", +"cloth": "len", +"cellulose": "ko_lipu", +"wax": "ko_pi_palisa_suno", +"melted_wax": "telo_seli_pi_ko_palisa_suno", +"incense": "palisa_pi_kon_pona", +"fuse": "linja_seli_pi_tawa_wawa", +"dioxin": "kon_ike_pi_kiwen_poki_telo", +"insulation": "kiwen_seli_ala", +"sponge": "kiwen_pi_weka_telo", +"bamboo": "palisa_kasi", +"iron": "kiwen_walo_pi_esun_suli", +"copper": "kiwen_loje_pi_tawa_wawa", +"gold": "kiwen_mani", +"steel": "kiwen_walo_pimeja_pi_esun_suli", +"nickel": "kiwen_mani_walo_pimeja", +"zinc": "kiwen_walo_pi_pali_sin", +"silver": "kiwen_mani_pi_pimeja_walo", +"tin": "kiwen_walo_pimeja_pi_poki_moku", +"lead": "kiwen_pimeja", +"aluminum": "kiwen_pimeja_walo_pi_poki_telo", +"tungsten": "kiwen_walo_wawa", +"molten_tungsten": "telo_seli_pi_kiwen_walo_wawa", +"brass": "kiwen_loje_jelo", +"bronze": "kiwen_pimeja_jelo", +"sterling": "kiwen_mani_pi_ma_Juke", +"gallium": "kiwen_pi_kama_telo_lon_seli_lili", +"molten_gallium": "telo_seli_pi_kiwen_walo_pimeja", +"gallium_gas": "kon_seli_pi_kiwen_walo_pimeja", +"rose_gold": "kiwen_mani_pi_loje_walo", +"purple_gold": "kiwen_mani_pi_loje_laso", +"blue_gold": "kiwen_mani_pi_laso_sewi", +"electrum": "kiwen_mani_pi_laso_kasi", +"pyrite": "kiwen_pi_lukin_sama_mani", +"solder": "kiwen_wawa_pi_pali_wan", +"molten_copper": "", +"molten_gold": "", +"molten_silver": "", +"molten_iron": "", +"molten_nickel": "", +"molten_tin": "", +"molten_lead": "", +"molten_solder": "", +"juice": "", +"juice_ice": "", +"broth": "", +"milk": "", +"chocolate_milk": "", +"fruit_milk": "", +"pilk": "", +"eggnog": "", +"egg": "", +"yolk": "", +"hard_yolk": "", +"nut_milk": "", +"dough": "", +"batter": "", +"homunculus": "", +"butter": "", +"cheese": "", +"rotten_cheese": "", +"chocolate": "", +"grape": "", +"vinegar": "", +"herb": "", +"lettuce": "", +"pickle": "", +"tomato": "", +"sauce": "", +"pumpkin": "", +"pumpkin_seed": "", +"corn": "", +"popcorn": "", +"corn_seed": "", +"potato": "", +"baked_potato": "", +"mashed_potato": "", +"potato_seed": "", +"root": "", +"fiber": "", +"yeast": "", +"bread": "", +"toast": "", +"gingerbread": "", +"crumb": "", +"baked_batter": "", +"wheat": "", +"candy": "", +"coffee_bean": "", +"coffee_ground": "", +"nut": "", +"nut_meat": "", +"nut_butter": "", +"jelly": "", +"baking_soda": "", +"yogurt": "", +"frozen_yogurt": "", +"ice_cream": "", +"cream": "", +"beans": "", +"dry_ice": "", +"nitrogen_ice": "", +"particleboard": "", +"skin": "", +"hair": "", +"alcohol": "", +"alcohol_gas": "", +"basalt": "", +"tuff": "", +"molten_tuff": "", +"soap": "", +"bleach": "", +"chlorine": "", +"liquid_chlorine": "", +"dye": "", +"ink": "", +"mercury": "", +"mercury_gas": "", +"solid_mercury": "", +"blood": "", +"vaccine": "", +"antibody": "", +"infection": "", +"poison": "", +"poison_gas": "", +"poison_ice": "", +"antidote": "", +"tea": "", +"coffee": "", +"honey": "", +"sap": "", +"amber": "", +"caramel": "", +"molasses": "", +"ketchup": "", +"mayo": "", +"melted_chocolate": "", +"liquid_hydrogen": "", +"liquid_oxygen": "", +"liquid_nitrogen": "", +"liquid_helium": "", +"sodium": "", +"molten_sodium": "", +"sodium_gas": "", +"calcium": "", +"molten_calcium": "", +"limestone": "", +"quicklime": "", +"slaked_lime": "", +"thermite": "", +"molten_thermite": "", +"slag": "", +"amalgam": "", +"molten_aluminum": "", +"molten_zinc": "", +"neon": "", +"liquid_neon": "", +"smog": "", +"stench": "", +"liquid_stench": "", +"fragrance": "", +"perfume": "", +"cyanide": "", +"cyanide_gas": "", +"ozone": "", +"cloud": "", +"rain_cloud": "", +"snow_cloud": "", +"hail_cloud": "", +"thunder_cloud": "", +"acid_cloud": "", +"pyrocumulus": "", +"fire_cloud": "", +"color_smoke": "", +"spray_paint": "", +"led_r": "", +"led_g": "", +"led_b": "", +"sulfur": "", +"molten_sulfur": "", +"sulfur_gas": "", +"copper_sulfate": "", +"snake": "", +"loopy": "", +"warp": "", +"radiation": "", +"rad_steam": "", +"rad_cloud": "", +"fallout": "", +"neutron": "", +"proton": "", +"electric": "", +"uranium": "", +"molten_uranium": "", +"diamond": "", +"gold_coin": "", +"rust": "", +"oxidized_copper": "", +"alga": "", +"metal_scrap": "", +"glass_shard": "", +"rad_shard": "", +"brick_rubble": "", +"baked_clay": "", +"clay_shard": "", +"porcelain_shard": "", +"feather": "", +"confetti": "", +"glitter": "", +"bead": "", +"color_sand": "", +"borax": "", +"epsom_salt": "", +"potassium_salt": "", +"sodium_acetate": "", +"lightning": "", +"bless": "", +"god_ray": "", +"heat_ray": "", +"freeze_ray": "", +"pop": "", +"explosion": "", +"n_explosion": "", +"supernova": "", +"cook": "", +"incinerate": "", +"room_temp": "", +"positron": "", +"tnt": "", +"c4": "", +"grenade": "", +"dynamite": "", +"gunpowder": "", +"ember": "", +"firework": "", +"fw_ember": "", +"nuke": "", +"h_bomb": "", +"dirty_bomb": "", +"emp_bomb": "", +"nitro": "", +"greek_fire": "", +"fireball": "", +"rocket": "", +"cold_bomb": "", +"hot_bomb": "", +"antimatter_bomb": "", +"party_popper": "", +"flashbang": "", +"flash": "", +"smoke_grenade": "", +"landmine": "", +"armageddon": "", +"tesla_coil": "", +"light_bulb": "", +"shocker": "", +"pressure_plate": "", +"primordial_soup": "", +"molten_slag": "", +"molten_dirt": "", +"debug": "", +"prop": "", +"salt_ice": "", +"sugar_ice": "", +"seltzer_ice": "", +"dirty_ice": "", +"pool_ice": "", +"blood_ice": "", +"antibody_ice": "", +"infection_ice": "", +"unknown": "", +"slime_ice": "", +"antiice": "", +"ammonia_ice": "", +"liquid_propane": "", +"methane_ice": "", +"molten_brick": "", +"acid_ice": "", +"soda_ice": "", +"molten_steel": "", +"molten_brass": "", +"molten_bronze": "", +"molten_sterling": "", +"molten_rose_gold": "", +"molten_purple_gold": "", +"molten_blue_gold": "", +"molten_electrum": "", +"molten_pyrite": "", +"broth_ice": "", +"frozen_vinegar": "", +"sauce_ice": "", +"alcohol_ice": "", +"bleach_ice": "", +"chlorine_ice": "", +"frozen_ink": "", +"tea_ice": "", +"coffee_ice": "", +"hydrogen_ice": "", +"oxygen_ice": "", +"molten_amalgam": "", +"neon_ice": "", +"cyanide_ice": "", +"molten_copper_sulfate": "", +"molten_alga": "", +"molten_metal_scrap": "", +"molten_borax": "", +"molten_epsom_salt": "", +"molten_potassium_salt": "", +"molten_sodium_acetate": "", +"frozen_nitro": "", +"cured_meat": "", +"nut_oil": "", +"grease": "", +"fat": "", +"potassium": "", +"molten_potassium": "", +"magnesium": "", +"molten_magnesium": "", +"sandstorm": "", +"caustic_potash": "", +"antibomb": "", +"tornado": "", +"earthquake": "", +"tsunami": "", +"blaster": "", +"propane_ice": "", +"molten_caustic_potash": "" +} From 57bb91c07aa321481d7d1f31290860c5f9a56aaa Mon Sep 17 00:00:00 2001 From: SquareScreamYT <134925668+SquareScreamYT@users.noreply.github.com> Date: Mon, 24 Jun 2024 09:31:57 +0800 Subject: [PATCH 02/38] i forgor --- lang/tok.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/tok.json b/lang/tok.json index 3df9ae9b..cddcc833 100644 --- a/lang/tok.json +++ b/lang/tok.json @@ -1,4 +1,4 @@ -lang={ +{ "#lang.name": "toki pona", "#lang.credit": "squarescreamyt", "land": "ma", From 71d2a409439ab2932123fe873152b501ca4279b5 Mon Sep 17 00:00:00 2001 From: SquareScreamYT <134925668+SquareScreamYT@users.noreply.github.com> Date: Mon, 24 Jun 2024 09:32:27 +0800 Subject: [PATCH 03/38] hyphae --- lang/tok.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/tok.json b/lang/tok.json index cddcc833..4bb0e59b 100644 --- a/lang/tok.json +++ b/lang/tok.json @@ -211,7 +211,7 @@ "mushroom_stalk": "palisa_soko", "mushroom_gill": "linja_soko", "mushroom_cap": "lawa_soko", -"hyphae": "linja_soko_ma", +"hyphae": "linja_ma_soko", "mycelium": "ma_soko", "mulch": "ko_kasi", "ant_wall": "kiwen_pi_pipi_lili", From 346866949e1171585d9ead434b697957b546102b Mon Sep 17 00:00:00 2001 From: SquareScreamYT <134925668+SquareScreamYT@users.noreply.github.com> Date: Tue, 25 Jun 2024 20:29:06 +0800 Subject: [PATCH 04/38] update --- lang/tok.json | 1094 ++++++++++++++++++++++++------------------------- 1 file changed, 547 insertions(+), 547 deletions(-) diff --git a/lang/tok.json b/lang/tok.json index 4bb0e59b..7a1beaba 100644 --- a/lang/tok.json +++ b/lang/tok.json @@ -1,548 +1,548 @@ { -"#lang.name": "toki pona", -"#lang.credit": "squarescreamyt", -"land": "ma", -"liquids": "telo", -"life": "soweli", -"powders": "ko", -"solids": "kiwen", -"energy": "wawa", -"weapons": "pakala", -"gases": "kon", -"food": "moku", -"machines": "ilo", -"special": "nasa", -"other": "namako", -"heat": "o_seli", -"cool": "o_lete", -"erase": "o_weka", -"drag": "o_tawa", -"pick": "o_kepeken", -"mix": "o_pilin", -"lookup": "o_sona", -"shock": "o_pana_e_wawa", -"paint": "o_kule", -"sand": "ko_lili_jelo", -"water": "telo_laso_sewi", -"salt_water": "telo_pi_ko_uta_walo", -"sugar_water": "telo_pi_ko_suwi", -"seltzer": "telo_kon", -"dirty_water": "telo_jaki", -"pool_water": "telo_pi_lupa_suli_telo", -"dirt": "ma", -"mud": "ko_ma", -"wet_sand": "ko_lili_jelo_pi_telo_mute", -"rock": "kiwen_lili", -"rock_wall": "kiwen_wawa", -"mudstone": "kiwen_ko_ma", -"packed_sand": "kiwen_pi_ko_lili_jelo", -"plant": "kasi", -"dead_plant": "kasi_moli", -"frozen_plant": "kasi_lete", -"grass": "kasi_lili", -"algae": "kasi_telo", -"concrete": "kiwen_wawa", -"wall": "kiwen", -"fire": "seli", -"bomb": "ilo_pakala", -"steam": "kon_seli_pi_telo_laso_sewi", -"ice": "kiwen_lete_pi_telo_laso_sewi", -"rime": "kiwen_lete_lili_pi_telo_laso_sewi", -"snow": "ko_lete_walo_pi_telo_laso_sewi", -"slush": "ko_lete_pi_telo_laso_sewi", -"packed_snow": "kiwen_lete_pi_ko_lili_walo", -"wood": "kiwen_kasi", -"smoke": "kon_jaki_pimeja", -"magma": "telo_seli_kiwen", -"plasma": "seli_pi_seli_mute", -"cold_fire": "seli_lete", -"glass": "kiwen_lukin", -"molten_glass": "telo_seli_pi_kiwen_lukin", -"molten_rad_glass": "telo_seli_pi_kiwen_lukin_jaki", -"rad_glass": "kiwen_lukin_jaki", -"meat": "moku_soweli", -"rotten_meat": "moku_soweli_jaki", -"cooked_meat": "moku_soweli_seli", -"frozen_meat": "moku_soweli_lete", -"salt": "ko_walo_uta", -"molten_salt": "telo_seli_pi_ko_walo_uta", -"sugar": "ko_suwi", -"flour": "pan_ko_lili", -"wire": "linja_pi_tawa_wawa", -"battery": "ilo_pi_pana_wawa", -"cloner": "ilo_pi_pali_sama", -"sensor": "ilo_pilin", -"heater": "ilo_seli", -"cooler": "ilo_lete", -"random": "ale", -"image": "ilo_sitelen", -"unpaint": "o_weka_e_kule", -"uncharge": "o_weka_e_wawa", -"unburn": "o_weka_e_seli", -"smash": "o_pakala", -"filler": "ijo_pi_pini_ala", -"lattice": "ijo_pini_ala_pi_linja_mute", -"gravel": "kiwen_lili_mute", -"slime": "ko_jaki_pi_laso_kasi", -"cement": "ko_pi_pali_tomo", -"dust": "ko_jaki_pi_pimeja_walo", -"void": "ijo_pimeja_pi_weka_ale", -"sun": "suno_tan", -"cell": "tomo_lili", -"cancer": "tomo_lili_ike", -"dna": "linja_sona_pi_tomo_lili", -"plague": "kon_ike", -"worm": "pipi_linja", -"frozen_worm": "pipi_linja_lete", -"flea": "pipi_lili", -"termite": "pipi_lili_jelo_loje", -"ant": "pipi_lili_pimeja_loje", -"fly": "pipi_lili_pi_tawa_kon", -"firefly": "pipi_lili_pi_pana_suno", -"hive": "tomo_pi_pipi_jelo", -"bee": "pipi_jelo", -"stink_bug": "pipi_jaki", -"dead_bug": "pipi_moli", -"human": "jan", -"body": "sijelo", -"head": "lawa", -"bird": "waso", -"rat": "soweli_lili_pi_pimeja_walo", -"frog": "akesi_telo_pi_laso_kasi", -"frozen_frog": "kiwen_akesi_telo_pi_laso_kasi", -"tadpole": "kala_lili_pi_akesi_telo", -"fish": "kala", -"frozen_fish": "kala_lete", -"slug": "pipi_ko_jaki", -"snail": "pipi_tomo", -"burner": "ilo_pana_seli", -"superheater": "ilo_seli_mute", -"freezer": "ilo_lete_mute", -"pipe": "linja_tawa", -"pipe_wall": "kiwen_pi_linja_tawa", -"mixer": "ilo_pilin_ale", -"grinder": "ilo_pakala_ko", -"ewall": "kiwen_tawa_wawa", -"torch": "palisa_pi_pana_seli", -"spout": "ilo_pi_pana_telo", -"udder": "ilo_pi_pana_telo_walo", -"bone_marrow": "kiwen_sijelo_loje", -"bone": "kiwen_sijelo", -"balloon": "sike_kule_pi_tawa_kon", -"antipowder": "ko_pi_tawa_ante", -"antimolten": "telo_seli_pi_tawa_ante", -"antifire": "seli_pi_tawa_ante", -"antifluid": "telo_pi_tawa_ante", -"antigas": "kon_pi_tawa_ante", -"vertical": "ilo_pi_tawa_sewi", -"horizontal": "ilo_pi_tawa_poka", -"ash": "ko_seli_pi_pimeja_walo", -"molten_ash": "telo_seli_pi_ko_pimeja_walo", -"light": "suno", -"liquid_light": "telo_suno", -"laser": "suno_loje", -"ball": "sike_pi_loje_walo", -"pointer": "ilo_loje_pi_pali_e_nasin", -"charcoal": "kiwen_pimeja_pi_kiwen_kasi", -"tinder": "kiwen_kasi_lili", -"sawdust": "ko_pi_kiwen_kasi", -"hail": "kiwen_lili_lete_pi_pakala_lili", -"hydrogen": "kon_suno", -"oxygen": "kon_kon", -"nitrogen": "kon_kasi", -"helium": "kon_pi_sike_tawa_kon", -"anesthesia": "kon_lape", -"ammonia": "kon_pi_pali_kasi", -"liquid_ammonia": "telo_lete_pi_kon_pali_kasi", -"carbon_dioxide": "kon_soweli", -"oil": "telo_pimeja_jaki", -"lamp_oil": "telo_walo_jaki", -"propane": "kon_suli_pi_pali_seli", -"methane": "kon_pi_pali_seli", -"liquid_methane": "telo_lete_pi_kon_pali_seli", -"stained_glass": "kiwen_lukin_kule", -"molten_stained_glass": "telo_seli_pi_kiwen_lukin_kule", -"art": "kule", -"rainbow": "kiwen_kule", -"static": "kiwen_pi_ante_pimeja_walo", -"border": "kiwen_poka", -"clay": "ko_jelo", -"clay_soil": "ko_jelo_ma", -"brick": "palisa_suli_pi_pali_tomo", -"ruins": "kiwen_pakala_pi_pali_tomo", -"porcelain": "kiwen_pi_poki_telo", -"sapling": "kasi_suli_lili", -"pinecone": "kili_pi_kasi_tenpo_Kulisuma", -"evergreen": "kasi_tenpo_Kulisuma", -"cactus": "kasi_utala", -"kelp": "kasi_linja_telo", -"seeds": "kili_lili", -"grass_seed": "kili_lili_pi_kasi_lili", -"wheat_seed": "kili_lili_pi_kasi_pan", -"straw": "kasi_palisa_moli", -"paper": "lipu", -"pollen": "ko_kasi", -"flower_seed": "kili_lili_pi_kasi_kule", -"pistil": "linja_kasi_pi_pali_kili", -"petal": "kasi_kule_pi_kasi_lili", -"tree_branch": "kiwen_kasi_linja", -"vine": "kasi_linja", -"bamboo_plant": "kasi_palisa", -"foam": "ko_walo_pi_pilin_lili", -"bubble": "sike_walo_pi_pilin_walo", -"acid": "telo_pakala_pi_laso_kasi", -"neutral_acid": "telo_pakala_lili", -"acid_gas": "kon_laso_kasi_pi_telo_pakala", -"glue": "ko_walo", -"soda": "telo_kon_suwi_pi_pimeja_loje", -"gray_goo": "ko_nasa_pi_pimeja_walo", -"malware": "ko_ike_pi_loje_laso", -"ecloner": "ilo_wile_wawa_pi_pali_sama", -"slow_cloner": "ilo_wile_lape_pi_pali_sama", -"clone_powder": "ko_pi_pali_sama", -"floating_cloner": "kon_pi_pali_sama", -"virus": "ko_ike_moli", -"ice_nine": "kiwen_lete_9", -"strange_matter": "ko_nasa_pi_laso_kasi", -"permafrost": "ko_ma_lete", -"melted_butter": "telo_seli_pi_ko_moku_jelo", -"melted_cheese": "telo_seli_pi_kiwen_telo_walo", -"mushroom_spore": "kili_soko", -"mushroom_stalk": "palisa_soko", -"mushroom_gill": "linja_soko", -"mushroom_cap": "lawa_soko", -"hyphae": "linja_ma_soko", -"mycelium": "ma_soko", -"mulch": "ko_kasi", -"ant_wall": "kiwen_pi_pipi_lili", -"lichen": "kasi_kiwen", -"antimatter": "ijo_ante", -"plastic": "kiwen_lukin_pi_poki_telo", -"molten_plastic": "telo_seli_pi_kiwen_poki_telo", -"cloth": "len", -"cellulose": "ko_lipu", -"wax": "ko_pi_palisa_suno", -"melted_wax": "telo_seli_pi_ko_palisa_suno", -"incense": "palisa_pi_kon_pona", -"fuse": "linja_seli_pi_tawa_wawa", -"dioxin": "kon_ike_pi_kiwen_poki_telo", -"insulation": "kiwen_seli_ala", -"sponge": "kiwen_pi_weka_telo", -"bamboo": "palisa_kasi", -"iron": "kiwen_walo_pi_esun_suli", -"copper": "kiwen_loje_pi_tawa_wawa", -"gold": "kiwen_mani", -"steel": "kiwen_walo_pimeja_pi_esun_suli", -"nickel": "kiwen_mani_walo_pimeja", -"zinc": "kiwen_walo_pi_pali_sin", -"silver": "kiwen_mani_pi_pimeja_walo", -"tin": "kiwen_walo_pimeja_pi_poki_moku", -"lead": "kiwen_pimeja", -"aluminum": "kiwen_pimeja_walo_pi_poki_telo", -"tungsten": "kiwen_walo_wawa", -"molten_tungsten": "telo_seli_pi_kiwen_walo_wawa", -"brass": "kiwen_loje_jelo", -"bronze": "kiwen_pimeja_jelo", -"sterling": "kiwen_mani_pi_ma_Juke", -"gallium": "kiwen_pi_kama_telo_lon_seli_lili", -"molten_gallium": "telo_seli_pi_kiwen_walo_pimeja", -"gallium_gas": "kon_seli_pi_kiwen_walo_pimeja", -"rose_gold": "kiwen_mani_pi_loje_walo", -"purple_gold": "kiwen_mani_pi_loje_laso", -"blue_gold": "kiwen_mani_pi_laso_sewi", -"electrum": "kiwen_mani_pi_laso_kasi", -"pyrite": "kiwen_pi_lukin_sama_mani", -"solder": "kiwen_wawa_pi_pali_wan", -"molten_copper": "", -"molten_gold": "", -"molten_silver": "", -"molten_iron": "", -"molten_nickel": "", -"molten_tin": "", -"molten_lead": "", -"molten_solder": "", -"juice": "", -"juice_ice": "", -"broth": "", -"milk": "", -"chocolate_milk": "", -"fruit_milk": "", -"pilk": "", -"eggnog": "", -"egg": "", -"yolk": "", -"hard_yolk": "", -"nut_milk": "", -"dough": "", -"batter": "", -"homunculus": "", -"butter": "", -"cheese": "", -"rotten_cheese": "", -"chocolate": "", -"grape": "", -"vinegar": "", -"herb": "", -"lettuce": "", -"pickle": "", -"tomato": "", -"sauce": "", -"pumpkin": "", -"pumpkin_seed": "", -"corn": "", -"popcorn": "", -"corn_seed": "", -"potato": "", -"baked_potato": "", -"mashed_potato": "", -"potato_seed": "", -"root": "", -"fiber": "", -"yeast": "", -"bread": "", -"toast": "", -"gingerbread": "", -"crumb": "", -"baked_batter": "", -"wheat": "", -"candy": "", -"coffee_bean": "", -"coffee_ground": "", -"nut": "", -"nut_meat": "", -"nut_butter": "", -"jelly": "", -"baking_soda": "", -"yogurt": "", -"frozen_yogurt": "", -"ice_cream": "", -"cream": "", -"beans": "", -"dry_ice": "", -"nitrogen_ice": "", -"particleboard": "", -"skin": "", -"hair": "", -"alcohol": "", -"alcohol_gas": "", -"basalt": "", -"tuff": "", -"molten_tuff": "", -"soap": "", -"bleach": "", -"chlorine": "", -"liquid_chlorine": "", -"dye": "", -"ink": "", -"mercury": "", -"mercury_gas": "", -"solid_mercury": "", -"blood": "", -"vaccine": "", -"antibody": "", -"infection": "", -"poison": "", -"poison_gas": "", -"poison_ice": "", -"antidote": "", -"tea": "", -"coffee": "", -"honey": "", -"sap": "", -"amber": "", -"caramel": "", -"molasses": "", -"ketchup": "", -"mayo": "", -"melted_chocolate": "", -"liquid_hydrogen": "", -"liquid_oxygen": "", -"liquid_nitrogen": "", -"liquid_helium": "", -"sodium": "", -"molten_sodium": "", -"sodium_gas": "", -"calcium": "", -"molten_calcium": "", -"limestone": "", -"quicklime": "", -"slaked_lime": "", -"thermite": "", -"molten_thermite": "", -"slag": "", -"amalgam": "", -"molten_aluminum": "", -"molten_zinc": "", -"neon": "", -"liquid_neon": "", -"smog": "", -"stench": "", -"liquid_stench": "", -"fragrance": "", -"perfume": "", -"cyanide": "", -"cyanide_gas": "", -"ozone": "", -"cloud": "", -"rain_cloud": "", -"snow_cloud": "", -"hail_cloud": "", -"thunder_cloud": "", -"acid_cloud": "", -"pyrocumulus": "", -"fire_cloud": "", -"color_smoke": "", -"spray_paint": "", -"led_r": "", -"led_g": "", -"led_b": "", -"sulfur": "", -"molten_sulfur": "", -"sulfur_gas": "", -"copper_sulfate": "", -"snake": "", -"loopy": "", -"warp": "", -"radiation": "", -"rad_steam": "", -"rad_cloud": "", -"fallout": "", -"neutron": "", -"proton": "", -"electric": "", -"uranium": "", -"molten_uranium": "", -"diamond": "", -"gold_coin": "", -"rust": "", -"oxidized_copper": "", -"alga": "", -"metal_scrap": "", -"glass_shard": "", -"rad_shard": "", -"brick_rubble": "", -"baked_clay": "", -"clay_shard": "", -"porcelain_shard": "", -"feather": "", -"confetti": "", -"glitter": "", -"bead": "", -"color_sand": "", -"borax": "", -"epsom_salt": "", -"potassium_salt": "", -"sodium_acetate": "", -"lightning": "", -"bless": "", -"god_ray": "", -"heat_ray": "", -"freeze_ray": "", -"pop": "", -"explosion": "", -"n_explosion": "", -"supernova": "", -"cook": "", -"incinerate": "", -"room_temp": "", -"positron": "", -"tnt": "", -"c4": "", -"grenade": "", -"dynamite": "", -"gunpowder": "", -"ember": "", -"firework": "", -"fw_ember": "", -"nuke": "", -"h_bomb": "", -"dirty_bomb": "", -"emp_bomb": "", -"nitro": "", -"greek_fire": "", -"fireball": "", -"rocket": "", -"cold_bomb": "", -"hot_bomb": "", -"antimatter_bomb": "", -"party_popper": "", -"flashbang": "", -"flash": "", -"smoke_grenade": "", -"landmine": "", -"armageddon": "", -"tesla_coil": "", -"light_bulb": "", -"shocker": "", -"pressure_plate": "", -"primordial_soup": "", -"molten_slag": "", -"molten_dirt": "", -"debug": "", -"prop": "", -"salt_ice": "", -"sugar_ice": "", -"seltzer_ice": "", -"dirty_ice": "", -"pool_ice": "", -"blood_ice": "", -"antibody_ice": "", -"infection_ice": "", -"unknown": "", -"slime_ice": "", -"antiice": "", -"ammonia_ice": "", -"liquid_propane": "", -"methane_ice": "", -"molten_brick": "", -"acid_ice": "", -"soda_ice": "", -"molten_steel": "", -"molten_brass": "", -"molten_bronze": "", -"molten_sterling": "", -"molten_rose_gold": "", -"molten_purple_gold": "", -"molten_blue_gold": "", -"molten_electrum": "", -"molten_pyrite": "", -"broth_ice": "", -"frozen_vinegar": "", -"sauce_ice": "", -"alcohol_ice": "", -"bleach_ice": "", -"chlorine_ice": "", -"frozen_ink": "", -"tea_ice": "", -"coffee_ice": "", -"hydrogen_ice": "", -"oxygen_ice": "", -"molten_amalgam": "", -"neon_ice": "", -"cyanide_ice": "", -"molten_copper_sulfate": "", -"molten_alga": "", -"molten_metal_scrap": "", -"molten_borax": "", -"molten_epsom_salt": "", -"molten_potassium_salt": "", -"molten_sodium_acetate": "", -"frozen_nitro": "", -"cured_meat": "", -"nut_oil": "", -"grease": "", -"fat": "", -"potassium": "", -"molten_potassium": "", -"magnesium": "", -"molten_magnesium": "", -"sandstorm": "", -"caustic_potash": "", -"antibomb": "", -"tornado": "", -"earthquake": "", -"tsunami": "", -"blaster": "", -"propane_ice": "", -"molten_caustic_potash": "" -} + "#lang.name": "toki pona", + "#lang.credit": "squarescreamyt", + "land": "ma", + "liquids": "telo", + "life": "soweli", + "powders": "ko", + "solids": "kiwen", + "energy": "wawa", + "weapons": "pakala", + "gases": "kon", + "food": "moku", + "machines": "ilo", + "special": "nasa", + "other": "namako", + "heat": "o_seli", + "cool": "o_lete", + "erase": "o_weka", + "drag": "o_tawa", + "pick": "o_kepeken", + "mix": "o_pilin", + "lookup": "o_sona", + "shock": "o_pana_e_wawa", + "paint": "o_kule", + "sand": "ko_lili_jelo", + "water": "telo_laso_sewi", + "salt_water": "telo_pi_ko_uta_walo", + "sugar_water": "telo_pi_ko_suwi", + "seltzer": "telo_kon", + "dirty_water": "telo_jaki", + "pool_water": "telo_pi_lupa_suli_telo", + "dirt": "ma", + "mud": "ko_ma", + "wet_sand": "ko_lili_jelo_pi_telo_mute", + "rock": "kiwen_lili", + "rock_wall": "kiwen_wawa", + "mudstone": "kiwen_ko_ma", + "packed_sand": "kiwen_pi_ko_lili_jelo", + "plant": "kasi", + "dead_plant": "kasi_moli", + "frozen_plant": "kasi_lete", + "grass": "kasi_lili", + "algae": "kasi_telo", + "concrete": "kiwen_wawa", + "wall": "kiwen", + "fire": "seli", + "bomb": "ilo_pakala", + "steam": "kon_seli_pi_telo_laso_sewi", + "ice": "kiwen_lete_pi_telo_laso_sewi", + "rime": "kiwen_lete_lili_pi_telo_laso_sewi", + "snow": "ko_lete_walo_pi_telo_laso_sewi", + "slush": "ko_lete_pi_telo_laso_sewi", + "packed_snow": "kiwen_lete_pi_ko_lili_walo", + "wood": "kiwen_kasi", + "smoke": "kon_jaki_pimeja", + "magma": "telo_seli_kiwen", + "plasma": "seli_pi_seli_mute", + "cold_fire": "seli_lete", + "glass": "kiwen_lukin", + "molten_glass": "telo_seli_pi_kiwen_lukin", + "molten_rad_glass": "telo_seli_pi_kiwen_lukin_jaki", + "rad_glass": "kiwen_lukin_jaki", + "meat": "moku_soweli", + "rotten_meat": "moku_soweli_jaki", + "cooked_meat": "moku_soweli_seli", + "frozen_meat": "moku_soweli_lete", + "salt": "ko_walo_uta", + "molten_salt": "telo_seli_pi_ko_walo_uta", + "sugar": "ko_suwi", + "flour": "pan_ko_lili", + "wire": "linja_pi_tawa_wawa", + "battery": "ilo_pi_pana_wawa", + "cloner": "ilo_pi_pali_sama", + "sensor": "ilo_pilin", + "heater": "ilo_seli", + "cooler": "ilo_lete", + "random": "ale", + "image": "ilo_sitelen", + "unpaint": "o_weka_e_kule", + "uncharge": "o_weka_e_wawa", + "unburn": "o_weka_e_seli", + "smash": "o_pakala", + "filler": "ijo_pi_pini_ala", + "lattice": "ijo_pini_ala_pi_linja_mute", + "gravel": "kiwen_lili_mute", + "slime": "ko_jaki_pi_laso_kasi", + "cement": "ko_pi_pali_tomo", + "dust": "ko_jaki_pi_pimeja_walo", + "void": "ijo_pimeja_pi_weka_ale", + "sun": "suno_tan", + "cell": "tomo_lili", + "cancer": "tomo_lili_ike", + "dna": "linja_sona_pi_tomo_lili", + "plague": "kon_ike", + "worm": "pipi_linja", + "frozen_worm": "pipi_linja_lete", + "flea": "pipi_lili", + "termite": "pipi_lili_jelo_loje", + "ant": "pipi_lili_pimeja_loje", + "fly": "pipi_lili_pi_tawa_kon", + "firefly": "pipi_lili_pi_pana_suno", + "hive": "tomo_pi_pipi_jelo", + "bee": "pipi_jelo", + "stink_bug": "pipi_jaki", + "dead_bug": "pipi_moli", + "human": "jan", + "body": "sijelo", + "head": "lawa", + "bird": "waso", + "rat": "soweli_lili_pi_pimeja_walo", + "frog": "akesi_telo_pi_laso_kasi", + "frozen_frog": "kiwen_akesi_telo_pi_laso_kasi", + "tadpole": "kala_lili_pi_akesi_telo", + "fish": "kala", + "frozen_fish": "kala_lete", + "slug": "pipi_ko_jaki", + "snail": "pipi_tomo", + "burner": "ilo_pana_seli", + "superheater": "ilo_seli_mute", + "freezer": "ilo_lete_mute", + "pipe": "linja_tawa", + "pipe_wall": "kiwen_pi_linja_tawa", + "mixer": "ilo_pilin_ale", + "grinder": "ilo_pakala_ko", + "ewall": "kiwen_tawa_wawa", + "torch": "palisa_pi_pana_seli", + "spout": "ilo_pi_pana_telo", + "udder": "ilo_pi_pana_telo_walo", + "bone_marrow": "kiwen_sijelo_loje", + "bone": "kiwen_sijelo", + "balloon": "sike_kule_pi_tawa_kon", + "antipowder": "ko_pi_tawa_ante", + "antimolten": "telo_seli_pi_tawa_ante", + "antifire": "seli_pi_tawa_ante", + "antifluid": "telo_pi_tawa_ante", + "antigas": "kon_pi_tawa_ante", + "vertical": "ilo_pi_tawa_sewi", + "horizontal": "ilo_pi_tawa_poka", + "ash": "ko_seli_pi_pimeja_walo", + "molten_ash": "telo_seli_pi_ko_pimeja_walo", + "light": "suno", + "liquid_light": "telo_suno", + "laser": "suno_loje", + "ball": "sike_pi_loje_walo", + "pointer": "ilo_loje_pi_pali_e_nasin", + "charcoal": "kiwen_pimeja_pi_kiwen_kasi", + "tinder": "kiwen_kasi_lili", + "sawdust": "ko_pi_kiwen_kasi", + "hail": "kiwen_lili_lete_pi_pakala_lili", + "hydrogen": "kon_suno", + "oxygen": "kon_kon", + "nitrogen": "kon_kasi", + "helium": "kon_pi_sike_tawa_kon", + "anesthesia": "kon_lape", + "ammonia": "kon_pi_pali_kasi", + "liquid_ammonia": "telo_lete_pi_kon_pali_kasi", + "carbon_dioxide": "kon_soweli", + "oil": "telo_pimeja_jaki", + "lamp_oil": "telo_walo_jaki", + "propane": "kon_suli_pi_pali_seli", + "methane": "kon_pi_pali_seli", + "liquid_methane": "telo_lete_pi_kon_pali_seli", + "stained_glass": "kiwen_lukin_kule", + "molten_stained_glass": "telo_seli_pi_kiwen_lukin_kule", + "art": "kule", + "rainbow": "kiwen_kule", + "static": "kiwen_pi_ante_pimeja_walo", + "border": "kiwen_poka", + "clay": "ko_jelo", + "clay_soil": "ko_jelo_ma", + "brick": "palisa_suli_pi_pali_tomo", + "ruins": "kiwen_pakala_pi_pali_tomo", + "porcelain": "kiwen_pi_poki_telo", + "sapling": "kasi_suli_lili", + "pinecone": "kili_pi_kasi_tenpo_Kulisuma", + "evergreen": "kasi_tenpo_Kulisuma", + "cactus": "kasi_utala", + "kelp": "kasi_linja_telo", + "seeds": "kili_lili", + "grass_seed": "kili_lili_pi_kasi_lili", + "wheat_seed": "kili_lili_pi_kasi_pan", + "straw": "kasi_palisa_moli", + "paper": "lipu", + "pollen": "ko_kasi", + "flower_seed": "kili_lili_pi_kasi_kule", + "pistil": "linja_kasi_pi_pali_kili", + "petal": "kasi_kule_pi_kasi_lili", + "tree_branch": "kiwen_kasi_linja", + "vine": "kasi_linja", + "bamboo_plant": "kasi_palisa", + "foam": "ko_walo_pi_pilin_lili", + "bubble": "sike_walo_pi_pilin_walo", + "acid": "telo_pakala_pi_laso_kasi", + "neutral_acid": "telo_pakala_lili", + "acid_gas": "kon_laso_kasi_pi_telo_pakala", + "glue": "ko_walo", + "soda": "telo_kon_suwi_pi_pimeja_loje", + "gray_goo": "ko_nasa_pi_pimeja_walo", + "malware": "ko_ike_pi_loje_laso", + "ecloner": "ilo_wile_wawa_pi_pali_sama", + "slow_cloner": "ilo_wile_lape_pi_pali_sama", + "clone_powder": "ko_pi_pali_sama", + "floating_cloner": "kon_pi_pali_sama", + "virus": "ko_ike_moli", + "ice_nine": "kiwen_lete_9", + "strange_matter": "ko_nasa_pi_laso_kasi", + "permafrost": "ko_ma_lete", + "melted_butter": "telo_seli_pi_ko_moku_jelo", + "melted_cheese": "telo_seli_pi_kiwen_telo_walo", + "mushroom_spore": "kili_soko", + "mushroom_stalk": "palisa_soko", + "mushroom_gill": "linja_soko", + "mushroom_cap": "lawa_soko", + "hyphae": "linja_ma_soko", + "mycelium": "ma_soko", + "mulch": "ko_kasi", + "ant_wall": "kiwen_pi_pipi_lili", + "lichen": "kasi_kiwen", + "antimatter": "ijo_ante", + "plastic": "kiwen_lukin_pi_poki_telo", + "molten_plastic": "telo_seli_pi_kiwen_poki_telo", + "cloth": "len", + "cellulose": "ko_lipu", + "wax": "ko_pi_palisa_suno", + "melted_wax": "telo_seli_pi_ko_palisa_suno", + "incense": "palisa_pi_kon_pona", + "fuse": "linja_seli_pi_tawa_wawa", + "dioxin": "kon_ike_pi_kiwen_poki_telo", + "insulation": "kiwen_seli_ala", + "sponge": "kiwen_pi_weka_telo", + "bamboo": "palisa_kasi", + "iron": "kiwen_walo_pi_esun_suli", + "copper": "kiwen_loje_pi_tawa_wawa", + "gold": "kiwen_mani", + "steel": "kiwen_walo_pimeja_pi_esun_suli", + "nickel": "kiwen_mani_walo_pimeja", + "zinc": "kiwen_walo_pi_pali_sin", + "silver": "kiwen_mani_pi_pimeja_walo", + "tin": "kiwen_walo_pimeja_pi_poki_moku", + "lead": "kiwen_pimeja", + "aluminum": "kiwen_pimeja_walo_pi_poki_telo", + "tungsten": "kiwen_walo_wawa", + "molten_tungsten": "telo_seli_pi_kiwen_walo_wawa", + "brass": "kiwen_loje_jelo", + "bronze": "kiwen_pimeja_jelo", + "sterling": "kiwen_mani_pi_ma_Juke", + "gallium": "kiwen_pi_kama_telo_lon_seli_lili", + "molten_gallium": "telo_seli_pi_kiwen_walo_pimeja", + "gallium_gas": "kon_seli_pi_kiwen_walo_pimeja", + "rose_gold": "kiwen_mani_pi_loje_walo", + "purple_gold": "kiwen_mani_pi_loje_laso", + "blue_gold": "kiwen_mani_pi_laso_sewi", + "electrum": "kiwen_mani_pi_laso_kasi", + "pyrite": "kiwen_pi_lukin_sama_mani", + "solder": "kiwen_wawa_pi_pali_wan", + "molten_copper": "telo_seli_pi_kiwen_loje", + "molten_gold": "telo_seli_pi_kiwen_mani", + "molten_silver": "telo_seli_pi_kiwen_walo_mani", + "molten_iron": "telo_seli_pi_kiwen_walo", + "molten_nickel": "telo_seli_pi_kiwen_pimeja_walo", + "molten_tin": "telo_seli_pi_kiwen_walo_pimeja", + "molten_lead": "telo_seli_pi_kiwen_pimeja", + "molten_solder": "telo_seli_pi_kiwen_pali_wan", + "juice": "telo_kili", + "juice_ice": "telo_kili", + "broth": "telo_pi_moku_soweli", + "milk": "telo_walo_soweli", + "chocolate_milk": "telo_soweli_pi_pimeja_loje", + "fruit_milk": "telo_walo_soweli_pi_kili_loje", + "pilk": "telo_walo_soweli_pi_telo_kon_suwi", + "eggnog": "", + "egg": "", + "yolk": "", + "hard_yolk": "", + "nut_milk": "", + "dough": "", + "batter": "", + "homunculus": "", + "butter": "", + "cheese": "", + "rotten_cheese": "", + "chocolate": "", + "grape": "", + "vinegar": "", + "herb": "", + "lettuce": "", + "pickle": "", + "tomato": "", + "sauce": "", + "pumpkin": "", + "pumpkin_seed": "", + "corn": "", + "popcorn": "", + "corn_seed": "", + "potato": "", + "baked_potato": "", + "mashed_potato": "", + "potato_seed": "", + "root": "", + "fiber": "", + "yeast": "", + "bread": "", + "toast": "", + "gingerbread": "", + "crumb": "", + "baked_batter": "", + "wheat": "", + "candy": "", + "coffee_bean": "", + "coffee_ground": "", + "nut": "", + "nut_meat": "", + "nut_butter": "", + "jelly": "", + "baking_soda": "", + "yogurt": "", + "frozen_yogurt": "", + "ice_cream": "", + "cream": "", + "beans": "", + "dry_ice": "", + "nitrogen_ice": "", + "particleboard": "", + "skin": "", + "hair": "", + "alcohol": "", + "alcohol_gas": "", + "basalt": "", + "tuff": "", + "molten_tuff": "", + "soap": "", + "bleach": "", + "chlorine": "", + "liquid_chlorine": "", + "dye": "", + "ink": "", + "mercury": "", + "mercury_gas": "", + "solid_mercury": "", + "blood": "", + "vaccine": "", + "antibody": "", + "infection": "", + "poison": "", + "poison_gas": "", + "poison_ice": "", + "antidote": "", + "tea": "", + "coffee": "", + "honey": "", + "sap": "", + "amber": "", + "caramel": "", + "molasses": "", + "ketchup": "", + "mayo": "", + "melted_chocolate": "", + "liquid_hydrogen": "", + "liquid_oxygen": "", + "liquid_nitrogen": "", + "liquid_helium": "", + "sodium": "", + "molten_sodium": "", + "sodium_gas": "", + "calcium": "", + "molten_calcium": "", + "limestone": "", + "quicklime": "", + "slaked_lime": "", + "thermite": "", + "molten_thermite": "", + "slag": "", + "amalgam": "", + "molten_aluminum": "", + "molten_zinc": "", + "neon": "", + "liquid_neon": "", + "smog": "", + "stench": "", + "liquid_stench": "", + "fragrance": "", + "perfume": "", + "cyanide": "", + "cyanide_gas": "", + "ozone": "", + "cloud": "", + "rain_cloud": "", + "snow_cloud": "", + "hail_cloud": "", + "thunder_cloud": "", + "acid_cloud": "", + "pyrocumulus": "", + "fire_cloud": "", + "color_smoke": "", + "spray_paint": "", + "led_r": "", + "led_g": "", + "led_b": "", + "sulfur": "", + "molten_sulfur": "", + "sulfur_gas": "", + "copper_sulfate": "", + "snake": "", + "loopy": "", + "warp": "", + "radiation": "", + "rad_steam": "", + "rad_cloud": "", + "fallout": "", + "neutron": "", + "proton": "", + "electric": "", + "uranium": "", + "molten_uranium": "", + "diamond": "", + "gold_coin": "", + "rust": "", + "oxidized_copper": "", + "alga": "", + "metal_scrap": "", + "glass_shard": "", + "rad_shard": "", + "brick_rubble": "", + "baked_clay": "", + "clay_shard": "", + "porcelain_shard": "", + "feather": "", + "confetti": "", + "glitter": "", + "bead": "", + "color_sand": "", + "borax": "", + "epsom_salt": "", + "potassium_salt": "", + "sodium_acetate": "", + "lightning": "", + "bless": "", + "god_ray": "", + "heat_ray": "", + "freeze_ray": "", + "pop": "", + "explosion": "", + "n_explosion": "", + "supernova": "", + "cook": "", + "incinerate": "", + "room_temp": "", + "positron": "", + "tnt": "", + "c4": "", + "grenade": "", + "dynamite": "", + "gunpowder": "", + "ember": "", + "firework": "", + "fw_ember": "", + "nuke": "", + "h_bomb": "", + "dirty_bomb": "", + "emp_bomb": "", + "nitro": "", + "greek_fire": "", + "fireball": "", + "rocket": "", + "cold_bomb": "", + "hot_bomb": "", + "antimatter_bomb": "", + "party_popper": "", + "flashbang": "", + "flash": "", + "smoke_grenade": "", + "landmine": "", + "armageddon": "", + "tesla_coil": "", + "light_bulb": "", + "shocker": "", + "pressure_plate": "", + "primordial_soup": "", + "molten_slag": "", + "molten_dirt": "", + "debug": "", + "prop": "", + "salt_ice": "", + "sugar_ice": "", + "seltzer_ice": "", + "dirty_ice": "", + "pool_ice": "", + "blood_ice": "", + "antibody_ice": "", + "infection_ice": "", + "unknown": "", + "slime_ice": "", + "antiice": "", + "ammonia_ice": "", + "liquid_propane": "", + "methane_ice": "", + "molten_brick": "", + "acid_ice": "", + "soda_ice": "", + "molten_steel": "", + "molten_brass": "", + "molten_bronze": "", + "molten_sterling": "", + "molten_rose_gold": "", + "molten_purple_gold": "", + "molten_blue_gold": "", + "molten_electrum": "", + "molten_pyrite": "", + "broth_ice": "", + "frozen_vinegar": "", + "sauce_ice": "", + "alcohol_ice": "", + "bleach_ice": "", + "chlorine_ice": "", + "frozen_ink": "", + "tea_ice": "", + "coffee_ice": "", + "hydrogen_ice": "", + "oxygen_ice": "", + "molten_amalgam": "", + "neon_ice": "", + "cyanide_ice": "", + "molten_copper_sulfate": "", + "molten_alga": "", + "molten_metal_scrap": "", + "molten_borax": "", + "molten_epsom_salt": "", + "molten_potassium_salt": "", + "molten_sodium_acetate": "", + "frozen_nitro": "", + "cured_meat": "", + "nut_oil": "", + "grease": "", + "fat": "", + "potassium": "", + "molten_potassium": "", + "magnesium": "", + "molten_magnesium": "", + "sandstorm": "", + "caustic_potash": "", + "antibomb": "", + "tornado": "", + "earthquake": "", + "tsunami": "", + "blaster": "", + "propane_ice": "", + "molten_caustic_potash": "" + } From 15aa16af6552a0c0a4eb9dc214fbff55970e339c Mon Sep 17 00:00:00 2001 From: sq <134925668+SquareScreamYT@users.noreply.github.com> Date: Sun, 22 Sep 2024 19:31:30 +0800 Subject: [PATCH 05/38] element origin mod --- mods/elementOrigin.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 mods/elementOrigin.js diff --git a/mods/elementOrigin.js b/mods/elementOrigin.js new file mode 100644 index 00000000..28e15851 --- /dev/null +++ b/mods/elementOrigin.js @@ -0,0 +1,29 @@ +// created by SquareScreamYT + +for (let elementName in elements) { + let element = elements[elementName]; + if (!element.desc.includes("This Element is from")) { + element.desc += "\nThis Element is from Sandboxels (Vanilla)"; + } +} + +runAfterLoad(function() { + for (let i = 0; i < enabledMods.length; i++) { + let mod = enabledMods[i]; + + fetch(mod) + .then(response => response.text()) + .then(data => { + console.log(`Loaded mod: ${mod}`); + + Object.keys(elements).forEach(function(elementName) { + let element = elements[elementName]; + + if (!element.desc.includes("This Element is from")) { + element.desc += `\nThis Element is from ${mod}`; + } + }); + }) + .catch(error => console.error('Error fetching the mod file: ', error)); + } +}); From d7e5eb3994ab32df40e8b74d0fc8a695074dacf6 Mon Sep 17 00:00:00 2001 From: sq <134925668+SquareScreamYT@users.noreply.github.com> Date: Sun, 22 Sep 2024 19:37:11 +0800 Subject: [PATCH 06/38] check if desc exists --- mods/elementOrigin.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/mods/elementOrigin.js b/mods/elementOrigin.js index 28e15851..f6659972 100644 --- a/mods/elementOrigin.js +++ b/mods/elementOrigin.js @@ -2,8 +2,12 @@ for (let elementName in elements) { let element = elements[elementName]; - if (!element.desc.includes("This Element is from")) { - element.desc += "\nThis Element is from Sandboxels (Vanilla)"; + if (element.desc && typeof element.desc === 'string' && element.desc.trim() !== '') { + if (!element.desc.includes("This Element is from")) { + element.desc += "\nThis Element is from Sandboxels (Vanilla)"; + } + } else { + element.desc = "This Element is from Sandboxels (Vanilla)"; } } @@ -19,8 +23,12 @@ runAfterLoad(function() { Object.keys(elements).forEach(function(elementName) { let element = elements[elementName]; - if (!element.desc.includes("This Element is from")) { - element.desc += `\nThis Element is from ${mod}`; + if (element.desc && typeof element.desc === 'string' && element.desc.trim() !== '') { + if (!element.desc.includes("This Element is from")) { + element.desc += `\nThis Element is from ${mod}`; + } + } else { + element.desc = `This Element is from ${mod}`; } }); }) From b959a6b0470ed1baeae1c8905f80cfbc46bf1091 Mon Sep 17 00:00:00 2001 From: sq <134925668+SquareScreamYT@users.noreply.github.com> Date: Sun, 22 Sep 2024 19:41:04 +0800 Subject: [PATCH 07/38] update with map --- mods/elementOrigin.js | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/mods/elementOrigin.js b/mods/elementOrigin.js index f6659972..ba4a1d79 100644 --- a/mods/elementOrigin.js +++ b/mods/elementOrigin.js @@ -12,26 +12,31 @@ for (let elementName in elements) { } runAfterLoad(function() { - for (let i = 0; i < enabledMods.length; i++) { - let mod = enabledMods[i]; + let modDescriptions = {}; - fetch(mod) + let fetchPromises = enabledMods.map(mod => { + return fetch(mod) .then(response => response.text()) .then(data => { console.log(`Loaded mod: ${mod}`); - - Object.keys(elements).forEach(function(elementName) { - let element = elements[elementName]; - - if (element.desc && typeof element.desc === 'string' && element.desc.trim() !== '') { - if (!element.desc.includes("This Element is from")) { - element.desc += `\nThis Element is from ${mod}`; - } - } else { - element.desc = `This Element is from ${mod}`; - } - }); + modDescriptions[mod] = data; }) .catch(error => console.error('Error fetching the mod file: ', error)); - } + }); + + Promise.all(fetchPromises).then(() => { + Object.keys(elements).forEach(function(elementName) { + let element = elements[elementName]; + + for (let mod of enabledMods) { + if (element.desc && typeof element.desc === 'string' && element.desc.trim() !== '') { + if (!element.desc.includes("This Element is from")) { + element.desc += `\nThis Element is from ${mod}`; + } + } else { + element.desc = `This Element is from ${mod}`; + } + } + }); + }); }); From 657fb6bb3b7dddb182f62abd2de102ecb35ea2fe Mon Sep 17 00:00:00 2001 From: sq <134925668+SquareScreamYT@users.noreply.github.com> Date: Sun, 22 Sep 2024 19:47:09 +0800 Subject: [PATCH 08/38] finalise code --- mods/elementOrigin.js | 44 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/mods/elementOrigin.js b/mods/elementOrigin.js index ba4a1d79..bdd58345 100644 --- a/mods/elementOrigin.js +++ b/mods/elementOrigin.js @@ -11,32 +11,30 @@ for (let elementName in elements) { } } -runAfterLoad(function() { - let modDescriptions = {}; +let modDescriptions = {}; - let fetchPromises = enabledMods.map(mod => { - return fetch(mod) - .then(response => response.text()) - .then(data => { - console.log(`Loaded mod: ${mod}`); - modDescriptions[mod] = data; - }) - .catch(error => console.error('Error fetching the mod file: ', error)); - }); +let fetchPromises = enabledMods.map(mod => { + return fetch(mod) + .then(response => response.text()) + .then(data => { + console.log(`Loaded mod: ${mod}`); + modDescriptions[mod] = data; + }) + .catch(error => console.error('Error fetching the mod file: ', error)); +}); - Promise.all(fetchPromises).then(() => { - Object.keys(elements).forEach(function(elementName) { - let element = elements[elementName]; - - for (let mod of enabledMods) { - if (element.desc && typeof element.desc === 'string' && element.desc.trim() !== '') { - if (!element.desc.includes("This Element is from")) { - element.desc += `\nThis Element is from ${mod}`; - } - } else { - element.desc = `This Element is from ${mod}`; +Promise.all(fetchPromises).then(() => { + Object.keys(elements).forEach(function(elementName) { + let element = elements[elementName]; + + for (let mod of enabledMods) { + if (element.desc && typeof element.desc === 'string' && element.desc.trim() !== '') { + if (!element.desc.includes("This Element is from")) { + element.desc += `\nThis Element is from ${mod}`; } + } else { + element.desc = `This Element is from ${mod}`; } - }); + } }); }); From 0f65f98c0a4f3733b7846e588369fc1e752dce85 Mon Sep 17 00:00:00 2001 From: sq <134925668+SquareScreamYT@users.noreply.github.com> Date: Sun, 22 Sep 2024 19:50:42 +0800 Subject: [PATCH 09/38] fix not detecting other mods --- mods/elementOrigin.js | 46 +++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/mods/elementOrigin.js b/mods/elementOrigin.js index bdd58345..172ccd5f 100644 --- a/mods/elementOrigin.js +++ b/mods/elementOrigin.js @@ -11,30 +11,38 @@ for (let elementName in elements) { } } -let modDescriptions = {}; +runAfterLoad(function() { + let modDescriptions = {}; -let fetchPromises = enabledMods.map(mod => { - return fetch(mod) - .then(response => response.text()) - .then(data => { - console.log(`Loaded mod: ${mod}`); - modDescriptions[mod] = data; - }) - .catch(error => console.error('Error fetching the mod file: ', error)); -}); + let fetchPromises = enabledMods.map(mod => { + return fetch(mod) + .then(response => response.text()) + .then(data => { + console.log(`Loaded mod: ${mod}`); + modDescriptions[mod] = data; + }) + .catch(error => console.error('Error fetching the mod file: ', error)); + }); -Promise.all(fetchPromises).then(() => { - Object.keys(elements).forEach(function(elementName) { - let element = elements[elementName]; - - for (let mod of enabledMods) { + Promise.all(fetchPromises).then(() => { + Object.keys(elements).forEach(function(elementName) { + let element = elements[elementName]; + let elementMod = "Sandboxels (Vanilla)"; + + for (let mod of enabledMods) { + if (modDescriptions[mod].includes(elementName)) { + elementMod = mod; + break; + } + } + if (element.desc && typeof element.desc === 'string' && element.desc.trim() !== '') { if (!element.desc.includes("This Element is from")) { - element.desc += `\nThis Element is from ${mod}`; + element.desc += `\nThis Element is from ${elementMod}`; } } else { - element.desc = `This Element is from ${mod}`; + element.desc = `This Element is from ${elementMod}`; } - } - }); + }); + }); }); From 89bab82944c58b6000a5f59eeed13939807fdcec Mon Sep 17 00:00:00 2001 From: sq <134925668+SquareScreamYT@users.noreply.github.com> Date: Sun, 22 Sep 2024 19:54:11 +0800 Subject: [PATCH 10/38] is still not working aaaa --- mods/elementOrigin.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mods/elementOrigin.js b/mods/elementOrigin.js index 172ccd5f..529781e4 100644 --- a/mods/elementOrigin.js +++ b/mods/elementOrigin.js @@ -30,7 +30,8 @@ runAfterLoad(function() { let elementMod = "Sandboxels (Vanilla)"; for (let mod of enabledMods) { - if (modDescriptions[mod].includes(elementName)) { + if (modDescriptions[mod].includes(`elements.${elementName} =`) || + modDescriptions[mod].includes(`elements["${elementName}"] =`)) { elementMod = mod; break; } @@ -44,5 +45,5 @@ runAfterLoad(function() { element.desc = `This Element is from ${elementMod}`; } }); - }); + }); }); From ca73a82f605d5a7d0561b7f0d5a965e795c06996 Mon Sep 17 00:00:00 2001 From: sq <134925668+SquareScreamYT@users.noreply.github.com> Date: Sun, 22 Sep 2024 19:58:46 +0800 Subject: [PATCH 11/38] lets see if mr chad gbd can halp --- mods/elementOrigin.js | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/mods/elementOrigin.js b/mods/elementOrigin.js index 529781e4..0f25f852 100644 --- a/mods/elementOrigin.js +++ b/mods/elementOrigin.js @@ -13,6 +13,7 @@ for (let elementName in elements) { runAfterLoad(function() { let modDescriptions = {}; + let vanillaElements = Object.keys(elements); let fetchPromises = enabledMods.map(mod => { return fetch(mod) @@ -27,16 +28,20 @@ runAfterLoad(function() { Promise.all(fetchPromises).then(() => { Object.keys(elements).forEach(function(elementName) { let element = elements[elementName]; - let elementMod = "Sandboxels (Vanilla)"; + let elementMod = vanillaElements.includes(elementName) ? "Sandboxels (Vanilla)" : null; - for (let mod of enabledMods) { - if (modDescriptions[mod].includes(`elements.${elementName} =`) || - modDescriptions[mod].includes(`elements["${elementName}"] =`)) { - elementMod = mod; - break; + if (!elementMod) { + for (let mod of enabledMods) { + if (modDescriptions[mod].includes(`elements.${elementName} =`) || + modDescriptions[mod].includes(`elements["${elementName}"] =`)) { + elementMod = mod; + break; + } } } + if (!elementMod) elementMod = "Unknown Mod"; + if (element.desc && typeof element.desc === 'string' && element.desc.trim() !== '') { if (!element.desc.includes("This Element is from")) { element.desc += `\nThis Element is from ${elementMod}`; From a460eff03c2a667933d38d003489bf8dbf114a61 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Fri, 11 Oct 2024 08:46:54 -0700 Subject: [PATCH 12/38] regression pill --- mods/genetics.js | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/mods/genetics.js b/mods/genetics.js index be89639c..f8b58098 100644 --- a/mods/genetics.js +++ b/mods/genetics.js @@ -3992,4 +3992,47 @@ elements.antiaging_pill = { isFood: true } +elements.regression_pill = { + behavior: behaviors.POWDER, + reactions: { + "organism": { elem1: null, chance:0.1, func:function(pixel1,pixel2) { + if (pixel2.vore > 0) { + if (Math.random() > 0.9) { + pixel2.food += 1 + }; + if (Math.random() > 0.99) { + pixel2.vore -= 1 + }; + pixel2.geneticCode -= 1 + } + else if (pixel2.vore < 0) { + if (Math.random() > 0.8) { + pixel2.food += 1 + }; + if (Math.random() > 0.99) { + pixel2.vore += 1 + }; + pixel2.geneticCode -= 1 + } + else if (pixel2.vore === 0) { + if (Math.random() > 0.75) { + pixel2.food += 1 + }; + pixel2.geneticCode -= 1 + } + }}, + }, + category: "organism", + state: "solid", + color: ["#c5dede","#c5dede","#D1D099","#CBCA8C","#a4b3b3","#c5dede","#D1D099","#CBCA8C","#c5dede","#c5dede","#D1D099","#CBCA8C"], + tempHigh: 250, + stateHigh: ["molten_plastic","sugar","smoke","smoke","smoke","herb","smoke","smoke","smoke","stench"], + burn: 10, + burnTime: 200, + burnInto: ["molten_plastic","sugar","smoke","smoke","smoke","herb","smoke","smoke","smoke","stench"], + breakInto: ["sugar","dust","dust","dust","dust","dust","dust","herb","dust","dust","dust","dust","dust","dust"], + breakIntoColor: ["#a4b3b3","#ECF4B0","#a4b3b3","#a4b3b3"], + isFood: true +} + /* by nekonico, do not steal!!!!!! >:3*/ From 0fdb01fc82c77a5c2803c7807f77f25967213d75 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Mon, 14 Oct 2024 08:00:46 -0700 Subject: [PATCH 13/38] Flesh infection mod --- mods/flesh_infection.js | 439 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 439 insertions(+) create mode 100644 mods/flesh_infection.js diff --git a/mods/flesh_infection.js b/mods/flesh_infection.js new file mode 100644 index 00000000..2755d0b9 --- /dev/null +++ b/mods/flesh_infection.js @@ -0,0 +1,439 @@ +eLists.FESTER = ["dirt","rock","rock_wall","basalt","limestone","steel","iron","dead_bug","mud","sand","wet_sand","clay_soil","clay","mycelium","skin","meat","rotten_meat","wood","ant_wall","dead_plant","plant","hair","bone","cancer","straw","cloth","brick","bamboo","sponge","paper","plastic","concrete"], + +elements.jaws = { + color: "#d9d9d9", + behavior: [ + "XX|ST:flesh_mound AND SM%0.75|XX", + "ST:flesh_mound|XX|ST:flesh_mound", + "XX|ST:flesh_mound AND M1|XX", + ], + reactions: { + "sugar": { "elem1": "quicklime", "elem2": null, "chance": 0.003 }, + "acid": { "elem1": "quicklime", "elem2": null }, + }, + category:"flesh", + tempHigh: 1000, + stateHigh: ["steam","salt","meat","quicklime"], + state: "solid", + density: 2000, + hardness: 0.5, + breakInto: ["flesh_mound","quicklime"], + hidden: true, + ignore: ["jaws","flesh_mound","flesh_beast","solid_flesh","flesh_wood"] +}, + +elements.flesh_mound = { + color: ["#9e4839","#ba6449","#d2856c","#a14940","#E94336"], + behavior: [ + "XX|CR:mucus%0.005|XX", + "CR:mucus%0.005|XX|CR:mucus%0.005", + "XX|CR:mucus%0.005|XX", + ], + tick: function(pixel) { + if (pixel.start === pixelTicks && pixel.fruit === undefined && !pixel.stop) { + if (Math.random() < 0.95) { + pixel.fruit = Math.random() < 0.75 ? "flesh_beast" : "jaw"; + } + else { pixel.fruit = null } + } + if (!isEmpty(pixel.x-1,pixel.y,true)) { + if (pixelMap[pixel.x-1][pixel.y].fruit === undefined && pixelMap[pixel.x-1][pixel.y].element === "flesh_mound") { + pixelMap[pixel.x-1][pixel.y].fruit = pixel.fruit; + } + } + else if (!isEmpty(pixel.x+1,pixel.y,true)) { + if (pixelMap[pixel.x+1][pixel.y].fruit === undefined && pixelMap[pixel.x+1][pixel.y].element === "flesh_mound") { + pixelMap[pixel.x+1][pixel.y].fruit = pixel.fruit; + } + } + else if (!isEmpty(pixel.x,pixel.y+1,true)) { + if (pixelMap[pixel.x][pixel.y+1].fruit === undefined && pixelMap[pixel.x][pixel.y+1].element === "flesh_mound") { + pixelMap[pixel.x][pixel.y+1].fruit = pixel.fruit; + } + } + else if (!isEmpty(pixel.x,pixel.y-1,true)) { + if (pixelMap[pixel.x][pixel.y-1].fruit === undefined && pixelMap[pixel.x][pixel.y-1].element === "flesh_mound") { + pixelMap[pixel.x][pixel.y-1].fruit = pixel.fruit; + } + } + if (isEmpty(pixel.x,pixel.y-1)) { + pixel.sp = 0; //not supported + } + else if (!outOfBounds(pixel.x,pixel.y-1) && pixelMap[pixel.x][pixel.y-1].element === "flesh_mound" && pixelMap[pixel.x][pixel.y-1].sp === 0) { + pixel.sp = 0; + } + else { pixel.sp = 1 } //supported + if (pixel.stop) { + if (pixel.sp === 0) { tryMove(pixel, pixel.x, pixel.y+1); } + return; + } + if (pixel.sp === 0) { tryMove(pixel, pixel.x, pixel.y+1); } + else { + if (pixel.fert && pixel.stage && Math.random() < 0.01 && isEmpty(pixel.x,pixel.y+1)) { + clonePixel(pixel,pixel.x,pixel.y+1); + pixelMap[pixel.x][pixel.y+1].fert = true; + pixelMap[pixel.x][pixel.y+1].stage = pixel.stage-1; + } + } + if (pixel.fert===undefined) { // able to grow down + pixel.fert = Math.random() < 0.50; + } + if (pixel.stage===undefined) { + pixel.stage = Math.floor(Math.random()*20)+10; + } + if (Math.random() < 0.03 && isEmpty(pixel.x-1,pixel.y) && !isEmpty(pixel.x-1,pixel.y-1) && (outOfBounds(pixel.x-1,pixel.y-1) || pixelMap[pixel.x-1][pixel.y-1].element !== "flesh_mound")) { + createPixel("flesh_mound",pixel.x-1,pixel.y); + pixelMap[pixel.x-1][pixel.y].fruit = pixel.fruit; + } + if (Math.random() < 0.03 && isEmpty(pixel.x+1,pixel.y) && !isEmpty(pixel.x+1,pixel.y-1) && (outOfBounds(pixel.x+1,pixel.y-1) || pixelMap[pixel.x+1][pixel.y-1].element !== "flesh_mound")) { + createPixel("flesh_mound",pixel.x+1,pixel.y); + pixelMap[pixel.x+1][pixel.y].fruit = pixel.fruit; + } + if (Math.random() < 0.03 && isEmpty(pixel.x,pixel.y-1) && ( + (!isEmpty(pixel.x-1,pixel.y-1) && (outOfBounds(pixel.x-1,pixel.y-1) || pixelMap[pixel.x-1][pixel.y-1].element !== "flesh_mound")) || + (!isEmpty(pixel.x+1,pixel.y-1) && (outOfBounds(pixel.x+1,pixel.y-1) || pixelMap[pixel.x+1][pixel.y-1].element !== "flesh_mound"))) + ) { + createPixel("flesh_mound",pixel.x,pixel.y-1); + pixelMap[pixel.x][pixel.y-1].fruit = pixel.fruit; + } + if (pixel.fruit && Math.random() < 0.0001) { + for (var i = 0; i < adjacentCoords.length; i++) { + var coords = adjacentCoords[i]; + var x = pixel.x + coords[0]; + var y = pixel.y + coords[1]; + if (isEmpty(x,y)) { + createPixel(pixel.fruit,x,y) + break; + } + } + } + if (pixel.h < 2 && Math.random() < 0.0005 && isEmpty(pixel.x,pixel.y-1)) { + createPixel(pixel.element,pixel.x,pixel.y-1); + pixelMap[pixel.x][pixel.y-1].h = pixel.h+1; + } + var coords = [ + [pixel.x+1,pixel.y], + [pixel.x-1,pixel.y], + [pixel.x+1,pixel.y+1], + [pixel.x-1,pixel.y+1], + ]; + for (var i = 0; i < coords.length; i++) { + if (Math.random() < 0.005 && isEmpty(coords[i][0],coords[i][1])) { + if (!isEmpty(coords[i][0],coords[i][1]+1,true)) { + var soil = pixelMap[coords[i][0]][coords[i][1]+1]; + if (eLists.FESTER.indexOf(soil.element) !== -1) { + createPixel(pixel.element,coords[i][0],coords[i][1]); + } + } + } + } + if (Math.random() < 0.0002 && pixel.age > 500 && pixel.temp < 90 && pixel.rooting === false) { + pixel.rooting = true; + } + if (Math.random() < 0.002 && pixel.age > 500 && pixel.temp < 90 && pixel.rooting === true) { + if (!outOfBounds(pixel.x,pixel.y+1)) { + var dirtPixel = pixelMap[pixel.x][pixel.y+1]; + if (dirtPixel && (eLists.FESTER.indexOf(dirtPixel.element) !== -1 || dirtPixel.element === "grass")) { + changePixel(dirtPixel,"vein_root"); + } + } + } + pixel.age++; + doDefaults(pixel); + }, + renderer: renderPresets.PLANTCHAR, + properties: { + "h": 0, + "age": 0, + "rooting": false, + "fruit": undefined, + }, + reactions: { + "cell": { elem2:"flesh_mound", chance:0.005 }, + "sugar_water": { elem2:"flesh_mound", chance:0.05 }, + "mucus": { elem2:null, chance:0.005 }, + "plant": { elem2:["dead_plant","flesh_mound"], chance:0.005 }, + "grass": { elem2:["dead_plant","flesh_mound"], chance:0.005 }, + }, + tempHigh: 100, + stateHigh: "meat", + tempLow: -2, + stateLow: "frozen_meat", + burn:3, + burnTime:20, + breakInto: "meat", + category:"flesh", + state: "solid", + density: 1400, +} + +elements.vein_root = { + color: ["#c72114","#8d3728","#a95338","#c72114","#d83225","#c1745b","#903830", "#c72114",], + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "CH:dirt,mud,sand,wet_sand,clay_soil,clay,mycelium,grass,color_sand,skin,meat,rotten_meat,concrete,dead_plant,dead_bug,root>vein_root,fibrous_flesh%0.5 AND CR:vein_root%0.005|CH:dirt,mud,sand,wet_sand,clay_soil,clay,mycelium,grass,color_sand,skin,meat,rotten_meat,concrete,dead_plant,dead_bug,root>vein_root,fibrous_flesh,fibrous_flesh%0.5|CH:dirt,mud,sand,wet_sand,clay_soil,clay,mycelium,grass,color_sand,skin,meat,rotten_meat,concrete,dead_plant,dead_bug,root>vein_root,fibrous_flesh%0.5 AND CR:vein_root%0.005", + ], + reactions: { + "rock": { elem2:"sand", chance:0.0008 }, + "mud": { elem2:"dirt", chance:0.01 }, + "wet_sand": { elem2:"sand", chance:0.01 }, + "water": { elem2:null, chance:0.001 }, + "blood": { elem2:null, chance:0.01 }, + "sugar_water": { elem2:null, chance:0.0025 }, + "mucus": { elem2:null, chance:0.0025 } + }, + tempHigh: 175, + stateHigh: "meat", + tempLow: -50, + stateLow: "frozen_meat", + burn: 20, + burnTime: 60, + burnInto: "meat", + breakInto: "blood", + category: "flesh", + state: "solid", + density: 1250, + conduct: 0.1, + hidden: true +} + +elements.fibrous_flesh = { + color: ["#c72114","#7c2617","#984227","#c72114","#b0634a","#802720","#c72114"], + behavior: behaviors.STURDYPOWDER, + tempHigh:175, + stateHigh: "meat", + tempLow: -50, + stateLow: "frozen_meat", + burn: 20, + burnTime: 60, + burnInto: "meat", + category:"flesh", + hidden: true, + breakInto: "blood", + state: "solid", + density: 462 +} + +elements.solid_flesh = { + color: ["#7c2617","#984227","#c72114","#b0634a","#802720"], + behavior: behaviors.WALL, + tempHigh:175, + stateHigh: "meat", + tempLow: -50, + stateLow: "frozen_meat", + burn: 20, + burnTime: 60, + burnInto: "meat", + category:"flesh", + hidden: true, + breakInto: ["blood","meat","meat"], + state: "solid", + density: 462 +} + +elements.flesh_beast = { + color: ["#9e4839","#ba6449","#a14940"], + behavior: [ + "XX|CR:mucus%0.05 AND M2%1.5|M2%5 AND SW:mucus%14", + "XX|FX%2|M2 AND BO", + "XX|M1|M2 AND SW:mucus%14", + ], + reactions: { + "cell": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, + "head": { elem2:"flesh_mound", chance:0.001, func:behaviors.FEEDPIXEL }, + "body": { elem2:"flesh_mound", chance:0.001, func:behaviors.FEEDPIXEL }, + "frog": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, + "tadpole": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, + "fish": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, + "rat": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, + "bird": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, + "bone": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, + "bone_marrow": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, + "skin": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, + "sugar": { elem2:"flesh_mound", chance:0.04, func:behaviors.FEEDPIXEL }, + "sugar_water": { elem2:"flesh_mound", chance:0.05, func:behaviors.FEEDPIXEL }, + "plant": { elem2:["dead_plant","flesh_mound",null], chance:0.005, func:behaviors.FEEDPIXEL }, + "grass": { elem2:["dead_plant","flesh_mound",null], chance:0.005, func:behaviors.FEEDPIXEL }, + "oxygen": { elem2:"carbon_dioxide", chance:0.5 }, + "meat": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL }, + "cooked_meat": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL }, + "cured_meat": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL }, + "cheese": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "rotten_cheese": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "melted_cheese": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, + "tomato": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "sauce": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, + "vine": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "evergreen": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "algae": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "grass_seed": { elem2:null, chance:0.3 , func:behaviors.FEEDPIXEL}, + "wheat_seed": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, + "wheat": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "potato_seed": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, + "potato": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "corn_seed": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, + "corn": { elem2:null, chance:0.1 , func:behaviors.FEEDPIXEL}, + "lichen": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL }, + "flower_seed": { elem2:null, chance:0.4 , func:behaviors.FEEDPIXEL}, + "flour": { elem2:null, chance:0.1 , func:behaviors.FEEDPIXEL}, + "dough": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "bread": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "toast": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "gingerbread": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL }, + "rice": { elem2:null, chance:0.1 , func:behaviors.FEEDPIXEL}, + "yogurt": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL }, + "beans": { elem2:null, chance:0.15, func:behaviors.FEEDPIXEL }, + "salt": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "sugar": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "crumb": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "herb": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "popcorn": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, + "candy": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, + "caramel": { elem2:null, chance:0.4, func:behaviors.FEEDPIXEL }, + "lichen": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "egg": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "yolk": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "eggnog": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "milk": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "grape": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL }, + "batter": { elem2:null, chance:0.25, func:behaviors.FEEDPIXEL }, + "baked_batter": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "butter": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "melted_butter": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, + "lettuce": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "baked_potato": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "ice_cream": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "cream": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, + "pumpkin": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "pumpkin_seed": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, + "coffee_bean": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "coffee_ground": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "nut": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "nut_meat": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "nut_butter": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "jelly": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "worm": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL }, + "ant": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, + "frog": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, + "snail": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL }, + "slug": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL } + }, + egg: "flesh_beast", + category: "flesh", + temp: 37.6, + tempHigh: 120, + stateHigh: "rotten_meat", + tempLow: -18, + stateLow: "frozen_meat", + breakInto: ["mucus","rotten_meat"], + burn:80, + burnTime:150, + state: "solid", + density: 1450, + conduct: 0.25 +} + +elements.flesh_wood = { + color: ["#9e4839","#ba6449","#a14940"], + tick: function(pixel) { + if (!pixel.burning) { + if (!pixel.lc) { pixel.lc = "#7c2617" } + if (!pixel.wc) { pixel.wc = "#ba6449" } + if (isEmpty(pixel.x-1,pixel.y-1) && Math.random() < 0.02) { + if (Math.random() < 0.55) { + createPixel("solid_flesh",pixel.x-1,pixel.y-1); + pixelMap[pixel.x-1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x-1][pixel.y-1], pixel.lc); + } + else { + createPixel("flesh_wood",pixel.x-1,pixel.y-1); + pixelMap[pixel.x-1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x-1][pixel.y-1], pixel.wc); + pixelMap[pixel.x-1][pixel.y-1].wc = pixel.wc; + pixelMap[pixel.x-1][pixel.y-1].lc = pixel.lc; + } + } + if (isEmpty(pixel.x+1,pixel.y-1) && Math.random() < 0.02) { + if (Math.random() < 0.55) { + createPixel("solid_flesh",pixel.x+1,pixel.y-1); + pixelMap[pixel.x+1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x+1][pixel.y-1], pixel.lc); + } + else { + createPixel("flesh_wood",pixel.x+1,pixel.y-1); + pixelMap[pixel.x+1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x+1][pixel.y-1], pixel.wc); + pixelMap[pixel.x+1][pixel.y-1].wc = pixel.wc; + pixelMap[pixel.x+1][pixel.y-1].lc = pixel.lc; + } + } + if (isEmpty(pixel.x,pixel.y-1) && Math.random() < 0.02) { + if (Math.random() < 0.8) { + createPixel("solid_flesh",pixel.x,pixel.y-1); + pixelMap[pixel.x][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x][pixel.y-1], pixel.lc); + } + else { + createPixel("flesh_wood",pixel.x,pixel.y-1); + pixelMap[pixel.x][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x][pixel.y-1], pixel.wc); + pixelMap[pixel.x][pixel.y-1].wc = pixel.wc; + pixelMap[pixel.x][pixel.y-1].lc = pixel.lc; + } + } + } + doDefaults(pixel); + }, + renderer: renderPresets.WOODCHAR, + movable: false, + tempHigh: 175, + stateHigh: "meat", + tempLow: -30, + stateLow: "meat", + category: "flesh", + burn: 2, + burnTime: 300, + burnInto: ["blood","ash","cooked_meat","ash"], + hidden: true, + state: "solid", + density: 1500, + hardness: 0.15, + breakInto: ["blood","meat"], + forceSaveColor: true +} + +elements.mucus = { + color: ["#81cf63","#81cf63","#81cf63","#81cf63","#81cf63","#81cf63","#439809","#258b08","#118511","#127b12","#136d14"], + behavior: [ + "XX|DB%1 AND SW:flesh_mound%90|XX", + "DB%1 AND M2%25|DL%0.001|DB%1 AND M2%25", + "DB%1 AND M2%25|DB%2 AND M1|DB%1 AND M2%25", + ], + ignore: ["flesh_beast","flesh_mound","vein_root","glass","rad_glass","glass_shard","rad_shard","stained_glass","baked_clay","acid","acid_gas","neutral_acid","acid_cloud","water","salt_water","sugar_water","dirty_water","copper","gold","porcelain","plastic","bead","microplastic","molten_plastic","pool_water","chlorine","hydrogen","gold_coin","silver","nickel","calcium","bone","earthquake","tornado","tsunami","liquid_light","sensor"], + reactions: { + "ash": { elem1:null, elem2:null }, + "limestone": { elem1:null, elem2:["calcium","carbon_dioxide"] }, + "quicklime": { elem1:null, elem2:null }, + "slaked_lime": { elem1:null, elem2:null }, + "borax": { elem1:null, elem2:null }, + "ammonia": { elem1:null, elem2:null }, + "bleach": { elem1:null, elem2:null }, + "cement": { elem1:null, elem2:null }, + "caustic_potash": { elem1:"water", elem2:"potassium_salt" }, + "bone": { elem2:"flesh_mound", chance:0.01 }, + "water": { elem1:null, elem2:"dirty_water" }, + "salt_water": { elem1:null, elem2:"water" }, + "sugar_water": { elem1:null, elem2:"water" }, + "plant": { elem2:["dead_plant","flesh_mound"], chance:0.005 }, + "grass": { elem2:["dead_plant","flesh_mound"], chance:0.005 }, + "tree_branch": { elem1:null, elem2:["wood","wood","dead_plant","flesh_mound"] }, + "charcoal": { elem1:null, elem2:"carbon_dioxide" }, + "rock": { elem1:null, elem2:"sand", chance:0.05 }, + "baking_soda": { elem1:"salt_water", elem2:["carbon_dioxide","foam"] }, + "calcium": { elem1:"chlorine", elem2:"hydrogen", chance:0.01 }, + "zinc": { elem1:"hydrogen", elem2:null, chance:0.03 }, + "sugar": { elem1:"steam", elem2:"carbon_dioxide" }, + }, + tempHigh: 120, + stateHigh: ["steam","steam","salt"], + tempLow: 0, + category:"liquids", + state: "liquid", + density: 1450, + stain: 0.05 +} \ No newline at end of file From e59ed7cf6c6b0e66992b24f5638f3d6b599e3c2d Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Mon, 14 Oct 2024 20:21:29 -0700 Subject: [PATCH 14/38] Bugfixes and more flesh content --- mods/flesh_infection.js | 307 +++++++++++++++++++++++++++++++++------- 1 file changed, 256 insertions(+), 51 deletions(-) diff --git a/mods/flesh_infection.js b/mods/flesh_infection.js index 2755d0b9..8ee771aa 100644 --- a/mods/flesh_infection.js +++ b/mods/flesh_infection.js @@ -1,15 +1,110 @@ -eLists.FESTER = ["dirt","rock","rock_wall","basalt","limestone","steel","iron","dead_bug","mud","sand","wet_sand","clay_soil","clay","mycelium","skin","meat","rotten_meat","wood","ant_wall","dead_plant","plant","hair","bone","cancer","straw","cloth","brick","bamboo","sponge","paper","plastic","concrete"], +// by Nekonico -elements.jaws = { +eLists.FESTER = ["fleshy_dirt","dirt","rock","rock_wall","basalt","limestone","steel","iron","dead_bug","mud","sand","wet_sand","clay_soil","clay","mycelium","skin","meat","rotten_meat","wood","ant_wall","dead_plant","plant","hair","bone","cancer","straw","cloth","brick","bamboo","sponge","paper","plastic","concrete"], + +elements.fleshy_dirt = { + color: ["#81512F","#895933","#825231","#906159"], + behavior: [ + "CH:dirt,mud>fleshy_dirt%1|CH:grass>flesh_mound%0.5 AND CH:root>vein_root%0.5 AND CH:fiber>fibrous_flesh%0.5|CH:dirt,mud>fleshy_dirt%1", + "XX|XX|XX", + "M2 AND CH:dirt,mud>fleshy_dirt%1|M1 AND CH:dirt,mud>fleshy_dirt%0.5|M2 AND CH:dirt,mud>fleshy_dirt%1", + ], + category: "flesh", + state: "solid", + density: 2000, + tempHigh: 225, + stateHigh: "dirt", + tempLow: -50, + stateLow: "permafrost", + burn: 20, + burnTime: 40, + burnInto: "dirt", +}; + +elements.teeth = { color: "#d9d9d9", behavior: [ - "XX|ST:flesh_mound AND SM%0.75|XX", + "XX|SM%0.75|XX", "ST:flesh_mound|XX|ST:flesh_mound", "XX|ST:flesh_mound AND M1|XX", ], reactions: { - "sugar": { "elem1": "quicklime", "elem2": null, "chance": 0.003 }, - "acid": { "elem1": "quicklime", "elem2": null }, + "acid": { elem1: "quicklime", elem2: null }, + "head": { elem2:["flesh_mound",null,null,null], chance:0.01 }, + "body": { elem2:["flesh_mound",null,null,null], chance:0.01 }, + "frog": { elem2:["flesh_mound",null,null,null], chance:0.05 }, + "tadpole": { elem2:["flesh_mound",null,null,null], chance:0.05 }, + "fish": { elem2:["flesh_mound",null,null,null], chance:0.05 }, + "rat": { elem2:["flesh_mound",null,null,null], chance:0.05 }, + "bird": { elem2:["flesh_mound",null,null,null], chance:0.05 }, + "worm": { elem2:["flesh_mound",null], chance:0.1 }, + "fly": { elem2:["flesh_mound",null], chance:0.1 }, + "ant": { elem2:["flesh_mound",null], chance:0.1 }, + "frog": { elem2:["flesh_mound",null], chance:0.05 }, + "snail": { elem2:["flesh_mound","quicklime"] }, + "slug": { elem2:["flesh_mound",null], chance:0.1 }, + "meat": { elem2:["flesh_mound",null,null,null], chance:0.1 }, + "blood": { elem2:null, chance:0.05 }, + "infection": { elem2:null, chance:0.04 }, + "bone": { elem2:null, chance:0.1 }, + "cooked_meat": { elem2:null, chance:0.1 }, + "rotten_meat": { elem2:null, chance:0.1 }, + "sugar": { elem2:null, chance:0.1 }, + "broth": { elem2:null, chance:0.2 }, + "yolk": { elem2:null, chance:0.1 }, + "hard_yolk": { elem2:null, chance:0.1 }, + "dough": { elem2:null, chance:0.1 }, + "batter": { elem2:null, chance:0.2 }, + "butter": { elem2:null, chance:0.1 }, + "melted_butter": { elem2:null, chance:0.2 }, + "chocolate": { elem2:null, chance:0.2 }, + "melted_chocolate": { elem2:null, chance:0.3 }, + "grape": { elem2:null, chance:0.1 }, + "tomato": { elem2:null, chance:0.1 }, + "herb": { elem2:null, chance:0.1 }, + "lettuce": { elem2:null, chance:0.1 }, + "corn": { elem2:null, chance:0.1 }, + "popcorn": { elem2:null, chance:0.15 }, + "potato": { elem2:null, chance:0.1 }, + "baked_potato": { elem2:null, chance:0.15 }, + "bread": { elem2:null, chance:0.1 }, + "toast": { elem2:null, chance:0.1 }, + "gingerbread": { elem2:null, chance:0.1 }, + "baked_batter": { elem2:null, chance:0.2 }, + "wheat": { elem2:null, chance:0.1 }, + "candy": { elem2:null, chance:0.1 }, + "yogurt": { elem2:null, chance:0.2 }, + "frozen_yogurt": { elem2:null, chance:0.1 }, + "ice_cream": { elem2:null, chance:0.2 }, + "beans": { elem2:null, chance:0.2 }, + "tea": { elem2:null, chance:0.2 }, + "coffee": { elem2:null, chance:0.2 }, + "milk": { elem2:null, chance:0.2 }, + "cream": { elem2:null, chance:0.2 }, + "soda": { elem2:null, chance:0.2 }, + "chocolate_milk": { elem2:null, chance:0.2 }, + "fruit_milk": { elem2:null, chance:0.2 }, + "pilk": { elem2:null, chance:0.2 }, + "eggnog": { elem2:null, chance:0.2 }, + "juice": { elem2:null, chance:0.2 }, + "cheese": { elem2:null, chance:0.1 }, + "melted_cheese": { elem2:null, chance:0.2 }, + "alcohol": { elem2:null, chance:0.2 }, + "antidote": { elem2:null, chance:0.2 }, + "honey": { elem2:null, chance:0.2 }, + "caramel": { elem2:null, chance:0.2 }, + "molasses": { elem2:null, chance:0.05 }, + "ketchup": { elem2:null, chance:0.1 }, + "pumpkin_seed": { elem2:null, chance:0.1 }, + "nut": { elem2:null, chance:0.1 }, + "nut_meat": { elem2:null, chance:0.1 }, + "nut_butter": { elem2:null, chance:0.1 }, + "nut_milk": { elem2:null, chance:0.2 }, + "jelly": { elem2:null, chance:0.2 }, + "mayo": { elem2:null, chance:0.2 }, + "mashed_potato": { elem2:null, chance:0.2 }, + "sauce": { elem2:null, chance:0.2 }, + "pickle": { elem2:null, chance:0.1 }, }, category:"flesh", tempHigh: 1000, @@ -19,39 +114,39 @@ elements.jaws = { hardness: 0.5, breakInto: ["flesh_mound","quicklime"], hidden: true, - ignore: ["jaws","flesh_mound","flesh_beast","solid_flesh","flesh_wood"] + excludeRandom: true, }, elements.flesh_mound = { color: ["#9e4839","#ba6449","#d2856c","#a14940","#E94336"], behavior: [ - "XX|CR:mucus%0.005|XX", - "CR:mucus%0.005|XX|CR:mucus%0.005", - "XX|CR:mucus%0.005|XX", + "XX|CR:acidic_bile%0.005 AND CH:grass>flesh_mound%0.5 AND CR:fleshwood_sapling%0.0001|XX", + "CR:acidic_bile%0.005 AND CH:grass>flesh_mound%0.5|XX|CR:acidic_bile%0.005 AND CH:grass>flesh_mound%0.5", + "XX|CR:acidic_bile%0.005 AND CH:grass>flesh_mound%0.5 AND CH:dirt>fleshy_dirt%0.5|XX", ], tick: function(pixel) { if (pixel.start === pixelTicks && pixel.fruit === undefined && !pixel.stop) { if (Math.random() < 0.95) { - pixel.fruit = Math.random() < 0.75 ? "flesh_beast" : "jaw"; + pixel.fruit = Math.random() < 0.75 ? "flesh_beast" : "teeth"; } - else { pixel.fruit = null } + else { pixel.fruit = "acidic_bile" } } if (!isEmpty(pixel.x-1,pixel.y,true)) { if (pixelMap[pixel.x-1][pixel.y].fruit === undefined && pixelMap[pixel.x-1][pixel.y].element === "flesh_mound") { pixelMap[pixel.x-1][pixel.y].fruit = pixel.fruit; } } - else if (!isEmpty(pixel.x+1,pixel.y,true)) { + if (!isEmpty(pixel.x+1,pixel.y,true)) { if (pixelMap[pixel.x+1][pixel.y].fruit === undefined && pixelMap[pixel.x+1][pixel.y].element === "flesh_mound") { pixelMap[pixel.x+1][pixel.y].fruit = pixel.fruit; } } - else if (!isEmpty(pixel.x,pixel.y+1,true)) { + if (!isEmpty(pixel.x,pixel.y+1,true)) { if (pixelMap[pixel.x][pixel.y+1].fruit === undefined && pixelMap[pixel.x][pixel.y+1].element === "flesh_mound") { pixelMap[pixel.x][pixel.y+1].fruit = pixel.fruit; } } - else if (!isEmpty(pixel.x,pixel.y-1,true)) { + if (!isEmpty(pixel.x,pixel.y-1,true)) { if (pixelMap[pixel.x][pixel.y-1].fruit === undefined && pixelMap[pixel.x][pixel.y-1].element === "flesh_mound") { pixelMap[pixel.x][pixel.y-1].fruit = pixel.fruit; } @@ -141,6 +236,7 @@ elements.flesh_mound = { pixel.age++; doDefaults(pixel); }, + ignore: ["teeth","flesh_mound","flesh_beast"], renderer: renderPresets.PLANTCHAR, properties: { "h": 0, @@ -150,10 +246,21 @@ elements.flesh_mound = { }, reactions: { "cell": { elem2:"flesh_mound", chance:0.005 }, + "skin": { elem2:"flesh_mound", chance:0.005 }, "sugar_water": { elem2:"flesh_mound", chance:0.05 }, - "mucus": { elem2:null, chance:0.005 }, - "plant": { elem2:["dead_plant","flesh_mound"], chance:0.005 }, - "grass": { elem2:["dead_plant","flesh_mound"], chance:0.005 }, + "acidic_bile": { elem2:null, chance:0.005 }, + "plant": { elem2:["dead_plant","solid_flesh"], chance:0.005 }, + "dead_plant": { elem2:"flesh_mound", chance:0.005 }, + "sapling": { elem2:"fleshwood_sapling", chance:0.005 }, + "wood": { elem2:"dry_fleshwood", chance:0.005 }, + "tree_branch": { elem2:"fleshwood", chance:0.005 }, + "head": { elem2:"flesh_mound", chance:0.001}, + "body": { elem2:"flesh_mound", chance:0.001 }, + "frog": { elem2:"flesh_mound", chance:0.005 }, + "tadpole": { elem2:"flesh_mound", chance:0.005 }, + "fish": { elem2:"flesh_mound", chance:0.005 }, + "rat": { elem2:"flesh_mound", chance:0.005 }, + "bird": { elem2:"flesh_mound", chance:0.005 }, }, tempHigh: 100, stateHigh: "meat", @@ -172,7 +279,7 @@ elements.vein_root = { behavior: [ "XX|XX|XX", "XX|XX|XX", - "CH:dirt,mud,sand,wet_sand,clay_soil,clay,mycelium,grass,color_sand,skin,meat,rotten_meat,concrete,dead_plant,dead_bug,root>vein_root,fibrous_flesh%0.5 AND CR:vein_root%0.005|CH:dirt,mud,sand,wet_sand,clay_soil,clay,mycelium,grass,color_sand,skin,meat,rotten_meat,concrete,dead_plant,dead_bug,root>vein_root,fibrous_flesh,fibrous_flesh%0.5|CH:dirt,mud,sand,wet_sand,clay_soil,clay,mycelium,grass,color_sand,skin,meat,rotten_meat,concrete,dead_plant,dead_bug,root>vein_root,fibrous_flesh%0.5 AND CR:vein_root%0.005", + "CH:fleshy_dirt,dirt,mud,sand,wet_sand,clay_soil,clay,mycelium,grass,color_sand,skin,meat,rotten_meat,concrete,dead_plant,dead_bug,root>vein_root,fibrous_flesh%0.5 AND CR:vein_root%0.005|CH:fleshy_dirt,dirt,mud,sand,wet_sand,clay_soil,clay,mycelium,grass,color_sand,skin,meat,rotten_meat,concrete,dead_plant,dead_bug,root>vein_root,fibrous_flesh,fibrous_flesh%0.5|CH:fleshy_dirt,dirt,mud,sand,wet_sand,clay_soil,clay,mycelium,grass,color_sand,skin,meat,rotten_meat,concrete,dead_plant,dead_bug,root>vein_root,fibrous_flesh%0.5 AND CR:vein_root%0.005", ], reactions: { "rock": { elem2:"sand", chance:0.0008 }, @@ -181,7 +288,7 @@ elements.vein_root = { "water": { elem2:null, chance:0.001 }, "blood": { elem2:null, chance:0.01 }, "sugar_water": { elem2:null, chance:0.0025 }, - "mucus": { elem2:null, chance:0.0025 } + "acidic_bile": { elem2:null, chance:0.0025 } }, tempHigh: 175, stateHigh: "meat", @@ -218,6 +325,12 @@ elements.fibrous_flesh = { elements.solid_flesh = { color: ["#7c2617","#984227","#c72114","#b0634a","#802720"], behavior: behaviors.WALL, + reactions: { + "plant": { elem2:["dead_plant","solid_flesh"], chance:0.005 }, + "grass": { elem2:["dead_plant","flesh_mound"], chance:0.005 }, + "tree_branch": { elem1:null, elem2:"fleshwood" }, + "sapling": { elem2:"fleshwood_sapling", chance:0.005 }, + }, tempHigh:175, stateHigh: "meat", tempLow: -50, @@ -235,30 +348,30 @@ elements.solid_flesh = { elements.flesh_beast = { color: ["#9e4839","#ba6449","#a14940"], behavior: [ - "XX|CR:mucus%0.05 AND M2%1.5|M2%5 AND SW:mucus%14", - "XX|FX%2|M2 AND BO", - "XX|M1|M2 AND SW:mucus%14", + "XX|CR:acidic_bile%0.05 AND M2%0.5|M2%5 AND SW:acidic_bile,meat,rotten_meat,blood%14", + "XX|FX%2|M2%50 AND BO", + "XX|M1|M2%50 AND SW:acidic_bile,meat,rotten_meat,blood%14", ], reactions: { - "cell": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, - "head": { elem2:"flesh_mound", chance:0.001, func:behaviors.FEEDPIXEL }, - "body": { elem2:"flesh_mound", chance:0.001, func:behaviors.FEEDPIXEL }, - "frog": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, - "tadpole": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, - "fish": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, - "rat": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, - "bird": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, - "bone": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, - "bone_marrow": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, + "cell": { elem2:"flesh_mound", chance:0.05, func:behaviors.FEEDPIXEL }, + "head": { elem2:["flesh_mound",null], chance:0.01, func:behaviors.FEEDPIXEL }, + "body": { elem2:["flesh_mound",null], chance:0.01, func:behaviors.FEEDPIXEL }, + "frog": { elem2:["flesh_mound",null], chance:0.05, func:behaviors.FEEDPIXEL }, + "tadpole": { elem2:["flesh_mound",null], chance:0.05, func:behaviors.FEEDPIXEL }, + "fish": { elem2:["flesh_mound",null], chance:0.05, func:behaviors.FEEDPIXEL }, + "rat": { elem2:["flesh_mound",null], chance:0.05, func:behaviors.FEEDPIXEL }, + "bird": { elem2:["flesh_mound",null], chance:0.05, func:behaviors.FEEDPIXEL }, + "bone": { elem2:"quicklime", chance:0.005, func:behaviors.FEEDPIXEL }, + "bone_marrow": { elem2:["flesh_mound","quicklime"], chance:0.005, func:behaviors.FEEDPIXEL }, "skin": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, - "sugar": { elem2:"flesh_mound", chance:0.04, func:behaviors.FEEDPIXEL }, - "sugar_water": { elem2:"flesh_mound", chance:0.05, func:behaviors.FEEDPIXEL }, + "sugar": { elem2:null, chance:0.04, func:behaviors.FEEDPIXEL }, + "sugar_water": { elem2:null, chance:0.05, func:behaviors.FEEDPIXEL }, "plant": { elem2:["dead_plant","flesh_mound",null], chance:0.005, func:behaviors.FEEDPIXEL }, "grass": { elem2:["dead_plant","flesh_mound",null], chance:0.005, func:behaviors.FEEDPIXEL }, "oxygen": { elem2:"carbon_dioxide", chance:0.5 }, - "meat": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL }, - "cooked_meat": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL }, - "cured_meat": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL }, + "meat": { elem2:["flesh_mound",null], chance:0.01, func:behaviors.FEEDPIXEL }, + "cooked_meat": { elem2:["flesh_mound",null,null,null], chance:0.1, func:behaviors.FEEDPIXEL }, + "rotten_meat": { elem2:["flesh_mound","plague",null,null], chance:0.1, func:behaviors.FEEDPIXEL }, "cheese": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, "rotten_cheese": { elem2:null, chance:0.2, func:behaviors.FEEDPIXEL }, "melted_cheese": { elem2:null, chance:0.3, func:behaviors.FEEDPIXEL }, @@ -313,12 +426,17 @@ elements.flesh_beast = { "nut_meat": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, "nut_butter": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, "jelly": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, - "worm": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL }, - "ant": { elem2:null, chance:0.1, func:behaviors.FEEDPIXEL }, - "frog": { elem2:"flesh_mound", chance:0.005, func:behaviors.FEEDPIXEL }, - "snail": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL }, - "slug": { elem2:"flesh_mound", chance:0.1, func:behaviors.FEEDPIXEL } + "worm": { elem2:["flesh_mound",null], chance:0.1, func:behaviors.FEEDPIXEL }, + "fly": { elem2:["flesh_mound",null], chance:0.1, func:behaviors.FEEDPIXEL }, + "ant": { elem2:["flesh_mound",null], chance:0.1, func:behaviors.FEEDPIXEL }, + "frog": { elem2:["flesh_mound",null], chance:0.05, func:behaviors.FEEDPIXEL }, + "snail": { elem2:["flesh_mound","quicklime"], chance:0.1, func:behaviors.FEEDPIXEL }, + "slug": { elem2:["flesh_mound",null], chance:0.1, func:behaviors.FEEDPIXEL }, + "sapling": { elem2:"fleshwood_sapling", chance:0.005 }, + "wood": { elem2:"dry_fleshwood", chance:0.005 }, + "tree_branch": { elem2:"fleshwood", chance:0.005 }, }, + foodNeed: 2, egg: "flesh_beast", category: "flesh", temp: 37.6, @@ -326,7 +444,7 @@ elements.flesh_beast = { stateHigh: "rotten_meat", tempLow: -18, stateLow: "frozen_meat", - breakInto: ["mucus","rotten_meat"], + breakInto: ["acidic_bile","rotten_meat"], burn:80, burnTime:150, state: "solid", @@ -334,7 +452,63 @@ elements.flesh_beast = { conduct: 0.25 } -elements.flesh_wood = { +elements.fleshwood_sapling = { + color: ["#7c2617","#984227","#c72114","#b0634a","#802720"], + tick: function(pixel) { + if (!tryMove(pixel,pixel.x,pixel.y+1)) { + if (Math.random() < 0.02 && pixel.age > 50 && pixel.temp < 100) { + if (!outOfBounds(pixel.x,pixel.y+1)) { + var dirtPixel = pixelMap[pixel.x][pixel.y+1]; + if (dirtPixel && (eLists.FESTER.indexOf(dirtPixel.element) !== -1 || dirtPixel.element === "grass")) { + changePixel(dirtPixel,"vein_root"); + } + } + if (isEmpty(pixel.x,pixel.y-1)) { + if (!pixel.wc) { + var c = Math.random(); + if (c < 0.01) { pixel.wc="#632e1f"; pixel.lc="#7c2617" } + else if (c < 0.05) { pixel.wc="#9e4839"; pixel.lc="#7c2617" } + else if (c < 0.1) { pixel.wc="#9e4839"; pixel.lc="#984227" } + else if (c < 0.2) { pixel.wc="#a14940"; pixel.lc="#984227" } + else if (c < 0.3) { pixel.wc="#ba6449"; pixel.lc="#c72114" } + else if (c < 0.4) { pixel.wc="#a14940"; pixel.lc="#c72114" } + else if (c < 0.45) { pixel.wc="#ba6449"; pixel.lc="#b0634a" } + else if (c < 0.5) { pixel.wc="#a14940"; pixel.lc="#b0634a" } + else { pixel.wc="#9e4839"; pixel.lc="#802720" } + pixel.color = pixelColorPick(pixel, pixel.lc); + } + movePixel(pixel,pixel.x,pixel.y-1); + createPixel(Math.random() > 0.5 ? "dry_fleshwood" : "fleshwood",pixel.x,pixel.y+1); + pixelMap[pixel.x][pixel.y+1].wc = pixel.wc; + pixelMap[pixel.x][pixel.y+1].lc = pixel.lc; + pixelMap[pixel.x][pixel.y+1].color = pixelColorPick(pixelMap[pixel.x][pixel.y+1], pixel.wc); + } + } + else if (pixel.age > 1000 && Math.random() < 0.05) { + changePixel(pixel,"dry_fleshwood"); + pixel.color = pixelColorPick(pixel, pixel.wc); + } + pixel.age++; + } + doDefaults(pixel); + }, + properties: { + "age":0 + }, + tempHigh: 100, + stateHigh: "meat", + tempLow: -25, + stateLow: "meat", + burn: 65, + burnTime: 15, + category: "flesh", + state: "solid", + density: 1500, + cooldown: defaultCooldown, + seed: true +} + +elements.fleshwood = { color: ["#9e4839","#ba6449","#a14940"], tick: function(pixel) { if (!pixel.burning) { @@ -346,7 +520,7 @@ elements.flesh_wood = { pixelMap[pixel.x-1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x-1][pixel.y-1], pixel.lc); } else { - createPixel("flesh_wood",pixel.x-1,pixel.y-1); + createPixel("fleshwood",pixel.x-1,pixel.y-1); pixelMap[pixel.x-1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x-1][pixel.y-1], pixel.wc); pixelMap[pixel.x-1][pixel.y-1].wc = pixel.wc; pixelMap[pixel.x-1][pixel.y-1].lc = pixel.lc; @@ -358,7 +532,7 @@ elements.flesh_wood = { pixelMap[pixel.x+1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x+1][pixel.y-1], pixel.lc); } else { - createPixel("flesh_wood",pixel.x+1,pixel.y-1); + createPixel("fleshwood",pixel.x+1,pixel.y-1); pixelMap[pixel.x+1][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x+1][pixel.y-1], pixel.wc); pixelMap[pixel.x+1][pixel.y-1].wc = pixel.wc; pixelMap[pixel.x+1][pixel.y-1].lc = pixel.lc; @@ -370,7 +544,7 @@ elements.flesh_wood = { pixelMap[pixel.x][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x][pixel.y-1], pixel.lc); } else { - createPixel("flesh_wood",pixel.x,pixel.y-1); + createPixel("fleshwood",pixel.x,pixel.y-1); pixelMap[pixel.x][pixel.y-1].color = pixelColorPick(pixelMap[pixel.x][pixel.y-1], pixel.wc); pixelMap[pixel.x][pixel.y-1].wc = pixel.wc; pixelMap[pixel.x][pixel.y-1].lc = pixel.lc; @@ -380,6 +554,12 @@ elements.flesh_wood = { doDefaults(pixel); }, renderer: renderPresets.WOODCHAR, + reactions: { + "plant": { elem2:["dead_plant","solid_flesh"], chance:0.005 }, + "grass": { elem2:["dead_plant","flesh_mound"], chance:0.005 }, + "tree_branch": { elem1:null, elem2:"fleshwood" }, + "sapling": { elem2:"fleshwood_sapling", chance:0.005 }, + }, movable: false, tempHigh: 175, stateHigh: "meat", @@ -397,7 +577,31 @@ elements.flesh_wood = { forceSaveColor: true } -elements.mucus = { +elements.dry_fleshwood = { + color: ["#9e4839","#ba6449","#a14940"], + behavior: behaviors.WALL, + renderer: renderPresets.WOODCHAR, + reactions: { + "plant": { elem2:["dead_plant","solid_flesh"], chance:0.005 }, + "grass": { elem2:["dead_plant","flesh_mound"], chance:0.005 }, + "tree_branch": { elem1:null, elem2:"fleshwood" }, + "sapling": { elem2:"fleshwood_sapling", chance:0.005 }, + }, + tempHigh: 400, + stateHigh: ["ash","cooked_meat","fire","fire","fire"], + tempLow: -30, + stateLow: "meat", + category: "solids", + burn: 5, + burnTime: 300, + burnInto: ["ash","cooked_meat","fire"], + state: "solid", + hardness: 0.15, + breakInto: ["blood","meat"], + forceSaveColor: true +} + +elements.acidic_bile = { color: ["#81cf63","#81cf63","#81cf63","#81cf63","#81cf63","#81cf63","#439809","#258b08","#118511","#127b12","#136d14"], behavior: [ "XX|DB%1 AND SW:flesh_mound%90|XX", @@ -421,19 +625,20 @@ elements.mucus = { "sugar_water": { elem1:null, elem2:"water" }, "plant": { elem2:["dead_plant","flesh_mound"], chance:0.005 }, "grass": { elem2:["dead_plant","flesh_mound"], chance:0.005 }, - "tree_branch": { elem1:null, elem2:["wood","wood","dead_plant","flesh_mound"] }, + "tree_branch": { elem1:null, elem2:["dry_fleshwood","dry_fleshwood","dead_plant","fleshwood"] }, "charcoal": { elem1:null, elem2:"carbon_dioxide" }, "rock": { elem1:null, elem2:"sand", chance:0.05 }, "baking_soda": { elem1:"salt_water", elem2:["carbon_dioxide","foam"] }, "calcium": { elem1:"chlorine", elem2:"hydrogen", chance:0.01 }, "zinc": { elem1:"hydrogen", elem2:null, chance:0.03 }, "sugar": { elem1:"steam", elem2:"carbon_dioxide" }, + "sapling": { elem2:"fleshwood_sapling", chance:0.005 }, }, tempHigh: 120, stateHigh: ["steam","steam","salt"], tempLow: 0, - category:"liquids", + category:"flesh", state: "liquid", density: 1450, stain: 0.05 -} \ No newline at end of file +} From 927376734e7a24167f6e3be9d0251d2411160a10 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Tue, 15 Oct 2024 19:21:29 -0700 Subject: [PATCH 15/38] Moveable cubes --- mods/moveable_cubes.js | 258 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 258 insertions(+) create mode 100644 mods/moveable_cubes.js diff --git a/mods/moveable_cubes.js b/mods/moveable_cubes.js new file mode 100644 index 00000000..139d7ac2 --- /dev/null +++ b/mods/moveable_cubes.js @@ -0,0 +1,258 @@ +elements.steel_cube = { + color: "#71797e", + colorKey: { + "L":"#888f94", + "B":"#71797e" + }, + colorPattern: [ + "BBLB", + "BBBL", + "BLBB", + "LBBB" + ], + reactions: { + "water": { elem1:"rust", chance:0.002 }, + "salt_water": { elem1:"rust", chance:0.004 }, + "dirty_water": { elem1:"rust", chance:0.03 }, + "pool_water": { elem1:"rust", chance:0.03 }, + "sugar_water": { elem1:"rust", chance:0.003 }, + "seltzer": { elem1:"rust", chance:0.005 }, + "salt": { elem1:"rust", chance:0.003 }, + "blood": { elem1:"rust", chance:0.002 }, + "infection": { elem1:"rust", chance:0.002 }, + "antibody": { elem1:"rust", chance:0.002 }, + "coffee": { elem1:"rust", chance:0.0002 }, + "tea": { elem1:"rust", chance:0.0002 }, + "broth": { elem1:"rust", chance:0.0002 }, + "juice": { elem1:"rust", chance:0.0002 }, + "nut_milk": { elem1:"rust", chance:0.0002 }, + }, + tempHigh: 1455.5, + stateHigh: "molten_steel", + category: "cubes", + density: 7850, + conduct: 0.42, + hardness: 0.8, + tick: function(pixel) { + if (tryMove(pixel, pixel.x, pixel.y+1)) { // Fall + if (!isEmpty(pixel.x, pixel.y-2, true)) { + var cube2 = pixelMap[pixel.x][pixel.y-2]; + if (cube2.element == "steel") { + if (isEmpty(pixel.x, pixel.y-1)) { + movePixel(pixelMap[pixel.x][pixel.y-2], pixel.x, pixel.y-1); + } + else { + swapPixels(pixelMap[pixel.x][pixel.y-2], pixelMap[pixel.x][pixel.y-1]); + } + } + } + if (!isEmpty(pixel.x+1, pixel.y-1, true)) { + var cube2 = pixelMap[pixel.x+1][pixel.y-1]; + if (cube2.element == "steel") { + if (isEmpty(pixel.x+1, pixel.y)) { + movePixel(pixelMap[pixel.x+1][pixel.y-1], pixel.x+1, pixel.y); + } + else { + swapPixels(pixelMap[pixel.x+1][pixel.y-1], pixelMap[pixel.x+1][pixel.y]); + } + } + } + if (!isEmpty(pixel.x+2, pixel.y-1, true)) { + var cube2 = pixelMap[pixel.x+2][pixel.y-1]; + if (cube2.element == "steel") { + if (isEmpty(pixel.x+2, pixel.y)) { + movePixel(pixelMap[pixel.x+2][pixel.y-1], pixel.x+2, pixel.y); + } + else { + swapPixels(pixelMap[pixel.x+2][pixel.y-1], pixelMap[pixel.x+2][pixel.y]); + } + } + } + if (!isEmpty(pixel.x-1, pixel.y-1, true)) { + var cube2 = pixelMap[pixel.x-1][pixel.y-1]; + if (cube2.element == "steel") { + if (isEmpty(pixel.x-1, pixel.y)) { + movePixel(pixelMap[pixel.x-1][pixel.y-1], pixel.x-1, pixel.y); + } + else { + swapPixels(pixelMap[pixel.x-1][pixel.y-1], pixelMap[pixel.x-1][pixel.y]); + } + } + } + if (!isEmpty(pixel.x-2, pixel.y-1, true)) { + var cube2 = pixelMap[pixel.x-2][pixel.y-1]; + if (cube2.element == "steel") { + if (isEmpty(pixel.x-2, pixel.y)) { + movePixel(pixelMap[pixel.x-2][pixel.y-1], pixel.x-2, pixel.y); + } + else { + swapPixels(pixelMap[pixel.x-2][pixel.y-1], pixelMap[pixel.x-2][pixel.y]); + } + } + } + if (!isEmpty(pixel.x+1, pixel.y-2, true)) { + var cube2 = pixelMap[pixel.x+1][pixel.y-2]; + if (cube2.element == "steel") { + if (isEmpty(pixel.x+1, pixel.y-1)) { + movePixel(pixelMap[pixel.x+1][pixel.y-2], pixel.x+1, pixel.y-1); + } + else { + swapPixels(pixelMap[pixel.x+1][pixel.y-2], pixelMap[pixel.x+1][pixel.y-1]); + } + } + } + if (!isEmpty(pixel.x+2, pixel.y-2, true)) { + var cube2 = pixelMap[pixel.x+2][pixel.y-2]; + if (cube2.element == "steel") { + if (isEmpty(pixel.x+2, pixel.y-1)) { + movePixel(pixelMap[pixel.x+2][pixel.y-2], pixel.x+2, pixel.y-1); + } + else { + swapPixels(pixelMap[pixel.x+2][pixel.y-2], pixelMap[pixel.x+2][pixel.y-1]); + } + } + } + if (!isEmpty(pixel.x-1, pixel.y-2, true)) { + var cube2 = pixelMap[pixel.x-1][pixel.y-2]; + if (cube2.element == "steel") { + if (isEmpty(pixel.x-1, pixel.y-1)) { + movePixel(pixelMap[pixel.x-1][pixel.y-2], pixel.x-1, pixel.y-1); + } + else { + swapPixels(pixelMap[pixel.x-1][pixel.y-2], pixelMap[pixel.x-1][pixel.y-1]); + } + } + } + if (!isEmpty(pixel.x-2, pixel.y-2, true)) { + var cube2 = pixelMap[pixel.x-2][pixel.y-2]; + if (cube2.element == "steel") { + if (isEmpty(pixel.x-2, pixel.y-1)) { + movePixel(pixelMap[pixel.x-2][pixel.y-2], pixel.x-2, pixel.y-1); + } + else { + swapPixels(pixelMap[pixel.x-2][pixel.y-2], pixelMap[pixel.x-2][pixel.y-1]); + } + } + } + } + } +} + +elements.wood_cube = { + color: "#a0522d", + behavior: behaviors.WALL, + renderer: renderPresets.WOODCHAR, + tempHigh: 400, + stateHigh: ["ember","charcoal","fire","fire","fire"], + category: "cubes", + burn: 5, + burnTime: 300, + burnInto: ["ember","charcoal","fire"], + state: "solid", + hardness: 0.15, + breakInto: "sawdust", + forceSaveColor: true, + tick: function(pixel) { + if (tryMove(pixel, pixel.x, pixel.y+1)) { // Fall + if (!isEmpty(pixel.x, pixel.y-2, true)) { + var cube2 = pixelMap[pixel.x][pixel.y-2]; + if (cube2.element == "wood") { + if (isEmpty(pixel.x, pixel.y-1)) { + movePixel(pixelMap[pixel.x][pixel.y-2], pixel.x, pixel.y-1); + } + else { + swapPixels(pixelMap[pixel.x][pixel.y-2], pixelMap[pixel.x][pixel.y-1]); + } + } + } + if (!isEmpty(pixel.x+1, pixel.y-1, true)) { + var cube2 = pixelMap[pixel.x+1][pixel.y-1]; + if (cube2.element == "wood") { + if (isEmpty(pixel.x+1, pixel.y)) { + movePixel(pixelMap[pixel.x+1][pixel.y-1], pixel.x+1, pixel.y); + } + else { + swapPixels(pixelMap[pixel.x+1][pixel.y-1], pixelMap[pixel.x+1][pixel.y]); + } + } + } + if (!isEmpty(pixel.x+2, pixel.y-1, true)) { + var cube2 = pixelMap[pixel.x+2][pixel.y-1]; + if (cube2.element == "wood") { + if (isEmpty(pixel.x+2, pixel.y)) { + movePixel(pixelMap[pixel.x+2][pixel.y-1], pixel.x+2, pixel.y); + } + else { + swapPixels(pixelMap[pixel.x+2][pixel.y-1], pixelMap[pixel.x+2][pixel.y]); + } + } + } + if (!isEmpty(pixel.x-1, pixel.y-1, true)) { + var cube2 = pixelMap[pixel.x-1][pixel.y-1]; + if (cube2.element == "wood") { + if (isEmpty(pixel.x-1, pixel.y)) { + movePixel(pixelMap[pixel.x-1][pixel.y-1], pixel.x-1, pixel.y); + } + else { + swapPixels(pixelMap[pixel.x-1][pixel.y-1], pixelMap[pixel.x-1][pixel.y]); + } + } + } + if (!isEmpty(pixel.x-2, pixel.y-1, true)) { + var cube2 = pixelMap[pixel.x-2][pixel.y-1]; + if (cube2.element == "wood") { + if (isEmpty(pixel.x-2, pixel.y)) { + movePixel(pixelMap[pixel.x-2][pixel.y-1], pixel.x-2, pixel.y); + } + else { + swapPixels(pixelMap[pixel.x-2][pixel.y-1], pixelMap[pixel.x-2][pixel.y]); + } + } + } + if (!isEmpty(pixel.x+1, pixel.y-2, true)) { + var cube2 = pixelMap[pixel.x+1][pixel.y-2]; + if (cube2.element == "wood") { + if (isEmpty(pixel.x+1, pixel.y-1)) { + movePixel(pixelMap[pixel.x+1][pixel.y-2], pixel.x+1, pixel.y-1); + } + else { + swapPixels(pixelMap[pixel.x+1][pixel.y-2], pixelMap[pixel.x+1][pixel.y-1]); + } + } + } + if (!isEmpty(pixel.x+2, pixel.y-2, true)) { + var cube2 = pixelMap[pixel.x+2][pixel.y-2]; + if (cube2.element == "wood") { + if (isEmpty(pixel.x+2, pixel.y-1)) { + movePixel(pixelMap[pixel.x+2][pixel.y-2], pixel.x+2, pixel.y-1); + } + else { + swapPixels(pixelMap[pixel.x+2][pixel.y-2], pixelMap[pixel.x+2][pixel.y-1]); + } + } + } + if (!isEmpty(pixel.x-1, pixel.y-2, true)) { + var cube2 = pixelMap[pixel.x-1][pixel.y-2]; + if (cube2.element == "wood") { + if (isEmpty(pixel.x-1, pixel.y-1)) { + movePixel(pixelMap[pixel.x-1][pixel.y-2], pixel.x-1, pixel.y-1); + } + else { + swapPixels(pixelMap[pixel.x-1][pixel.y-2], pixelMap[pixel.x-1][pixel.y-1]); + } + } + } + if (!isEmpty(pixel.x-2, pixel.y-2, true)) { + var cube2 = pixelMap[pixel.x-2][pixel.y-2]; + if (cube2.element == "wood") { + if (isEmpty(pixel.x-2, pixel.y-1)) { + movePixel(pixelMap[pixel.x-2][pixel.y-2], pixel.x-2, pixel.y-1); + } + else { + swapPixels(pixelMap[pixel.x-2][pixel.y-2], pixelMap[pixel.x-2][pixel.y-1]); + } + } + } + } + } +} \ No newline at end of file From 50a2ff0ed87c339c63d638faba2dc03b7117c250 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Wed, 16 Oct 2024 19:56:47 -0700 Subject: [PATCH 16/38] Single Pixel Humans --- mods/single_humans.js | 147 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 mods/single_humans.js diff --git a/mods/single_humans.js b/mods/single_humans.js new file mode 100644 index 00000000..eebdb809 --- /dev/null +++ b/mods/single_humans.js @@ -0,0 +1,147 @@ +elements.single_human = { + color: ["#f3e7db","#f7ead0","#eadaba","#d7bd96","#a07e56","#825c43","#604134","#3a312a"], + category: "life", + tick: function(pixel) { + if (tryMove(pixel, pixel.x, pixel.y+1)) {} // Fall + doHeat(pixel); + doBurning(pixel); + doElectricity(pixel); + if (pixel.dead) { + // Turn into rotten_meat if pixelTicks-dead > 500 + if (pixelTicks-pixel.dead > 200 && Math.random() < 0.1) { + changePixel(pixel,"rotten_meat"); + } + return + } + + if (pixel.panic > 0) { + pixel.panic -= 0.1; + if (pixel.panic < 0) { pixel.panic = 0; } + } + + if (Math.random() < 0.1*(isEmpty(pixel.x, pixel.y+1) ? 1 : pixel.panic+1)) { // Move 10% chance + var movesToTry = [ + [1*pixel.dir,0], + [1*pixel.dir,-1], + ]; + // While movesToTry is not empty, tryMove(pixel, x, y) with a random move, then remove it. if tryMove returns true, break. + while (movesToTry.length > 0) { + var move = movesToTry.splice(Math.floor(Math.random() * movesToTry.length), 1)[0]; + if (isEmpty(pixel.x+move[0], pixel.y+move[1]-1)) { + var origx = pixel.x+move[0]; + var origy = pixel.y+move[1]; + if (tryMove(pixel, pixel.x+move[0], pixel.y+move[1]) && pixel.x===origx && pixel.y===origy) { + break; + } + } + else if (!isEmpty(pixel.x+move[0], pixel.y+move[1], true)) { + var hitPixel = pixelMap[pixel.x+move[0]][pixel.y+move[1]]; + if (hitPixel.element === "single_human") { + // interact with other humans + hitPixel.panic = pixel.panic; + } + } + } + // 15% chance to change direction + if (Math.random() < 0.15) { + pixel.dir *= -1; + } + // homeostasis + if (pixel.temp > 37) { pixel.temp -= 1; } + else if (pixel.temp < 37) { pixel.temp += 1; } + } + + }, + hidden: true, + density: 1080, + state: "solid", + conduct: .05, + temp: 37, + tempHigh: 200, + stateHigh: "cooked_meat", + tempLow: -30, + stateLow: "frozen_meat", + burn: 10, + burnTime: 250, + burnInto: "cooked_meat", + breakInto: ["blood","meat","bone"], + forceSaveColor: true, + reactions: { + "cancer": { elem1:"cancer", chance:0.005 }, + "radiation": { elem1:["ash","meat","rotten_meat","cooked_meat"], chance:0.4 }, + "neutron": { elem1:["ash","meat","rotten_meat","cooked_meat"], chance:0.03 }, + "fallout": { elem1:["ash","meat","rotten_meat","cooked_meat"], chance:0.03 }, + "plague": { elem1:"plague", chance:0.05 }, + "oxygen": { elem2:"carbon_dioxide", chance:0.5 }, + "meat": { elem2:null, chance:0.1 }, + "cooked_meat": { elem2:null, chance:0.1 }, + "cured_meat": { elem2:null, chance:0.1 }, + "sugar": { elem2:null, chance:0.1 }, + "broth": { elem2:null, chance:0.2 }, + "yolk": { elem2:null, chance:0.1 }, + "hard_yolk": { elem2:null, chance:0.1 }, + "dough": { elem2:null, chance:0.1 }, + "batter": { elem2:null, chance:0.2 }, + "butter": { elem2:null, chance:0.1 }, + "melted_butter": { elem2:null, chance:0.2 }, + "chocolate": { elem2:null, chance:0.2 }, + "melted_chocolate": { elem2:null, chance:0.3 }, + "grape": { elem2:null, chance:0.1 }, + "tomato": { elem2:null, chance:0.1 }, + "herb": { elem2:null, chance:0.1 }, + "lettuce": { elem2:null, chance:0.1 }, + "corn": { elem2:null, chance:0.1 }, + "popcorn": { elem2:null, chance:0.15 }, + "potato": { elem2:null, chance:0.1 }, + "baked_potato": { elem2:null, chance:0.15 }, + "bread": { elem2:null, chance:0.1 }, + "toast": { elem2:null, chance:0.1 }, + "gingerbread": { elem2:null, chance:0.1 }, + "baked_batter": { elem2:null, chance:0.2 }, + "wheat": { elem2:null, chance:0.1 }, + "candy": { elem2:null, chance:0.1 }, + "yogurt": { elem2:null, chance:0.2 }, + "frozen_yogurt": { elem2:null, chance:0.1 }, + "ice_cream": { elem2:null, chance:0.2 }, + "beans": { elem2:[null,null,null,null,null,null,null,null,"stench"], chance:0.2 }, + "tea": { elem2:null, chance:0.2 }, + "coffee": { elem2:null, chance:0.2 }, + "milk": { elem2:null, chance:0.2 }, + "cream": { elem2:null, chance:0.2 }, + "soda": { elem2:null, chance:0.2 }, + "chocolate_milk": { elem2:null, chance:0.2 }, + "fruit_milk": { elem2:null, chance:0.2 }, + "pilk": { elem2:null, chance:0.2 }, + "eggnog": { elem2:null, chance:0.2 }, + "juice": { elem2:null, chance:0.2 }, + "cheese": { elem2:null, chance:0.1 }, + "melted_cheese": { elem2:null, chance:0.2 }, + "alcohol": { elem2:null, chance:0.2 }, + "antidote": { elem2:null, chance:0.2 }, + "honey": { elem2:null, chance:0.2 }, + "caramel": { elem2:null, chance:0.2 }, + "molasses": { elem2:null, chance:0.05 }, + "ketchup": { elem2:null, chance:0.1 }, + "pumpkin_seed": { elem2:null, chance:0.1 }, + "nut": { elem2:null, chance:0.1 }, + "nut_meat": { elem2:null, chance:0.1 }, + "nut_butter": { elem2:null, chance:0.1 }, + "nut_milk": { elem2:null, chance:0.2 }, + "jelly": { elem2:null, chance:0.2 }, + "mayo": { elem2:null, chance:0.2 }, + "mashed_potato": { elem2:null, chance:0.2 }, + "sauce": { elem2:null, chance:0.2 }, + "pickle": { elem2:null, chance:0.1 }, + "sun": { elem1:"cooked_meat" }, + "light": { stain1:"#825043" }, + "bee": { stain1:"#cc564b", chance:0.2 }, + "water": { elem2:"bubble", attr2:{"clone":"water"}, chance:0.001 }, + "salt_water": { elem2:"bubble", attr2:{"clone":"salt_water"}, chance:0.001 }, + "pool_water": { elem2:"bubble", attr2:{"clone":"pool_water"}, chance:0.001 }, + }, + properties: { + dead: false, + dir: 1, + panic: 0 + }, +} From 7c55b22f5d582bcc0568d6346f45d464aee45361 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Fri, 18 Oct 2024 08:42:27 -0700 Subject: [PATCH 17/38] important bugfix --- mods/flesh_infection.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mods/flesh_infection.js b/mods/flesh_infection.js index 8ee771aa..155ceced 100644 --- a/mods/flesh_infection.js +++ b/mods/flesh_infection.js @@ -1,6 +1,6 @@ // by Nekonico -eLists.FESTER = ["fleshy_dirt","dirt","rock","rock_wall","basalt","limestone","steel","iron","dead_bug","mud","sand","wet_sand","clay_soil","clay","mycelium","skin","meat","rotten_meat","wood","ant_wall","dead_plant","plant","hair","bone","cancer","straw","cloth","brick","bamboo","sponge","paper","plastic","concrete"], +eLists.FESTER = ["fleshy_dirt","dirt","rock","rock_wall","basalt","limestone","steel","iron","glass_shard","dead_bug","mud","sand","wet_sand","clay_soil","clay","mycelium","skin","meat","rotten_meat","wood","ant_wall","dead_plant","plant","hair","bone","cancer","straw","cloth","brick","bamboo","sponge","paper","plastic","concrete"], elements.fleshy_dirt = { color: ["#81512F","#895933","#825231","#906159"], @@ -604,7 +604,7 @@ elements.dry_fleshwood = { elements.acidic_bile = { color: ["#81cf63","#81cf63","#81cf63","#81cf63","#81cf63","#81cf63","#439809","#258b08","#118511","#127b12","#136d14"], behavior: [ - "XX|DB%1 AND SW:flesh_mound%90|XX", + "XX|DB%1|XX", "DB%1 AND M2%25|DL%0.001|DB%1 AND M2%25", "DB%1 AND M2%25|DB%2 AND M1|DB%1 AND M2%25", ], @@ -618,6 +618,7 @@ elements.acidic_bile = { "ammonia": { elem1:null, elem2:null }, "bleach": { elem1:null, elem2:null }, "cement": { elem1:null, elem2:null }, + "glass": { elem1:null, elem2:"glass_shard", chance:0.05 }, "caustic_potash": { elem1:"water", elem2:"potassium_salt" }, "bone": { elem2:"flesh_mound", chance:0.01 }, "water": { elem1:null, elem2:"dirty_water" }, From 9c162d0ef01ce756bee06ae3d85b30ad83ff3d95 Mon Sep 17 00:00:00 2001 From: Jayd-Rubies <155784127+Jayd-Rubies@users.noreply.github.com> Date: Sat, 19 Oct 2024 20:11:28 -0400 Subject: [PATCH 18/38] Update UwUify.js --- mods/UwUify.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/UwUify.js b/mods/UwUify.js index 5f64ca53..6f3ef9b8 100644 --- a/mods/UwUify.js +++ b/mods/UwUify.js @@ -1,4 +1,4 @@ -document.body.style.backgroundImage = 'url("https://jayd-rubies.github.io/uwuify.png")'; +document.body.style.backgroundImage = 'url("https://jayd-rubies.github.io/image/uwuify.png")'; document.body.style.backgroundSize = 'cover'; gameDiv.style.border = "1px solid #ffffff00"; window.addEventListener("load",function(){ @@ -80,4 +80,4 @@ function pixelColorPick(pixel,customColor=null) { } }*/ return color; -} \ No newline at end of file +} From 6e616aedca648e0ebcc2292eb767054856110ae7 Mon Sep 17 00:00:00 2001 From: Jayd-Rubies <155784127+Jayd-Rubies@users.noreply.github.com> Date: Sat, 19 Oct 2024 20:13:03 -0400 Subject: [PATCH 19/38] Update texture_pack_by_jayd.js --- mods/texture_pack_by_jayd.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/texture_pack_by_jayd.js b/mods/texture_pack_by_jayd.js index 9f8ee49e..46434ed1 100644 --- a/mods/texture_pack_by_jayd.js +++ b/mods/texture_pack_by_jayd.js @@ -1,5 +1,5 @@ //texture_pack_by_jayd -document.body.style.backgroundImage = 'url("https://jayd-rubies.github.io/1236951076024877107.png")'; +document.body.style.backgroundImage = 'url("https://jayd-rubies.github.io/image/1236951076024877107.png")'; gameDiv.style.border = "1px solid #ffffff00"; window.addEventListener("load",function(){ document.querySelectorAll(".categoryButton").forEach(e => { @@ -113,4 +113,4 @@ viewInfo[4] = { // Small Pixels } else{renderBall(ctx,pixel.color,pixel.x,pixel.y,0,1);} } -} \ No newline at end of file +} From 0f132052054ccf925cf87d0ccd72288246bb4f40 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Sun, 20 Oct 2024 09:41:19 -0700 Subject: [PATCH 20/38] Exoplanet mod --- mods/exoplanet.js | 220 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 mods/exoplanet.js diff --git a/mods/exoplanet.js b/mods/exoplanet.js new file mode 100644 index 00000000..1045d9ad --- /dev/null +++ b/mods/exoplanet.js @@ -0,0 +1,220 @@ +elements.dusty_water = { + color: "#7C7C95", + behavior: behaviors.LIQUID, + tempHigh: 105, + stateHigh: ["steam","dust_cloud"], + tempLow: 0, + stateLowName: "dusty_ice", + viscosity: 10, + reactions: { + "rock": { elem2: "wet_sand", chance: 0.0004 }, + "exoplanetary_rock": { elem2: "exoplanetary_sand", chance: 0.0004 }, + "limestone": { elem2: "wet_sand", chance: 0.0004 }, + "plant": { elem1:"water", chance:0.05 }, + "algae": { elem1:"water", chance:0.05 }, + "kelp": { elem1:"water", chance:0.05 }, + "charcoal": { elem1:"water", chance:0.02 }, + "gravel": { elem1:"water", chance:0.01 }, + "fly": { elem2:"dead_bug", chance:0.1, oneway:true }, + "firefly": { elem2:"dead_bug", chance:0.1, oneway:true }, + "bee": { elem2:"dead_bug", chance:0.05, oneway:true }, + "stink_bug": { elem2:"dead_bug", chance:0.1, oneway:true }, + }, + hidden: true, + state: "liquid", + density: 1005, + conduct: 0.01, + extinguish: true, + category: "exoplanet", +} + +elements.exoplanetary_sand = { + color: ["#A29C7D","#c0c0c0","#808080","#4f4f4f","#808080","#949494","#A29C7D"], + behavior: behaviors.POWDER, + reactions: { + "tornado":{elem1:"sandstorm", oneway:true}, + }, + tempHigh: 1700, + stateHigh: "molten_exoplanetary_glass", + category: "exoplanet", + state: "solid", + density: 1602 +} + +elements.exoplanetary_glass = { + color: ["#6F807F","#6F807F","#748F8D","#6F807F","#6F807F"], + colorPattern: textures.GLASS, + colorKey: { + "g": "#6F807F", + "s": "#728886", + "S": "#748F8D"}, + behavior: behaviors.WALL, + reactions: { + "radiation": { elem1:"rad_glass", chance:0.33 }, + "rad_steam": { elem1:"rad_glass", elem2:null, chance:0.33 }, + "fallout": { elem1:"rad_glass", elem2:"radiation", chance:0.1 } + }, + tempHigh: 1500, + category: "exoplanet", + state: "solid", + density: 2500, + breakInto: "exoplanetary_sand", + noMix: true, + hidden: true, +} + +elements.molten_exoplanetary_glass = { + reactions: { + "radiation": { elem1:"molten_rad_glass", chance:0.66 }, + "rad_steam": { elem1:"molten_rad_glass", elem2:null, chance:0.33 }, + "molten_uranium": { elem1:"molten_rad_glass", elem2:null }, + "fallout": { elem1:"molten_rad_glass", elem2:"radiation" } + }, + hidden: true, + category: "exoplanet", +} + +elements.dust_cloud = { + color: ["#808080","#2e2e2e","#2e2e2e"], + behavior: [ + "XX|M1%0.5|M2%0.5", + "XX|CH:exoplanetary_dust%0.075|M1%2.5 AND BO", + "XX|M1%0.5|M2%0.5", + ], + reactions: { + "fireball": { elem1:null, elem2:"fire_cloud", chance:0.25 } + }, + category: "exoplanet", + tempHigh: 825, + stateHigh: ["exoplanetary_rock","exoplanetary_rock","fire",], + hidden: true, + state: "gas", + density: 0.7, + ignoreAir: true +} + +elements.exoplanetary_dust = { + color: "#808080", + behavior: [ + "XX|XX|XX", + "XX|XX|XX", + "M2|M1|M2", + ], + reactions: { + "water": { elem2: "dusty_water", elem1: null }, + }, + category: "exoplanet", + breakInto: ["exoplanetary_dust","exoplanetary_dust","exoplanetary_dust","dust_cloud"], + burn: 10, + burnTime: 1, + tempHigh: 700, + burnInto:"exoplanetary_rock", + stateHigh: "exoplanetary_rock", + state: "solid", + density: 1490 +} + +elements.exoplanetary_rock = { + color: ["#c0c0c0","#4f4f4f","#949494"], + behavior: behaviors.POWDER, + reactions: { + "fly": { elem2:"dead_bug", chance:0.25, oneway:true }, + "firefly": { elem2:"dead_bug", chance:0.2, oneway:true }, + "stink_bug": { elem2:"dead_bug", chance:0.15, oneway:true }, + "bee": { elem2:"dead_bug", chance:0.1, oneway:true }, + "bird": { elem2:"feather", chance:0.025, oneway:true }, + "egg": { elem2:"yolk", oneway:true }, + "grass": { elem2:null, chance:0.005, oneway:true }, + "bone": { elem2:"oil", tempMin:300, chance:0.005, oneway:true }, + "dead_plant": { elem2:"charcoal", tempMin:200, chance:0.005, oneway:true }, + "charcoal": { elem2:"diamond", tempMin:800, tempMax:900, chance:0.005, oneway:true }, + "sand": { elem2:"packed_sand", tempMin:500, chance:0.005, oneway:true }, + "wet_sand": { elem2:"packed_sand", chance:0.005, oneway:true }, + }, + tempHigh: 950, + stateHigh: "exoplanetary_magma", + category: "exoplanet", + state: "solid", + density: 2550, + hardness: 0.5, + breakInto: ["exoplanetary_sand","exoplanetary_sand","exoplanetary_dust","dust_cloud"] +} + +elements.exoplanetary_magma = { + color: ["#ff6f00","#ff8c00","#ff4d00"], + behavior: behaviors.MOLTEN, + reactions: { + "ice": { elem1: "basalt" }, + "ash": { elem1: "molten_tuff", "elem2":null }, + "molten_ash": { elem1: "molten_tuff", "elem2":null }, + "charcoal": { elem2:"diamond", tempMin:800, tempMax:900, chance:0.005, oneway:true }, + }, + temp: 1200, + tempLow: 800, + stateLow: ["basalt","exoplanetary_rock","exoplanetary_rock","exoplanetary_rock"], + viscosity: 10000, + state: "liquid", + density: 2725, + alias: "alien lava", + category: "exoplanet", + hidden: true, +} + +elements.exoplanetary_rock = { + color: ["#c0c0c0","#4f4f4f","#949494"], + behavior: behaviors.POWDER, + reactions: { + "fly": { elem2:"dead_bug", chance:0.25, oneway:true }, + "firefly": { elem2:"dead_bug", chance:0.2, oneway:true }, + "stink_bug": { elem2:"dead_bug", chance:0.15, oneway:true }, + "bee": { elem2:"dead_bug", chance:0.1, oneway:true }, + "bird": { elem2:"feather", chance:0.025, oneway:true }, + "egg": { elem2:"yolk", oneway:true }, + "grass": { elem2:null, chance:0.005, oneway:true }, + "bone": { elem2:"oil", tempMin:300, chance:0.005, oneway:true }, + "dead_plant": { elem2:"charcoal", tempMin:200, chance:0.005, oneway:true }, + "charcoal": { elem2:"diamond", tempMin:800, tempMax:900, chance:0.005, oneway:true }, + "sand": { elem2:"packed_sand", tempMin:500, chance:0.005, oneway:true }, + "wet_sand": { elem2:"packed_sand", chance:0.005, oneway:true }, + }, + tempHigh: 950, + stateHigh: "exoplanetary_magma", + category: "exoplanet", + state: "solid", + density: 2550, + hardness: 0.5, + breakInto: ["exoplanetary_sand","exoplanetary_sand","exoplanetary_dust","dust_cloud"] +} + +worldgentypes.exoplanet = { + layers: [ + [0.9, "exoplanetary_dust"], + [0.1, "exoplanetary_sand", 0.15], + [0.2, "dusty_ice", 0.075], + [0.05, "exoplanetary_rock"], + [0, "basalt"], + ], + decor: [ + ["exoplanetary_dust", 0.05], + ["dust_cloud", 0.25] + ], + baseHeight: 0.5, + temperature: -7 +} + +worldgentypes.exo_ocean = { + layers: [ + [0.99, "exoplanetary_dust"], + [0.40, "dusty_ice"], + [0.25, "bone", 0.01], + [0.25, "dusty_ice"], + [0.1, "exoplanetary_sand"], + [0.03, "exoplanetary_rock", 0.5], + [0.03, "exoplanetary_rock"], + [0, "basalt"], + ], + decor: [ + ["dust_cloud", 0.1, 10], + ], + temperature: -7 +} \ No newline at end of file From 7f21d20cc2dfe0244dcd7367bb854a2310d70dbe Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Tue, 22 Oct 2024 17:09:52 -0700 Subject: [PATCH 21/38] NEW COLONIZATION MOD --- mods/exoplanet.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mods/exoplanet.js b/mods/exoplanet.js index 1045d9ad..564cf57b 100644 --- a/mods/exoplanet.js +++ b/mods/exoplanet.js @@ -199,7 +199,7 @@ worldgentypes.exoplanet = { ["dust_cloud", 0.25] ], baseHeight: 0.5, - temperature: -7 + temperature: -15 } worldgentypes.exo_ocean = { @@ -216,5 +216,5 @@ worldgentypes.exo_ocean = { decor: [ ["dust_cloud", 0.1, 10], ], - temperature: -7 + temperature: -15 } \ No newline at end of file From b6fd47e6635832ad1f927f7cbd3bc78edf62e7d4 Mon Sep 17 00:00:00 2001 From: Nekonico <163950752+DBNekonico@users.noreply.github.com> Date: Tue, 22 Oct 2024 17:11:34 -0700 Subject: [PATCH 22/38] Update mod-list.html --- mod-list.html | 1 + 1 file changed, 1 insertion(+) diff --git a/mod-list.html b/mod-list.html index c36d8f69..65ecc76e 100644 --- a/mod-list.html +++ b/mod-list.html @@ -277,6 +277,7 @@