mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-03 02:10:50 +01:00
203105788c
* fixes * fuck my stupid chungus life * Minion limit, heal fix, dead sac fix * cooldown, no sacrificing star gazer or ascended alive heretics * blade debuff * oopsy * Update tgui.bundle.js * map diff bot what ya doing * fuck that chat spam * lets heretic armour hold a haunted longsword * why not it makes sense * do_after * god I hate this bullshit * other lewc stuff * push * heretic id card fix * she tg on my ui till I css * yes * spent * fix / ipc buff (real)™️ * moderate again * revert * no reserve * bringing up to master * update map files to master * didnt replace centcomm * beginning some rebalancing * aggressive spread tweaks * lots of tweaks and fixes * trying to un-key the maps * maybe this time * this time???? * oops * sql fix * basicmob conversion * paintings! and a critical influence fix * rust + tweaks * monster tweak * small change * removing this * more tweaks. no more dusting * added some examine_more * flower seeds * various tweaks. more to come * no more conduit spacing * fixed some dumb stuff * silly stuff * its always prettier * bugfixes and linters * linters, wow * oops * bah * linter * fuck you * temp check * hidden influence drain * influence visible message * tweak fix * void cloak bugfix * small fixes * fixes * do_after_once broken * fixes and tweaks * heretic blade potential fix + sacrifice changes * batch of fixes * tiny tweak * rebuilt TGUI * no greentext + rerolls * logging + bugfix * unused var * small fix * various fixes * comment * projectile change * tgui rebuild * tgui bundle redo * rune issue solved * influence visible now * fix ui reloading * new moon ascension + fixes + icons * tweaks, species sprites * tgui rebuild * small tweak + linter * harvester icon tweak * spans * fixes and tweaks * caretaker nerf + tweaks * potential fix for knowledge * roller fix * mad mask * Update tgui.bundle.js * void phase tweak * Update tgui.bundle.js * misc tweaks * fix heretic not retargeting correctly with cryo * simplify logic * this is better * lots of fixes and tweaks * Update tgui.bundle.js * linter * linter * fireshark and greyscale insanity * fish * Update tgui.bundle.js * linter * linter * tgui * no window shopping * fish fix * tgui rebundle * moon smile runtime fix * various fixes * sacrifice fixes * insanity is easier now, madness mask changes. * bugfixing + teleport change * linters + tweaks * Update code/modules/antagonists/heretic/status_effects/mark_effects.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> * Update code/modules/antagonists/heretic/status_effects/mark_effects.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> --------- Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> Co-authored-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: warriorstar-orion <orion@snowfrost.garden> Co-authored-by: Paul <pmerkamp@gmail.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
256 lines
13 KiB
Python
256 lines
13 KiB
Python
import os
|
|
from pathlib import Path
|
|
import sys
|
|
import time
|
|
|
|
from avulto import DME, Path as p
|
|
from avulto.ast import SourceLoc
|
|
|
|
|
|
RED = "\033[0;31m"
|
|
GREEN = "\033[0;32m"
|
|
BLUE = "\033[0;34m"
|
|
NC = "\033[0m" # No Color
|
|
|
|
BURNDOWN_LIST = {
|
|
p(x)
|
|
for x in {
|
|
"/mob/living/simple_animal/bot",
|
|
"/mob/living/simple_animal/bot/cleanbot",
|
|
"/mob/living/simple_animal/bot/ed209",
|
|
"/mob/living/simple_animal/bot/ed209/bluetag",
|
|
"/mob/living/simple_animal/bot/ed209/redtag",
|
|
"/mob/living/simple_animal/bot/ed209/syndicate",
|
|
"/mob/living/simple_animal/bot/floorbot",
|
|
"/mob/living/simple_animal/bot/honkbot",
|
|
"/mob/living/simple_animal/bot/medbot",
|
|
"/mob/living/simple_animal/bot/medbot/adv",
|
|
"/mob/living/simple_animal/bot/medbot/brute",
|
|
"/mob/living/simple_animal/bot/medbot/fire",
|
|
"/mob/living/simple_animal/bot/medbot/fish",
|
|
"/mob/living/simple_animal/bot/medbot/machine",
|
|
"/mob/living/simple_animal/bot/medbot/mysterious",
|
|
"/mob/living/simple_animal/bot/medbot/o2",
|
|
"/mob/living/simple_animal/bot/medbot/syndicate",
|
|
"/mob/living/simple_animal/bot/medbot/syndicate/emagged",
|
|
"/mob/living/simple_animal/bot/medbot/tox",
|
|
"/mob/living/simple_animal/bot/mulebot",
|
|
"/mob/living/simple_animal/bot/secbot",
|
|
"/mob/living/simple_animal/bot/secbot/armsky",
|
|
"/mob/living/simple_animal/bot/secbot/beepsky",
|
|
"/mob/living/simple_animal/bot/secbot/buzzsky",
|
|
"/mob/living/simple_animal/bot/secbot/buzzsky/telecomms",
|
|
"/mob/living/simple_animal/bot/secbot/buzzsky/telecomms/doomba",
|
|
"/mob/living/simple_animal/bot/secbot/griefsky",
|
|
"/mob/living/simple_animal/bot/secbot/griefsky/toy",
|
|
"/mob/living/simple_animal/bot/secbot/ofitser",
|
|
"/mob/living/simple_animal/bot/secbot/pingsky",
|
|
"/mob/living/simple_animal/drone",
|
|
"/mob/living/simple_animal/hostile",
|
|
"/mob/living/simple_animal/hostile/ancient_robot_leg",
|
|
"/mob/living/simple_animal/hostile/asteroid",
|
|
"/mob/living/simple_animal/hostile/asteroid/abandoned_minebot",
|
|
"/mob/living/simple_animal/hostile/asteroid/elite",
|
|
"/mob/living/simple_animal/hostile/asteroid/elite/broodmother",
|
|
"/mob/living/simple_animal/hostile/asteroid/elite/broodmother_child",
|
|
"/mob/living/simple_animal/hostile/asteroid/elite/herald",
|
|
"/mob/living/simple_animal/hostile/asteroid/elite/herald/mirror",
|
|
"/mob/living/simple_animal/hostile/asteroid/elite/legionnaire",
|
|
"/mob/living/simple_animal/hostile/asteroid/elite/legionnairehead",
|
|
"/mob/living/simple_animal/hostile/asteroid/elite/legionnairehead/xenobiology",
|
|
"/mob/living/simple_animal/hostile/asteroid/elite/pandora",
|
|
"/mob/living/simple_animal/hostile/clockwork_construct",
|
|
"/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder",
|
|
"/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/hostile",
|
|
"/mob/living/simple_animal/hostile/construct",
|
|
"/mob/living/simple_animal/hostile/construct/armoured",
|
|
"/mob/living/simple_animal/hostile/construct/armoured/hostile",
|
|
"/mob/living/simple_animal/hostile/construct/behemoth",
|
|
"/mob/living/simple_animal/hostile/construct/behemoth/hostile",
|
|
"/mob/living/simple_animal/hostile/construct/builder",
|
|
"/mob/living/simple_animal/hostile/construct/builder/hostile",
|
|
"/mob/living/simple_animal/hostile/construct/harvester",
|
|
"/mob/living/simple_animal/hostile/construct/harvester/hostile",
|
|
"/mob/living/simple_animal/hostile/construct/harvester/heretic",
|
|
"/mob/living/simple_animal/hostile/construct/proteon",
|
|
"/mob/living/simple_animal/hostile/construct/proteon/hostile",
|
|
"/mob/living/simple_animal/hostile/construct/wraith",
|
|
"/mob/living/simple_animal/hostile/construct/wraith/hostile",
|
|
"/mob/living/simple_animal/hostile/construct/wraith/hostile/bubblegum",
|
|
"/mob/living/simple_animal/hostile/deathsquid",
|
|
"/mob/living/simple_animal/hostile/deathsquid/joke",
|
|
"/mob/living/simple_animal/hostile/floor_cluwne",
|
|
"/mob/living/simple_animal/hostile/guardian",
|
|
"/mob/living/simple_animal/hostile/guardian/assassin",
|
|
"/mob/living/simple_animal/hostile/guardian/beam",
|
|
"/mob/living/simple_animal/hostile/guardian/bomb",
|
|
"/mob/living/simple_animal/hostile/guardian/charger",
|
|
"/mob/living/simple_animal/hostile/guardian/gaseous",
|
|
"/mob/living/simple_animal/hostile/guardian/healer",
|
|
"/mob/living/simple_animal/hostile/guardian/healer/sealhealer",
|
|
"/mob/living/simple_animal/hostile/guardian/protector",
|
|
"/mob/living/simple_animal/hostile/guardian/punch",
|
|
"/mob/living/simple_animal/hostile/guardian/punch/sealpunch",
|
|
"/mob/living/simple_animal/hostile/guardian/ranged",
|
|
"/mob/living/simple_animal/hostile/headslug",
|
|
"/mob/living/simple_animal/hostile/illusion",
|
|
"/mob/living/simple_animal/hostile/illusion/cult",
|
|
"/mob/living/simple_animal/hostile/illusion/escape",
|
|
"/mob/living/simple_animal/hostile/illusion/escape/cult",
|
|
"/mob/living/simple_animal/hostile/illusion/escape/stealth",
|
|
"/mob/living/simple_animal/hostile/illusion/mirage",
|
|
"/mob/living/simple_animal/hostile/megafauna",
|
|
"/mob/living/simple_animal/hostile/megafauna/ancient_robot",
|
|
"/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner",
|
|
"/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/guidance",
|
|
"/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/hunter",
|
|
"/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/syndicate",
|
|
"/mob/living/simple_animal/hostile/megafauna/bubblegum",
|
|
"/mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination",
|
|
"/mob/living/simple_animal/hostile/megafauna/bubblegum/round_2",
|
|
"/mob/living/simple_animal/hostile/megafauna/colossus",
|
|
"/mob/living/simple_animal/hostile/megafauna/dragon",
|
|
"/mob/living/simple_animal/hostile/megafauna/dragon/lesser",
|
|
"/mob/living/simple_animal/hostile/megafauna/dragon/space_dragon",
|
|
"/mob/living/simple_animal/hostile/megafauna/fleshling",
|
|
"/mob/living/simple_animal/hostile/megafauna/hierophant",
|
|
"/mob/living/simple_animal/hostile/megafauna/legion",
|
|
"/mob/living/simple_animal/hostile/morph",
|
|
"/mob/living/simple_animal/hostile/morph/wizard",
|
|
"/mob/living/simple_animal/hostile/mushroom",
|
|
"/mob/living/simple_animal/hostile/poison",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/black",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/brown",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/gray",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/green",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/mother",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/prince",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/purple",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/queen",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/queen/empress",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/queen/princess",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/red",
|
|
"/mob/living/simple_animal/hostile/poison/terror_spider/white",
|
|
"/mob/living/simple_animal/hostile/retaliate",
|
|
"/mob/living/simple_animal/hostile/retaliate/carp",
|
|
"/mob/living/simple_animal/hostile/retaliate/carp/koi",
|
|
"/mob/living/simple_animal/hostile/retaliate/carp/koi/honk",
|
|
"/mob/living/simple_animal/hostile/spaceinfected",
|
|
"/mob/living/simple_animal/hostile/spaceinfected/default",
|
|
"/mob/living/simple_animal/hostile/spaceinfected/default/ranged",
|
|
"/mob/living/simple_animal/hostile/spaceinfected/gateopener",
|
|
"/mob/living/simple_animal/hostile/statue",
|
|
"/mob/living/simple_animal/hostile/syndicate",
|
|
"/mob/living/simple_animal/hostile/syndicate/depot",
|
|
"/mob/living/simple_animal/hostile/syndicate/depot/modsuit",
|
|
"/mob/living/simple_animal/hostile/syndicate/depot/modsuit/backup",
|
|
"/mob/living/simple_animal/hostile/syndicate/depot/modsuit/elite",
|
|
"/mob/living/simple_animal/hostile/syndicate/depot/officer",
|
|
"/mob/living/simple_animal/hostile/syndicate/modsuit",
|
|
"/mob/living/simple_animal/hostile/syndicate/modsuit/elite",
|
|
"/mob/living/simple_animal/hostile/syndicate/modsuit/ranged",
|
|
"/mob/living/simple_animal/hostile/syndicate/ranged",
|
|
"/mob/living/simple_animal/hostile/syndicate/ranged/orion",
|
|
"/mob/living/simple_animal/hostile/syndicate/shield",
|
|
"/mob/living/simple_animal/hostile/venus_human_trap",
|
|
"/mob/living/simple_animal/hostile/winter",
|
|
"/mob/living/simple_animal/hostile/winter/reindeer",
|
|
"/mob/living/simple_animal/hostile/winter/santa",
|
|
"/mob/living/simple_animal/hostile/winter/santa/stage_1",
|
|
"/mob/living/simple_animal/hostile/winter/santa/stage_2",
|
|
"/mob/living/simple_animal/hostile/winter/santa/stage_3",
|
|
"/mob/living/simple_animal/hostile/winter/santa/stage_4",
|
|
"/mob/living/simple_animal/hostile/winter/snowman",
|
|
"/mob/living/simple_animal/hostile/winter/snowman/ranged",
|
|
"/mob/living/simple_animal/parrot",
|
|
"/mob/living/simple_animal/parrot/poly",
|
|
"/mob/living/simple_animal/pet",
|
|
"/mob/living/simple_animal/pet/cat",
|
|
"/mob/living/simple_animal/pet/cat/cak",
|
|
"/mob/living/simple_animal/pet/cat/kitten",
|
|
"/mob/living/simple_animal/pet/cat/proc_cat",
|
|
"/mob/living/simple_animal/pet/cat/runtime",
|
|
"/mob/living/simple_animal/pet/cat/syndi",
|
|
"/mob/living/simple_animal/pet/cat/var_cat",
|
|
"/mob/living/simple_animal/pet/dog",
|
|
"/mob/living/simple_animal/pet/dog/corgi",
|
|
"/mob/living/simple_animal/pet/dog/corgi/borgi",
|
|
"/mob/living/simple_animal/pet/dog/corgi/exoticcorgi",
|
|
"/mob/living/simple_animal/pet/dog/corgi/ian",
|
|
"/mob/living/simple_animal/pet/dog/corgi/lisa",
|
|
"/mob/living/simple_animal/pet/dog/corgi/narsie",
|
|
"/mob/living/simple_animal/pet/dog/corgi/puppy",
|
|
"/mob/living/simple_animal/pet/dog/corgi/puppy/void",
|
|
"/mob/living/simple_animal/pet/dog/fox",
|
|
"/mob/living/simple_animal/pet/dog/fox/renault",
|
|
"/mob/living/simple_animal/pet/dog/fox/syndifox",
|
|
"/mob/living/simple_animal/pet/dog/pug",
|
|
"/mob/living/simple_animal/shade",
|
|
"/mob/living/simple_animal/shade/cult",
|
|
"/mob/living/simple_animal/shade/holy",
|
|
"/mob/living/simple_animal/shade/sword",
|
|
"/mob/living/simple_animal/shade/sword/generic_item",
|
|
"/mob/living/simple_animal/slime",
|
|
"/mob/living/simple_animal/slime/pet",
|
|
"/mob/living/simple_animal/slime/random",
|
|
"/mob/living/simple_animal/slime/unit_test_dummy",
|
|
}
|
|
}
|
|
|
|
|
|
def format_error(source_loc: SourceLoc | Path, message):
|
|
if isinstance(source_loc, SourceLoc):
|
|
if os.getenv("GITHUB_ACTIONS") == "true":
|
|
return f"::error file={source_loc.file_path},line={source_loc.line},title=Simplemob Additions::{source_loc.file_path}:{source_loc.line}: {RED}{message}{NC}"
|
|
else:
|
|
return f"{source_loc.file_path}:{source_loc.line}: {RED}{message}{NC}"
|
|
else:
|
|
if os.getenv("GITHUB_ACTIONS") == "true":
|
|
return f"::error file={source_loc},title=Simplemob Additions::{source_loc}: {RED}{message}{NC}"
|
|
else:
|
|
return f"{source_loc}: {RED}{message}{NC}"
|
|
|
|
|
|
if __name__ == "__main__":
|
|
print("check_simplemob_additions started")
|
|
|
|
exit_code = 0
|
|
start = time.time()
|
|
|
|
dme = DME.from_file("paradise.dme")
|
|
|
|
simplemobs = set(dme.subtypesof("/mob/living/simple_animal"))
|
|
additions = simplemobs - BURNDOWN_LIST
|
|
|
|
if additions:
|
|
exit_code = 1
|
|
print("unexpected simplemobs found:")
|
|
type_decls = [dme.types[pth] for pth in additions]
|
|
for type_decl in type_decls:
|
|
print(
|
|
format_error(
|
|
type_decl.source_loc,
|
|
f"unexpected simplemob addition {type_decl.path}.",
|
|
)
|
|
)
|
|
print("Please implement all new mobs as /mob/living/basic mobs.")
|
|
|
|
unexpected = BURNDOWN_LIST - simplemobs
|
|
if unexpected:
|
|
exit_code = 1
|
|
print("the following paths were allowed but not found:")
|
|
for pth in sorted(unexpected):
|
|
print(
|
|
format_error(
|
|
Path(__file__).relative_to(dme.filepath.resolve().parent),
|
|
f"stale path {pth}.",
|
|
)
|
|
)
|
|
print("Please remove the offending paths from check_simplemob_additions.py.")
|
|
|
|
end = time.time()
|
|
print(f"check_simplemob_additions tests completed in {end - start:.2f}s\n")
|
|
|
|
sys.exit(exit_code)
|