Some more minor clean up (#215)

* General clean up

- Reduced woodcutting code by alot, reverted the array to an enum
- Moved the login player method to the packet sender
- Deleted some dead code/cleaned up

* More random cleanup/refractoring

- Moved combat constants to combatconstants.java
- Moved dialogue options to dialogueoptions.java
- Deleted more dead code

* Replaced some poorly written methods

- refreshSkill, levelUp, and getTotalLevel all used way too much code for such a simple function so cleaned it up
- deleted a few other bits of dead code

* Fight caves

- Should fix fight caves npcs nulling out in the middle of your waves if they are too far away
- Also removed some unneeded scynchronization in itemassistant.java

* Gates

- Started cleaning up gate system, still can be improved a lot more
This commit is contained in:
Mr Extremez
2019-11-28 10:47:06 -06:00
committed by Daniel Ginovker
parent 20303071de
commit 68256e41d8
32 changed files with 1668 additions and 2126 deletions
@@ -1,177 +1,218 @@
package com.rebotted.game.globalworldobjects;
import com.rebotted.game.players.Player;
/**
* Single Gates
* Aug 24, 2017 : 4:20:18 AM
* DoubleGates.java
* @author Andrew (Mr Extremez)
*/
public class DoubleGates extends GateHandler {
public static void useDoubleGate(Player player, int objectId) {
public void useDoubleGate(Player player, int objectId) {
switch (objectId) {
case 7049:
handleGate(player, 7049, 7050, 3077, 3259, 3077, 3260, 3077, 3258, 3078, 3258, 2);
if ((player.objectX == 3052 || player.objectX == 3053) && player.objectY >= 3283 && player.objectY <= 3285) {
handleWoodenGate(player, 7049, 7050, 3052, 3284, 3052, 3285, 3052, 3283, 3053, 3283, 2);
} else if ((player.objectX == 3052 || player.objectX == 3053) && player.objectY >= 3299 && player.objectY <= 3301) {
handleWoodenGate(player, 7049, 7050, 3052, 3300, 3052, 3301, 3052, 3299, 3053, 3299, 2);
} else if (player.objectX > 3030 && player.objectX < 3033) {
handleWoodenGate(player, 7049, 7050, 3031, 3314, 3031, 3315, 3031, 3313, 3032, 3313, 2);
} else if (player.objectY > 3304 && player.objectY < 3307) {
handleWoodenGate(player, 7049, 7050, 3020, 3305, 3019, 3305, 3021, 3305, 3021, 3306, 1);
} else if (player.objectY > 3299 && player.objectY < 3302) {
handleWoodenGate(player, 7049, 7050, 3020, 3300, 3019, 3300, 3021, 3300, 3021, 3301, 1);
} else {
handleWoodenGate(player, 7049, 7050, 3077, 3259, 3077, 3260, 3077, 3258, 3078, 3258, 2);
}
break;
case 7050:
handleGate(player, 7050, 7049, 3077, 3260, 3077, 3259, 3078, 3258, 3077, 3258, 2);
if ((player.objectX == 3052 || player.objectX == 3053) && player.objectY >= 3283 && player.objectY <= 3285) {
handleWoodenGate(player, 7050, 7049, 3052, 3285, 3052, 3284, 3053, 3283, 3052, 3283, 2);
} else if (player.objectY > 3299 && player.objectY < 3302) {
handleWoodenGate(player, 7049, 7050, 3019, 3300, 3020, 3300, 3021, 3301, 3021, 3300, 1);
} else if (player.objectY > 3304 && player.objectY < 3307) {
handleWoodenGate(player, 7050, 7049, 3019, 3305, 3020, 3305, 3021, 3306, 3021, 3305, 1);
} else if ((player.objectX == 3052 || player.objectX == 3053) && player.objectY >= 3299 && player.objectY <= 3301) {
handleWoodenGate(player, 7050, 7049, 3052, 3301, 3052, 3300, 3053, 3299, 3052, 3299, 2);
} else if (player.objectX > 3030 && player.objectX < 3033) {
handleWoodenGate(player, 7050, 7049, 3031, 3315, 3031, 3314, 3032, 3313, 3031, 3313, 2);
} else {
handleWoodenGate(player, 7049, 7050, 3077, 3259, 3077, 3260, 3077, 3258, 3078, 3258, 2);
}
break;
case 1598:
handleGate(player, 1598, 1599, 3319, 3467, 3318, 3467, 3320, 3467, 3320, 3468, 1);
handleWoodenGate(player, 1598, 1599, 3319, 3467, 3318, 3467, 3320, 3467, 3320, 3468, 1);
break;
case 1599:
handleGate(player, 1599, 1598, 3318, 3467, 3319, 3467, 3320, 3468, 3320, 3467, 1);
handleWoodenGate(player, 1599, 1598, 3318, 3467, 3319, 3467, 3320, 3468, 3320, 3467, 1);
break;
case 3197:
handleGate(player, 3197, 3198, 3311, 3234, 3310, 3234, 3312, 3234, 3312, 3235, 1);
handleWoodenGate(player, 3197, 3198, 3311, 3234, 3310, 3234, 3312, 3234, 3312, 3235, 1);
break;
case 3198:
handleGate(player, 3198, 3197, 3310, 3234, 3311, 3234, 3312, 3235, 3312, 3234, 1);
handleWoodenGate(player, 3198, 3197, 3310, 3234, 3311, 3234, 3312, 3235, 3312, 3234, 1);
break;
case 1551:
if (player.objectX > 3179 && player.objectX < 3182) {
handleGate(player, 1551, 1553, 3181, 3288, 3181, 3287, 3181, 3289, 3180, 3289, 0);
handleWoodenGate(player, 1551, 1553, 3181, 3288, 3181, 3287, 3181, 3289, 3180, 3289, 0);
} else if (player.objectX > 2922 && player.objectX < 2925) {
handleWoodenGate(player, 1551, 1553, 2924, 3291, 2924, 3290, 2924, 3292, 2923, 3292, 0);
} else if (player.objectX > 3078 && player.objectX < 3081) {
handleWoodenGate(player, 1551, 1553, 3080, 3500, 3080, 3499, 3080, 3501, 3079, 3501, 0);
} else if (player.objectX > 3161 && player.objectX < 3164) {
handleGate(player, 1551, 1553, 3163, 3289, 3163, 3288, 3163, 3290, 3162, 3290, 0);
handleWoodenGate(player, 1551, 1553, 3163, 3289, 3163, 3288, 3163, 3290, 3162, 3290, 0);
} else if (player.objectY > 3290 && player.objectY < 3294) {
handleGate(player, 1551, 1553, 3145, 3292, 3145, 3293, 3145, 3291, 3146, 3291, 2);
handleWoodenGate(player, 1551, 1553, 3145, 3292, 3145, 3293, 3145, 3291, 3146, 3291, 2);
} else if (player.objectY > 3272 && player.objectY < 3275) {
handleGate(player, 1551, 1553, 3106, 3273, 3105, 3273, 3107, 3273, 3107, 3274, 1);
handleWoodenGate(player, 1551, 1553, 3106, 3273, 3105, 3273, 3107, 3273, 3107, 3274, 1);
} else if (player.objectY > 3265 && player.objectY < 3268) {
handleGate(player, 1551, 1553, 3252, 3266, 3251, 3266, 3253, 3266, 3253, 3267, 1);
handleWoodenGate(player, 1551, 1553, 3252, 3266, 3251, 3266, 3253, 3266, 3253, 3267, 1);
} else if (player.objectY > 3283 && player.objectY < 3286) {
handleGate(player, 1551, 1553, 3237, 3285, 3238, 3285, 3236, 3285, 3236, 3284, 5);
handleWoodenGate(player, 1551, 1553, 3237, 3285, 3238, 3285, 3236, 3285, 3236, 3284, 5);
} else if (player.objectY > 3294 && player.objectY < 3297) {
handleGate(player, 1551, 1553, 3237, 3296, 3238, 3296, 3236, 3296, 3236, 3295, 5);
handleWoodenGate(player, 1551, 1553, 3237, 3296, 3238, 3296, 3236, 3296, 3236, 3295, 5);
} else if (player.objectY > 3300 && player.objectY < 3303) {
handleGate(player, 1551, 1553, 3240, 3301, 3239, 3301, 3241, 3301, 3241, 3302, 1);
handleWoodenGate(player, 1551, 1553, 3240, 3301, 3239, 3301, 3241, 3301, 3241, 3302, 1);
} else if (player.objectX > 3260 & player.objectX < 3263) {
handleGate(player, 1551, 1553, 3261, 3322, 3261, 3323, 3261, 3321, 3262, 3321, 2);
handleWoodenGate(player, 1551, 1553, 3261, 3322, 3261, 3323, 3261, 3321, 3262, 3321, 2);
} else if (player.objectY > 3348 && player.objectY < 3351) {
handleGate(player, 1551, 1553, 2676, 3350, 2677, 3350, 2675, 3350, 2675, 3349, 5);
handleWoodenGate(player, 1551, 1553, 2676, 3350, 2677, 3350, 2675, 3350, 2675, 3349, 5);
} else if (player.objectY > 3313 && player.objectY < 3318) {
handleGate(player, 1551, 1553, 3174, 3314, 3174, 3315, 3175, 3316, 3174, 3316, 4);
handleWoodenGate(player, 1551, 1553, 3174, 3314, 3174, 3315, 3175, 3316, 3174, 3316, 4);
} else if (player.objectY > 3442 && player.objectY < 3445) {
handleWoodenGate(player, 1551, 1553, 2767, 3444, 2768, 3444, 2766, 3444, 2766, 3443, 5);
} else {
handleGate(player, 1551, 1553, 3198, 3281, 3198, 3280, 3198, 3282, 3197, 3282, 0);
handleWoodenGate(player, 1551, 1553, 3198, 3281, 3198, 3280, 3198, 3282, 3197, 3282, 0);
}
break;
case 1553:
if (player.objectX > 3179 && player.objectX < 3182) {
handleGate(player, 1553, 1551, 3181, 3287, 3181, 3288, 3180, 3289, 3181, 3289, 0);
handleWoodenGate(player, 1553, 1551, 3181, 3287, 3181, 3288, 3180, 3289, 3181, 3289, 0);
} else if (player.objectX > 2922 && player.objectX < 2925) {
handleWoodenGate(player, 1553, 1551, 2924, 3290, 2924, 3291, 2923, 3292, 2924, 3292, 0);
} else if (player.objectY > 3442 && player.objectY < 3445) {
handleWoodenGate(player, 1553, 1551, 2768, 3444, 2767, 3444, 2766, 3443, 2766, 3444, 5);
} else if (player.objectX > 3078 && player.objectX < 3081) {
handleWoodenGate(player, 1553, 1551, 3080, 3499, 3080, 3500, 3079, 3501, 3080, 3501, 0);
} else if (player.objectX > 3161 && player.objectX < 3164) {
handleGate(player, 1553, 1551, 3163, 3288, 3163, 3289, 3162, 3290, 3163, 3290, 0);
handleWoodenGate(player, 1553, 1551, 3163, 3288, 3163, 3289, 3162, 3290, 3163, 3290, 0);
} else if (player.objectY > 3290 && player.objectY < 3294) {
handleGate(player, 1553, 1551, 3145, 3293, 3145, 3292, 3146, 3291, 3145, 3291, 2);
handleWoodenGate(player, 1553, 1551, 3145, 3293, 3145, 3292, 3146, 3291, 3145, 3291, 2);
} else if (player.objectY > 3272 && player.objectY < 3275) {
handleGate(player, 1553, 1551, 3105, 3273, 3106, 3273, 3107, 3274, 3107, 3273, 1);
handleWoodenGate(player, 1553, 1551, 3105, 3273, 3106, 3273, 3107, 3274, 3107, 3273, 1);
} else if (player.objectY > 3265 && player.objectY < 3268) {
handleGate(player, 1553, 1551, 3251, 3266, 3252, 3266, 3253, 3267, 3253, 3266, 1);
handleWoodenGate(player, 1553, 1551, 3251, 3266, 3252, 3266, 3253, 3267, 3253, 3266, 1);
} else if (player.objectY > 3283 && player.objectY < 3286) {
handleGate(player, 1553, 1551, 3238, 3285, 3237, 3285, 3236, 3284, 3236, 3285, 5);
handleWoodenGate(player, 1553, 1551, 3238, 3285, 3237, 3285, 3236, 3284, 3236, 3285, 5);
} else if (player.objectY > 3294 && player.objectY < 3297) {
handleGate(player, 1553, 1551, 3238, 3296, 3237, 3296, 3236, 3295, 3236, 3296, 5);
handleWoodenGate(player, 1553, 1551, 3238, 3296, 3237, 3296, 3236, 3295, 3236, 3296, 5);
} else if (player.objectY > 3300 && player.objectY < 3303) {
handleGate(player, 1553, 1551, 3239, 3301, 3240, 3301, 3241, 3302, 3241, 3301, 1);
handleWoodenGate(player, 1553, 1551, 3239, 3301, 3240, 3301, 3241, 3302, 3241, 3301, 1);
} else if (player.objectX > 3260 & player.objectX < 3263) {
handleGate(player, 1553, 1551, 3261, 3323, 3261, 3322, 3262, 3321, 3261, 3321, 2);
handleWoodenGate(player, 1553, 1551, 3261, 3323, 3261, 3322, 3262, 3321, 3261, 3321, 2);
} else if (player.objectY > 3348 && player.objectY < 3351) {
handleGate(player, 1553, 1551, 2677, 3350, 2676, 3350, 2675, 3349, 2675, 3350, 5);
handleWoodenGate(player, 1553, 1551, 2677, 3350, 2676, 3350, 2675, 3349, 2675, 3350, 5);
} else if (player.objectY > 3313 && player.objectY < 3318) {
handleGate(player, 1553, 1551, 3174, 3315, 3174, 3314, 3174, 3316, 3175, 3316, 4);
handleWoodenGate(player, 1553, 1551, 3174, 3315, 3174, 3314, 3174, 3316, 3175, 3316, 4);
} else {
handleGate(player, 1553, 1551, 3198, 3280, 3198, 3281, 3197, 3282, 3198, 3282, 0);
handleWoodenGate(player, 1553, 1551, 3198, 3280, 3198, 3281, 3197, 3282, 3198, 3282, 0);
}
break;
case 12986:
if (player.objectX > 3187 && player.objectX < 3190) {
handleGate(player, 12986, 12987, 3188, 3280, 3188, 3281, 3188, 3279, 3189, 3279, 2);
handleWoodenGate(player, 12986, 12987, 3188, 3280, 3188, 3281, 3188, 3279, 3189, 3279, 2);
} else if (player.objectY > 3267 && player.objectY < 3270) {
handleGate(player, 12986, 12987, 3185, 3268, 3184, 3268, 3186, 3268, 3186, 3269, 1);
handleWoodenGate(player, 12986, 12987, 3185, 3268, 3184, 3268, 3186, 3268, 3186, 3269, 1);
} else {
handleGate(player, 12986, 12987, 3212, 3261, 3211, 3261, 3213, 3261, 3213, 3262, 1);
handleWoodenGate(player, 12986, 12987, 3212, 3261, 3211, 3261, 3213, 3261, 3213, 3262, 1);
}
break;
case 12987:
if (player.objectX > 3187 && player.objectX < 3190) {
handleGate(player, 12987, 12986, 3188, 3281, 3188, 3280, 3189, 3279, 3188, 3279, 2);
handleWoodenGate(player, 12987, 12986, 3188, 3281, 3188, 3280, 3189, 3279, 3188, 3279, 2);
} else if (player.objectY > 3267 && player.objectY < 3270) {
handleGate(player, 12987, 12986, 3184, 3268, 3185, 3268, 3186, 3269, 3186, 3268, 1);
handleWoodenGate(player, 12987, 12986, 3184, 3268, 3185, 3268, 3186, 3269, 3186, 3268, 1);
} else {
handleGate(player, 12987, 12986, 3211, 3261, 3212, 3261, 3213, 3262, 3213, 3261, 1);
handleWoodenGate(player, 12987, 12986, 3211, 3261, 3212, 3261, 3213, 3262, 3213, 3261, 1);
}
break;
case 1596:
if (player.objectX > 3310 && player.objectX < 3313 && player.absY != 3333) {
handleSpecialGate(player, 1596, 1597, 3311, 3331, 3311, 3332, 3312, 3331, 3312, 3332, 3);
handleMetalGate(player, 1596, 1597, 3311, 3331, 3311, 3332, 3312, 3331, 3312, 3332, 3);
} else if (player.objectY > 3318 && player.objectY < 3321 && player.absX != 2935 && player.absX != 2932) {
handleSpecialGate(player, 1596, 1597, 2934, 3319, 2933, 3319, 2934, 3320, 2933, 3320, 0);
handleMetalGate(player, 1596, 1597, 2934, 3319, 2933, 3319, 2934, 3320, 2933, 3320, 0);
} else if (player.objectX > 3130 && player.objectX < 3133) {
handleSpecialGate(player, 1596, 1597, 3131, 9918, 3132, 9918, 3131, 9917, 3132, 9917, 6);
handleMetalGate(player, 1596, 1597, 3131, 9918, 3132, 9918, 3131, 9917, 3132, 9917, 6);
} else if (player.objectY > 3181 && player.objectY < 3184) {
handleSpecialGate(player, 1596, 1597, 2815, 3182, 2815, 3183, 2816, 3182, 2816, 3183, 3);
handleMetalGate(player, 1596, 1597, 2815, 3182, 2815, 3183, 2816, 3182, 2816, 3183, 3);
} else if (player.objectY > 3449 && player.objectY < 3452) {
handleSpecialGate(player, 1596, 1597, 2936, 3451, 2936, 3450, 2935, 3451, 2935, 3450, 7);
handleMetalGate(player, 1596, 1597, 2936, 3451, 2936, 3450, 2935, 3451, 2935, 3450, 7);
}
break;
case 1597:
if (player.objectX > 3310 && player.objectX < 3313 && player.absY != 3333) {
handleSpecialGate(player, 1597, 1596, 3311, 3332, 3311, 3331, 3312, 3332, 3312, 3331, 1);
handleMetalGate(player, 1597, 1596, 3311, 3332, 3311, 3331, 3312, 3332, 3312, 3331, 1);
} else if (player.objectY > 3318 && player.objectY < 3321 && player.absX != 2935 && player.absX != 2932) {
handleSpecialGate(player, 1597, 1596, 2933, 3319, 2934, 3319, 2933, 3320, 2934, 3320, 2);
handleMetalGate(player, 1597, 1596, 2933, 3319, 2934, 3319, 2933, 3320, 2934, 3320, 2);
} else if (player.objectX > 3130 && player.objectX < 3133) {
handleSpecialGate(player, 1597, 1596, 3132, 9918, 3131, 9918, 3132, 9917, 3131, 9917, 4);
handleMetalGate(player, 1597, 1596, 3132, 9918, 3131, 9918, 3132, 9917, 3131, 9917, 4);
} else if (player.objectY > 3181 && player.objectY < 3184) {
handleSpecialGate(player, 1597, 1596, 2815, 3183, 2815, 3182, 2816, 3183, 2816, 3182, 1);
handleMetalGate(player, 1597, 1596, 2815, 3183, 2815, 3182, 2816, 3183, 2816, 3182, 1);
} else if (player.objectY > 3449 && player.objectY < 3452) {
handleSpecialGate(player, 1597, 1596, 2936, 3450, 2936, 3451, 2935, 3450, 2935, 3451, 5);
handleMetalGate(player, 1597, 1596, 2936, 3450, 2936, 3451, 2935, 3450, 2935, 3451, 5);
}
break;
case 1557:
if (player.objectY > 9830 && player.objectY < 9833 && player.absY != 9830) {
handleSpecialGate(player, 1557, 1558, 2897, 9831, 2897, 9832, 2898, 9831, 2898, 9832, 3);
handleMetalGate(player, 1557, 1558, 2897, 9831, 2897, 9832, 2898, 9831, 2898, 9832, 3);
} else if (player.objectY > 3866 && player.objectY < 3869) {
handleSpecialGate(player, 1557, 1558, 3075, 3868, 3076, 3868, 3075, 3867, 3076, 3867, 4);
handleMetalGate(player, 1557, 1558, 3075, 3868, 3076, 3868, 3075, 3867, 3076, 3867, 4);
/*Heroes Guild*/
} else if (player.objectX > 2908 && player.objectX < 2911) {
//newx, newy, newx2, newy2, oldx, oldy, oldx2, oldy2
handleSpecialGate(player, 1557, 1558, 2910, 9909, 2909, 9909, 2910, 9910, 2909, 9910, 0);
//id1, id2, newx, newy, newx2, newy2, oldx, oldy, oldx2, oldy2
handleMetalGate(player, 1557, 1558, 2910, 9909, 2909, 9909, 2910, 9910, 2909, 9910, 0);
} else if (player.objectY > 9908 && player.objectY < 9911) {
handleSpecialGate(player, 1557, 1558, 3104, 9910, 3104, 9909, 3103, 9910, 3103, 9909, 7);
handleMetalGate(player, 1557, 1558, 3104, 9910, 3104, 9909, 3103, 9910, 3103, 9909, 7);
} else if (player.objectX > 3110 && player.objectX < 3113 && player.absY != 3513 && player.absY != 3516) {
handleSpecialGate(player, 1557, 1558, 3111, 3514, 3111, 3515, 3112, 3514, 3112, 3515, 3);
handleMetalGate(player, 1557, 1558, 3111, 3514, 3111, 3515, 3112, 3514, 3112, 3515, 3);
} else if (player.objectX > 3104 && player.objectX < 3107 && player.absX != 3104 && player.absX != 3107) {
handleSpecialGate(player, 1557, 1558, 3105, 9945, 3106, 9945, 3105, 9944, 3106, 9944, 6);
} else if (player.objectX > 3144 && player.objectX < 3147) {
handleSpecialGate(player, 1558, 1557, 3146, 9871, 3146, 9870, 3145, 9871, 3145, 9870, 1);
handleMetalGate(player, 1557, 1558, 3105, 9945, 3106, 9945, 3105, 9944, 3106, 9944, 6);
} else if (player.objectX > 3144 && player.objectX < 3147) {//here
handleMetalGate(player, 1557, 1558, 3146, 9871, 3146, 9870, 3145, 9871, 3145, 9870, 7);
} else if (player.objectX > 2756 && player.objectX < 2759) {
handleMetalGate(player, 1557, 1558, 2757, 3483, 2758, 3483, 2757, 3482, 2758, 3482, 6);
}
break;
case 1558:
if (player.objectY > 9830 && player.objectY < 9833 && player.absY != 9830) {
handleSpecialGate(player, 1558, 1557, 2897, 9832, 2897, 9831, 2898, 9832, 2898, 9831, 1);
handleMetalGate(player, 1558, 1557, 2897, 9832, 2897, 9831, 2898, 9832, 2898, 9831, 1);
} else if (player.objectY > 3866 && player.objectY < 3869) {
handleSpecialGate(player, 1558, 1557, 3076, 3868, 3075, 3868, 3076, 3867, 3075, 3867, 4);
handleMetalGate(player, 1558, 1557, 3076, 3868, 3075, 3868, 3076, 3867, 3075, 3867, 4);
/* Heroes Guild*/
} else if (player.objectX > 2908 && player.objectX < 2911) {
//newx, newy, newx2, newy2, oldx, oldy, oldx2, oldy2
handleSpecialGate(player, 1558, 1557, 2909, 9909, 2910, 9909, 2909, 9910, 2910, 9910, 2);
handleMetalGate(player, 1558, 1557, 2909, 9909, 2910, 9909, 2909, 9910, 2910, 9910, 2);
} else if (player.objectY > 9908 && player.objectY < 9911) {
handleSpecialGate(player, 1558, 1557, 3104, 9909, 3104, 9910, 3103, 9909, 3103, 9910, 5);
handleMetalGate(player, 1558, 1557, 3104, 9909, 3104, 9910, 3103, 9909, 3103, 9910, 5);
} else if (player.objectX > 3110 && player.objectX < 3113 && player.absY != 3513 && player.absY != 3516) {
handleSpecialGate(player, 1558, 1557, 3111, 3515, 3111, 3514, 3112, 3515, 3112, 3514, 3);
handleMetalGate(player, 1558, 1557, 3111, 3515, 3111, 3514, 3112, 3515, 3112, 3514, 3);
} else if (player.objectX > 3104 && player.objectX < 3107 && player.absX != 3104 && player.absX != 3107) {
handleSpecialGate(player, 1558, 1557, 3106, 9945, 3105, 9945, 3106, 9944, 3105, 9944, 4);
} else if (player.objectX > 3144 && player.objectX < 3147) {
handleSpecialGate(player, 1558, 1557, 3146, 9870, 3146, 9871, 3145, 9870, 3145, 9871, 5);
handleMetalGate(player, 1558, 1557, 3106, 9945, 3105, 9945, 3106, 9944, 3105, 9944, 4);
} else if (player.objectX > 3144 && player.objectX < 3147) {//here
handleMetalGate(player, 1558, 1557, 3146, 9870, 3146, 9871, 3145, 9870, 3145, 9871, 5);
} else if (player.objectX > 2756 && player.objectX < 2759) {
handleMetalGate(player, 1558, 1557, 2758, 3483, 2757, 3483, 2758, 3482, 2757, 3482, 4);
}
break;
case 3506:
if (player.absX != 3445 && player.absX != 3442) {
openSpecialWalkGate(player, 3506, 3507, 3444, 3457, 3443, 3457, 3444, 3458, 3443, 3458, 0, player.absY == 3457 ? 1 : -1, 2, 0, 3);
openMetalGateWalk(player, 3506, 3507, 3444, 3457, 3443, 3457, 3444, 3458, 3443, 3458, 0, player.absY == 3457 ? 1 : -1, 2, 0, 3);
}
break;
case 3507:
if (player.absX != 3445 && player.absX != 3442) {
openSpecialWalkGate(player, 3507, 3506, 3443, 3457, 3444, 3457, 3443, 3458, 3444, 3458, 0, player.absY == 3457 ? 1 : -1, 0, 2, 3);
openMetalGateWalk(player, 3507, 3506, 3443, 3457, 3444, 3457, 3443, 3458, 3444, 3458, 0, player.absY == 3457 ? 1 : -1, 0, 2, 3);
}
break;
}
@@ -1,6 +1,7 @@
package com.rebotted.game.globalworldobjects;
import com.rebotted.GameEngine;
import com.rebotted.game.content.music.sound.SoundList;
import com.rebotted.game.objects.Objects;
import com.rebotted.game.players.Player;
import com.rebotted.world.ObjectManager;
@@ -9,185 +10,190 @@ import com.rebotted.world.clip.Region;
/**
* GateHandler
* (needs to be re written tbh)
* @author Andrew (Mr Extremez)
*/
public class GateHandler {
public static int gateAmount = 0, gateTicks = 100;
public int gateStatus = 0, gateTicks = 50,
CLOSED = 0, PARTIAL_OPEN = 1, OPEN = 2;
public static boolean isGate(int objectId) {
public boolean isGate(int objectId) {
String objectName = ObjectDef.getObjectDef(objectId).name;
return objectName.equalsIgnoreCase("gate") || objectName.equalsIgnoreCase("Gate");
try {
return objectName.equalsIgnoreCase("gate") || objectName.equalsIgnoreCase("Gate");
} catch (Exception e) {
return false;
}
}
public void spawnGate(Player player, int objectId, int newObjectX, int newObjectY, int height, int face) {
GameEngine.objectHandler.placeObject(new Objects(objectId, newObjectX, newObjectY, height, face, 0, 0));
player.getPacketSender().sendSound(SoundList.OPEN_GATE, 100, 0);
}
public static void spawnGate(int objectId, int x, int y, int h, int face) {
GameEngine.objectHandler.placeObject(new Objects(objectId, x, y, h, face, 0, 0));
}
public static void openSingleGate(Player player, int objectId, int x1, int y1, int x2, int y2, int walkX, int walkY, int face1, int face2) {
if (isGate(objectId) && gateAmount == 0) {
spawnGate(-1, x2, y2, player.heightLevel, 0);
spawnGate(objectId, x1, y1, player.heightLevel, face1);
gateAmount = 1;
public void openSingleGate(Player player, int objectId, int newObjectX, int newObjectY, int oldObjectX, int oldObjectY, int walkX, int walkY, int newFace, int oldFace) {
if (isGate(objectId) && player.getGateHandler().gateStatus == CLOSED) {
spawnGate(player, -1, oldObjectX, oldObjectY, player.heightLevel, 0);
spawnGate(player, objectId, newObjectX, newObjectY, player.heightLevel, newFace);
player.getGateHandler().gateStatus = PARTIAL_OPEN;
player.getPlayerAssistant().walkTo(walkX, walkY);
ObjectManager.singleGateTicks(player, objectId, x2, y2, x1, y1, player.heightLevel, face2, 2);
ObjectManager.singleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, player.heightLevel, oldFace, 2);
}
}
private static void openDoubleGate(Player player, int objectId, int objectId2, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int face1, int face2) {
if (isGate(objectId) && isGate(objectId2) && gateAmount == 0) {
// open gate from default map object
spawnGate(-1, x3, y3, player.heightLevel, 0);
spawnGate(-1, x4, y4, player.heightLevel, 0);
spawnGate(objectId, x1, y1, player.heightLevel, face1);
Region.addObject(objectId, x1, y1, player.heightLevel, 0, face1, false);
gateAmount = 1;
spawnGate(objectId2, x2, y2, player.heightLevel, face1);
Region.addObject(objectId2, x2, y2, player.heightLevel, 0, face1, false);
gateAmount = 2;
ObjectManager.doubleGateTicks(player, objectId, x3, y3, x1, y1, x2, y2, player.heightLevel, face2, gateTicks);
ObjectManager.doubleGateTicks(player, objectId2, x4, y4, x1, y1, x2, y2, player.heightLevel, face2, gateTicks);
} else if (isGate(objectId) && isGate(objectId2) && gateAmount == 2) {
// close gate back to default
ObjectManager.doubleGateTicks(player, objectId, x3, y3, x1, y1, x2, y2, player.heightLevel, face2, 0);
ObjectManager.doubleGateTicks(player, objectId2, x4, y4, x1, y1, x2, y2, player.heightLevel, face2, 0);
private void openDoubleGate(Player player, int objectId, int objectId2, int newObjectX, int newObjectY, int newObjectX2, int newObjectY2, int oldObjectX, int oldObjectY, int oldObjectX2, int oldObjectY2, int newFace, int oldFace) {
if (isGate(objectId) && isGate(objectId2) && player.getGateHandler().gateStatus == CLOSED) {
spawnGate(player, -1, oldObjectX, oldObjectY, player.heightLevel, 0);
spawnGate(player, -1, oldObjectX2, oldObjectY2, player.heightLevel, 0);
spawnGate(player, objectId, newObjectX, newObjectY, player.heightLevel, newFace);
Region.addObject(objectId, newObjectX, newObjectY, player.heightLevel, 0, newFace, false);
player.getGateHandler().gateStatus = PARTIAL_OPEN;
spawnGate(player, objectId2, newObjectX2, newObjectY2, player.heightLevel, newFace);
Region.addObject(objectId2, newObjectX2, newObjectY2, player.heightLevel, 0, newFace, false);
player.getGateHandler().gateStatus = OPEN;
ObjectManager.doubleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, player.getGateHandler().gateTicks);
ObjectManager.doubleGateTicks(player, objectId2, oldObjectX2, oldObjectY2, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, player.getGateHandler().gateTicks);
} else if (isGate(objectId) && isGate(objectId2) && player.getGateHandler().gateStatus == OPEN) {
ObjectManager.doubleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 0);
ObjectManager.doubleGateTicks(player, objectId2, oldObjectX2, oldObjectY2, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 0);
}
}
private static void openSpecialGate(Player player, int objectId, int objectId2, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int face1, int face2, int face3) {
if (isGate(objectId) && isGate(objectId2) && gateAmount == 0) {
spawnGate(-1, x3, y3, player.heightLevel, 0);
spawnGate(-1, x4, y4, player.heightLevel, 0);
spawnGate(objectId, x1, y1, player.heightLevel, face1);
Region.addObject(objectId, x1, y1, player.heightLevel, 0, face1, false);
gateAmount = 1;
spawnGate(objectId2, x2, y2, player.heightLevel, face2);
Region.addObject(objectId2, x2, y2, player.heightLevel, 0, face2, false);
gateAmount = 2;
ObjectManager.doubleGateTicks(player, objectId, x3, y3, x1, y1, x2, y2, player.heightLevel, face3, gateTicks);
ObjectManager.doubleGateTicks(player, objectId2, x4, y4, x1, y1, x2, y2, player.heightLevel, face3, gateTicks);
} else if (isGate(objectId) && isGate(objectId2) && gateAmount == 2) {
ObjectManager.doubleGateTicks(player, objectId, x3, y3, x1, y1, x2, y2, player.heightLevel, face3, 0);
ObjectManager.doubleGateTicks(player, objectId2, x4, y4, x1, y1, x2, y2, player.heightLevel, face3, 0);
private void openSpecialGate(Player player, int objectId, int objectId2, int newObjectX, int newObjectY, int newObjectX2, int newObjectY2, int oldObjectX, int oldObjectY, int oldObjectX2, int oldObjectY2, int newFace, int newFace2, int oldFace) {
if (isGate(objectId) && isGate(objectId2) && player.getGateHandler().gateStatus == CLOSED) {
spawnGate(player, -1, oldObjectX, oldObjectY, player.heightLevel, 0);
spawnGate(player, -1, oldObjectX2, oldObjectY2, player.heightLevel, 0);
spawnGate(player, objectId, newObjectX, newObjectY, player.heightLevel, newFace);
Region.addObject(objectId, newObjectX, newObjectY, player.heightLevel, 0, newFace, false);
player.getGateHandler().gateStatus = PARTIAL_OPEN;
spawnGate(player, objectId2, newObjectX2, newObjectY2, player.heightLevel, newFace2);
Region.addObject(objectId2, newObjectX2, newObjectY2, player.heightLevel, 0, newFace2, false);
player.getGateHandler().gateStatus = OPEN;
ObjectManager.doubleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, player.getGateHandler().gateTicks);
ObjectManager.doubleGateTicks(player, objectId2, oldObjectX2, oldObjectY2, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, player.getGateHandler().gateTicks);
} else if (isGate(objectId) && isGate(objectId2) && player.getGateHandler().gateStatus == OPEN) {
ObjectManager.doubleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 0);
ObjectManager.doubleGateTicks(player, objectId2, oldObjectX2, oldObjectY2, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 0);
}
}
public static void openSpecialWalkGate(Player player, int objectId, int objectId2, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int walkX, int walkY, int face1, int face2, int face3) {
if (isGate(objectId) && isGate(objectId2) && gateAmount == 0) {
spawnGate(-1, x3, y3, player.heightLevel, 0);
spawnGate(-1, x4, y4, player.heightLevel, 0);
spawnGate(objectId, x1, y1, player.heightLevel, face1);
gateAmount = 1;
spawnGate(objectId2, x2, y2, player.heightLevel, face2);
gateAmount = 2;
public void openMetalGateWalk(Player player, int objectId, int objectId2, int newObjectX, int newObjectY, int newObjectX2, int newObjectY2, int oldObjectX, int oldObjectY, int oldObjectX2, int oldObjectY2, int walkX, int walkY, int newFace, int newFace2, int oldFace) {
if (isGate(objectId) && isGate(objectId2) && player.getGateHandler().gateStatus == CLOSED) {
spawnGate(player, -1, oldObjectX, oldObjectY, player.heightLevel, 0);
spawnGate(player, -1, oldObjectX2, oldObjectY2, player.heightLevel, 0);
spawnGate(player, objectId, newObjectX, newObjectY, player.heightLevel, newFace);
player.getGateHandler().gateStatus = PARTIAL_OPEN;
spawnGate(player, objectId2, newObjectX2, newObjectY2, player.heightLevel, newFace2);
player.getGateHandler().gateStatus = OPEN;
player.getPlayerAssistant().walkTo(walkX, walkY);
ObjectManager.doubleGateTicks(player, objectId, x3, y3, x1, y1, x2, y2, player.heightLevel, face3, 2);
ObjectManager.doubleGateTicks(player, objectId2, x4, y4, x1, y1, x2, y2, player.heightLevel, face3, 2);
ObjectManager.doubleGateTicks(player, objectId, oldObjectX, oldObjectY, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 2);
ObjectManager.doubleGateTicks(player, objectId2, oldObjectX2, oldObjectY2, newObjectX, newObjectY, newObjectX2, newObjectY2, player.heightLevel, oldFace, 2);
}
}
public static void handleGate(Player player, int objectId, int objectId2, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int type) {
public void handleWoodenGate(Player player, int objectId, int objectId2, int newObjectX, int newObjectY, int newObjectX2, int newObjectY2, int oldObjectX, int oldObjectY, int oldObjectX2, int oldObjectY2, int type) {
switch (type) {
/**
* X Gate 1
*/
case 0:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 2, 3);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 2, 3);
break;
/**
* Y Gate 1
*/
case 1:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 3, 0);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 3, 0);
break;
/**
* X Gate 2
*/
case 2:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 0, 1);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 0, 1);
break;
/**
* Y Gate 2
*/
case 3:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 1, 0);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 1, 0);
break;
/**
* X Gate 3
*/
case 4:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 0, 3);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 0, 3);
break;
/**
* Y Gate 3
*/
case 5:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 1, 2);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 1, 2);
break;
/**
* X Gate 4
*/
case 6:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 2, 1);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 2, 1);
break;
/**
* Y Gate 4
*/
case 7:
openDoubleGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 3, 2);
openDoubleGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 3, 2);
break;
}
}
public static void handleSpecialGate(Player player, int objectId, int objectId2, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int type) {
public void handleMetalGate(Player player, int objectId, int objectId2, int newObjectX, int newObjectY, int newObjectX2, int newObjectY2, int oldObjectX, int oldObjectY, int oldObjectX2, int oldObjectY2, int type) {
switch (type) {
/**
* X Gate 1
*/
case 0:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 2, 0, 3);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 2, 0, 3);
break;
/**
* Y Gate 1
*/
case 1:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 1, 3, 0);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 1, 3, 0);
break;
/**
* X Gate 2
*/
case 2:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 0, 2, 3);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 0, 2, 3);
break;
/**
* Y Gate 2
*/
case 3:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 3, 1, 0);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 3, 1, 0);
break;
/**
* X Gate 3
*/
case 4:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 2, 0, 1);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 2, 0, 1);
break;
/**
* Y Gate 3
*/
case 5:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 3, 1, 2);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 3, 1, 2);
break;
/**
* X Gate 4
*/
case 6:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 0, 2, 1);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 0, 2, 1);
break;
/**
* Y Gate 4
*/
case 7:
openSpecialGate(player, objectId, objectId2, x1, y1, x2, y2, x3, y3, x4, y4, 1, 3, 2);
openSpecialGate(player, objectId, objectId2, newObjectX, newObjectY, newObjectX2, newObjectY2, oldObjectX, oldObjectY, oldObjectX2, oldObjectY2, 1, 3, 2);
break;
}
}
@@ -9,7 +9,7 @@ import com.rebotted.game.players.Player;
public class SingleGates extends GateHandler {
public static void useSingleGate(Player player, int objectId) {
public void useSingleGate(Player player, int objectId) {
switch (objectId) {
case 3444:
openSingleGate(player, 3444, 3405, 9894, 3405, 9895, 0, player.absY == 9894 ? 1 : -1, 0, 3);