Skip to content

Instantly share code, notes, and snippets.

@Patashu
Patashu / Castle Extended Notes.txt
Created June 30, 2022 13:41
Castle Extended Notes
https://youtu.be/RopuRIehV8s Patashu - [BYOND] Castle - Very Hard, 1 Player - All Clear
Castle, a Tower Defense game created in BYOND by Abra (and later remade and open sourced by Rushnut) can be played here: https://www.byond.com/games/Rushnut/Castle
And its source code is here: https://www.dropbox.com/s/xysrmcdrvdvwy4n/Castle_src.zip?dl=0
This is *the* tower defense game of my childhood, and being popular in a time before youtube was popular, it seems to have escaped without any video documentation of a completion. Unfortunately, I wasn't able to get the original Abra version to install (I couldn't get Gold Guardians or SpaceCastle to run either - if any BYOND experts know if it's possible to play these games in 2022, let me know!). As far as I can tell, the experience I'm getting is faithful, with the following caveats:
* Netting Bosses? - I recall in the Abra version you couldn't net certain large monsters, and it does seem to nullify them as a threat. The Rushnut remake has a flag nettable = 1 which
@Patashu
Patashu / 81 updates.txt
Last active June 20, 2020 13:34
Why did Malorne have 81 Attack?
We know that after each outermost Phase, the following Steps run:
-Aura Update (Health/Attack), where attributes like Health, Attack and Mana Cost are recalculated
after Auras related to them are updated
-Summon Resolution Step
-Aura Update (Health/Attack) (again)
-Death Creation Step (where mortally wounded and pending destroy minions are moved to the graveyard
and Death Events created for them)
-Aura Update (Other) (updates auras that don't use intermediate enchantments, such as Auchenai Soulpriest and Baron Rivendare)
E.g. after each outermost Phase, attributes like Health, Attack and Mana Cost recalculate twice.
@Patashu
Patashu / gladiator's longbow vs explosive trap.log
Created November 22, 2016 22:54
gladiator's longbow vs explosive trap.log
D 14:21:45.5949194 GameState.DebugPrintPower() - BLOCK_START BlockType=ATTACK Entity=[name=Valeera Sanguinar id=64 zone=PLAY zonePos=0 cardId=HERO_03 player=1] EffectCardId= EffectIndex=-1 Target=[name=Rexxar id=66 zone=PLAY zonePos=0 cardId=HERO_05 player=2]
D 14:21:45.5949194 GameState.DebugPrintPower() - TAG_CHANGE Entity=GameEntity tag=PROPOSED_ATTACKER value=64
D 14:21:45.5949194 GameState.DebugPrintPower() - TAG_CHANGE Entity=GameEntity tag=PROPOSED_DEFENDER value=66
D 14:21:45.5949194 GameState.DebugPrintPower() - BLOCK_START BlockType=TRIGGER Entity=[name=Gladiator's Longbow id=89 zone=PLAY zonePos=0 cardId=DS1_188 player=1] EffectCardId= EffectIndex=0 Target=0
D 14:21:45.5949194 GameState.DebugPrintPower() - FULL_ENTITY - Creating ID=106 CardID=DS1_188e
D 14:21:45.5949194 GameState.DebugPrintPower() - tag=ZONE value=SETASIDE
D 14:21:45.5949194 GameState.DebugPrintPower() - tag=CONTROLLER value=1
D 14:21:45.5949194 GameState.DebugPrintPower() - t
@Patashu
Patashu / alarm-o-bot vs steal bug 6.1.log
Created September 17, 2016 09:18
alarm-o-bot vs steal bug 6.1
====Playing Alarm-o-Bot:====
D 19:04:24.0690705 GameState.DebugPrintPower() - BLOCK_START BlockType=PLAY Entity=[id=11 cardId= type=INVALID zone=HAND zonePos=1 player=1] EffectCardId= EffectIndex=0 Target=0
D 19:04:24.0690705 GameState.DebugPrintPower() - TAG_CHANGE Entity=Adys tag=RESOURCES_USED value=2
D 19:04:24.0690705 GameState.DebugPrintPower() - TAG_CHANGE Entity=Adys tag=NUM_RESOURCES_SPENT_THIS_GAME value=77
D 19:04:24.0690705 GameState.DebugPrintPower() - TAG_CHANGE Entity=Adys tag=NUM_CARDS_PLAYED_THIS_TURN value=1
D 19:04:24.0690705 GameState.DebugPrintPower() - TAG_CHANGE Entity=Adys tag=NUM_MINIONS_PLAYED_THIS_TURN value=1
D 19:04:24.0695719 GameState.DebugPrintPower() - TAG_CHANGE Entity=[id=14 cardId= type=INVALID zone=HAND zonePos=6 player=1] tag=ZONE_POSITION value=5
D 19:04:24.0695719 GameState.DebugPrintPower() - TAG_CHANGE Entity=[id=21 cardId= type=INVALID zone=HAND zonePos=5 player=1] tag=ZONE_POSITION value=4
D 19:04:24.0695719 GameState.DebugPrintPower() -
====Arcane Missiles 1:====
D 20:08:05.9387768 GameState.DebugPrintPower() - BLOCK_START BlockType=PLAY Entity=[name=Arcane Missiles id=7 zone=HAND zonePos=3 cardId=EX1_277 player=1] EffectCardId= EffectIndex=0 Target=0
D 20:08:05.9387768 GameState.DebugPrintPower() - TAG_CHANGE Entity=Patashu tag=RESOURCES_USED value=1
D 20:08:05.9387768 GameState.DebugPrintPower() - TAG_CHANGE Entity=Patashu tag=NUM_RESOURCES_SPENT_THIS_GAME value=56
D 20:08:05.9387768 GameState.DebugPrintPower() - TAG_CHANGE Entity=Patashu tag=NUM_CARDS_PLAYED_THIS_TURN value=1
D 20:08:05.9387768 GameState.DebugPrintPower() - TAG_CHANGE Entity=Patashu tag=430 value=1
D 20:08:05.9387768 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Knife Juggler id=19 zone=HAND zonePos=10 cardId=NEW1_019 player=1] tag=ZONE_POSITION value=9
D 20:08:05.9387768 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Elven Archer id=30 zone=HAND zonePos=9 cardId=CS2_189 player=1] tag=ZONE_POSITION value=8
D 20:08:05.9387768 GameSta
D 13:53:46.2366234 GameState.DebugPrintPowerList() - Count=153
D 13:53:46.2366234 GameState.DebugPrintPower() - BLOCK_START BlockType=PLAY Entity=[id=21 cardId= type=INVALID zone=HAND zonePos=4 player=1] EffectCardId= EffectIndex=0 Target=[name=C'Thun id=37 zone=PLAY zonePos=1 cardId=OG_280 player=1]
D 13:53:46.2366234 GameState.DebugPrintPower() - TAG_CHANGE Entity=culinko tag=RESOURCES_USED value=1
D 13:53:46.2366234 GameState.DebugPrintPower() - TAG_CHANGE Entity=culinko tag=NUM_RESOURCES_SPENT_THIS_GAME value=56
D 13:53:46.2366234 GameState.DebugPrintPower() - TAG_CHANGE Entity=culinko tag=NUM_CARDS_PLAYED_THIS_TURN value=1
D 13:53:46.2366234 GameState.DebugPrintPower() - TAG_CHANGE Entity=culinko tag=NUM_MINIONS_PLAYED_THIS_TURN value=1
D 13:53:46.2366234 GameState.DebugPrintPower() - TAG_CHANGE Entity=[id=25 cardId= type=INVALID zone=HAND zonePos=8 player=1] tag=ZONE_POSITION value=7
D 13:53:46.2366234 GameState.DebugPrintPower() - TAG_CHANGE Entity=[id=15 cardId= type=INVALID zo
D 12:22:10.4834079 GameState.DebugPrintPower() - BLOCK_START BlockType=PLAY Entity=[name=Faceless Manipulator id=49 zone=HAND zonePos=5 cardId=EX1_564 player=2] EffectCardId= EffectIndex=0 Target=[name=Garrison Commander id=23 zone=PLAY zonePos=2 cardId=AT_080 player=1]
D 12:22:10.4834079 GameState.DebugPrintPower() - TAG_CHANGE Entity=culinko tag=RESOURCES_USED value=6
D 12:22:10.4834079 GameState.DebugPrintPower() - TAG_CHANGE Entity=culinko tag=NUM_RESOURCES_SPENT_THIS_GAME value=41
D 12:22:10.4834079 GameState.DebugPrintPower() - TAG_CHANGE Entity=culinko tag=NUM_CARDS_PLAYED_THIS_TURN value=1
D 12:22:10.4834079 GameState.DebugPrintPower() - TAG_CHANGE Entity=culinko tag=NUM_MINIONS_PLAYED_THIS_TURN value=1
D 12:22:10.4834079 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Lowly Squire id=36 zone=HAND zonePos=6 cardId=AT_082 player=2] tag=ZONE_POSITION value=5
D 12:22:10.4834079 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Faceless Manipulator id=49 zone=HAND zonePos
D 22:51:14.4668640 GameState.DebugPrintPower() - BLOCK_START BlockType=PLAY Entity=[name=Hex id=10 zone=HAND zonePos=2 cardId=EX1_246 player=1] EffectCardId= EffectIndex=0 Target=[name=Totem Golem id=7 zone=PLAY zonePos=1 cardId=AT_052 player=1]
D 22:51:14.4678641 GameState.DebugPrintPower() - TAG_CHANGE Entity=Patashu tag=RESOURCES_USED value=4
D 22:51:14.4688642 GameState.DebugPrintPower() - TAG_CHANGE Entity=Patashu tag=NUM_RESOURCES_SPENT_THIS_GAME value=8
D 22:51:14.4698642 GameState.DebugPrintPower() - TAG_CHANGE Entity=Patashu tag=NUM_CARDS_PLAYED_THIS_TURN value=2
D 22:51:14.4708643 GameState.DebugPrintPower() - TAG_CHANGE Entity=Patashu tag=430 value=2
D 22:51:14.4718643 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Totem Golem id=25 zone=HAND zonePos=4 cardId=AT_052 player=1] tag=ZONE_POSITION value=3
D 22:51:14.4728644 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Tuskarr Totemic id=33 zone=HAND zonePos=3 cardId=AT_046 player=1] tag=ZONE_POSITION value=2
D 22
D 21:10:25.2868707 GameState.DebugPrintPower() - BLOCK_START BlockType=PLAY Entity=[name=Sacrificial Pact id=82 zone=HAND zonePos=4 cardId=NEW1_003 player=2] EffectCardId= EffectIndex=0 Target=[name=Succubus id=60 zone=PLAY zonePos=1 cardId=EX1_306 player=2]
D 21:10:25.2878708 GameState.DebugPrintPower() - TAG_CHANGE Entity=Patashu tag=NUM_CARDS_PLAYED_THIS_TURN value=2
D 21:10:25.2878708 GameState.DebugPrintPower() - TAG_CHANGE Entity=Patashu tag=430 value=1
D 21:10:25.2888709 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Wisp id=44 zone=HAND zonePos=6 cardId=CS2_231 player=2] tag=ZONE_POSITION value=5
D 21:10:25.2898709 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Stonetusk Boar id=62 zone=HAND zonePos=5 cardId=CS2_171 player=2] tag=ZONE_POSITION value=4
D 21:10:25.2908710 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Sacrificial Pact id=82 zone=HAND zonePos=4 cardId=NEW1_003 player=2] tag=ZONE value=PLAY
D 21:10:25.2918710 GameState.DebugPrintPower() - TAG_C
D 19:39:38.4873316 GameState.DebugPrintPower() - TAG_CHANGE Entity=GameEntity tag=STEP value=MAIN_START_TRIGGERS
D 19:39:38.4873316 GameState.DebugPrintPower() - BLOCK_START BlockType=TRIGGER Entity=[name=Alarm-o-Bot id=34 zone=PLAY zonePos=1 cardId=EX1_006 player=2] EffectCardId= EffectIndex=0 Target=0
D 19:39:38.4883317 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Acolyte of Pain id=59 zone=PLAY zonePos=7 cardId=EX1_007 player=2] tag=ZONE_POSITION value=6
D 19:39:38.4893317 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Coldlight Oracle id=44 zone=PLAY zonePos=6 cardId=EX1_050 player=2] tag=ZONE_POSITION value=5
D 19:39:38.4903318 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Brave Archer id=46 zone=PLAY zonePos=5 cardId=AT_059 player=2] tag=ZONE_POSITION value=4
D 19:39:38.4913319 GameState.DebugPrintPower() - TAG_CHANGE Entity=[name=Loot Hoarder id=37 zone=PLAY zonePos=4 cardId=EX1_096 player=2] tag=ZONE_POSITION value=3
D 19:39:38.4923319 GameState.DebugPrintPower(