Skip to content

Commit 7e54451

Browse files
Add Clan Wars Free-For-All (Safe & Dangerous) portals (#949)
* Fix: NPCs spawned under a target couldn't attack * Fix: character creation screen skipped for new accounts * Fix: game loop crash when dying to TzTok-Jad in Fight Cave * chore: add missing dragon arrow items to ammo_groups.toml * Fix: dragon claws special attack damage and hit timing * Fix: dragon claws special attack damage and hit timing * feat: add clan wars safe and dangerous free-for-all portals. * Fix: bank tab creation and collapse * chore: replaced redundant code with stepOut function. * Update game/src/main/kotlin/content/minigame/clan_wars/ClanWarsFreeForAll.kt Co-authored-by: Greg <GregHib@users.noreply.github.com> * Update game/src/main/kotlin/content/minigame/clan_wars/ClanWarsFreeForAll.kt Co-authored-by: Greg <GregHib@users.noreply.github.com> * Fix: Clan Wars FFA "Don't show gain" toggle * bug: fixed the dragon claws delayed special attack. * chore: spotlessApply ran * Fix: Iterate cardinal directions in random order and queue the first walkable one, so a single blocked direction no longer traps the NPC. --------- Co-authored-by: Greg <GregHib@users.noreply.github.com>
1 parent 5eda892 commit 7e54451

20 files changed

Lines changed: 268 additions & 46 deletions

File tree

data/area/wilderness/wilderness.areas.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,3 +89,8 @@ tags = ["teleport", "obelisk"]
8989
[wilderness_fishing_area]
9090
x = [3347, 3368]
9191
y = [3793, 3817]
92+
93+
[clan_wars]
94+
x = [3264, 3279]
95+
y = [3672, 3695]
96+
tags = ["safe_zone"]

data/area/wilderness/wilderness.npc-spawns.toml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -295,10 +295,6 @@ spawns = [
295295
{ id = "black_salamander", x = 3321, y = 3661 },
296296
{ id = "red_dragon", x = 3212, y = 3820 },
297297
{ id = "red_dragon", x = 3222, y = 3829 },
298-
{ id = "skeleton_axe_shield", x = 3275, y = 3686 },
299-
{ id = "skeleton_sword_shield", x = 3270, y = 3681 },
300-
{ id = "skeleton_longsword", x = 3275, y = 3676 },
301-
{ id = "skeleton_flail", x = 3269, y = 3672 },
302298
{ id = "waterfiend", x = 3362, y = 3642, members = true },
303299
{ id = "waterfiend", x = 3363, y = 3647, members = true },
304300
{ id = "waterfiend", x = 3365, y = 3639, members = true },
@@ -375,7 +371,6 @@ spawns = [
375371
{ id = "giant_rat_wilderness_2", x = 3248, y = 3553, members = true },
376372
{ id = "giant_rat_wilderness_2", x = 3256, y = 3541, members = true },
377373
{ id = "goblin_musician", x = 3140, y = 3642 },
378-
{ id = "skeleton_mace_shield", x = 3268, y = 3688 },
379374
{ id = "green_dragon", x = 2982, y = 3618 },
380375
{ id = "green_dragon", x = 3118, y = 3820 },
381376
{ id = "green_dragon", x = 3338, y = 3676 },

data/entity/player/modal/chat_box/warning.varbits.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ format = "int"
101101
[warning_clan_wars_ffa_safe]
102102
id = 5294
103103
persist = true
104-
format = "boolean"
104+
format = "int"
105105

106106
[warning_ranging_guild_tower]
107107
id = 3871
@@ -146,7 +146,7 @@ format = "int"
146146
[warning_clan_wars_ffa_dangerous]
147147
id = 5295
148148
persist = true
149-
format = "boolean"
149+
format = "int"
150150

151151
[warning_living_rock_caverns]
152152
id = 6500

data/entity/player/modal/chat_box/warnings.ifaces.toml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,6 +441,19 @@ id = 82
441441
[.living_rock_caverns]
442442
id = 83
443443

444+
[warning_clan_wars_ffa_safe]
445+
id = 793
446+
type = "main_screen"
447+
448+
[.yes]
449+
id = 15
450+
451+
[.no]
452+
id = 14
453+
454+
[.dont_ask]
455+
id = 9
456+
444457
[warning_godwars_wilderness_agility_route]
445458
id = 600
446459
type = "main_screen"

data/minigame/clan_wars/clan_wars.areas.toml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,25 @@
22
x = [3266, 3270]
33
y = [3679, 3682]
44
tags = ["teleport"]
5+
6+
[clan_wars_ffa]
7+
x = [2740, 3090]
8+
y = [5490, 5640]
9+
10+
[clan_wars_ffa_safe_arena]
11+
x = [2756, 2878]
12+
y = [5512, 5630]
13+
14+
[clan_wars_ffa_safe_multi]
15+
x = [2756, 2878]
16+
y = [5571, 5630]
17+
tags = ["multi_combat"]
18+
19+
[clan_wars_ffa_dangerous_arena]
20+
x = [2948, 3071]
21+
y = [5512, 5631]
22+
23+
[clan_wars_ffa_dangerous_multi]
24+
x = [2948, 3071]
25+
y = [5571, 5631]
26+
tags = ["multi_combat"]
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[clan_wars]
22
id = 789
3+
type = "overlay"
34

45
[clan_wars_defeat]
56
id = 790
@@ -10,6 +11,3 @@ id = 791
1011
[clan_wars_overview]
1112
id = 792
1213

13-
[clan_wars_respawn]
14-
id = 793
15-
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[clan_wars_portal_ffa_safe]
2+
id = 38698
3+
examine = "A portal to a safe free-for-all fighting area."
4+
5+
[clan_wars_portal_ffa_dangerous]
6+
id = 38699
7+
examine = "A portal to a dangerous free-for-all fighting area."
8+
9+
[clan_wars_challenge_portal]
10+
id = 28213
11+
examine = "A portal to the Clan Wars arena."
12+
13+
[clan_wars_portal_ffa_safe_exit]
14+
id = 38700
15+
examine = "Leave the free-for-all fighting area."
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[clan_wars_ffa_portal]
2+
id = 5279
3+
format = "int"

data/skill/range/ammo_groups.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ items = [
7272
"rune_arrow",
7373
"rune_fire_arrows_lit",
7474
"rune_fire_arrows_unlit",
75+
"dragon_arrow",
76+
"dragon_arrow_p",
77+
"dragon_arrow_p+",
78+
"dragon_arrow_p++",
7579
"ice_arrows",
7680
"broad_arrows",
7781
"saradomin_arrows",

engine/src/main/kotlin/world/gregs/voidps/engine/data/AccountManager.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ class AccountManager(
4141
get() = Tile(Settings["world.home.x", 0], Settings["world.home.y", 0], Settings["world.home.level", 0])
4242

4343
fun create(name: String, passwordHash: String): Player = Player(tile = homeTile, accountName = name, passwordHash = passwordHash).apply {
44-
this["creation"] = System.currentTimeMillis()
4544
this["new_player"] = true
4645
}
4746

0 commit comments

Comments
 (0)