Skip to content

Instantly share code, notes, and snippets.

@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
import ebpp
// IMPORTANT: Redefine these flags so they don't overlap with flags your project is already using
define flag_levelup_pc1 = flag 0x0a00
define flag_levelup_pc2 = flag 0x0a01
define flag_levelup_pc3 = flag 0x0a02
command ifgoto (num, target) "[06 {short num} {long target}]"
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)
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 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
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"
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]"