Skip to content

Instantly share code, notes, and snippets.

@ShadowOne333
ShadowOne333 / naming_screen_table.ccs
Last active May 9, 2019 19:58
A script to modify the letters and characters available in the Naming screens of EarthBound (ccscript)
/* Script to modify the letters and characters available in the Naming Screens
Made by PhoenixBound, based on previous work by TragicManner */
import asm65816
main_capital: { // offset EFA460
text_pos(0, 0) "[2F]A[2F]B[2F]C[2F]D[2F]E[2F]F[2F]G[2F]H[2F]I" text_pos(22, 0) "[2F]-[2F]#"
text_pos(0, 1) "[2F]J[2F]K[2F]L[2F]M[2F]N[2F]O[2F]P[2F]Q[2F]R" text_pos(22, 1) "[2F]'[2F]~"
text_pos(0, 2) "[2F]S[2F]T[2F]U[2F]V[2F]W[2F]X[2F]Y[2F]Z[2F] " text_pos(22, 2) "[2F].[2F][5F]"
text_pos(0, 3) "[2F][B0][2F][B1][2F][B2][2F][B3][2F][B4][2F][B5][2F][B7][2F] [2F][B8][2F]?" text_pos(22, 3) "[2F][B9][2F]!"
command movecode_flyover_text1(movecode_num) {
ROM[0xC3ABED] = {
mov_jsrmov(0xA204)
mov_rtl
}
_mc: {
mov_setx(123)
mov_sety(456)
"[23 39 A0]"
"[25 C8 9F]"
import ebpp
command adr32(a) "[{byte[0] a} {byte[1] a} {byte[2] a} 00]"
define LOWERCASE_PREFIX = 0
define UPPERCASE_PREFIX = 4
// Prints the item name with a prefix, based in the configured prefixed in the ITEM_PREFIX_TABLE
// Example: prefixed_itemname(1, LOWERCASE_PREFIX) could print something like "the Franklin badge"
// prefixed_itemname(3, UPPERCASE_PREFIX) could print something like "An Teddy bear"
import ebpp
define FIRST_CAPSULE_ITEM = 1
define AMOUNT_OF_CAPSULE_ITEMS = 3
txt_liquid: "drank" eob
txt_capsule: "swallowed" eob
command drink_verb(item_number) {
// Store the contents of register 0 on the stack
burst_of_steam: bluemagic_skill("Vented a burst of steam", burst_of_steam_text, fire1)
burst_of_steam_text:
"{sound(25)}@{user} vented a burst of steam!"
"{sound(51)}[1C 13 00 07]{pause(28)}{sound(53)}{pause(6)}[1C 13 24 00]{pause(30)}"
eob
command bluemagic_skill(skill_name, skill_text_label, skill_flag) {
if not isaacinparty {
goto(skill_text_label)
import math
def calculate_exp(constant, level):
return int(math.floor(level * level * (level + 1) * constant))
CONSTANTS = [214.0/256.0, 203.0/256.0, 0.75, 150.0/256.0]
for character_number, constant in enumerate(CONSTANTS):
print "{}:".format(character_number)
@ShadowOne333
ShadowOne333 / example_usage.ccs
Created November 27, 2019 20:50
EarthBound dialogue tree system implement in CCScript and EB++
import general
import faceprint
import flags
import tree
define cflag_lorraine_1 = flag count( "convo_flags", 0x0a00 )
define cflag_lorraine_2 = flag count( "convo_flags", 0x0a00 )
lorraine:
face_lorraine "Morning!" next
@ShadowOne333
ShadowOne333 / Font_Changer.ccs
Created May 3, 2020 18:49
A CCS script to change the font to any of the available fonts in EarthBound
import asm65816
import asmref
/*
This modifies the CC_1F control code tree, this will add [1F 32], [1F 33], and [1F 34] so that you can switch fonts. This will mirror what you will see in the Font folder so that:
[1F 30] = Normal Font
[1F 31] = Saturn Font
[1F 32] = Big Font
[1F 33] = Battle Font
[1F 34] = Small Font
@ShadowOne333
ShadowOne333 / Row_Front.ccs
Last active January 8, 2021 20:14
Translation Tutorial: Misc text files
import asm65816
// Update the Pointer
ROM[0xC1219A] = ASMLoadAddress06 (row_front)
// Translated Text Goes Between Quotation Marks Here
row_front:
"Front Row"
@ShadowOne333
ShadowOne333 / New_Stats_Window.ccs
Last active July 25, 2021 17:02
Adds all Status and Resistances to be shown in the Equipment menu
/* Add all Stats and Resistances to the Equipment menu */
import asm65816
import ebpp
import ebpp_std
/*
NOTES:
0xC1AA5D = Part of the main routine of the Equipment selection menu. When this routine exits, it closes the windows associated with the equipment menu.