Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ASM FILE code\gameflow\battle\battle_s13_2.asm
- ________________________________________________________________________________________________
- Reference table for ASM to Hex here:
- http://info.sonicretro.org/SCHG:68000_ASM-to-Hex_Code_Reference
- ________________________________________________________________________________________________
- ________________________________________________________________________________________________
- SUBROUTINE: SetEnemyBaseATT 78 bytes
- 001B15AA...001B15F7
- ________________________________________________________________________________________________
- 001B15AA: 2F
- 001B15AB: 01 move.l d1,-(sp) ;store long-word d1 into stack pointer
- 001B15AC: 4E
- 001B15AD: B9 jsr ;jump to subroutine
- 001B15AE: 00
- 001B15AF: 00
- 001B15B0: 82
- 001B15B1: C0 j_GetDifficulty
- 001B15B2: 0C
- 001B15B3: 41 cmpi.w,d1 ;compare word (#DIFFICULTY_SUPER) with d1
- 001B15B4: 00
- 001B15B5: 02 #DIFFICULTY_SUPER ;effectively checks for Super
- ;00 = Normal
- ;01 = Hard
- ;02 = Super
- ;03 = Ouch!
- 001B15B6: 67 beq.s ;branch if equal (short)
- 001B15B7: 04 ;add to program counter to read new offset (@SuperDifficulty)
- 001B15B8: 67 beq.w ;branch if equal (word)
- 001B15B9: 00
- 001B15BA: 00
- 001B15BB: 3A ;add to PC to read new offset (@Done) Pointless because of the previous beq instruction
- @SuperDifficulty
- 001B15BC: 42
- 001B15BD: 81 clr.l,d1 ;clear long-word in d1
- 001B15BE: 4E
- 001B15BF: B9 jsr
- 001B15C0: 00
- 001B15C1: 00
- 001B15C2: 80
- 001B15C3: 34 j_GetBaseATT
- 001B15C4: C2
- 001B15C5: FC
- 001B15C6: 00
- 001B15C7: 05 mulu.w #5,d1 ;multiply word in d1 by 5
- 001B15C8: E4
- 001B15C9: 89 lsr.l #2,d1 ;(binary) in d1, shift bits to the right by 2. Base ATT effectively multiplied by 1.25
- 001B15CA: 4E
- 001B15CB: B9 jsr
- 001B15CC: 00
- 001B15CD: 00
- 001B15CE: 80
- 001B15CF: AC j_SetBaseATT
- 001B15D0: 4E
- 001B15D1: B9 jsr
- 001B15D2: 00
- 001B15D3: 00
- 001B15D4: 82
- 001B15D5: C0 j_GetDifficulty
- 001B15D6: 0C
- 001B15D7: 41 cmpi.w, d1
- 001B15D8: 00
- 001B15D9: 02 #DIFFICULTY_SUPER
- 001B15DA: 67 beq.s
- 001B15DB: 04
- 001B15DC: 60 bra.w ;branch always
- 001B15DD: 00
- 001B15DE: 00
- 001B15DF: 16
- 001B15E0: 42
- 001B15E1: 81 clr.l,d1
- 001B15E2: 4E jsr
- 001B15E3: B9
- 001B15E4: 00
- 001B15E5: 00
- 001B15E6: 80
- 001B15E7: 34 j_GetBaseATT
- 001B15E8: C2
- 001B15E9: FC
- 001B15EA: 00
- 001B15EB: 05 mulu.w #5,d1
- 001B15EC: E4
- 001B15ED: 89 lsr.l #2,d1 ;effectively multiplying base ATT by 1.25 again for Super
- 001B15EE: 4E jsr
- 001B15EF: B9
- 001B15F0: 00
- 001B15F1: 00
- 001B15F2: 80
- 001B15F3: AC j_SetBaseATT
- @Done
- 001B15F4: 22
- 001B15F5: 1F move.l (sp)+,d1
- 001B15F6: 4E
- 001B15F7: 75 rts ;return to subroutine
- ________________________________________________________________________________________________
- lsr.l #x, d1
- HEX #x
- E0 #0
- E2 #1
- E4 #2
- E6 #3
- E8 #4
- EA #5
- EC #6
- EF #7
- ________________________________________________________________________________________________
- 8000 j_GetCombatantName
- 8004 j_GetClass
- 8008 j_GetYPos
- 800C j_GetMaxMP
- 8010 j_GetMaxHP
- 8014 j_GetXPos
- 8018 j_GetUpperMoveType
- 801C j_GetStatus
- 8020 j_GetCurrentSpecialAbility
- 8024 j_GetBaseSpecialAbility
- 8028 j_GetBaseMOV
- 802C j_GetBaseDEF
- 8030 j_GetBaseResistance
- 8034 j_GetBaseATT
- 8038 j_GetBaseAGI
- 803C j_GetCurrentMOV
- 8040 j_GetCurrentMP
- 8044 j_GetCurrentLevel
- 8048 j_GetCurrentHP
- 804C j_GetCurrentEXP
- 8050 j_GetCurrentDEF
- 8054 j_GetCurrentResistance
- 8058 j_GetCurrentATT
- 805C j_GetEnemyAISetting3233
- 8060 j_GetEnemyAISetting36
- 8064 j_GetCharacterWord34
- 8068 j_GetCurrentAGI
- 806C j_GetEnemyIndex
- 8070 j_GetSomethingClassType
- 8074 j_GetKills
- 8078 j_GetDefeats
- 807C j_CopyCharacterNameToRam
- 8080 j_SetYPos
- 8084 j_SetMaxMP
- 8088 j_SetMaxHP
- 808C j_SetXPos
- 8090 j_SetMoveType
- 8094 j_SetStatus
- 8098 j_SetCurrentProwess
- 809C j_SetBaseProwes
- 80A0 j_SetBaseMOV
- 80A4 j_SetBaseDEF
- 80A8 j_SetBaseResistance
- 80AC j_SetBaseATT
- 80B0 j_SetBaseAGI
- 80B4 j_SetCurrentMOV
- 80B8 j_SetCurrentMP
- 80BC j_SetLevel
- 80C0 j_SetCurrentHP
- 80C4 j_SetCurrentEXP
- 80C8 j_SetCurrentDEF
- 80CC j_SetClass
- 80D0 j_SetCurrentResistance
- 80D4 j_SetCurrentATT
- 80D8 j_SetKills
- 80DC j_SetDefeats
- 80E0 j_SetCharacterWord34
- 80E4 j_SetCurrentAGI
- 80E8 j_SetEnemyIndex
- 80EC j_IncreaseMP
- 80F0 j_IncreaseMaxHP
- 80F4 j_IncreaseBaseMOV
- 80F8 j_IncreaseBaseDEF
- 80FC j_IncreaseBaseATT
- 8100 j_IncreaseAGI
- 8104 j_IncreaseCurrentMOV
- 8108 j_IncreaseCurrentMP
- 810C j_IncreaseLevel
- 8110 j_IncreaseCurrentHP
- 8114 j_IncreaseEXP
- 8118 j_IncreaseCurrentDEF
- 811C j_IncreaseCurrentATT
- 8120 j_IncreaseCurrentAGI
- 8124 j_IncreaseKills
- 8128 j_IncreaseDefeats
- 812C j_DecreaseBaseMOV
- 8130 j_DecreaseBaseDEF
- 8134 j_DecreaseBaseAGI
- 8138 j_DecreaseCurrentMOV
- 813C j_DecreaseCurrentMP
- 8140 j_DecreaseCurrentHP
- 8144 j_DecreaseCurrentDEF
- 8148 j_DecreaseCurrentATT
- 814C j_DecreaseCurrentAGI
- 8150 j_GetClassName
- 8154 j_SetGold
- 8158 j_GetGold
- 815C j_IncreaseGold
- 8160 j_DecreaseGold
- 8164 j_ApplyStatusEffectsAndItemsOnStats
- 8168 j_ApplyItemOnStats
- 816C j_FindItemName
- 8170 j_GetItemDefAddress
- 8174 j_GetItemAndNumberOfItems
- 8178 j_GetItemType
- 817C j_GetEquippedWeapon
- 8180 j_GetEquippedRing
- 8184 j_BreakItem
- 8188 j_RepairItemBySlot
- 818C j_EquipItem
- 8190 j_UnequipItemIfNotCursed
- 8194 j_UnequipItemBySlot
- 8198 j_AddItem
- 819C j_RemoveItemBySlot
- 81A0 j_DropItemBySlot
- 81A4 j_UnequipWeapon
- 81A8 j_UnequipRing
- 81AC j_GetEquippableWeapons
- 81B0 j_GetEquippableRings
- 81B4 j_IsWeaponOrRingEquippable
- 81B8 j_GetEquipmentNewATTandDEF
- 81BC j_OrderItems
- 81C0 j_IsItemCursed
- 81C4 j_IsItemUsableInBattle
- 81C8 j_IsItemUsableWeaponInBattle
- 81CC j_UnequipAllItemsIfNotCursed
- 81D0 j_GetItemInventoryLocation
- 81D4 j_GetItemSlotContainingIndex
- 81D8 j_FindSpellName
- 81DC j_GetSpellDefAddress
- 81E0 j_GetSpellAndNumberOfSpells
- 81E4 j_GetSpellCost
- 81E8 j_LearnSpell
- 81EC j_GetCombatantEntryAddress_0
- 81F0 j_GetDistanceBetweenEntities
- 81F4 j_nullsub_9482
- 81F8 j_GetCombatantEntryAddress
- 81FC j_NewGame
- 8200 j_LevelUp
- 8204 j_Promote
- 8208 j_DebugModeActionSelect
- 820C j_WriteSkirmishScript
- 8210 j_sub_C404
- 8214 j_CreateSpellRangeGrid
- 8218 j_CreateItemRangeGrid
- 821C j_sub_C4E8
- 8220 j_CreateTargetGridFromUsedItem
- 8224 j_sub_C5FA
- 8228 j_CreateTargetGridFromSpell
- 822C j_CreateTargetGrid
- 8230 j_MakeTargetList
- 8234 j_MakeTargetListAllies
- 8238 j_MakeTargetListEnemies
- 823C j_MakeTargetListEverybody
- 8240 j_UpdateTargetListAllies
- 8244 j_UpdateTargetListEnemies
- 8248 j_ConvertCoordToOffset
- 824C j_ClearMovableGrid
- 8250 j_ClearTargetGrid
- 8254 j_GetTargetAtCoordOffset
- 8258 j_GetLandEffectSetting
- 825C j_GetCurrentTerrainType
- 8260 j_SetMovableAtCoord
- 8264 j_CheckFlag
- 8268 j_SetFlag
- 826C j_ClearFlag
- 8270 j_UpdateForce
- 8274 j_JoinForce
- 8278 j_LeaveForce
- 827C j_IsInBattleParty
- 8280 j_JoinBattleParty
- 8284 j_LeaveBattleParty
- 8288 j_GetDealsItemAmount
- 828C j_AddItemToDeals
- 8290 j_RemoveItemFromDeals
- 8294 j_AddItemToCaravan
- 8298 j_RemoveItemFromCaravan
- 829C j_AddAllToStack
- 82A0 j_sub_DEFC
- 82A4 j_MakeRangeLists
- 82A8 j_GenerateTargetRangeLists
- 82AC j_MakeBattleEntityCancelMoveString
- 82B0 j_GetTerrain
- 82B4 j_SetTerrain
- 82B8 j_ClearEnemyMoveInfo
- 82BC j_GetMoveInfo
- 82C0 j_GetDifficulty
Advertisement
Add Comment
Please, Sign In to add comment