/* *
* DEMONS SOULS
* ************************************************************* */
define DS_MENU_SCRIPT = 1;
// Buttons Assignments
// -----------------------
remap PS3_CIRCLE -> PS3_SQUARE; // CIRCLE: Use Item
remap PS3_SQUARE -> PS3_R1; // SQUARE: Light Attack
remap PS3_R1 -> PS3_R3; // R1: Target Lock
remap PS3_R3 -> PS3_TRIANGLE; // R3: Toggle Holding
remap PS3_TRIANGLE -> PS3_R2; // TRIANGLE: Heavy Attack
remap PS3_R2 -> PS3_CIRCLE; // R2: Roll, Run
// CROSS: Activation
// L1: Defend
// L2: Parry
// -----------------------
int sprint = FALSE;
init {
// Visual indication when this script is running.
set_led(LED_1, 1);
set_led(LED_2, 1);
set_led(LED_3, 1);
set_led(LED_4, 1);
}
main {
// Switch scripts
if(event_release(PS3_START)) {
if(get_ptime(PS3_START) < 500) combo_run(Start);
else combo_run(Select);
} set_val(PS3_START, 0);
if(event_release(PS3_SELECT) && get_ptime(PS3_SELECT) < 200) {
load_script(DS_MENU_SCRIPT);
} set_val(PS3_SELECT, 0);
// Only use item if button was pressed 100%, to avoid mistakes.
if(get_val(PS3_CIRCLE) < 100) {
set_val(PS3_CIRCLE, 0);
}
// Light Attack Rapidfire
if(get_val(PS3_SQUARE) == 100) {
combo_run(LightAttack);
}
// Heavy Attack Rapidfire
if(get_val(PS3_TRIANGLE) == 100) {
combo_run(HeavyAttack);
}
// Roll
if(get_val(PS3_R2)) {
combo_run(Roll);
} else if(combo_running(Roll)) combo_stop(Roll);
// Counter Attack Combo
if(get_val(PS3_L2)) {
combo_run(CounterAttack);
}
// Sprint Lock
if(get_val(PS3_LY) <= -90) {
if(event_press(PS3_R3)) sprint = TRUE;
} else if(sprint) sprint = FALSE;
if(sprint) set_val(PS3_R2, 100);
set_val(PS3_R3, 0);
// L3: Toggle Holding
if(get_val(PS3_L3)) {
set_val(PS3_R3, 100);
}
}
combo Start {
set_val(PS3_START, 100);
wait(40);
}
combo Select {
set_val(PS3_SELECT, 100);
wait(40);
}
combo LightAttack {
set_val(PS3_SQUARE, 100);
wait(40);
set_val(PS3_SQUARE, 0);
wait(20);
set_val(PS3_SQUARE, 0);
}
combo HeavyAttack {
set_val(PS3_TRIANGLE, 100);
wait(40);
set_val(PS3_TRIANGLE, 0);
wait(20);
set_val(PS3_TRIANGLE, 0);
}
combo Roll {
set_val(PS3_R2, 100);
wait(40);
set_val(PS3_R2, 0);
wait(20); // 760
set_val(PS3_R2, 0);
}
combo CounterAttack {
set_val(PS3_L2, 100);
wait(40);
set_val(PS3_SQUARE, 100);
wait(40);
}