mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-25 11:14:15 +01:00
contest AI
This commit is contained in:
parent
231ea2f27c
commit
6874afafe5
@ -1,5 +1,5 @@
|
||||
.include "asm/macros/asm.s"
|
||||
.include "asm/macros/function.s"
|
||||
.include "asm/macros/event.s"
|
||||
.include "asm/macros/window.s"
|
||||
.include "asm/macros/pokemon_data.s"
|
||||
.include "asm/macros/ec.s"
|
||||
|
12
asm/macros/asm.s
Normal file
12
asm/macros/asm.s
Normal file
@ -0,0 +1,12 @@
|
||||
.macro inc x
|
||||
.set \x, \x + 1
|
||||
.endm
|
||||
|
||||
.macro enum_start x=0
|
||||
.set __enum__, \x
|
||||
.endm
|
||||
|
||||
.macro enum constant
|
||||
.equiv \constant, __enum__
|
||||
inc __enum__
|
||||
.endm
|
506
asm/macros/contest_ai_script.s
Normal file
506
asm/macros/contest_ai_script.s
Normal file
@ -0,0 +1,506 @@
|
||||
@ Add a positive/negative value to the score of the move being evaluated.
|
||||
|
||||
.macro score score
|
||||
.byte 0x00
|
||||
.byte \score
|
||||
.endm
|
||||
|
||||
@ turn (AKA "Appeal No.")
|
||||
|
||||
.macro get_turn
|
||||
.byte 0x01
|
||||
.endm
|
||||
|
||||
.macro if_turn_less_than param, addr
|
||||
.byte 0x02
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_turn_more_than param, addr
|
||||
.byte 0x03
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_turn_eq param, addr
|
||||
.byte 0x04
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_turn_not_eq param, addr
|
||||
.byte 0x05
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ audience excitement
|
||||
|
||||
.macro get_excitement
|
||||
.byte 0x06
|
||||
.endm
|
||||
|
||||
.macro if_excitement_less_than param, addr
|
||||
.byte 0x07
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_excitement_more_than param, addr
|
||||
.byte 0x08
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_excitement_eq param, addr
|
||||
.byte 0x09
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_excitement_not_eq param, addr
|
||||
.byte 0x0A
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ the order that the user goes in the current turn
|
||||
|
||||
.macro get_user_order
|
||||
.byte 0x0B
|
||||
.endm
|
||||
|
||||
.macro if_user_order_less_than param addr
|
||||
.byte 0x0C
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_user_order_more_than param addr
|
||||
.byte 0x0D
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_user_order_eq param addr
|
||||
.byte 0x0E
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_user_order_not_eq param addr
|
||||
.byte 0x0F
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ user condition
|
||||
|
||||
.macro get_user_condition
|
||||
.byte 0x10
|
||||
.endm
|
||||
|
||||
.macro if_user_condition_less_than param, addr
|
||||
.byte 0x11
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_user_condition_more_than param, addr
|
||||
.byte 0x12
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_user_condition_eq param, addr
|
||||
.byte 0x13
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_user_condition_not_eq param, addr
|
||||
.byte 0x14
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ 15
|
||||
@ 16
|
||||
@ 17
|
||||
@ 18
|
||||
@ 19
|
||||
@ 1A
|
||||
@ 1B
|
||||
@ 1C
|
||||
@ 1D
|
||||
@ 1E
|
||||
|
||||
@ contest type
|
||||
|
||||
.macro get_contest_type
|
||||
.byte 0x1F
|
||||
.endm
|
||||
|
||||
.macro if_contest_type_eq param, addr
|
||||
.byte 0x20
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_contest_type_not_eq param, addr
|
||||
.byte 0x21
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ move excitement (change in excitement due to move)
|
||||
|
||||
.macro get_move_excitement
|
||||
.byte 0x22
|
||||
.endm
|
||||
|
||||
.macro if_move_excitement_less_than param, addr
|
||||
.byte 0x23
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_move_excitement_more_than param, addr
|
||||
.byte 0x24
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_move_excitement_eq param, addr
|
||||
.byte 0x25
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_move_excitement_not_eq param, addr
|
||||
.byte 0x26
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ move effect
|
||||
|
||||
.macro get_effect
|
||||
.byte 0x27
|
||||
.endm
|
||||
|
||||
.macro if_effect_eq param, addr
|
||||
.byte 0x28
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_effect_not_eq param, addr
|
||||
.byte 0x29
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ move effect type
|
||||
|
||||
.macro get_effect_type
|
||||
.byte 0x2A
|
||||
.endm
|
||||
|
||||
.macro if_effect_type_eq param, addr
|
||||
.byte 0x2B
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_effect_type_not_eq param, addr
|
||||
.byte 0x2C
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ whether the current move is the most appealing in the user's moveset
|
||||
|
||||
.macro check_most_appealing_move
|
||||
.byte 0x2D
|
||||
.endm
|
||||
|
||||
.macro if_most_appealing_move addr
|
||||
.byte 0x2E
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ 2F
|
||||
@ 30
|
||||
@ 31
|
||||
@ 32
|
||||
@ 33
|
||||
@ 34
|
||||
@ 35
|
||||
@ 36
|
||||
@ 37
|
||||
@ 38
|
||||
@ 39
|
||||
@ 3A
|
||||
|
||||
@ number of times current move has been used
|
||||
|
||||
.macro get_move_used_count
|
||||
.byte 0x3B
|
||||
.endm
|
||||
|
||||
.macro if_move_used_count_less_than param, addr
|
||||
.byte 0x3C
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_move_used_count_more_than param, addr
|
||||
.byte 0x3D
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_move_used_count_eq param, addr
|
||||
.byte 0x3E
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_move_used_count_not_eq param, addr
|
||||
.byte 0x3F
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ whether the current move is a combo starter (with another move in the moveset)
|
||||
|
||||
.macro check_combo_starter
|
||||
.byte 0x40
|
||||
.endm
|
||||
|
||||
.macro if_combo_starter addr
|
||||
.byte 0x41
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_not_combo_starter addr
|
||||
.byte 0x42
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ whether the current move is a combo finisher (with another move in the moveset)
|
||||
|
||||
.macro check_combo_finisher
|
||||
.byte 0x43
|
||||
.endm
|
||||
|
||||
.macro if_combo_finisher addr
|
||||
.byte 0x44
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_not_combo_finisher addr
|
||||
.byte 0x45
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ whether the current move would finish a combo
|
||||
|
||||
.macro check_would_finish_combo
|
||||
.byte 0x46
|
||||
.endm
|
||||
|
||||
.macro if_would_finish_combo addr
|
||||
.byte 0x47
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_would_not_finish_combo addr
|
||||
.byte 0x48
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ condition of mon (indexed by order)
|
||||
|
||||
.macro get_condition mon
|
||||
.byte 0x49
|
||||
.byte \mon
|
||||
.endm
|
||||
|
||||
.macro if_condition_less_than mon, value, addr
|
||||
.byte 0x4A
|
||||
.byte \mon
|
||||
.byte \value
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_condition_more_than mon, value, addr
|
||||
.byte 0x4B
|
||||
.byte \mon
|
||||
.byte \value
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_condition_eq mon, value, addr
|
||||
.byte 0x4C
|
||||
.byte \mon
|
||||
.byte \value
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_condition_not_eq mon, value, addr
|
||||
.byte 0x4D
|
||||
.byte \mon
|
||||
.byte \value
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ whether the mon used a combo starter move
|
||||
@ Even though this value is always 1 or 0 (i.e. TRUE/FALSE),
|
||||
@ there are less-than and greater-than comparison operations for some reason.
|
||||
|
||||
.macro get_used_combo_starter mon
|
||||
.byte 0x4E
|
||||
.byte \mon
|
||||
.endm
|
||||
|
||||
.macro if_used_combo_starter_less_than mon, value, addr
|
||||
.byte 0x4F
|
||||
.byte \mon
|
||||
.byte \value
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_used_combo_starter_more_than mon, value, addr
|
||||
.byte 0x50
|
||||
.byte \mon
|
||||
.byte \value
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
|
||||
.macro if_used_combo_starter_eq mon, value, addr
|
||||
.byte 0x51
|
||||
.byte \mon
|
||||
.byte \value
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_used_combo_starter_not_eq mon, value, addr
|
||||
.byte 0x52
|
||||
.byte \mon
|
||||
.byte \value
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ whether the mon can make an appeal
|
||||
|
||||
.macro check_can_participate mon
|
||||
.byte 0x53
|
||||
.byte \mon
|
||||
.endm
|
||||
|
||||
.macro if_can_participate mon, addr
|
||||
.byte 0x54
|
||||
.byte \mon
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_cannot_participate mon, addr
|
||||
.byte 0x55
|
||||
.byte \mon
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ 56
|
||||
@ 57
|
||||
|
||||
.macro contest_58 param addr
|
||||
.byte 0x58
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ 59
|
||||
@ 5A
|
||||
@ 5B
|
||||
@ 5C
|
||||
@ 5D
|
||||
@ 5E
|
||||
@ 5F
|
||||
@ 60
|
||||
@ 61
|
||||
@ 62
|
||||
@ 63
|
||||
@ 64
|
||||
@ 65
|
||||
@ 66
|
||||
@ 67
|
||||
@ 68
|
||||
@ 69
|
||||
@ 6A
|
||||
@ 6B
|
||||
@ 6C
|
||||
@ 6D
|
||||
@ 6E
|
||||
@ 6F
|
||||
@ 70
|
||||
@ 71
|
||||
@ 72
|
||||
@ 73
|
||||
@ 74
|
||||
@ 75
|
||||
@ 76
|
||||
@ 77
|
||||
@ 78
|
||||
@ 79
|
||||
@ 7A
|
||||
@ 7B
|
||||
@ 7C
|
||||
|
||||
.macro if_random param addr
|
||||
.byte 0x7D
|
||||
.byte \param
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ 7E
|
||||
|
||||
.macro jump addr
|
||||
.byte 0x7F
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro call addr
|
||||
.byte 0x80
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro end
|
||||
.byte 0x81
|
||||
.endm
|
||||
|
||||
.macro check_user_has_exciting_move
|
||||
.byte 0x82
|
||||
.endm
|
||||
|
||||
.macro if_user_has_exciting_move addr
|
||||
.byte 0x83
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
.macro if_user_doesnt_have_exciting_move addr
|
||||
.byte 0x84
|
||||
.4byte \addr
|
||||
.endm
|
||||
|
||||
@ 85
|
||||
@ 86
|
||||
|
||||
.macro if_effect_in_user_moveset param addr
|
||||
.byte 0x87
|
||||
.2byte \param
|
||||
.4byte \addr
|
||||
.endm
|
@ -333481,7 +333481,7 @@ _081563CC:
|
||||
bgt _08156496
|
||||
cmp r0, 0
|
||||
bne _08156496
|
||||
ldr r1, =gUnknown_082DE350
|
||||
ldr r1, =gContestAIs
|
||||
ldrb r0, [r2, 0x10]
|
||||
lsls r0, 2
|
||||
adds r0, r1
|
||||
|
@ -15,3 +15,4 @@
|
||||
.include "constants/map_constants.s"
|
||||
.include "constants/berry_constants.s"
|
||||
.include "constants/field_object_constants.s"
|
||||
.include "constants/contest_move_effects.s"
|
||||
|
49
constants/contest_move_effects.s
Normal file
49
constants/contest_move_effects.s
Normal file
@ -0,0 +1,49 @@
|
||||
enum_start
|
||||
enum CONTEST_EFFECT_HIGHLY_APPEALING @ 0
|
||||
enum CONTEST_EFFECT_USER_MORE_EASILY_STARTLED @ 1
|
||||
enum CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES @ 2
|
||||
enum CONTEST_EFFECT_REPETITION_NOT_BORING @ 3
|
||||
enum CONTEST_EFFECT_AVOID_STARTLE_ONCE @ 4
|
||||
enum CONTEST_EFFECT_AVOID_STARTLE @ 5
|
||||
enum CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY @ 6
|
||||
enum CONTEST_EFFECT_USER_LESS_EASILY_STARTLED @ 7
|
||||
enum CONTEST_EFFECT_STARTLE_FRONT_MON @ 8
|
||||
enum CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS @ 9
|
||||
enum CONTEST_EFFECT_STARTLE_PREV_MON @ 10
|
||||
enum CONTEST_EFFECT_STARTLE_PREV_MONS @ 11
|
||||
enum CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON @ 12
|
||||
enum CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS @ 13
|
||||
enum CONTEST_EFFECT_STARTLE_PREV_MON_2 @ 14
|
||||
enum CONTEST_EFFECT_STARTLE_PREV_MONS_2 @ 15
|
||||
enum CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION @ 16
|
||||
enum CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION @ 17
|
||||
enum CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN @ 18
|
||||
enum CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL @ 19
|
||||
enum CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL @ 20
|
||||
enum CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL @ 21
|
||||
enum CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL @ 22
|
||||
enum CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL @ 23
|
||||
enum CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL @ 24
|
||||
enum CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS @ 25
|
||||
enum CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS @ 26
|
||||
enum CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS @ 27
|
||||
enum CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION @ 28
|
||||
enum CONTEST_EFFECT_BETTER_IF_FIRST @ 29
|
||||
enum CONTEST_EFFECT_BETTER_IF_LAST @ 30
|
||||
enum CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES @ 31
|
||||
enum CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE @ 32
|
||||
enum CONTEST_EFFECT_BETTER_WHEN_LATER @ 33
|
||||
enum CONTEST_EFFECT_QUALITY_DEPENDS_ON_TIMING @ 34
|
||||
enum CONTEST_EFFECT_BETTER_IF_SAME_TYPE @ 35
|
||||
enum CONTEST_EFFECT_BETTER_IF_DIFF_TYPE @ 36
|
||||
enum CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL @ 37
|
||||
enum CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS @ 38
|
||||
enum CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION @ 39
|
||||
enum CONTEST_EFFECT_NEXT_APPEAL_EARLIER @ 40
|
||||
enum CONTEST_EFFECT_NEXT_APPEAL_LATER @ 41
|
||||
enum CONTEST_EFFECT_MAKE_SCRAMBLING_TURN_ORDER_EASIER @ 42
|
||||
enum CONTEST_EFFECT_SCRAMBLE_NEXT_TURN_ORDER @ 43
|
||||
enum CONTEST_EFFECT_EXCITE_AUDIENCE_IN_ANY_CONTEST @ 44
|
||||
enum CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS @ 45
|
||||
enum CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED @ 46
|
||||
enum CONTEST_EFFECT_DONT_EXCITE_AUDIENCE @ 47
|
@ -1,8 +1,858 @@
|
||||
.include "asm/macros.s"
|
||||
.include "asm/macros/contest_ai_script.s"
|
||||
.include "constants/constants.s"
|
||||
|
||||
.section script_data, "aw", %progbits
|
||||
|
||||
enum_start
|
||||
enum MON_1
|
||||
enum MON_2
|
||||
enum MON_3
|
||||
enum MON_4
|
||||
|
||||
.align 2
|
||||
gUnknown_082DE350:: @ 82DE350
|
||||
.incbin "baserom.gba", 0x2de350, 0x9dc
|
||||
gContestAIs:: @ 82DE350
|
||||
.4byte AI_CheckForBadMove
|
||||
.4byte AI_CheckForCombo
|
||||
.4byte AI_CheckBoring
|
||||
.4byte AI_CheckExcitement
|
||||
.4byte AI_CheckOrder
|
||||
.4byte AI_CheckForGoodMove
|
||||
.4byte AI_Erratic
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
.4byte AI_Nothing
|
||||
|
||||
@ Unreferenced AI routine to encourage moves that improve condition on the first
|
||||
@ turn. Additionally, it checks the appeal order of the user and the effect
|
||||
@ type, but the code is buggy and doesn't affect the score.
|
||||
if_turn_not_eq 0, ContestUnreferenced_80
|
||||
if_effect_not_eq CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, ContestUnreferenced_80
|
||||
score +10
|
||||
ContestUnreferenced_80:
|
||||
call ContestUnreferenced_0D
|
||||
end
|
||||
ContestUnreferenced_0D:
|
||||
if_user_order_more_than MON_2, ContestUnreferenced_end
|
||||
if_effect_type_not_eq 2, ContestUnreferenced_end
|
||||
if_effect_type_not_eq 3, ContestUnreferenced_end
|
||||
score +10 @ unreachable
|
||||
ContestUnreferenced_end:
|
||||
end
|
||||
|
||||
@ Unreferenced AI routine that doesn't make much sense.
|
||||
if_turn_eq 0, ContestUnreferenced_0F_1
|
||||
if_turn_eq 1, ContestUnreferenced_0F_2
|
||||
if_turn_eq 2, ContestUnreferenced_0F_3
|
||||
if_turn_eq 3, ContestUnreferenced_0F_4
|
||||
if_turn_eq 4, ContestUnreferenced_0F_5
|
||||
end
|
||||
ContestUnreferenced_0F_1:
|
||||
if_user_order_not_eq MON_1, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_2, ContestUnreferenced_2B_2
|
||||
if_user_order_not_eq MON_3, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_4, ContestUnreferenced_2B_1
|
||||
end
|
||||
ContestUnreferenced_2B_1:
|
||||
if_effect_type_eq 1, ContestUnreferenced_score
|
||||
end
|
||||
ContestUnreferenced_2B_2:
|
||||
if_effect_type_eq 1, ContestUnreferenced_score
|
||||
end
|
||||
if_effect_type_eq 1, ContestUnreferenced_score
|
||||
end
|
||||
ContestUnreferenced_0F_2:
|
||||
if_user_order_not_eq MON_1, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_2, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_3, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_4, ContestUnreferenced_2B_1
|
||||
end
|
||||
ContestUnreferenced_0F_3:
|
||||
if_user_order_not_eq MON_1, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_2, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_3, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_4, ContestUnreferenced_2B_1
|
||||
end
|
||||
ContestUnreferenced_0F_4:
|
||||
if_user_order_not_eq MON_1, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_2, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_3, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_4, ContestUnreferenced_2B_1
|
||||
end
|
||||
ContestUnreferenced_0F_5:
|
||||
if_user_order_not_eq MON_1, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_2, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_3, ContestUnreferenced_2B_1
|
||||
if_user_order_not_eq MON_4, ContestUnreferenced_2B_1
|
||||
end
|
||||
ContestUnreferenced_score:
|
||||
score +10
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@ Unreferenced AI routine to encourage the most appealing move.
|
||||
if_most_appealing_move ContestUnreferenced_score2
|
||||
end
|
||||
ContestUnreferenced_score2:
|
||||
score +10
|
||||
end
|
||||
|
||||
AI_CheckBoring:
|
||||
if_effect_eq CONTEST_EFFECT_REPETITION_NOT_BORING, AI_end_081DC27F
|
||||
if_move_used_count_eq 1, AI_score1_081DC27F
|
||||
if_move_used_count_eq 2, AI_score2_081DC27F
|
||||
if_move_used_count_eq 3, AI_score3_081DC27F
|
||||
if_move_used_count_eq 4, AI_score4_081DC27F
|
||||
end
|
||||
AI_score1_081DC27F:
|
||||
score -5
|
||||
end
|
||||
AI_score2_081DC27F:
|
||||
score -15
|
||||
end
|
||||
AI_score3_081DC27F:
|
||||
score -20
|
||||
end
|
||||
AI_score4_081DC27F:
|
||||
score -25
|
||||
end
|
||||
AI_end_081DC27F:
|
||||
end
|
||||
|
||||
AI_CheckExcitement:
|
||||
if_move_excitement_less_than 0, AI_contest09_081DC2AB
|
||||
if_move_excitement_eq 0, AI_contest7D_4_081DC2AB
|
||||
if_move_excitement_eq 1, AI_contest3D_081DC2AB
|
||||
end
|
||||
AI_contest09_081DC2AB:
|
||||
if_excitement_eq 4, AI_contest0F_1_081DC2AB
|
||||
if_excitement_eq 3, AI_contest0F_2_081DC2AB
|
||||
if_user_has_exciting_move AI_end_081DC2AB
|
||||
score +15
|
||||
end
|
||||
AI_contest0F_1_081DC2AB:
|
||||
if_user_order_not_eq MON_1, AI_contest7D_1_081DC2AB
|
||||
if_random 51, AI_end_081DC2AB
|
||||
score +20
|
||||
end
|
||||
AI_contest7D_1_081DC2AB:
|
||||
if_random 127, AI_end_081DC2AB
|
||||
score -10
|
||||
end
|
||||
AI_contest0F_2_081DC2AB:
|
||||
if_user_order_not_eq MON_1, AI_contest7D_3_081DC2AB
|
||||
if_turn_eq 4, AI_score_081DC2AB
|
||||
AI_contest7D_2_081DC2AB:
|
||||
if_random 51, AI_end_081DC2AB
|
||||
score +10
|
||||
end
|
||||
AI_score_081DC2AB:
|
||||
score +15
|
||||
end
|
||||
AI_contest7D_3_081DC2AB:
|
||||
if_random 127, AI_end_081DC2AB
|
||||
score +10
|
||||
end
|
||||
AI_contest7D_4_081DC2AB:
|
||||
if_random 127, AI_end_081DC2AB
|
||||
score +10
|
||||
end
|
||||
AI_contest3D_081DC2AB:
|
||||
if_move_used_count_more_than 0, AI_contest29_081DC2AB
|
||||
if_user_order_not_eq MON_1, AI_contest7D_5_081DC2AB
|
||||
if_excitement_not_eq 4, AI_contest7D_5_081DC2AB
|
||||
score +30
|
||||
end
|
||||
AI_contest7D_5_081DC2AB:
|
||||
if_random 100, AI_end_081DC2AB
|
||||
score +10
|
||||
end
|
||||
AI_contest29_081DC2AB:
|
||||
if_effect_not_eq CONTEST_EFFECT_REPETITION_NOT_BORING, AI_end_081DC2AB
|
||||
if_user_order_not_eq MON_1, AI_contest7D_5_081DC2AB
|
||||
if_excitement_not_eq 4, AI_contest7D_5_081DC2AB
|
||||
score +30
|
||||
end
|
||||
AI_end_081DC2AB:
|
||||
end
|
||||
|
||||
AI_CheckForCombo:
|
||||
if_would_finish_combo AI_score_081DC348
|
||||
call AI_contest3F_081DC348
|
||||
call AI_contest45_081DC348
|
||||
end
|
||||
AI_contest3F_081DC348:
|
||||
if_move_used_count_not_eq 0, AI_end_081DC348
|
||||
if_not_combo_starter AI_end_081DC348
|
||||
if_user_order_eq MON_1, AI_contest04_1_081DC348
|
||||
if_user_order_eq MON_2, AI_contest04_2_081DC348
|
||||
if_user_order_eq MON_3, AI_contest04_3_081DC348
|
||||
if_user_order_eq MON_4, AI_contest04_4_081DC348
|
||||
end
|
||||
AI_contest45_081DC348:
|
||||
if_not_combo_finisher AI_end_081DC348
|
||||
score -10
|
||||
end
|
||||
AI_score_081DC348:
|
||||
score +25
|
||||
end
|
||||
AI_contest04_1_081DC348:
|
||||
if_turn_eq 4, AI_contest7D_081DC348
|
||||
if_random 150, AI_end_081DC348
|
||||
score +10
|
||||
end
|
||||
AI_contest04_2_081DC348:
|
||||
if_turn_eq 4, AI_contest7D_081DC348
|
||||
if_random 125, AI_end_081DC348
|
||||
score +10
|
||||
end
|
||||
AI_contest04_3_081DC348:
|
||||
if_turn_eq 4, AI_contest7D_081DC348
|
||||
if_random 50, AI_end_081DC348
|
||||
score +10
|
||||
end
|
||||
AI_contest04_4_081DC348:
|
||||
if_turn_eq 4, AI_contest7D_081DC348
|
||||
score +10
|
||||
end
|
||||
AI_contest7D_081DC348:
|
||||
if_random 125, AI_end_081DC348
|
||||
score -15
|
||||
end
|
||||
AI_end_081DC348:
|
||||
end
|
||||
|
||||
AI_CheckForGoodMove:
|
||||
if_effect_eq CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, ContestEffect39
|
||||
if_effect_eq CONTEST_EFFECT_NEXT_APPEAL_EARLIER, ContestEffect40
|
||||
if_effect_eq CONTEST_EFFECT_NEXT_APPEAL_LATER, ContestEffect41
|
||||
if_effect_eq CONTEST_EFFECT_REPETITION_NOT_BORING, ContestEffect3
|
||||
if_effect_eq CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, ContestEffect38
|
||||
if_effect_eq CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, ContestEffect47
|
||||
if_effect_eq CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, ContestEffect31
|
||||
if_effect_eq CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, ContestEffect32
|
||||
if_effect_eq CONTEST_EFFECT_BETTER_WHEN_AUDIENCE_EXCITED, ContestEffect46
|
||||
if_effect_eq CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, ContestEffect27
|
||||
if_effect_eq CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, ContestEffect16or17
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, ContestEffect16or17
|
||||
if_effect_eq CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, ContestEffect_FollowingMonsNervous
|
||||
if_effect_eq CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, ContestEffect18
|
||||
end
|
||||
|
||||
ContestEffect39:
|
||||
if_user_condition_eq 3, ContestEffect39_score1
|
||||
if_user_condition_eq 2, ContestEffect39_score2
|
||||
if_user_condition_eq 1, ContestEffect39_score3
|
||||
if_user_condition_eq 0, ContestEffect39_score4
|
||||
end
|
||||
ContestEffect39_score1:
|
||||
score +20
|
||||
end
|
||||
ContestEffect39_score2:
|
||||
if_random 125, ContestEffectEnd
|
||||
score +15
|
||||
end
|
||||
ContestEffect39_score3:
|
||||
if_random 125, ContestEffectEnd
|
||||
score +5
|
||||
end
|
||||
ContestEffect39_score4:
|
||||
score -20
|
||||
end
|
||||
|
||||
ContestEffect40:
|
||||
if_effect_in_user_moveset CONTEST_EFFECT_BETTER_IF_FIRST, ContestEffectEnd
|
||||
if_random 50, ContestEffectEnd
|
||||
score +20
|
||||
end
|
||||
|
||||
ContestEffect41:
|
||||
if_effect_in_user_moveset CONTEST_EFFECT_BETTER_IF_LAST, ContestEffectEnd
|
||||
if_random 50, ContestEffectEnd
|
||||
score +20
|
||||
end
|
||||
|
||||
ContestEffect3:
|
||||
if_user_order_not_eq MON_4, ContestEffectEnd
|
||||
if_random 50, ContestEffectEnd
|
||||
score +15
|
||||
end
|
||||
if_turn_eq 4, ContestEffect3_7D
|
||||
if_random 220, ContestEffect3_score
|
||||
score +10
|
||||
end
|
||||
ContestEffect3_7D:
|
||||
if_random 20, ContestEffectEnd
|
||||
score +15
|
||||
end
|
||||
ContestEffect3_score:
|
||||
score -20
|
||||
end
|
||||
|
||||
ContestEffect38:
|
||||
if_effect_in_user_moveset CONTEST_EFFECT_BETTER_WITH_GOOD_CONDITION, ContestEffect38_contest04
|
||||
if_user_condition_eq 3, ContestEffect38_score1
|
||||
if_random 50, ContestEffectEnd
|
||||
score +15
|
||||
end
|
||||
ContestEffect38_score1:
|
||||
score -10
|
||||
end
|
||||
ContestEffect38_contest04:
|
||||
if_turn_eq 4, ContestEffect38_score2
|
||||
if_turn_eq 0, ContestEffect38_random
|
||||
if_move_used_count_eq 1, ContestEffectEnd
|
||||
if_random 125, ContestEffectEnd
|
||||
score +10
|
||||
end
|
||||
ContestEffect38_random:
|
||||
if_random 100, ContestEffectEnd
|
||||
score +10
|
||||
end
|
||||
ContestEffect38_score2:
|
||||
score -10
|
||||
end
|
||||
|
||||
ContestEffect47:
|
||||
if_move_used_count_eq 1, ContestEffectEnd
|
||||
if_user_order_eq MON_1, ContestEffect47_random
|
||||
if_user_order_eq MON_2, ContestEffect47_random
|
||||
if_turn_not_eq 4, ContestEffectEnd
|
||||
if_user_has_exciting_move ContestEffectEnd
|
||||
if_excitement_less_than 1, ContestEffectEnd
|
||||
score +10
|
||||
end
|
||||
ContestEffect47_random:
|
||||
if_random 127, ContestEffectEnd
|
||||
score +10
|
||||
end
|
||||
|
||||
ContestEffect31:
|
||||
if_user_order_eq MON_2, ContestEffect31_score1
|
||||
if_user_order_eq MON_3, ContestEffect31_score2
|
||||
if_user_order_eq MON_4, ContestEffect31_score3
|
||||
end
|
||||
ContestEffect31_score1:
|
||||
score +5
|
||||
end
|
||||
ContestEffect31_score2:
|
||||
score +15
|
||||
end
|
||||
ContestEffect31_score3:
|
||||
score +20
|
||||
end
|
||||
|
||||
ContestEffect32:
|
||||
if_user_order_eq MON_1, ContestEffect32_score1
|
||||
if_user_order_eq MON_2, ContestEffect32_score2
|
||||
if_user_order_eq MON_3, ContestEffect32_score3
|
||||
if_user_order_eq MON_4, ContestEffect32_score5
|
||||
end
|
||||
ContestEffect32_score1:
|
||||
score -10
|
||||
end
|
||||
ContestEffect32_score2:
|
||||
if_cannot_participate MON_1, ContestEffectEnd
|
||||
score +5
|
||||
end
|
||||
ContestEffect32_score3:
|
||||
if_cannot_participate MON_1, ContestEffect32_score4
|
||||
score +5
|
||||
jump ContestEffect32_score4
|
||||
end
|
||||
ContestEffect32_score4:
|
||||
if_cannot_participate MON_2, ContestEffectEnd
|
||||
score +5
|
||||
end
|
||||
ContestEffect32_score5:
|
||||
if_cannot_participate MON_1, ContestEffect32_score6
|
||||
score +5
|
||||
jump ContestEffect32_score6
|
||||
end
|
||||
ContestEffect32_score6:
|
||||
if_cannot_participate MON_2, ContestEffect32_score7
|
||||
score +5
|
||||
jump ContestEffect32_score7
|
||||
end
|
||||
ContestEffect32_score7:
|
||||
if_cannot_participate MON_3, ContestEffectEnd
|
||||
score +5
|
||||
end
|
||||
|
||||
ContestEffect46:
|
||||
if_user_order_eq MON_1, ContestEffect46_05
|
||||
if_user_order_more_than MON_1, ContestEffect46_score4
|
||||
end
|
||||
ContestEffect46_05:
|
||||
if_turn_not_eq 0, ContestEffect46_score1
|
||||
if_excitement_eq 4, ContestEffect46_score2
|
||||
if_excitement_eq 3, ContestEffect46_score3
|
||||
end
|
||||
ContestEffect46_score1:
|
||||
if_random 125, ContestEffectEnd
|
||||
score -15
|
||||
end
|
||||
ContestEffect46_score2:
|
||||
if_random 125, ContestEffectEnd
|
||||
score +20
|
||||
end
|
||||
ContestEffect46_score3:
|
||||
if_random 125, ContestEffectEnd
|
||||
score +15
|
||||
end
|
||||
ContestEffect46_score4:
|
||||
if_random 178, ContestEffectEnd
|
||||
score +10
|
||||
end
|
||||
|
||||
ContestEffect27:
|
||||
if_user_order_eq MON_1, ContestEffectEnd
|
||||
jump ContestEffect27_55_1
|
||||
end
|
||||
ContestEffect27_55_1:
|
||||
if_cannot_participate MON_1, ContestEffect27_noscore
|
||||
if_condition_eq MON_1, 0, ContestEffect27_noscore
|
||||
if_condition_eq MON_1, 1, ContestEffect27_score1
|
||||
if_condition_eq MON_1, 2, ContestEffect27_score2
|
||||
if_condition_eq MON_1, 3, ContestEffect27_score3
|
||||
end
|
||||
ContestEffect27_score1:
|
||||
if_random 125, ContestEffect27_55_2
|
||||
score +5
|
||||
if_user_order_more_than MON_2, ContestEffect27_55_2
|
||||
end
|
||||
ContestEffect27_score2:
|
||||
if_random 125, ContestEffect27_55_2
|
||||
score +10
|
||||
if_user_order_more_than MON_2, ContestEffect27_55_2
|
||||
end
|
||||
ContestEffect27_score3:
|
||||
if_random 125, ContestEffect27_55_2
|
||||
score +15
|
||||
if_user_order_more_than MON_2, ContestEffect27_55_2
|
||||
end
|
||||
ContestEffect27_noscore:
|
||||
if_user_order_more_than MON_2, ContestEffect27_55_2
|
||||
end
|
||||
ContestEffect27_55_2:
|
||||
if_cannot_participate MON_2, ContestEffect27_noscore2
|
||||
if_condition_eq MON_2, 0, ContestEffect27_noscore2
|
||||
if_condition_eq MON_2, 1, ContestEffect27_score4
|
||||
if_condition_eq MON_2, 2, ContestEffect27_score5
|
||||
if_condition_eq MON_2, 3, ContestEffect27_score6
|
||||
end
|
||||
ContestEffect27_score4:
|
||||
if_random 125, ContestEffect27_55_3
|
||||
score +5
|
||||
if_user_order_more_than MON_3, ContestEffect27_55_3
|
||||
end
|
||||
ContestEffect27_score5:
|
||||
if_random 125, ContestEffect27_55_3
|
||||
score +10
|
||||
if_user_order_more_than MON_3, ContestEffect27_55_3
|
||||
end
|
||||
ContestEffect27_score6:
|
||||
if_random 125, ContestEffect27_55_3
|
||||
score +15
|
||||
if_user_order_more_than MON_3, ContestEffect27_55_3
|
||||
end
|
||||
ContestEffect27_noscore2:
|
||||
if_user_order_more_than MON_3, ContestEffect27_55_3
|
||||
end
|
||||
ContestEffect27_55_3:
|
||||
if_cannot_participate MON_3, ContestEffect27_end
|
||||
if_condition_eq MON_3, 0, ContestEffect27_end
|
||||
if_condition_eq MON_3, 1, ContestEffect27_score7
|
||||
if_condition_eq MON_3, 2, ContestEffect27_score8
|
||||
if_condition_eq MON_3, 3, ContestEffect27_score9
|
||||
end
|
||||
ContestEffect27_score7:
|
||||
if_random 125, ContestEffectEnd
|
||||
score +5
|
||||
end
|
||||
ContestEffect27_score8:
|
||||
if_random 125, ContestEffectEnd
|
||||
score +10
|
||||
end
|
||||
ContestEffect27_score9:
|
||||
if_random 125, ContestEffectEnd
|
||||
score +15
|
||||
end
|
||||
ContestEffect27_end:
|
||||
end
|
||||
|
||||
ContestEffect16or17:
|
||||
if_user_order_eq MON_1, ContestEffectEnd
|
||||
jump ContestEffect16or17_55
|
||||
end
|
||||
ContestEffect16or17_55:
|
||||
if_cannot_participate MON_1, ContestEffect16or17_0E_1
|
||||
if_used_combo_starter_eq MON_1, TRUE, ContestEffect16or17_0E_1
|
||||
if_random 125, ContestEffect16or17_0E_1
|
||||
score +2
|
||||
contest_58 MON_1, ContestEffect16or17_0E_1
|
||||
score +8
|
||||
end
|
||||
ContestEffect16or17_0E_1:
|
||||
if_user_order_eq MON_2, ContestEffectEnd
|
||||
if_cannot_participate MON_2, ContestEffect16or17_0E_2
|
||||
if_used_combo_starter_eq MON_2, TRUE, ContestEffect16or17_0E_2
|
||||
if_random 125, ContestEffect16or17_0E_2
|
||||
score +2
|
||||
contest_58 MON_2, ContestEffect16or17_0E_2
|
||||
score +8
|
||||
end
|
||||
ContestEffect16or17_0E_2:
|
||||
if_user_order_eq MON_3, ContestEffectEnd
|
||||
if_cannot_participate MON_3, ContestEffectEnd
|
||||
if_used_combo_starter_eq MON_3, TRUE, ContestEffectEnd
|
||||
if_random 125, ContestEffectEnd
|
||||
score +2
|
||||
contest_58 MON_3, ContestEffectEnd
|
||||
score +8
|
||||
end
|
||||
|
||||
ContestEffect_FollowingMonsNervous:
|
||||
if_user_order_eq MON_4, ContestEffectEnd
|
||||
jump ContestEffect_FollowingMonsNervous_CheckMon4
|
||||
end
|
||||
ContestEffect_FollowingMonsNervous_CheckMon4:
|
||||
if_cannot_participate MON_4, ContestEffect_FollowingMonsNervous_CheckMon3
|
||||
if_used_combo_starter_eq MON_4, FALSE, ContestEffect_FollowingMonsNervous_CheckMon3
|
||||
score +5
|
||||
if_random 125, ContestEffect16or17_0E_1
|
||||
score +5
|
||||
end
|
||||
ContestEffect_FollowingMonsNervous_CheckMon3:
|
||||
if_user_order_eq MON_3, ContestEffectEnd
|
||||
if_cannot_participate MON_3, ContestEffect_FollowingMonsNervous_CheckMon2
|
||||
if_used_combo_starter_eq MON_3, FALSE, ContestEffect_FollowingMonsNervous_CheckMon2
|
||||
score +5
|
||||
if_random 125, ContestEffect16or17_0E_2
|
||||
score +5
|
||||
end
|
||||
ContestEffect_FollowingMonsNervous_CheckMon2:
|
||||
if_user_order_eq MON_2, ContestEffectEnd
|
||||
if_cannot_participate MON_2, ContestEffectEnd
|
||||
if_used_combo_starter_eq MON_2, FALSE, ContestEffectEnd
|
||||
score +5
|
||||
if_random 125, ContestEffectEnd
|
||||
score +5
|
||||
end
|
||||
|
||||
ContestEffect18:
|
||||
if_turn_eq 4, ContestEffect18_score1
|
||||
jump ContestEffect18_0E
|
||||
end
|
||||
ContestEffect18_score1:
|
||||
score +5
|
||||
jump ContestEffect18_0E
|
||||
end
|
||||
ContestEffect18_0E:
|
||||
if_user_order_eq MON_1, ContestEffect18_score2
|
||||
if_user_order_eq MON_2, ContestEffect18_random1
|
||||
if_user_order_eq MON_3, ContestEffect18_random2
|
||||
if_user_order_eq MON_4, ContestEffect18_random3
|
||||
end
|
||||
ContestEffect18_score2:
|
||||
score -15
|
||||
end
|
||||
ContestEffect18_random1:
|
||||
if_random 125, ContestEffectEnd
|
||||
score -10
|
||||
end
|
||||
ContestEffect18_random2:
|
||||
if_random 125, ContestEffectEnd
|
||||
score +5
|
||||
end
|
||||
ContestEffect18_random3:
|
||||
if_random 125, ContestEffectEnd
|
||||
score +15
|
||||
end
|
||||
|
||||
ContestEffectEnd:
|
||||
end
|
||||
|
||||
@ Randomly encourage moves in Cute, Smart, and Tough contests.
|
||||
AI_Erratic:
|
||||
if_contest_type_eq CONTEST_CUTE, Erratic_CuteSmartTough
|
||||
if_contest_type_eq CONTEST_SMART, Erratic_CuteSmartTough
|
||||
if_contest_type_eq CONTEST_TOUGH, Erratic_CuteSmartTough
|
||||
end
|
||||
Erratic_CuteSmartTough:
|
||||
if_random 125, Erratic_NoScoreIncrease
|
||||
score +10
|
||||
end
|
||||
Erratic_NoScoreIncrease:
|
||||
end
|
||||
|
||||
AI_CheckForBadMove:
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_FRONT_MON, ContestEffect2_8
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_PREV_MON, ContestEffect2_8
|
||||
if_effect_eq CONTEST_EFFECT_BADLY_STARTLE_FRONT_MON, ContestEffect2_8
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_PREV_MON_2, ContestEffect2_8
|
||||
if_effect_eq CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONE, ContestEffect2_8
|
||||
if_effect_eq CONTEST_EFFECT_BETTER_IF_SAME_TYPE, ContestEffect2_8
|
||||
if_effect_eq CONTEST_EFFECT_BETTER_IF_DIFF_TYPE, ContestEffect2_8
|
||||
if_effect_eq CONTEST_EFFECT_AFFECTED_BY_PREV_APPEAL, ContestEffect2_8
|
||||
if_effect_eq CONTEST_EFFECT_SLIGHTLY_STARTLE_PREV_MONS, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_PREV_MONS, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_BADLY_STARTLE_PREV_MONS, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_PREV_MONS_2, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_MON_WITH_JUDGES_ATTENTION, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_SHIFT_JUDGE_ATTENTION, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_MONS_SAME_TYPE_APPEAL, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_BADLY_STARTLE_MONS_WITH_GOOD_APPEALS, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_MONS_COOL_APPEAL, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_MONS_BEAUTY_APPEAL, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_MONS_CUTE_APPEAL, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_MONS_SMART_APPEAL, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_STARTLE_MONS_TOUGH_APPEAL, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_BADLY_STARTLES_MONS_IN_GOOD_CONDITION, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_WORSEN_CONDITION_OF_PREV_MONS, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, ContestEffect2_9
|
||||
if_effect_eq CONTEST_EFFECT_MAKE_FOLLOWING_MON_NERVOUS, ContestEffect2_25
|
||||
if_effect_eq CONTEST_EFFECT_MAKE_FOLLOWING_MONS_NERVOUS, ContestEffect2_26
|
||||
if_effect_eq CONTEST_EFFECT_DONT_EXCITE_AUDIENCE, ContestEffect2_26
|
||||
if_effect_eq CONTEST_EFFECT_IMPROVE_CONDITION_PREVENT_NERVOUSNESS, ContestEffect2_38
|
||||
if_effect_eq CONTEST_EFFECT_AVOID_STARTLE_ONCE, ContestEffect2_4
|
||||
if_effect_eq CONTEST_EFFECT_AVOID_STARTLE, ContestEffect2_4
|
||||
if_effect_eq CONTEST_EFFECT_AVOID_STARTLE_SLIGHTLY, ContestEffect2_4
|
||||
if_effect_eq CONTEST_EFFECT_GREAT_APPEAL_BUT_NO_MORE_MOVES, ContestEffect2_2
|
||||
end
|
||||
|
||||
ContestEffect2_8:
|
||||
if_user_order_eq MON_1, ContestEffect2_8_score1
|
||||
if_user_order_eq MON_2, ContestEffect2_8_score2
|
||||
if_user_order_eq MON_3, ContestEffect2_8_score3
|
||||
if_user_order_eq MON_4, ContestEffect2_8_score4
|
||||
end
|
||||
ContestEffect2_8_score1:
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_8_score2:
|
||||
if_can_participate MON_1, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_8_score3:
|
||||
if_can_participate MON_2, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_8_score4:
|
||||
if_can_participate MON_3, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
|
||||
ContestEffect2_9:
|
||||
if_user_order_eq MON_1, ContestEffect2_9_score1
|
||||
if_user_order_eq MON_2, ContestEffect2_9_score2
|
||||
if_user_order_eq MON_3, ContestEffect2_9_score3
|
||||
if_user_order_eq MON_4, ContestEffect2_9_score4
|
||||
end
|
||||
ContestEffect2_9_score1:
|
||||
score -20
|
||||
end
|
||||
ContestEffect2_9_score2:
|
||||
if_can_participate MON_1, ContestEffectEnd2
|
||||
score -15
|
||||
end
|
||||
ContestEffect2_9_score3:
|
||||
if_can_participate MON_1, ContestEffectEnd2
|
||||
if_can_participate MON_2, ContestEffectEnd2
|
||||
score -15
|
||||
end
|
||||
ContestEffect2_9_score4:
|
||||
if_can_participate MON_1, ContestEffectEnd2
|
||||
if_can_participate MON_2, ContestEffectEnd2
|
||||
if_can_participate MON_3, ContestEffectEnd2
|
||||
score -15
|
||||
end
|
||||
|
||||
ContestEffect2_25:
|
||||
if_user_order_eq MON_1, ContestEffect2_25_score1
|
||||
if_user_order_eq MON_2, ContestEffect2_25_score2
|
||||
if_user_order_eq MON_3, ContestEffect2_25_score3
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_25_score1:
|
||||
if_can_participate MON_2, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_25_score2:
|
||||
if_can_participate MON_3, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_25_score3:
|
||||
if_can_participate MON_4, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
|
||||
ContestEffect2_26:
|
||||
if_user_order_eq MON_1, ContestEffect2_26_score1
|
||||
if_user_order_eq MON_2, ContestEffect2_26_score2
|
||||
if_user_order_eq MON_3, ContestEffect2_26_score3
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_26_score1:
|
||||
if_can_participate MON_2, ContestEffectEnd2
|
||||
if_can_participate MON_3, ContestEffectEnd2
|
||||
if_can_participate MON_4, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_26_score2:
|
||||
if_can_participate MON_3, ContestEffectEnd2
|
||||
if_can_participate MON_4, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_26_score3:
|
||||
if_can_participate MON_4, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
|
||||
ContestEffect2_38:
|
||||
if_user_condition_less_than 3, ContestEffectEnd2
|
||||
score -20
|
||||
end
|
||||
|
||||
ContestEffect2_4:
|
||||
if_user_order_eq MON_1, ContestEffect2_4_score1
|
||||
if_user_order_eq MON_2, ContestEffect2_4_score2
|
||||
if_user_order_eq MON_3, ContestEffect2_4_score3
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_4_score1:
|
||||
if_can_participate MON_2, ContestEffectEnd2
|
||||
if_can_participate MON_3, ContestEffectEnd2
|
||||
if_can_participate MON_4, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_4_score2:
|
||||
if_can_participate MON_3, ContestEffectEnd2
|
||||
if_can_participate MON_4, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
ContestEffect2_4_score3:
|
||||
if_can_participate MON_4, ContestEffectEnd2
|
||||
score -10
|
||||
end
|
||||
|
||||
ContestEffect2_2:
|
||||
if_turn_eq 0, ContestEffect2_2_score1
|
||||
if_turn_eq 1, ContestEffect2_2_score2
|
||||
if_turn_eq 2, ContestEffect2_2_score3
|
||||
if_turn_eq 3, ContestEffect2_2_score4
|
||||
if_turn_eq 4, ContestEffect2_2_score5
|
||||
end
|
||||
ContestEffect2_2_score1:
|
||||
if_random 20, ContestEffectEnd2
|
||||
score -15
|
||||
end
|
||||
ContestEffect2_2_score2:
|
||||
if_random 40, ContestEffectEnd2
|
||||
score -15
|
||||
end
|
||||
ContestEffect2_2_score3:
|
||||
if_random 60, ContestEffectEnd2
|
||||
score -15
|
||||
end
|
||||
ContestEffect2_2_score4:
|
||||
if_random 80, ContestEffectEnd2
|
||||
score -15
|
||||
end
|
||||
ContestEffect2_2_score5:
|
||||
if_random 20, ContestEffectEnd2
|
||||
score +20
|
||||
end
|
||||
|
||||
ContestEffectEnd2:
|
||||
end
|
||||
|
||||
AI_CheckOrder:
|
||||
if_user_order_eq MON_1, AI_effectcheck1_081DCA4C
|
||||
if_user_order_eq MON_2, AI_effectcheck2_081DCA4C
|
||||
if_user_order_eq MON_3, AI_effectcheck3_081DCA4C
|
||||
if_user_order_eq MON_4, AI_effectcheck4_081DCA4C
|
||||
end
|
||||
AI_effectcheck1_081DCA4C:
|
||||
if_effect_eq CONTEST_EFFECT_BETTER_IF_FIRST, AI_score1_081DCA4C
|
||||
if_effect_eq CONTEST_EFFECT_BETTER_WHEN_LATER, AI_score2_081DCA4C
|
||||
if_effect_type_eq 1, AI_random1_081DCA4C
|
||||
end
|
||||
AI_score1_081DCA4C:
|
||||
score +15
|
||||
end
|
||||
AI_score2_081DCA4C:
|
||||
score -15
|
||||
end
|
||||
AI_random1_081DCA4C:
|
||||
if_random 100, ContestEffectEnd2
|
||||
score +10
|
||||
end
|
||||
AI_effectcheck2_081DCA4C:
|
||||
if_effect_eq CONTEST_EFFECT_BETTER_WHEN_LATER, AI_score3_081DCA4C
|
||||
if_effect_type_eq 1, AI_random2_081DCA4C
|
||||
end
|
||||
AI_score3_081DCA4C:
|
||||
score -5
|
||||
end
|
||||
AI_random2_081DCA4C:
|
||||
if_random 125, ContestEffectEnd2
|
||||
score +10
|
||||
end
|
||||
AI_effectcheck3_081DCA4C:
|
||||
if_effect_eq CONTEST_EFFECT_BETTER_WHEN_LATER, AI_score4_081DCA4C
|
||||
if_effect_eq CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, AI_score4_081DCA4C
|
||||
if_effect_eq CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, AI_score4_081DCA4C
|
||||
end
|
||||
AI_score4_081DCA4C:
|
||||
score +5
|
||||
end
|
||||
AI_effectcheck4_081DCA4C:
|
||||
if_effect_eq CONTEST_EFFECT_BETTER_WHEN_LATER, AI_score5_081DCA4C
|
||||
if_effect_eq CONTEST_EFFECT_BETTER_IF_LAST, AI_score5_081DCA4C
|
||||
if_effect_eq CONTEST_EFFECT_APPEAL_AS_GOOD_AS_PREV_ONES, AI_score5_081DCA4C
|
||||
if_effect_eq CONTEST_EFFECT_USER_MORE_EASILY_STARTLED, AI_score5_081DCA4C
|
||||
if_effect_eq CONTEST_EFFECT_JAMS_OTHERS_BUT_MISS_ONE_TURN, AI_score7_081DCA4C
|
||||
if_effect_type_eq 1, AI_score6_081DCA4C
|
||||
if_effect_type_eq 3, AI_random3_081DCA4C
|
||||
end
|
||||
AI_score5_081DCA4C:
|
||||
score +15
|
||||
end
|
||||
AI_score6_081DCA4C:
|
||||
score -10
|
||||
end
|
||||
AI_random3_081DCA4C:
|
||||
if_random 125, ContestEffectEnd2
|
||||
score +10
|
||||
end
|
||||
AI_score7_081DCA4C:
|
||||
score +5
|
||||
end
|
||||
|
||||
AI_Nothing:
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user