From e002b536af8423f420e13e93d6c0e59f94ee5044 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 10 Mar 2019 15:31:59 -0400 Subject: Rename more script commands for consistency and predictability Fixes #540 --- docs/bugs_and_glitches.md | 4 +- docs/event_commands.md | 265 +++++++++++++++++++++++++++++++++++++++---- docs/move_effect_commands.md | 176 ++++++++++++++++++++++++++++ docs/movement_commands.md | 39 +++++++ 4 files changed, 457 insertions(+), 27 deletions(-) (limited to 'docs') diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index 5f6a3b3f7..9d62d6461 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -1388,8 +1388,8 @@ First, edit `UsedSurfScript` in [engine/events/overworld.asm](/engine/events/ove callasm .empty_fn ; empty function - copybytetovar wBuffer2 - writevarcode VAR_MOVEMENT + readmem wBuffer2 + writevar VAR_MOVEMENT special ReplaceKrisSprite special PlayMapMusic diff --git a/docs/event_commands.md b/docs/event_commands.md index 49130c792..cd18a1e2d 100644 --- a/docs/event_commands.md +++ b/docs/event_commands.md @@ -7,340 +7,555 @@ Until this document is filled out, the [G/S Scripting Compendium](https://hax.ii ## `$00`: scall script + ## `$01`: farscall script + ## `$02`: ptcall script + ## `$03`: jump script + ## `$04`: farjump script + ## `$05`: ptjump script + ## `$06`: ifequal byte, script + ## `$07`: ifnotequal byte, script + ## `$08`: iffalse script + ## `$09`: iftrue script + ## `$0A`: ifgreater byte, script + ## `$0B`: ifless byte, script + ## `$0C`: jumpstd std_script + ## `$0D`: callstd std_script + ## `$0E`: callasm asm + ## `$0F`: special special_pointer + ## `$10`: ptcallasm asm + ## `$11`: checkmapscene map + ## `$12`: setmapscene map, scene_id + ## `$13`: `checkscene` + ## `$14`: setscene scene_id -## `$15`: writebyte value -## `$16`: addvar value +## `$15`: setval value + +[wScriptVar] = value + + +## `$16`: addval value + +[wScriptVar] += value + ## `$17`: random value + ## `$18`: `checkver` -## `$19`: copybytetovar address -## `$1A`: copyvartobyte address +## `$19`: readmem address + +[wScriptVar] = [address] + + +## `$1A`: writemem address + +[address] = [wScriptVar] + + +## `$1B`: loadmem address, value + +[address] = value + + +## `$1C`: readvar variable + +[wScriptVar] = GetVarAction(variable) -## `$1B`: loadvar address, value -## `$1C`: checkcode variable +## `$1D`: writevar variable -## `$1D`: writevarcode variable +GetVarAction(variable) = [wScriptVar] + + +## `$1E`: loadvar variable, value + +GetVarAction(variable) = value -## `$1E`: writecode variable, value ## `$1F`: giveitem item_id[, quantity=1] + ## `$20`: takeitem item_id[, quantity=1] + ## `$21`: checkitem item_id + ## `$22`: givemoney account, value + ## `$23`: takemoney account, value + ## `$24`: checkmoney account, value + ## `$25`: givecoins value + ## `$26`: takecoins value + ## `$27`: checkcoins value + ## `$28`: addcellnum contact_id + ## `$29`: delcellnum contact_id + ## `$2A`: checkcellnum contact_id + ## `$2B`: checktime time + ## `$2C`: checkpoke mon_id + ## `$2D`: givepoke mon_id, level[, item=0[, trainer=0, ot_name, nickname]] + ## `$2E`: giveegg mon_id, level + ## `$2F`: givepokemail pointer + ## `$30`: checkpokemail pointer + ## `$31`: checkevent event_flag + ## `$32`: clearevent event_flag + ## `$33`: setevent event_flag + ## `$34`: checkflag engine_flag + ## `$35`: clearflag engine_flag + ## `$36`: setflag engine_flag + ## `$37`: `wildon` + ## `$38`: `wildoff` + ## `$39`: xycompare pointer + ## `$3A`: warpmod warp_id, map + ## `$3B`: blackoutmod map + ## `$3C`: warp map, x, y -## `$3D`: readmoney account, memory -## `$3E`: readcoins memory +## `$3D`: getmoney string_buffer, account + +GetStringBuffer(string_buffer) = PrintNum(GetMoneyAccount(account)) + + +## `$3E`: getcoins string_buffer + +GetStringBuffer(string_buffer) = PrintNum([wCoins]) -## `$3F`: vartomem memory -## `$40`: pokenamemem mon_id, memory +## `$3F`: getnum string_buffer -## `$41`: itemtotext item_id, memory +GetStringBuffer(string_buffer) = PrintNum([wScriptVar]) -## `$42`: mapnametotext memory -## `$43`: trainertotext trainer_id, trainer_group, memory +## `$40`: getmonname string_buffer, mon_id + +GetStringBuffer(string_buffer) = GetPokemonName(mon_id) + +If mon_id = `USE_SCRIPT_VAR`, then it uses `[wScriptVar]` instead. + + +## `$41`: getitemname string_buffer, item_id + +GetStringBuffer(string_buffer) = GetItemName(item_id) + +If item_id = `USE_SCRIPT_VAR`, then it uses `[wScriptVar]` instead. + + +## `$42`: getcurlandmarkname string_buffer + +GetStringBuffer(string_buffer) = GetLandmarkName(GetWorldMapLocation()) + + +## `$43`: gettrainername string_buffer, trainer_group, trainer_id + +GetStringBuffer(string_buffer) = GetTrainerName(trainer_group, trainer_id) + + +## `$44`: getstring string_buffer, text_pointer + +GetStringBuffer(string_buffer) = CopyName1([wScriptBank], text_pointer) -## `$44`: stringtotext text_pointer, memory ## `$45`: `itemnotify` + ## `$46`: `pocketisfull` + ## `$47`: `opentext` + ## `$48`: refreshscreen [dummy=0] + ## `$49`: `closetext` + ## `$4A`: loadbytec2cf byte + ## `$4B`: farwritetext text_pointer + ## `$4C`: writetext text_pointer + ## `$4D`: repeattext byte1, byte2 + ## `$4E`: `yesorno` + ## `$4F`: loadmenu menu_header + ## `$50`: `closewindow` + ## `$51`: jumptextfaceplayer text_pointer + ## `$52`: farjumptext text_pointer + ## `$53`: jumptext text_pointer + ## `$54`: `waitbutton` + ## `$55`: `buttonsound` + ## `$56`: pokepic mon_id + ## `$57`: `closepokepic` + ## `$58`: `_2dmenu` + ## `$59`: `verticalmenu` + ## `$5A`: `loadpikachudata` + ## `$5B`: `randomwildmon` -## `$5C`: `loadmemtrainer` + +## `$5C`: `loadtemptrainer` + +`[wOtherTrainer] = [wTempTrainer]` + ## `$5D`: loadwildmon mon_id, level + ## `$5E`: loadtrainer trainer_group, trainer_id + ## `$5F`: `startbattle` + ## `$60`: `reloadmapafterbattle` + ## `$61`: catchtutorial byte -## `$62`: trainertext which_text + +## `$62`: trainertext text_id + ## `$63`: trainerflagaction action + ## `$64`: winlosstext win_text_pointer, loss_text_pointer + ## `$65`: `scripttalkafter` + ## `$66`: `endifjustbattled` + ## `$67`: `checkjustbattled` + ## `$68`: setlasttalked object_id + ## `$69`: applymovement object_id, data_pointer -## `$6A`: applymovement2 data_pointer + +## `$6A`: applymovementlasttalked data_pointer + ## `$6B`: `faceplayer` + ## `$6C`: faceobject object1, object2 + ## `$6D`: variablesprite variable_sprite_id, sprite_id + ## `$6E`: disappear object_id + ## `$6F`: appear object_id + ## `$70`: follow object2, object1 + ## `$71`: `stopfollow` + ## `$72`: moveobject object_id, x, y + ## `$73`: writeobjectxy object_id + ## `$74`: loademote emote_id + ## `$75`: showemote emote_id, object_id, length + ## `$76`: turnobject object_id, facing + ## `$77`: follownotexact object2, object1 + ## `$78`: earthquake param -## `$79`: changemap bank, blockdata_pointer + +## `$79`: changemapblocks blockdata_pointer + +ChangeMap(blockdata_pointer) + ## `$7A`: changeblock x, y, block + ## `$7B`: `reloadmap` + ## `$7C`: `reloadmappart` + ## `$7D`: writecmdqueue queue_pointer + ## `$7E`: delcmdqueue byte + ## `$7F`: playmusic music_id + ## `$80`: `encountermusic` + ## `$81`: musicfadeout music_id, length + ## `$82`: `playmapmusic` + ## `$83`: `dontrestartmapmusic` + ## `$84`: cry mon_id + ## `$85`: playsound sfx_id + ## `$86`: `waitsfx` + ## `$87`: `warpsound` + ## `$88`: `specialsound` + ## `$89`: autoinput input_pointer + ## `$8A`: newloadmap which_method + ## `$8B`: pause length + ## `$8C`: deactivatefacing length + ## `$8D`: priorityjump script + ## `$8E`: `warpcheck` + ## `$8F`: ptpriorityjump script + ## `$90`: `return` + ## `$91`: `end` + ## `$92`: reloadandreturn which_method + ## `$93`: `endall` + ## `$94`: pokemart dialog_id, mart_id + ## `$95`: elevator floor_list + ## `$96`: trade trade_id + ## `$97`: askforphonenumber contact_id + ## `$98`: phonecall call_id + ## `$99`: `hangup` + ## `$9A`: describedecoration byte + ## `$9B`: fruittree tree_id + ## `$9C`: specialphonecall call_id + ## `$9D`: `checkphonecall` + ## `$9E`: verbosegiveitem item_id[, quantity=1] -## `$9F`: verbosegiveitem2 item_id, variable + +## `$9F`: verbosegiveitemvar item_id, variable + ## `$A0`: swarm swarm_id, map + ## `$A1`: `halloffame` + ## `$A2`: `credits` + ## `$A3`: warpfacing facing, map, x, y -## `$A4`: battletowertext memory -## `$A5`: landmarktotext landmark_id, memory +## `$A4`: battletowertext bttext_id + + +## `$A5`: getlandmarkname string_buffer, landmark_id + +GetStringBuffer(string_buffer) = GetLandmarkName(landmark_id) -## `$A6`: trainerclassname trainer_group, memory -## `$A7`: name type, id, memory +## `$A6`: gettrainerclassname string_buffer, trainer_group + +GetStringBuffer(string_buffer) = GetName(TRAINER_NAME, trainer_group) + + +## `$A7`: getname string_buffer, type, id + +GetStringBuffer(string_buffer) = GetName(type, id) + ## `$A8`: wait duration + ## `$A9`: `checksave` diff --git a/docs/move_effect_commands.md b/docs/move_effect_commands.md index acb9eca8e..e8f239ef0 100644 --- a/docs/move_effect_commands.md +++ b/docs/move_effect_commands.md @@ -5,354 +5,530 @@ Defined in [macros/scripts/battle_commands.asm](/macros/scripts/battle_commands. ## `$01`: `checkturn` + ## `$02`: `checkobedience` + ## `$03`: `usedmovetext` + ## `$04`: `doturn` + ## `$05`: `critical` + ## `$06`: `damagestats` + ## `$07`: `stab` + ## `$08`: `damagevariation` + ## `$09`: `checkhit` + ## `$0A`: `lowersub` + ## `$0B`: `hittargetnosub` + ## `$0C`: `raisesub` + ## `$0D`: `failuretext` + ## `$0E`: `applydamage` + ## `$0F`: `criticaltext` + ## `$10`: `supereffectivetext` + ## `$11`: `checkfaint` + ## `$12`: `buildopponentrage` + ## `$13`: `poisontarget` + ## `$14`: `sleeptarget` + ## `$15`: `draintarget` + ## `$16`: `eatdream` + ## `$17`: `burntarget` + ## `$18`: `freezetarget` + ## `$19`: `paralyzetarget` + ## `$1A`: `selfdestruct` + ## `$1B`: `mirrormove` + ## `$1C`: `statup` + ## `$1D`: `statdown` + ## `$1E`: `payday` + ## `$1F`: `conversion` + ## `$20`: `resetstats` + ## `$21`: `storeenergy` + ## `$22`: `unleashenergy` + ## `$23`: `forceswitch` + ## `$24`: `endloop` + ## `$25`: `flinchtarget` + ## `$26`: `ohko` + ## `$27`: `recoil` + ## `$28`: `mist` + ## `$29`: `focusenergy` + ## `$2A`: `confuse` + ## `$2B`: `confusetarget` + ## `$2C`: `heal` + ## `$2D`: `transform` + ## `$2E`: `screen` + ## `$2F`: `poison` + ## `$30`: `paralyze` + ## `$31`: `substitute` + ## `$32`: `rechargenextturn` + ## `$33`: `mimic` + ## `$34`: `metronome` + ## `$35`: `leechseed` + ## `$36`: `splash` + ## `$37`: `disable` + ## `$38`: `cleartext` + ## `$39`: `charge` + ## `$3A`: `checkcharge` + ## `$3B`: `traptarget` + ## `$3C`: `effect0x3c` + ## `$3D`: `rampage` + ## `$3E`: `checkrampage` + ## `$3F`: `constantdamage` + ## `$40`: `counter` + ## `$41`: `encore` + ## `$42`: `painsplit` + ## `$43`: `snore` + ## `$44`: `conversion2` + ## `$45`: `lockon` + ## `$46`: `sketch` + ## `$47`: `defrostopponent` + ## `$48`: `sleeptalk` + ## `$49`: `destinybond` + ## `$4A`: `spite` + ## `$4B`: `falseswipe` + ## `$4C`: `healbell` + ## `$4D`: `kingsrock` + ## `$4E`: `triplekick` + ## `$4F`: `kickcounter` + ## `$50`: `thief` + ## `$51`: `arenatrap` + ## `$52`: `nightmare` + ## `$53`: `defrost` + ## `$54`: `curse` + ## `$55`: `protect` + ## `$56`: `spikes` + ## `$57`: `foresight` + ## `$58`: `perishsong` + ## `$59`: `startsandstorm` + ## `$5A`: `endure` + ## `$5B`: `checkcurl` + ## `$5C`: `rolloutpower` + ## `$5D`: `effect0x5d` + ## `$5E`: `furycutter` + ## `$5F`: `attract` + ## `$60`: `happinesspower` + ## `$61`: `present` + ## `$62`: `damagecalc` + ## `$63`: `frustrationpower` + ## `$64`: `safeguard` + ## `$65`: `checksafeguard` + ## `$66`: `getmagnitude` + ## `$67`: `batonpass` + ## `$68`: `pursuit` + ## `$69`: `clearhazards` + ## `$6A`: `healmorn` + ## `$6B`: `healday` + ## `$6C`: `healnite` + ## `$6D`: `hiddenpower` + ## `$6E`: `startrain` + ## `$6F`: `startsun` + ## `$70`: `attackup` + ## `$71`: `defenseup` + ## `$72`: `speedup` + ## `$73`: `specialattackup` + ## `$74`: `specialdefenseup` + ## `$75`: `accuracyup` + ## `$76`: `evasionup` + ## `$77`: `attackup2` + ## `$78`: `defenseup2` + ## `$79`: `speedup2` + ## `$7A`: `specialattackup2` + ## `$7B`: `specialdefenseup2` + ## `$7C`: `accuracyup2` + ## `$7D`: `evasionup2` + ## `$7E`: `attackdown` + ## `$7F`: `defensedown` + ## `$80`: `speeddown` + ## `$81`: `specialattackdown` + ## `$82`: `specialdefensedown` + ## `$83`: `accuracydown` + ## `$84`: `evasiondown` + ## `$85`: `attackdown2` + ## `$86`: `defensedown2` + ## `$87`: `speeddown2` + ## `$88`: `specialattackdown2` + ## `$89`: `specialdefensedown2` + ## `$8A`: `accuracydown2` + ## `$8B`: `evasiondown2` + ## `$8C`: `statupmessage` + ## `$8D`: `statdownmessage` + ## `$8E`: `statupfailtext` + ## `$8F`: `statdownfailtext` + ## `$90`: `effectchance` + ## `$91`: `statdownanim` + ## `$92`: `statupanim` + ## `$93`: `switchturn` + ## `$94`: `fakeout` + ## `$95`: `bellydrum` + ## `$96`: `psychup` + ## `$97`: `rage` + ## `$98`: `doubleflyingdamage` + ## `$99`: `doubleundergrounddamage` + ## `$9A`: `mirrorcoat` + ## `$9B`: `checkfuturesight` + ## `$9C`: `futuresight` + ## `$9D`: `doubleminimizedamage` + ## `$9E`: `skipsuncharge` + ## `$9F`: `thunderaccuracy` + ## `$A0`: `teleport` + ## `$A1`: `beatup` + ## `$A2`: `ragedamage` + ## `$A3`: `resettypematchup` + ## `$A4`: `allstatsup` + ## `$A5`: `bidefailtext` + ## `$A6`: `raisesubnoanim` + ## `$A7`: `lowersubnoanim` + ## `$A8`: `beatupfailtext` + ## `$A9`: `clearmissdamage` + ## `$AA`: `movedelay` + ## `$AB`: `hittarget` + ## `$AC`: `tristatuschance` + ## `$AD`: `supereffectivelooptext` + ## `$AE`: `startloop` + ## `$AF`: `curl` + ## `$FE`: `endturn` + ## `$FF`: `endmove` diff --git a/docs/movement_commands.md b/docs/movement_commands.md index 794dd8a98..8dd278136 100644 --- a/docs/movement_commands.md +++ b/docs/movement_commands.md @@ -5,80 +5,119 @@ Defined in [macros/scripts/movement.asm](/macros/scripts/movement.asm) and [engi ## `$00`−`$03`: turn_head direction + ## `$04`−`$07`: turn_step direction + ## `$08`−`$0B`: slow_step direction + ## `$0C`−`$0F`: step direction + ## `$10`−`$13`: big_step direction + ## `$14`−`$17`: slow_slide_step direction + ## `$18`−`$1B`: slide_step direction + ## `$1C`−`$1F`: fast_slide_step direction + ## `$20`−`$23`: turn_away direction + ## `$24`−`$27`: turn_in direction + ## `$28`−`$2B`: turn_waterfall direction + ## `$2C`−`$2F`: slow_jump_step direction + ## `$30`−`$33`: jump_step direction + ## `$34`−`$37`: fast_jump_step direction + ## `$38`: `remove_sliding` + ## `$39`: `set_sliding` + ## `$3A`: `remove_fixed_facing` + ## `$3B`: `fix_facing` + ## `$3C`: `show_object` + ## `$3D`: `hide_object` + ## `$3E`−`$46`: step_sleep length + ## `$47`: `step_end` + ## `$48`: step_48 param + ## `$49`: `remove_object` + ## `$4A`: `step_loop` + ## `$4B`: `step_4b` + ## `$4C`: `teleport_from` + ## `$4D`: `teleport_to` + ## `$4E`: `skyfall` + ## `$4F`: step_dig length + ## `$50`: `step_bump` + ## `$51`: `fish_got_bite` + ## `$52`: `fish_cast_rod` + ## `$53`: `hide_emote` + ## `$54`: `show_emote` + ## `$55`: step_shake displacement + ## `$56`: `tree_shake` + ## `$57`: rock_smash length + ## `$58`: return_dig length + ## `$59`: `skyfall_top` -- cgit v1.2.3